mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-04-25 01:58:51 +02:00
docs(mkdocs): start building dedicated site
This commit is contained in:
40
docs/design.md
Normal file
40
docs/design.md
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
hide:
|
||||||
|
- toc
|
||||||
|
---
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
_komorebi_ only responds to [WinEvents](https://docs.microsoft.com/en-us/windows/win32/winauto/event-constants) and the
|
||||||
|
messages it receives on a dedicated 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.
|
||||||
|
[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
|
||||||
|
[_yabai_](https://github.com/koekeishiya/yabai) on macOS, is outlined as follows:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
PROCESS SOCKET
|
||||||
|
whkd/ahk --------> komorebic <------> komorebi
|
||||||
|
```
|
||||||
|
|
||||||
|
## Data Model
|
||||||
|
|
||||||
|
_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 workspace holds a list of containers.
|
||||||
|
|
||||||
|
A container is just a rectangle where one or more application windows can be displayed.
|
||||||
|
|
||||||
|
This means that:
|
||||||
|
|
||||||
|
- Every monitor has its own collection of virtual workspaces
|
||||||
|
- Workspaces only know about containers and their dimensions, not about individual application windows
|
||||||
|
- Every application window must belong to a container, even if that container only contains one application window
|
||||||
|
- Many application windows can be stacked and cycled through in the same container within a workspace
|
||||||
37
docs/getting-started.md
Normal file
37
docs/getting-started.md
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
---
|
||||||
|
hide:
|
||||||
|
- navigation
|
||||||
|
---
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Komorebi is available pre-built to install via
|
||||||
|
[Scoop](https://scoop.sh/#/apps?q=komorebi) and
|
||||||
|
[WinGet](https://winget.run/pkg/LGUG2Z/komorebi), and you may also built
|
||||||
|
it from [source](https://github.com/LGUG2Z/komorebi) if you would prefer.
|
||||||
|
|
||||||
|
- [Scoop](install/scoop.md)
|
||||||
|
- [WinGet](install/winget.md)
|
||||||
|
- [Build from source](install/source.md)
|
||||||
|
|
||||||
|
## Getting Example Configurations
|
||||||
|
|
||||||
|
Run the following command to download example configuration files for
|
||||||
|
`komorebi` and `whkd`. Pay attention to the output of the command to see
|
||||||
|
where the example files have been downloaded.
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
komorebic quickstart
|
||||||
|
```
|
||||||
|
|
||||||
|
## Starting Komorebi
|
||||||
|
|
||||||
|
Run the following command to start `komorebi` and `whkd` with the example
|
||||||
|
configurations.
|
||||||
|
|
||||||
|
It is important that you run this command for the first time without
|
||||||
|
making any modifications to the example configurations to validate that
|
||||||
|
you have a working installation of both `komorebi` and `whkd`.
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
komorebic start --whkd
|
||||||
|
```
|
||||||
15
docs/index.md
Normal file
15
docs/index.md
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# Komorebi
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
_komorebi_ is a tiling window manager that works as an extension to
|
||||||
|
Microsoft's [Desktop Window Manager](https://docs.microsoft.com/en-us/windows/win32/dwm/dwm-overview) in Windows 10 and
|
||||||
|
above.
|
||||||
|
|
||||||
|
_komorebi_ allows you to control application windows, virtual workspaces and display monitors with a CLI which can be
|
||||||
|
used with third-party software such as [AutoHotKey](https://github.com/Lexikos/AutoHotkey_L) to set user-defined
|
||||||
|
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.
|
||||||
19
docs/install/build-from-source.md
Normal file
19
docs/install/build-from-source.md
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
## Installing From Source
|
||||||
|
|
||||||
|
First, [install `rustup`](https://rustup.rs/) to get the `rust` compiler installed on your system, and make sure you have installed the [Visual Studio prerequisites](https://rust-lang.github.io/rustup/installation/windows-msvc.html).
|
||||||
|
|
||||||
|
Then clone the git repository.
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
git clone https://github.com/LGUG2Z/komorebi.git
|
||||||
|
```
|
||||||
|
|
||||||
|
Once inside the repository, you will need to build and install three separate binaries.
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
cargo +stable install --path komorebi --locked
|
||||||
|
cargo +stable install --path komorebic --locked
|
||||||
|
cargo +stable install --path komorebic-no-console --locked
|
||||||
|
```
|
||||||
|
|
||||||
|
If the binaries have been built and added to your `$PATH` correctly, you should see some output when running `komorebi --help` and `komorebic --help`
|
||||||
20
docs/install/scoop.md
Normal file
20
docs/install/scoop.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
## Installing with Scoop
|
||||||
|
|
||||||
|
It highly recommended that you enable support for long paths in Windows by running the following command in an Administrator Terminal before installing komorebi.
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1
|
||||||
|
```
|
||||||
|
### Add the Extras bucket
|
||||||
|
```
|
||||||
|
scoop bucket add extras
|
||||||
|
```
|
||||||
|
|
||||||
|
### Install komorebi and whkd
|
||||||
|
|
||||||
|
This command installs `komorebi` and `whkd`.
|
||||||
|
```
|
||||||
|
scoop install komorebi whkd
|
||||||
|
```
|
||||||
|
|
||||||
|
Once komorebi is installed, proceed to get the [example configurations](../getting-started.html#getting-example-configurations).
|
||||||
16
docs/install/winget.md
Normal file
16
docs/install/winget.md
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
## Installing with Scoop
|
||||||
|
|
||||||
|
It highly recommended that you enable support for long paths in Windows by running the following command in an Administrator Terminal before installing komorebi.
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1
|
||||||
|
```
|
||||||
|
### Install komorebi and whkd
|
||||||
|
|
||||||
|
This command installs `komorebi` and `whkd`.
|
||||||
|
```
|
||||||
|
winget install LGUG2Z.komorebi
|
||||||
|
winget install LGUG2Z.whkd
|
||||||
|
```
|
||||||
|
|
||||||
|
Once komorebi is installed, proceed to get the [example configurations](../getting-started.html#getting-example-configurations).
|
||||||
41
mkdocs.yml
Normal file
41
mkdocs.yml
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
copyright: Copyright © 2020-Present LGUG2Z
|
||||||
|
use_directory_urls: false
|
||||||
|
site_name: Komorebi
|
||||||
|
site_description: The Tiling Window Manager for Windows
|
||||||
|
repo_url: https://github.com/LGUG2Z/komorebi
|
||||||
|
repo_name: LGUG2Z/komorebi
|
||||||
|
docs_dir: docs
|
||||||
|
theme:
|
||||||
|
name: material
|
||||||
|
palette:
|
||||||
|
- media: "(prefers-color-scheme: light)"
|
||||||
|
scheme: default
|
||||||
|
primary: deep purple
|
||||||
|
accent: deep purple
|
||||||
|
toggle:
|
||||||
|
icon: material/weather-sunny
|
||||||
|
name: Switch to dark mode
|
||||||
|
|
||||||
|
# Palette toggle for dark mode
|
||||||
|
- media: "(prefers-color-scheme: dark)"
|
||||||
|
scheme: slate
|
||||||
|
primary: deep purple
|
||||||
|
accent: purple
|
||||||
|
toggle:
|
||||||
|
icon: material/weather-night
|
||||||
|
name: Switch to light mode
|
||||||
|
features:
|
||||||
|
- content.action.edit
|
||||||
|
- content.action.view
|
||||||
|
- content.code.copy
|
||||||
|
- content.tabs.link
|
||||||
|
- navigation.footer
|
||||||
|
- navigation.indexes
|
||||||
|
- navigation.tabs
|
||||||
|
- navigation.tabs.sticky
|
||||||
|
- navigation.tracking
|
||||||
|
- navigation.top
|
||||||
|
- search.highlight
|
||||||
|
- search.share
|
||||||
|
- search.suggest
|
||||||
|
- toc.follow
|
||||||
Reference in New Issue
Block a user