Yet Another Magic Lamp is a window minimization effect for KWin. Whenever a window is minimized, it'll get sucked down into the dock/panel. Compared to the Magic Lamp effect shipped with KWin, this effect features a smoother, more „curvy“ animation and more configuration options. Additionally, this fork improves upon both the built-in effect and the original by Vlad Zahorodnii with fixed multi-monitor support — correctly identifying the target panel when minimizing, regardless of which screen the window is on or how panels are distributed across displays.
This project was originally created by Vlad Zahorodnii, who maintained it through Plasma 5.27. Since the original repository has not been updated in several years, this fork continues development independently, focusing exclusively on Wayland under Plasma 6. X11 is no longer supported.
Clone the repository and run the install script — it will check and install all required dependencies automatically, then build and install the effect.
git clone https://github.com/Si13n7/kwin-effects-yet-another-magic-lamp-reloaded.git
cd kwin-effects-yet-another-magic-lamp-reloaded
chmod +x ./install.sh
./install.shSupports Arch Linux, Fedora, openSUSE Tumbleweed, and Debian, as well as most distributions based on these.
You will need the following dependencies to build this effect:
- CMake
- any C++20 enabled compiler
- Qt 6: Core, DBus, Gui, Widgets
- KWin (Plasma 6.6 or later)
- KDE Frameworks 6:
- Config
- ConfigWidgets
- CoreAddons
- Extra CMake Modules
- KCMUtils
- WindowSystem
- libdrm
On Arch Linux → Manjaro, EndeavourOS, Garuda Linux, CachyOS
sudo pacman -S \
base-devel \
cmake \
extra-cmake-modules \
kwin \
kconfig \
kconfigwidgets \
kcmutils \
kcoreaddons \
kwindowsystem \
qt6-base \
libdrmOn Fedora → Kinoite, Bazzite, Nobara
sudo dnf install \
cmake \
extra-cmake-modules \
kwin-devel \
kf6-kconfig-devel \
kf6-kconfigwidgets-devel \
kf6-kcmutils-devel \
kf6-kcoreaddons-devel \
kf6-kwindowsystem-devel \
qt6-qtbase-devel \
libdrm-devel \
libepoxy-develOn openSUSE Tumbleweed
sudo zypper install \
gcc-c++ \
cmake \
kf6-extra-cmake-modules \
kwin6-devel \
kf6-kconfig-devel \
kf6-kconfigwidgets-devel \
kf6-kcmutils-devel \
kf6-kcoreaddons-devel \
kf6-kwindowsystem-devel \
qt6-base-devel \
qt6-declarative-devel \
libdrm-devel \
libepoxy-develOn Debian → Kubuntu, KDE neon, MX Linux, Nitrux
Note: This effect requires KWin 6.6 or later. Building on Debian-based distributions may fail if the KWin version available in the repositories does not meet this requirement.
sudo apt install \
build-essential \
cmake \
extra-cmake-modules \
kwin-dev \
libkf6config-dev \
libkf6configwidgets-dev \
libkf6coreaddons-dev \
libkf6kcmutils-dev \
libkf6windowsystem-dev \
qt6-base-dev \
libdrm-devAfter you installed all the required dependencies, you can build the effect:
git clone https://github.com/Si13n7/kwin-effects-yet-another-magic-lamp-reloaded.git
cd kwin-effects-yet-another-magic-lamp-reloaded
mkdir build && cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr
make
sudo make installThis fork targets Plasma 6.6 and later exclusively. For older Plasma (5.x) releases, use the original repository by zzag, which provides dedicated branches per Plasma version.
Step 1 — Clone the original repository:
git clone https://github.com/zzag/kwin-effects-yet-another-magic-lamp.git
cd kwin-effects-yet-another-magic-lampStep 2 — Check out the branch matching your Plasma version:
git checkout Plasma/5.27Replace 5.27 with your target version (e.g. 5.24, 5.23).
Open System Settings and navigate to:
Animations → Window minimize
Select "Yet Another Magic Lamp" and click Apply.
Contributions are welcome. For suggestions or ideas, please open an issue. For code contributions, run clang-format before submitting a pull request.