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 spacing: M.Theme.groupSpacing
M.BarGroup { M.BarGroup {
id: workspacesGroup
leftEdge: true leftEdge: true
M.Workspaces { M.Workspaces {
bar: bar bar: bar
visible: M.Modules.workspaces.enable && M.NiriIpc.available visible: M.Modules.workspaces.enable
} }
} }
M.BarGroup { M.BarGroup {
leftEdge: !workspacesGroup.visible
M.Tray { M.Tray {
bar: bar bar: bar
visible: M.Modules.tray.enable visible: M.Modules.tray.enable

View file

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

View file

@ -7,7 +7,7 @@ import "." as M
M.BarSection { M.BarSection {
id: root id: root
spacing: M.Theme.moduleSpacing 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 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 string _output: bar.screen?.name ?? ""
readonly property var _workspaces: _allWorkspaces.filter(w => w.output === root._output) readonly property var _workspaces: _allWorkspaces.filter(w => w.output === root._output)
visible: M.NiriIpc.available
// Initial state // Initial state
Process { Process {
id: initProc id: initProc
running: true running: M.NiriIpc.available
command: ["niri", "msg", "--json", "workspaces"] command: ["niri", "msg", "--json", "workspaces"]
stdout: StdioCollector { stdout: StdioCollector {
onStreamFinished: { onStreamFinished: {