%global forgeurl https://github.com/zquestz/plank-reloaded Name: plank-reloaded Version: 0.11.178 Release: 1%{?dist} Summary: Elegant and simple dock License: GPL-3.0-or-later URL: %{forgeurl} Source0: %{forgeurl}/archive/refs/tags/%{version}.tar.gz BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: meson >= 0.59.0 BuildRequires: ninja-build BuildRequires: vala BuildRequires: pkgconfig BuildRequires: gettext BuildRequires: desktop-file-utils BuildRequires: cmake BuildRequires: clang BuildRequires: libgnome-devel BuildRequires: libxml2-devel BuildRequires: gnome-menus-devel BuildRequires: libgee-devel BuildRequires: libdbusmenu-gtk3-devel BuildRequires: libwnck3-devel BuildRequires: libcanberra-devel BuildRequires: bamf-devel BuildRequires: gtk3-devel BuildRequires: cairo-devel BuildRequires: gdk-pixbuf2-devel BuildRequires: glib2-devel # Don't require specific library versions - let RPM auto-generate them Requires: bamf Requires: bamf-daemon Requires: gtk3 Requires: cairo Requires: gdk-pixbuf2 Requires: libcanberra Conflicts: plank Conflicts: libplank-common Conflicts: libplank1 %description Plank Reloaded is a fork of the original Plank project, providing a simple dock for X11 desktop environments. While development began with a focus on Cinnamon, we now actively support multiple desktop environments including MATE and Xfce. Like its predecessor, Plank Reloaded aims to be the simplest dock on the planet, providing just what a dock needs and absolutely nothing more. %package devel Summary: Development files for plank-reloaded Requires: %{name}%{?_isa} = %{version}-%{release} Requires: vala Requires: pkgconfig %description devel This package contains the development files for plank-reloaded, including headers, libraries, and Vala bindings needed to develop applications or docklets that use libplank. %prep %autosetup -n %{name}-%{version} %build %meson \ -D enable-apport=false \ -D production-release=true %meson_build %install %meson_install # Compress man pages gzip -9n %{buildroot}%{_mandir}/man1/plank.1 # Fix shared library permissions chmod 755 %{buildroot}%{_libdir}/libplank.so.* %find_lang %{name} %files -f %{name}.lang %license COPYING COPYRIGHT %doc README.md NEWS.md AUTHORS %{_bindir}/plank %{_libdir}/libplank.so.* %{_libdir}/plank/ %{_datadir}/plank/ %{_datadir}/applications/net.launchpad.plank.desktop %{_datadir}/glib-2.0/schemas/net.launchpad.plank.gschema.xml %{_datadir}/icons/hicolor/*/apps/plank-reloaded.png %{_mandir}/man1/plank.1.gz %{_datadir}/metainfo/plank.appdata.xml %files devel %doc README.md %{_includedir}/plank/ %{_libdir}/libplank.so %{_libdir}/pkgconfig/plank.pc %{_datadir}/vala/vapi/plank.deps %{_datadir}/vala/vapi/plank.vapi %post /sbin/ldconfig /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas >/dev/null 2>&1 || : /usr/bin/update-desktop-database >/dev/null 2>&1 || : /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor >/dev/null 2>&1 || : %postun /sbin/ldconfig if [ $1 -eq 0 ] ; then /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas >/dev/null 2>&1 || : /usr/bin/update-desktop-database >/dev/null 2>&1 || : /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor >/dev/null 2>&1 || : fi %changelog * Sat Oct 17 2026 Josh Ellithorpe - 0.11.178-1 - Fix the FreeBSD build, broken since 0.11.176: GLib now restores the default action for SIGINT and SIGTERM itself, instead of a call that needed glibc's sighandler_t (thanks VVD) - Run an AppImage opened from the dock, whether pinned or in a folder stack, instead of failing to find an app for it, and make it executable first if it belongs to the user - Pass only the warning flags the compiler supports and drop a linker flag that never reached the linker, so clang builds no longer warn on every file, and give setproctitle its title as an argument rather than as the format - Stop warning about preference keys missing from dock item files, which every newly pinned item and every upgrade that adds keys triggered; the defaults are still saved - Load docklets from PLANK_DOCKLET_DIRS before the installed folder, so tests and development builds use their own docklets instead of failing to register them over installed copies - Build and test on FreeBSD 15 in CI, so FreeBSD-only breaks show up before a release - Add a test for AppImage detection * Thu Oct 15 2026 Josh Ellithorpe - 0.11.177-1 - Stop reserving space on an edge that faces another monitor, since the reservation would reach from the screen's edge over that monitor too; a dock that's always shown there now lets maximized windows extend behind it (thanks cdmdotnet) - Keep the dock's reserved space current when Screen Area uses the whole monitor, so a monitor coming or going elsewhere can't leave it stale - Give the dock and its poof animation the window role "dock", the preferences window "preferences" and the clock's calendar "calendar", so window manager rules can tell them apart; with IceWM's next release, plank.dock.doNotManage leaves only the dock unmanaged - Give every dock a valid D-Bus path whatever its name, and docks started with -n a bus name of their own (net.launchpad.plank.h plus a hash of the name), so names with hyphens, dots, spaces or a leading digit no longer lose the dock's D-Bus interface or its single instance (thanks cdmdotnet) - Close window previews once the pointer moves past the dock's ends - Size a shown item's minimize target in quarter steps of the zoom, with hysteresis, so the hovered icon always gets a full-size target - Log a single warning, instead of a critical on every configure event, when the dock's window doesn't get its requested size and position, which flooded the log and aborted the dock under G_DEBUG=fatal-criticals (thanks cdmdotnet) - Fix the name given with -n pointing into memory GLib frees, and skip the poof animation when its image fails to load - Add tests for minimize target steps, the preview zone's ends and D-Bus names * Fri Oct 09 2026 Josh Ellithorpe - 0.11.176-1 - Make pressure reveal work again for mice, touchpads and TrackPoints, counting pushes like GNOME Shell: a 250 px push reveals a hidden dock and holds the pointer at the edge, and another push crosses a shown dock into the next monitor - Let a file drag reveal a hidden dock with a gap under pressure reveal; the drag stays held at the edge, so reaching another monitor through the dock takes easing off and pushing again, while window moves pass freely - Reveal a hidden dock from anywhere on a monitor past its edge that lines up with the dock's monitor, and from a panel between the dock and the screen edge, with or without a gap, when pressure reveal is off - Keep a dock revealed from its edge shown while the pointer stays near it, instead of hiding and bouncing back - Make Follow Active Display wait about 2 seconds before moving to a monitor past the dock's edge, so an overshoot doesn't take the dock with it, and hide the dock before it moves - Without a compositor, slide a hidden dock across its gap so only its edge row is left showing - Fix docks sticking shown or misreading the pointer's monitor at 2x scaling, including preview popups closing at the screen edge - Stop calling BAMF and rewriting every window's minimize target on each animation frame, which also ends the log flood when an app closes; targets now follow the zoom in 8 px steps and sit on the dock's edge while it is hidden - Keep the quick 100 ms preview switch when passing an icon without previews between two apps - Recheck which windows the dock covers after it moves to another monitor, so dodge modes act on the new one - Fix crashes when two docks used pressure reveal and when an empty dock with a borderless theme created its barrier - Handle Ctrl+C and SIGTERM from the main loop, and let a second one end a shutdown that hangs - Apply Gap Size changes to a hidden dock at once, keep the unhide delay running through window events, and keep the dock from vanishing under a drag during its hide delay - Add tests for pressure counting, monitor edges, keep areas, barrier lines and hidden window positions * Wed Oct 07 2026 Josh Ellithorpe - 0.11.175-1 - Add window previews on hover, with click to focus, close buttons, and adjustable delay and size - Treat windows shown on all workspaces as on every workspace for Restrict to Workspace, Intellihide, window dodging, and the Workspaces docklet - Bold the active window in the right-click window list instead of greying it out - Shorten window titles and Clippy entries without splitting accents, emoji, or flags, and stay fast on huge clipboard entries - Limit hide and unhide delays to 2500 ms, matching the preferences dialog - Keep docks with a gap revealed while the pointer rests at the screen edge or crosses to the dock - Reveal docks with a gap only from their own monitor's edge - Read window classes straight from X when Wnck lags, so new windows match their launchers - Fix a use-after-free when focusing apps with several windows, and a warning in the Steam workaround - Translate the new settings into all 71 languages and fix older mistranslations, typos, and missing colons in 41 locales - Clarify building from source in HACKING.md and the README - Add tests for preview layout, dock edge detection, and text shortening * Wed Sep 30 2026 Josh Ellithorpe - 0.11.174-1 - Make hover labels follow each dock's Screen Area setting - Fix newly opened apps sometimes staying hidden or showing a wrong window count * Tue Sep 29 2026 Josh Ellithorpe - 0.11.173-1 - Match apps to launchers by window class when BAMF cannot, fixing duplicate icons - Keep one icon per launcher that counts every window of apps BAMF splits apart - Attach pinned launchers to already running apps at startup in Pinned Only mode - Register pinned launchers as BAMF favorites so app matching prefers them - Launch desktop actions through GLib, supporting D-Bus activation, Terminal, and Path - Show badges and progress for apps in the user's data folder, subfolders, or with spaces in names - Remove duplicate dock items for the same launcher at startup - Stop dock icons using art drawn for half their size from @2x theme folders - Fix a crash cycling an empty window list, a window stack leak, and a stalled launcher monitor - Add an abi-check test guarding the docklet ABI, with isolated and rerunnable tests - Configure without git and without deprecation warnings on meson 1.11 * Mon Aug 03 2026 Josh Ellithorpe - 0.11.172-1 - Fix a crash when activating a window menu entry after that window closed - Fix a crash from notification expiry timers outliving a removed docklet - Fix shutdown crashes by cancelling renderer, dock window, and drag timers on teardown - Fix menu memory leaks by destroying dock menus on rebuild and teardown - Fix a leaked X error trap when generating previews of very small windows - Trap X errors around icon geometry updates and pointer barrier teardown - Keep docklets working when the worker pool cannot spawn a thread - Guard workspace and window lookups against windows closing mid-operation - Identify docklets by launcher URI in debug logs - Update the graphics tablet FAQ and docklet development guide * Mon Jul 20 2026 Josh Ellithorpe - 0.11.171-1 - Add a Screen Area setting choosing automatic, monitor, or work area placement - Make Work Area placement panel-aware with settled re-measurement on screen changes - Fix the dock shifting when hovering empty space with Fill alignment and zoom - Migrate from deprecated libwnck globals to a shared WnckHandle exposed to docklets - Support source builds against libwnck back to 3.36 for older distributions - Remove an obsolete drag grab that logged warnings when moving dock icons - Stop rewriting the dock theme file on every GTK theme change - Clear stale struts when a disappearing monitor never yields valid geometry - Modernize deprecated GTK and GLib usage, cutting compile warnings from 132 to 3 * Sun Jul 12 2026 Josh Ellithorpe - 0.11.170-1 - Add a per-dock option to bring activated applications to the current workspace - Make Trash counting and emptying asynchronous and improve KDE monitoring - Improve Battery UPower handling and retain the sysfs fallback - Improve Workspaces previews and Applications menu loading - Improve Clippy, Clock, and Notifications behavior and teardown - Preserve third-party docklet ABI while fixing removal lifecycle leaks - Add headless test coverage and ARM64 release builds * Sat Jun 27 2026 Josh Ellithorpe - 0.11.169-1 - Only play Trash docklet event sounds when enabled in the desktop settings - Fix Clock docklet calendar emitting a GTK critical warning on close - Localize the Clock docklet AM/PM marker for non-English locales * Fri Jun 26 2026 Josh Ellithorpe - 0.11.168-1 - Add event sound support for trash-empty and file-trash in the Trash docklet - Prevent dock window from stealing focus under focus-follows-mouse * Mon Apr 13 2026 Josh Ellithorpe - 0.11.167-1 - Decouple GapSize dock reveal from X11 barriers using edge pointer polling * Thu Feb 13 2026 Josh Ellithorpe - 0.11.166-1 - Fix struts double-scaling on HiDPI and xrandr multi-monitor setups - Fix dock positioning with xrandr scaling transforms - Reposition dock when window scale factor changes at runtime * Thu Feb 13 2026 Josh Ellithorpe - 0.11.165-1 - Fix dock becoming unclickable when using GapSize > 0 with barrier-based reveal * Sun Feb 08 2026 Josh Ellithorpe - 0.11.164-1 - Fix drag occasionally ending prematurely - Fix desktop environment detection on Debian XFCE - Fix dock unhide with graphics tablets - Fix sticky and pinned windows not minimizing or focusing on non-original workspaces - Fix HoverWindow positioning on XFCE and KDE - Fix icon lookup to try all windows instead of only the first - Improve animation smoothness and reduce CPU usage - Increase poof animation framerate - Add docklet development guide * Fri Feb 07 2026 Josh Ellithorpe - 0.11.163-1 - Fix workspace switch when focusing sticky windows * Fri Feb 07 2026 Josh Ellithorpe - 0.11.162-1 - Fix struts using primary monitor dimensions instead of full screen size on multi-monitor setups - Skip workspace switch when focusing pinned windows * Mon Jan 27 2026 Josh Ellithorpe - 0.11.161-1 - Fix use-after-free crash in window operations using XID-based queue - Fix urgent glow position when GapSize > 0 - Optimize render loop with reusable scratch surface and early exits - Eliminate per-frame HashMap allocations for draw values - Add fast path for idle dock state (no zoom active) * Sun Jan 25 2026 Josh Ellithorpe - 0.11.160-1 - Fix CPUMonitorDocklet thread-safety by marshalling UI updates to main thread - Fix ApplicationsDocklet crashes during package installation/removal with re-entrancy guard - Optimize DockRenderer to avoid unnecessary Surface.copy() during animations - Move Battery docklet I/O to background thread - Cache can_accept_drop results to avoid repeated I/O during drag motion - Fix timer leaks, remove UI thread blocking, and document app-specific workarounds - Update docs: fix branch name, copyright year, and IRC reference - Bump GTK minimum to 3.22 - Fix drag-and-drop to check if app accepts file arguments - Clean up outdated version-specific FIXMEs and TODOs - Fix inner stroke transparency (thanks guritso) - Add MATE desktop support to respect Caja's confirm-trash setting * Mon Dec 29 2025 Josh Ellithorpe - 0.11.159-1 - Fix Cinnamon desktop detection for X-Cinnamon XDG_CURRENT_DESKTOP value * Tue Dec 23 2025 Josh Ellithorpe - 0.11.158-1 - Fix dock not moving when switching between monitors with identical resolution - Fix ActiveDisplay preferences warning messages * Thu Dec 11 2025 Josh Ellithorpe - 0.11.157-1 - Remove systemd support in favor of desktop environment autostart * Thu Nov 13 2025 Josh Ellithorpe - 0.11.156-1 - Add 7 new language translations: Bengali, Farsi, Filipino, Marathi, Punjabi, Swahili, and Urdu - Complete translations for 64 existing languages - Now supporting 71 languages total covering over 1 billion additional speakers * Sun Nov 02 2025 Josh Ellithorpe - 0.11.155-1 - Reduce minimum icon size to 16 pixels - Increase maximum GapSize to 200 pixels - Fix struts calculation to respect GapSize - Fix input mask capturing events with GapSize enabled * Thu Oct 30 2025 Josh Ellithorpe - 0.11.154-1 - Refactor systemd service to work more reliably with bamf failures