Skip to content

Instantly share code, notes, and snippets.

@partrita
Last active May 23, 2024 13:59
Show Gist options
  • Save partrita/60dcb08e03f7aa863a9a0b02b3455ae4 to your computer and use it in GitHub Desktop.
Save partrita/60dcb08e03f7aa863a9a0b02b3455ae4 to your computer and use it in GitHub Desktop.
Getting started komorebi(a tiling window manager that works as an extension to Microsoft's Desktop Window Manager in Windows)

documents = https://lgug2z.github.io/komorebi/installation.html

Install komorebi and whkd

Install the komorebi and whkd packages using winget install

winget install LGUG2Z.komorebi
winget install LGUG2Z.whkd

Once komorebi is installed, proceed to get the example configurations.

Downloading example configurations

Run the following command to download example configuration files for komorebi and whkd. Pay attention to the output of the command to see where the example files have been downloaded. For most new users this will be in the $Env:USERPROFILE directory.

> komorebic quickstart
Example ~/komorebi.json, ~/.config/whkdrc and latest ~/applications.yaml files downloaded

With the example configurations downloaded, you can now start komorebi and `whkd.

> komorebic start --whkd
Start-Process 'komorebi.exe' -WindowStyle hidden
Waiting for komorebi.exe to start...Started!

if (!(Get-Process whkd -ErrorAction SilentlyContinue))
{
  Start-Process whkd -WindowStyle hidden
}


Thank you for using komorebi!

* Become a sponsor https://github.com/sponsors/LGUG2Z - Even $1/month makes a big difference
* Subscribe to https://youtube.com/@LGUG2Z - Live dev videos and feature previews
* Join the Discord https://discord.gg/mGkn66PHkx - Chat, ask questions, share your desktops
{
"$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.25/schema.json",
"app_specific_configuration_path": "$Env:USERPROFILE/applications.yaml",
"window_hiding_behaviour": "Cloak",
"cross_monitor_move_behaviour": "Insert",
"default_workspace_padding": 10,
"default_container_padding": 10,
"border_width": 8,
"border_offset": -1,
"active_window_border": true,
"mouse_follows_focus": true,
"active_window_border_colours": {
"single": "#42a5f5",
"stack": "#00a542",
"monocle": "#ff3399"
},
"stackbar": {
"height": 40,
"mode": "Never",
"tabs": {
"width": 300,
"focused_text": "#00a542",
"unfocused_text": "#b3b3b3",
"background": "#141414"
}
},
"monitors": [
{
"workspaces": [
{
"name": "I",
"layout": "BSP"
},
{
"name": "II",
"layout": "VerticalStack"
},
{
"name": "III",
"layout": "HorizontalStack"
},
{
"name": "IV",
"layout": "UltrawideVerticalStack"
},
{
"name": "V",
"layout": "Rows"
},
{
"name": "VI",
"layout": "Grid"
},
{
"name": "VII",
"layout": "RightMainVerticalStack"
}
]
}
]
}
# located in the $Env:USERPROFILE/.config/ directory.
.shell powershell
# Reload whkd configuration
# alt + o : taskkill /f /im whkd.exe && start /b whkd # if shell is cmd
alt + o : taskkill /f /im whkd.exe; 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 + b : if ($wshell.AppActivate('Chrome') -eq $False) { start chrome }
alt + q : komorebic close
alt + m : komorebic minimize
# Focus windows
alt + h : komorebic focus left
alt + j : komorebic focus down
alt + k : komorebic focus up
alt + l : 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 + h : komorebic move left
alt + shift + j : komorebic move down
alt + shift + k : komorebic move up
alt + shift + l : komorebic move right
alt + shift + return : komorebic promote
# Stack windows
alt + left : komorebic stack left
alt + down : komorebic stack down
alt + up : komorebic stack up
alt + right : komorebic stack right
alt + oem_1 : komorebic unstack # oem_1 is ;
alt + oem_4 : komorebic cycle-stack previous # oem_4 is [
alt + oem_6 : komorebic cycle-stack next # oem_6 is ]
# 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
# Manipulate windows
alt + t : komorebic toggle-float
alt + shift + f : komorebic toggle-monocle
# 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
# Workspaces
alt + 1 : komorebic focus-workspace 0
alt + 2 : komorebic focus-workspace 1
alt + 3 : komorebic focus-workspace 2
alt + 4 : komorebic focus-workspace 3
alt + 5 : komorebic focus-workspace 4
alt + 6 : komorebic focus-workspace 5
alt + 7 : komorebic focus-workspace 6
alt + 8 : komorebic focus-workspace 7
# Move windows across workspaces
alt + shift + 1 : komorebic move-to-workspace 0
alt + shift + 2 : komorebic move-to-workspace 1
alt + shift + 3 : komorebic move-to-workspace 2
alt + shift + 4 : komorebic move-to-workspace 3
alt + shift + 5 : komorebic move-to-workspace 4
alt + shift + 6 : komorebic move-to-workspace 5
alt + shift + 7 : komorebic move-to-workspace 6
alt + shift + 8 : komorebic move-to-workspace 7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment