3.7 KiB
Getting started
komorebi is a tiling window manager for macOS that is comprised of two
main binaries, komorebi, which contains the window manager itself,
and komorebic, which is the main way to send commands to the tiling
window manager.
It is important to note that neither komorebi nor komorebic handle
key bindings, because komorebi is a tiling window manager and not a hotkey
daemon.
This getting started guide suggests the installation of
skhd to allow you to bind komorebic
commands to hotkeys to allow you to communicate with the tiling window manager
using keyboard shortcuts.
Installation
Nightly builds, built from the LGUG2Z/komorebi repository, are available to install via Homebrew, and you may also build from source if you would prefer.
System settings suggestions
Go to System Settings -> Desktop & Dock -> Mission Control -> Displays have separate Spaces and disable this option if you are using more than one monitor.
komorebi is scoped to a single macOS space (the one that is active when the
process is started), which means that you can still use other Spaces as if
komorebi were not running at all. If you are using monitors with the above
option enabled, komorebi will only be listening to events from the Space on the
monitor which it was launched on.
Go to System Settings -> Desktop & Dock -> Mission Control -> Group windows by application and disable this option if you like to use mission control.
Homebrew
First add the lgug2z/tap Homebrew Tap
brew tap lgug2z/tap
Then install the komorebi-for-mac-nightly package
brew install lgug2z/tap/komorebi-for-mac-nightly
You may also optionally install the skhd package
brew install skhd
Nix Flake
The macOS packages and the nix-darwin module are consumed from the LGUG2Z/komorebi repository.
Add the repository as an input
{
inputs.komorebi.url = "github:LGUG2Z/komorebi";
}
Add the overlay to your system's nixpkgs configuration
{
pkgs = import nixpkgs {
inherit system;
overlays = [ komorebi.overlays.macos ];
# the rest of your pkgs configuration
};
}
Add pkgs.komorebi-full to environment.systemPackages (you may also add
pkgs.komorebi, pkgs.komorebic and pkgs.komorebi-bar individually)
{
environment.systemPackages = [
pkgs.komorebi-full
];
}
Building from source
Make sure you have installed rustup, and a stable rust
compiler toolchain.
Clone the git repository, enter the directory, and build the following binaries:
cargo +stable install --path komorebi --locked --target-dir ~/.cargo/bin
cargo +stable install --path komorebic --locked --target-dir ~/.cargo/bin
cargo +stable install --path komorebi-bar --locked --target-dir ~/.cargo/bin
If the binaries have been built and added to your $PATH correctly, you should
see some output when running komorebi --help and komorebic --help
Once komorebi is installed, proceed to get the example configurations.
Uninstallation
Before uninstalling, first run komorebic stop to make sure that
the komorebi processes have been stopped.
Finally, you can run the following commands to clean up files created by the
quickstart command and any other runtime files:
rm -rf ~/.cargo/bin/komorebi
rm -rf ~/.cargo/bin/komorebic
rm -rf ~/.cargo/bin/komorebi-bar
rm -rf ~/.config/komorebi
rm -rf "~/Library/Application Support/komorebi"