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-22 02:50:48 +03:00
.github build: mode eslint to a separate file 2021-09-09 00:16:48 +03:00
.husky build: remove test pre-commit hook because it is slow 2021-09-09 00:16:48 +03:00
.reuse build: 📝 use SPDX statements for licencing 2021-09-04 18:22:29 +03:00
bin fix: check plugin info after installation 2021-09-11 13:01:40 +03:00
img docs: 📝 add video demonstration 2021-09-17 21:24:27 +03:00
LICENSES build: 📝 use SPDX statements for licencing 2021-09-04 18:22:29 +03:00
res feat: 🏗️ lean out the shortcuts definitions 2021-09-22 02:50:48 +03:00
src style(tests): 💡 add eslint ignore for whole test files 2021-09-22 02:50:48 +03:00
test test: add a few basic tests with mocks 2021-09-16 18:25:18 +03:00
.eslintrc.json build: 🚨 disable linting where we cannot do anyshing in the short term 2021-09-17 23:30:14 +03:00
.eslintrc.json.license build: mode eslint to a separate file 2021-09-09 00:16: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
config.ts test: add a few basic tests with mocks 2021-09-16 18:25:18 +03:00
CONTRIBUTING.md docs: add contribution guidelines 2021-09-05 13:23:22 +03:00
package.json build: 🔧 fix eslint configuration 2021-09-17 19:23:58 +03:00
package.json.license build: 📝 use SPDX statements for licencing 2021-09-04 18:22:29 +03:00
README.md docs: 📝 add video demonstration 2021-09-17 21:24:27 +03:00
tsconfig.json test: add a few basic tests with mocks 2021-09-16 18:25:18 +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

code style: prettier

Arrange your windows automatically and switch between them using keyboard shortcuts. All of that with different layouts and without a complicated setup of classic tiling window managers (i3, dwm or XMonad). Just install the script on any KDE Plasma powered Linux distribution and enjoy your computing! 🦾

script demo

This is a fork of Krohnkite. The fork was made, because the old project seems to be unmaintained.

🗺️ 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 install # Installs dependencies for building
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