Xfce

Subdomains

 

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