KDE Plasma add-on, that tiles your windows automatically and lets you manage them via keyboard, similarly to i3, Sway or dwm.
Go to file
2021-09-09 00:16:48 +03:00
.github ci: validate typescript via ES lint 2021-09-09 00:16:48 +03:00
.husky feat: add reuse tool precommit hook 2021-09-04 20:33:52 +03:00
.reuse build: 📝 use SPDX statements for licencing 2021-09-04 18:22:29 +03:00
bin build: fix linting errors in bash scripts 2021-09-05 01:26:31 +03:00
img build: 📝 use SPDX statements for licencing 2021-09-04 18:22:29 +03:00
LICENSES build: 📝 use SPDX statements for licencing 2021-09-04 18:22:29 +03:00
res fix: config crash 2021-09-07 13:19:59 +03:00
src refactor: split manageWindows function 2021-09-09 00:16:48 +03:00
test feat: add jest as unit testing framework 2021-09-04 22:38:48 +03:00
.git-blame-ignore-revs build: 📝 use SPDX statements for licencing 2021-09-04 18:22:29 +03:00
.gitignore build: 📝 use SPDX statements for licencing 2021-09-04 18:22:29 +03:00
.prettierignore build: 📝 use SPDX statements for licencing 2021-09-04 18:22:29 +03:00
CONTRIBUTING.md docs: add contribution guidelines 2021-09-05 13:23:22 +03:00
package.json docs: use renamer plugin to make docs a little bit more sane 2021-09-07 13:45:39 +03:00
package.json.license build: 📝 use SPDX statements for licencing 2021-09-04 18:22:29 +03:00
README.md build: 📝 use SPDX statements for licencing 2021-09-04 18:22:29 +03:00
tsconfig.json build: use node resolution to fix building 2021-09-05 01:26:31 +03:00
tsconfig.json.license build: 📝 use SPDX statements for licencing 2021-09-04 18:22:29 +03:00
TWEAKS.md build: 📝 use SPDX statements for licencing 2021-09-04 18:22:29 +03:00

🌈 Bismuth

This is a fork of Krohnkite - a dynamic tiling extension for KWin.

🗺️ Goals

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

🌟 Features

  • Automatic window tiling
    • Dynamically tile windows, rather than manually placing each.
    • Floating windows
  • Fully integrates into KWin features, including:
    • Multi-screen
    • Activities & Virtual desktop
    • Basic window management (minimize, fullscreen, switching, etc)
  • Multiple Layout Support
    • Tiling layout
    • Monocle layout
    • Desktop-friendly layouts (Spread, Stair)

🔧 Installation

Install script via script:

npm run script-install

To uninstall:

npm run script-uninstall

Enabling User-Configuration

It is reported that a manual step is required to enable user configuration of KWin scripts. This is a limitation of KWin scripting.

To enable configuration, you must perform the following in command-line:

mkdir -p ~/.local/share/kservices5/
ln -s ~/.local/share/kwin/scripts/bismuth/metadata.desktop ~/.local/share/kservices5/bismuth.desktop

A configuration button will appear in KWin Scripts in System Settings.

config button shown

To make changes effective, the script must be reactivated:

  1. On KWin Scripts dialog, untick Bismuth
  2. Apply
  3. tick Bismuth
  4. Apply

Tweaks

Proceed to the TWEAKS section.

⌨️ Default Key Bindings

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