zzag / kwin-effects-yet-another-magic-lamp

Just Yet Another Magic Lamp effect
GNU General Public License v2.0
161 stars 27 forks source link
kwin kwin-effect

Yet Another Magic Lamp

Screenshot

Demo

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. The main difference between this effect and the one shipped with KWin is that this effect is more "curvy". In addition to that, this effect works correctly with weird setups (e.g. the panel is between screens) and has more configuration options.

This is mostly eye-candy stuff. If you want to be more productive, consider using another window minimize animation (e.g. Scale, etc).

Installation

Binary package

On openSUSE Tumbleweed

sudo zypper ar obs://home:trmdi trmdi
sudo zypper in -r trmdi kwin-effects-yaml

Build from source

You will need the following dependencies to build this effect:

On Arch Linux

sudo pacman -S cmake extra-cmake-modules kwin

On Fedora

sudo dnf install cmake extra-cmake-modules kf5-kconfig-devel \
    kf5-kcoreaddons-devel kf5-kwindowsystem-devel kwin-devel \
    qt5-qtbase-devel libepoxy-devel kf5-kconfigwidgets-devel

On Ubuntu

sudo apt install cmake extra-cmake-modules kwin-dev \
    libkf5config-dev libkf5configwidgets-dev libkf5coreaddons-dev \
    libkf5windowsystem-dev qtbase5-dev

After you installed all the required dependencies, you can build the effect:

git clone https://github.com/zzag/kwin-effects-yet-another-magic-lamp.git
cd kwin-effects-yet-another-magic-lamp
git checkout Plasma/5.23
mkdir build && cd build
cmake .. \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install

Building the effect against older Plasma versions

If you want to build this effect against an older Plasma release, checkout the corresponding Plasma/x.yz branch, for example

git clone https://github.com/zzag/kwin-effects-yet-another-magic-lamp.git
cd kwin-effects-yet-another-magic-lamp
git checkout Plasma/5.20

Using the effect

Go to System Settings > Desktop Behavior > Desktop Effects, and select "Yet Another Magic Lamp", then click Apply.

Contributing

Any help is welcome. If you have suggestions how to improve this effect(e.g. different duration for each stage of the animation, etc), please create a new issue. If you'd like to contribute by implementing some feature, make sure you've run clang-format before creating a PR.