mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-05-11 13:19:49 +02:00
1 line
70 KiB
JSON
1 line
70 KiB
JSON
{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"index.html","title":"Index","text":"<p><code>komorebi</code> is a tiling window manager that works as an extension to Microsoft's Desktop Window Manager in Windows 10 and above.</p> <p><code>komorebi</code> allows you to control application windows, virtual workspaces and display monitors with a CLI which can be used with third-party software such as AutoHotKey to set user-defined keyboard shortcuts.</p> <p><code>komorebi</code> aims to make as few modifications as possible to the operating system and desktop environment by default. Users are free to make such modifications in their own configuration files for <code>komorebi</code>, but these will always remain opt-in and off-by-default.</p> <p>There is a Discord server available for <code>komorebi</code>-related discussion, help, troubleshooting etc. If you have any specific feature requests or bugs to report, please create an issue on GitHub.</p> <p>There is also a YouTube channel where I share <code>komorebi</code> live programming videos and tutorial videos.</p>"},{"location":"design.html","title":"Design","text":""},{"location":"design.html#description","title":"Description","text":"<p>komorebi only responds to WinEvents and the messages it receives on a dedicated socket.</p> <p>komorebic is a CLI that writes messages on komorebi's socket.</p> <p>komorebi doesn't handle any keyboard or mouse inputs; a third party program (e.g. whkd) is needed in order to translate keyboard and mouse events to komorebic commands.</p> <p>This architecture, popularised by bspwm on Linux and yabai on macOS, is outlined as follows:</p> <pre><code> PROCESS SOCKET\nwhkd/ahk --------> komorebic <------> komorebi\n</code></pre>"},{"location":"design.html#data-model","title":"Data Model","text":"<p>komorebi holds a list of physical monitors.</p> <p>A monitor is just a rectangle of the available work area which contains one or more virtual workspaces.</p> <p>A workspace holds a list of containers.</p> <p>A container is just a rectangle where one or more application windows can be displayed.</p> <p>This means that:</p> <ul> <li>Every monitor has its own collection of virtual workspaces</li> <li>Workspaces only know about containers and their dimensions, not about individual application windows</li> <li>Every application window must belong to a container, even if that container only contains one application window</li> <li>Many application windows can be stacked and cycled through in the same container within a workspace</li> </ul>"},{"location":"example-configurations.html","title":"Example configurations","text":"<p><code>komorebi</code>, and tiling window managers in general, are very complex pieces of software.</p> <p>In an attempt to reduce some of the initial configuration burden for users who are looking to try out the software for the first time, example configurations are provided and updated whenever appropriate.</p>"},{"location":"example-configurations.html#downloading-example-configurations","title":"Downloading example configurations","text":"<p>Run the following command to download example configuration files for <code>komorebi</code> and <code>whkd</code>. 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 <code>$Env:USERPROFILE</code> directory.</p> <pre><code>komorebic quickstart\n</code></pre>"},{"location":"example-configurations.html#komorebijson","title":"komorebi.json","text":"<p>The example window manager configuration sets some sane defaults and provides five preconfigured workspaces on the primary monitor each with a different layout.</p> <pre><code>{\n \"$schema\": \"https://raw.githubusercontent.com/LGUG2Z/komorebi/master/schema.json\",\n \"app_specific_configuration_path\": \"$Env:USERPROFILE/applications.yaml\",\n \"window_hiding_behaviour\": \"Cloak\",\n \"cross_monitor_move_behaviour\": \"Insert\",\n \"alt_focus_hack\": true,\n \"default_workspace_padding\": 20,\n \"default_container_padding\": 20,\n \"active_window_border\": false,\n \"active_window_border_colours\": {\n \"single\": { \"r\": 66, \"g\": 165, \"b\": 245 },\n \"stack\": { \"r\": 256, \"g\": 165, \"b\": 66 },\n \"monocle\": { \"r\": 255, \"g\": 51, \"b\": 153 }\n },\n \"monitors\": [\n {\n \"workspaces\": [\n { \"name\": \"I\", \"layout\": \"BSP\" },\n { \"name\": \"II\", \"layout\": \"VerticalStack\" },\n { \"name\": \"III\", \"layout\": \"HorizontalStack\" },\n { \"name\": \"IV\", \"layout\": \"UltrawideVerticalStack\" },\n { \"name\": \"V\", \"layout\": \"Rows\" }\n ]\n }\n ]\n}\n</code></pre>"},{"location":"example-configurations.html#application-specific-configuration","title":"Application-specific configuration","text":"<p>There is a community-maintained repository of \"apps behaving badly\" that do not conform to Windows application development guidelines and behave erratically when used with <code>komorebi</code> without additional configuration.</p> <p>You can always download the latest version of these configurations by running <code>komorebic fetch-asc</code>. The output of this command will also provide a line that you can paste into <code>komorebi.json</code> to ensure that the window manager looks for the file in the correction location.</p> <p>When installing and running <code>komorebi</code> for the first time, the <code>komorebic quickstart</code> command will usually download this file to the <code>$Env:USERPROFILE</code> directory.</p>"},{"location":"example-configurations.html#padding","title":"Padding","text":"<p>While you can set the workspace padding (the space between the outer edges of the windows and the bezel of your monitor) and the container padding (the space between each of the tiled windows) for each workspace independently, you can also set a default for both of these values that will apply to all workspaces using <code>default_workspace_padding</code> and <code>default_container_padding</code>.</p>"},{"location":"example-configurations.html#active-window-border","title":"Active window border","text":"<p>You may have seen videos and screenshots of people using <code>komorebi</code> with a thick, colourful active window border. You can also enable this by setting <code>active_window_border</code> to <code>true</code>. However, please be warned that this feature is a crude hack trying to compensate for the insistence of Microsoft Windows design teams to make custom borders with widths that are actually visible to the user a thing of the past and removing this capability from the Win32 API.</p> <p>I know it's buggy, and I know that most of the it sucks, but this is something you should be bring up with the billion dollar company and not with me, the solo developer.</p>"},{"location":"example-configurations.html#border-colours","title":"Border colours","text":"<p>If you choose to use the active window border, you can set different colours to give you visual queues when you are focused on a single window, a stack of windows, or a window that is in monocole mode.</p> <p>The example colours given are blue single, green for stack and pink for monocle.</p>"},{"location":"example-configurations.html#layouts","title":"Layouts","text":""},{"location":"example-configurations.html#bsp","title":"BSP","text":"<pre><code>+-------+-----+\n| | |\n| +--+--+\n| | |--|\n+-------+--+--+\n</code></pre>"},{"location":"example-configurations.html#vertical-stack","title":"Vertical Stack","text":"<pre><code>+-------+-----+\n| | |\n| +-----+\n| | |\n+-------+-----+\n</code></pre>"},{"location":"example-configurations.html#horizontal-stack","title":"Horizontal Stack","text":"<pre><code>+------+------+\n| |\n|------+------+\n| | |\n+------+------+\n</code></pre>"},{"location":"example-configurations.html#columns","title":"Columns","text":"<pre><code>+--+--+--+--+\n| | | | |\n| | | | |\n| | | | |\n+--+--+--+--+\n</code></pre>"},{"location":"example-configurations.html#rows","title":"Rows","text":"<p>If you have a vertical monitor, I recommend using this layout.</p> <pre><code>+-----------+\n|-----------|\n|-----------|\n|-----------|\n+-----------+\n</code></pre>"},{"location":"example-configurations.html#ultrawide-vertical-stack","title":"Ultrawide Vertical Stack","text":"<p>If you have an ultrawide monitor, I recommend using this layout.</p> <pre><code>+-----+-----------+-----+\n| | | |\n| | +-----+\n| | | |\n| | +-----+\n| | | |\n+-----+-----------+-----+\n</code></pre>"},{"location":"example-configurations.html#whkdrc","title":"whkdrc","text":"<p><code>whkd</code> is a fairly basic piece of software with a simple configuration format: key bindings go to the left of the, and shell commands go to the right of the colon.</p> <p>Please remember that <code>whkd</code> does not support overriding Microsoft's limitations on hotkey bindings that include the <code>Windows</code> key. If this is important to you, I recommend using AutoHotKey to set up your key bindings for <code>komorebic</code> commands instead.</p> <pre><code>.shell powershell\n\n# Reload whkd configuration\n# alt + o : taskkill /f /im whkd.exe && start /b whkd # if shell is cmd\nalt + o : taskkill /f /im whkd.exe && Start-Process whkd -WindowStyle hidden # if shell is pwsh / powershell\nalt + shift + o : komorebic reload-configuration\n\n# App shortcuts - these require shell to be pwsh / powershell\n# The apps will be focused if open, or launched if not open\n# alt + f : if ($wshell.AppActivate('Firefox') -eq $False) { start firefox }\n# alt + b : if ($wshell.AppActivate('Chrome') -eq $False) { start chrome }\n\n# Focus windows\nalt + h : komorebic focus left\nalt + j : komorebic focus down\nalt + k : komorebic focus up\nalt + l : komorebic focus right\nalt + shift + oem_4 : komorebic cycle-focus previous # oem_4 is [\nalt + shift + oem_6 : komorebic cycle-focus next # oem_6 is ]\n\n# Move windows\nalt + shift + h : komorebic move left\nalt + shift + j : komorebic move down\nalt + shift + k : komorebic move up\nalt + shift + l : komorebic move right\nalt + shift + return : komorebic promote\n\n# Stack windows\nalt + left : komorebic stack left\nalt + down : komorebic stack down\nalt + up : komorebic stack up\nalt + right : komorebic stack right\nalt + oem_1 : komorebic unstack # oem_1 is ;\nalt + oem_4 : komorebic cycle-stack previous # oem_4 is [\nalt + oem_6 : komorebic cycle-stack next # oem_6 is ]\n\n# Resize\nalt + oem_plus : komorebic resize-axis horizontal increase\nalt + oem_minus : komorebic resize-axis horizontal decrease\nalt + shift + oem_plus : komorebic resize-axis vertical increase\nalt + shift + oem_minus : komorebic resize-axis vertical decrease\n\n# Manipulate windows\nalt + t : komorebic toggle-float\nalt + shift + f : komorebic toggle-monocle\n\n# Window manager options\nalt + shift + r : komorebic retile\nalt + p : komorebic toggle-pause\n\n# Layouts\nalt + x : komorebic flip-layout horizontal\nalt + y : komorebic flip-layout vertical\n\n# Workspaces\nalt + 1 : komorebic focus-workspace 0\nalt + 2 : komorebic focus-workspace 1\nalt + 3 : komorebic focus-workspace 2\n\n# Move windows across workspaces\nalt + shift + 1 : komorebic move-to-workspace 0\nalt + shift + 2 : komorebic move-to-workspace 1\nalt + shift + 3 : komorebic move-to-workspace 2\n</code></pre>"},{"location":"example-configurations.html#setting-shell","title":"Setting .shell","text":"<p>There is one special directive at the top of the file, <code>.shell</code> which can be set to either <code>powershell</code>, <code>pwsh</code> or <code>cmd</code>. Which one you use will depend on which shell you use in your terminal.</p> <ul> <li> <p><code>powershell</code> - set this if you are using the version of PowerShell that comes installed with Windows 10+ (the executable file for this is <code>powershell.exe</code>)</p> </li> <li> <p><code>pwsh</code> - set this if you are using PowerShell 7+, which you have installed yourself either through the Windows Store or WinGet (the executable file for this is <code>pwsh.exe</code>)</p> </li> <li> <p><code>cmd</code> - set this if you don't want to use PowerShell at all and instead you want to call commands through the shell used by the old-school Command Prompt (the executable file for this is <code>cmd.exe</code>)</p> </li> </ul>"},{"location":"example-configurations.html#key-codes","title":"Key codes","text":"<p>Key codes for alphanumeric and arrow keys are just what you would expect. For punctuation and other keys, please refer to the Virtual Key Codes reference.</p> <p>If you want to use one of those key codes, put them into lower case and remove the <code>VK_</code> prefix. For example, the keycode <code>VK_OEM_PLUS</code> becomes <code>oem_plus</code> in the sample configuration above.</p>"},{"location":"installation.html","title":"Getting started","text":"<p><code>komorebi</code> is a tiling window manager for Windows that is comprised comprised of two main binaries, <code>komorebi.exe</code>, which contains the window manager itself, and <code>komorebic.exe</code>, which is the main way to send commands to the tiling window manager.</p> <p>It is important to note that neither <code>komorebi.exe</code> or <code>komorebic.exe</code> handle key bindings, because <code>komorebi</code> is a tiling window manager and not a hotkey daemon.</p> <p>This getting started guide suggests the installation of <code>whkd</code> to allow you to bind <code>komorebic.exe</code> commands to hotkeys to allow you to communicate with the tiling window manager using keyboard shortcuts.</p> <p>However, <code>whkd</code> is a very simple hotkey daemon, and notably, does not include workarounds for Microsoft's restrictions on hotkey combinations that can use the <code>Windows</code> key.</p> <p>If using hotkey combinations with the <code>Windows</code> key is important to you, I suggest that once you are familiar with the main <code>komorebic.exe</code> commands used to manipulate the window manager, you use AutoHotKey to handle your key bindings.</p>"},{"location":"installation.html#installation","title":"Installation","text":"<p><code>komorebi</code> is available pre-built to install via Scoop and WinGet, and you may also built it from source if you would prefer.</p> <ul> <li>Scoop</li> <li>WinGet</li> <li>Building from source</li> </ul>"},{"location":"installation.html#long-path-support","title":"Long path support","text":"<p>It highly recommended that you enable support for long paths in Windows by running the following command in an Administrator Terminal before installing <code>komorebi</code>.</p> <pre><code>Set-ItemProperty 'HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem' -Name 'LongPathsEnabled' -Value 1\n</code></pre>"},{"location":"installation.html#scoop","title":"Scoop","text":"<p>Make sure you have installed <code>scoop</code> and verified that installed binaries are available in your <code>$PATH</code> before proceeding.</p> <p>Issues with <code>komorebi</code> and related commands not being recognized in the terminal ultimately come down to the <code>$PATH</code> environment variable not being correctly configured by your package manager and should not be raised as bugs or issues either on the <code>komorebi</code> GitHub repository or Discord server.</p>"},{"location":"installation.html#install-komorebi-and-whkd","title":"Install komorebi and whkd","text":"<p>First add the extras bucket</p> <pre><code>scoop bucket add extras\n</code></pre> <p>Then install the <code>komorebi</code> and <code>whkd</code> packages using <code>scoop install</code></p> <pre><code>scoop install komorebi whkd\n</code></pre> <p>Once komorebi is installed, proceed to get the example configurations.</p>"},{"location":"installation.html#winget","title":"WinGet","text":"<p>Make sure you have installed the latest version of <code>winget</code> and verified that installed binaries are available in your <code>$PATH</code> before proceeding.</p> <p>Issues with <code>komorebi</code> and related commands not being recognized in the terminal ultimately come down to the <code>$PATH</code> environment variable not being correctly configured by your package manager and should not be raised as bugs or issues either on the <code>komorebi</code> GitHub repository or Discord server.</p>"},{"location":"installation.html#install-komorebi-and-whkd_1","title":"Install komorebi and whkd","text":"<p>Install the <code>komorebi</code> and <code>whkd</code> packages using <code>winget install</code></p> <pre><code>winget install LGUG2Z.komorebi\nwinget install LGUG2Z.whkd\n</code></pre> <p>Once komorebi is installed, proceed to get the example configurations.</p>"},{"location":"installation.html#building-from-source","title":"Building from source","text":"<p>Make sure you have installed <code>rustup</code>, a stable <code>rust</code> compiler toolchain, and the Visual Studio Visual Studio prerequisites.</p> <p>Clone the git repository, enter the directory, and build the following binaries:</p> <pre><code>cargo +stable install --path komorebi --locked\ncargo +stable install --path komorebic --locked\ncargo +stable install --path komorebic-no-console --locked\n</code></pre> <p>If the binaries have been built and added to your <code>$PATH</code> correctly, you should see some output when running <code>komorebi --help</code> and <code>komorebic --help</code></p>"},{"location":"cli/active-window-border-colour.html","title":"active-window-border-colour","text":"<pre><code>Set the colour for the active window border\n\nUsage: komorebic.exe active-window-border-colour [OPTIONS] <R> <G> <B>\n\nArguments:\n <R>\n Red\n\n <G>\n Green\n\n <B>\n Blue\n\nOptions:\n -w, --window-kind <WINDOW_KIND>\n [default: single]\n [possible values: single, stack, monocle]\n\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/active-window-border-offset.html","title":"active-window-border-offset","text":"<pre><code>Set the offset for the active window border\n\nUsage: komorebic.exe active-window-border-offset <OFFSET>\n\nArguments:\n <OFFSET>\n Desired offset of the active window border\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/active-window-border-width.html","title":"active-window-border-width","text":"<pre><code>Set the width for the active window border\n\nUsage: komorebic.exe active-window-border-width <WIDTH>\n\nArguments:\n <WIDTH>\n Desired width of the active window border\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/active-window-border.html","title":"active-window-border","text":"<pre><code>Enable or disable the active window border\n\nUsage: komorebic.exe active-window-border <BOOLEAN_STATE>\n\nArguments:\n <BOOLEAN_STATE>\n [possible values: enable, disable]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/adjust-container-padding.html","title":"adjust-container-padding","text":"<pre><code>Adjust container padding on the focused workspace\n\nUsage: komorebic.exe adjust-container-padding <SIZING> <ADJUSTMENT>\n\nArguments:\n <SIZING>\n [possible values: increase, decrease]\n\n <ADJUSTMENT>\n Pixels to adjust by as an integer\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/adjust-workspace-padding.html","title":"adjust-workspace-padding","text":"<pre><code>Adjust workspace padding on the focused workspace\n\nUsage: komorebic.exe adjust-workspace-padding <SIZING> <ADJUSTMENT>\n\nArguments:\n <SIZING>\n [possible values: increase, decrease]\n\n <ADJUSTMENT>\n Pixels to adjust by as an integer\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/ahk-app-specific-configuration.html","title":"ahk-app-specific-configuration","text":"<pre><code>Generate common app-specific configurations and fixes to use in komorebi.ahk\n\nUsage: komorebic.exe ahk-app-specific-configuration <PATH> [OVERRIDE_PATH]\n\nArguments:\n <PATH>\n YAML file from which the application-specific configurations should be loaded\n\n [OVERRIDE_PATH]\n Optional YAML file of overrides to apply over the first file\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/ahk-library.html","title":"ahk-library","text":"<pre><code>Generate a library of AutoHotKey helper functions\n\nUsage: komorebic.exe ahk-library\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/alt-focus-hack.html","title":"alt-focus-hack","text":"<pre><code>Enable or disable a hack simulating ALT key presses to ensure focus changes succeed\n\nUsage: komorebic.exe alt-focus-hack <BOOLEAN_STATE>\n\nArguments:\n <BOOLEAN_STATE>\n [possible values: enable, disable]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/application-specific-configuration-schema.html","title":"application-specific-configuration-schema","text":"<pre><code>Generate a JSON Schema for applications.yaml\n\nUsage: komorebic.exe application-specific-configuration-schema\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/change-layout.html","title":"change-layout","text":"<pre><code>Set the layout on the focused workspace\n\nUsage: komorebic.exe change-layout <DEFAULT_LAYOUT>\n\nArguments:\n <DEFAULT_LAYOUT>\n [possible values: bsp, columns, rows, vertical-stack, horizontal-stack, ultrawide-vertical-stack]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/check.html","title":"check","text":"<pre><code>Output various important komorebi-related environment values\n\nUsage: komorebic.exe check\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/clear-named-workspace-layout-rules.html","title":"clear-named-workspace-layout-rules","text":"<pre><code>Clear all dynamic layout rules for the specified workspace\n\nUsage: komorebic.exe clear-named-workspace-layout-rules <WORKSPACE>\n\nArguments:\n <WORKSPACE>\n Target workspace name\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/clear-workspace-layout-rules.html","title":"clear-workspace-layout-rules","text":"<pre><code>Clear all dynamic layout rules for the specified workspace\n\nUsage: komorebic.exe clear-workspace-layout-rules <MONITOR> <WORKSPACE>\n\nArguments:\n <MONITOR>\n Monitor index (zero-indexed)\n\n <WORKSPACE>\n Workspace index on the specified monitor (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/close.html","title":"close","text":"<pre><code>Close the focused window\n\nUsage: komorebic.exe close\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/complete-configuration.html","title":"complete-configuration","text":"<pre><code>Signal that the final configuration option has been sent\n\nUsage: komorebic.exe complete-configuration\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/container-padding.html","title":"container-padding","text":"<pre><code>Set the container padding for the specified workspace\n\nUsage: komorebic.exe container-padding <MONITOR> <WORKSPACE> <SIZE>\n\nArguments:\n <MONITOR>\n Monitor index (zero-indexed)\n\n <WORKSPACE>\n Workspace index on the specified monitor (zero-indexed)\n\n <SIZE>\n Pixels to pad with as an integer\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/cross-monitor-move-behaviour.html","title":"cross-monitor-move-behaviour","text":"<pre><code>Set the behaviour when moving windows across monitor boundaries\n\nUsage: komorebic.exe cross-monitor-move-behaviour <MOVE_BEHAVIOUR>\n\nArguments:\n <MOVE_BEHAVIOUR>\n Possible values:\n - swap: Swap the window container with the window container at the edge of the adjacent monitor\n - insert: Insert the window container into the focused workspace on the adjacent monitor\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\n</code></pre>"},{"location":"cli/cycle-focus.html","title":"cycle-focus","text":"<pre><code>Change focus to the window in the specified cycle direction\n\nUsage: komorebic.exe cycle-focus <CYCLE_DIRECTION>\n\nArguments:\n <CYCLE_DIRECTION>\n [possible values: previous, next]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/cycle-layout.html","title":"cycle-layout","text":"<pre><code>Cycle between available layouts\n\nUsage: komorebic.exe cycle-layout <CYCLE_DIRECTION>\n\nArguments:\n <CYCLE_DIRECTION>\n [possible values: previous, next]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/cycle-monitor.html","title":"cycle-monitor","text":"<pre><code>Focus the monitor in the given cycle direction\n\nUsage: komorebic.exe cycle-monitor <CYCLE_DIRECTION>\n\nArguments:\n <CYCLE_DIRECTION>\n [possible values: previous, next]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/cycle-move-to-monitor.html","title":"cycle-move-to-monitor","text":"<pre><code>Move the focused window to the monitor in the given cycle direction\n\nUsage: komorebic.exe cycle-move-to-monitor <CYCLE_DIRECTION>\n\nArguments:\n <CYCLE_DIRECTION>\n [possible values: previous, next]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/cycle-move-to-workspace.html","title":"cycle-move-to-workspace","text":"<pre><code>Move the focused window to the workspace in the given cycle direction\n\nUsage: komorebic.exe cycle-move-to-workspace <CYCLE_DIRECTION>\n\nArguments:\n <CYCLE_DIRECTION>\n [possible values: previous, next]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/cycle-move.html","title":"cycle-move","text":"<pre><code>Move the focused window in the specified cycle direction\n\nUsage: komorebic.exe cycle-move <CYCLE_DIRECTION>\n\nArguments:\n <CYCLE_DIRECTION>\n [possible values: previous, next]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/cycle-send-to-monitor.html","title":"cycle-send-to-monitor","text":"<pre><code>Send the focused window to the monitor in the given cycle direction\n\nUsage: komorebic.exe cycle-send-to-monitor <CYCLE_DIRECTION>\n\nArguments:\n <CYCLE_DIRECTION>\n [possible values: previous, next]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/cycle-send-to-workspace.html","title":"cycle-send-to-workspace","text":"<pre><code>Send the focused window to the workspace in the given cycle direction\n\nUsage: komorebic.exe cycle-send-to-workspace <CYCLE_DIRECTION>\n\nArguments:\n <CYCLE_DIRECTION>\n [possible values: previous, next]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/cycle-stack.html","title":"cycle-stack","text":"<pre><code>Cycle the focused stack in the specified cycle direction\n\nUsage: komorebic.exe cycle-stack <CYCLE_DIRECTION>\n\nArguments:\n <CYCLE_DIRECTION>\n [possible values: previous, next]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/cycle-workspace.html","title":"cycle-workspace","text":"<pre><code>Focus the workspace in the given cycle direction\n\nUsage: komorebic.exe cycle-workspace <CYCLE_DIRECTION>\n\nArguments:\n <CYCLE_DIRECTION>\n [possible values: previous, next]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/disable-autostart.html","title":"disable-autostart","text":"<pre><code>Deletes the komorebi.lnk shortcut in shell:startup to disable autostart\n\nUsage: komorebic.exe disable-autostart\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/display-index-preference.html","title":"display-index-preference","text":"<pre><code>Set the display index preference for a monitor identified using its display name\n\nUsage: komorebic.exe display-index-preference <INDEX_PREFERENCE> <DISPLAY>\n\nArguments:\n <INDEX_PREFERENCE>\n Preferred monitor index (zero-indexed)\n\n <DISPLAY>\n Display name as identified in komorebic state\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/docgen.html","title":"docgen","text":"<pre><code>Usage: komorebic.exe docgen\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/enable-autostart.html","title":"enable-autostart","text":"<pre><code>Generates the komorebi.lnk shortcut in shell:startup to autostart komorebi\n\nUsage: komorebic.exe enable-autostart [OPTIONS]\n\nOptions:\n -c, --config <CONFIG>\n Path to a static configuration JSON file\n\n -f, --ffm\n Enable komorebi's custom focus-follows-mouse implementation\n\n --whkd\n Enable autostart of whkd\n\n --ahk\n Enable autostart of ahk\n\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/ensure-named-workspaces.html","title":"ensure-named-workspaces","text":"<pre><code>Create these many named workspaces for the specified monitor\n\nUsage: komorebic.exe ensure-named-workspaces <MONITOR> [NAMES]...\n\nArguments:\n <MONITOR>\n Monitor index (zero-indexed)\n\n [NAMES]...\n Names of desired workspaces\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/ensure-workspaces.html","title":"ensure-workspaces","text":"<pre><code>Create at least this many workspaces for the specified monitor\n\nUsage: komorebic.exe ensure-workspaces <MONITOR> <WORKSPACE_COUNT>\n\nArguments:\n <MONITOR>\n Monitor index (zero-indexed)\n\n <WORKSPACE_COUNT>\n Number of desired workspaces\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/fetch-app-specific-configuration.html","title":"fetch-app-specific-configuration","text":"<pre><code>Fetch the latest version of applications.yaml from komorebi-application-specific-configuration\n\nUsage: komorebic.exe fetch-app-specific-configuration\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/flip-layout.html","title":"flip-layout","text":"<pre><code>Flip the layout on the focused workspace (BSP only)\n\nUsage: komorebic.exe flip-layout <AXIS>\n\nArguments:\n <AXIS>\n [possible values: horizontal, vertical, horizontal-and-vertical]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/float-rule.html","title":"float-rule","text":"<pre><code>Add a rule to always float the specified application\n\nUsage: komorebic.exe float-rule <IDENTIFIER> <ID>\n\nArguments:\n <IDENTIFIER>\n [possible values: exe, class, title]\n\n <ID>\n Identifier as a string\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/focus-follows-mouse.html","title":"focus-follows-mouse","text":"<pre><code>Enable or disable focus follows mouse for the operating system\n\nUsage: komorebic.exe focus-follows-mouse [OPTIONS] <BOOLEAN_STATE>\n\nArguments:\n <BOOLEAN_STATE>\n [possible values: enable, disable]\n\nOptions:\n -i, --implementation <IMPLEMENTATION>\n [default: windows]\n\n Possible values:\n - komorebi: A custom FFM implementation (slightly more CPU-intensive)\n - windows: The native (legacy) Windows FFM implementation\n\n -h, --help\n Print help (see a summary with '-h')\n\n</code></pre>"},{"location":"cli/focus-last-workspace.html","title":"focus-last-workspace","text":"<pre><code>Focus the last focused workspace on the focused monitor\n\nUsage: komorebic.exe focus-last-workspace\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/focus-monitor-workspace.html","title":"focus-monitor-workspace","text":"<pre><code>Focus the specified workspace on the target monitor\n\nUsage: komorebic.exe focus-monitor-workspace <TARGET_MONITOR> <TARGET_WORKSPACE>\n\nArguments:\n <TARGET_MONITOR>\n Target monitor index (zero-indexed)\n\n <TARGET_WORKSPACE>\n Workspace index on the target monitor (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/focus-monitor.html","title":"focus-monitor","text":"<pre><code>Focus the specified monitor\n\nUsage: komorebic.exe focus-monitor <TARGET>\n\nArguments:\n <TARGET>\n Target index (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/focus-named-workspace.html","title":"focus-named-workspace","text":"<pre><code>Focus the specified workspace\n\nUsage: komorebic.exe focus-named-workspace <WORKSPACE>\n\nArguments:\n <WORKSPACE>\n Target workspace name\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/focus-workspace.html","title":"focus-workspace","text":"<pre><code>Focus the specified workspace on the focused monitor\n\nUsage: komorebic.exe focus-workspace <TARGET>\n\nArguments:\n <TARGET>\n Target index (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/focus-workspaces.html","title":"focus-workspaces","text":"<pre><code>Focus the specified workspace on all monitors\n\nUsage: komorebic.exe focus-workspaces <TARGET>\n\nArguments:\n <TARGET>\n Target index (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/focus.html","title":"focus","text":"<pre><code>Change focus to the window in the specified direction\n\nUsage: komorebic.exe focus <OPERATION_DIRECTION>\n\nArguments:\n <OPERATION_DIRECTION>\n [possible values: left, right, up, down]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/focused-workspace-container-padding.html","title":"focused-workspace-container-padding","text":"<pre><code>Set container padding on the focused workspace\n\nUsage: komorebic.exe focused-workspace-container-padding <SIZE>\n\nArguments:\n <SIZE>\n Pixels size to set as an integer\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/focused-workspace-padding.html","title":"focused-workspace-padding","text":"<pre><code>Set workspace padding on the focused workspace\n\nUsage: komorebic.exe focused-workspace-padding <SIZE>\n\nArguments:\n <SIZE>\n Pixels size to set as an integer\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/force-focus.html","title":"force-focus","text":"<pre><code>Forcibly focus the window at the cursor with a left mouse click\n\nUsage: komorebic.exe force-focus\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/format-app-specific-configuration.html","title":"format-app-specific-configuration","text":"<pre><code>Format a YAML file for use with the 'ahk-app-specific-configuration' command\n\nUsage: komorebic.exe format-app-specific-configuration <PATH>\n\nArguments:\n <PATH>\n YAML file from which the application-specific configurations should be loaded\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/generate-static-config.html","title":"generate-static-config","text":"<pre><code>Generates a static configuration JSON file based on the current window manager state\n\nUsage: komorebic.exe generate-static-config\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/global-work-area-offset.html","title":"global-work-area-offset","text":"<pre><code>Set offsets to exclude parts of the work area from tiling\n\nUsage: komorebic.exe global-work-area-offset <LEFT> <TOP> <RIGHT> <BOTTOM>\n\nArguments:\n <LEFT>\n Size of the left work area offset (set right to left * 2 to maintain right padding)\n\n <TOP>\n Size of the top work area offset (set bottom to the same value to maintain bottom padding)\n\n <RIGHT>\n Size of the right work area offset\n\n <BOTTOM>\n Size of the bottom work area offset\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/identify-border-overflow-application.html","title":"identify-border-overflow-application","text":"<pre><code>Identify an application that has overflowing borders\n\nUsage: komorebic.exe identify-border-overflow-application <IDENTIFIER> <ID>\n\nArguments:\n <IDENTIFIER>\n [possible values: exe, class, title]\n\n <ID>\n Identifier as a string\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/identify-layered-application.html","title":"identify-layered-application","text":"<pre><code>Identify an application that has WS_EX_LAYERED, but should still be managed\n\nUsage: komorebic.exe identify-layered-application <IDENTIFIER> <ID>\n\nArguments:\n <IDENTIFIER>\n [possible values: exe, class, title]\n\n <ID>\n Identifier as a string\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/identify-object-name-change-application.html","title":"identify-object-name-change-application","text":"<pre><code>Identify an application that sends EVENT_OBJECT_NAMECHANGE on launch\n\nUsage: komorebic.exe identify-object-name-change-application <IDENTIFIER> <ID>\n\nArguments:\n <IDENTIFIER>\n [possible values: exe, class, title]\n\n <ID>\n Identifier as a string\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/identify-tray-application.html","title":"identify-tray-application","text":"<pre><code>Identify an application that closes to the system tray\n\nUsage: komorebic.exe identify-tray-application <IDENTIFIER> <ID>\n\nArguments:\n <IDENTIFIER>\n [possible values: exe, class, title]\n\n <ID>\n Identifier as a string\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/initial-named-workspace-rule.html","title":"initial-named-workspace-rule","text":"<pre><code>Add a rule to associate an application with a named workspace on first show\n\nUsage: komorebic.exe initial-named-workspace-rule <IDENTIFIER> <ID> <WORKSPACE>\n\nArguments:\n <IDENTIFIER>\n [possible values: exe, class, title]\n\n <ID>\n Identifier as a string\n\n <WORKSPACE>\n Name of a workspace\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/initial-workspace-rule.html","title":"initial-workspace-rule","text":"<pre><code>Add a rule to associate an application with a workspace on first show\n\nUsage: komorebic.exe initial-workspace-rule <IDENTIFIER> <ID> <MONITOR> <WORKSPACE>\n\nArguments:\n <IDENTIFIER>\n [possible values: exe, class, title]\n\n <ID>\n Identifier as a string\n\n <MONITOR>\n Monitor index (zero-indexed)\n\n <WORKSPACE>\n Workspace index on the specified monitor (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/invisible-borders.html","title":"invisible-borders","text":"<pre><code>Set the invisible border dimensions around each window\n\nUsage: komorebic.exe invisible-borders <LEFT> <TOP> <RIGHT> <BOTTOM>\n\nArguments:\n <LEFT>\n Size of the left invisible border\n\n <TOP>\n Size of the top invisible border (usually 0)\n\n <RIGHT>\n Size of the right invisible border (usually left * 2)\n\n <BOTTOM>\n Size of the bottom invisible border (usually the same as left)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/load-custom-layout.html","title":"load-custom-layout","text":"<pre><code>Load a custom layout from file for the focused workspace\n\nUsage: komorebic.exe load-custom-layout <PATH>\n\nArguments:\n <PATH>\n JSON or YAML file from which the custom layout definition should be loaded\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/load-resize.html","title":"load-resize","text":"<pre><code>Load the resize layout dimensions from a file\n\nUsage: komorebic.exe load-resize <PATH>\n\nArguments:\n <PATH>\n File from which the resize layout dimensions should be loaded\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/log.html","title":"log","text":"<pre><code>Tail komorebi.exe's process logs (cancel with Ctrl-C)\n\nUsage: komorebic.exe log\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/manage-rule.html","title":"manage-rule","text":"<pre><code>Add a rule to always manage the specified application\n\nUsage: komorebic.exe manage-rule <IDENTIFIER> <ID>\n\nArguments:\n <IDENTIFIER>\n [possible values: exe, class, title]\n\n <ID>\n Identifier as a string\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/manage.html","title":"manage","text":"<pre><code>Force komorebi to manage the focused window\n\nUsage: komorebic.exe manage\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/minimize.html","title":"minimize","text":"<pre><code>Minimize the focused window\n\nUsage: komorebic.exe minimize\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/monitor-index-preference.html","title":"monitor-index-preference","text":"<pre><code>Set the monitor index preference for a monitor identified using its size\n\nUsage: komorebic.exe monitor-index-preference <INDEX_PREFERENCE> <LEFT> <TOP> <RIGHT> <BOTTOM>\n\nArguments:\n <INDEX_PREFERENCE>\n Preferred monitor index (zero-indexed)\n\n <LEFT>\n Left value of the monitor's size Rect\n\n <TOP>\n Top value of the monitor's size Rect\n\n <RIGHT>\n Right value of the monitor's size Rect\n\n <BOTTOM>\n Bottom value of the monitor's size Rect\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/monitor-work-area-offset.html","title":"monitor-work-area-offset","text":"<pre><code>Set offsets for a monitor to exclude parts of the work area from tiling\n\nUsage: komorebic.exe monitor-work-area-offset <MONITOR> <LEFT> <TOP> <RIGHT> <BOTTOM>\n\nArguments:\n <MONITOR>\n Monitor index (zero-indexed)\n\n <LEFT>\n Size of the left work area offset (set right to left * 2 to maintain right padding)\n\n <TOP>\n Size of the top work area offset (set bottom to the same value to maintain bottom padding)\n\n <RIGHT>\n Size of the right work area offset\n\n <BOTTOM>\n Size of the bottom work area offset\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/mouse-follows-focus.html","title":"mouse-follows-focus","text":"<pre><code>Enable or disable mouse follows focus on all workspaces\n\nUsage: komorebic.exe mouse-follows-focus <BOOLEAN_STATE>\n\nArguments:\n <BOOLEAN_STATE>\n [possible values: enable, disable]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/move-to-monitor.html","title":"move-to-monitor","text":"<pre><code>Move the focused window to the specified monitor\n\nUsage: komorebic.exe move-to-monitor <TARGET>\n\nArguments:\n <TARGET>\n Target index (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/move-to-named-workspace.html","title":"move-to-named-workspace","text":"<pre><code>Move the focused window to the specified workspace\n\nUsage: komorebic.exe move-to-named-workspace <WORKSPACE>\n\nArguments:\n <WORKSPACE>\n Target workspace name\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/move-to-workspace.html","title":"move-to-workspace","text":"<pre><code>Move the focused window to the specified workspace\n\nUsage: komorebic.exe move-to-workspace <TARGET>\n\nArguments:\n <TARGET>\n Target index (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/move-workspace-to-monitor.html","title":"move-workspace-to-monitor","text":"<pre><code>Move the focused workspace to the specified monitor\n\nUsage: komorebic.exe move-workspace-to-monitor <TARGET>\n\nArguments:\n <TARGET>\n Target index (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/move.html","title":"move","text":"<pre><code>Move the focused window in the specified direction\n\nUsage: komorebic.exe move <OPERATION_DIRECTION>\n\nArguments:\n <OPERATION_DIRECTION>\n [possible values: left, right, up, down]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/named-workspace-container-padding.html","title":"named-workspace-container-padding","text":"<pre><code>Set the container padding for the specified workspace\n\nUsage: komorebic.exe named-workspace-container-padding <WORKSPACE> <SIZE>\n\nArguments:\n <WORKSPACE>\n Target workspace name\n\n <SIZE>\n Pixels to pad with as an integer\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/named-workspace-custom-layout-rule.html","title":"named-workspace-custom-layout-rule","text":"<pre><code>Add a dynamic custom layout for the specified workspace\n\nUsage: komorebic.exe named-workspace-custom-layout-rule <WORKSPACE> <AT_CONTAINER_COUNT> <PATH>\n\nArguments:\n <WORKSPACE>\n Target workspace name\n\n <AT_CONTAINER_COUNT>\n The number of window containers on-screen required to trigger this layout rule\n\n <PATH>\n JSON or YAML file from which the custom layout definition should be loaded\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/named-workspace-custom-layout.html","title":"named-workspace-custom-layout","text":"<pre><code>Set a custom layout for the specified workspace\n\nUsage: komorebic.exe named-workspace-custom-layout <WORKSPACE> <PATH>\n\nArguments:\n <WORKSPACE>\n Target workspace name\n\n <PATH>\n JSON or YAML file from which the custom layout definition should be loaded\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/named-workspace-layout-rule.html","title":"named-workspace-layout-rule","text":"<pre><code>Add a dynamic layout rule for the specified workspace\n\nUsage: komorebic.exe named-workspace-layout-rule <WORKSPACE> <AT_CONTAINER_COUNT> <LAYOUT>\n\nArguments:\n <WORKSPACE>\n Target workspace name\n\n <AT_CONTAINER_COUNT>\n The number of window containers on-screen required to trigger this layout rule\n\n <LAYOUT>\n [possible values: bsp, columns, rows, vertical-stack, horizontal-stack, ultrawide-vertical-stack]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/named-workspace-layout.html","title":"named-workspace-layout","text":"<pre><code>Set the layout for the specified workspace\n\nUsage: komorebic.exe named-workspace-layout <WORKSPACE> <VALUE>\n\nArguments:\n <WORKSPACE>\n Target workspace name\n\n <VALUE>\n [possible values: bsp, columns, rows, vertical-stack, horizontal-stack, ultrawide-vertical-stack]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/named-workspace-padding.html","title":"named-workspace-padding","text":"<pre><code>Set the workspace padding for the specified workspace\n\nUsage: komorebic.exe named-workspace-padding <WORKSPACE> <SIZE>\n\nArguments:\n <WORKSPACE>\n Target workspace name\n\n <SIZE>\n Pixels to pad with as an integer\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/named-workspace-rule.html","title":"named-workspace-rule","text":"<pre><code>Add a rule to associate an application with a named workspace\n\nUsage: komorebic.exe named-workspace-rule <IDENTIFIER> <ID> <WORKSPACE>\n\nArguments:\n <IDENTIFIER>\n [possible values: exe, class, title]\n\n <ID>\n Identifier as a string\n\n <WORKSPACE>\n Name of a workspace\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/named-workspace-tiling.html","title":"named-workspace-tiling","text":"<pre><code>Enable or disable window tiling for the specified workspace\n\nUsage: komorebic.exe named-workspace-tiling <WORKSPACE> <VALUE>\n\nArguments:\n <WORKSPACE>\n Target workspace name\n\n <VALUE>\n [possible values: enable, disable]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/new-workspace.html","title":"new-workspace","text":"<pre><code>Create and append a new workspace on the focused monitor\n\nUsage: komorebic.exe new-workspace\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/notification-schema.html","title":"notification-schema","text":"<pre><code>Generate a JSON Schema of subscription notifications\n\nUsage: komorebic.exe notification-schema\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/promote-focus.html","title":"promote-focus","text":"<pre><code>Promote the user focus to the top of the tree\n\nUsage: komorebic.exe promote-focus\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/promote.html","title":"promote","text":"<pre><code>Promote the focused window to the top of the tree\n\nUsage: komorebic.exe promote\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/pwsh-app-specific-configuration.html","title":"pwsh-app-specific-configuration","text":"<pre><code>Generate common app-specific configurations and fixes in a PowerShell script\n\nUsage: komorebic.exe pwsh-app-specific-configuration <PATH> [OVERRIDE_PATH]\n\nArguments:\n <PATH>\n YAML file from which the application-specific configurations should be loaded\n\n [OVERRIDE_PATH]\n Optional YAML file of overrides to apply over the first file\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/query.html","title":"query","text":"<pre><code>Query the current window manager state\n\nUsage: komorebic.exe query <STATE_QUERY>\n\nArguments:\n <STATE_QUERY>\n [possible values: focused-monitor-index, focused-workspace-index, focused-container-index, focused-window-index]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/quick-load-resize.html","title":"quick-load-resize","text":"<pre><code>Load the last quicksaved resize layout dimensions\n\nUsage: komorebic.exe quick-load-resize\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/quick-save-resize.html","title":"quick-save-resize","text":"<pre><code>Quicksave the current resize layout dimensions\n\nUsage: komorebic.exe quick-save-resize\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/quickstart.html","title":"quickstart","text":"<pre><code>Gather example configurations for a new-user quickstart\n\nUsage: komorebic.exe quickstart\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/reload-configuration.html","title":"reload-configuration","text":"<pre><code>Reload ~/komorebi.ahk (if it exists)\n\nUsage: komorebic.exe reload-configuration\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/remove-title-bar.html","title":"remove-title-bar","text":"<pre><code>Whitelist an application for title bar removal\n\nUsage: komorebic.exe remove-title-bar <IDENTIFIER> <ID>\n\nArguments:\n <IDENTIFIER>\n [possible values: exe, class, title]\n\n <ID>\n Identifier as a string\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/resize-axis.html","title":"resize-axis","text":"<pre><code>Resize the focused window or primary column along the specified axis\n\nUsage: komorebic.exe resize-axis <AXIS> <SIZING>\n\nArguments:\n <AXIS>\n [possible values: horizontal, vertical, horizontal-and-vertical]\n\n <SIZING>\n [possible values: increase, decrease]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/resize-delta.html","title":"resize-delta","text":"<pre><code>Set the resize delta (used by resize-edge and resize-axis)\n\nUsage: komorebic.exe resize-delta <PIXELS>\n\nArguments:\n <PIXELS>\n The delta of pixels by which to increase or decrease window dimensions when resizing\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/resize-edge.html","title":"resize-edge","text":"<pre><code>Resize the focused window in the specified direction\n\nUsage: komorebic.exe resize-edge <EDGE> <SIZING>\n\nArguments:\n <EDGE>\n [possible values: left, right, up, down]\n\n <SIZING>\n [possible values: increase, decrease]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/restore-windows.html","title":"restore-windows","text":"<pre><code>Restore all hidden windows (debugging command)\n\nUsage: komorebic.exe restore-windows\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/retile.html","title":"retile","text":"<pre><code>Force the retiling of all managed windows\n\nUsage: komorebic.exe retile\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/save-resize.html","title":"save-resize","text":"<pre><code>Save the current resize layout dimensions to a file\n\nUsage: komorebic.exe save-resize <PATH>\n\nArguments:\n <PATH>\n File to which the resize layout dimensions should be saved\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/send-to-monitor-workspace.html","title":"send-to-monitor-workspace","text":"<pre><code>Send the focused window to the specified monitor workspace\n\nUsage: komorebic.exe send-to-monitor-workspace <TARGET_MONITOR> <TARGET_WORKSPACE>\n\nArguments:\n <TARGET_MONITOR>\n Target monitor index (zero-indexed)\n\n <TARGET_WORKSPACE>\n Workspace index on the target monitor (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/send-to-monitor.html","title":"send-to-monitor","text":"<pre><code>Send the focused window to the specified monitor\n\nUsage: komorebic.exe send-to-monitor <TARGET>\n\nArguments:\n <TARGET>\n Target index (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/send-to-named-workspace.html","title":"send-to-named-workspace","text":"<pre><code>Send the focused window to the specified workspace\n\nUsage: komorebic.exe send-to-named-workspace <WORKSPACE>\n\nArguments:\n <WORKSPACE>\n Target workspace name\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/send-to-workspace.html","title":"send-to-workspace","text":"<pre><code>Send the focused window to the specified workspace\n\nUsage: komorebic.exe send-to-workspace <TARGET>\n\nArguments:\n <TARGET>\n Target index (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/socket-schema.html","title":"socket-schema","text":"<pre><code>Generate a JSON Schema of socket messages\n\nUsage: komorebic.exe socket-schema\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/stack.html","title":"stack","text":"<pre><code>Stack the focused window in the specified direction\n\nUsage: komorebic.exe stack <OPERATION_DIRECTION>\n\nArguments:\n <OPERATION_DIRECTION>\n [possible values: left, right, up, down]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/start.html","title":"start","text":"<pre><code>Start komorebi.exe as a background process\n\nUsage: komorebic.exe start [OPTIONS]\n\nOptions:\n -f, --ffm\n Allow the use of komorebi's custom focus-follows-mouse implementation\n\n -c, --config <CONFIG>\n Path to a static configuration JSON file\n\n -a, --await-configuration\n Wait for 'komorebic complete-configuration' to be sent before processing events\n\n -t, --tcp-port <TCP_PORT>\n Start a TCP server on the given port to allow the direct sending of SocketMessages\n\n --whkd\n Start whkd in a background process\n\n --ahk\n Start autohotkey configuration file\n\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/state.html","title":"state","text":"<pre><code>Show a JSON representation of the current window manager state\n\nUsage: komorebic.exe state\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/static-config-schema.html","title":"static-config-schema","text":"<pre><code>Generate a JSON Schema of the static configuration file\n\nUsage: komorebic.exe static-config-schema\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/stop.html","title":"stop","text":"<pre><code>Stop the komorebi.exe process and restore all hidden windows\n\nUsage: komorebic.exe stop [OPTIONS]\n\nOptions:\n --whkd\n Stop whkd if it is running as a background process\n\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/subscribe.html","title":"subscribe","text":"<pre><code>Subscribe to komorebi events\n\nUsage: komorebic.exe subscribe <NAMED_PIPE>\n\nArguments:\n <NAMED_PIPE>\n Name of the pipe to send event notifications to (without \"\\\\.\\pipe\\\" prepended)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/swap-workspaces-with-monitor.html","title":"swap-workspaces-with-monitor","text":"<pre><code>Swap focused monitor workspaces with specified monitor\n\nUsage: komorebic.exe swap-workspaces-with-monitor <TARGET>\n\nArguments:\n <TARGET>\n Target index (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/toggle-cross-monitor-move-behaviour.html","title":"toggle-cross-monitor-move-behaviour","text":"<pre><code>Toggle the behaviour when moving windows across monitor boundaries\n\nUsage: komorebic.exe toggle-cross-monitor-move-behaviour\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/toggle-float.html","title":"toggle-float","text":"<pre><code>Toggle floating mode for the focused window\n\nUsage: komorebic.exe toggle-float\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/toggle-focus-follows-mouse.html","title":"toggle-focus-follows-mouse","text":"<pre><code>Toggle focus follows mouse for the operating system\n\nUsage: komorebic.exe toggle-focus-follows-mouse [OPTIONS]\n\nOptions:\n -i, --implementation <IMPLEMENTATION>\n [default: windows]\n\n Possible values:\n - komorebi: A custom FFM implementation (slightly more CPU-intensive)\n - windows: The native (legacy) Windows FFM implementation\n\n -h, --help\n Print help (see a summary with '-h')\n\n</code></pre>"},{"location":"cli/toggle-maximize.html","title":"toggle-maximize","text":"<pre><code>Toggle native maximization for the focused window\n\nUsage: komorebic.exe toggle-maximize\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/toggle-monocle.html","title":"toggle-monocle","text":"<pre><code>Toggle monocle mode for the focused container\n\nUsage: komorebic.exe toggle-monocle\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/toggle-mouse-follows-focus.html","title":"toggle-mouse-follows-focus","text":"<pre><code>Toggle mouse follows focus on all workspaces\n\nUsage: komorebic.exe toggle-mouse-follows-focus\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/toggle-pause.html","title":"toggle-pause","text":"<pre><code>Toggle window tiling on the focused workspace\n\nUsage: komorebic.exe toggle-pause\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/toggle-tiling.html","title":"toggle-tiling","text":"<pre><code>Toggle window tiling on the focused workspace\n\nUsage: komorebic.exe toggle-tiling\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/toggle-title-bars.html","title":"toggle-title-bars","text":"<pre><code>Toggle title bars for whitelisted applications\n\nUsage: komorebic.exe toggle-title-bars\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/toggle-window-container-behaviour.html","title":"toggle-window-container-behaviour","text":"<pre><code>Toggle the behaviour for new windows (stacking or dynamic tiling)\n\nUsage: komorebic.exe toggle-window-container-behaviour\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/unmanage.html","title":"unmanage","text":"<pre><code>Unmanage a window that was forcibly managed\n\nUsage: komorebic.exe unmanage\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/unmanaged-window-operation-behaviour.html","title":"unmanaged-window-operation-behaviour","text":"<pre><code>Set the operation behaviour when the focused window is not managed\n\nUsage: komorebic.exe unmanaged-window-operation-behaviour <OPERATION_BEHAVIOUR>\n\nArguments:\n <OPERATION_BEHAVIOUR>\n Possible values:\n - op: Process komorebic commands on temporarily unmanaged/floated windows\n - no-op: Ignore komorebic commands on temporarily unmanaged/floated windows\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\n</code></pre>"},{"location":"cli/unstack.html","title":"unstack","text":"<pre><code>Unstack the focused window\n\nUsage: komorebic.exe unstack\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/unsubscribe.html","title":"unsubscribe","text":"<pre><code>Unsubscribe from komorebi events\n\nUsage: komorebic.exe unsubscribe <NAMED_PIPE>\n\nArguments:\n <NAMED_PIPE>\n Name of the pipe to stop sending event notifications to (without \"\\\\.\\pipe\\\" prepended)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/visible-windows.html","title":"visible-windows","text":"<pre><code>Show a JSON representation of visible windows\n\nUsage: komorebic.exe visible-windows\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/watch-configuration.html","title":"watch-configuration","text":"<pre><code>Enable or disable watching of ~/komorebi.ahk (if it exists)\n\nUsage: komorebic.exe watch-configuration <BOOLEAN_STATE>\n\nArguments:\n <BOOLEAN_STATE>\n [possible values: enable, disable]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/window-hiding-behaviour.html","title":"window-hiding-behaviour","text":"<pre><code>Set the window behaviour when switching workspaces / cycling stacks\n\nUsage: komorebic.exe window-hiding-behaviour <HIDING_BEHAVIOUR>\n\nArguments:\n <HIDING_BEHAVIOUR>\n Possible values:\n - hide: Use the SW_HIDE flag to hide windows when switching workspaces (has issues with Electron apps)\n - minimize: Use the SW_MINIMIZE flag to hide windows when switching workspaces (has issues with frequent workspace switching)\n - cloak: Use the undocumented SetCloak Win32 function to hide windows when switching workspaces (has foregrounding issues)\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\n</code></pre>"},{"location":"cli/workspace-custom-layout-rule.html","title":"workspace-custom-layout-rule","text":"<pre><code>Add a dynamic custom layout for the specified workspace\n\nUsage: komorebic.exe workspace-custom-layout-rule <MONITOR> <WORKSPACE> <AT_CONTAINER_COUNT> <PATH>\n\nArguments:\n <MONITOR>\n Monitor index (zero-indexed)\n\n <WORKSPACE>\n Workspace index on the specified monitor (zero-indexed)\n\n <AT_CONTAINER_COUNT>\n The number of window containers on-screen required to trigger this layout rule\n\n <PATH>\n JSON or YAML file from which the custom layout definition should be loaded\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/workspace-custom-layout.html","title":"workspace-custom-layout","text":"<pre><code>Set a custom layout for the specified workspace\n\nUsage: komorebic.exe workspace-custom-layout <MONITOR> <WORKSPACE> <PATH>\n\nArguments:\n <MONITOR>\n Monitor index (zero-indexed)\n\n <WORKSPACE>\n Workspace index on the specified monitor (zero-indexed)\n\n <PATH>\n JSON or YAML file from which the custom layout definition should be loaded\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/workspace-layout-rule.html","title":"workspace-layout-rule","text":"<pre><code>Add a dynamic layout rule for the specified workspace\n\nUsage: komorebic.exe workspace-layout-rule <MONITOR> <WORKSPACE> <AT_CONTAINER_COUNT> <LAYOUT>\n\nArguments:\n <MONITOR>\n Monitor index (zero-indexed)\n\n <WORKSPACE>\n Workspace index on the specified monitor (zero-indexed)\n\n <AT_CONTAINER_COUNT>\n The number of window containers on-screen required to trigger this layout rule\n\n <LAYOUT>\n [possible values: bsp, columns, rows, vertical-stack, horizontal-stack, ultrawide-vertical-stack]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/workspace-layout.html","title":"workspace-layout","text":"<pre><code>Set the layout for the specified workspace\n\nUsage: komorebic.exe workspace-layout <MONITOR> <WORKSPACE> <VALUE>\n\nArguments:\n <MONITOR>\n Monitor index (zero-indexed)\n\n <WORKSPACE>\n Workspace index on the specified monitor (zero-indexed)\n\n <VALUE>\n [possible values: bsp, columns, rows, vertical-stack, horizontal-stack, ultrawide-vertical-stack]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/workspace-name.html","title":"workspace-name","text":"<pre><code>Set the workspace name for the specified workspace\n\nUsage: komorebic.exe workspace-name <MONITOR> <WORKSPACE> <VALUE>\n\nArguments:\n <MONITOR>\n Monitor index (zero-indexed)\n\n <WORKSPACE>\n Workspace index on the specified monitor (zero-indexed)\n\n <VALUE>\n Name of the workspace as a String\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/workspace-padding.html","title":"workspace-padding","text":"<pre><code>Set the workspace padding for the specified workspace\n\nUsage: komorebic.exe workspace-padding <MONITOR> <WORKSPACE> <SIZE>\n\nArguments:\n <MONITOR>\n Monitor index (zero-indexed)\n\n <WORKSPACE>\n Workspace index on the specified monitor (zero-indexed)\n\n <SIZE>\n Pixels to pad with as an integer\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/workspace-rule.html","title":"workspace-rule","text":"<pre><code>Add a rule to associate an application with a workspace\n\nUsage: komorebic.exe workspace-rule <IDENTIFIER> <ID> <MONITOR> <WORKSPACE>\n\nArguments:\n <IDENTIFIER>\n [possible values: exe, class, title]\n\n <ID>\n Identifier as a string\n\n <MONITOR>\n Monitor index (zero-indexed)\n\n <WORKSPACE>\n Workspace index on the specified monitor (zero-indexed)\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"},{"location":"cli/workspace-tiling.html","title":"workspace-tiling","text":"<pre><code>Enable or disable window tiling for the specified workspace\n\nUsage: komorebic.exe workspace-tiling <MONITOR> <WORKSPACE> <VALUE>\n\nArguments:\n <MONITOR>\n Monitor index (zero-indexed)\n\n <WORKSPACE>\n Workspace index on the specified monitor (zero-indexed)\n\n <VALUE>\n [possible values: enable, disable]\n\nOptions:\n -h, --help\n Print help\n\n</code></pre>"}]} |