2021-09-04 16:33:51 +03:00
|
|
|
<!--
|
|
|
|
SPDX-FileCopyrightText: 2021 Mikhail Zolotukhin <mail@genda.life>
|
|
|
|
SPDX-FileCopyrightText: 2018-2019 Eon S. Jeon <esjeon@hyunmu.am>
|
|
|
|
SPDX-License-Identifier: MIT
|
|
|
|
-->
|
|
|
|
|
2021-08-28 15:25:44 +03:00
|
|
|
# 🌈 Bismuth
|
2018-11-06 09:38:22 +03:00
|
|
|
|
2021-08-28 14:44:30 +03:00
|
|
|
This is a fork of [Krohnkite](https://github.com/esjeon/krohnkite) - a dynamic tiling extension for KWin.
|
2018-11-14 09:23:55 +03:00
|
|
|
|
2021-08-28 15:25:44 +03:00
|
|
|
## 🗺️ Goals
|
2021-08-28 15:01:57 +03:00
|
|
|
|
|
|
|
Project goals are the following:
|
|
|
|
|
|
|
|
1. Provide full-fledged tiling window manager experience in KDE Plasma with minimal effort on user side
|
|
|
|
2. Wayland support
|
|
|
|
|
2021-08-28 15:25:44 +03:00
|
|
|
## 🌟 Features
|
2018-11-12 11:16:57 +03:00
|
|
|
|
2021-08-28 15:03:36 +03:00
|
|
|
- Automatic window tiling
|
2021-08-28 11:25:45 +03:00
|
|
|
- Dynamically tile windows, rather than manually placing each.
|
|
|
|
- Floating windows
|
|
|
|
- Fully integrates into KWin features, including:
|
2021-08-28 15:03:36 +03:00
|
|
|
- Multi-screen
|
|
|
|
- Activities & Virtual desktop
|
2021-08-28 11:25:45 +03:00
|
|
|
- Basic window management (minimize, fullscreen, switching, etc)
|
|
|
|
- Multiple Layout Support
|
|
|
|
- Tiling layout
|
|
|
|
- Monocle layout
|
|
|
|
- Desktop-friendly layouts (Spread, Stair)
|
2018-12-04 02:38:44 +03:00
|
|
|
|
2021-08-28 15:25:44 +03:00
|
|
|
## 🔧 Installation
|
2018-11-12 11:16:57 +03:00
|
|
|
|
2021-09-03 22:08:22 +03:00
|
|
|
Install script via script:
|
|
|
|
|
|
|
|
npm run script-install
|
|
|
|
|
|
|
|
To uninstall:
|
|
|
|
|
|
|
|
npm run script-uninstall
|
2019-01-28 10:01:33 +03:00
|
|
|
|
2021-08-28 11:25:45 +03:00
|
|
|
### Enabling User-Configuration
|
2018-11-19 10:09:26 +03:00
|
|
|
|
2021-08-28 14:54:40 +03:00
|
|
|
<!-- TODO: This section should not exist in ideal world. -->
|
|
|
|
|
2019-01-28 10:01:33 +03:00
|
|
|
[It is reported][kwinconf] that a manual step is required to enable user
|
|
|
|
configuration of KWin scripts. This is a limitation of KWin scripting.
|
2018-11-19 10:09:26 +03:00
|
|
|
|
|
|
|
To enable configuration, you must perform the following in command-line:
|
|
|
|
|
|
|
|
mkdir -p ~/.local/share/kservices5/
|
2021-08-28 11:20:19 +03:00
|
|
|
ln -s ~/.local/share/kwin/scripts/bismuth/metadata.desktop ~/.local/share/kservices5/bismuth.desktop
|
2018-11-19 10:09:26 +03:00
|
|
|
|
|
|
|
A configuration button will appear in `KWin Scripts` in `System Settings`.
|
|
|
|
|
2021-09-04 12:58:07 +03:00
|
|
|
![config button shown](img/scripts_kcm_item.png)
|
2018-11-19 10:09:26 +03:00
|
|
|
|
2020-08-30 20:58:26 +03:00
|
|
|
To make changes effective, **the script must be reactivated**:
|
2019-01-28 10:01:33 +03:00
|
|
|
|
2021-08-28 11:25:45 +03:00
|
|
|
1. On `KWin Scripts` dialog, untick Bismuth
|
|
|
|
2. `Apply`
|
|
|
|
3. tick Bismuth
|
|
|
|
4. `Apply`
|
2018-11-19 10:09:26 +03:00
|
|
|
|
2021-08-28 11:25:45 +03:00
|
|
|
[kwinconf]: https://github.com/faho/kwin-tiling/issues/79#issuecomment-311465357
|
2018-11-12 11:16:57 +03:00
|
|
|
|
2021-08-28 14:54:40 +03:00
|
|
|
### Tweaks
|
|
|
|
|
|
|
|
Proceed to the [TWEAKS section](TWEAKS.md).
|
|
|
|
|
2021-08-28 15:25:44 +03:00
|
|
|
## ⌨️ Default Key Bindings
|
2021-08-28 11:25:45 +03:00
|
|
|
|
|
|
|
| Key | Action |
|
|
|
|
| ---------------- | ------------------ |
|
|
|
|
| Meta + J | Focus Down/Next |
|
|
|
|
| Meta + K | Focus Up/Previous |
|
|
|
|
| Meta + H | Left |
|
|
|
|
| Meta + L | Right |
|
|
|
|
| | |
|
|
|
|
| Meta + Shift + J | Move Down/Next |
|
|
|
|
| Meta + Shift + K | Move Up/Previous |
|
|
|
|
| Meta + Shift + H | Move Left |
|
|
|
|
| Meta + Shift + L | Move Right |
|
|
|
|
| | |
|
|
|
|
| Meta + I | Increase |
|
|
|
|
| Meta + D | Decrease |
|
|
|
|
| Meta + F | Toggle Floating |
|
|
|
|
| Meta + \ | Cycle Layout |
|
|
|
|
| | |
|
|
|
|
| Meta + Return | Set as Master |
|
|
|
|
| | |
|
|
|
|
| Meta + T | Use Tile Layout |
|
|
|
|
| Meta + M | Use Monocle Layout |
|
|
|
|
| _unbound_ | Use Spread Layout |
|
|
|
|
| _unbound_ | Use Stair Layout |
|