Xfce 4.14 Maintenance and 4.15 Updates

Xfce 4.14 Maintenance

As promised we’re trying to be much better at doing maintenance releases for Xfce 4.14. In part, we had a hard time doing maintenance for Xfce 4.12 because with all the porting work it was hard to focus on fixing Gtk+2 bugs and many bugreports/fixes didn’t apply to both 4.12 and 4.14.
This has now changed and as many bugs apply to both Xfce 4.14 and the current 4.15 development versions we can much more easily backport fixes. Consequently we have already done quite a few maintenance releases so far and this week a few more followed, fixing bugs and featuring improved translations:

  • xfce4-panel 4.14.3 (4.14.2 had a bad release build)
  • xfce4-session 4.14.1
  • xfce4-settings 4.14.2
  • xfdesktop 4.14.2

Xfce 4.15 Updates

One of the major UI changes that we announced for the 4.16 cycle was the switch to GtkHeaderBars or so-called Client-side decorations (CSD). The first big step in this direction has now happened in libxfce4ui, our main user interface library. With the change, almost all dialogs will be converted to using CSD by default without any code changes in existing projects.

There are quite a few advantages we’re looking forward to (improved resize areas, consistent theming etc) by making use of this core Gtk feature.

A few more features that got released (in the xfce4-panel 4.15.1, libxfce4ui 4.15.1, libxfce4util 4.15.0 and xfce4-settings 4.15.0):

  • an improved “About Xfce” dialog that features basics of the system properties
  • improvements to the “Display” dialog (show Aspect Ratio, show Preferred Mode)
  • only show Gtk themes that support Gtk3 in the “Appearance” dialog
  • function for improved application icon lookup (used in Xfce Session’s settings dialog and in the Xfce Panel’s systray settings for now)
  • the panel’ dark mode got enabled by default (which means it will look nicer with Adwaita e.g. on Fedora by default)
  • the Directory Menu plugin now allows you to directly create Folders and Files
  • we also bumped the overall Xfce version to 4.15 so people testing 4.15 packages should see the right version in e.g. the “About Xfce” dialog.

Enjoy! 🙂

(and don’t forget to write bug reports 😉 )

Some Screenshots

Appearance Settings (Adwaita)
Appearance Settings (Greybird)

 

 

 

New Settings Manager layout
New and shiny About dialog

 

 

Better app icons (Panel Systray)

Technical background: XfceTitledDialog with CSD

(This subsection is targeted at developers.)

Some components (namely Thunar, Thunar volman, xfce4-panel, xfce4-settings, xfburn and xfce4-mixer) inherit the XfceTitledDialogClass explicitly when creating their dialog object have to be fixed by using the new API introduced in the upcoming release libxfce4ui-4.15.1.
All other dialogs should work out of the box and not require any additional meddling.

  • xfce_titled_dialog_create_action_area (to initialize the custom action area)
  • xfce_titled_dialog_add_button (as an equivalent to gtk_dialog_add_button)
  • xfce_titled_dialog_add_action_widget (as an equivalent to gtk_dialog_add_action_widget)
  • xfce_titled_dialog_set_default_response (as an equivalent to gtk_dialog_set_default_response)

The point of the new API is packing the dialog’s action buttons in the action area at the bottom of the dialog (vs. the standard GtkDialog behavior of packing them in the GtkHeaderBar as part of the window decorations). This means that dialogs remain in their previous/traditional layout with minimal effort on the developer’s/maintainer’s side, in part because the parameters were kept the same as in their upstream GtkDialog counterparts.

Here is a (very simple) example commit of how to port existing dialogs that use XfceTitledDialogClass:
https://git.xfce.org/xfce/xfce4-panel/commit/?id=35440ee2d9540a3c1afdcbff5f50dc0ee2f83d9b