Xfce 4.20 Changelog
This changelog summary shows relevant user facing changes made since Xfce 4.18.
To keep this summary changelog readable, this page provides a simplified extraction of each components' full changelog. If you are interested in the full, unmodified changelog of a specific component, please follow the component link and open the according NEWS file.
Dependency changes
- glib-2.0 >= 2.72 - Same version for gmodule-2.0, gobject-2.0, gthread-2.0, gio-2.0 and gdbus
- gdk-pixbuf-2.0 >= 2.42.8
- gobject-introspection >= 1.72
- wayland 1.20
- wayland-protocols 1.25
- gtk-layer-shell 0.7.0
Changes made across multiple Xfce core components
- Switch all components from intltool to gettext (xfce4-dev-tools#41)
- Usage of .clang-format file for most core projects, integration into automated ci-build
- Major abstraction efforts to add experimental support for wayland while keeping X11 functional (Done for all components, except xfwm4)
- Various minor and some major memory leaks were fixed across all Xfce components
Extension Library (exo)
- exo-tree-view: Add Ctrl+Shift+Click functionality (#116)
- Performance: Use GSequence instead of GList in exo-icon-view
- Fix non X11 build (Fixes #111)
- exo-open: (Issue #108) Relaxed URI check
- exo-die: Resolve symlink when saving .desktop file
- IconView,TreeView : Keep type ahead search box inside view widget
- Load icons using icon theme scaling functions correctly
- Various minor improvements, tweaks and maintenance changes
Menu Library (garcon)
- Use Exec instead of TryExec for menu item visibility (#22)
- Use target desktop files instead of symlinks (Fixes #1)
- Wait for any async operation to finish before releasing locks
- Use GIcons for menu icons instead of loading surfaces
- garcon-gtk: Properly update GtkMenu is_populated state
- Various minor improvements, tweaks and maintenance changes
Widget Library (libxfce4ui)
- Add "overlap groups" to the shortcut editor (#115)
- Remove forced icon from XfceTitledWindow cliend side decorations
- xfce4-about: Show info about windowing system
- clipboard-manager: Get images from GtkClipoard
- sm-client: Reset SmcConnection when IceConnection is closed on error
- xfce4-about: Use GdkGLContext for system tab
- titled-dialog: Ensure a single icon on the left when CSD is used (#92)
- Display distribution logo in xfce4-about (Fixes #54)
- screensaver: Add lock-on-sleep property
- screensaver: Prioritize user lock command
- screensaver: Use reasonable timeout for methods that may not reply
- screensaver: Remove support for gnome-screensaver (Fixes #62)
- screensaver: Run lock command synchronously (Fixes #70)
- XfceFileNameInput - wrap error message (Issue #60)
- Various minor improvements, tweaks and maintenance changes
Utility Library (libxfce4util)
- Add meson build
- Migrate to xdt-gen-visibility and xdt-check-abi
- session-management: Try to create D-BUS proxy synchronously
- fileutils: Fix MD5 hash in xfce_create_shared_thumbnail_path()
- Allow disabling polkit interactivity in session management (Fixes #21)
- consolekit: Use Reboot and PowerOff ConsoleKit2 methods
- Improve checksum calculation (#17)
- Fix desktop entry value escaping
- Various minor improvements, tweaks and maintenance changes
Windowing Abstraction Library (libxfce4windowing)
- Add XfwWindowListMenu widget
- Actually export xfw_screen_get_seats from the library
- Add XfwSeat abstraction
- Use physical geometry when comparing X11 window geometry to monitor
- Try to make monitor IDs stable between X11 and Wayland
- Add a couple small test programs
- Add XfwMonitor:fractional-scale
- Add primary monitor concept to XfwMonitor
- Add XfwMonitor
- Add meson build files
- window-wayland: Ensure app always exists (Fixes #14)
- Add monitor-added and monitor-removed signals to XfwWorkspaceWayland
- Add configure args to enable/disable X11/Wayland
File Manager (thunar)
- Verify copied destination file using direct I/O (#1471)
- Verify by compare instead of checksum (#1471)
- Drop optional POLKIT dependency (#1403)
- Add emblem and type description to mount points (#1388)
- Support second shortcut for tab switch (#1472)
- Fix accel map loading (#1047)
- Rework handling of location buttons (#951)
- Show name of parent folder in replace dialog (#62)
- Wrap single-word filenames in delete dialog (#1412)
- Add command line option to force new window
- Show full context menu during search (#837)
- Transfer files dialog use less buttons (#58)
- Fix handling of special columns in list view
- Add View Switcher item to toolbar
- Option to use client side decorations (CSD)
- Support copy/link within a folder via CTRL+drag (#63)
- Rework the "Show Menubar" toolbar button (#936)
- Optionally show hidden files count in statusbar (#1387)
- Allow type ahead search the treeview sidepane
- Added a hidden setting to toggle tree-lines i>
- Add default bindings for special keys (#1386)
- Only add successfully opened files to Recent
- Add files opened via the location entry to Recent (#1349)
- Re-enable toolbar overflow menu (#1240)
- Optionally use symbolic icons in the sidepane and location bar (#252)
- Dont add directories to recent:/// (#1372)
- Enter folders automatically while dragging files (#5)
- Focus split view pane on DnD events (#1243)
- Fix several out of sync bugs (#1326)
- Add keyboard shortcut for "Invert Selection"
- Performance: Use GHashTable to store files (#1337)
- Performance: Improvements for icon view (#1315)
- Performance: Load statusbar text in separate job (#1315)
- Performance: Dont save bookmarks on trash change (#141)
- Restore tabs when launched with uri arg. (#1233)
- Add New Tab and New Window icons to toolbar (#1263)
- Custom Actions: Allow sumenu UCAs in toolbar (#780)
- Custom Actions: Fix shortcuts for ucas in subfolders (#1043)
- Fix possible deadlock during search (#1321)
- No view-switch while searching (#1293)
- Prevent focus stealing of file transfer dialog (#643)
- Prevent infinite reload loop for symlinks (#1270)
- Restart thumbnailer proxy after failure (#1252)
- Unify way to request thumbnails for preview (#949)
- Request thumbnails in replace dialog (#737)
- Performance: Usage of io-jobs to set emblems (#892)
- Performance: Load content types in a separate job (#1192)
- Remember the bulk renamer dialog size (Issue #1040)
- Apply scale factor as well to thumbnails (#1143)
- Support ipv6 remote URLs (#864)
- Add a setting for window title style (#1130)
- Convert toolbar view buttons into radio buttons (Issue #925)
- Option to queue operations on busy disks (#1029)
- Ignore extension on dir rename (#1150)
- Consistent horizontal spacing in icon view (#118)
- Option to show launcher name instead of filename (#451)
- Performance: Limit number of templates to prevent lag (#472)
- Don't reload the directory on copy or cut (#1060)
- Dont open folder when mounting device (Issue #919)
- Dont show full menu for unmounted devices (#1049)
- Always ask before delete files via undo (#1027)
- Allow symlink creation on remote locations (#875)
- Keep directory specific sort details (#1017)
- Add Shortcut to switch split-view panes (#1005)
- Prevent jumping cursor on file deletion (#910)
- Dialog when closing split-pane with multiple tabs
- Preserve trusted state when launchers are copied
- Prevent build failure for NixOS (Issue #972)
- Various minor improvements, tweaks and maintenance changes
Volume Manager (thunar-volman)
- Add icons at missing sizes, clean up SVG metadata
- Declare use of function to fix build on FreeBSD (fixes #24)
- Various minor improvements, tweaks and maintenance changes
Thumbnail Generator (tumbler)
- gepub-thumbnailer: Emit error signal if file location is unsupported
- gepub-thumbnailer: Return if GBytes buffer is NULL
- Disambiguate thumbnailer signals
- scheduler: Fix ready/error signal forwarding
- xdg-cache: Fix temporary file management when saving thumbnail
- Various minor improvements, tweaks and maintenance changes
Application Finder (xfce4-appfinder)
- Add support to application actions (#86)
- Add new preference to close window when focus is lost (!41)
- Immediately execute command on ctrl+enter (#56)
- appdata: Fix `appstreamcli validate` issues (!44)
- Ctrl+N / Ctrl+P navigation keys for treeview (#82)
- New preference to use application generic names (#80)
- Add daemon option (#78)
- New preference option to launch items on a single click (#79)
- New option to toggle window visibility of background service (#52)
- Restore command icons in Commands history (!33)
- Change icon size for "small" from 36px to 32px (!34)
Development Tools (xfce4-dev-tools)
- Add optional ABI check to the CI build stage
- Add meson support to xfce-do-release
- Add meson to CI build
- ci: Parallelize autotools builds
- ci: Add static analysis jobs
- ci: Add clang build
- ci: Only run a stage if previous didn't failed
- ci: Add no-x11 and no-wayland builds
- ci: Make build stage fail on any compiler warning
- ci: Make jobs running in merge requests interruptible
- ci: Add clang-format check
- Bump CI container to Ubuntu 24.04
- Add check for xsltproc (#60)
- xdt-autogen: Fixed wrong make displayed on FreeBSD
- Add support for libxfce4windowing
- Various minor improvements, tweaks and maintenance changes
Panel (xfce4-panel)
- Added "show inactive" prop to lcd clock (repurposed from binary clock)
- Reduce minimum button size to improve layout at very small panel
- clock: Added 24h clock mode to the analog clock
- wayland: tasklist: Fix monitor detection when panel is remapped
- wayland: autohide: Do not block when panel has input focus
- wayland: autohide: Show/hide panel instead of moving it offscreen
- autohide: Show/hide autohide window instead of moving it offscreen
- showdesktop: Add the ability to show the desktop on mouse hover
- prefs-dialog: Bind Del key to remove button
- prefs-dialog: Allow several items to be removed at once
- systray: Always scale icons
- Adapt to libxfce4windowing
- libxfce4panel: Fix custom menu items management
- panel: Remove autosave timer for plugins
- Add option to toggle week numbers (fixes #686)
- panel: Block autohide when the panel has input focus
- clock: Implement ConsoleKit sleep monitor
- Add/Sharpen icons at 16-128px and fix blurry icons when UI scale is > 1
- Load icons using icon theme scaling functions correctly
- icons: Scale at size 16x16 to 128x128 (Fixes #385)
- build: Fix for Wayland backend disabled (Fixes #729)
- build: Make all X11/Wayland-specific dependencies optional
- panel: Allow to force running plugins as internal
- Port to Wayland (!103)
- tasklist: Fix scrolling through window buttons (Fixes #692)
- tasklist: Fix group button visibility (#693)
- panel: Always include borders to compute snap position
- clock: Fix sync timeout
- clock: Do not override custom font formats (#675)
- Various minor improvements, tweaks and maintenance changes
Power Manager (xfce4-power-manager)
- settings: Hide critical action warning if upower action == Ignore
- button: Also listen to brightness-exponential change
- x11: common: Fix multi-monitor setup detection
- manager: Use D-Bus proxy instead of SMClient to call SessionManager
- settings: Warn about upower acting before xfpm on critical battery
- power: Fix overall charge state calculation
- critical-power: Avoid unintentional user action in critical dialog
- manager: Honor lid settings when the system transition to battery
- manager: Turn off internal screen when locked on lid closed
- manager: Be consistent when lid is closed in multi-monitor setup
- settings: Add option to shutdown on lid closed
- settings: Reduce inactivity times to reasonable values
- manager: Add missing hybrid sleep case
- settings: Change default sleep mode on battery to suspend
- Add hybrid sleep support
- settings: Add a button to open xfce4-screensaver-preferences
- Handle keyboard backlight toggle keys.
- Make various components abstract and add X11/Wayland impl
- Suspend system if lock screen fails on lid close (Fixes #209)
- Add support for power profiles daemon
- Fix/drop light locker integration (Fixes #201)
- Add energy rate into device details
- Add app icon at 64px, 96px, clean up SVG metadata
- Keep "lock-on-sleep" in sync with other components via XfceScreensaver
- Use authorization info from systemd/ConsoleKit
- Add "Do nothing" option for lid closed action
- Simplify brightness level management (Fixes #139)
- screensaver: Fall back on lock command if D-Bus call failed
- Fix blurriness in icons when UI scale factor > 1
- Various minor improvements, tweaks and maintenance changes
Session Manager (xfce4-session)
- Add xapp for Background xfce-portals.conf
- Add css class for session chooser
- manager: Honor user settings for session saving in non-interact mode
- logout-dialog: Remove save session checkbox
- wayland: Use gtk-layer-shell for the logout dialog
- wayland: Complete logout process
- wayland: Adapt failsafe startup
- wayland: Adapt startxfce4 and related files
- Add xapp for Wallpaper, Screenshot and Background in xfce-portals.conf
- Add minimal xdg-desktop-portal conf file for Xfce (#181)
- Add icons at missing sizes, clean up SVG metadata
- xflock4: Add --help option (Fixes #148)
- Add Lock() D-Bus method and make xflock4 a simple wrapper around it
- Remove xscreensaver.desktop
- build: Add suspend support for Solaris
- startxfce4: Fix xinit arguments order
- Fix 'trigger on suspend' (#106)
- Fix suspend/hibernation bug on ConsoleKit2 (Fixes #164)
- Fix blurry icons in autostart tab when UI scale > 1
- Various minor improvements, tweaks and maintenance changes
Settings Manager (xfce4-settings)
- Use a toggle button for the MIME chooser dropdown buttons
- Enumerate/load icon themes off of the UI thread
- appearance-settings: Fix scrolling via arrow keys in gtk theme list
- appearance-settings: Show warnings for incomplete icon themes
- xfsettingsd: Fix client side decoration layout
- xfsettingsd: Use default display profile when several profiles match
- xfsettingsd: Make CSD opt-in
- mouse-settings: Fixes reverse horizontal scrolling
- xfce-randr: Take RR_DoubleScan and RR_Interlace flags into account
- Add check box to toggle adaptive/flat mouse accel profile with
- display-settings: Update primary monitor status on setting change
- display-profiles: Allow editing profile names
- display-profiles: Show all profiles in tree view
- display-settings: Turn "auto-enable-profiles" into a combo box
- display-settings: Apply changes only when Apply button is clicked
- display-settings: Switch to one-dimensional scaling
- display-settings: Better UI update when mirroring/unmirroring
- display-settings: Avoid implicit mode change when enabling output
- display-settings: Allow to mirror disabled outputs
- display-settings: Use GTK Layer Shell for popups on Wayland
- wayland: Add support for wlr-output-management
- Properly distinguish X11/Wayland code paths
- appearance: Match more dark themes (fixes #495)
- appearance: Check for presence of color-scheme key
- mime-settings: Add multiselection (Fixes #346)
- Displays: Fix finding a valid mode by refresh rate
- Add UI to toggle libinput's hires scrolling events
- fix multiple blurry icons in different dialogs
- Various minor improvements, tweaks and maintenance changes
Configuration Manager (xfconf)
- Allow calling xfconf_g_property_bind() with GdkColor or GdkRGBA types
- tests: Report D-Bus error when xfconfd is not auto-started
- Add a systemd user unit corresponding to the D-Bus session service
- channel: Warn if queried type does not match property type
- xml-backend: Escape whitespaces when writing file to disk
- Various minor improvements, tweaks and maintenance changes
Desktop Manager (xfdesktop)
- Reset backdrop cycler timer if user manually changes the image
- Add all background dirs to the settings chooser button shortcuts
- Add option to sort folders before files (Issue #332)
- settings: avoid flashing an empty info bar on startup
- settings: enumerate image folder fully asynchronously
- Redesign the 'Desktop Icons' tab in the settings dialog
- Add a root context menu for the window icon manager
- Make icon sorting confirmation dialog optional (Issue #266)
- Add ability to set custom icon label text and background colors
- Fix desktops not being removed when a monitor is disconnected
- Fix icon view ascending vs. descending sort order
- Use windowlist menu widget from libxfce4windowing
- Don't repeat backdrop images when cycling randomly
- Add configurable keybinding for toggle-cursor for the icon view
- Fix new-folder icon missing on some icon themes
- Add editable keyboard shortcuts for the desktop and icon view
- Mirror thunar's behavior for the new file/folder dialogs
- Fix _NETSCAPE_URL drops
- Treat icon views independently when handling file icon selection
- Rewrite the monitor mirror detection and handling
- Add new YAML icon position saving code
- Better way to deal with monitors coming and going
- Migrate old .png background filenames to .svg
- Update everything to use Xfce4Windowing / XfwMonitor
- Use a separate XfceDesktop widget/window per monitor
- Add meson build
- Start isolating X11 code as much as possible
- Fix desktop window positioning on multi-monitor Wayland
- Add pref for label underline when in single click mode
- Allow opening multiple selected folder icons from context menu
- Support for cascading custom actions (#221)
- Ensure workarea is updated when UI scale factor changes
- Place new files in the location they were dropped
- Properly thread UI scale factor to file icon loading functions
- Add preliminary Wayland support using libxfce4windowing
- backdrop: render gamma-correct gradients
- Various minor improvements, tweaks and maintenance changes
Window Manager (xfwm4)
- Support for stretch theme variants
- compositor: Block softpipe for GLX vsync
- focus: Include skip taskbar/pager when passing focus
- add missing break to fix crash when alt-tabbing (#762)
- Added check for working with external compositors
- screen: Fix uninitialized rect in myScreenGetXineramaMonitorGeometry
- stacking: Use WIN_LAYER_FULLSCREEN for focused fullscreen windows
- drop obsolete xfwm4rc
- compositor: Expose just the window area
- Various minor improvements, tweaks and maintenance changes