mirror of
https://github.com/R0h1tAnand/kwin-meta-scroll-switcher.git
synced 2026-10-31 03:34:45 -07:00
KWin effect: switch virtual desktops with Meta+Scroll (no Alt required)
- Shell 49.2%
- C++ 31.5%
- CMake 19.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| src | ||
| .gitignore | ||
| CMakeLists.txt | ||
| install.sh | ||
| LICENSE | ||
| README.md | ||
kwin-meta-scroll-switcher
Switch virtual desktops by holding Meta and scrolling — no Alt needed.
KDE Plasma hardcodes Meta+Alt+scroll (source) with no way to configure it (KDE #510707). This plugin adds Meta-only scrolling as an independent KWin effect without touching the existing shortcut.
Install
git clone https://github.com/R0h1tAnand/kwin-meta-scroll-switcher.git
cd kwin-meta-scroll-switcher
bash install.sh
| Flag | Action |
|---|---|
| (none) | Install deps, build, and enable |
--enable |
Enable without rebuilding |
--disable |
Disable the effect |
--uninstall |
Remove from system |
Manual Build
Expand
# Dependencies (Debian/Ubuntu/Kali)
sudo apt install cmake extra-cmake-modules kwin-dev qt6-base-dev qt6-declarative-dev \
libkf6coreaddons-dev libkf6config-dev libkf6globalaccel-dev libkf6i18n-dev \
libkf6kcmutils-dev libdrm-dev libepoxy-dev libwayland-dev
# Build & install
cmake -B build -DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
sudo cmake --install build
Enable via System Settings → Apps → Desktop Effects → "Meta+Scroll Desktop Switch", or:
kwriteconfig6 --file kwinrc --group Plugins --key kwin_meta_scroll_desktopEnabled true
qdbus6 org.kde.KWin /KWin reconfigure
Usage & Configuration
Hold Meta and scroll over any window to switch desktops.
By default, scrolling wraps around. To disable — open the effect's gear icon in Desktop Effects, or:
kwriteconfig6 --file kwinrc --group Effect-kwin_meta_scroll_desktop --key WrapAroundDesktops false
qdbus6 org.kde.KWin /Effects org.kde.kwin.Effects.reconfigureEffect kwin_meta_scroll_desktop
Notes
- Built against KWin's internal effect ABI — rebuild after major Plasma upgrades.
- Tested on Plasma/KWin 6.6.5. Other 6.x versions should work.