From 340c07b0fbcdf1e627b32170b2e5e33fc3b33aa4 Mon Sep 17 00:00:00 2001 From: BluePhi09 <97019661+BluePhi09@users.noreply.github.com> Date: Tue, 7 Apr 2026 12:47:35 +0200 Subject: [PATCH 1/2] fix: restore compositor theming and keybindings broken by merge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CompositorKeybinds was removed from shell.qml in the merge, leaving it never instantiated — keybindings were never applied - CompositorConfig.applyCompositorConfigInternal() was calling CompositorTomlWriter.refresh() instead of executing the built batchCommand; updated to use the new axctl config apply command (matching GameModeService pattern, replacing the old raw-batch) Co-Authored-By: Claude Sonnet 4.6 --- modules/services/CompositorConfig.qml | 5 +++-- shell.qml | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/services/CompositorConfig.qml b/modules/services/CompositorConfig.qml index 86c0a9be..35bf1b21 100644 --- a/modules/services/CompositorConfig.qml +++ b/modules/services/CompositorConfig.qml @@ -208,8 +208,9 @@ QtObject { console.log(`CompositorConfig: Applying ignorealpha: ${ignoreAlphaValue}, explicit: ${Config.compositor.blurExplicitIgnoreAlpha}`); batchCommand += ` ; keyword layerrule noanim,quickshell ; keyword layerrule blur,quickshell ; keyword layerrule blurpopups,quickshell ; keyword layerrule ignorealpha ${ignoreAlphaValue},quickshell`; - console.log("CompositorConfig: Refreshing TOML via CompositorTomlWriter"); - CompositorTomlWriter.refresh(); + console.log("CompositorConfig: Applying compositor batch command:", batchCommand); + compositorProcess.command = ["axctl", "config", "apply", batchCommand]; + compositorProcess.running = true; } property Connections configConnections: Connections { diff --git a/shell.qml b/shell.qml index 44a22dd5..c0541228 100644 --- a/shell.qml +++ b/shell.qml @@ -177,6 +177,10 @@ ShellRoot { id: compositorConfig } + CompositorKeybinds { + id: compositorKeybinds + } + // Screenshot tool Variants { model: Quickshell.screens From 0963756f8672397b00683c09c37af390d46dd767 Mon Sep 17 00:00:00 2001 From: BluePhi09 <97019661+BluePhi09@users.noreply.github.com> Date: Tue, 7 Apr 2026 13:03:29 +0200 Subject: [PATCH 2/2] fix: use raw-batch instead of apply for compositor config commands axctl config apply expects a JSON payload, not keyword strings. The correct command for semicolon-separated keyword commands is raw-batch. Co-Authored-By: Claude Sonnet 4.6 --- modules/services/CompositorConfig.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/services/CompositorConfig.qml b/modules/services/CompositorConfig.qml index 35bf1b21..a3971f3b 100644 --- a/modules/services/CompositorConfig.qml +++ b/modules/services/CompositorConfig.qml @@ -209,7 +209,7 @@ QtObject { console.log(`CompositorConfig: Applying ignorealpha: ${ignoreAlphaValue}, explicit: ${Config.compositor.blurExplicitIgnoreAlpha}`); batchCommand += ` ; keyword layerrule noanim,quickshell ; keyword layerrule blur,quickshell ; keyword layerrule blurpopups,quickshell ; keyword layerrule ignorealpha ${ignoreAlphaValue},quickshell`; console.log("CompositorConfig: Applying compositor batch command:", batchCommand); - compositorProcess.command = ["axctl", "config", "apply", batchCommand]; + compositorProcess.command = ["axctl", "config", "raw-batch", batchCommand]; compositorProcess.running = true; }