mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-11-14 21:04:04 +01:00
130 lines
3.7 KiB
Markdown
130 lines
3.7 KiB
Markdown
# 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`](https://github.com/koekeishiya/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](https://github.com/LGUG2Z/komorebi) repository, are available to install
|
|
via [Homebrew](https://github.com/LGUG2Z/homebrew-tap), and you may also build
|
|
from source if you would prefer.
|
|
|
|
- [Homebrew](#homebrew)
|
|
- [Building from source](#building-from-source)
|
|
|
|
## 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
|
|
|
|
```shell
|
|
brew tap lgug2z/tap
|
|
```
|
|
|
|
Then install the `komorebi-for-mac-nightly` package
|
|
|
|
```shell
|
|
brew install lgug2z/tap/komorebi-for-mac-nightly
|
|
```
|
|
|
|
You may also optionally install the `skhd` package
|
|
|
|
```shell
|
|
brew install skhd
|
|
```
|
|
|
|
## Nix Flake
|
|
|
|
The macOS packages and the nix-darwin module are consumed from the
|
|
[LGUG2Z/komorebi](https://github.com/LGUG2Z/komorebi) repository.
|
|
|
|
Add the repository as an input
|
|
|
|
```nix
|
|
{
|
|
inputs.komorebi.url = "github:LGUG2Z/komorebi";
|
|
}
|
|
```
|
|
|
|
Add the overlay to your system's nixpkgs configuration
|
|
|
|
```nix
|
|
{
|
|
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)
|
|
|
|
```nix
|
|
{
|
|
environment.systemPackages = [
|
|
pkgs.komorebi-full
|
|
];
|
|
}
|
|
```
|
|
|
|
## Building from source
|
|
|
|
Make sure you have installed [`rustup`](https://rustup.rs), and a stable `rust`
|
|
compiler toolchain.
|
|
|
|
Clone the git repository, enter the directory, and build the following binaries:
|
|
|
|
```powershell
|
|
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](example-configurations.md).
|
|
|
|
## 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:
|
|
|
|
```powershell
|
|
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"
|
|
```
|