feat: add window visibility percentage to frames and search API #1649
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
description
This PR introduces a new
visible_percentagefield to the frames table, enabling us to track and query how much of a window is visible on the screen. It includes updates across the migrations, Rust data structures, APIs, to support this feature. Visibility calculations consider the positions and overlap of multiple windows.This enhancement is particularly useful when using the
--capture-unfocused-windowsflag. It allows users to precisely filter and distinguish search results based on the actual visibility of unfocused windows, greatly enhancing precision and relevance in scenarios with overlapping windows.how to test
./target/release/screenpipe --disable-audio --enable-frame-cache --capture-unfocused-windowsvisible_percentagefield reflects the correct visibility percentage.min_visible_percentageandmax_visible_percentageand verify correct filtering