ITADN

Application-specific configuration request for PDFgear (pdfeditor.exe) – composite rules cause entire app to be ignored

#1638OpenKang-geophysics 创建于 2026-01-17
bug
K
Kang-geophysicscommented
### Summary This issue is about PDFgear [https://www.pdfgear.com/](https://www.pdfgear.com/?utm_source=chatgpt.com) I’m trying to create an application-specific configuration so that only the main document windows of PDFgear are tiled, while menu / popup windows (e.g. “Create Signature”, Print dialogs, etc.) are ignored or floated. While working on this, I referenced the following issue discussing composite (AND) rules: [https://github.com/LGUG2Z/komorebi/issues/1106](https://github.com/LGUG2Z/komorebi/issues/1106?utm_source=chatgpt.com) Based on that discussion, I tried several approaches using composite rules to selectively manage PDFgear windows. My intention was: Tile only windows whose title ends with - PDFgear Ignore other PDFgear windows, such as popup/menu dialogs (e.g. Create Signature) I tested configurations like the following: ``` ... "ignore_rules": [ [ { "kind": "Exe", "id": "pdfeditor.exe", "matching_strategy": "Equals" }, { "kind": "Title", "id": " - PDFgear", "matching_strategy": "DoesNotEndWith" } ] ], "manage_rules": [ [ { "kind": "Exe", "id": "pdfeditor.exe", "matching_strategy": "Equals" }, { "kind": "Title", "id": " - PDFgear", "matching_strategy": "EndsWith" } ] ] ``` This is `komorebic visible-windows`. ``` { "title": "test.pdf - PDFgear", "exe": "pdfeditor.exe", "class": "HwndWrapper[pdfeditor.exe;;00b7c04f-435e-46aa-8b26-2901e47349e7]" }, { "title": "Create Signature", "exe": "pdfeditor.exe", "class": "HwndWrapper[pdfeditor.exe;;56b491af-be31-44cd-aa90-1c4269cbcf40]" } ``` In practice, the entire application (pdfeditor.exe) ends up being ignored, including windows that should clearly match the manage_rules. From my experiments: Popup windows like “Create Signature” are difficult to exclude cleanly Attempts to use composite rules result in PDFgear being effectively unmanaged as a whole Restarting komorebi and reopening windows does not change this outcome Goal / intent My goal is not to report a bug, but to ask for guidance on where this should be handled: Should this be solved via an update to applications.json in the application-specific configuration repository? Is there a recommended pattern for apps like PDFgear, where: main document windows are long-lived and should be tiled menu / tool / dialog windows should be ignored or floated? At the moment, I’m unsure where this kind of behavior should be addressed, so I’m raising it here for advice. Currently, I use only a rule of ignoring "pdfeditor.exe". ### Version Information komorebic 0.1.39 tag:v0.1.39 commit_hash:8f982e45 build_time:2025-12-11 01:24:19 +00:00 build_env:rustc 1.91.1 (ed61e7d7e 2025-11-07),stable-x86_64-pc-windows-msvc ### Komorebi Configuration ```json { "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.39/schema.json", "app_specific_configuration_path": "$Env:KOMOREBI_CONFIG_HOME/applications.json", "window_hiding_behaviour": "Cloak", "cross_monitor_move_behaviour": "Insert", "default_workspace_padding": 3, "default_container_padding": 3, "floating_window_aspect_ratio": "Ultrawide", "mouse_follows_focus": true, "border": true, "border_width": 7, "border_offset": -1, "theme": { "palette": "Base16", "name": "GruvboxDarkHard", "unfocused_border": "Base03", "bar_accent": "Base09", "stack_border": "Base0E", "single_border": "Base0A" }, "monitors": [ { "workspaces": [ { "name": "A", "layout": "BSP" }, { "name": "B", "layout": "BSP" } ] }, { "workspaces": [ { "name": "C", "layout": "UltrawideVerticalStack" }, { "name": "D", "layout": "UltrawideVerticalStack" } ] } ], "ignore_rules": [ [ { "kind": "Exe", "id": "pdfeditor.exe", "matching_strategy": "Equals" } ] ], "bar_configurations": [ "C:\\Users\\user\\.config\\komorebi\\komorebi.bar_0.json", "C:\\Users\\user\\.config\\komorebi\\komorebi.bar_1.json" ] } ``` ### Hotkey Configuration ```shell .shell pwsh # Reload whkd configuration # alt + o : taskkill /f /im whkd.exe && start /b whkd # if shell is cmd alt + shift + q : taskkill /f /im whkd.exe; Start-Process whkd -WindowStyle hidden # if shell is pwsh / powershell alt + shift + r : komorebic reload-configuration alt + shift + i : komorebic toggle-shortcuts # App shortcuts - these require shell to be pwsh / powershell # The apps will be focused if open, or launched if not open # alt + f : if ($wshell.AppActivate('Firefox') -eq $False) { start firefox } # alt + b : if ($wshell.AppActivate('Chrome') -eq $False) { start chrome } alt + q : komorebic close alt + m : komorebic minimize # Focus windows alt + h : komorebic focus left alt + j : komorebic focus down alt + k : komorebic focus up alt + l : komorebic focus right alt + shift + oem_4 : komorebic cycle-focus previous # oem_4 is [ alt + shift + oem_6 : komorebic cycle-focus next # oem_6 is ] # Move windows alt + shift + h : komorebic move left alt + shift + j : komorebic move down alt + shift + k : komorebic move up alt + shift + l : komorebic move right alt + shift + return : komorebic promote # Stack windows alt + left : komorebic stack left alt + down : komorebic stack down alt + up : komorebic stack up alt + right : komorebic stack right alt + oem_1 : komorebic unstack # oem_1 is ; alt + oem_4 : komorebic cycle-stack previous # oem_4 is [ alt + oem_6 : komorebic cycle-stack next # oem_6 is ] # Resize alt + p : komorebic resize-axis horizontal increase alt + u : komorebic resize-axis horizontal decrease alt + o : komorebic resize-axis vertical increase alt + i : komorebic resize-axis vertical decrease # Manipulate windows alt + t : komorebic toggle-float alt + f : komorebic toggle-monocle alt + shift + f : komorebic toggle-maximize # Window manager options alt + r : komorebic retile alt + p : komorebic toggle-pause # Layouts alt + c : komorebic flip-layout horizontal alt + shift + c : komorebic flip-layout vertical alt + w : komorebic cycle-layout next # Workspaces alt + 1 : komorebic focus-workspace 0 alt + 2 : komorebic focus-workspace 1 alt + 3 : komorebic focus-workspace 2 alt + 4 : komorebic focus-workspace 3 alt + 5 : komorebic focus-workspace 4 alt + 6 : komorebic focus-workspace 5 alt + 7 : komorebic focus-workspace 6 alt + 8 : komorebic focus-workspace 7 # Move windows across workspaces alt + shift + 1 : komorebic move-to-workspace 0 alt + shift + 2 : komorebic move-to-workspace 1 alt + shift + 3 : komorebic move-to-workspace 2 alt + shift + 4 : komorebic move-to-workspace 3 alt + shift + 5 : komorebic move-to-workspace 4 alt + shift + 6 : komorebic move-to-workspace 5 alt + shift + 7 : komorebic move-to-workspace 6 alt + shift + 8 : komorebic move-to-workspace 7 # Focus workspaces alt + a : komorebic cycle-workspace previous alt + s : komorebic cycle-workspace next ``` ### Output of komorebic check ```shell KOMOREBI_CONFIG_HOME detected: C:\Users\user\.config\komorebi Looking for configuration files in C:\Users\user\.config\komorebi Found komorebi.json; this file can be passed to the start command with the --config flag Found C:\Users\user\.config\komorebi\whkdrc; key bindings will be loaded from here when whkd is started, and you can start it automatically using the --whkd flag ```
3 条评论