PlasmaZones v3.4.18
Added
- Shader presets, for every kind of pack: a preset is a named set of values for one shader pack, so a look you have tuned can be saved once and used in several places. Only zone overlays had them before, and the only thing you could do with one was load it into the preview, which forgot it again the moment you closed the window. Presets now work for window animations, decorations, the pointer and zone overlays alike, and you assign one rather than copying its values. The preset row sits above the settings wherever a pack is tuned, which is the animation event cards, each layer of a decoration or pointer chain, the overlay assignment cards and the pack browser. Because an assignment points at the preset instead of holding a copy, editing the preset moves everything using it straight away, with no restart and nothing to reapply. Change a setting on top of an assigned preset and it is marked as modified, which means that one value stays as you set it while everything you have not touched keeps following the preset. From there you can put it back, or fold it into the preset for everything else using it. Your presets live in
~/.local/share/plasmazones/shader-presetsas one small file each, so they are easy to keep or pass to someone else, and a file edited by hand or by another program is picked up without a restart. Pack authors can ship presets too, by naming them in the pack'smetadata.json. Those are listed beside your own and marked as belonging to the pack, and you can copy one to get an editable starting point. Rules can name a preset as well, so a rule that gives one application its own look can point at the same preset everything else uses. Renaming a preset is safe, because what an assignment remembers is not its name. Deleting one leaves everything that used it looking exactly as it does now, since each assignment keeps the values it was already drawing with. Any presets you had saved from the old zone overlay dialog are brought across the first time this version runs. (#1100)
Changed
- Save Preset and Load Preset are gone from the shader browser: they wrote loose files that were identified by where you happened to save them, which is the one thing an assignment cannot point at. The preset row that replaces them does the same job and rather more, and it is on every pack rather than only zone overlays. Presets you saved with the old buttons are imported automatically. (#1100)
Fixed
- The pointer trail disappeared when you shook the mouse: shaking the pointer is the gesture that ought to draw the longest trail, and instead the whole trail blinked out in a single frame and stayed out until the shake ended. Plasma magnifies the pointer during a shake by hiding the system cursor and drawing its own larger copy, and PlasmaZones read that hidden system cursor as "there is no pointer here to decorate", so it threw the trail away on every mouse move for as long as the magnification lasted. A first fix looked only at whether there was a cursor image at all, and that brought the software KVM problem back, because Deskflow takes the pointer away by hiding the system cursor and leaves the image in place. PlasmaZones now asks who hid the cursor. A hide taken by the shake effect or by one of its own scrolling passes means someone is drawing a pointer, so the trail stays. A hide with nobody drawing a pointer, which is what a KVM leaves behind, stops the trail. Under Plasma's zoom the trail still follows the unmagnified pointer rather than the magnified copy, which needs a fix of its own. (#1097, #1102)
Installation
Arch Linux (AUR):
yay -S plasmazones # or plasmazones-binArch Linux (manual):
sudo pacman -U plasmazones-3.4.18-*-x86_64.pkg.tar.zstDebian testing/unstable (apt repository):
Tracks KDE as it lands in Debian and rebuilds when KWin moves.
sudo curl -fsSL https://download.opensuse.org/repositories/home:fuddlesworth/Debian_Unstable/Release.key -o /etc/apt/keyrings/plasmazones.asc
echo 'deb [signed-by=/etc/apt/keyrings/plasmazones.asc] https://download.opensuse.org/repositories/home:/fuddlesworth/Debian_Unstable/ /' | sudo tee /etc/apt/sources.list.d/plasmazones.list
sudo apt update
sudo apt install plasmazonesOn Debian testing, swap Debian_Unstable for Debian_Testing in both lines. Packages are built for x86_64 only.
Debian (manual .deb):
Built on Debian unstable. Prefer the apt repository above, which rebuilds when KWin moves.
sudo dpkg -i plasmazones_3.4.18-*_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora (COPR):
sudo dnf copr enable fuddlesworth/PlasmaZones
sudo dnf install plasmazonesFedora (manual RPM):
# Fedora 44
sudo dnf install plasmazones-3.4.18-*.fc44.x86_64.rpmopenSUSE Tumbleweed (OBS):
sudo zypper addrepo https://download.opensuse.org/repositories/home:fuddlesworth/openSUSE_Tumbleweed/home:fuddlesworth.repo
sudo zypper refresh
sudo zypper install plasmazonesUniversal Linux (AppDir):
For Fedora Atomic, Steam Deck, or non-root user installation:
tar xzf plasmazones-3.4.18-linux-x86_64.tar.gz
cd plasmazones-linux-x86_64
./install.shNixOS (flake):
# flake.nix inputs
plasmazones.url = "github:fuddlesworth/PlasmaZones";
# configuration.nix
programs.plasmazones.enable = true;NixOS (without flakes):
Build this tag's source against your host's pkgs (no release asset needed):
# configuration.nix
environment.systemPackages = [
(pkgs.callPackage
"${builtins.fetchTarball "https://github.com/fuddlesworth/PlasmaZones/archive/v3.4.18.tar.gz"}/packaging/nix/package.nix"
{ version = "3.4.18"; })
];Post-Installation
systemctl --user enable --now plasmazones.service
systemsettings kcm_plasmazones