Watch
1
0
Fork
You've already forked souveraine
0
souveraine/surfaces/quickshell/modules/ii
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Fimeg ca44b0be2a shell: the keyboard owns the bottom edge, and nothing measures it
Two bugs with one cause — the bottom edge was being reasoned about
twice, by hand, against a compositor that is gone.

The rail set ExclusionMode.Ignore (exclusive zone -1: ignore what
everyone else reserved, anchor to the whole screen) and then computed
its own lift from the keyboard's height, probed by shelling out to
`hyprctl -j layers`. Under viewtop there is no hyprctl, so every probe
threw a JSON.parse on empty output and logged it in a loop every second
or two, forever, while the margin stayed at a hardcoded fallback
measured against a keyboard that is not the one running. A 200px
fallback against some other height is exactly "the pill spawns in the
middle of the keyboard". Zone 0 with Normal — the idiom SidebarRight and
ReloadPopup already use — reserves nothing and respects what others
reserved, so the compositor anchors the rail to the top of the
keyboard's exclusive zone. Correct at any height, any rotation, across a
swap, with nothing to go stale. The probe, its retry timer and
probeOskHeight() are deleted rather than ported: a second measurement of
a number the protocol already carries is what this class of bug is made
of.

The dock consulted oskOpen only in its empty-desktop branch, below
effectivePinned, so a PINNED dock ignored the keyboard and sat under it.
DockManifest.dockState() has always reported "suppressed-by-osk" and
_blockReason() has always refused mutations with "osk-open" — the
manifest promised a suppression the dock never performed, so the agent's
view of the screen and the screen disagreed. The check moves above
pinning and applies in every state, staying below dockRevealPulse
because an explicit reveal is the one thing that should outrank the
keyboard.

Verified on the phone: the probe loop is gone from the journal. The
resulting pill and dock positions want eyes on the glass.
2026-08-03 16:53:06 -04:00
..
appInventory shell: add missing qmldir manifests + rail OSK layer fix 2026-07-21 13:01:58 -04:00
bar shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work 2026-07-22 22:18:20 -04:00
dock shell: the keyboard owns the bottom edge, and nothing measures it 2026-08-03 16:53:06 -04:00
lock lock: hoist the lock out of the Config.ready loaders so a reload can adopt 2026-07-31 21:25:05 -04:00
onScreenKeyboard shell: recover the phone-only edits into the repo 2026-07-29 08:27:27 -04:00
overview shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work 2026-07-22 22:18:20 -04:00
polkit osk: polkit holds the keyboard open instead of poking it once 2026-07-26 16:56:34 -04:00
screenCorners quickshell: pin shared ii base and phone overlay 2026-07-21 18:55:02 -04:00
sessionScreen shell: regenerate qmldir manifests from the composed tree 2026-07-21 13:36:39 -04:00
sidebarLeft shell: give the subconscious event log a host 2026-07-31 12:51:17 -04:00
sidebarRight shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work 2026-07-22 22:18:20 -04:00