Compare commits

..

No commits in common. "886cd73d9ab3dcf79b22045e68d7cb3bb31506d0" and "e3cae59ac3538e5a6bddc1478f8a15ff9a51555d" have entirely different histories.

4 changed files with 8 additions and 9 deletions

View file

@ -129,15 +129,13 @@ PanelWindow {
spacing: M.Theme.groupSpacing
M.BarGroup {
id: workspacesGroup
leftEdge: true
M.Workspaces {
bar: bar
visible: M.Modules.workspaces.enable && M.NiriIpc.available
visible: M.Modules.workspaces.enable
}
}
M.BarGroup {
leftEdge: !workspacesGroup.visible
M.Tray {
bar: bar
visible: M.Modules.tray.enable

View file

@ -11,14 +11,14 @@ QtObject {
signal windowFocusChanged(var windowId)
signal windowOpenedOrChanged(var window)
property bool available: false
readonly property bool available: Quickshell.env("NIRI_SOCKET") !== ""
property string focusedTitle: ""
property string focusedAppId: ""
property bool overviewOpen: false
property var _focusedProc: Process {
running: true
running: root.available
command: ["niri", "msg", "--json", "focused-window"]
stdout: StdioCollector {
onStreamFinished: {
@ -37,14 +37,13 @@ QtObject {
}
property var _eventStream: Process {
running: true
running: root.available
command: ["niri", "msg", "--json", "event-stream"]
stdout: SplitParser {
splitMarker: "\n"
onRead: line => {
try {
const ev = JSON.parse(line);
root.available = true;
if (ev.WorkspacesChanged !== undefined)
root.workspacesChanged(ev.WorkspacesChanged.workspaces);
else if (ev.WorkspaceActivated !== undefined)

View file

@ -7,7 +7,7 @@ import "." as M
M.BarSection {
id: root
spacing: M.Theme.moduleSpacing
visible: M.Modules.windowTitle.enable && M.NiriIpc.focusedTitle !== ""
visible: M.Modules.windowTitle.enable && M.NiriIpc.available && M.NiriIpc.focusedTitle !== ""
tooltip: M.NiriIpc.focusedAppId ? M.NiriIpc.focusedAppId + "\n" + M.NiriIpc.focusedTitle : M.NiriIpc.focusedTitle

View file

@ -14,10 +14,12 @@ Row {
readonly property string _output: bar.screen?.name ?? ""
readonly property var _workspaces: _allWorkspaces.filter(w => w.output === root._output)
visible: M.NiriIpc.available
// Initial state
Process {
id: initProc
running: true
running: M.NiriIpc.available
command: ["niri", "msg", "--json", "workspaces"]
stdout: StdioCollector {
onStreamFinished: {