Use with https://www.pling.com/p/2026302/ for animations.
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.
Karousel requires the following QML modules:
- QtQuick 2.15
- org.kde.kwin 3.0
- org.kde.notification 1.0 (qml-module-org-kde-notifications package on Ubuntu)
Limitations:
- Doesn't support multiple screens
- Doesn't support windows on all desktops
- Doesn't support windows on multiple activities
Key bindings can be configured in KDE System Settings among KWin's own keyboard shortcuts. Here's the default ones:
- Meta+Space — Toggle floating
- Meta+A — Move focus left
- Meta+D — Move focus right (Clashes with default KDE shortcuts, may require manual remapping)
- Meta+W — Move focus up (Clashes with default KDE shortcuts, may require manual remapping)
- Meta+S — Move 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+Home — Move focus to start
- Meta+End — Move focus to end
- Meta+Shift+A — Move window left (Moves window out of and into columns)
- Meta+Shift+D — Move window right (Moves window out of and into columns)
- Meta+Shift+W — Move window up
- Meta+Shift+S — Move window down
- (unassigned) — Move window to the next position in grid
- (unassigned) — Move window to the previous position in grid
- Meta+Shift+Home — Move window to start
- Meta+Shift+End — Move window to end
- Meta+X — Toggle stacked layout for focused column (Only the active window visible)
- Meta+Ctrl+Shift+A — Move column left
- Meta+Ctrl+Shift+D — Move column right
- Meta+Ctrl+Shift+Home — Move column to start
- Meta+Ctrl+Shift+End — Move column to end
- Meta+Ctrl++ — Increase column width
- Meta+Ctrl+- — Decrease column width
- Meta+R — Cycle through preset column widths
- Meta+Shift+R — Cycle through preset column widths in reverse
- Meta+Ctrl+X — Equalize widths of visible columns
- Meta+Ctrl+A — Squeeze left column onto the screen (Clashes with default KDE shortcuts, may require manual remapping)
- Meta+Ctrl+D — Squeeze right column onto the screen
- Meta+Alt+Return — Center focused window (Scrolls so that the focused window is centered in the screen)
- Meta+Alt+A — Scroll one column to the left
- Meta+Alt+D — Scroll one column to the right
- Meta+Alt+PgUp — Scroll left
- Meta+Alt+PgDown — Scroll right
- Meta+Alt+Home — Scroll to start
- Meta+Alt+End — Scroll to end
- Meta+Ctrl+Return — Move 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
This script is still in development, please report any issues here: https://github.com/peterfajdiga/karousel/issues
Plasma 5 version here: https://www.pling.com/p/2045724/
Ratings & Comments
15 Comments
10 best tiling extension ever.
9 Quite nice works really well on ultrawide and with geometry change effect.
10 Best dynamic window tilling script ever :)
Uou!!! I agree!
Hello, now I have another question. In this case, it would be the following: is it possible for me to configure so that new windows open on the left side instead of the right? Reason: I use the global menu in the form of an icon on the edge of the window, when I click to open this menu, the window opens on the right side, and the submenus are opened outside the screen (when I hover the mouse over them). If it opens on the left side instead of the default, I will be able to continue using my workflow normally. If it is possible, what would it be like?
Hey! Let me ask you! How do I make two windows stay on top of each other? In your demonstration video, at one point the terminal and the dolphin were on top of each other. I tried everything. Shortcuts Meta A, D, W, drag with the mouse. Key reconfiguration. It's nothing. Could you teach me how to do that. Because it is very useful and it is very hidden in the settings and even after reading the entire tutorial I was unable to discover it.
Hi, you can achieve that with Meta Shift A and Meta Shift D. After doing this, you can use Meta X to toggle between a stacked layout and a normal vertical layout.
Unfortunately I haven't been able to accomplish this feat yet. I didn't understand very well. But this function doesn't work on Wayland, would that be it? I press the shortcuts you guided me to and nothing happens.
Stacked layout only works on X11. Vertical layout works on both X11 and Wayland. Make sure you have keyboard shortcuts configured for KWin actions "Karousel: Move window left" and "Karousel: Move window right".
Wow!!!! Now everything fell into place! Thank you so much! :) The problem is that I didn't have shortcuts and I didn't know which phrase to look for, because I speak Portuguese and my English is broken. And there are dozens of shortcuts. :) Now it's gone! And now I'm curious to know what the X11 feature would be, as it isn't in the video. lol
9 My developer friend, how are you? Face! Is your add-on for Kwin fantastic? I confess that I was confused about its use. And for me, maybe it won't be possible to use it because I use a notebook and it interferes with the native function of displaying all the windows on the screen on the side edge that I use on Plasma 6 itself. If it didn't interfere with this it would be very interesting. And it will display all the windows on the desktop as requested by the command to touch the corner of the window. Another thing, in the video, your application icons are in a different taskbar. What would she be?
It's a custom task manager plasmoid, but I haven't released it yet, because it's a hack and it doesn't yet work completely properly. To do it properly, it would need a way to communicate with the Karousel script, but there is no nice way to do this.
Entendi, espero que você tenha sucesso logo e lance em seguida. Muito bonito! É, com certeza, outra coisa que eu utilizaria de forma oficial no meu workflow.
10 awesome! kde is not as cool without this
10 I love it!