Own config name composed by deploy.sh from our files + pristine-ii dir borrows; ii tree stays untouched. One SouveraineFamily, two modes gated on souveraine.phone. Three guarded IPC surfaces for the agent (via Souveraine's harness, not a new integration): dock.manifest/pin/unpin/restack, shell.surfaces/state (layer registry, live-derived), apps.list/get/find/categories (.desktop scan). Refusals are result shapes, not errors. Settings app split into per-domain pages (Device/Lock/Dock/Pill/Keyboard). Config backports (background.widgets, claudeUsage, fileSearch) kill the laptop TypeErrors.
45 lines
1.3 KiB
QML
45 lines
1.3 KiB
QML
//@ pragma UseQApplication
|
|
//@ pragma Env QS_NO_RELOAD_POPUP=1
|
|
//@ pragma Env QT_QUICK_CONTROLS_STYLE=Basic
|
|
//@ pragma Env QT_QUICK_FLICKABLE_WHEEL_DECELERATION=10000
|
|
|
|
// Souveraine shell entry — `qs -c souveraine`.
|
|
// One family, two modes (desktop and phone), converging over time. Panels
|
|
// that differ by form factor are gated on Config.options.souveraine.phone
|
|
// inside SouveraineFamily; a panel is "homogenized" when its gate is gone.
|
|
// No panelFamily switching: this config loads SouveraineFamily, period.
|
|
// ii's tree is borrowed underneath (composed by deploy.sh) until each piece
|
|
// is owned outright.
|
|
|
|
import "modules/common"
|
|
import "services"
|
|
import "panelFamilies"
|
|
|
|
import QtQuick
|
|
import QtQuick.Window
|
|
import Quickshell
|
|
import Quickshell.Io
|
|
import Quickshell.Hyprland
|
|
|
|
ShellRoot {
|
|
id: root
|
|
|
|
// NOTE: no DeviceConnectNotification here — the phone's ii snapshot
|
|
// predates it, and version-dependent types don't belong in the entry file.
|
|
ReloadPopup {}
|
|
|
|
Component.onCompleted: {
|
|
MaterialThemeLoader.reapplyTheme()
|
|
Hyprsunset.load()
|
|
FirstRunExperience.load()
|
|
ConflictKiller.load()
|
|
Cliphist.refresh()
|
|
Wallpapers.load()
|
|
Updates.load()
|
|
}
|
|
|
|
LazyLoader {
|
|
active: Config.ready
|
|
component: SouveraineFamily {}
|
|
}
|
|
}
|