# KWin :::{important} It is necessary to restart KWin after updating the plugin, otherwise the newer version will not be loaded and the old one will be used instead. ::: The minimum Plasma version is 6.3, for older versions use InputActions v0.8.0. If a new feature requires additional changes to work on older versions, it will likely be made available only on the latest one. ## Packages :::{note} Unofficial packages may not be up to date. :::
Arch Linux (AUR)* :::{important} Choose ``cleanBuild`` when reinstalling the package. ::: ``` yay -S inputactions-kwin ```
NixOS (flakes) ```{code-block} nix :caption: flake.nix { inputs = { inputactions-ctl = { url = "git+https://github.com/InputActions/ctl?submodules=1"; inputs.nixpkgs.follows = "nixpkgs"; }; inputactions-kwin = { url = "git+https://github.com/InputActions/kwin?submodules=1"; inputs.nixpkgs.follows = "nixpkgs"; }; }; } ``` ```{code-block} nix :caption: configuration.nix { inputs, pkgs, ... }: { environment.systemPackages = [ inputs.inputactions-ctl.packages.${pkgs.system}.default inputs.inputactions-kwin.packages.${pkgs.system}.default ]; } ``` Optionally, add the official binary cache if compilation times are an issue: ```{code-block} nix :caption: configuration.nix { nix.settings = { extra-substituters = ["https://inputactions.cachix.org"]; extra-trusted-public-keys = ["inputactions.cachix.org-1:yBGhAqTOv0V08lrOTBwMAkU7V/9a0i2UPvsvCu39CjE="]; }; } ```
**\* Unofficial package, use at your own risk.** ## Manual ### Dependencies
Arch Linux ``` sudo pacman -S --needed base-devel git extra-cmake-modules qt6-declarative qt6-tools kwin yaml-cpp libevdev cli11 vulkan-headers ```
Debian-based (KDE Neon, Kubuntu, Ubuntu) ``` sudo apt install git cmake g++ extra-cmake-modules qt6-declarative-dev qt6-tools-dev kwin-wayland kwin-dev libkf6configwidgets-dev gettext libkf6kcmutils-dev libyaml-cpp-dev libxkbcommon-dev pkg-config libevdev-dev libdrm-dev libcli11-dev ```
Fedora ``` sudo dnf install git cmake extra-cmake-modules gcc-g++ qt6-qtbase-devel kwin-devel kf6-ki18n-devel kf6-kguiaddons-devel kf6-kcmutils-devel kf6-kconfigwidgets-devel qt6-qtbase qt6-qtdeclarative-devel kf6-kguiaddons kf6-ki18n wayland-devel yaml-cpp yaml-cpp-devel libepoxy-devel libevdev libevdev-devel libdrm-devel cli11-devel ```
openSUSE ``` sudo zypper in git cmake-full gcc-c++ kf6-extra-cmake-modules kf6-kguiaddons-devel kf6-kconfigwidgets-devel kf6-ki18n-devel kf6-kcmutils-devel qt6-declarative-devel "cmake(KF6I18n)" "cmake(KF6KCMUtils)" "cmake(KF6WindowSystem)" "cmake(Qt6Core)" "cmake(Qt6DBus)" "cmake(Qt6Quick)" "cmake(Qt6Widgets)" libepoxy-devel kwin6-devel yaml-cpp-devel libxkbcommon-devel libevdev-devel cli11-devel ```
### Installation ```sh curl -o inputactions-installer.sh https://raw.githubusercontent.com/taj-ny/InputActions/refs/heads/main/install.sh chmod +x inputactions-installer.sh ./inputactions-installer.sh --ctl --kwin --latest ``` ### Installation (Fedora immutable) Build the plugin in a container. The image's KWin version must be the same as the one on your real system. ```sh # enter container sudo dnf install git cmake extra-cmake-modules gcc-g++ qt6-qtbase-devel kwin-devel kf6-ki18n-devel kf6-kguiaddons-devel kf6-kcmutils-devel kf6-kconfigwidgets-devel qt6-qtbase qt6-qtdeclarative-devel kf6-kguiaddons kf6-ki18n wayland-devel yaml-cpp yaml-cpp-devel libepoxy-devel libevdev libevdev-devel libdrm-devel cli11-devel rpmbuild curl -o inputactions-installer.sh https://raw.githubusercontent.com/taj-ny/InputActions/refs/heads/main/install.sh chmod +x inputactions-installer.sh ./inputactions-installer.sh --ctl --kwin -p RPM --latest exit # exit container installer_dir="${XDG_DATA_HOME:-$HOME/.local/share}/inputactions-installer" sudo rpm-ostree install "$installer_dir/inputactions-ctl.rpm" "$installer_dir/inputactions-kwin.rpm" ``` ## After installation To enable the plugin, run ```sh qdbus6 org.kde.KWin /Effects org.kde.kwin.Effects.loadEffect kwin_gestures ``` or open the ``Desktop Effects`` page in ``System Settings`` and enable ``InputActions`` in the ``Tools`` category. If the plugin ever causes the compositor to crash repeatedly, making it impossible to disable it, remove ``kwin_gesturesEnabled=true`` from ``~/.config/kwinrc``. ## Additional setup (optional) To enable [extra touchpad features](/devices/touchpad/index.md#evdev-backend), create a file at ``/etc/udev/rules.d/71-touchpad.rules`` with the following content: ``` ENV{ID_INPUT_TOUCHPAD}=="1", TAG+="uaccess" ``` This will give all programs read and write access to all touchpads.