KWin effect: switch virtual desktops with Meta+Scroll (no Alt required)
  • Shell 49.2%
  • C++ 31.5%
  • CMake 19.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-02 01:15:33 +05:30
src Wire up the settings KCM and kcfg generation in the build 2026-08-08 15:21:28 +05:30
.gitignore Initial commit: Meta+Scroll desktop switch KWin effect 2026-08-04 20:08:14 +05:30
CMakeLists.txt Wire up the settings KCM and kcfg generation in the build 2026-08-08 15:21:28 +05:30
install.sh feat: add one-shot install.sh script 2026-08-09 19:50:47 +05:30
LICENSE Initial commit: Meta+Scroll desktop switch KWin effect 2026-08-04 20:08:14 +05:30
README.md docs: condense and streamline README layout and instructions 2026-10-02 01:15:33 +05:30

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.

License

GPL-2.0-or-later