Include fullscreen windows and add optional fullscreen selection - #24
Open
Alyx-Clark wants to merge 3 commits into
Open
Include fullscreen windows and add optional fullscreen selection#24Alyx-Clark wants to merge 3 commits into
Alyx-Clark wants to merge 3 commits into
Conversation
Alyx-Clark
marked this pull request as ready for review
September 11, 2026 18:26
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fullscreen windows are excluded from Hyprview's overview, and selecting tiles on
scaled outputs can use the wrong coordinates. Include fullscreen windows by
saving their internal/client fullscreen modes, temporarily clearing internal
fullscreen while rendering the overview, and restoring states after returning
all windows to their original workspaces. Also restore state on plugin teardown.
Fix pointer hit testing to compare logical pointer coordinates with physical
tiles at the monitor's scale, and resolve selection from the click position.
Left-button presses select; empty-background clicks do not select a stale hover.
Add
plugin:hyprview:fullscreen_on_select, default0. When enabled, explicitselection closes the overview (including sticky
onmode) and sets the chosenwindow fullscreen. When disabled, selection does not force fullscreen and the
existing sticky-click behavior remains available.
Related to #14.
This branch depends on #23. Until that PR is merged, the upstream diff includes
its prerequisite commit. The fullscreen feature is isolated in
a494df9, withcursor cleanup corrected in
38eaefe, for review.Validation: built against Hyprland 0.56.2. Nested compositor tests cover repeated
open/close from fullscreen, exact workspace and internal/client-mode restoration,
reload/reopen, unload while open, real pointer selection across workspaces,
empty-background clicks, preserved default sticky behavior at 100% scale, and
opt-in fullscreen selection at 200% scale (including an already-fullscreen
selection). Physical gestures were previously confirmed on the local desktop.
Older Hyprland releases, rotated outputs, and multiple physical monitors have
not been validated.
Cursor regression: overview cleanup previously cleared the pointer buffer via
resetCursorImage()while retaining the renderer's cached shape. This couldleave the pointer invisible after selection even when the application requested
the same shape again. Restore the default cursor through the renderer instead,
including during teardown. A test-only observer checks cursor image availability
after dismissal, selection, and unload; the old build fails with "cursor image
disappeared". The fixed upstream build passes normal selection at 100% scale,
and the same fix in the personal fullscreen-selection build passes at 200%.