Set scrolling layout direction to down on portrait aspect ratios - #1
Draft
neuensjohn wants to merge 4 commits into
Draft
Set scrolling layout direction to down on portrait aspect ratios#1neuensjohn wants to merge 4 commits into
neuensjohn wants to merge 4 commits into
Conversation
The id and tiled layout each ran their own hyprctl call. Holding the response means ACTIVE_WORKSPACE now names the JSON rather than the id, so the id it is parsed from becomes ACTIVE_WORKSPACE_ID. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The toggle wrote to a hardcoded ~/.local/state while the loader in default/hypr/workspace-layouts.lua resolves the directory through paths.state_home, so a custom XDG_STATE_HOME sent the two apart. The test hit exactly that, enumerating the developer's own state directory while resolving modules against its temporary HOME. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
lua reports success for an uncaught error in a chunk it reads from stdin, so the assertions could not fail the suite. Name stdin as a file and check the status. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Scrolling sideways on a tall monitor wastes the height it was chosen for, so a portrait workspace scrolls down instead. The toggle reads the active monitor's logical size, accounting for a rotating transform and defaulting a missing one to unrotated, and the workspace rule records the direction explicitly. An unmatched monitor falls back to scrolling right rather than writing an empty direction into the saved layout. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
neuensjohn
force-pushed
the
scrolling-direction-portrait
branch
from
August 23, 2026 19:48
dddd13d to
b364d25
Compare
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.
Scrolling sideways on a tall monitor wastes the height it was chosen for. A workspace on a portrait monitor now scrolls down instead of right when toggled into the scrolling layout.
The toggle reads the active monitor's logical size from
hyprctl monitors, accounting for a rotating transform (and treating a missing one as unrotated), then records the direction in the saved workspace rule. A monitor that cannot be matched falls back to scrolling right rather than writing an empty direction into the persisted layout.Commits
hyprctlcall. Holding the response renames the variables soACTIVE_WORKSPACEnames the JSON andACTIVE_WORKSPACE_IDthe id, matching the sibling toggles.XDG_STATE_HOME— the toggle wrote to a hardcoded~/.local/statewhile the loader resolved the directory throughpaths.state_home.luareports success for an uncaught error in a chunk read from stdin, so that test's assertions could not fail the suite. Naming stdin as a file and checking the status makes it real.Testing
./test/all— 179 of 180 test files pass.test/shell.d/runtime-smoke-test.shfails identically on an untouchedquattro(each widget registers its IPC handler once per screen (saw 3 for 2 screen(s))). It exercisesshell/QML IPC handlers; this branch touches onlybin/andtest/shell.d/. Pre-existing and unrelated.test/shell.d/hyprland-workspace-layout-test.shcovers landscape, native portrait, rotated portrait, rotated landscape, flipped and half-turn transforms, a missing transform, square, unknown monitor, and the toggle back to dwindle. Every commit passes its own tests, so the history stays bisectable.Verified by mutation testing: inverting the portrait direction, ignoring
transform, dropping the unknown-monitor fallback, writing the wrong workspace id, skipping persistence, and swapping the layouts are each caught by the suite.