Xfce 4.16

From LinuxReviews
Jump to navigationJump to search

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]."

lists.xfce.org: ANNOUNCE: xfce4-panel 4.15.1 released (Andrzej) from Simon Steinbeiß, January 15th, 2020

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"."

lists.xfce.org: ANNOUNCE: xfce4-panel 4.15.1 released (Andrzej) from Andrzej on January 16th, 2020

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 xfce4-settings-editor to set the xsettings ▸ DialogsUseHeader value to 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 under Xfce 4.14 on Fedora 32.

LibreOffice 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.


Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.