patches: keep island work outside turn fix
This commit is contained in:
parent
3aa7019eb5
commit
3bdc1c8e3c
1 changed files with 101 additions and 0 deletions
|
|
@ -0,0 +1,101 @@
|
|||
From a5314f17f9c9356d5e57212bd077702a4a0ba0dc Mon Sep 17 00:00:00 2001
|
||||
From: Souveraine <souveraine@wiuf.net>
|
||||
Date: Tue, 11 Aug 2026 14:22:01 -0400
|
||||
Subject: [PATCH] bar: mount the agent island
|
||||
|
||||
Registers AgentSessions as a service singleton, adds its config block, mounts
|
||||
Island in the Souveraine-owned UtilButtons (so it lands on both device bars
|
||||
without forking BarContent twice), and adds the five new files to the deploy
|
||||
manifest.
|
||||
|
||||
Activating change: reloads the shell.
|
||||
---
|
||||
surfaces/quickshell/deploy.sh | 5 +++++
|
||||
surfaces/quickshell/modules/common/Config.qml | 11 ++++++++++-
|
||||
surfaces/quickshell/modules/ii/bar/UtilButtons.qml | 14 ++++++++++++++
|
||||
surfaces/quickshell/services/qmldir | 1 +
|
||||
4 files changed, 30 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/surfaces/quickshell/deploy.sh b/surfaces/quickshell/deploy.sh
|
||||
index 3b1baa1..a111b99 100755
|
||||
--- a/surfaces/quickshell/deploy.sh
|
||||
+++ b/surfaces/quickshell/deploy.sh
|
||||
@@ -81,6 +81,11 @@ services/WallpaperAssets.qml souveraine/services/WallpaperAssets.qml
|
||||
services/WallpaperDownload.qml souveraine/services/WallpaperDownload.qml
|
||||
scripts/wallpaper/download_wallhaven.sh souveraine/scripts/wallpaper/download_wallhaven.sh
|
||||
services/ConflictKiller.qml souveraine/services/ConflictKiller.qml
|
||||
+services/AgentSessions.qml souveraine/services/AgentSessions.qml
|
||||
+scripts/agent/agent-sessions.sh souveraine/scripts/agent/agent-sessions.sh
|
||||
+modules/souveraine/island/Island.qml souveraine/modules/souveraine/island/Island.qml
|
||||
+modules/souveraine/island/IslandExpansion.qml souveraine/modules/souveraine/island/IslandExpansion.qml
|
||||
+modules/souveraine/island/qmldir souveraine/modules/souveraine/island/qmldir
|
||||
services/SessionEvents.qml souveraine/services/SessionEvents.qml
|
||||
services/SessiondBridge.qml souveraine/services/SessiondBridge.qml
|
||||
services/SessiondPolicy.qml souveraine/services/SessiondPolicy.qml
|
||||
diff --git a/surfaces/quickshell/modules/common/Config.qml b/surfaces/quickshell/modules/common/Config.qml
|
||||
index bbb7ee4..31e1dbb 100644
|
||||
--- a/surfaces/quickshell/modules/common/Config.qml
|
||||
+++ b/surfaces/quickshell/modules/common/Config.qml
|
||||
@@ -220,7 +220,16 @@ Singleton {
|
||||
property string text: ""
|
||||
}
|
||||
}
|
||||
- property JsonObject weather: JsonObject {
|
||||
+ // TASK-69/70: one collector for every agent session
|
||||
+ // (Souveraine, Claude Code, Codex). Replaces per-provider
|
||||
+ // fetches; claudeUsage above stays for the subscription gauge
|
||||
+ // until stage 3 folds its OAuth poll in here.
|
||||
+ property JsonObject agentSessions: JsonObject {
|
||||
+ property bool enable: true // Show the agent island in the bar
|
||||
+ property int refreshInterval: 60 // seconds
|
||||
+ property int windowMinutes: 1440 // How far back counts as "a session"
|
||||
+ }
|
||||
+ property JsonObject weather: JsonObject {
|
||||
property bool enable: false
|
||||
property string placementStrategy: "free" // "free", "leastBusy", "mostBusy"
|
||||
property real x: 400
|
||||
diff --git a/surfaces/quickshell/modules/ii/bar/UtilButtons.qml b/surfaces/quickshell/modules/ii/bar/UtilButtons.qml
|
||||
index 7ba0095..d06ba12 100644
|
||||
--- a/surfaces/quickshell/modules/ii/bar/UtilButtons.qml
|
||||
+++ b/surfaces/quickshell/modules/ii/bar/UtilButtons.qml
|
||||
@@ -2,6 +2,7 @@ import qs
|
||||
import qs.services
|
||||
import qs.modules.common
|
||||
import qs.modules.common.widgets
|
||||
+import qs.modules.souveraine.island
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import Quickshell
|
||||
@@ -20,6 +21,19 @@ Item {
|
||||
spacing: 4
|
||||
anchors.centerIn: parent
|
||||
|
||||
+ // Agent island (TASK-70). Mounted here rather than in BarContent
|
||||
+ // deliberately: UtilButtons is already a Souveraine-owned override,
|
||||
+ // so the island lands on BOTH device bars without forking the 13.8K
|
||||
+ // BarContent twice (ii-base and ii-phone) and carrying that
|
||||
+ // divergence against the pin. The island narrows itself - dot on the
|
||||
+ // phone bar, pill on the desktop - so one mount serves both.
|
||||
+ Loader {
|
||||
+ Layout.alignment: Qt.AlignVCenter
|
||||
+ active: Config.options.bar.agentSessions?.enable ?? true
|
||||
+ visible: active
|
||||
+ sourceComponent: Island {}
|
||||
+ }
|
||||
+
|
||||
Loader {
|
||||
active: Config.options.bar.utilButtons.showScreenSnip
|
||||
visible: Config.options.bar.utilButtons.showScreenSnip
|
||||
diff --git a/surfaces/quickshell/services/qmldir b/surfaces/quickshell/services/qmldir
|
||||
index 0e63101..1882c7d 100644
|
||||
--- a/surfaces/quickshell/services/qmldir
|
||||
+++ b/surfaces/quickshell/services/qmldir
|
||||
@@ -1,4 +1,5 @@
|
||||
BooruResponseData 1.0 BooruResponseData.qml
|
||||
+singleton AgentSessions 1.0 AgentSessions.qml
|
||||
singleton Ai 1.0 Ai.qml
|
||||
singleton AppSearch 1.0 AppSearch.qml
|
||||
singleton Audio 1.0 Audio.qml
|
||||
--
|
||||
2.55.0
|
||||
|
||||
Loading…
Reference in a new issue