Originally created by @TyGrze on GitHub (Feb 4, 2025).
Summary
Tried adding some ignore rules to my komorebi.json which now causes komorebi to fail to launch with the following error
Waiting for komorebi.exe to start...komorebi.exe did not start... Trying again
Running komorebi.exe directly for detailed error output
Error:
0: data did not match any variant of untagged enum MatchingRule at line 24 column 3
Location:
komorebi\src\static_config.rs:1019
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1: BaseThreadInitThunk<unknown>
at <unknown source file>:<unknown line>
2: RtlUserThreadStart<unknown>
at <unknown source file>:<unknown line>
alt + o : taskkill /f /im whkd.exe && start /b whkd # if shell is cmd
alt + o : taskkill /f /im whkd.exe -and Start-Process whkd -WindowStyle hidden # if shell is pwsh / powershell
alt + shift + o : komorebic reload-configuration
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 + t : if ($wshell.AppActivate('Terminal') -eq $False) { start wt }
alt + b : if ($wshell.AppActivate('Chrome') -eq $False) { start chrome }
Focus windows
alt + n : komorebic focus left
alt + e : komorebic focus down
alt + u : komorebic focus up
alt + i : 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 + n : komorebic move left
alt + shift + e : komorebic move down
alt + shift + u : komorebic move up
alt + shift + i : komorebic move right
alt + shift + return : komorebic promote
Resize
alt + oem_plus : komorebic resize-axis horizontal increase
alt + oem_minus : komorebic resize-axis horizontal decrease
alt + shift + oem_plus : komorebic resize-axis vertical increase
alt + shift + oem_minus : komorebic resize-axis vertical decrease
Window manager options
alt + shift + r : komorebic retile
alt + p : komorebic toggle-pause
Layouts
alt + x : komorebic flip-layout horizontal
alt + y : komorebic flip-layout vertical
alt + w : komorebic cycle-workspace previous
alt + m : komorebic cycle-move-to-workspace previous
Workspaces
alt + 1 : komorebic focus-workspace 0
alt + 2 : komorebic focus-workspace 1
Move windows across workspaces
alt + shift + 1 : komorebic move-to-workspace 0
alt + shift + 2 : komorebic move-to-workspace 1
Output of komorebic check
komorebic check
No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\tyler.gregorcyk
Looking for configuration files in C:\Users\tyler.gregorcyk
Found komorebi.json; this file can be passed to the start command with the --config flag
Error: data did not match any variant of untagged enum MatchingRule at line 24 column 3
Location:
komorebic\src\main.rs:1667:25
Originally created by @TyGrze on GitHub (Feb 4, 2025).
### Summary
Tried adding some ignore rules to my komorebi.json which now causes komorebi to fail to launch with the following error
```
Waiting for komorebi.exe to start...komorebi.exe did not start... Trying again
Running komorebi.exe directly for detailed error output
Error:
0: data did not match any variant of untagged enum MatchingRule at line 24 column 3
Location:
komorebi\src\static_config.rs:1019
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1: BaseThreadInitThunk<unknown>
at <unknown source file>:<unknown line>
2: RtlUserThreadStart<unknown>
at <unknown source file>:<unknown line>
```
Ignore rule docs
https://lgug2z.github.io/komorebi/common-workflows/ignore-windows.html
Matching strategy for ignore rules
https://komorebi.lgug2z.com/schema#ignore_rules_items_anyOf_i0_matching_strategy
My config (Wich works without the ignore rules section)
```json
{
"$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/master/schema.json",
"app_specific_configuration_path": "$Env:USERPROFILE/applications.yaml",
"window_hiding_behaviour": "Cloak",
"cross_monitor_move_behaviour": "Insert",
"default_workspace_padding": 5,
"default_container_padding": 5,
"monitors": [
{
"workspaces": [
{
"name": "I",
"layout": "BSP"
}
]
}
],
"ignore_rules": [
{
"kind": "Visual Studio",
"id": "ServiceHub.ThreadedWaitDialog.exe",
"matching_strategy": "Equals"
}
]
}
```
### Version Information
OS Name: Microsoft Windows 11 Enterprise
OS Version: 10.0.22631 N/A Build 22631
komorebi LGUG2Z.komorebi 0.1.33 winget
### Komorebi Configuration
```json
{
"$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/master/schema.json",
"app_specific_configuration_path": "$Env:USERPROFILE/applications.yaml",
"window_hiding_behaviour": "Cloak",
"cross_monitor_move_behaviour": "Insert",
"default_workspace_padding": 5,
"default_container_padding": 5,
"monitors": [
{
"workspaces": [
{
"name": "I",
"layout": "BSP"
}
]
}
],
"ignore_rules": [
{
"kind": "Visual Studio",
"id": "ServiceHub.ThreadedWaitDialog.exe",
"matching_strategy": "Equals"
}
]
}
```
### Hotkey Configuration
# Reload whkd configuration
# alt + o : taskkill /f /im whkd.exe && start /b whkd # if shell is cmd
alt + o : taskkill /f /im whkd.exe -and Start-Process whkd -WindowStyle hidden # if shell is pwsh / powershell
alt + shift + o : komorebic reload-configuration
# 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 + t : if ($wshell.AppActivate('Terminal') -eq $False) { start wt }
# alt + b : if ($wshell.AppActivate('Chrome') -eq $False) { start chrome }
# Focus windows
alt + n : komorebic focus left
alt + e : komorebic focus down
alt + u : komorebic focus up
alt + i : 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 + n : komorebic move left
alt + shift + e : komorebic move down
alt + shift + u : komorebic move up
alt + shift + i : komorebic move right
alt + shift + return : komorebic promote
# Resize
alt + oem_plus : komorebic resize-axis horizontal increase
alt + oem_minus : komorebic resize-axis horizontal decrease
alt + shift + oem_plus : komorebic resize-axis vertical increase
alt + shift + oem_minus : komorebic resize-axis vertical decrease
# Window manager options
alt + shift + r : komorebic retile
alt + p : komorebic toggle-pause
# Layouts
alt + x : komorebic flip-layout horizontal
alt + y : komorebic flip-layout vertical
alt + w : komorebic cycle-workspace previous
alt + m : komorebic cycle-move-to-workspace previous
# Workspaces
alt + 1 : komorebic focus-workspace 0
alt + 2 : komorebic focus-workspace 1
# Move windows across workspaces
alt + shift + 1 : komorebic move-to-workspace 0
alt + shift + 2 : komorebic move-to-workspace 1
### Output of komorebic check
komorebic check
No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\tyler.gregorcyk
Looking for configuration files in C:\Users\tyler.gregorcyk
Found komorebi.json; this file can be passed to the start command with the --config flag
Error: data did not match any variant of untagged enum MatchingRule at line 24 column 3
Location:
komorebic\src\main.rs:1667:25
adam
added the bug label 2026-01-05 14:51:40 +01:00
But still not sure why setting "matching_strategy": "Equals" in "ignore_rules": [ was failing
@TyGrze commented on GitHub (Feb 4, 2025):
I switched to using this newer application.json file instead of whatever old yaml one I was using before to solve this issue for now.
https://github.com/LGUG2Z/komorebi-application-specific-configuration/blob/master/applications.json
But still not sure why setting "matching_strategy": "Equals" in "ignore_rules": [ was failing
@LGUG2Z commented on GitHub (Feb 4, 2025):
Not a bug, but a typo :)
```json
{
"kind": "Exe",
"id": "ServiceHub.ThreadedWaitDialog.exe",
"matching_strategy": "Equals"
},
```
I think you meant to specify that the `kind` is an `Exe` - there are a fixed list of identifier kinds - Exe, Class, Title and Path
Schema ref is here: https://komorebi.lgug2z.com/schema#ignore_rules_items_anyOf_i0_kind
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @TyGrze on GitHub (Feb 4, 2025).
Summary
Tried adding some ignore rules to my komorebi.json which now causes komorebi to fail to launch with the following error
Ignore rule docs
https://lgug2z.github.io/komorebi/common-workflows/ignore-windows.html
Matching strategy for ignore rules
https://komorebi.lgug2z.com/schema#ignore_rules_items_anyOf_i0_matching_strategy
My config (Wich works without the ignore rules section)
Version Information
OS Name: Microsoft Windows 11 Enterprise
OS Version: 10.0.22631 N/A Build 22631
komorebi LGUG2Z.komorebi 0.1.33 winget
Komorebi Configuration
Hotkey Configuration
Reload whkd configuration
alt + o : taskkill /f /im whkd.exe && start /b whkd # if shell is cmd
alt + o : taskkill /f /im whkd.exe -and Start-Process whkd -WindowStyle hidden # if shell is pwsh / powershell
alt + shift + o : komorebic reload-configuration
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 + t : if ($wshell.AppActivate('Terminal') -eq $False) { start wt }
alt + b : if ($wshell.AppActivate('Chrome') -eq $False) { start chrome }
Focus windows
alt + n : komorebic focus left
alt + e : komorebic focus down
alt + u : komorebic focus up
alt + i : 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 + n : komorebic move left
alt + shift + e : komorebic move down
alt + shift + u : komorebic move up
alt + shift + i : komorebic move right
alt + shift + return : komorebic promote
Resize
alt + oem_plus : komorebic resize-axis horizontal increase
alt + oem_minus : komorebic resize-axis horizontal decrease
alt + shift + oem_plus : komorebic resize-axis vertical increase
alt + shift + oem_minus : komorebic resize-axis vertical decrease
Window manager options
alt + shift + r : komorebic retile
alt + p : komorebic toggle-pause
Layouts
alt + x : komorebic flip-layout horizontal
alt + y : komorebic flip-layout vertical
alt + w : komorebic cycle-workspace previous
alt + m : komorebic cycle-move-to-workspace previous
Workspaces
alt + 1 : komorebic focus-workspace 0
alt + 2 : komorebic focus-workspace 1
Move windows across workspaces
alt + shift + 1 : komorebic move-to-workspace 0
alt + shift + 2 : komorebic move-to-workspace 1
Output of komorebic check
komorebic check
No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\tyler.gregorcyk
Looking for configuration files in C:\Users\tyler.gregorcyk
Found komorebi.json; this file can be passed to the start command with the --config flag
Error: data did not match any variant of untagged enum MatchingRule at line 24 column 3
Location:
komorebic\src\main.rs:1667:25
@TyGrze commented on GitHub (Feb 4, 2025):
I switched to using this newer application.json file instead of whatever old yaml one I was using before to solve this issue for now.
https://github.com/LGUG2Z/komorebi-application-specific-configuration/blob/master/applications.json
But still not sure why setting "matching_strategy": "Equals" in "ignore_rules": [ was failing
@LGUG2Z commented on GitHub (Feb 4, 2025):
Not a bug, but a typo :)
I think you meant to specify that the
kindis anExe- there are a fixed list of identifier kinds - Exe, Class, Title and PathSchema ref is here: https://komorebi.lgug2z.com/schema#ignore_rules_items_anyOf_i0_kind
@TyGrze commented on GitHub (Feb 4, 2025):
Of course i was looking at the wrong line 🤦♂️