Originally created by @ahan-dev on GitHub (Nov 13, 2024).
Summary
Komorebi will crash (whether running through komorebic or komorebi) if it cannot find the applications.json file and "app_specific_configuration_path" is set in komorebi.json. The expected behaviour for this type of scenario (for me at least) would be for it to default to {} if applications.json is missing, and maybe log an error, instead of crashing the wm on startup. If this is intended behaviour, it would be good for it to be documented well (I couldn't find it on the readme or wiki)
Version Information
OS Name: Microsoft Windows 11 Pro
OS Version: 10.0.22631 N/A Build 22631
No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users<username>
Looking for configuration files in C:\Users<username>
Found komorebi.json; this file can be passed to the start command with the --config flag
Application specific configuration file path has not been set. Try running 'komorebic fetch-asc'
No ~/.config/whkdrc found; you may not be able to control komorebi with your keyboard
Originally created by @ahan-dev on GitHub (Nov 13, 2024).
### Summary
Komorebi will crash (whether running through `komorebic` or `komorebi`) if it cannot find the applications.json file and `"app_specific_configuration_path"` is set in `komorebi.json`. The expected behaviour for this type of scenario (for me at least) would be for it to default to `{}` if applications.json is missing, and maybe log an error, instead of crashing the wm on startup. If this is intended behaviour, it would be good for it to be documented well (I couldn't find it on the readme or wiki)
### Version Information
OS Name: Microsoft Windows 11 Pro
OS Version: 10.0.22631 N/A Build 22631
### Komorebi Configuration
```json
-- komorebi.json --
{
"$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.30/schema.json",
"app_specific_configuration_path": "$Env:USERPROFILE/applications.json",
"window_hiding_behaviour": "Cloak",
"cross_monitor_move_behaviour": "Insert",
"default_workspace_padding": 1,
"default_container_padding": 1,
"border": true,
"border_width": 1,
"border_offset": 0,
"theme": {
"palette": "Base16",
"name": "Ashes",
"unfocused_border": "Base03",
"bar_accent": "Base0D"
},
"stackbar": {
"height": 20,
"mode": "OnStack",
"tabs": {
"width": 200
}
}
}
```
### Hotkey Configuration
-- komorebi.ahk --
#Requires AutoHotkey v2.0.2
#SingleInstance Force
Komorebic(cmd) {
RunWait(format("komorebic.exe {}", cmd), , "Hide")
}
#+q::Komorebic("close")
#m::Komorebic("minimize")
; Focus windows
#h::Komorebic("focus left")
#j::Komorebic("focus down")
#k::Komorebic("focus up")
#l::Komorebic("focus right")
#+[::Komorebic("cycle-focus previous")
#+]::Komorebic("cycle-focus next")
; Move windows
#+h::Komorebic("move left")
#+j::Komorebic("move down")
#+k::Komorebic("move up")
#+l::Komorebic("move right")
; Stack windows
#Left::Komorebic("stack left")
#Down::Komorebic("stack down")
#Up::Komorebic("stack up")
#Right::Komorebic("stack right")
#;::Komorebic("unstack")
#[::Komorebic("cycle-stack previous")
#]::Komorebic("cycle-stack next")
; Resize
#=::Komorebic("resize-axis horizontal increase")
#-::Komorebic("resize-axis horizontal decrease")
#+=::Komorebic("resize-axis vertical increase")
#+_::Komorebic("resize-axis vertical decrease")
; Manipulate windows
#+Space::Komorebic("toggle-float")
#Space::
#f::
{
Komorebic("toggle-maximize")
}
; Window manager options
#+r::Komorebic("retile")
#p::Komorebic("toggle-pause")
; Create windows
#Enter::Run "wt"
#c::Run "chrome"
#e::Run "devenv"
#d::!Space
; Layouts
#x::Komorebic("flip-layout horizontal")
#y::Komorebic("flip-layout vertical")
; Workspaces
#1::Komorebic("focus-workspace 0")
#2::Komorebic("focus-workspace 1")
#3::Komorebic("focus-workspace 2")
#4::Komorebic("focus-workspace 3")
#5::Komorebic("focus-workspace 4")
#6::Komorebic("focus-workspace 5")
#7::Komorebic("focus-workspace 6")
#8::Komorebic("focus-workspace 7")
; Move windows across workspaces
#+1::Komorebic("move-to-workspace 0")
#+2::Komorebic("move-to-workspace 1")
#+3::Komorebic("move-to-workspace 2")
#+4::Komorebic("move-to-workspace 3")
#+5::Komorebic("move-to-workspace 4")
#+6::Komorebic("move-to-workspace 5")
#+7::Komorebic("move-to-workspace 6")
#+8::Komorebic("move-to-workspace 7")
### Output of komorebic check
No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\<username>
Looking for configuration files in C:\Users\<username>
Found komorebi.json; this file can be passed to the start command with the --config flag
Application specific configuration file path has not been set. Try running 'komorebic fetch-asc'
No ~/.config/whkdrc found; you may not be able to control komorebi with your keyboard
adam
added the bug label 2026-01-05 14:51:15 +01:00
I'm ultimately going to close this as a "won't fix", but I'll explain my rationale for future visitors.
The only time that a new user will not have a file for this field populated correctly is because they didn't follow the quickstart docs, and if they didn't follow the docs, this will be the least of their problems
If a path is provided, and a file at that path does not exist, and that file is required for the correct execution and running of the application, then the correct behaviour (imo) is "fail at startup and return an error to the user"
In the context of this specific application, running komorebi without this very long list of rules will result in an experience bad enough that I personally would consider "broken"
I will however add a blurb on the documentation website about what this field is, why it is important, and why komorebi will crash on startup if the file the config points to does not exist.
@LGUG2Z commented on GitHub (Nov 13, 2024):
I'm ultimately going to close this as a "won't fix", but I'll explain my rationale for future visitors.
* The only time that a new user will not have a file for this field populated correctly is because they didn't follow the quickstart docs, and if they didn't follow the docs, this will be the least of their problems
* If a path is provided, and a file at that path does not exist, _and_ that file is required for the correct execution and running of the application, then the correct behaviour (imo) is "fail at startup and return an error to the user"
* In the context of this specific application, running `komorebi` without this very long list of rules will result in an experience bad enough that I personally would consider "broken"
I will however add a blurb on the documentation website about what this field is, why it is important, and why komorebi will crash on startup if the file the config points to does not exist.
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 @ahan-dev on GitHub (Nov 13, 2024).
Summary
Komorebi will crash (whether running through
komorebicorkomorebi) if it cannot find the applications.json file and"app_specific_configuration_path"is set inkomorebi.json. The expected behaviour for this type of scenario (for me at least) would be for it to default to{}if applications.json is missing, and maybe log an error, instead of crashing the wm on startup. If this is intended behaviour, it would be good for it to be documented well (I couldn't find it on the readme or wiki)Version Information
OS Name: Microsoft Windows 11 Pro
OS Version: 10.0.22631 N/A Build 22631
Komorebi Configuration
Hotkey Configuration
-- komorebi.ahk --
#Requires AutoHotkey v2.0.2
#SingleInstance Force
Komorebic(cmd) {
RunWait(format("komorebic.exe {}", cmd), , "Hide")
}
#+q::Komorebic("close")
#m::Komorebic("minimize")
; Focus windows
#h::Komorebic("focus left")
#j::Komorebic("focus down")
#k::Komorebic("focus up")
#l::Komorebic("focus right")
#+[::Komorebic("cycle-focus previous")
#+]::Komorebic("cycle-focus next")
; Move windows
#+h::Komorebic("move left")
#+j::Komorebic("move down")
#+k::Komorebic("move up")
#+l::Komorebic("move right")
; Stack windows
#Left::Komorebic("stack left")
#Down::Komorebic("stack down")
#Up::Komorebic("stack up")
#Right::Komorebic("stack right")
#;::Komorebic("unstack")
#[::Komorebic("cycle-stack previous")
#]::Komorebic("cycle-stack next")
; Resize
#=::Komorebic("resize-axis horizontal increase")
#-::Komorebic("resize-axis horizontal decrease")
#+=::Komorebic("resize-axis vertical increase")
#+_::Komorebic("resize-axis vertical decrease")
; Manipulate windows
#+Space::Komorebic("toggle-float")
#Space::
#f::
{
Komorebic("toggle-maximize")
}
; Window manager options
#+r::Komorebic("retile")
#p::Komorebic("toggle-pause")
; Create windows
#Enter::Run "wt"
#c::Run "chrome"
#e::Run "devenv"
#d::!Space
; Layouts
#x::Komorebic("flip-layout horizontal")
#y::Komorebic("flip-layout vertical")
; Workspaces
#1::Komorebic("focus-workspace 0")
#2::Komorebic("focus-workspace 1")
#3::Komorebic("focus-workspace 2")
#4::Komorebic("focus-workspace 3")
#5::Komorebic("focus-workspace 4")
#6::Komorebic("focus-workspace 5")
#7::Komorebic("focus-workspace 6")
#8::Komorebic("focus-workspace 7")
; Move windows across workspaces
#+1::Komorebic("move-to-workspace 0")
#+2::Komorebic("move-to-workspace 1")
#+3::Komorebic("move-to-workspace 2")
#+4::Komorebic("move-to-workspace 3")
#+5::Komorebic("move-to-workspace 4")
#+6::Komorebic("move-to-workspace 5")
#+7::Komorebic("move-to-workspace 6")
#+8::Komorebic("move-to-workspace 7")
Output of komorebic check
No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users<username>
Looking for configuration files in C:\Users<username>
Found komorebi.json; this file can be passed to the start command with the --config flag
Application specific configuration file path has not been set. Try running 'komorebic fetch-asc'
No ~/.config/whkdrc found; you may not be able to control komorebi with your keyboard
@LGUG2Z commented on GitHub (Nov 13, 2024):
I'm ultimately going to close this as a "won't fix", but I'll explain my rationale for future visitors.
komorebiwithout this very long list of rules will result in an experience bad enough that I personally would consider "broken"I will however add a blurb on the documentation website about what this field is, why it is important, and why komorebi will crash on startup if the file the config points to does not exist.
@ahan-dev commented on GitHub (Nov 13, 2024):
That makes sense, thanks for the explanation 👍