fix window title: move visibility to bargroup to avoid binding deadlock

This commit is contained in:
Damocles 2026-04-17 09:09:42 +02:00
parent f225d34202
commit 8c2ff6203f
4 changed files with 2 additions and 14 deletions

View file

@ -144,6 +144,7 @@ PanelWindow {
id: _windowTitleGroup id: _windowTitleGroup
Layout.minimumWidth: 0 Layout.minimumWidth: 0
clip: true clip: true
visible: M.Modules.windowTitle.enable && M.NiriIpc.focusedTitle !== ""
M.WindowTitle { M.WindowTitle {
width: Math.max(0, centerSection.x - _windowTitleGroup.x - 2 * M.Theme.groupPadding - M.Theme.groupSpacing) width: Math.max(0, centerSection.x - _windowTitleGroup.x - 2 * M.Theme.groupPadding - M.Theme.groupSpacing)
} }

View file

@ -111,8 +111,6 @@ QtObject {
try { try {
data = JSON.parse(raw); data = JSON.parse(raw);
} catch (e) {} } catch (e) {}
console.log("Modules._apply keys=" + Object.keys(data).length + " windowTitle=" + JSON.stringify(data.windowTitle));
// Enable all modules that aren't explicitly mentioned in the JSON // Enable all modules that aren't explicitly mentioned in the JSON
for (const k of _moduleKeys) { for (const k of _moduleKeys) {
if (!(k in data)) if (!(k in data))
@ -121,7 +119,6 @@ QtObject {
}); });
} }
console.log("Modules._apply after defaults: windowTitle.enable=" + root.windowTitle.enable);
// Apply JSON overrides // Apply JSON overrides
for (const k of Object.keys(data)) { for (const k of Object.keys(data)) {
if (!(k in root)) if (!(k in root))

View file

@ -22,7 +22,6 @@ QtObject {
command: ["niri", "msg", "--json", "focused-window"] command: ["niri", "msg", "--json", "focused-window"]
stdout: StdioCollector { stdout: StdioCollector {
onStreamFinished: { onStreamFinished: {
console.log("NiriIpc._focusedProc raw='" + text.slice(0, 80) + "'");
try { try {
const w = JSON.parse(text); const w = JSON.parse(text);
if (w) { if (w) {
@ -32,10 +31,7 @@ QtObject {
root.focusedTitle = ""; root.focusedTitle = "";
root.focusedAppId = ""; root.focusedAppId = "";
} }
} catch (e) { } catch (e) {}
console.log("NiriIpc._focusedProc parse error: " + e);
}
console.log("NiriIpc focusedTitle='" + root.focusedTitle + "'");
} }
} }
} }

View file

@ -7,12 +7,6 @@ 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 !== ""
onVisibleChanged: console.log("WindowTitle visible=" + visible + " enable=" + M.Modules.windowTitle.enable + " title='" + M.NiriIpc.focusedTitle + "' width=" + width)
onWidthChanged: if (visible)
console.log("WindowTitle width=" + width + " centerSection.x would need bar ref")
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
readonly property string _iconSource: { readonly property string _iconSource: {