Get started
Komorebi is a window tiling manager for Windows.
- Install it with
choco install komorebi
. - Create a
komorebi.ahk
file with your desired keybindings (see section below). - Make sure to set
AutoHotkey.exe
as the default program to open.ahk
files. - Hit
Win + R
and typeshell:startup
to open theStartup
folder. - Create a shortcut of your
.ahk
file in theStartup
folder to run it on startup. - Add
$Env:KOMOREBI_CONFIG_HOME
as a global system environment variable, setting it to a directory of your choice e.g.C:\Users\{user}\.config\Komorebi
. This is where yourkomorebi.json
andapplications.yaml
must be stored. - Create a
komorebi.json
file with your desired configuration (see section below). Make sure to set theapp_specific_configuration_path
to the path of yourapplications.yaml
file, if required (see next step). - If it wasn’t installed by default, get the
applications.yaml
file from https://github.com/LGUG2Z/komorebi-application-specific-configuration.
Example AHK keybindings
#Requires AutoHotkey v2.0.2
#SingleInstance Force
Run("komorebic-no-console.exe start")
Komorebic(cmd) {
RunWait(format("komorebic.exe {}", cmd), , "Hide")
}
; General
#+e::Run "komorebic stop"
;#+q::Komorebic("close") ; only use it if you don't already have a global hotkey
^#+F5::Komorebic("retile")
; Focus windows
#Left::Komorebic("focus left")
#Down::Komorebic("focus down")
#Up::Komorebic("focus up")
#Right::Komorebic("focus right")
; Move windows
#+Left::Komorebic("move left")
#+Down::Komorebic("move down")
#+Up::Komorebic("move up")
#+Right::Komorebic("move right")
; Stack windows
^#+Left::Komorebic("stack left")
^#+Down::Komorebic("stack down")
^#+Up::Komorebic("stack up")
^#+Right::Komorebic("stack right")
#;::Komorebic("unstack")
#PgDn::Komorebic("cycle-stack previous")
#PgUp::Komorebic("cycle-stack next")
; Resize
!#Left::Komorebic("resize-axis horizontal increase")
!#Right::Komorebic("resize-axis horizontal decrease")
!#Up::Komorebic("resize-axis vertical increase")
!#Down::Komorebic("resize-axis vertical decrease")
; Manipulate windows
#q::Komorebic("toggle-float")
#F11::Komorebic("toggle-monocle")
; 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")
; 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")
Example Komorebi config
{
"$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.25/schema.json",
"app_specific_configuration_path": "$Env:KOMOREBI_CONFIG_HOME/applications.yaml",
"window_hiding_behaviour": "Cloak",
"cross_monitor_move_behaviour": "Insert",
"default_workspace_padding": 10,
"default_container_padding": 10,
"transparency": true,
"border": true,
"border_style": "System",
"border_width": 5,
"border_offset": -1,
"border_colours": {
"single": "#88c0d0",
"stack": "#a3be8c",
"monocle": "#b48ead",
"unfocused": "#434c5e"
},
"animation": {
"enabled": true,
"duration": 100,
"easing": "EaseInQuad"
},
"stackbar": {
"height": 30,
"mode": "OnStack",
"label": "Title",
"tabs": {
"width": 300,
"focused_text": "#88c0d0",
"unfocused_text": "#434c5e",
"background": "#2e3440"
}
},
"display_index_preferences": {
"0": "BNQ78D6-5&928a9a5&0&UID41219",
"1": "GBT3200-5&928a9a5&0&UID41221"
},
"monitors": [
{
"workspaces": [
{
"name": "I",
"layout": "Rows"
},
{
"name": "II",
"layout": "Rows"
}
]
},
{
"workspaces": [
{
"name": "I",
"layout": "VerticalStack"
},
{
"name": "II",
"layout": "VerticalStack"
},
{
"name": "III",
"layout": "VerticalStack"
}
]
}
],
"float_rules": [
{
"kind": "Exe",
"id": "qemu-system-x86_64.exe",
"matching_strategy": "Equals"
},
{
"kind": "Title",
"id": "Commit",
"matching_strategy": "StartsWith"
},
{
"kind": "Exe",
"id": "ShareX.exe",
"matching_strategy": "Equals"
}
]
}