[BUG]: Ignore window rule seemingly doesn't work as expected #621

Closed
opened 2026-01-05 14:52:01 +01:00 by adam · 3 comments
Owner

Originally created by @ThatAmuzak on GitHub (May 17, 2025).

Summary

tl;dr, setting an ignore rule to either title or path for "C:\WINDOWS\SYSTEM32\cmd.exe" doesn't seemingly stop the windows from resizing around a temporary headless window, despite setting kind to Path, id to "C:\WINDOWS\SYSTEM32\cmd.exe", and matching_strategy to Equals. The issue persists even if kind is set to Title.

Note: This is a low priority cosmetic issue and easy to ignore. Also I am relatively new to komorebi, not sure if I am doing something incorrect.


I'm using Vimtex with Sumatra, and the two way synctex requires a command on Sumatra's end as follows:

cmd /c start /min "" nvim --headless -c "VimtexInverseSearch %l '%f'"

This effectively tells my editor to go to the position that I double click with my mouse at. However, it spawns a headless terminal for the same. This causes the window to temporarily resize.

After a few attempts to capture the data about this headless window (too lazy to set up a recurring script for this 😅)

Start-Sleep -Seconds 3; komorebic visible-windows

I received this

{
  "DELD118-5&29373815&0&UID4354": [
    {
      "title": "PowerShell",
      "exe": "WindowsTerminal.exe",
      "class": "CASCADIA_HOSTING_WINDOW_CLASS"
    },
    {
      "title": "main.pdf - [The title of this paper is hope] - SumatraPDF",
      "exe": "SumatraPDF.exe",
      "class": "SUMATRA_PDF_FRAME"
    },
    {
      "title": "C:\\WINDOWS\\SYSTEM32\\cmd.exe",
      "exe": "WindowsTerminal.exe",
      "class": "CASCADIA_HOSTING_WINDOW_CLASS"
    }
  ],
  "CMN176E-5&397e9651&0&UID256": [
    {
      "title": "PowerShell",
      "exe": "WindowsTerminal.exe",
      "class": "CASCADIA_HOSTING_WINDOW_CLASS"
    }
  ]
}

The offending window here is the third one on the dell monitor, with `"title": "C:\WINDOWS\SYSTEM32\cmd.exe".

I tried setting up a rule for it with

"ignore_rules": [
    {
      "kind": "Path",
      "id": "C:\\WINDOWS\\SYSTEM32\\cmd.exe",
      "matching_strategy": "Equals"
    }
  ],

and also tried substituting Path with Title, but the momentary resizing effect continues to happen (I restarted komorebi after every change).

This is not specific to Sumatra PDF, as even if you swap horizontal, or swap the positions of the terminal and Sumatra, the column in which the next window is supposed to spawn always gets resized.

Please see the video recording below:

https://github.com/user-attachments/assets/98c4361f-5f7e-4dd8-bd3d-55b199190882

I'm not entirely sure if I have misunderstood how the ignore rules work, or if there is something else affecting Komorebi here that's not within the scope of this project. Any help would be appreciated, but it's also a small enough momentary issue that can be easily ignored.

Ps. Thank you for making this amazing software! It's genuinely one of the most satisfying workflow upgrades I've made in years!

Version Information

Windows Version:

OS Name: Microsoft Windows 11 Home
OS Version: 10.0.26100 N/A Build 26100

Komorebi Version:

komorebic 0.1.36
tag:v0.1.36
commit_hash:8ef1bcf2
build_time:2025-04-13 03:10:57 +00:00
build_env:rustc 1.86.0 (05f9846f8 2025-03-31),stable-x86_64-pc-windows-msvc

Komorebi Configuration

{
  "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.36/schema.json",
  "app_specific_configuration_path": "$Env:KOMOREBI_CONFIG_HOME/applications.json",
  "mouse_follows_focus": false,
  "window_hiding_behaviour": "Cloak",
  "cross_monitor_move_behaviour": "Insert",
  "default_workspace_padding": 2,
  "default_container_padding": 4,
  "border": true,
  "border_width": 5,
  "border_offset": -1,
  "theme": {
    "palette": "Base16",
    "name": "Ashes",
    "unfocused_border": "Base03",
    "bar_accent": "Base0D"
  },
  "transparency": false,
  "animation": {
    "enabled": true,
    "duration": 200,
    "fps": 60,
    "style": {
      "movement": "EaseOutExpo",
      "transparency": "Linear"
    }
  },
  "ignore_rules": [
    {
      "kind": "Path",
      "id": "C:\\WINDOWS\\SYSTEM32\\cmd.exe",
      "matching_strategy": "Equals"
    }
  ],
  "monitors": [
    {
      "workspaces": [
        {
          "name": "I",
          "layout": "BSP"
        },
        {
          "name": "II",
          "layout": "BSP"
        },
        {
          "name": "III",
          "layout": "BSP"
        }
      ]
    },
    {
      "workspaces": [
        {
          "name": "1",
          "layout": "BSP"
        },
        {
          "name": "2",
          "layout": "BSP"
        },
        {
          "name": "3",
          "layout": "BSP"
        }
      ]
    }
  ]
}

Hotkey Configuration

#Requires AutoHotkey v2.0.2
#SingleInstance Force

Komorebic(cmd) {
    RunWait(format("komorebic.exe {}", cmd), , "Hide")
}

; Close & Minimize
!+w::Komorebic("close")                          ; Alt+Shift+W closes the focused window
!m::Komorebic("minimize")                        ; Alt+M minimizes the focused window

; Focus windows with Win+h/j/k/l
#h::Komorebic("focus left")                      ; Win+H focuses the window to the left
#j::Komorebic("focus down")                      ; Win+J focuses the window below
#k::Komorebic("focus up")                        ; Win+K focuses the window above
#l::Komorebic("focus right")                     ; Win+L focuses the window to the right

; Cycle focus
!n::Komorebic("cycle-focus next")                ; Alt+N cycles focus to the next window
!p::Komorebic("cycle-focus previous")            ; Alt+P cycles focus to the previous window

; Move windows with Win+Shift+h/j/k/l
#+h::Komorebic("move left")                      ; Win+Shift+H moves window left
#+j::Komorebic("move down")                      ; Win+Shift+J moves window down
#+k::Komorebic("move up")                        ; Win+Shift+K moves window up
#+l::Komorebic("move right")                     ; Win+Shift+L moves window right

; Resize windows
!=::Komorebic("resize-axis horizontal increase")  ; Alt+= increases width
!-::Komorebic("resize-axis horizontal decrease")   ; Alt+- decreases width
!0::Komorebic("resize-axis vertical increase")    ; Alt+] increases height
!9::Komorebic("resize-axis vertical decrease")    ; Alt+[ decreases height

; Flip layout orientation
!x::Komorebic("flip-layout horizontal")          ; Alt+X flips layout horizontally
!z::Komorebic("flip-layout vertical")            ; Alt+Z flips layout vertically

; Switch to workspaces 0–2
!1::Komorebic("focus-workspace 0")               ; Alt+1 switches to workspace 0
!2::Komorebic("focus-workspace 1")               ; Alt+2 switches to workspace 1
!3::Komorebic("focus-workspace 2")               ; Alt+3 switches to workspace 2

; Move window to workspaces 0–2
!+1::Komorebic("move-to-workspace 0")            ; Alt+Shift+1 moves window to workspace 0
!+2::Komorebic("move-to-workspace 1")            ; Alt+Shift+2 moves window to workspace 1
!+3::Komorebic("move-to-workspace 2")            ; Alt+Shift+3 moves window to workspace 2

; Move to next/previous workspace
^!n::Komorebic("focus-workspace next")           ; Ctrl+Alt+N moves to next workspace
^!p::Komorebic("focus-workspace previous")       ; Ctrl+Alt+P moves to previous workspace

; Cycle between monitors
!+n::Komorebic("cycle-monitor next")             ; Alt+Shift+N cycles to next monitor
!+p::Komorebic("cycle-monitor previous")         ; Alt+Shift+P cycles to previous monitor

; Move window to another monitor
^!+n::Komorebic("cycle-move-to-monitor next")    ; Ctrl+Alt+Shift+N moves window to next monitor
^!+p::Komorebic("cycle-move-to-monitor previous") ; Ctrl+Alt+Shift+P moves window to previous monitor

Output of komorebic check

KOMOREBI_CONFIG_HOME detected: C:\Users\risha\.config\WinWM\komorebi

Looking for configuration files in C:\Users\risha\.config\WinWM\komorebi

Found komorebi.json; this file can be passed to the start command with the --config flag

No ~/.config/whkdrc found; you may not be able to control komorebi with your keyboard
Originally created by @ThatAmuzak on GitHub (May 17, 2025). ### Summary tl;dr, setting an ignore rule to either title or path for "C:\\WINDOWS\\SYSTEM32\\cmd.exe" doesn't seemingly stop the windows from resizing around a temporary headless window, despite setting kind to Path, id to "C:\\WINDOWS\\SYSTEM32\\cmd.exe", and matching_strategy to Equals. The issue persists even if kind is set to Title. **Note: This is a low priority cosmetic issue and easy to ignore. Also I am relatively new to komorebi, not sure if I am doing something incorrect.** --- I'm using Vimtex with Sumatra, and the two way synctex requires a command on Sumatra's end as follows: `cmd /c start /min "" nvim --headless -c "VimtexInverseSearch %l '%f'"` This effectively tells my editor to go to the position that I double click with my mouse at. However, it spawns a headless terminal for the same. This causes the window to temporarily resize. After a few attempts to capture the data about this headless window (too lazy to set up a recurring script for this 😅) `Start-Sleep -Seconds 3; komorebic visible-windows` I received this ``` { "DELD118-5&29373815&0&UID4354": [ { "title": "PowerShell", "exe": "WindowsTerminal.exe", "class": "CASCADIA_HOSTING_WINDOW_CLASS" }, { "title": "main.pdf - [The title of this paper is hope] - SumatraPDF", "exe": "SumatraPDF.exe", "class": "SUMATRA_PDF_FRAME" }, { "title": "C:\\WINDOWS\\SYSTEM32\\cmd.exe", "exe": "WindowsTerminal.exe", "class": "CASCADIA_HOSTING_WINDOW_CLASS" } ], "CMN176E-5&397e9651&0&UID256": [ { "title": "PowerShell", "exe": "WindowsTerminal.exe", "class": "CASCADIA_HOSTING_WINDOW_CLASS" } ] } ``` The offending window here is the third one on the dell monitor, with `"title": "C:\\WINDOWS\\SYSTEM32\\cmd.exe". I tried setting up a rule for it with ``` "ignore_rules": [ { "kind": "Path", "id": "C:\\WINDOWS\\SYSTEM32\\cmd.exe", "matching_strategy": "Equals" } ], ``` and also tried substituting Path with Title, but the momentary resizing effect continues to happen (I restarted komorebi after every change). This is not specific to Sumatra PDF, as even if you swap horizontal, or swap the positions of the terminal and Sumatra, the column in which the next window is supposed to spawn always gets resized. Please see the video recording below: https://github.com/user-attachments/assets/98c4361f-5f7e-4dd8-bd3d-55b199190882 I'm not entirely sure if I have misunderstood how the ignore rules work, or if there is something else affecting Komorebi here that's not within the scope of this project. Any help would be appreciated, but it's also a small enough momentary issue that can be easily ignored. Ps. Thank you for making this amazing software! It's genuinely one of the most satisfying workflow upgrades I've made in years! ### Version Information Windows Version: OS Name: Microsoft Windows 11 Home OS Version: 10.0.26100 N/A Build 26100 Komorebi Version: komorebic 0.1.36 tag:v0.1.36 commit_hash:8ef1bcf2 build_time:2025-04-13 03:10:57 +00:00 build_env:rustc 1.86.0 (05f9846f8 2025-03-31),stable-x86_64-pc-windows-msvc ### Komorebi Configuration ```json { "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.36/schema.json", "app_specific_configuration_path": "$Env:KOMOREBI_CONFIG_HOME/applications.json", "mouse_follows_focus": false, "window_hiding_behaviour": "Cloak", "cross_monitor_move_behaviour": "Insert", "default_workspace_padding": 2, "default_container_padding": 4, "border": true, "border_width": 5, "border_offset": -1, "theme": { "palette": "Base16", "name": "Ashes", "unfocused_border": "Base03", "bar_accent": "Base0D" }, "transparency": false, "animation": { "enabled": true, "duration": 200, "fps": 60, "style": { "movement": "EaseOutExpo", "transparency": "Linear" } }, "ignore_rules": [ { "kind": "Path", "id": "C:\\WINDOWS\\SYSTEM32\\cmd.exe", "matching_strategy": "Equals" } ], "monitors": [ { "workspaces": [ { "name": "I", "layout": "BSP" }, { "name": "II", "layout": "BSP" }, { "name": "III", "layout": "BSP" } ] }, { "workspaces": [ { "name": "1", "layout": "BSP" }, { "name": "2", "layout": "BSP" }, { "name": "3", "layout": "BSP" } ] } ] } ``` ### Hotkey Configuration ``` #Requires AutoHotkey v2.0.2 #SingleInstance Force Komorebic(cmd) { RunWait(format("komorebic.exe {}", cmd), , "Hide") } ; Close & Minimize !+w::Komorebic("close") ; Alt+Shift+W closes the focused window !m::Komorebic("minimize") ; Alt+M minimizes the focused window ; Focus windows with Win+h/j/k/l #h::Komorebic("focus left") ; Win+H focuses the window to the left #j::Komorebic("focus down") ; Win+J focuses the window below #k::Komorebic("focus up") ; Win+K focuses the window above #l::Komorebic("focus right") ; Win+L focuses the window to the right ; Cycle focus !n::Komorebic("cycle-focus next") ; Alt+N cycles focus to the next window !p::Komorebic("cycle-focus previous") ; Alt+P cycles focus to the previous window ; Move windows with Win+Shift+h/j/k/l #+h::Komorebic("move left") ; Win+Shift+H moves window left #+j::Komorebic("move down") ; Win+Shift+J moves window down #+k::Komorebic("move up") ; Win+Shift+K moves window up #+l::Komorebic("move right") ; Win+Shift+L moves window right ; Resize windows !=::Komorebic("resize-axis horizontal increase") ; Alt+= increases width !-::Komorebic("resize-axis horizontal decrease") ; Alt+- decreases width !0::Komorebic("resize-axis vertical increase") ; Alt+] increases height !9::Komorebic("resize-axis vertical decrease") ; Alt+[ decreases height ; Flip layout orientation !x::Komorebic("flip-layout horizontal") ; Alt+X flips layout horizontally !z::Komorebic("flip-layout vertical") ; Alt+Z flips layout vertically ; Switch to workspaces 0–2 !1::Komorebic("focus-workspace 0") ; Alt+1 switches to workspace 0 !2::Komorebic("focus-workspace 1") ; Alt+2 switches to workspace 1 !3::Komorebic("focus-workspace 2") ; Alt+3 switches to workspace 2 ; Move window to workspaces 0–2 !+1::Komorebic("move-to-workspace 0") ; Alt+Shift+1 moves window to workspace 0 !+2::Komorebic("move-to-workspace 1") ; Alt+Shift+2 moves window to workspace 1 !+3::Komorebic("move-to-workspace 2") ; Alt+Shift+3 moves window to workspace 2 ; Move to next/previous workspace ^!n::Komorebic("focus-workspace next") ; Ctrl+Alt+N moves to next workspace ^!p::Komorebic("focus-workspace previous") ; Ctrl+Alt+P moves to previous workspace ; Cycle between monitors !+n::Komorebic("cycle-monitor next") ; Alt+Shift+N cycles to next monitor !+p::Komorebic("cycle-monitor previous") ; Alt+Shift+P cycles to previous monitor ; Move window to another monitor ^!+n::Komorebic("cycle-move-to-monitor next") ; Ctrl+Alt+Shift+N moves window to next monitor ^!+p::Komorebic("cycle-move-to-monitor previous") ; Ctrl+Alt+Shift+P moves window to previous monitor ``` ### Output of komorebic check ``` KOMOREBI_CONFIG_HOME detected: C:\Users\risha\.config\WinWM\komorebi Looking for configuration files in C:\Users\risha\.config\WinWM\komorebi Found komorebi.json; this file can be passed to the start command with the --config flag No ~/.config/whkdrc found; you may not be able to control komorebi with your keyboard ```
adam added the bug label 2026-01-05 14:52:01 +01:00
adam closed this issue 2026-01-05 14:52:01 +01:00
Author
Owner

@LGUG2Z commented on GitHub (May 17, 2025):

Imo this is a bug in Windows Terminal, check out these logs below:

2025-05-17T16:16:12.701684Z  INFO process_event{event="TitleUpdate" winevent="ObjectNameChange" hwnd=7866500}: komorebi::process_event: processed: (hwnd: 7866500, title: Terminal, exe: WindowsTerminal.exe, class: CASCADIA_HOSTING_WINDOW_CLASS)
2025-05-17T16:16:12.730715Z  INFO process_event{event="Show" winevent="ObjectShow" hwnd=7866500}:focus_window{idx=0}: komorebi::container: focusing window
2025-05-17T16:16:12.730759Z  INFO process_event{event="Show" winevent="ObjectShow" hwnd=7866500}:focus_container{idx=2}: komorebi::workspace: focusing container
2025-05-17T16:16:12.730792Z  INFO process_event{event="Show" winevent="ObjectShow" hwnd=7866500}:update_focused_workspace{follow_focus=false trigger_focus=false}: komorebi::window_manager: updating
2025-05-17T16:16:12.733516Z  INFO process_event{event="Show" winevent="ObjectShow" hwnd=7866500}: komorebi::process_event: processed: (hwnd: 7866500, title: Terminal, exe: WindowsTerminal.exe, class: CASCADIA_HOSTING_WINDOW_CLASS)
2025-05-17T16:16:12.734697Z  INFO process_event{event="FocusChange" winevent="SystemForeground" hwnd=7866500}:update_focused_workspace{follow_focus=true trigger_focus=false}: komorebi::window_manager: updating
2025-05-17T16:16:12.736062Z  INFO process_event{event="FocusChange" winevent="SystemForeground" hwnd=7866500}:focus_window{idx=0}: komorebi::container: focusing window
2025-05-17T16:16:12.736105Z  INFO process_event{event="FocusChange" winevent="SystemForeground" hwnd=7866500}:focus_container{idx=2}: komorebi::workspace: focusing container
2025-05-17T16:16:12.738210Z  INFO process_event{event="FocusChange" winevent="SystemForeground" hwnd=7866500}: komorebi::process_event: processed: (hwnd: 7866500, title: Terminal, exe: WindowsTerminal.exe, class: CASCADIA_HOSTING_WINDOW_CLASS)
2025-05-17T16:16:12.784773Z  INFO process_event{event="TitleUpdate" winevent="ObjectNameChange" hwnd=7866500}: komorebi::process_event: processed: (hwnd: 7866500, title: Command Prompt, exe: WindowsTerminal.exe, class: CASCADIA_HOSTING_WINDOW_CLASS)

When I launch Command Prompt from the start menu, it sends ObjectNameChange before sending ObjectShow to forcibly set the title to "Terminal", then, after the Show event, the newly opened window is focused which triggers a SystemForeground event, and then there is finally another ObjectNameChange when WT sets the title to Command Prompt - I'm assuming that this "late rename" also happens with your later-reported title of "C:\WINDOWS\SYSTEM32\cmd.exe".

This is generally not how Windows applications are supposed to behave - feel free to open a ticket on the WT tracker and share this information, maybe even backlink this ticket, but I'm going to close this for now because I don't see a way to hack around this (and we already have too many hacks in place for WT...) - ultimately this is (another) issue for the Trillion Dollar Company ™ and not for the independent solo developer.

@LGUG2Z commented on GitHub (May 17, 2025): Imo this is a bug in Windows Terminal, check out these logs below: ``` 2025-05-17T16:16:12.701684Z INFO process_event{event="TitleUpdate" winevent="ObjectNameChange" hwnd=7866500}: komorebi::process_event: processed: (hwnd: 7866500, title: Terminal, exe: WindowsTerminal.exe, class: CASCADIA_HOSTING_WINDOW_CLASS) 2025-05-17T16:16:12.730715Z INFO process_event{event="Show" winevent="ObjectShow" hwnd=7866500}:focus_window{idx=0}: komorebi::container: focusing window 2025-05-17T16:16:12.730759Z INFO process_event{event="Show" winevent="ObjectShow" hwnd=7866500}:focus_container{idx=2}: komorebi::workspace: focusing container 2025-05-17T16:16:12.730792Z INFO process_event{event="Show" winevent="ObjectShow" hwnd=7866500}:update_focused_workspace{follow_focus=false trigger_focus=false}: komorebi::window_manager: updating 2025-05-17T16:16:12.733516Z INFO process_event{event="Show" winevent="ObjectShow" hwnd=7866500}: komorebi::process_event: processed: (hwnd: 7866500, title: Terminal, exe: WindowsTerminal.exe, class: CASCADIA_HOSTING_WINDOW_CLASS) 2025-05-17T16:16:12.734697Z INFO process_event{event="FocusChange" winevent="SystemForeground" hwnd=7866500}:update_focused_workspace{follow_focus=true trigger_focus=false}: komorebi::window_manager: updating 2025-05-17T16:16:12.736062Z INFO process_event{event="FocusChange" winevent="SystemForeground" hwnd=7866500}:focus_window{idx=0}: komorebi::container: focusing window 2025-05-17T16:16:12.736105Z INFO process_event{event="FocusChange" winevent="SystemForeground" hwnd=7866500}:focus_container{idx=2}: komorebi::workspace: focusing container 2025-05-17T16:16:12.738210Z INFO process_event{event="FocusChange" winevent="SystemForeground" hwnd=7866500}: komorebi::process_event: processed: (hwnd: 7866500, title: Terminal, exe: WindowsTerminal.exe, class: CASCADIA_HOSTING_WINDOW_CLASS) 2025-05-17T16:16:12.784773Z INFO process_event{event="TitleUpdate" winevent="ObjectNameChange" hwnd=7866500}: komorebi::process_event: processed: (hwnd: 7866500, title: Command Prompt, exe: WindowsTerminal.exe, class: CASCADIA_HOSTING_WINDOW_CLASS) ``` When I launch `Command Prompt` from the start menu, it sends `ObjectNameChange` before sending `ObjectShow` to forcibly set the title to "Terminal", then, after the `Show` event, the newly opened window is focused which triggers a `SystemForeground` event, and then there is finally another `ObjectNameChange` when WT sets the title to `Command Prompt` - I'm assuming that this "late rename" also happens with your later-reported title of "C:\\WINDOWS\\SYSTEM32\\cmd.exe". This is generally not how Windows applications are supposed to behave - feel free to open a ticket on the WT tracker and share this information, maybe even backlink this ticket, but I'm going to close this for now because I don't see a way to hack around this (and we already have too many hacks in place for WT...) - ultimately this is (another) issue for the Trillion Dollar Company ™ and not for the independent solo developer.
Author
Owner

@ThatAmuzak commented on GitHub (May 17, 2025):

Update: I think I may have solved it? Not sure if this is breaking something for the future.

Decided to properly log what's happening:

$outputFile = "komorebic_output_$(Get-Date -UFormat %s).txt"

$scriptBlock = {
    while ($true) {
        & komorebic visible-windows >> $using:outputFile
        Start-Sleep -Milliseconds 50
    }
}

$job = Start-Job $scriptBlock

Register-EngineEvent PowerShell.Exiting -Action {
    Stop-Job $using:job
    Remove-Job $using:job
    Write-Host "`nStopped."
}
Wait-Job $job

And in the output script, I get:

{
  "CMN176E-5&397e9651&0&UID256": [
    {
      "title": "PowerShell",
      "exe": "WindowsTerminal.exe",
      "class": "CASCADIA_HOSTING_WINDOW_CLASS"
    }
  ],
  "DELD118-5&29373815&0&UID4354": [
    {
      "title": "PowerShell",
      "exe": "WindowsTerminal.exe",
      "class": "CASCADIA_HOSTING_WINDOW_CLASS"
    },
    {
      "title": "main.pdf - [The Name of the Title Is Hope] - SumatraPDF",
      "exe": "SumatraPDF.exe",
      "class": "SUMATRA_PDF_FRAME"
    },
    {
      "title": "Terminal",
      "exe": "WindowsTerminal.exe",
      "class": "CASCADIA_HOSTING_WINDOW_CLASS"
    }
  ]
}
{
  "DELD118-5&29373815&0&UID4354": [
    {
      "title": "PowerShell",
      "exe": "WindowsTerminal.exe",
      "class": "CASCADIA_HOSTING_WINDOW_CLASS"
    },
    {
      "title": "main.pdf - [The Name of the Title Is Hope] - SumatraPDF",
      "exe": "SumatraPDF.exe",
      "class": "SUMATRA_PDF_FRAME"
    },
    {
      "title": "C:\\WINDOWS\\SYSTEM32\\cmd.exe",
      "exe": "WindowsTerminal.exe",
      "class": "CASCADIA_HOSTING_WINDOW_CLASS"
    }
  ],
  "CMN176E-5&397e9651&0&UID256": [
    {
      "title": "PowerShell",
      "exe": "WindowsTerminal.exe",
      "class": "CASCADIA_HOSTING_WINDOW_CLASS"
    }
  ]
}
{
  "CMN176E-5&397e9651&0&UID256": [
    {
      "title": "PowerShell",
      "exe": "WindowsTerminal.exe",
      "class": "CASCADIA_HOSTING_WINDOW_CLASS"
    }
  ],
  "DELD118-5&29373815&0&UID4354": [
    {
      "title": "PowerShell",
      "exe": "WindowsTerminal.exe",
      "class": "CASCADIA_HOSTING_WINDOW_CLASS"
    },
    {
      "title": "main.pdf - [The Name of the Title Is Hope] - SumatraPDF",
      "exe": "SumatraPDF.exe",
      "class": "SUMATRA_PDF_FRAME"
    }
  ]
}

This matches with what you're seeing as well with the rename, so I simply tried

  "ignore_rules": [
    {
      "kind": "Path",
      "id": "C:\\WINDOWS\\SYSTEM32\\cmd.exe",
      "matching_strategy": "Equals"
    },
    {
      "kind": "Title",
      "id": "Terminal",
      "matching_strategy": "Equals"
    }
  ],

This stops the momentary resizing (although I see the temporary window flash of course, that's expected)

not sure if this is particularly dangerous or problematic? New powershell windows open and get placed properly and as expected. Let me know if this seems like a good fix or if there can some issues with this approach

@ThatAmuzak commented on GitHub (May 17, 2025): Update: I think I may have solved it? Not sure if this is breaking something for the future. Decided to properly log what's happening: ``` $outputFile = "komorebic_output_$(Get-Date -UFormat %s).txt" $scriptBlock = { while ($true) { & komorebic visible-windows >> $using:outputFile Start-Sleep -Milliseconds 50 } } $job = Start-Job $scriptBlock Register-EngineEvent PowerShell.Exiting -Action { Stop-Job $using:job Remove-Job $using:job Write-Host "`nStopped." } Wait-Job $job ``` And in the output script, I get: ``` { "CMN176E-5&397e9651&0&UID256": [ { "title": "PowerShell", "exe": "WindowsTerminal.exe", "class": "CASCADIA_HOSTING_WINDOW_CLASS" } ], "DELD118-5&29373815&0&UID4354": [ { "title": "PowerShell", "exe": "WindowsTerminal.exe", "class": "CASCADIA_HOSTING_WINDOW_CLASS" }, { "title": "main.pdf - [The Name of the Title Is Hope] - SumatraPDF", "exe": "SumatraPDF.exe", "class": "SUMATRA_PDF_FRAME" }, { "title": "Terminal", "exe": "WindowsTerminal.exe", "class": "CASCADIA_HOSTING_WINDOW_CLASS" } ] } { "DELD118-5&29373815&0&UID4354": [ { "title": "PowerShell", "exe": "WindowsTerminal.exe", "class": "CASCADIA_HOSTING_WINDOW_CLASS" }, { "title": "main.pdf - [The Name of the Title Is Hope] - SumatraPDF", "exe": "SumatraPDF.exe", "class": "SUMATRA_PDF_FRAME" }, { "title": "C:\\WINDOWS\\SYSTEM32\\cmd.exe", "exe": "WindowsTerminal.exe", "class": "CASCADIA_HOSTING_WINDOW_CLASS" } ], "CMN176E-5&397e9651&0&UID256": [ { "title": "PowerShell", "exe": "WindowsTerminal.exe", "class": "CASCADIA_HOSTING_WINDOW_CLASS" } ] } { "CMN176E-5&397e9651&0&UID256": [ { "title": "PowerShell", "exe": "WindowsTerminal.exe", "class": "CASCADIA_HOSTING_WINDOW_CLASS" } ], "DELD118-5&29373815&0&UID4354": [ { "title": "PowerShell", "exe": "WindowsTerminal.exe", "class": "CASCADIA_HOSTING_WINDOW_CLASS" }, { "title": "main.pdf - [The Name of the Title Is Hope] - SumatraPDF", "exe": "SumatraPDF.exe", "class": "SUMATRA_PDF_FRAME" } ] } ``` This matches with what you're seeing as well with the rename, so I simply tried ``` "ignore_rules": [ { "kind": "Path", "id": "C:\\WINDOWS\\SYSTEM32\\cmd.exe", "matching_strategy": "Equals" }, { "kind": "Title", "id": "Terminal", "matching_strategy": "Equals" } ], ``` This stops the momentary resizing (although I see the temporary window flash of course, that's expected) not sure if this is particularly dangerous or problematic? New powershell windows open and get placed properly and as expected. Let me know if this seems like a good fix or if there can some issues with this approach
Author
Owner

@LGUG2Z commented on GitHub (May 17, 2025):

not sure if this is particularly dangerous or problematic? New powershell windows open and get placed properly and as expected. Let me know if this seems like a good fix or if there can some issues with this approach

If it works it works 😅

Thanks for documenting this so that others can benefit if they have the same need in the future!

@LGUG2Z commented on GitHub (May 17, 2025): > not sure if this is particularly dangerous or problematic? New powershell windows open and get placed properly and as expected. Let me know if this seems like a good fix or if there can some issues with this approach If it works it works 😅 Thanks for documenting this so that others can benefit if they have the same need in the future!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#621