Xfce 4.16
Xfce 4.16 is the next iteration of the popular light-weight Xfce desktop environment. It is scheduled to be released sometime in the fourth quarter of 2020. It will have client side decorations for all the configuration dialog boxes, a more advanced optional Whiskermenu, animated panel when it is set to auto-hide and it could get support for hybrid sleep when the power button is pressed or a laptop lid is closed. There will likely be more changes before Xfce 4.16 is released around October/November 2020.
Development versions of the components in the upcoming 4.16 release are tagged as 4.15.x until 4.16 is released (odd version numbers signify development releases). The current stable version of Xfce is 4.14.x.
Visible Changes
Configuration boxes will have client side decorations instead of regular window titlebars in Xfce 4.16.
Xfce 4.16 will use "client side decorations" (CSD) or "GtkHeaderBars" which, in practical terms, means that window titles and a close button are shown instead of the regular window manager title bar. All the configuration dialog boxes in 4.16 have these client side decorations thanks to a change in libxfce4ui which makes every application using that library show a GtkHeaderBar instead of regular window title bars.
The Panel Preferences dialog box in Xfce 4.14 (left) and Xfce 4.16 (right).
The highly controversial[1][2][3] move to client side decorations do not (yet) affect software applications like the Thunar file manager, the ristretto image viewer or other built-for Xfce applications.
As an example, Thunar version 1.8.5git-4ce1e9ac has a regular sane window title bar in its main window. Its Preferences window does not.
Thunar version 1.8.5git-4ce1e9ac.
Some Xfce components who could be considered to be separate applications, like the Settings Manager (xfce4-settings-manager
) do use client side decorations instead of window manager title bars:
The Xfce settings manager in the upcoming Xfce 4.16 release.
The decision to switch to Client Side Decorations in Xfce 4.16 was, according to developer Simon Steinbeiß:
"discussed and voted on in the currently active core development team, put publicly on the roadmap for 4.16 [0] and announced in a blog post [1]."
which is fine except that..
"You've mentioned discussions and voting - the only thing I've seen was a couple of posts pretty much announcing your decision, where critical opinions (mine included) were swept under the carpet because of "limited manpower"."
There is an on-going effort by some Xfce users to make the client side decorations optional[4].
Client Side Decorations In All GTK Dialogs
A change to xfce4-settings[5] makes all GTK dialogs use client side decorations in Xfce 4.16. This includes the file picker.
GTK3 file picker with client side decorations. This will be the default in Xfce 4.16. Notice how the Cancel
and Save
buttons are on opposite sides in windows header area.
It is possible to disable this "feature" using false
.
The GTK3 file picker with client side decorations turned off. Notice how Cancel
and Save
are next to each other in the bottom right corner.
Client Side Decorations In Many GTK Applications
Many programs like LibreOffice get client side decorations in the main window, dialog boxes and utility boxes like the file picker when they are ran under Xfce 4.16.
LibreOffice 6.4.2.2 under Xfce 4.14 on Fedora 32.
LibreOffice 6.4.2.2 under Xfce git on Fedora 32.
Panel Animations
The Xfce panel can be set to auto-hide so it is not in the way. The panel will instantly disappear in Xfce 4.14 when that feature is enabled. Xfce 4.16 has a smooth animation when the panel hides.
There's also a new "dark mode" for the panel which is enabled by default.
GTK2 panel plugins are no longer supported.
The stock Xfce menu, which comes with the panel, will now listen for icon theme changes and actually change the icons in the menu when the icon theme is changed. This does not happen on Xfce 4.14 until Xfce or the panel is re-started. The icon sizes in the menu are the same as the set panel icon size in Xfce 4.16.
The panel pager settings dialog has gotten a face-lift and a new option to show workspace numbers.
System Information In The "About Xfce" dialog
The "About Xfce" dialog box is actually a separate program from the libxfce4ui
package with a binary named xfce4-about
. It is either in the menu as a top-level item (default in stock Xfce) or as an entry in the "Documentation" folder (in some distributions). xfce4-about
has so far been a very simple program which displays there tabs with text in them: About, Credits and Copyright.
Xfce 4.15 distributed by A Company Making Everything.
Xfce developer Simon Steinbeiß has added code which makes the xfce4-about
dialog box in Xfce 4.16 show detailed system information in addition to the informative information about Xfce's authors if libxfce4ui
is compiled with libgtop2 support. A new "System" tab will show you your hostname, OS Name (PRETTY_NAME
, or if that is not set, NAME
, in /etc/os-release
), CPU architecture, Xfce version, distributor (if you set --with-vendor-info=
), CPU and memory size. It does not show any information about the systems graphics card and a close-up inspection of libxfce4ui/xfce4-about/system-info.c
reveals there is no code which tries to extract graphics card name or vendor or information about Vulkan support or OpenGL support.
It's Not Happening In Some Areas
Xfce development is grossly underfunded or, more accurately, not funded. There is no 100+ people team working full time on Xfce. There is, in reality, mostly a handful of developers working on it and the majority of those are not employed to do so. The result is that some parts of Xfce are unmaintained and neglected.
The xfce4 Task Manager is one part of Xfce which is almost abandoned. It has had close to zero commits (apart from translation updates) since version 1.2.2 was released in December 2018. The version Xfce 4.16 will ship is, as it stands right now, identical to the release included in Xfce 4.14.
The keyboard selection plugin for Xfce's panel, xfce4-xkb-plugin, has not seen any development since 2017.
No Year 2038 Readiness
Xfce 4.16 is currently not ready for the year 2038. A whole lot of Xfce packages are using the deprecated GTimeVal
and g_get_current_time()
functions from Glib. Those were deprecated in GLib 2.61.2 in favor of GDateTime
because they are not able to handle timestamps beyond 2038. Many core Xfce packages show numerous compile time warnings about those deprecated functions.
There is still some time left to fix the time related Xfce code until year 2038 is upon us.
Potential Features
There are several patches ready for Xfce 4.6 which could be included.
A hybrid sleep patch for the Xfce power manager could get merged by the time Xfce 4.6 is released.
A patch for the window manager allowing alt+tab to just cycle through windows on the same screen by Ignacio Losiggio is also ready to be merged.
A patch by Ignacio Losiggio could add a "Cycle only through windows in the active monitor" feature to Xfce 4.16.
These patches are ready to be merged and perhaps they will be. Someone would have to do it so it is not guaranteed that they will make it into 4.6.
Issues Testing Xfce 4.16
It is currently impossible to compile xfce4-panel with newer versions of Vala (which is included in Fedora 32 and other distributions). This is a known issue filed as bug #16426.
Footnotes
- ↑ forum.xfce.org: Do you want to use CSD? No please!!
- ↑ virtualdebris.co.uk: Apparent hate for Linux Mint populism, Plan Bs, CSDs and life after Xfce? posted January 22th, 2020
- ↑ pointieststick.com: On Headerbars, November 18th, 2018
- ↑ bugzilla.xfce.org: Make CSD optional (#16375)
- ↑ git.xfce.org: xsettings: Use CSD for GtkDialogs by default
Enable comment auto-refresher