Watch
1
0
Fork
You've already forked souveraine
0

shell: add missing qmldir manifests + rail OSK layer fix

19 dirs had .qml but no qmldir -> quickshell config load failed
(File not found @ shell.qml[-1:-1]). Corrected singleton decls in
3 existing qmldir. SystemGestureRail: pill->WlrLayer.Top, oskLift
200, drop oskOpen hide.
This commit is contained in:
Fimeg 2026-07-21 13:01:58 -04:00
commit 271e4f2cc2
23 changed files with 75 additions and 13 deletions

View file

@ -0,0 +1 @@
singleton Session 1.0 Session.qml

View file

@ -0,0 +1,2 @@
LockContext 1.0 LockContext.qml
LockScreen 1.0 LockScreen.qml

View file

@ -0,0 +1,3 @@
singleton Config 1.0 Config.qml
singleton Persistent 1.0 Persistent.qml
ShellModel 1.0 ShellModel.qml

View file

@ -0,0 +1,2 @@
ContentPage 1.0 ContentPage.qml
StyledToolTip 1.0 StyledToolTip.qml

View file

@ -0,0 +1,2 @@
AppInventory 1.0 AppInventory.qml
AppInventoryScope 1.0 AppInventoryScope.qml

View file

@ -0,0 +1 @@
UtilButtons 1.0 UtilButtons.qml

View file

@ -0,0 +1,7 @@
DockAppButton 1.0 DockAppButton.qml
DockApps 1.0 DockApps.qml
DockButton 1.0 DockButton.qml
DockManifest 1.0 DockManifest.qml
Dock 1.0 Dock.qml
DockSeparator 1.0 DockSeparator.qml
DockStack 1.0 DockStack.qml

View file

@ -0,0 +1,2 @@
Lock 1.0 Lock.qml
TouchLockSurface 1.0 TouchLockSurface.qml

View file

@ -0,0 +1 @@
OnScreenKeyboard 1.0 OnScreenKeyboard.qml

View file

@ -0,0 +1 @@
Overview 1.0 Overview.qml

View file

@ -0,0 +1 @@
Polkit 1.0 Polkit.qml

View file

@ -0,0 +1 @@
SessionScreen 1.0 SessionScreen.qml

View file

@ -0,0 +1,2 @@
AiChat 1.0 AiChat.qml
SidebarLeft 1.0 SidebarLeft.qml

View file

@ -0,0 +1 @@
SidebarRight 1.0 SidebarRight.qml

View file

@ -0,0 +1 @@
VolumeDialogContent 1.0 VolumeDialogContent.qml

View file

@ -0,0 +1,8 @@
DeviceConfig 1.0 DeviceConfig.qml
DockConfig 1.0 DockConfig.qml
IdleConfig 1.0 IdleConfig.qml
KeyboardConfig 1.0 KeyboardConfig.qml
LockConfig 1.0 LockConfig.qml
NavigationConfig 1.0 NavigationConfig.qml
SpeechConfig 1.0 SpeechConfig.qml
WallpaperConfig 1.0 WallpaperConfig.qml

View file

@ -1,2 +1 @@
module qs.modules.souveraine.boot
BootBloom 1.0 BootBloom.qml

View file

@ -1,5 +1,4 @@
module qs.modules.souveraine.lock
LockMediaCard 1.0 LockMediaCard.qml
LockSurfaceHost 1.0 LockSurfaceHost.qml
LockAgentCard 1.0 LockAgentCard.qml
LockMediaCard 1.0 LockMediaCard.qml
LockNotifyCard 1.0 LockNotifyCard.qml
LockSurfaceHost 1.0 LockSurfaceHost.qml

View file

@ -45,17 +45,26 @@ PanelWindow {
// time the keyboard opens (rotation changes it). 315 = portrait height
// on the Pixel's 540x1080 logical screen, the value measured live
// only a first-boot fallback until the first probe lands.
property int oskLift: 315
// Stevia's portrait height is 200px on the 540x1080 logical screen (the
// probe below corrects it live per rotation). Fallback WAS 315 a stale
// squeekboard value that lifted the pill WAY above stevia's top edge,
// landing it on the top key row and inside stevia's upward-opening layout
// menu ("keyboard selection not working", 2026-07-21). The pill must stay
// visible it is the dismiss handle just resting exactly at the
// keyboard's top edge, never over the keys.
property int oskLift: 200
margins.bottom: GlobalStates.oskOpen ? rail.oskLift : 0
// While the keyboard is up the rail gets fully out of the way: floating
// it atop the keyboard stole taps on the top key row and stacked OVER
// stevia's upward-opening layout menu (observed 2026-07-21 "keyboard
// selection not working" was this). Dismissal while typing: the 3-finger
// swipe (hyprgrass osk toggle IPC) or stevia's own menu hide.
visible: !GlobalStates.oskOpen
exclusionMode: ExclusionMode.Ignore
color: "transparent"
WlrLayershell.layer: WlrLayer.Overlay
// Top, not Overlay: stevia's completion bar / layout menu are child
// surfaces of the OSK (which lives on Top). On Overlay the pill sat above
// them, so tapping word-completion opened a menu that rendered *behind*
// the pill and looked broken. On Top the pill shares the OSK's band and
// those popups draw over it. Tradeoff: dock and mission control are on
// Overlay, so the pill now sits behind them when they're open fine,
// since those are summoned *from* the pill and occupy the screen anyway.
// The pill still clears fullscreen apps (below Top), which is its job.
WlrLayershell.layer: WlrLayer.Top
WlrLayershell.namespace: "souveraine:navigation-rail"
// Measure the keyboard's real layer-surface height. squeekboard maps up

View file

@ -1,2 +1 @@
module qs.modules.souveraine.navigation
SystemGestureRail 1.0 SystemGestureRail.qml

View file

@ -0,0 +1 @@
SouveraineFamily 1.0 SouveraineFamily.qml

View file

@ -0,0 +1,3 @@
singleton GlobalStates 1.0 GlobalStates.qml
settings-phone 1.0 settings-phone.qml
shell 1.0 shell.qml

View file

@ -0,0 +1,16 @@
singleton Ai 1.0 Ai.qml
singleton Audio 1.0 Audio.qml
singleton ConflictKiller 1.0 ConflictKiller.qml
singleton CrashReporter 1.0 CrashReporter.qml
singleton GlobalFocusGrab 1.0 GlobalFocusGrab.qml
singleton IdleCoordinator 1.0 IdleCoordinator.qml
singleton Idle 1.0 Idle.qml
singleton LockContentPolicy 1.0 LockContentPolicy.qml
singleton NotifyEvents 1.0 NotifyEvents.qml
singleton SessionAudit 1.0 SessionAudit.qml
singleton SessiondBridge 1.0 SessiondBridge.qml
singleton SessionEvents 1.0 SessionEvents.qml
singleton Souveraine 1.0 Souveraine.qml
singleton StepUpAuth 1.0 StepUpAuth.qml
singleton TaskbarApps 1.0 TaskbarApps.qml
singleton WallpaperAssets 1.0 WallpaperAssets.qml