Home

Awesome

Karousel

Scrollable tiling Kwin script. Works especially well with ultrawide screens. Use with this for animations.

https://github.com/peterfajdiga/karousel/assets/22796326/2ab62d18-09c7-45f9-8fda-e5e36b8d7a02

A scrollable tiling window manager tiles windows, but it does not maximize their widths. Instead, it leaves the width of windows to the user's control. Windows are automatically centered when possible. And when running out of width, windows can be scrolled through horizontally.

Similar window managers include PaperWM, Niri, and Cardboard.

Dependencies

Karousel requires the following QML modules:

Limitations

Installation

Download the latest release and extract it into ~/.local/share/kwin/scripts/.

Or clone the repo and run make install (requires node and tsc).

Key bindings

The key bindings can be configured in KDE System Settings among KWin's own keyboard shortcuts. Here's the default ones:

ShortcutAction
Meta+SpaceToggle floating
Meta+AMove focus left
Meta+DMove focus right (Clashes with default KDE shortcuts, may require manual remapping)
Meta+WMove focus up (Clashes with default KDE shortcuts, may require manual remapping)
Meta+SMove focus down (Clashes with default KDE shortcuts, may require manual remapping)
(unassigned)Move focus to the next window in grid
(unassigned)Move focus to the previous window in grid
Meta+HomeMove focus to start
Meta+EndMove focus to end
Meta+Shift+AMove window left (Moves window out of and into columns)
Meta+Shift+DMove window right (Moves window out of and into columns)
Meta+Shift+WMove window up
Meta+Shift+SMove window down
(unassigned)Move window to the next position in grid
(unassigned)Move window to the previous position in grid
Meta+Shift+HomeMove window to start
Meta+Shift+EndMove window to end
Meta+XToggle stacked layout for focused column (One window in the column visible, others shaded; not supported on Wayland)
Meta+Ctrl+Shift+AMove column left
Meta+Ctrl+Shift+DMove column right
Meta+Ctrl+Shift+HomeMove column to start
Meta+Ctrl+Shift+EndMove column to end
Meta+Ctrl++Increase column width
Meta+Ctrl+-Decrease column width
Meta+RCycle through preset column widths
Meta+Ctrl+XEqualize widths of visible columns
Meta+Ctrl+ASqueeze left column onto the screen (Clashes with default KDE shortcuts, may require manual remapping)
Meta+Ctrl+DSqueeze right column onto the screen
Meta+Alt+ReturnCenter focused window (Scrolls so that the focused window is centered in the screen)
Meta+Alt+AScroll one column to the left
Meta+Alt+DScroll one column to the right
Meta+Alt+PgUpScroll left
Meta+Alt+PgDownScroll right
Meta+Alt+HomeScroll to start
Meta+Alt+EndScroll to end
Meta+Ctrl+ReturnMove Karousel grid to the current screen
Meta+[N]Move focus to column N (Clashes with default KDE shortcuts, may require manual remapping)
Meta+Shift+[N]Move window to column N (Requires manual remapping according to your keyboard layout, e.g. Meta+Shift+1 -> Meta+!)
Meta+Ctrl+Shift+[N]Move column to position N (Requires manual remapping according to your keyboard layout, e.g. Meta+Ctrl+Shift+1 -> Meta+Ctrl+!)
Meta+Ctrl+Shift+F[N]Move column to desktop N
Meta+Ctrl+Shift+Alt+F[N]Move this and all following columns to desktop N