github fuddlesworth/PlasmaZones v3.5.2
PlasmaZones v3.5.2

5 hours ago

PlasmaZones v3.5.2

Fixed

  • Window decorations, animations and pointer effects work again with Mesa drivers on Plasma 6.8: Plasma 6.8 compiles effect shaders as GLSL ES 3.00, which Plasma 6.7 already did when it ran on a GLES context, and that dialect does not allow a location on the values one shader stage hands the next. Every shader the compositor built carried such locations, and the Mesa drivers most AMD and Intel graphics run on refuse them. Decorated windows lost their borders and rounded corners, and window animations, desktop transitions and pointer effects did not play. NVIDIA accepted the same shaders, which is why only some systems were affected. The pack validator now compiles animation, surface and pointer packs in that dialect too, and links each fragment stage against the vertex stage it runs with, so a pack that would fail this way is caught before it ships. Zone overlay packs do not run in the compositor and are not part of that check. Pack authors should note that the compositor pairs those values between stages by name, so a vertex output and the fragment input that reads it need the same name. (#1142, #1143)
  • Shader compile errors name the right line: an error in a shader pack that leaves main() to PlasmaZones was reported several lines past the fault, in the validator, the editor preview and the compositor log alike, because the lines PlasmaZones adds above the pack's own code were counted as part of it. On Plasma 6.7 with desktop OpenGL, the compositor log was also one line off for every pack. All of them now give the line in the pack's own file. (#1143)
  • A window wider than its scrolling column sat on top of the next column: some Wayland apps, such as a game that keeps a whole-number multiple of its native resolution, make their window wider than the column they are given. The strip kept laying the column out at the width it had offered, so the next column started underneath the window. The column now widens to the width the window actually takes, and gives that width back when the window later takes less. On a strip that runs vertically this applies to the window's height. A window that needs more room than the screen has, along the strip or across it, floats instead. A column you make wider than the window keeps the width you set, and resizing the window yourself along the strip makes the strip measure it again. The width a window takes is learned only while "Respect minimum size" is on, under Settings → Placement → Scrolling → Window → Window handling. (#1129)
  • Hidden scrolling tabs stay fully off screen on Plasma 6.8: the tabs a column was not showing, and the columns scrolled out of view, are moved off the screen to hide them. Plasma 6.8 kept a strip of each one visible along the edge of the screen. They are now hidden completely, including after a window resizes or you switch tabs. (#1141)

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

sudo pacman -U plasmazones-3.5.2-*-x86_64.pkg.tar.zst

Debian 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 plasmazones

On 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.5.2-*_amd64.deb
sudo apt-get install -f  # Install dependencies if needed

Fedora (COPR):

sudo dnf copr enable fuddlesworth/PlasmaZones
sudo dnf install plasmazones

Fedora (manual RPM):

# Fedora 44
sudo dnf install plasmazones-3.5.2-*.fc44.x86_64.rpm

openSUSE Tumbleweed (OBS):

sudo zypper addrepo https://download.opensuse.org/repositories/home:fuddlesworth/openSUSE_Tumbleweed/home:fuddlesworth.repo
sudo zypper refresh
sudo zypper install plasmazones

Universal Linux (AppDir):
For Fedora Atomic, Steam Deck, or non-root user installation:

tar xzf plasmazones-3.5.2-linux-x86_64.tar.gz
cd plasmazones-linux-x86_64
./install.sh

NixOS (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.5.2.tar.gz"}/packaging/nix/package.nix"
    { version = "3.5.2"; })
];

Post-Installation

systemctl --user enable --now plasmazones.service
systemsettings kcm_plasmazones

Don't miss a new PlasmaZones release

NewReleases is sending notifications on new releases.