mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-04-24 09:38:32 +02:00
docs(readme): general update + quickstart w/ whkd
This commit is contained in:
379
README.md
379
README.md
@@ -26,6 +26,30 @@ Tiling Window Management for Windows.
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
- [About](#about)
|
||||||
|
- [Charitable Donations](#charitable-donations)
|
||||||
|
- [GitHub Sponsors](#github-sponsors)
|
||||||
|
- [Demonstrations](#demonstrations)
|
||||||
|
- [Description](#description)
|
||||||
|
- [Design](#design)
|
||||||
|
- [Getting Started](#getting-started)
|
||||||
|
- [Quickstart](#quickstart)
|
||||||
|
- [GitHub Releases](#github-releases)
|
||||||
|
- [Building from Source](#building-from-source)
|
||||||
|
- [Running](#running)
|
||||||
|
- [Configuring](#configuring)
|
||||||
|
- [Common First-Time Tips](#common-first-time-tips)
|
||||||
|
- [Development](#development)
|
||||||
|
- [Logs and Debugging](#logs-and-debugging)
|
||||||
|
- [Restoring Windows](#restoring-windows)
|
||||||
|
- [Panics and Deadlocks](#panics-and-deadlocks)
|
||||||
|
- [Window Manager State and Integrations](#window-manager-state-and-integrations)
|
||||||
|
- [Window Manager Event Subscriptions](#window-manager-event-subscriptions)
|
||||||
|
- [Subscription Event Notification Schema](#subscription-event-notification-schema)
|
||||||
|
- [Communication over TCP](#communication-over-tcp)
|
||||||
|
- [Socket Message Schema](#socket-message-schema)
|
||||||
|
- [Appreciations](#appreciations)
|
||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
_komorebi_ is a tiling window manager that works as an extension to
|
_komorebi_ is a tiling window manager that works as an extension to
|
||||||
@@ -36,6 +60,10 @@ _komorebi_ allows you to control application windows, virtual workspaces and dis
|
|||||||
used with third-party software such as [AutoHotKey](https://github.com/Lexikos/AutoHotkey_L) to set user-defined
|
used with third-party software such as [AutoHotKey](https://github.com/Lexikos/AutoHotkey_L) to set user-defined
|
||||||
keyboard shortcuts.
|
keyboard shortcuts.
|
||||||
|
|
||||||
|
_komorebi_ 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 _komorebi_, but these will remain
|
||||||
|
opt-in and off-by-default for the foreseeable future.
|
||||||
|
|
||||||
Translations of this document can be found in the project wiki:
|
Translations of this document can be found in the project wiki:
|
||||||
|
|
||||||
- [komorebi 中文用户指南](https://github.com/LGUG2Z/komorebi/wiki/README-zh) (by [@crosstyan](https://github.com/crosstyan))
|
- [komorebi 中文用户指南](https://github.com/LGUG2Z/komorebi/wiki/README-zh) (by [@crosstyan](https://github.com/crosstyan))
|
||||||
@@ -55,7 +83,16 @@ Articles, blog posts, demos, and videos about _komorebi_ can be added to this li
|
|||||||
- [Windows 下的现代化平铺窗口管理器 komorebi](https://zhuanlan.zhihu.com/p/455064481)
|
- [Windows 下的现代化平铺窗口管理器 komorebi](https://zhuanlan.zhihu.com/p/455064481)
|
||||||
- [komorebi を導入してみる](https://zenn.dev/omochice/articles/50f42a3df8f426)
|
- [komorebi を導入してみる](https://zenn.dev/omochice/articles/50f42a3df8f426)
|
||||||
|
|
||||||
## GitHub Sponsors Early Access
|
## Charitable Donations
|
||||||
|
|
||||||
|
_komorebi_ is a free and open-source project, and one that encourages you to make charitable donations if
|
||||||
|
you find the software to be useful and have the financial means.
|
||||||
|
|
||||||
|
I encourage you to make a charitable donation
|
||||||
|
to [Fresh Start Refugee](https://www.freshstartrefugee.org/donate) before
|
||||||
|
you consider sponsoring me on GitHub.
|
||||||
|
|
||||||
|
## GitHub Sponsors
|
||||||
|
|
||||||
[GitHub Sponsors is enabled for this project](https://github.com/sponsors/LGUG2Z). Users who sponsor my work
|
[GitHub Sponsors is enabled for this project](https://github.com/sponsors/LGUG2Z). Users who sponsor my work
|
||||||
on `komorebi` at any of the predefined monthly tiers will be given access to a private fork of this repository where I
|
on `komorebi` at any of the predefined monthly tiers will be given access to a private fork of this repository where I
|
||||||
@@ -67,15 +104,6 @@ available for free in the public repository once it meets the requisite level of
|
|||||||
Features-in-progress that are available in early access will be tagged in the issues with
|
Features-in-progress that are available in early access will be tagged in the issues with
|
||||||
an ["early access" label](https://github.com/LGUG2Z/komorebi/issues?q=is%3Aopen+is%3Aissue+label%3A%22early+access%22).
|
an ["early access" label](https://github.com/LGUG2Z/komorebi/issues?q=is%3Aopen+is%3Aissue+label%3A%22early+access%22).
|
||||||
|
|
||||||
## Charitable Donations
|
|
||||||
|
|
||||||
`komorebi`, like `vim`, is a free and open-source project, and one that encourages you to make charitable donations if
|
|
||||||
you find the software to be useful and have the financial means.
|
|
||||||
|
|
||||||
I encourage you to make a charitable donation
|
|
||||||
to [Fresh Start Refugee](https://www.freshstartrefugee.org/donate) before
|
|
||||||
you consider sponsoring me on GitHub.
|
|
||||||
|
|
||||||
## Demonstrations
|
## Demonstrations
|
||||||
|
|
||||||
[@haxibami](https://github.com/haxibami) showing _komorebi_ running on Windows
|
[@haxibami](https://github.com/haxibami) showing _komorebi_ running on Windows
|
||||||
@@ -100,27 +128,19 @@ messages it receives on a dedicated socket.
|
|||||||
|
|
||||||
_komorebic_ is a CLI that writes messages on _komorebi_'s socket.
|
_komorebic_ is a CLI that writes messages on _komorebi_'s socket.
|
||||||
|
|
||||||
_komorebi_ doesn't handle any keyboard or mouse inputs; a third party program (e.g. AutoHotKey) is needed in order to
|
_komorebi_ doesn't handle any keyboard or mouse inputs; a third party program (e.g.
|
||||||
translate keyboard and mouse events to _komorebic_ commands.
|
[whkd](https://github.com/LGUG2Z/whkd)) is needed in order to translate keyboard and mouse events to _komorebic_ commands.
|
||||||
|
|
||||||
This architecture, popularised by [_bspwm_](https://github.com/baskerville/bspwm) on Linux and
|
This architecture, popularised by [_bspwm_](https://github.com/baskerville/bspwm) on Linux and
|
||||||
[_yabai_](https://github.com/koekeishiya/yabai) on macOS, is outlined as follows:
|
[_yabai_](https://github.com/koekeishiya/yabai) on macOS, is outlined as follows:
|
||||||
|
|
||||||
```
|
```
|
||||||
PROCESS SOCKET
|
PROCESS SOCKET
|
||||||
ahk --------> komorebic <------> komorebi
|
whkd/ahk --------> komorebic <------> komorebi
|
||||||
```
|
```
|
||||||
|
|
||||||
## Design
|
## Design
|
||||||
|
|
||||||
_komorebi_ is the successor to [_yatta_](https://github.com/LGUG2Z/yatta) and as such aims to build on the learnings
|
|
||||||
from that project.
|
|
||||||
|
|
||||||
While _yatta_ was primary an attempt to learn how to work with and call Windows APIs from Rust, while secondarily
|
|
||||||
implementing a minimal viable tiling window manager for my own needs (largely single monitor, single workspace),
|
|
||||||
_komorebi_ has been redesigned from the ground-up to support more complex features that have become standard in tiling
|
|
||||||
window managers on other platforms.
|
|
||||||
|
|
||||||
_komorebi_ holds a list of physical monitors.
|
_komorebi_ holds a list of physical monitors.
|
||||||
|
|
||||||
A monitor is just a rectangle of the available work area which contains one or more virtual workspaces.
|
A monitor is just a rectangle of the available work area which contains one or more virtual workspaces.
|
||||||
@@ -138,43 +158,50 @@ This means that:
|
|||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
|
### Quickstart
|
||||||
|
|
||||||
|
Make sure that you have either the [Scoop Package Manager](https://scoop.sh) or WinGet installed, then run the following
|
||||||
|
commands at a PowerShell prompt.
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
# if using scoop
|
||||||
|
scoop bucket add extras
|
||||||
|
scoop install whkd
|
||||||
|
scoop install komorebi
|
||||||
|
|
||||||
|
# if using winget
|
||||||
|
winget install LGUG2Z.whkd
|
||||||
|
winget install LGUG2Z.komorebi
|
||||||
|
|
||||||
|
# save the latest generated app-specific config tweaks and fixes to ~/komorebi.generated.ps1
|
||||||
|
iwr https://raw.githubusercontent.com/LGUG2Z/komorebi/master/komorebi.generated.ps1 -OutFile $Env:USERPROFILE\komorebi.generated.ps1
|
||||||
|
|
||||||
|
# save the sample komorebi configuration file to ~/komorebi.ps1
|
||||||
|
iwr https://raw.githubusercontent.com/LGUG2Z/komorebi/master/komorebi.sample.ps1 -OutFile $Env:USERPROFILE\komorebi.ps1
|
||||||
|
|
||||||
|
# ensure the ~/.config folder exists
|
||||||
|
mkdir $Env:USERPROFILE\.config -ea 0
|
||||||
|
|
||||||
|
# save the sample whkdrc file with key bindings to ~/.config/whkdrc
|
||||||
|
iwr https://raw.githubusercontent.com/LGUG2Z/komorebi/master/whkdrc -OutFile $Env:USERPROFILE\whkdrc
|
||||||
|
|
||||||
|
# start komorebi
|
||||||
|
komorebic start --await-configuration
|
||||||
|
```
|
||||||
|
|
||||||
|
Thanks to [@sitiom](https://github.com/sitiom) for getting _komorebi_ added to both the popular Scoop Extras bucket and
|
||||||
|
to WinGet.
|
||||||
|
|
||||||
### GitHub Releases
|
### GitHub Releases
|
||||||
|
|
||||||
Prebuilt binaries are available on the [releases page](https://github.com/LGUG2Z/komorebi/releases) in a `zip` archive.
|
Prebuilt binaries are available on the [releases page](https://github.com/LGUG2Z/komorebi/releases) in a `zip` archive.
|
||||||
Once downloaded, you will need to move the `komorebi.exe` and `komorebic.exe` binaries to a directory in your `Path` (
|
Once downloaded, you will need to move the `komorebi.exe` and `komorebic.exe` binaries to a directory in your `Path` (
|
||||||
you can see these directories by running `$Env:Path.split(";")` at a PowerShell prompt).
|
you can see these directories by running `$Env:Path.split(";")` at a PowerShell prompt).
|
||||||
|
|
||||||
Alternatively, you may add a new directory to your `Path`
|
|
||||||
using [`setx`](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx) or the Environment
|
|
||||||
Variables pop up in System Properties Advanced (which can be launched with `SystemPropertiesAdvanced.exe` at a
|
|
||||||
PowerShell prompt), and then move the binaries to that directory.
|
|
||||||
|
|
||||||
### Winget
|
|
||||||
|
|
||||||
You can use the builtin package manager from Windows to install the latest komorebi release:
|
|
||||||
|
|
||||||
```powershell
|
|
||||||
winget install LGUG2Z.komorebi
|
|
||||||
```
|
|
||||||
|
|
||||||
### Scoop
|
|
||||||
|
|
||||||
If you use the [Scoop](https://scoop.sh/) command line installer, you can run the following commands to install the
|
|
||||||
binaries from the latest GitHub Release:
|
|
||||||
|
|
||||||
```powershell
|
|
||||||
scoop bucket add extras
|
|
||||||
scoop install komorebi
|
|
||||||
```
|
|
||||||
|
|
||||||
If you install _komorebi_ using Scoop, the binaries will automatically be added to your `Path`.
|
|
||||||
|
|
||||||
Thanks to [@sitiom](https://github.com/sitiom) for getting _komorebi_ added to the popular Scoop Extras bucket.
|
|
||||||
|
|
||||||
### Building from Source
|
### Building from Source
|
||||||
|
|
||||||
If you prefer to compile _komorebi_ from source, you will need
|
If you prefer to compile _komorebi_ from source, you will need
|
||||||
a [working Rust development environment on Windows 10](https://rustup.rs/). The `x86_64-pc-windows-msvc` toolchain is
|
a [working Rust development environment on Windows 10/11](https://rustup.rs/). The `x86_64-pc-windows-msvc` toolchain is
|
||||||
required, so make sure you have also installed
|
required, so make sure you have also installed
|
||||||
the [Build Tools for Visual Studio 2019](https://stackoverflow.com/a/55603112).
|
the [Build Tools for Visual Studio 2019](https://stackoverflow.com/a/55603112).
|
||||||
|
|
||||||
@@ -185,28 +212,13 @@ cargo install --path komorebi --locked
|
|||||||
cargo install --path komorebic --locked
|
cargo install --path komorebic --locked
|
||||||
```
|
```
|
||||||
|
|
||||||
### Using Example Configurations
|
|
||||||
|
|
||||||
To download example configurations from this repository, which will work regardless of your installation method, you may
|
|
||||||
run the following commands at a PowerShell prompt.
|
|
||||||
|
|
||||||
These commands will download the `komorebi.sample.ahk`, `komorebic.lib.ahk` and `komorebi.generated.ahk` files from the
|
|
||||||
master branch of this repository and save them to your `$HOME` directory.
|
|
||||||
|
|
||||||
```powershell
|
|
||||||
iwr https://raw.githubusercontent.com/LGUG2Z/komorebi/master/komorebi.sample.ahk -OutFile $Env:USERPROFILE\komorebi.ahk
|
|
||||||
iwr https://raw.githubusercontent.com/LGUG2Z/komorebi/master/komorebic.lib.ahk -OutFile $Env:USERPROFILE\komorebic.lib.ahk
|
|
||||||
iwr https://raw.githubusercontent.com/LGUG2Z/komorebi/master/komorebi.generated.ahk -OutFile $Env:USERPROFILE\komorebi.generated.ahk
|
|
||||||
```
|
|
||||||
|
|
||||||
### Running
|
### Running
|
||||||
|
|
||||||
Once you have either the prebuilt binaries in your `Path`, or have compiled the binaries from source (these will already
|
Run `komorebic start --await-configuration` at a Powershell prompt, and you will see the following output:
|
||||||
be in your `Path` if you installed Rust with [rustup](https://rustup.rs), which you absolutely should), you can
|
|
||||||
run `komorebic start --await-configuration` at a Powershell prompt, and you will see the following output:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
Start-Process komorebi -WindowStyle hidden
|
Start-Process komorebi.exe -ArgumentList '--await-configuration' -WindowStyle hidden
|
||||||
|
Waiting for komorebi.exe to start...Started!
|
||||||
```
|
```
|
||||||
|
|
||||||
This means that `komorebi` is now running in the background, tiling all your windows, and listening for commands sent to
|
This means that `komorebi` is now running in the background, tiling all your windows, and listening for commands sent to
|
||||||
@@ -214,20 +226,43 @@ it by `komorebic`. You can similarly stop the process by running `komorebic stop
|
|||||||
|
|
||||||
### Configuring
|
### Configuring
|
||||||
|
|
||||||
Once `komorebi` is running, you can execute the `komorebi.sample.ahk` script to set up the default keybindings via AHK
|
If you followed the quickstart, `komorebi` will find the sample `komorebi.ps1` file in your `$Env:USERPROFILE` directory
|
||||||
(the file includes comments to help you start building your own configuration).
|
and automatically load it. This file also starts `whkd` using the sample `whkrc` file in your `$Env:USERPROFILE\.config`
|
||||||
|
directory.
|
||||||
|
|
||||||
If you have AutoHotKey installed and a `komorebi.ahk` file in your home directory (run `$Env:UserProfile` at a
|
Alternatively, if you have AutoHotKey installed and a `komorebi.ahk` file in `$Env:UserProfile` directory, `komorebi`
|
||||||
PowerShell prompt to find your home directory), `komorebi` will automatically try to load it when starting.
|
will automatically try to load it when starting.
|
||||||
|
|
||||||
There is also tentative support for loading a AutoHotKey v2 files, if the file is named `komorebi.ahk2` and
|
#### Configuration with `komorebic`
|
||||||
the `AutoHotKey64.exe` executable for AutoHotKey v2 is in your `Path`. If both `komorebi.ahk` and `komorebi.ahk2` files
|
|
||||||
exist in your home directory, only `komorebi.ahk` will be loaded. An example of an AutoHotKey v2 configuration file
|
As previously mentioned, this project does not handle anything related to keybindings and shortcuts directly. I
|
||||||
for _komorebi_ can be found [here](https://gist.github.com/crosstyan/dafacc0778dabf693ce9236c57b201cd).
|
personally use [`whkd`](https://github.com/LGUG2Z/whkd) to manage my window management shortcuts, and have provided a
|
||||||
|
sample [whkdrc](whkdrc.sample) configuration that you can use as a starting point for your own.
|
||||||
|
|
||||||
|
You can run `komorebic.exe` to get a full list of the commands that you can use to customise `komorebi` and create
|
||||||
|
keybindings with. You can run `komorebic.exe <COMMAND> --help` to get a full explanation of the arguments required for
|
||||||
|
each command.
|
||||||
|
|
||||||
|
You can run any configuration command in the `komorebi.ps1` file, and you can bind any action command to your desired
|
||||||
|
key combinations in the `whkdrc` file.
|
||||||
|
|
||||||
|
#### AutoHotKey Helper Library for `komorebic`
|
||||||
|
|
||||||
|
❗️**NOTE**: This section is only relevant for people who wish to use AutoHotKey instead of [`whkd`](https://github.com/LGUG2Z/whkd).
|
||||||
|
|
||||||
|
❗️**NOTE**: This helper library is only compatible with AutoHotKey v1.1, not with AutoHotKey v2.
|
||||||
|
|
||||||
|
Additionally, you may run `komorebic.exe ahk-library` to generate a helper library for AutoHotKey which wraps
|
||||||
|
every `komorebic` command in a native AHK function.
|
||||||
|
|
||||||
|
If you include the generated library at the top of your `~/komorebi.ahk` configuration file, you will be able to call
|
||||||
|
any of the functions that it contains.
|
||||||
|
|
||||||
#### Using Different AHK Executables
|
#### Using Different AHK Executables
|
||||||
|
|
||||||
The sample configuration and the generated helper library both currently only support AutoHotKey v1.1.
|
❗️**NOTE**: This section is only relevant for people who wish to use AutoHotKey instead of [`whkd`](https://github.com/LGUG2Z/whkd).
|
||||||
|
|
||||||
|
The generated helper library for AutoHotKey currently only supports AutoHotKey v1.1.
|
||||||
|
|
||||||
The preferred way to install AutoHotKey for use with `komorebi` is to install it via `scoop`:
|
The preferred way to install AutoHotKey for use with `komorebi` is to install it via `scoop`:
|
||||||
|
|
||||||
@@ -250,45 +285,9 @@ are still required to be in your `Path`.
|
|||||||
|
|
||||||
### Common First-Time Tips
|
### Common First-Time Tips
|
||||||
|
|
||||||
#### Generating Common Application-Specific Configurations
|
|
||||||
|
|
||||||
A curated selection of application-specific configurations can be generated to
|
|
||||||
help ease the setup for first-time users.
|
|
||||||
[`komorebi-application-specific-configuration`](https://github.com/LGUG2Z/komorebi-application-specific-configuration)
|
|
||||||
contains YAML definitions of settings that are known to make tricky
|
|
||||||
applications behave as expected. These YAML definitions can be used to generate
|
|
||||||
an AHK file which you can import at the start of your own `komorebi.ahk` file,
|
|
||||||
leaving you to focus primarily on your desired keybindings and workspace
|
|
||||||
configurations.
|
|
||||||
|
|
||||||
If you have settings for an application that you think should be part of this
|
|
||||||
curated selection, please open a PR on the configuration repository.
|
|
||||||
|
|
||||||
In the event that your PR is not accepted, or if you find there are any
|
|
||||||
settings that you wish to override, this can easily be done using an override
|
|
||||||
file.
|
|
||||||
|
|
||||||
```powershell
|
|
||||||
# Clone and enter the repository
|
|
||||||
git clone https://github.com/LGUG2Z/komorebi-application-specific-configuration.git
|
|
||||||
cd komorebi-application-specific-configuration
|
|
||||||
|
|
||||||
# Use komorebic to generate an AHK file
|
|
||||||
komorebic.exe ahk-app-specific-configuration applications.yaml
|
|
||||||
|
|
||||||
# Application-specific generated configuration written to C:\Users\LGUG2Z\.config\komorebi\komorebi.generated.ahk
|
|
||||||
#
|
|
||||||
# You can include the generated configuration at the top of your komorebi.ahk config with this line:
|
|
||||||
#
|
|
||||||
# #Include %A_ScriptDir%\komorebi.generated.ahk
|
|
||||||
|
|
||||||
# Optionally, provide an override file that follows the same schema as the second argument
|
|
||||||
komorebic.exe ahk-app-specific-configuration applications.yaml overrides.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Setting a Custom KOMOREBI_CONFIG_HOME Directory
|
#### Setting a Custom KOMOREBI_CONFIG_HOME Directory
|
||||||
|
|
||||||
If you do not want to keep _komorebi_-related files in your `$Env:UserProfile` directory, you can specify a custom directory
|
If you do not want to keep _komorebi_-related files in your `$Env:USERPROFILE` directory, you can specify a custom directory
|
||||||
by setting the `$Env:KOMOREBI_CONFIG_HOME` environment variable.
|
by setting the `$Env:KOMOREBI_CONFIG_HOME` environment variable.
|
||||||
|
|
||||||
For example, to use the `~/.config/komorebi` directory:
|
For example, to use the `~/.config/komorebi` directory:
|
||||||
@@ -312,6 +311,47 @@ If you already have configuration files that you wish to keep, move them to the
|
|||||||
The next time you run `komorebic start`, any files created by or loaded by _komorebi_ will be placed or expected to
|
The next time you run `komorebic start`, any files created by or loaded by _komorebi_ will be placed or expected to
|
||||||
exist in this folder.
|
exist in this folder.
|
||||||
|
|
||||||
|
#### Generating Common Application-Specific Configurations
|
||||||
|
|
||||||
|
A curated selection of application-specific configurations can be generated to
|
||||||
|
help ease the setup for first-time users.
|
||||||
|
[`komorebi-application-specific-configuration`](https://github.com/LGUG2Z/komorebi-application-specific-configuration)
|
||||||
|
contains YAML definitions of settings that are known to make tricky
|
||||||
|
applications behave as expected. These YAML definitions can be used to generate
|
||||||
|
a `ps1` or an `ahk` file which you can import at the start of your own `komorebi.ps1` or `komorebi.ahk` files,
|
||||||
|
leaving you to focus primarily on your desired keybindings and workspace
|
||||||
|
configurations.
|
||||||
|
|
||||||
|
If you have settings for an application that you think should be part of this
|
||||||
|
curated selection, please open a PR on the configuration repository.
|
||||||
|
|
||||||
|
In the event that your PR is not accepted, or if you find there are any
|
||||||
|
settings that you wish to override, this can easily be done using an override
|
||||||
|
file.
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
# Clone and enter the repository
|
||||||
|
git clone https://github.com/LGUG2Z/komorebi-application-specific-configuration.git
|
||||||
|
cd komorebi-application-specific-configuration
|
||||||
|
|
||||||
|
# Use komorebic to generate a ps1 file
|
||||||
|
komorebic.exe pwsh-app-specific-configuration applications.yaml
|
||||||
|
|
||||||
|
# Application-specific generated configuration written to C:\Users\LGUG2Z\.config\komorebi\komorebi.generated.ps1
|
||||||
|
|
||||||
|
# Or use komorebic to generate an ahk file
|
||||||
|
komorebic.exe ahk-app-specific-configuration applications.yaml
|
||||||
|
|
||||||
|
# Application-specific generated configuration written to C:\Users\LGUG2Z\.config\komorebi\komorebi.generated.ahk
|
||||||
|
#
|
||||||
|
# You can include the generated configuration at the top of your komorebi.ahk config with this line:
|
||||||
|
#
|
||||||
|
# #Include %A_ScriptDir%\komorebi.generated.ahk
|
||||||
|
|
||||||
|
# Optionally, provide an override file that follows the same schema as the second argument
|
||||||
|
komorebic.exe pwsh-app-specific-configuration applications.yaml overrides.yaml
|
||||||
|
```
|
||||||
|
|
||||||
#### Adding an Active Window Border
|
#### Adding an Active Window Border
|
||||||
|
|
||||||
If you would like to add a visual border around the currently focused window, two commands are available:
|
If you would like to add a visual border around the currently focused window, two commands are available:
|
||||||
@@ -337,6 +377,8 @@ komorebic.exe workspace-padding <MONITOR_INDEX> <WORKSPACE_INDEX> 0
|
|||||||
|
|
||||||
#### Multiple Layout Changes on Startup
|
#### Multiple Layout Changes on Startup
|
||||||
|
|
||||||
|
❗️**NOTE**: If you followed the quickstart and are using the sample configurations, this is already the default behaviour.
|
||||||
|
|
||||||
Depending on what is in your configuration, when `komorebi` is started, you may experience the layout rapidly being adjusted
|
Depending on what is in your configuration, when `komorebi` is started, you may experience the layout rapidly being adjusted
|
||||||
with many retile events.
|
with many retile events.
|
||||||
|
|
||||||
@@ -344,13 +386,16 @@ If you would like to avoid this, you can start `komorebi` with a flag which tell
|
|||||||
has been loaded before listening to and responding to window manager events: `komorebic start --await-configuration`.
|
has been loaded before listening to and responding to window manager events: `komorebic start --await-configuration`.
|
||||||
|
|
||||||
If you start `komorebi` with the `--await-configuration` flag, you _must_ send the `komorebic complete-configuration`
|
If you start `komorebi` with the `--await-configuration` flag, you _must_ send the `komorebic complete-configuration`
|
||||||
command at the end of the configuration section of your `komorebi.ahk` config (before you start defining the key
|
command at the end of the configuration section of your `komorebi.ps1` (or `komorebi.ahk` config, before you start
|
||||||
bindings). The layout will not be updated and `komorebi` will not respond to `komorebic` commands until this command has
|
defining the key bindings). The layout will not be updated and `komorebi` will not respond to `komorebic` commands until
|
||||||
been received.
|
this command has been received.
|
||||||
|
|
||||||
#### Floating Windows
|
#### Floating Windows
|
||||||
|
|
||||||
Sometimes you will want a specific application to never be tiled, and instead float all the time. You add add rules to
|
❗️**NOTE**: A significant number of floating window rules for the most common applications are
|
||||||
|
[already generated for you](https://github.com/LGUG2Z/komorebi/#generating-common-application-specific-configurations)
|
||||||
|
|
||||||
|
Sometimes you will want a specific application to never be tiled, and instead float all the time. You can add rules to
|
||||||
enforce this behaviour:
|
enforce this behaviour:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
@@ -361,6 +406,9 @@ komorebic.exe float-rule title "Control Panel"
|
|||||||
|
|
||||||
#### Windows Not Getting Managed
|
#### Windows Not Getting Managed
|
||||||
|
|
||||||
|
❗️**NOTE**: A significant number of force-manage window rules for the most common applications are
|
||||||
|
[already generated for you](https://github.com/LGUG2Z/komorebi/#generating-common-application-specific-configurations)
|
||||||
|
|
||||||
In some rare cases, a window may not automatically be registered to be managed by `komorebi`. When this happens, you can
|
In some rare cases, a window may not automatically be registered to be managed by `komorebi`. When this happens, you can
|
||||||
manually add a rule to force `komorebi` to manage it:
|
manually add a rule to force `komorebi` to manage it:
|
||||||
|
|
||||||
@@ -372,6 +420,9 @@ komorebic.exe manage-rule exe TIM.exe
|
|||||||
|
|
||||||
#### Tray Applications
|
#### Tray Applications
|
||||||
|
|
||||||
|
❗️**NOTE**: A significant number of tray application rules for the most common applications are
|
||||||
|
[already generated for you](https://github.com/LGUG2Z/komorebi/#generating-common-application-specific-configurations)
|
||||||
|
|
||||||
If you are experiencing behaviour where
|
If you are experiencing behaviour where
|
||||||
[closing a window leaves a blank tile, but minimizing the same window does not](https://github.com/LGUG2Z/komorebi/issues/6)
|
[closing a window leaves a blank tile, but minimizing the same window does not](https://github.com/LGUG2Z/komorebi/issues/6)
|
||||||
, you have probably enabled a 'close/minimize to tray' option for that application. You can tell _komorebi_ to handle
|
, you have probably enabled a 'close/minimize to tray' option for that application. You can tell _komorebi_ to handle
|
||||||
@@ -385,6 +436,9 @@ komorebic.exe identify-tray-application exe Discord.exe
|
|||||||
|
|
||||||
#### Microsoft Office Applications
|
#### Microsoft Office Applications
|
||||||
|
|
||||||
|
❗️**NOTE**: Microsoft Office-specific application rules are
|
||||||
|
[already generated for you](https://github.com/LGUG2Z/komorebi/#generating-common-application-specific-configurations)
|
||||||
|
|
||||||
Microsoft Office applications such as Word and Excel require certain configuration options to be set in order to be
|
Microsoft Office applications such as Word and Excel require certain configuration options to be set in order to be
|
||||||
managed correctly. Below is an example of configuring Microsoft Word to be managed correctly by _komorebi_.
|
managed correctly. Below is an example of configuring Microsoft Word to be managed correctly by _komorebi_.
|
||||||
|
|
||||||
@@ -527,83 +581,6 @@ layout rules for that workspace have been cleared.
|
|||||||
komorebic clear-workspace-layout-rules 0 0
|
komorebic clear-workspace-layout-rules 0 0
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configuration with `komorebic`
|
|
||||||
|
|
||||||
As previously mentioned, this project does not handle anything related to keybindings and shortcuts directly. I
|
|
||||||
personally use AutoHotKey to manage my window management shortcuts, and have provided a
|
|
||||||
sample [komorebi.ahk](komorebi.sample.ahk) AHK script that you can use as a starting point for your own.
|
|
||||||
|
|
||||||
You can run `komorebic.exe` to get a full list of the commands that you can use to customise `komorebi` and create
|
|
||||||
keybindings with. You can run `komorebic.exe <COMMAND> --help` to get a full explanation of the arguments required for
|
|
||||||
each command.
|
|
||||||
|
|
||||||
### AutoHotKey Helper Library for `komorebic`
|
|
||||||
|
|
||||||
Additionally, you may run `komorebic.exe ahk-library` to
|
|
||||||
generate [a helper library for AutoHotKey](komorebic.lib.sample.ahk) which wraps every `komorebic` command in a native
|
|
||||||
AHK function.
|
|
||||||
|
|
||||||
If you include the generated library at the top of your `~/komorebi.ahk` configuration file, you will be able to call
|
|
||||||
any of the functions that it contains. A sample AHK script that shows how this library can be
|
|
||||||
used [is available here](komorebi.sample.with.lib.ahk).
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- [x] Multi-monitor
|
|
||||||
- [x] Virtual workspaces
|
|
||||||
- [x] Window stacks
|
|
||||||
- [x] Cycle through stacked windows
|
|
||||||
- [x] Change focused window by direction
|
|
||||||
- [x] Change focused window by direction across monitor boundary
|
|
||||||
- [x] Move focused window container in direction
|
|
||||||
- [x] Move focused window container in direction across monitor boundary
|
|
||||||
- [x] Move focused window container to monitor and follow
|
|
||||||
- [x] Move focused window container to workspace follow
|
|
||||||
- [x] Send focused window container to monitor
|
|
||||||
- [x] Send focused window container to workspace
|
|
||||||
- [x] Move focused workspace to monitor
|
|
||||||
- [x] Mouse follows focused container
|
|
||||||
- [x] Resize window container in direction
|
|
||||||
- [x] Resize window container on axis
|
|
||||||
- [x] Set custom resize delta
|
|
||||||
- [x] Active window border
|
|
||||||
- [x] Quicksave and quickload layouts with resize dimensions
|
|
||||||
- [x] Save and load layouts with resize dimensions to/from specific files
|
|
||||||
- [x] Mouse drag to swap window container position
|
|
||||||
- [x] Mouse drag to resize window container
|
|
||||||
- [x] Configurable workspace and container gaps
|
|
||||||
- [x] BSP tree layout (`bsp`)
|
|
||||||
- [x] Flip BSP tree layout horizontally or vertically
|
|
||||||
- [x] Equal-width, max-height column layout (`columns`)
|
|
||||||
- [x] Equal-height, max-width row layout (`rows`)
|
|
||||||
- [x] Main half-height window with vertical stack layout (`horizontal-stack`)
|
|
||||||
- [x] Main half-width window with horizontal stack layout (`vertical-stack`)
|
|
||||||
- [x] 2x Main window (half and quarter-width) with horizontal stack layout (`ultrawide-vertical-stack`)
|
|
||||||
- [x] Load custom layouts from JSON and YAML representations
|
|
||||||
- [x] Dynamically select layout based on the number of open windows
|
|
||||||
- [x] Floating rules based on exe name, window title and class
|
|
||||||
- [x] Workspace rules based on exe name and window class
|
|
||||||
- [x] Additional manage rules based on exe name and window class
|
|
||||||
- [x] Identify applications which overflow their borders by exe name and class
|
|
||||||
- [x] Identify 'close/minimize to tray' applications by exe name and class
|
|
||||||
- [x] Configure work area offsets to preserve space for custom taskbars
|
|
||||||
- [x] Configure and compensate for the size of Windows invisible borders
|
|
||||||
- [x] Toggle floating windows
|
|
||||||
- [x] Toggle monocle window
|
|
||||||
- [x] Toggle native maximization
|
|
||||||
- [x] Toggle mouse follows focus
|
|
||||||
- [x] Toggle Xmouse/Windows focus follows mouse implementation
|
|
||||||
- [x] Toggle Komorebi focus follows mouse implementation (desktop and system tray-aware)
|
|
||||||
- [x] Toggle automatic tiling
|
|
||||||
- [x] Pause all window management
|
|
||||||
- [x] Load configuration on startup
|
|
||||||
- [x] Manually reload configuration
|
|
||||||
- [x] Watch configuration for changes
|
|
||||||
- [x] Helper library for AutoHotKey
|
|
||||||
- [x] View window manager state
|
|
||||||
- [x] Query window manager state
|
|
||||||
- [x] Subscribe to event and message notifications
|
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
If you would like to contribute code to this repository, there are a few requests that I have to ensure a foundation of
|
If you would like to contribute code to this repository, there are a few requests that I have to ensure a foundation of
|
||||||
@@ -729,3 +706,15 @@ A [JSON Schema](https://json-schema.org/) of socket messages used to send instru
|
|||||||
with the `komorebic socket-schema` command. The output of this command can be redirected to the clipboard or a file,
|
with the `komorebic socket-schema` command. The output of this command can be redirected to the clipboard or a file,
|
||||||
which can be used with services such as [Quicktype](https://app.quicktype.io/) to generate type definitions in different
|
which can be used with services such as [Quicktype](https://app.quicktype.io/) to generate type definitions in different
|
||||||
programming languages.
|
programming languages.
|
||||||
|
|
||||||
|
## Appreciations
|
||||||
|
|
||||||
|
- First and foremost, thank you to my wife, both for naming this project and for her patience throughout its never-ending development
|
||||||
|
|
||||||
|
- Thank you to [@sitiom](https://github.com/sitiom) for being [an exemplary open source community leader](https://jeezy.substack.com/p/the-open-source-contributions-i-appreciate)
|
||||||
|
|
||||||
|
- Thank you to the developers of [nog](https://github.com/TimUntersberger/nog) who came before me and whose work taught me more than I can ever hope to repay
|
||||||
|
|
||||||
|
- Thank you to the developers of [GlazeWM](https://github.com/lars-berger/GlazeWM) for pushing the boundaries of tiling window management on Windows with me and having an excellent spirit of collaboration
|
||||||
|
|
||||||
|
- Thank you to [@Ciantic](https://github.com/Ciantic) for helping me bring the [hidden Virtual Desktops cloaking function](https://github.com/Ciantic/AltTabAccessor/issues/1) to `komorebi`
|
||||||
|
|||||||
7
justfile
7
justfile
@@ -1,4 +1,4 @@
|
|||||||
set shell := ["cmd.exe", "/C"]
|
set windows-shell := ["pwsh.exe", "-NoLogo", "-Command"]
|
||||||
export RUST_BACKTRACE := "full"
|
export RUST_BACKTRACE := "full"
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@@ -22,10 +22,7 @@ install-komorebi:
|
|||||||
install:
|
install:
|
||||||
just install-komorebic
|
just install-komorebic
|
||||||
just install-komorebi
|
just install-komorebi
|
||||||
komorebic ahk-library
|
cat '~/.config/komorebi/komorebi.generated.ps1' > komorebi.generated.ps1
|
||||||
cat '%USERPROFILE%\.config\komorebi\komorebic.lib.ahk' > komorebic.lib.ahk
|
|
||||||
cat '%USERPROFILE%\.config\komorebi\komorebi.generated.ahk' > komorebi.generated.ahk
|
|
||||||
cat '%USERPROFILE%\.config\komorebi\komorebi.generated.ps1' > komorebi.generated.ps1
|
|
||||||
|
|
||||||
run:
|
run:
|
||||||
just install-komorebic
|
just install-komorebic
|
||||||
|
|||||||
@@ -1,465 +0,0 @@
|
|||||||
; Generated by komorebic.exe
|
|
||||||
; To use this file, add the line below to the top of your komorebi.ahk configuration file
|
|
||||||
; #Include %A_ScriptDir%\komorebi.generated.ahk
|
|
||||||
|
|
||||||
; 1Password
|
|
||||||
Run, komorebic.exe float-rule exe "1Password.exe", , Hide
|
|
||||||
|
|
||||||
; Ableton Live
|
|
||||||
; Targets VST2 windows
|
|
||||||
Run, komorebic.exe float-rule class "AbletonVstPlugClass", , Hide
|
|
||||||
; Targets VST3 windows
|
|
||||||
Run, komorebic.exe float-rule class "Vst3PlugWindow", , Hide
|
|
||||||
|
|
||||||
; Adobe Creative Cloud
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application class "CreativeCloudDesktopWindowClass", , Hide
|
|
||||||
|
|
||||||
; Adobe Photoshop
|
|
||||||
Run, komorebic.exe identify-border-overflow-application class "Photoshop", , Hide
|
|
||||||
|
|
||||||
; ArmCord
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "ArmCord.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "ArmCord.exe", , Hide
|
|
||||||
|
|
||||||
; AutoHotkey
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "AutoHotkeyU64.exe", , Hide
|
|
||||||
Run, komorebic.exe float-rule title "Window Spy", , Hide
|
|
||||||
|
|
||||||
; Beeper
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "Beeper.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "Beeper.exe", , Hide
|
|
||||||
|
|
||||||
; Bitwarden
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "Bitwarden.exe", , Hide
|
|
||||||
|
|
||||||
; Bloxstrap
|
|
||||||
Run, komorebic.exe float-rule exe "Bloxstrap.exe", , Hide
|
|
||||||
|
|
||||||
; Calculator
|
|
||||||
Run, komorebic.exe float-rule title "Calculator", , Hide
|
|
||||||
|
|
||||||
; Credential Manager UI Host
|
|
||||||
; Targets the Windows popup prompting you for a PIN instead of a password on 1Password etc.
|
|
||||||
Run, komorebic.exe float-rule exe "CredentialUIBroker.exe", , Hide
|
|
||||||
|
|
||||||
; Cron
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "Cron.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "Cron.exe", , Hide
|
|
||||||
|
|
||||||
; Delphi applications
|
|
||||||
; Target hidden window spawned by Delphi applications
|
|
||||||
Run, komorebic.exe float-rule class "TApplication", , Hide
|
|
||||||
; Target Inno Setup installers
|
|
||||||
Run, komorebic.exe float-rule class "TWizardForm", , Hide
|
|
||||||
|
|
||||||
; Discord
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "Discord.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "Discord.exe", , Hide
|
|
||||||
|
|
||||||
; DiscordCanary
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "DiscordCanary.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "DiscordCanary.exe", , Hide
|
|
||||||
|
|
||||||
; DiscordDevelopment
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "DiscordDevelopment.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "DiscordDevelopment.exe", , Hide
|
|
||||||
|
|
||||||
; DiscordPTB
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "DiscordPTB.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "DiscordPTB.exe", , Hide
|
|
||||||
|
|
||||||
; ElectronMail
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "ElectronMail.exe", , Hide
|
|
||||||
|
|
||||||
; Element
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "Element.exe", , Hide
|
|
||||||
|
|
||||||
; ElevenClock
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "ElevenClock.exe", , Hide
|
|
||||||
|
|
||||||
; Elgato Camera Hub
|
|
||||||
Run, komorebic.exe float-rule exe "Camera Hub.exe", , Hide
|
|
||||||
|
|
||||||
; Elgato Control Center
|
|
||||||
Run, komorebic.exe float-rule exe "ControlCenter.exe", , Hide
|
|
||||||
|
|
||||||
; Elgato Wave Link
|
|
||||||
Run, komorebic.exe float-rule exe "WaveLink.exe", , Hide
|
|
||||||
|
|
||||||
; Epic Games Launcher
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "EpicGamesLauncher.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "EpicGamesLauncher.exe", , Hide
|
|
||||||
|
|
||||||
; Flow Launcher
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "Flow.Launcher.exe", , Hide
|
|
||||||
|
|
||||||
; GOG Galaxy
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "GalaxyClient.exe", , Hide
|
|
||||||
Run, komorebic.exe manage-rule exe "GalaxyClient.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "GalaxyClient.exe", , Hide
|
|
||||||
; Targets a hidden window spawned by GOG Galaxy
|
|
||||||
Run, komorebic.exe float-rule class "Chrome_RenderWidgetHostHWND", , Hide
|
|
||||||
|
|
||||||
; GoPro Webcam
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application class "GoPro Webcam", , Hide
|
|
||||||
|
|
||||||
; Godot Manager
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "GodotManager.exe", , Hide
|
|
||||||
Run, komorebic.exe manage-rule exe "GodotManager.exe", , Hide
|
|
||||||
Run, komorebic.exe identify-object-name-change-application exe "GodotManager.exe", , Hide
|
|
||||||
|
|
||||||
; Google Chrome
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "chrome.exe", , Hide
|
|
||||||
|
|
||||||
; Google Drive
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "GoogleDriveFS.exe", , Hide
|
|
||||||
|
|
||||||
; Houdoku
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "Houdoku.exe", , Hide
|
|
||||||
|
|
||||||
; IntelliJ IDEA
|
|
||||||
Run, komorebic.exe identify-object-name-change-application exe "idea64.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "idea64.exe", , Hide
|
|
||||||
; Targets JetBrains IDE popups and floating windows
|
|
||||||
Run, komorebic.exe float-rule class "SunAwtDialog", , Hide
|
|
||||||
|
|
||||||
; Itch.io
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "itch.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "itch.exe", , Hide
|
|
||||||
|
|
||||||
; Keyviz
|
|
||||||
Run, komorebic.exe float-rule exe "keyviz.exe", , Hide
|
|
||||||
|
|
||||||
; Kleopatra
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "kleopatra.exe", , Hide
|
|
||||||
|
|
||||||
; Kotatogram
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "Kotatogram.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "Kotatogram.exe", , Hide
|
|
||||||
|
|
||||||
; LocalSend
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "localsend_app.exe", , Hide
|
|
||||||
|
|
||||||
; Logi Bolt
|
|
||||||
Run, komorebic.exe float-rule exe "LogiBolt.exe", , Hide
|
|
||||||
|
|
||||||
; LogiTune
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "LogiTune.exe", , Hide
|
|
||||||
Run, komorebic.exe float-rule exe "LogiTune.exe", , Hide
|
|
||||||
|
|
||||||
; Logitech G HUB
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "lghub.exe", , Hide
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "lghub.exe", , Hide
|
|
||||||
|
|
||||||
; Logitech Options
|
|
||||||
Run, komorebic.exe float-rule exe "LogiOptionsUI.exe", , Hide
|
|
||||||
|
|
||||||
; Mailspring
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "mailspring.exe", , Hide
|
|
||||||
|
|
||||||
; ManyCam
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "ManyCam.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "ManyCam.exe", , Hide
|
|
||||||
|
|
||||||
; Mica For Everyone
|
|
||||||
|
|
||||||
; Microsoft Excel
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "EXCEL.EXE", , Hide
|
|
||||||
Run, komorebic.exe identify-layered-application exe "EXCEL.EXE", , Hide
|
|
||||||
; Targets a hidden window spawned by Microsoft Office applications
|
|
||||||
Run, komorebic.exe float-rule class "_WwB", , Hide
|
|
||||||
|
|
||||||
; Microsoft Outlook
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "OUTLOOK.EXE", , Hide
|
|
||||||
Run, komorebic.exe identify-layered-application exe "OUTLOOK.EXE", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "OUTLOOK.EXE", , Hide
|
|
||||||
|
|
||||||
; Microsoft PC Manager
|
|
||||||
Run, komorebic.exe float-rule exe "MSPCManager.exe", , Hide
|
|
||||||
|
|
||||||
; Microsoft PowerPoint
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "POWERPNT.EXE", , Hide
|
|
||||||
Run, komorebic.exe identify-layered-application exe "POWERPNT.EXE", , Hide
|
|
||||||
|
|
||||||
; Microsoft Teams
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "Teams.exe", , Hide
|
|
||||||
; Target Teams pop-up notification windows
|
|
||||||
Run, komorebic.exe float-rule title "Microsoft Teams Notification", , Hide
|
|
||||||
; Target Teams call in progress windows
|
|
||||||
Run, komorebic.exe float-rule title "Microsoft Teams Call", , Hide
|
|
||||||
|
|
||||||
; Microsoft Word
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "WINWORD.EXE", , Hide
|
|
||||||
Run, komorebic.exe identify-layered-application exe "WINWORD.EXE", , Hide
|
|
||||||
|
|
||||||
; Modern Flyouts
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "ModernFlyoutsHost.exe", , Hide
|
|
||||||
|
|
||||||
; Mozilla Firefox
|
|
||||||
Run, komorebic.exe identify-object-name-change-application exe "firefox.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "firefox.exe", , Hide
|
|
||||||
; Targets invisible windows spawned by Firefox to show tab previews in the taskbar
|
|
||||||
Run, komorebic.exe float-rule class "MozillaTaskbarPreviewClass", , Hide
|
|
||||||
|
|
||||||
; NVIDIA GeForce Experience
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "NVIDIA GeForce Experience.exe", , Hide
|
|
||||||
|
|
||||||
; NiceHash Miner
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "nhm_app.exe", , Hide
|
|
||||||
Run, komorebic.exe manage-rule exe "nhm_app.exe", , Hide
|
|
||||||
|
|
||||||
; NohBoard
|
|
||||||
Run, komorebic.exe float-rule exe "NohBoard.exe", , Hide
|
|
||||||
|
|
||||||
; Notion Enhanced
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "Notion Enhanced.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "Notion Enhanced.exe", , Hide
|
|
||||||
|
|
||||||
; OBS Studio (32-bit)
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "obs32.exe", , Hide
|
|
||||||
|
|
||||||
; OBS Studio (64-bit)
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "obs64.exe", , Hide
|
|
||||||
|
|
||||||
; ONLYOFFICE Editors
|
|
||||||
Run, komorebic.exe identify-border-overflow-application class "DocEditorsWindowClass", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application class "DocEditorsWindowClass", , Hide
|
|
||||||
|
|
||||||
; Obsidian
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "Obsidian.exe", , Hide
|
|
||||||
Run, komorebic.exe manage-rule exe "Obsidian.exe", , Hide
|
|
||||||
|
|
||||||
; OpenRGB
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "OpenRGB.exe", , Hide
|
|
||||||
|
|
||||||
; Paradox Launcher
|
|
||||||
Run, komorebic.exe float-rule exe "Paradox Launcher.exe", , Hide
|
|
||||||
|
|
||||||
; PowerToys
|
|
||||||
; Target color picker dialog
|
|
||||||
Run, komorebic.exe float-rule exe "PowerToys.ColorPickerUI.exe", , Hide
|
|
||||||
; Target image resizer dialog
|
|
||||||
Run, komorebic.exe float-rule exe "PowerToys.ImageResizer.exe", , Hide
|
|
||||||
|
|
||||||
; Process Hacker
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "ProcessHacker.exe", , Hide
|
|
||||||
Run, komorebic.exe float-rule exe "ProcessHacker.exe", , Hide
|
|
||||||
|
|
||||||
; ProtonVPN
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "ProtonVPN.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "ProtonVPN.exe", , Hide
|
|
||||||
|
|
||||||
; PyCharm
|
|
||||||
Run, komorebic.exe identify-object-name-change-application exe "pycharm64.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "pycharm64.exe", , Hide
|
|
||||||
|
|
||||||
; QuickLook
|
|
||||||
Run, komorebic.exe float-rule exe "QuickLook.exe", , Hide
|
|
||||||
|
|
||||||
; RepoZ
|
|
||||||
Run, komorebic.exe float-rule exe "RepoZ.exe", , Hide
|
|
||||||
|
|
||||||
; Rider
|
|
||||||
Run, komorebic.exe identify-object-name-change-application exe "rider64.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "rider64.exe", , Hide
|
|
||||||
|
|
||||||
; Roblox FPS Unlocker
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "rbxfpsunlocker.exe", , Hide
|
|
||||||
|
|
||||||
; RoundedTB
|
|
||||||
Run, komorebic.exe float-rule exe "RoundedTB.exe", , Hide
|
|
||||||
|
|
||||||
; RoundedTB
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "RoundedTB.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "RoundedTB.exe", , Hide
|
|
||||||
|
|
||||||
; ShareX
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "ShareX.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "ShareX.exe", , Hide
|
|
||||||
|
|
||||||
; Sideloadly
|
|
||||||
Run, komorebic.exe float-rule exe "sideloadly.exe", , Hide
|
|
||||||
|
|
||||||
; Signal
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "signal.exe", , Hide
|
|
||||||
|
|
||||||
; SiriKali
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "sirikali.exe", , Hide
|
|
||||||
|
|
||||||
; Slack
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "Slack.exe", , Hide
|
|
||||||
Run, komorebic.exe manage-rule exe "Slack.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "Slack.exe", , Hide
|
|
||||||
|
|
||||||
; Slack
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "slack.exe", , Hide
|
|
||||||
Run, komorebic.exe manage-rule exe "slack.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "slack.exe", , Hide
|
|
||||||
|
|
||||||
; Smart Install Maker
|
|
||||||
; Target hidden window spawned by installer
|
|
||||||
Run, komorebic.exe float-rule class "obj_App", , Hide
|
|
||||||
; Target installer
|
|
||||||
Run, komorebic.exe float-rule class "obj_Form", , Hide
|
|
||||||
|
|
||||||
; SoulseekQt
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "SoulseekQt.exe", , Hide
|
|
||||||
|
|
||||||
; Spotify
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "Spotify.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "Spotify.exe", , Hide
|
|
||||||
|
|
||||||
; Steam
|
|
||||||
Run, komorebic.exe identify-border-overflow-application class "vguiPopupWindow", , Hide
|
|
||||||
|
|
||||||
; Stremio
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "stremio.exe", , Hide
|
|
||||||
|
|
||||||
; System Informer
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "SystemInformer.exe", , Hide
|
|
||||||
Run, komorebic.exe float-rule exe "SystemInformer.exe", , Hide
|
|
||||||
|
|
||||||
; SystemSettings
|
|
||||||
Run, komorebic.exe float-rule class "Shell_Dialog", , Hide
|
|
||||||
|
|
||||||
; Task Manager
|
|
||||||
Run, komorebic.exe float-rule class "TaskManagerWindow", , Hide
|
|
||||||
|
|
||||||
; Telegram
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "Telegram.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "Telegram.exe", , Hide
|
|
||||||
|
|
||||||
; TouchCursor
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "tcconfig.exe", , Hide
|
|
||||||
Run, komorebic.exe float-rule exe "tcconfig.exe", , Hide
|
|
||||||
|
|
||||||
; TranslucentTB
|
|
||||||
Run, komorebic.exe float-rule exe "TranslucentTB.exe", , Hide
|
|
||||||
|
|
||||||
; TranslucentTB
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "TranslucentTB.exe", , Hide
|
|
||||||
|
|
||||||
; Unreal Editor
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "UnrealEditor.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "UnrealEditor.exe", , Hide
|
|
||||||
|
|
||||||
; VRCX
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "VRCX.exe", , Hide
|
|
||||||
|
|
||||||
; Visual Studio
|
|
||||||
Run, komorebic.exe identify-object-name-change-application exe "devenv.exe", , Hide
|
|
||||||
|
|
||||||
; Visual Studio Code
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "Code.exe", , Hide
|
|
||||||
|
|
||||||
; Voice.ai
|
|
||||||
Run, komorebic.exe identify-border-overflow-application exe "VoiceAI.exe", , Hide
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "VoiceAI.exe", , Hide
|
|
||||||
|
|
||||||
; WebTorrent Desktop
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "WebTorrent.exe", , Hide
|
|
||||||
|
|
||||||
; Windows Console (conhost.exe)
|
|
||||||
Run, komorebic.exe manage-rule class "ConsoleWindowClass", , Hide
|
|
||||||
|
|
||||||
; Windows Explorer
|
|
||||||
; Targets copy/move operation windows
|
|
||||||
Run, komorebic.exe float-rule class "OperationStatusWindow", , Hide
|
|
||||||
Run, komorebic.exe float-rule title "Control Panel", , Hide
|
|
||||||
|
|
||||||
; Windows Installer
|
|
||||||
Run, komorebic.exe float-rule exe "msiexec.exe", , Hide
|
|
||||||
|
|
||||||
; WingetUI
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "WingetUI.exe", , Hide
|
|
||||||
|
|
||||||
; WingetUI
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "wingetui.exe", , Hide
|
|
||||||
|
|
||||||
; Wox
|
|
||||||
; Targets a hidden window spawned by Wox
|
|
||||||
Run, komorebic.exe float-rule title "Hotkey sink", , Hide
|
|
||||||
|
|
||||||
; XAMPP Control Panel
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "xampp-control.exe", , Hide
|
|
||||||
|
|
||||||
; Zoom
|
|
||||||
Run, komorebic.exe float-rule exe "Zoom.exe", , Hide
|
|
||||||
|
|
||||||
; mpv.net
|
|
||||||
Run, komorebic.exe identify-object-name-change-application exe "mpvnet.exe", , Hide
|
|
||||||
|
|
||||||
; paint.net
|
|
||||||
Run, komorebic.exe float-rule exe "paintdotnet.exe", , Hide
|
|
||||||
|
|
||||||
; pinentry
|
|
||||||
Run, komorebic.exe float-rule exe "pinentry.exe", , Hide
|
|
||||||
|
|
||||||
; qBittorrent
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "qbittorrent.exe", , Hide
|
|
||||||
|
|
||||||
; ueli
|
|
||||||
; If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
|
||||||
Run, komorebic.exe identify-tray-application exe "ueli.exe", , Hide
|
|
||||||
Run, komorebic.exe float-rule exe "ueli.exe", , Hide
|
|
||||||
@@ -3,6 +3,12 @@
|
|||||||
# 1Password
|
# 1Password
|
||||||
komorebic.exe float-rule exe "1Password.exe"
|
komorebic.exe float-rule exe "1Password.exe"
|
||||||
|
|
||||||
|
# Ableton Live
|
||||||
|
# Targets VST2 windows
|
||||||
|
komorebic.exe float-rule class "AbletonVstPlugClass"
|
||||||
|
# Targets VST3 windows
|
||||||
|
komorebic.exe float-rule class "Vst3PlugWindow"
|
||||||
|
|
||||||
# Adobe Creative Cloud
|
# Adobe Creative Cloud
|
||||||
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
komorebic.exe identify-tray-application class "CreativeCloudDesktopWindowClass"
|
komorebic.exe identify-tray-application class "CreativeCloudDesktopWindowClass"
|
||||||
@@ -151,6 +157,10 @@ komorebic.exe identify-border-overflow-application exe "Kotatogram.exe"
|
|||||||
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
komorebic.exe identify-tray-application exe "Kotatogram.exe"
|
komorebic.exe identify-tray-application exe "Kotatogram.exe"
|
||||||
|
|
||||||
|
# LocalSend
|
||||||
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
|
komorebic.exe identify-tray-application exe "localsend_app.exe"
|
||||||
|
|
||||||
# Logi Bolt
|
# Logi Bolt
|
||||||
komorebic.exe float-rule exe "LogiBolt.exe"
|
komorebic.exe float-rule exe "LogiBolt.exe"
|
||||||
|
|
||||||
@@ -258,6 +268,9 @@ komorebic.exe identify-tray-application exe "OpenRGB.exe"
|
|||||||
# Paradox Launcher
|
# Paradox Launcher
|
||||||
komorebic.exe float-rule exe "Paradox Launcher.exe"
|
komorebic.exe float-rule exe "Paradox Launcher.exe"
|
||||||
|
|
||||||
|
# Plexamp
|
||||||
|
komorebic.exe identify-border-overflow-application exe "Plexamp.exe"
|
||||||
|
|
||||||
# PowerToys
|
# PowerToys
|
||||||
# Target color picker dialog
|
# Target color picker dialog
|
||||||
komorebic.exe float-rule exe "PowerToys.ColorPickerUI.exe"
|
komorebic.exe float-rule exe "PowerToys.ColorPickerUI.exe"
|
||||||
@@ -279,12 +292,21 @@ komorebic.exe identify-object-name-change-application exe "pycharm64.exe"
|
|||||||
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
komorebic.exe identify-tray-application exe "pycharm64.exe"
|
komorebic.exe identify-tray-application exe "pycharm64.exe"
|
||||||
|
|
||||||
|
# QtScrcpy
|
||||||
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
|
komorebic.exe identify-tray-application exe "QtScrcpy.exe"
|
||||||
|
|
||||||
# QuickLook
|
# QuickLook
|
||||||
komorebic.exe float-rule exe "QuickLook.exe"
|
komorebic.exe float-rule exe "QuickLook.exe"
|
||||||
|
|
||||||
# RepoZ
|
# RepoZ
|
||||||
komorebic.exe float-rule exe "RepoZ.exe"
|
komorebic.exe float-rule exe "RepoZ.exe"
|
||||||
|
|
||||||
|
# Rider
|
||||||
|
komorebic.exe identify-object-name-change-application exe "rider64.exe"
|
||||||
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
|
komorebic.exe identify-tray-application exe "rider64.exe"
|
||||||
|
|
||||||
# Roblox FPS Unlocker
|
# Roblox FPS Unlocker
|
||||||
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
komorebic.exe identify-tray-application exe "rbxfpsunlocker.exe"
|
komorebic.exe identify-tray-application exe "rbxfpsunlocker.exe"
|
||||||
@@ -302,6 +324,9 @@ komorebic.exe identify-border-overflow-application exe "ShareX.exe"
|
|||||||
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
komorebic.exe identify-tray-application exe "ShareX.exe"
|
komorebic.exe identify-tray-application exe "ShareX.exe"
|
||||||
|
|
||||||
|
# Sideloadly
|
||||||
|
komorebic.exe float-rule exe "sideloadly.exe"
|
||||||
|
|
||||||
# Signal
|
# Signal
|
||||||
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
komorebic.exe identify-tray-application exe "signal.exe"
|
komorebic.exe identify-tray-application exe "signal.exe"
|
||||||
@@ -377,12 +402,21 @@ komorebic.exe identify-border-overflow-application exe "UnrealEditor.exe"
|
|||||||
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
komorebic.exe identify-tray-application exe "UnrealEditor.exe"
|
komorebic.exe identify-tray-application exe "UnrealEditor.exe"
|
||||||
|
|
||||||
|
# VRCX
|
||||||
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
|
komorebic.exe identify-tray-application exe "VRCX.exe"
|
||||||
|
|
||||||
# Visual Studio
|
# Visual Studio
|
||||||
komorebic.exe identify-object-name-change-application exe "devenv.exe"
|
komorebic.exe identify-object-name-change-application exe "devenv.exe"
|
||||||
|
|
||||||
# Visual Studio Code
|
# Visual Studio Code
|
||||||
komorebic.exe identify-border-overflow-application exe "Code.exe"
|
komorebic.exe identify-border-overflow-application exe "Code.exe"
|
||||||
|
|
||||||
|
# Voice.ai
|
||||||
|
komorebic.exe identify-border-overflow-application exe "VoiceAI.exe"
|
||||||
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
|
komorebic.exe identify-tray-application exe "VoiceAI.exe"
|
||||||
|
|
||||||
# WebTorrent Desktop
|
# WebTorrent Desktop
|
||||||
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
komorebic.exe identify-tray-application exe "WebTorrent.exe"
|
komorebic.exe identify-tray-application exe "WebTorrent.exe"
|
||||||
@@ -396,8 +430,7 @@ komorebic.exe float-rule class "OperationStatusWindow"
|
|||||||
komorebic.exe float-rule title "Control Panel"
|
komorebic.exe float-rule title "Control Panel"
|
||||||
|
|
||||||
# Windows Installer
|
# Windows Installer
|
||||||
# Targets MSI Installers
|
komorebic.exe float-rule exe "msiexec.exe"
|
||||||
komorebic.exe float-rule class "MsiDialogCloseClass"
|
|
||||||
|
|
||||||
# WingetUI
|
# WingetUI
|
||||||
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
# If you have disabled minimize/close to tray for this application, you can delete/comment out the next line
|
||||||
|
|||||||
@@ -1,93 +0,0 @@
|
|||||||
#SingleInstance Force
|
|
||||||
|
|
||||||
; You can generate a fresh version of this file with "komorebic ahk-library"
|
|
||||||
#Include %A_ScriptDir%\komorebic.lib.ahk
|
|
||||||
; https://github.com/LGUG2Z/komorebi/#generating-common-application-specific-configurations
|
|
||||||
#Include %A_ScriptDir%\komorebi.generated.ahk
|
|
||||||
|
|
||||||
; Default to minimizing windows when switching workspaces
|
|
||||||
WindowHidingBehaviour("minimize")
|
|
||||||
|
|
||||||
; Set cross-monitor move behaviour to insert instead of swap
|
|
||||||
CrossMonitorMoveBehaviour("insert")
|
|
||||||
|
|
||||||
; Enable hot reloading of changes to this file
|
|
||||||
WatchConfiguration("enable")
|
|
||||||
|
|
||||||
; Ensure there is 1 workspace created on monitor 0
|
|
||||||
EnsureWorkspaces(0, 1)
|
|
||||||
|
|
||||||
; Configure the invisible border dimensions
|
|
||||||
InvisibleBorders(7, 0, 14, 7)
|
|
||||||
|
|
||||||
; Configure the 1st workspace
|
|
||||||
WorkspaceName(0, 0, "I")
|
|
||||||
|
|
||||||
; Uncomment the next two lines if you want a visual border drawn around the focused window
|
|
||||||
; ActiveWindowBorderColour(66, 165, 245, "single") ; this is a nice blue colour
|
|
||||||
; ActiveWindowBorder("enable")
|
|
||||||
|
|
||||||
; Allow komorebi to start managing windows
|
|
||||||
CompleteConfiguration()
|
|
||||||
|
|
||||||
; Change the focused window, Alt + Vim direction keys (HJKL)
|
|
||||||
!h::
|
|
||||||
Focus("left")
|
|
||||||
return
|
|
||||||
|
|
||||||
!j::
|
|
||||||
Focus("down")
|
|
||||||
return
|
|
||||||
|
|
||||||
!k::
|
|
||||||
Focus("up")
|
|
||||||
return
|
|
||||||
|
|
||||||
!l::
|
|
||||||
Focus("right")
|
|
||||||
return
|
|
||||||
|
|
||||||
; Move the focused window in a given direction, Alt + Shift + Vim direction keys (HJKL)
|
|
||||||
!+h::
|
|
||||||
Move("left")
|
|
||||||
return
|
|
||||||
|
|
||||||
!+j::
|
|
||||||
Move("down")
|
|
||||||
return
|
|
||||||
|
|
||||||
!+k::
|
|
||||||
Move("up")
|
|
||||||
return
|
|
||||||
|
|
||||||
!+l::
|
|
||||||
Move("right")
|
|
||||||
return
|
|
||||||
|
|
||||||
; There are many more commands that you can bind to whatever keys combinations you want!
|
|
||||||
;
|
|
||||||
; Have a look at the komorebic.lib.ahk file to see which arguments are required by different commands
|
|
||||||
;
|
|
||||||
; If you want more information about a command, you can run every komorebic command with "--help"
|
|
||||||
;
|
|
||||||
; For example, if you see this in komorebic.lib.ahk
|
|
||||||
;
|
|
||||||
; WorkspaceLayout(monitor, workspace, value) {
|
|
||||||
; Run, komorebic.exe workspace-layout %monitor% %workspace% %value%, , Hide
|
|
||||||
; }
|
|
||||||
;
|
|
||||||
; Just run "komorebic.exe workspace-layout --help" and you'll get all the information you need to use the command
|
|
||||||
;
|
|
||||||
; komorebic.exe-workspace-layout
|
|
||||||
; Set the layout for the specified workspace
|
|
||||||
;
|
|
||||||
; USAGE:
|
|
||||||
; komorebic.exe workspace-layout <MONITOR> <WORKSPACE> <VALUE>
|
|
||||||
;
|
|
||||||
; ARGS:
|
|
||||||
; <MONITOR> Monitor index (zero-indexed)
|
|
||||||
; <WORKSPACE> Workspace index on the specified monitor (zero-indexed)
|
|
||||||
; <VALUE> [possible values: bsp, columns, rows, vertical-stack, horizontal-stack, ultrawide-vertical-stack]
|
|
||||||
;
|
|
||||||
; OPTIONS:
|
|
||||||
; -h, --help Print help information
|
|
||||||
@@ -5,24 +5,35 @@ if (!(Get-Process whkd -ErrorAction SilentlyContinue))
|
|||||||
|
|
||||||
. $PSScriptRoot\komorebi.generated.ps1
|
. $PSScriptRoot\komorebi.generated.ps1
|
||||||
|
|
||||||
|
# Send the ALT key whenever changing focus to force focus changes
|
||||||
|
komorebic alt-focus-hack enable
|
||||||
# Default to minimizing windows when switching workspaces
|
# Default to minimizing windows when switching workspaces
|
||||||
komorebic window-hiding-behaviour minimize
|
komorebic window-hiding-behaviour cloak
|
||||||
# Set cross-monitor move behaviour to insert instead of swap
|
# Set cross-monitor move behaviour to insert instead of swap
|
||||||
komorebic cross-monitor-move-behaviour insert
|
komorebic cross-monitor-move-behaviour insert
|
||||||
# Enable hot reloading of changes to this file
|
# Enable hot reloading of changes to this file
|
||||||
komorebic watch-configuration enable
|
komorebic watch-configuration enable
|
||||||
|
|
||||||
|
# create named workspaces I-V on monitor 0
|
||||||
|
komorebic ensure-named-workspaces 0 I II III IV V
|
||||||
|
# you can do the same thing for secondary monitors too
|
||||||
|
# komorebic ensure-named-workspaces 1 A B C D E F
|
||||||
|
|
||||||
|
# assign layouts to workspaces, possible values: bsp, columns, rows, vertical-stack, horizontal-stack, ultrawide-vertical-stack
|
||||||
|
komorebic named-workspace-layout I bsp
|
||||||
|
|
||||||
|
# set the gaps around the edge of the screen for a workspace
|
||||||
|
komorebic named-workspace-padding I 20
|
||||||
|
|
||||||
|
# set the gaps between the containers for a workspace
|
||||||
|
komorebic named-workspace-container-padding I 20
|
||||||
|
|
||||||
|
# you can assign specific apps to named workspaces
|
||||||
|
# komorebic named-workspace-rule exe "Firefox.exe" III
|
||||||
|
|
||||||
# Configure the invisible border dimensions
|
# Configure the invisible border dimensions
|
||||||
komorebic invisible-borders 7 0 14 7
|
komorebic invisible-borders 7 0 14 7
|
||||||
|
|
||||||
# Ensure there is 1 workspace created on monitor 0
|
|
||||||
komorebic ensure-workspaces 0 1
|
|
||||||
|
|
||||||
# Configure the 1st workspace on the 1st monitor
|
|
||||||
komorebic workspace-name 0 0 "I"
|
|
||||||
komorebic workspace-layout 0 0 bsp
|
|
||||||
komorebic container-padding 0 0 bsp
|
|
||||||
|
|
||||||
# Uncomment the next lines if you want a visual border around the active window
|
# Uncomment the next lines if you want a visual border around the active window
|
||||||
# komorebic active-window-border-colour 66 165 245 --window-kind single
|
# komorebic active-window-border-colour 66 165 245 --window-kind single
|
||||||
# komorebic active-window-border-colour 256 165 66 --window-kind stack
|
# komorebic active-window-border-colour 256 165 66 --window-kind stack
|
||||||
|
|||||||
@@ -1,445 +0,0 @@
|
|||||||
; Generated by komorebic.exe
|
|
||||||
|
|
||||||
Start(ffm, await_configuration, tcp_port) {
|
|
||||||
RunWait, komorebic.exe start %ffm% --await-configuration %await_configuration% --tcp-port %tcp_port%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Stop() {
|
|
||||||
RunWait, komorebic.exe stop, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
State() {
|
|
||||||
RunWait, komorebic.exe state, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Query(state_query) {
|
|
||||||
RunWait, komorebic.exe query %state_query%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Subscribe(named_pipe) {
|
|
||||||
RunWait, komorebic.exe subscribe %named_pipe%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Unsubscribe(named_pipe) {
|
|
||||||
RunWait, komorebic.exe unsubscribe %named_pipe%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Log() {
|
|
||||||
RunWait, komorebic.exe log, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
QuickSaveResize() {
|
|
||||||
RunWait, komorebic.exe quick-save-resize, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
QuickLoadResize() {
|
|
||||||
RunWait, komorebic.exe quick-load-resize, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
SaveResize(path) {
|
|
||||||
RunWait, komorebic.exe save-resize %path%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
LoadResize(path) {
|
|
||||||
RunWait, komorebic.exe load-resize %path%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Focus(operation_direction) {
|
|
||||||
RunWait, komorebic.exe focus %operation_direction%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Move(operation_direction) {
|
|
||||||
RunWait, komorebic.exe move %operation_direction%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Minimize() {
|
|
||||||
RunWait, komorebic.exe minimize, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Close() {
|
|
||||||
RunWait, komorebic.exe close, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ForceFocus() {
|
|
||||||
RunWait, komorebic.exe force-focus, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
CycleFocus(cycle_direction) {
|
|
||||||
RunWait, komorebic.exe cycle-focus %cycle_direction%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
CycleMove(cycle_direction) {
|
|
||||||
RunWait, komorebic.exe cycle-move %cycle_direction%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Stack(operation_direction) {
|
|
||||||
RunWait, komorebic.exe stack %operation_direction%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Resize(edge, sizing) {
|
|
||||||
RunWait, komorebic.exe resize %edge% %sizing%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ResizeAxis(axis, sizing) {
|
|
||||||
RunWait, komorebic.exe resize-axis %axis% %sizing%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Unstack() {
|
|
||||||
RunWait, komorebic.exe unstack, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
CycleStack(cycle_direction) {
|
|
||||||
RunWait, komorebic.exe cycle-stack %cycle_direction%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
MoveToMonitor(target) {
|
|
||||||
RunWait, komorebic.exe move-to-monitor %target%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
MoveToWorkspace(target) {
|
|
||||||
RunWait, komorebic.exe move-to-workspace %target%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
MoveToNamedWorkspace(workspace) {
|
|
||||||
RunWait, komorebic.exe move-to-named-workspace %workspace%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
CycleMoveToWorkspace(cycle_direction) {
|
|
||||||
RunWait, komorebic.exe cycle-move-to-workspace %cycle_direction%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
SendToMonitor(target) {
|
|
||||||
RunWait, komorebic.exe send-to-monitor %target%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
SendToWorkspace(target) {
|
|
||||||
RunWait, komorebic.exe send-to-workspace %target%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
SendToNamedWorkspace(workspace) {
|
|
||||||
RunWait, komorebic.exe send-to-named-workspace %workspace%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
CycleSendToWorkspace(cycle_direction) {
|
|
||||||
RunWait, komorebic.exe cycle-send-to-workspace %cycle_direction%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
SendToMonitorWorkspace(target_monitor, target_workspace) {
|
|
||||||
RunWait, komorebic.exe send-to-monitor-workspace %target_monitor% %target_workspace%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
FocusMonitor(target) {
|
|
||||||
RunWait, komorebic.exe focus-monitor %target%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
FocusWorkspace(target) {
|
|
||||||
RunWait, komorebic.exe focus-workspace %target%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
FocusMonitorWorkspace(target_monitor, target_workspace) {
|
|
||||||
RunWait, komorebic.exe focus-monitor-workspace %target_monitor% %target_workspace%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
FocusNamedWorkspace(workspace) {
|
|
||||||
RunWait, komorebic.exe focus-named-workspace %workspace%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
CycleMonitor(cycle_direction) {
|
|
||||||
RunWait, komorebic.exe cycle-monitor %cycle_direction%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
CycleWorkspace(cycle_direction) {
|
|
||||||
RunWait, komorebic.exe cycle-workspace %cycle_direction%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
MoveWorkspaceToMonitor(target) {
|
|
||||||
RunWait, komorebic.exe move-workspace-to-monitor %target%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
NewWorkspace() {
|
|
||||||
RunWait, komorebic.exe new-workspace, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ResizeDelta(pixels) {
|
|
||||||
RunWait, komorebic.exe resize-delta %pixels%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
InvisibleBorders(left, top, right, bottom) {
|
|
||||||
RunWait, komorebic.exe invisible-borders %left% %top% %right% %bottom%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
GlobalWorkAreaOffset(left, top, right, bottom) {
|
|
||||||
RunWait, komorebic.exe global-work-area-offset %left% %top% %right% %bottom%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
MonitorWorkAreaOffset(monitor, left, top, right, bottom) {
|
|
||||||
RunWait, komorebic.exe monitor-work-area-offset %monitor% %left% %top% %right% %bottom%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
AdjustContainerPadding(sizing, adjustment) {
|
|
||||||
RunWait, komorebic.exe adjust-container-padding %sizing% %adjustment%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
AdjustWorkspacePadding(sizing, adjustment) {
|
|
||||||
RunWait, komorebic.exe adjust-workspace-padding %sizing% %adjustment%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ChangeLayout(default_layout) {
|
|
||||||
RunWait, komorebic.exe change-layout %default_layout%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
LoadCustomLayout(path) {
|
|
||||||
RunWait, komorebic.exe load-custom-layout %path%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
FlipLayout(axis) {
|
|
||||||
RunWait, komorebic.exe flip-layout %axis%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Promote() {
|
|
||||||
RunWait, komorebic.exe promote, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
PromoteFocus() {
|
|
||||||
RunWait, komorebic.exe promote-focus, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Retile() {
|
|
||||||
RunWait, komorebic.exe retile, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
MonitorIndexPreference(index_preference, left, top, right, bottom) {
|
|
||||||
RunWait, komorebic.exe monitor-index-preference %index_preference% %left% %top% %right% %bottom%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
EnsureWorkspaces(monitor, workspace_count) {
|
|
||||||
RunWait, komorebic.exe ensure-workspaces %monitor% %workspace_count%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
EnsureNamedWorkspaces(monitor, names) {
|
|
||||||
RunWait, komorebic.exe ensure-named-workspaces %monitor% %names%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ContainerPadding(monitor, workspace, size) {
|
|
||||||
RunWait, komorebic.exe container-padding %monitor% %workspace% %size%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
NamedWorkspaceContainerPadding(workspace, size) {
|
|
||||||
RunWait, komorebic.exe named-workspace-container-padding %workspace% %size%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
WorkspacePadding(monitor, workspace, size) {
|
|
||||||
RunWait, komorebic.exe workspace-padding %monitor% %workspace% %size%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
NamedWorkspacePadding(workspace, size) {
|
|
||||||
RunWait, komorebic.exe named-workspace-padding %workspace% %size%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
WorkspaceLayout(monitor, workspace, value) {
|
|
||||||
RunWait, komorebic.exe workspace-layout %monitor% %workspace% %value%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
NamedWorkspaceLayout(workspace, value) {
|
|
||||||
RunWait, komorebic.exe named-workspace-layout %workspace% %value%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
WorkspaceCustomLayout(monitor, workspace, path) {
|
|
||||||
RunWait, komorebic.exe workspace-custom-layout %monitor% %workspace% %path%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
NamedWorkspaceCustomLayout(workspace, path) {
|
|
||||||
RunWait, komorebic.exe named-workspace-custom-layout %workspace% %path%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
WorkspaceLayoutRule(monitor, workspace, at_container_count, layout) {
|
|
||||||
RunWait, komorebic.exe workspace-layout-rule %monitor% %workspace% %at_container_count% %layout%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
NamedWorkspaceLayoutRule(workspace, at_container_count, layout) {
|
|
||||||
RunWait, komorebic.exe named-workspace-layout-rule %workspace% %at_container_count% %layout%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
WorkspaceCustomLayoutRule(monitor, workspace, at_container_count, path) {
|
|
||||||
RunWait, komorebic.exe workspace-custom-layout-rule %monitor% %workspace% %at_container_count% %path%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
NamedWorkspaceCustomLayoutRule(workspace, at_container_count, path) {
|
|
||||||
RunWait, komorebic.exe named-workspace-custom-layout-rule %workspace% %at_container_count% %path%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ClearWorkspaceLayoutRules(monitor, workspace) {
|
|
||||||
RunWait, komorebic.exe clear-workspace-layout-rules %monitor% %workspace%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ClearNamedWorkspaceLayoutRules(workspace) {
|
|
||||||
RunWait, komorebic.exe clear-named-workspace-layout-rules %workspace%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
WorkspaceTiling(monitor, workspace, value) {
|
|
||||||
RunWait, komorebic.exe workspace-tiling %monitor% %workspace% %value%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
NamedWorkspaceTiling(workspace, value) {
|
|
||||||
RunWait, komorebic.exe named-workspace-tiling %workspace% %value%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
WorkspaceName(monitor, workspace, value) {
|
|
||||||
RunWait, komorebic.exe workspace-name %monitor% %workspace% %value%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ToggleWindowContainerBehaviour() {
|
|
||||||
RunWait, komorebic.exe toggle-window-container-behaviour, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
TogglePause() {
|
|
||||||
RunWait, komorebic.exe toggle-pause, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ToggleTiling() {
|
|
||||||
RunWait, komorebic.exe toggle-tiling, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ToggleFloat() {
|
|
||||||
RunWait, komorebic.exe toggle-float, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ToggleMonocle() {
|
|
||||||
RunWait, komorebic.exe toggle-monocle, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ToggleMaximize() {
|
|
||||||
RunWait, komorebic.exe toggle-maximize, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
RestoreWindows() {
|
|
||||||
RunWait, komorebic.exe restore-windows, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Manage() {
|
|
||||||
RunWait, komorebic.exe manage, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
Unmanage() {
|
|
||||||
RunWait, komorebic.exe unmanage, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ReloadConfiguration() {
|
|
||||||
RunWait, komorebic.exe reload-configuration, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
WatchConfiguration(boolean_state) {
|
|
||||||
RunWait, komorebic.exe watch-configuration %boolean_state%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
CompleteConfiguration() {
|
|
||||||
RunWait, komorebic.exe complete-configuration, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
AltFocusHack(boolean_state) {
|
|
||||||
RunWait, komorebic.exe alt-focus-hack %boolean_state%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
WindowHidingBehaviour(hiding_behaviour) {
|
|
||||||
RunWait, komorebic.exe window-hiding-behaviour %hiding_behaviour%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
CrossMonitorMoveBehaviour(move_behaviour) {
|
|
||||||
RunWait, komorebic.exe cross-monitor-move-behaviour %move_behaviour%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ToggleCrossMonitorMoveBehaviour() {
|
|
||||||
RunWait, komorebic.exe toggle-cross-monitor-move-behaviour, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
UnmanagedWindowOperationBehaviour(operation_behaviour) {
|
|
||||||
RunWait, komorebic.exe unmanaged-window-operation-behaviour %operation_behaviour%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
FloatRule(identifier, id) {
|
|
||||||
RunWait, komorebic.exe float-rule %identifier% "%id%", , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ManageRule(identifier, id) {
|
|
||||||
RunWait, komorebic.exe manage-rule %identifier% "%id%", , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
WorkspaceRule(identifier, id, monitor, workspace) {
|
|
||||||
RunWait, komorebic.exe workspace-rule %identifier% "%id%" %monitor% %workspace%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
NamedWorkspaceRule(identifier, id, workspace) {
|
|
||||||
RunWait, komorebic.exe named-workspace-rule %identifier% "%id%" %workspace%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
IdentifyObjectNameChangeApplication(identifier, id) {
|
|
||||||
RunWait, komorebic.exe identify-object-name-change-application %identifier% "%id%", , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
IdentifyTrayApplication(identifier, id) {
|
|
||||||
RunWait, komorebic.exe identify-tray-application %identifier% "%id%", , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
IdentifyLayeredApplication(identifier, id) {
|
|
||||||
RunWait, komorebic.exe identify-layered-application %identifier% "%id%", , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
IdentifyBorderOverflowApplication(identifier, id) {
|
|
||||||
RunWait, komorebic.exe identify-border-overflow-application %identifier% "%id%", , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ActiveWindowBorder(boolean_state) {
|
|
||||||
RunWait, komorebic.exe active-window-border %boolean_state%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ActiveWindowBorderColour(r, g, b, window_kind) {
|
|
||||||
RunWait, komorebic.exe active-window-border-colour %r% %g% %b% --window-kind %window_kind%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ActiveWindowBorderWidth(width) {
|
|
||||||
RunWait, komorebic.exe active-window-border-width %width%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ActiveWindowBorderOffset(offset) {
|
|
||||||
RunWait, komorebic.exe active-window-border-offset %offset%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
FocusFollowsMouse(boolean_state, implementation) {
|
|
||||||
RunWait, komorebic.exe focus-follows-mouse %boolean_state% --implementation %implementation%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ToggleFocusFollowsMouse(implementation) {
|
|
||||||
RunWait, komorebic.exe toggle-focus-follows-mouse --implementation %implementation%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
MouseFollowsFocus(boolean_state) {
|
|
||||||
RunWait, komorebic.exe mouse-follows-focus %boolean_state%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
ToggleMouseFollowsFocus() {
|
|
||||||
RunWait, komorebic.exe toggle-mouse-follows-focus, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
AhkLibrary() {
|
|
||||||
RunWait, komorebic.exe ahk-library, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
AhkAppSpecificConfiguration(path, override_path) {
|
|
||||||
RunWait, komorebic.exe ahk-app-specific-configuration %path% %override_path%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
PwshAppSpecificConfiguration(path, override_path) {
|
|
||||||
RunWait, komorebic.exe pwsh-app-specific-configuration %path% %override_path%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
FormatAppSpecificConfiguration(path) {
|
|
||||||
RunWait, komorebic.exe format-app-specific-configuration %path%, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
NotificationSchema() {
|
|
||||||
RunWait, komorebic.exe notification-schema, , Hide
|
|
||||||
}
|
|
||||||
|
|
||||||
SocketSchema() {
|
|
||||||
RunWait, komorebic.exe socket-schema, , Hide
|
|
||||||
}
|
|
||||||
@@ -1276,6 +1276,8 @@ fn main() -> Result<()> {
|
|||||||
let stdout = String::from_utf8(output.stdout)?;
|
let stdout = String::from_utf8(output.stdout)?;
|
||||||
match stdout.trim() {
|
match stdout.trim() {
|
||||||
stdout if stdout.is_empty() => None,
|
stdout if stdout.is_empty() => None,
|
||||||
|
// It's possible that a komorebi.ps1 config will be in %USERPROFILE% - ignore this
|
||||||
|
stdout if !stdout.contains("scoop") => None,
|
||||||
stdout => {
|
stdout => {
|
||||||
buf = PathBuf::from(stdout);
|
buf = PathBuf::from(stdout);
|
||||||
buf.pop(); // %USERPROFILE%\scoop\shims
|
buf.pop(); // %USERPROFILE%\scoop\shims
|
||||||
@@ -1705,9 +1707,10 @@ fn main() -> Result<()> {
|
|||||||
println!("\n#Include %A_ScriptDir%\\komorebi.generated.ahk");
|
println!("\n#Include %A_ScriptDir%\\komorebi.generated.ahk");
|
||||||
}
|
}
|
||||||
SubCommand::PwshAppSpecificConfiguration(arg) => {
|
SubCommand::PwshAppSpecificConfiguration(arg) => {
|
||||||
let content = fs::read_to_string(resolve_windows_path(&arg.path)?)?;
|
let content = std::fs::read_to_string(resolve_windows_path(&arg.path)?)?;
|
||||||
let lines = if let Some(override_path) = arg.override_path {
|
let lines = if let Some(override_path) = arg.override_path {
|
||||||
let override_content = fs::read_to_string(resolve_windows_path(&override_path)?)?;
|
let override_content =
|
||||||
|
std::fs::read_to_string(resolve_windows_path(&override_path)?)?;
|
||||||
|
|
||||||
ApplicationConfigurationGenerator::generate_pwsh(
|
ApplicationConfigurationGenerator::generate_pwsh(
|
||||||
&content,
|
&content,
|
||||||
|
|||||||
@@ -15,9 +15,8 @@ alt + h : komorebic focus left
|
|||||||
alt + j : komorebic focus down
|
alt + j : komorebic focus down
|
||||||
alt + k : komorebic focus up
|
alt + k : komorebic focus up
|
||||||
alt + l : komorebic focus right
|
alt + l : komorebic focus right
|
||||||
alt + oem_1 : komorebic force-focus # oem_1 is ;
|
alt + shift + oem_4 : komorebic cycle-focus previous # oem_4 is [
|
||||||
alt + u : komorebic cycle-focus previous
|
alt + shift + oem_6 : komorebic cycle-focus next # oem_6 is ]
|
||||||
alt + i : komorebic cycle-focus next
|
|
||||||
|
|
||||||
# move windows
|
# move windows
|
||||||
alt + shift + h : komorebic move left
|
alt + shift + h : komorebic move left
|
||||||
@@ -27,13 +26,13 @@ alt + shift + l : komorebic move right
|
|||||||
alt + shift + return : komorebic promote
|
alt + shift + return : komorebic promote
|
||||||
|
|
||||||
# stack windows
|
# stack windows
|
||||||
alt + shift + left : komorebic stack left
|
alt + left : komorebic stack left
|
||||||
alt + shift + down : komorebic stack down
|
alt + down : komorebic stack down
|
||||||
alt + shift + up : komorebic stack up
|
alt + up : komorebic stack up
|
||||||
alt + shift + right : komorebic stack right
|
alt + right : komorebic stack right
|
||||||
alt + shift + d : komorebic unstack
|
alt + oem_1 : komorebic unstack # oem_1 is ;
|
||||||
alt + i : komorebic cycle-stack next
|
alt + oem_4 : komorebic cycle-stack previous # oem_4 is [
|
||||||
alt + u : komorebic cycle-stack previous
|
alt + oem_6 : komorebic cycle-stack next # oem_6 is ]
|
||||||
|
|
||||||
# resize
|
# resize
|
||||||
alt + oem_plus : komorebic resize-axis horizontal increase
|
alt + oem_plus : komorebic resize-axis horizontal increase
|
||||||
@@ -58,10 +57,8 @@ alt + y : komorebic flip-layout vertical
|
|||||||
alt + 1 : komorebic focus-workspace 0
|
alt + 1 : komorebic focus-workspace 0
|
||||||
alt + 2 : komorebic focus-workspace 1
|
alt + 2 : komorebic focus-workspace 1
|
||||||
alt + 3 : komorebic focus-workspace 2
|
alt + 3 : komorebic focus-workspace 2
|
||||||
alt + 4 : komorebic focus-workspace 3
|
|
||||||
|
|
||||||
# move windows across workspaces
|
# move windows across workspaces
|
||||||
alt + shift + 1 : komorebic move-to-workspace 0
|
alt + shift + 1 : komorebic move-to-workspace 0
|
||||||
alt + shift + 2 : komorebic move-to-workspace 1
|
alt + shift + 2 : komorebic move-to-workspace 1
|
||||||
alt + shift + 3 : komorebic move-to-workspace 2
|
alt + shift + 3 : komorebic move-to-workspace 2
|
||||||
alt + shift + 4 : komorebic move-to-workspace 3
|
|
||||||
Reference in New Issue
Block a user