diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2025-09-29 15:24:18 +0200 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2025-09-29 15:24:18 +0200 |
| commit | 4ddd4a18cd9f852d4d23510faae31dd0e0380866 (patch) | |
| tree | db27025055014163a2da0d7e677bde2967169d6d /accounts/gkleen@sif/shell | |
| parent | 5cee7108d60ca11ccba1b19ccad74664f6f96cf5 (diff) | |
| download | nixos-4ddd4a18cd9f852d4d23510faae31dd0e0380866.tar nixos-4ddd4a18cd9f852d4d23510faae31dd0e0380866.tar.gz nixos-4ddd4a18cd9f852d4d23510faae31dd0e0380866.tar.bz2 nixos-4ddd4a18cd9f852d4d23510faae31dd0e0380866.tar.xz nixos-4ddd4a18cd9f852d4d23510faae31dd0e0380866.zip | |
...
Diffstat (limited to 'accounts/gkleen@sif/shell')
5 files changed, 19 insertions, 8 deletions
diff --git a/accounts/gkleen@sif/shell/quickshell/Bar.qml b/accounts/gkleen@sif/shell/quickshell/Bar.qml index 426ed78c..9210066c 100644 --- a/accounts/gkleen@sif/shell/quickshell/Bar.qml +++ b/accounts/gkleen@sif/shell/quickshell/Bar.qml | |||
| @@ -5,7 +5,8 @@ import QtQuick | |||
| 5 | PanelWindow { | 5 | PanelWindow { |
| 6 | id: bar | 6 | id: bar |
| 7 | 7 | ||
| 8 | required property var screen | 8 | required property var modelData |
| 9 | screen: modelData | ||
| 9 | 10 | ||
| 10 | WlrLayershell.namespace: "bar" | 11 | WlrLayershell.namespace: "bar" |
| 11 | 12 | ||
| @@ -39,7 +40,9 @@ PanelWindow { | |||
| 39 | anchors.verticalCenter: parent.verticalCenter | 40 | anchors.verticalCenter: parent.verticalCenter |
| 40 | spacing: 8 | 41 | spacing: 8 |
| 41 | 42 | ||
| 42 | WorkspaceSwitcher {} | 43 | WorkspaceSwitcher { |
| 44 | screen: bar.screen | ||
| 45 | } | ||
| 43 | } | 46 | } |
| 44 | 47 | ||
| 45 | Row { | 48 | Row { |
diff --git a/accounts/gkleen@sif/shell/quickshell/NotificationDisplay.qml b/accounts/gkleen@sif/shell/quickshell/NotificationDisplay.qml index fa27093f..cc0e49b1 100644 --- a/accounts/gkleen@sif/shell/quickshell/NotificationDisplay.qml +++ b/accounts/gkleen@sif/shell/quickshell/NotificationDisplay.qml | |||
| @@ -9,7 +9,9 @@ import QtQuick.Layouts | |||
| 9 | import Quickshell.Services.Notifications | 9 | import Quickshell.Services.Notifications |
| 10 | 10 | ||
| 11 | Scope { | 11 | Scope { |
| 12 | readonly property ShellScreen activeScreen: Array.from(Quickshell.screens).find(screen => screen.name === Array.from(NiriService.workspaces).find(ws => ws.is_focused)?.output) ?? null | 12 | id: root |
| 13 | |||
| 14 | property var activeScreen: Array.from(Quickshell.screens).find(screen => screen.name === Array.from(NiriService.workspaces).find(ws => ws.is_focused)?.output) ?? null | ||
| 13 | 15 | ||
| 14 | Instantiator { | 16 | Instantiator { |
| 15 | id: notifsRepeater | 17 | id: notifsRepeater |
| @@ -23,6 +25,10 @@ Scope { | |||
| 23 | 25 | ||
| 24 | visible: NotificationManager.active | 26 | visible: NotificationManager.active |
| 25 | 27 | ||
| 28 | screen: root.activeScreen | ||
| 29 | |||
| 30 | WlrLayershell.namespace: "notifications" | ||
| 31 | |||
| 26 | required property var modelData | 32 | required property var modelData |
| 27 | required property var index | 33 | required property var index |
| 28 | 34 | ||
diff --git a/accounts/gkleen@sif/shell/quickshell/Services/NiriService.qml b/accounts/gkleen@sif/shell/quickshell/Services/NiriService.qml index af522ec4..cce614eb 100644 --- a/accounts/gkleen@sif/shell/quickshell/Services/NiriService.qml +++ b/accounts/gkleen@sif/shell/quickshell/Services/NiriService.qml | |||
| @@ -134,10 +134,10 @@ Singleton { | |||
| 134 | relevant_output = ws.output; | 134 | relevant_output = ws.output; |
| 135 | }); | 135 | }); |
| 136 | root.workspaces = Array.from(root.workspaces).map(ws => { | 136 | root.workspaces = Array.from(root.workspaces).map(ws => { |
| 137 | if (ws.output === relevant_output) { | 137 | if (data.focused) |
| 138 | ws.is_focused = false; | ||
| 139 | if (ws.output === relevant_output) | ||
| 138 | ws.is_active = false; | 140 | ws.is_active = false; |
| 139 | ws.is_focused = false; | ||
| 140 | } | ||
| 141 | if (data.id === ws.id) { | 141 | if (data.id === ws.id) { |
| 142 | ws.is_active = true; | 142 | ws.is_active = true; |
| 143 | ws.is_focused = data.focused; | 143 | ws.is_focused = data.focused; |
diff --git a/accounts/gkleen@sif/shell/quickshell/WorkspaceSwitcher.qml b/accounts/gkleen@sif/shell/quickshell/WorkspaceSwitcher.qml index 2d3aca1b..3ae94346 100644 --- a/accounts/gkleen@sif/shell/quickshell/WorkspaceSwitcher.qml +++ b/accounts/gkleen@sif/shell/quickshell/WorkspaceSwitcher.qml | |||
| @@ -7,6 +7,8 @@ import QtQuick.Layouts | |||
| 7 | Row { | 7 | Row { |
| 8 | id: workspaces | 8 | id: workspaces |
| 9 | 9 | ||
| 10 | required property var screen | ||
| 11 | |||
| 10 | property var ignoreWorkspaces: @ignore_workspaces@ | 12 | property var ignoreWorkspaces: @ignore_workspaces@ |
| 11 | 13 | ||
| 12 | height: parent.height | 14 | height: parent.height |
| @@ -18,7 +20,7 @@ Row { | |||
| 18 | values: { | 20 | values: { |
| 19 | let currWorkspaces = NiriService.workspaces; | 21 | let currWorkspaces = NiriService.workspaces; |
| 20 | const ignoreWorkspaces = Array.from(workspaces.ignoreWorkspaces); | 22 | const ignoreWorkspaces = Array.from(workspaces.ignoreWorkspaces); |
| 21 | currWorkspaces = currWorkspaces.filter(ws => ws.is_active || ignoreWorkspaces.every(iws => iws !== ws.name)); | 23 | currWorkspaces = currWorkspaces.filter(ws => ws.output == workspaces.screen.name).filter(ws => ws.is_active || ignoreWorkspaces.every(iws => iws !== ws.name)); |
| 22 | currWorkspaces.sort((a, b) => { | 24 | currWorkspaces.sort((a, b) => { |
| 23 | if (NiriService.outputs?.[a.output]?.logical?.x !== NiriService.outputs?.[b.output]?.logical?.x) | 25 | if (NiriService.outputs?.[a.output]?.logical?.x !== NiriService.outputs?.[b.output]?.logical?.x) |
| 24 | return NiriService.outputs?.[a.output]?.logical?.x - NiriService.outputs?.[b.output]?.logical?.x | 26 | return NiriService.outputs?.[a.output]?.logical?.x - NiriService.outputs?.[b.output]?.logical?.x |
diff --git a/accounts/gkleen@sif/shell/quickshell/shell.qml b/accounts/gkleen@sif/shell/quickshell/shell.qml index 1a5875f0..fb8b16dc 100644 --- a/accounts/gkleen@sif/shell/quickshell/shell.qml +++ b/accounts/gkleen@sif/shell/quickshell/shell.qml | |||
| @@ -36,7 +36,7 @@ ShellRoot { | |||
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | Bar { | 38 | Bar { |
| 39 | screen: screenScope.modelData | 39 | modelData: screenScope.modelData |
| 40 | } | 40 | } |
| 41 | } | 41 | } |
| 42 | } | 42 | } |
