[BUG]: Window is managed despite ignore rule #534

Closed
opened 2026-01-05 14:51:21 +01:00 by adam · 7 comments
Owner

Originally created by @gazpachoking on GitHub (Nov 26, 2024).

Summary

I'm trying to add an ignore rule so that the bitwarden password popup from ms edge is not managed. The rule seems to match, but for some reason the window still gets managed. Doing a retile doesn't exclude the window.
explorer_FTeoraMeTa

Version Information

OS Name:                   Microsoft Windows 11 Pro
OS Version:                10.0.22631 N/A Build 22631


komorebic 0.1.30
tag:v0.1.30
commit_hash:9a3dbccc
build_time:2024-11-03 23:49:52 +00:00
build_env:rustc 1.82.0 (f6e511eec 2024-10-15),stable-x86_64-pc-windows-msvc

Komorebi Configuration

{
  "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/master/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,
  "mouse_follows_focus": false,
  "border": true,
  "border_width": 7,
  "border_style": "System",
  "border_colours": {
    "single": { "r": 66, "g": 165, "b": 245 },
    "stack": { "r": 256, "g": 165, "b": 66 },
    "monocle": { "r": 255, "g": 51, "b": 153 }
  },
  "monitors": [
    {
      "workspaces": [
        {
          "container_padding": 0,
          "layout": "VerticalStack",
          "name": "1I",
          "workspace_padding": 0
        }
      ]
    },
    {
      "workspaces": [
        {
          "layout": "UltrawideVerticalStack",
          "name": "I"
        }
      ]
    }
  ],
  "ignore_rules": [
    {"kind": "exe", "id": "ShareX.exe"},
    {"kind": "exe", "id": "TeraCopy.exe"},
    {"kind": "title", "id": "Remove Torrent", "matching_strategy": "Equals"},
    {"kind": "title", "id": "Connection Manager", "matching_strategy": "Equals"},
    {"kind": "exe", "id": "flux.exe"},
    {"kind": "class", "id": "TLoginDialog"},
    {"kind": "exe", "id": "RoyalTS_PuTTY.exe"},
    {"kind": "exe", "id": "RoyalTS_PuTTY64.exe"},
    {"kind": "exe", "id": "barrier.exe"},
    {"kind": "exe", "id": "PhoneExperienceHost.exe"},
    {"kind": "class", "id": "VISIOS"},
    [
      {"kind": "exe", "id": "deluge.exe"},
      {"kind": "title", "id": "Deluge", "matching_strategy": "DoesNotEqual"}
    ],
    {"kind": "exe", "id": "PowerToys.AdvancedPaste.exe"},
    {"kind": "class", "id": "MozillaDialogClass"},
    {"kind": "class", "id": "TLoginDialog"},
    {"kind": "title", "id": "minimized | Microsoft Teams", "matching_strategy": "EndsWith"},
    [
      {"kind": "exe", "id": "RemoteDesktopManager.exe"},
      {"kind": "title", "id": "Remote Desktop Manager - ", "matching_strategy": "StartsWith"}
    ],
    [
      {"kind": "exe", "id": "RemoteDesktopManager.exe"},
      {"kind": "title", "id": "Remote Desktop Manager", "matching_strategy": "DoesNotStartWith"}
    ],
    [
      {"kind": "exe", "id": "RemoteDesktopManager.exe"},
      {"kind": "class", "id": "WindowsForms10.Window.8.app.0.5c39d4_r3_ad1", "matching_strategy": "DoesNotEqual"}
    ],
    {"kind": "exe", "id": "input-leap.exe"},
    [
      {"kind": "exe", "id": "ms-teams.exe"},
      {"kind": "title", "id": "compact view", "matching_strategy": "Contains"}
    ],
    [
      {"kind": "exe", "id": "msedge.exe"},
      {"kind": "title", "id": "Bitwarden"}
    ]
  ],
  "object_name_change_applications": [
      {"kind": "exe", "id": "RemoteDesktopManager.exe"}
  ],
  "stackbar": {
    "height": 40,
    "mode": "OnStack",
    "tabs": {
      "width": 300,
      "focused_text": "#00a542",
      "unfocused_text": "#b3b3b3",
      "background": "#141414"
    }
  }
}

Hotkey Configuration

Don't think this is relevant here.

Output of komorebic check

KOMOREBI_CONFIG_HOME detected: c:\Users\chase.sterling.config\komorebi

Looking for configuration files in c:\Users\chase.sterling.config\komorebi

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

Found C:\Users\chase.sterling.config\whkdrc; key bindings will be loaded from here when whkd is started, and you can start it automatically using the --whkd flag

Originally created by @gazpachoking on GitHub (Nov 26, 2024). ### Summary I'm trying to add an ignore rule so that the bitwarden password popup from ms edge is not managed. The rule seems to match, but for some reason the window still gets managed. Doing a retile doesn't exclude the window. ![explorer_FTeoraMeTa](https://github.com/user-attachments/assets/5d4779bb-1480-44e2-90e2-0105d364bd43) ### Version Information ``` OS Name: Microsoft Windows 11 Pro OS Version: 10.0.22631 N/A Build 22631 komorebic 0.1.30 tag:v0.1.30 commit_hash:9a3dbccc build_time:2024-11-03 23:49:52 +00:00 build_env:rustc 1.82.0 (f6e511eec 2024-10-15),stable-x86_64-pc-windows-msvc ``` ### Komorebi Configuration ```json { "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/master/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, "mouse_follows_focus": false, "border": true, "border_width": 7, "border_style": "System", "border_colours": { "single": { "r": 66, "g": 165, "b": 245 }, "stack": { "r": 256, "g": 165, "b": 66 }, "monocle": { "r": 255, "g": 51, "b": 153 } }, "monitors": [ { "workspaces": [ { "container_padding": 0, "layout": "VerticalStack", "name": "1I", "workspace_padding": 0 } ] }, { "workspaces": [ { "layout": "UltrawideVerticalStack", "name": "I" } ] } ], "ignore_rules": [ {"kind": "exe", "id": "ShareX.exe"}, {"kind": "exe", "id": "TeraCopy.exe"}, {"kind": "title", "id": "Remove Torrent", "matching_strategy": "Equals"}, {"kind": "title", "id": "Connection Manager", "matching_strategy": "Equals"}, {"kind": "exe", "id": "flux.exe"}, {"kind": "class", "id": "TLoginDialog"}, {"kind": "exe", "id": "RoyalTS_PuTTY.exe"}, {"kind": "exe", "id": "RoyalTS_PuTTY64.exe"}, {"kind": "exe", "id": "barrier.exe"}, {"kind": "exe", "id": "PhoneExperienceHost.exe"}, {"kind": "class", "id": "VISIOS"}, [ {"kind": "exe", "id": "deluge.exe"}, {"kind": "title", "id": "Deluge", "matching_strategy": "DoesNotEqual"} ], {"kind": "exe", "id": "PowerToys.AdvancedPaste.exe"}, {"kind": "class", "id": "MozillaDialogClass"}, {"kind": "class", "id": "TLoginDialog"}, {"kind": "title", "id": "minimized | Microsoft Teams", "matching_strategy": "EndsWith"}, [ {"kind": "exe", "id": "RemoteDesktopManager.exe"}, {"kind": "title", "id": "Remote Desktop Manager - ", "matching_strategy": "StartsWith"} ], [ {"kind": "exe", "id": "RemoteDesktopManager.exe"}, {"kind": "title", "id": "Remote Desktop Manager", "matching_strategy": "DoesNotStartWith"} ], [ {"kind": "exe", "id": "RemoteDesktopManager.exe"}, {"kind": "class", "id": "WindowsForms10.Window.8.app.0.5c39d4_r3_ad1", "matching_strategy": "DoesNotEqual"} ], {"kind": "exe", "id": "input-leap.exe"}, [ {"kind": "exe", "id": "ms-teams.exe"}, {"kind": "title", "id": "compact view", "matching_strategy": "Contains"} ], [ {"kind": "exe", "id": "msedge.exe"}, {"kind": "title", "id": "Bitwarden"} ] ], "object_name_change_applications": [ {"kind": "exe", "id": "RemoteDesktopManager.exe"} ], "stackbar": { "height": 40, "mode": "OnStack", "tabs": { "width": 300, "focused_text": "#00a542", "unfocused_text": "#b3b3b3", "background": "#141414" } } } ``` ### Hotkey Configuration Don't think this is relevant here. ### Output of komorebic check KOMOREBI_CONFIG_HOME detected: c:\Users\chase.sterling\.config\komorebi Looking for configuration files in c:\Users\chase.sterling\.config\komorebi Found komorebi.json; this file can be passed to the start command with the --config flag Found C:\Users\chase.sterling\.config\whkdrc; key bindings will be loaded from here when whkd is started, and you can start it automatically using the --whkd flag
adam added the bug label 2026-01-05 14:51:21 +01:00
adam closed this issue 2026-01-05 14:51:21 +01:00
Author
Owner

@gazpachoking commented on GitHub (Nov 26, 2024):

If I stop and start komorebi with the window open, the window is properly ignored.

@gazpachoking commented on GitHub (Nov 26, 2024): If I stop and start komorebi with the window open, the window is properly ignored.
Author
Owner

@alex-ds13 commented on GitHub (Nov 27, 2024):

My guess would be that when that window first opens it starts with a different title, so it gets handled then it updates its title... Can you use winspy++ or the AHK spy utility to check if that window has any other way of identifying it, like a specific class?

You can also check the logs for when you open that window (or open a terminal and run komorebic log to see them real time..) and try to see what is the title it starts with, it might have something like "Extension" on it that you can try to use... If you need help you can try to share the logs here so we can help pinpoint that.

But your best bet would checking for a specific window class...

@alex-ds13 commented on GitHub (Nov 27, 2024): My guess would be that when that window first opens it starts with a different title, so it gets handled then it updates its title... Can you use `winspy++` or the AHK spy utility to check if that window has any other way of identifying it, like a specific class? You can also check the logs for when you open that window (or open a terminal and run `komorebic log` to see them real time..) and try to see what is the title it starts with, it might have something like "Extension" on it that you can try to use... If you need help you can try to share the logs here so we can help pinpoint that. But your best bet would checking for a specific window class...
Author
Owner

@gazpachoking commented on GitHub (Nov 27, 2024):

I checked the class, it's the same as the main Edge window, so no luck there. I also tried adding edge to the object_name_change_applications, which didn't help either. I tried windowspy++, but I don't know how I can capture what title the window was created with.

I then watched the komorebi log, and could indeed see that the window was created with a title like _crx__toheunteuohnoentuoenh (I'll note, the only way I can see that in the log is if I have my ignore rule in for the Bitwarden title. Without that rule I don't see any log messages about that title.) I added the ignore rule for title starting with _crx__ and it started working as expected. I also saw the name change in there, I'm not aware enough of the internals to be able to tell why it doesn't work with the final title when object_name_change_applications is defined.

@alex-ds13 Thanks for the pointer that it might be changing the title after creation, that's what lead me to the solution!

I don't really know if this rule is something that would be suitable for the application specific rules, since I have no idea what other windows edge might create with that title prefix.

@gazpachoking commented on GitHub (Nov 27, 2024): I checked the class, it's the same as the main Edge window, so no luck there. I also tried adding edge to the `object_name_change_applications`, which didn't help either. I tried windowspy++, but I don't know how I can capture what title the window was created with. I then watched the komorebi log, and could indeed see that the window was created with a title like `_crx__toheunteuohnoentuoenh` (I'll note, the only way I can see that in the log is if I have my ignore rule in for the `Bitwarden` title. Without that rule I don't see any log messages about that title.) I added the ignore rule for title starting with `_crx__` and it started working as expected. I also saw the name change in there, I'm not aware enough of the internals to be able to tell why it doesn't work with the final title when `object_name_change_applications` is defined. @alex-ds13 Thanks for the pointer that it might be changing the title after creation, that's what lead me to the solution! I don't really know if this rule is something that would be suitable for the application specific rules, since I have no idea what other windows edge might create with that title prefix.
Author
Owner

@alex-ds13 commented on GitHub (Nov 27, 2024):

object_name_change_applications is for applications that don't emit a Show event at the start and simply emit a title change event. This is not the case since that window is emitting a Show event at the start, it simply has a different title than you thought of. So I wouldn't add it to that rule...

I would probably Google if that name is normally used by extensions' windows on chromium browsers, if it is it would be safe to add it to the ASC.

@alex-ds13 commented on GitHub (Nov 27, 2024): `object_name_change_applications` is for applications that don't emit a `Show` event at the start and simply emit a title change event. This is not the case since that window is emitting a `Show` event at the start, it simply has a different title than you thought of. So I wouldn't add it to that rule... I would probably Google if that name is normally used by extensions' windows on chromium browsers, if it is it would be safe to add it to the ASC.
Author
Owner

@alex-ds13 commented on GitHub (Nov 27, 2024):

So from what I've quickly searched, .crx is the extension given to chrome extensions. So it makes sense that a chromium browser extension first opens with that title. Considering this I think it would be ok to add either ignore rules or floating_window rules to the Application Specific Configuration on its github, for any window with title that starts with _crx__, this way it would be applied to any chromium browser. That is assuming that extension windows should be floating and not tiled, which to me seems a fairly reasonable assumption!

@LGUG2Z What do you think? ^

P.S. This issue can probably be closed since this is not a bug and has been solved...

@alex-ds13 commented on GitHub (Nov 27, 2024): So from what I've quickly searched, `.crx` is the extension given to chrome extensions. So it makes sense that a chromium browser extension first opens with that title. Considering this I think it would be ok to add either ignore rules or floating_window rules to the `Application Specific Configuration` on its github, for any window with title that starts with `_crx__`, this way it would be applied to any chromium browser. That is assuming that extension windows should be floating and not tiled, which to me seems a fairly reasonable assumption! @LGUG2Z What do you think? ^ P.S. This issue can probably be closed since this is not a bug and has been solved...
Author
Owner

@LGUG2Z commented on GitHub (Nov 27, 2024):

Yeah I think this is good to close, but if someone wants to add a blurb about this on the docs site somewhere they can reference this issue number.

@LGUG2Z commented on GitHub (Nov 27, 2024): Yeah I think this is good to close, but if someone wants to add a blurb about this on the docs site somewhere they can reference this issue number.
Author
Owner

@LGUG2Z commented on GitHub (Nov 27, 2024):

Ah I thought this was familiar, it came up in relation to Chrome on the Discord a while ago: https://discord.com/channels/898554690126630914/898556726108901386/1231384330790633482

I think we can add default rules for all Chromium based browsers and popup extensions to the asc ^

@LGUG2Z commented on GitHub (Nov 27, 2024): Ah I thought this was familiar, it came up in relation to Chrome on the Discord a while ago: https://discord.com/channels/898554690126630914/898556726108901386/1231384330790633482 I think we can add default rules for all Chromium based browsers and popup extensions to the asc ^
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#534