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-23 19:37:06 +03:00
.github feat: 📝 add issues' templates 2021-09-23 14:31:54 +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
.vscode chore: 🔧 add vscode workspace config with wayland CC scope 2021-09-23 13:50:04 +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(wayland): 🔥 remove mouse poller 2021-09-23 13:50:04 +03:00
src feat(wayland): 🔥 remove qmlSetTimer 2021-09-23 13:50:04 +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: 📝 update shortcuts reference 2021-09-23 19:37:06 +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

Conventional Commits code style: prettier wayland: supported

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.

⌨️ Actions and Default Keyboard Shortcuts

Action Key
Focus Next Window None
Focus Previous Window None
Focus Upper Window Meta + J
Focus Bottom Window Meta + K
Focus Left Window Meta + H
Focus Right Window Meta + L
Move Window To Next Position None
Move Window To Previous Position None
Move Window Up Meta + Shift + J
Move Window Down Meta + Shift + K
Move Window Left Meta + Shift + H
Move Window Right Meta + Shift + L
Increase Window Width Meta + Ctrl + L
Increase Window Height Meta + Ctrl + J
Decrease Window Width Meta + Ctrl + H
Decrease Window Height Meta + Ctrl + K
Increase Master Area Window Count None
Decrease Master Area Window Count None
Increase Master Area Size Meta + I
Decrease Master Area Size Meta + D
Push Window Into Master Area Meta + Return
Toggle Active Window Floating Meta + F
Switch To Next Layout Meta + \
Switch To Previous Layout Meta + |
Set Tile Layout Meta + T
Set Monocle Layout Meta + M
Set Three Column Layout None
Set Spread Layout None
Set Stair Layout None
Set Floating Layout None
Set Quarter Layout None
Rotate Meta + R
Rotate Part Meta + Shift + R