Featured Xfce 4.13 review

Review: Xfce 4.13 Desktop Environment – A Noticeable Difference From Its Predecessor

While Xfce 4.13 brings significant improvements to the table, it still neglects to take care of some other burning issues.

Reviews

Before we start the review itself, I’d like to open with a disclosure that will clarify where I’m standing in regards to Xfce, so that you won’t have to wonder whether I’m biased for or against it.

Xfce is my second favorite Linux desktop environment (at the moment) right after KDE. I see great potential in Xfce, yet I doubt whether this potential will be fully realized, even in the not so near future.

Xfce’s goal of being lightweight while being visually appealing and user-friendly plays a big role in my sympathy for the D.E., it is very close to the way I would describe my ultimate desktop environment.

Furthermore, the way Xfce embodies the Unix philosophy of modularity and re-usability, is also a key factor in my appreciation for it.

Lastly, I’d like to mention that, personally, I view Xfce as one of the most unique D.E.s we have on Linux platform. It has been with us since more than 2 decades, it uses GTK+ as its main development toolkit which means Xfce is written in C language – a language that produces the fastest and most lightweight executing code possible (for a high level language)[1] – thus it is geared towards performance.

And in contrast to other desktop environments, which also uses GTK+ as their main toolkit, taking a glance at Xfce’s source code proves that C language is being used profusely, and for the most part, not in conjunction with other languages – a key factor for high performance in my view.

Having said that, what Xfce lacks and is decisively affecting the user experience of it, is – features, but you’ll read more on that later in the review.

About Xfce 4.13

Xfce 4.13 has not been released as a full release, rather, it is a milestone on the road to version 4.14 which goal is to port all the core applications from GTK+ 2 to version 3.

So all the components which have already been ported to GTK+ 3 are released as 4.13, and can be installed individually alongside other components from 4.12 for which they maintain backwards compatibility with.

Xfce Is Even Lighter Than Before

As I did when I previously reviewed Xfce 4.12, I used ps_mem tool in order measure Xfce’s RAM usage and below is the result I got: (scroll down the list to see the total sum)

Private + Shared = RAM used Program

144.0 KiB + 24.5 KiB = 168.5 KiB init
156.0 KiB + 36.0 KiB = 192.0 KiB gnome-pty-helper
140.0 KiB + 64.0 KiB = 204.0 KiB ck-launch-session
604.0 KiB + 24.0 KiB = 628.0 KiB ssh-agent
252.0 KiB + 409.0 KiB = 661.0 KiB sh
644.0 KiB + 45.0 KiB = 689.0 KiB crond
528.0 KiB + 188.5 KiB = 716.5 KiB at-spi2-registryd
648.0 KiB + 143.5 KiB = 791.5 KiB at-spi-bus-launcher
740.0 KiB + 88.5 KiB = 828.5 KiB gpg-agent
684.0 KiB + 178.0 KiB = 862.0 KiB gconfd-2
848.0 KiB + 48.0 KiB = 896.0 KiB sshd
844.0 KiB + 89.0 KiB = 933.0 KiB mount.ntfs-3g
888.0 KiB + 140.5 KiB = 1.0 MiB sudo
772.0 KiB + 307.5 KiB = 1.1 MiB xfconfd (2)
960.0 KiB + 175.0 KiB = 1.1 MiB console-kit-daemon
984.0 KiB + 236.5 KiB = 1.2 MiB upowerd
828.0 KiB + 426.5 KiB = 1.2 MiB bash
976.0 KiB + 289.0 KiB = 1.2 MiB agetty (6)
948.0 KiB + 350.5 KiB = 1.3 MiB gvfsd-trash
1.2 MiB + 277.5 KiB = 1.4 MiB dbus-launch (3)
1.1 MiB + 414.0 KiB = 1.5 MiB gvfs-mtp-volume-monitor (2)
1.5 MiB + 213.0 KiB = 1.7 MiB gvfsd-metadata
1.4 MiB + 507.0 KiB = 1.9 MiB gvfsd-fuse (2)
1.3 MiB + 632.5 KiB = 1.9 MiB gconf-helper (2)
1.4 MiB + 740.0 KiB = 2.1 MiB gvfsd (2)
2.0 MiB + 206.5 KiB = 2.2 MiB udisksd
1.9 MiB + 567.0 KiB = 2.5 MiB gnome-keyring-daemon
2.3 MiB + 459.0 KiB = 2.7 MiB dbus-daemon (5)
1.9 MiB + 893.5 KiB = 2.8 MiB kdeinit5
1.6 MiB + 1.3 MiB = 2.9 MiB sddm-helper
3.0 MiB + 52.0 KiB = 3.1 MiB udevd
2.2 MiB + 1.0 MiB = 3.2 MiB panel-3-systray
2.6 MiB + 605.5 KiB = 3.2 MiB ntpd
2.3 MiB + 1.0 MiB = 3.3 MiB xfce4-session
2.5 MiB + 1.3 MiB = 3.8 MiB sddm
3.4 MiB + 725.5 KiB = 4.1 MiB colord
3.4 MiB + 771.0 KiB = 4.1 MiB cupsd
2.9 MiB + 1.2 MiB = 4.2 MiB xfsettingsd
4.9 MiB + 299.0 KiB = 5.2 MiB NetworkManager
688.0 KiB + 4.9 MiB = 5.5 MiB php-fpm (3)
5.9 MiB + 287.5 KiB = 6.2 MiB polkitd
4.1 MiB + 2.1 MiB = 6.2 MiB gksu
4.7 MiB + 3.1 MiB = 7.8 MiB polkit-gnome-authentication-agent-1
7.9 MiB + 47.5 KiB = 8.0 MiB dhclient
4.5 MiB + 4.1 MiB = 8.5 MiB kuiserver5
4.4 MiB + 4.2 MiB = 8.6 MiB klauncher
7.3 MiB + 1.8 MiB = 9.1 MiB xfce4-panel
9.1 MiB + 2.6 MiB = 11.7 MiB xfce4-terminal
9.3 MiB + 2.7 MiB = 12.0 MiB panel-5-whisker
8.7 MiB + 3.4 MiB = 12.1 MiB pulseaudio (2)
10.6 MiB + 2.0 MiB = 12.6 MiB xfce4-xkb-plugin
10.0 MiB + 2.9 MiB = 12.9 MiB Thunar
8.1 MiB + 6.5 MiB = 14.6 MiB xfce4-power-manager
13.4 MiB + 1.3 MiB = 14.7 MiB applet.py
14.4 MiB + 1.9 MiB = 16.4 MiB nginx (9)
9.4 MiB + 8.2 MiB = 17.7 MiB kactivitymanagerd (2)
13.4 MiB + 5.8 MiB = 19.2 MiB xfwm4
17.8 MiB + 5.2 MiB = 23.0 MiB xfdesktop
26.9 MiB + 10.0 MiB = 36.9 MiB Xorg
117.7 MiB + 586.0 KiB = 118.3 MiB mysqld
---------------------------------
455.2 MiB
=================================

Xfce is even more lightweight than it used to be, despite migrating to GTK+ 3, or perhaps due to it. When adding up only the Xfce components in the list, the total sum received is then ~123.7 MiB, in comparison to the result I got previously ~287 MiB – that’s a huge difference, however, do keep in mind that my Gentoo system has changed with time as well since last time when I reviewed version 4.12.

If we delve into the specifics behind the numbers though, we can see that the same components from the previous review have reduced their weight from version 4.12 to 4.13, for instance: xfwm4 (4.12) weighed 21.4 MiB while xfwm4 (4.13) weighs 19.2 MiB – this indicates that Xfce has indeed reduced in size however, not necessarily a dramatic reduction as depicted by the total sum of Xfce components.

For reference, I’ve also measured RAM usage of my other desktop environment (on the same system) – KDE, so you can see where is Xfce located in terms of resources usage relative to other D.E.s

Private + Shared = RAM used Program

108.0 KiB + 20.0 KiB = 128.0 KiB start_kdeinit
144.0 KiB + 28.5 KiB = 172.5 KiB init
140.0 KiB + 78.0 KiB = 218.0 KiB ck-launch-session
644.0 KiB + 51.0 KiB = 695.0 KiB crond
276.0 KiB + 447.0 KiB = 723.0 KiB startkde
532.0 KiB + 316.5 KiB = 848.5 KiB kwrapper5
660.0 KiB + 217.5 KiB = 877.5 KiB dconf-service
848.0 KiB + 51.0 KiB = 899.0 KiB sshd
676.0 KiB + 276.0 KiB = 952.0 KiB gconfd-2
940.0 KiB + 49.5 KiB = 989.5 KiB gpg-agent
788.0 KiB + 217.0 KiB = 1.0 MiB dbus-launch (2)
1.0 MiB + 39.0 KiB = 1.0 MiB mount.ntfs-3g
900.0 KiB + 154.5 KiB = 1.0 MiB sudo
976.0 KiB + 268.0 KiB = 1.2 MiB console-kit-daemon
804.0 KiB + 463.5 KiB = 1.2 MiB bash
976.0 KiB + 331.0 KiB = 1.3 MiB agetty (6)
1.1 MiB + 307.5 KiB = 1.4 MiB upowerd
1.6 MiB + 351.0 KiB = 2.0 MiB dbus-daemon (3)
1.5 MiB + 835.5 KiB = 2.3 MiB sddm-helper
2.0 MiB + 339.5 KiB = 2.3 MiB udisksd
1.8 MiB + 908.5 KiB = 2.7 MiB sddm
2.0 MiB + 903.0 KiB = 2.9 MiB gconf-helper (3)
1.9 MiB + 986.0 KiB = 2.9 MiB kscreen_backend_launcher
2.0 MiB + 1.1 MiB = 3.0 MiB backlighthelper
568.0 KiB + 2.5 MiB = 3.1 MiB kdeinit5
3.0 MiB + 56.0 KiB = 3.1 MiB udevd
2.7 MiB + 633.5 KiB = 3.3 MiB ntpd
3.3 MiB + 624.0 KiB = 3.9 MiB cupsd
3.4 MiB + 960.5 KiB = 4.3 MiB colord
4.9 MiB + 443.0 KiB = 5.4 MiB NetworkManager
692.0 KiB + 4.9 MiB = 5.5 MiB php-fpm (3)
3.8 MiB + 2.0 MiB = 5.7 MiB xembedsniproxy
4.0 MiB + 2.1 MiB = 6.0 MiB kuiserver5
3.8 MiB + 2.2 MiB = 6.1 MiB klauncher
6.0 MiB + 421.5 KiB = 6.4 MiB polkitd
4.2 MiB + 2.3 MiB = 6.5 MiB polkit-kde-authentication-agent-1
4.4 MiB + 2.3 MiB = 6.7 MiB kaccess
5.0 MiB + 2.0 MiB = 7.0 MiB kglobalaccel5
5.0 MiB + 2.6 MiB = 7.6 MiB kactivitymanagerd
5.1 MiB + 2.8 MiB = 7.9 MiB org_kde_powerdevil
7.9 MiB + 52.5 KiB = 8.0 MiB dhclient
5.1 MiB + 3.6 MiB = 8.6 MiB ksmserver
12.1 MiB + 3.6 MiB = 15.7 MiB pulseaudio (3)
9.3 MiB + 6.5 MiB = 15.8 MiB kded5
14.4 MiB + 1.9 MiB = 16.4 MiB nginx (9)
12.1 MiB + 6.8 MiB = 18.9 MiB konsole
15.4 MiB + 3.6 MiB = 19.0 MiB Xorg
18.0 MiB + 9.9 MiB = 27.9 MiB krunner
26.9 MiB + 9.6 MiB = 36.5 MiB kwin_x11
75.0 MiB + 14.8 MiB = 89.8 MiB plasmashell
117.8 MiB + 553.0 KiB = 118.4 MiB mysqld
---------------------------------
496.0 MiB
=================================

The total amount of RAM usage by KDE components amounts to ~237.6 MiB.

You can see that, all in all, both desktop environments are very low on resources in general, Plasma however offers much more features than Xfce, so therefore the difference is reasonable.

Xfce 4.13 Finally Eliminates Screen Tearing

In my previous review, one of the main gripes I had with Xfce was the horrible screen tearing experienced by users of Nvidia graphics card by default. As I mentioned, xfwm – Xfce’s window manager – lacked a proper implementation of Sync to Vblank (Vsync) property, thus as a way of circumventing that issue, users of Nvidia drivers needed to resort to using Compton instead of Xfce’s default window manager, or use other types of hacks.

Fortunately however, as my Gentoo system now shows, proper support for opengl technology was finally implemented and now screen tearing is no longer an issue for Nvidia users, even when the Sync to Vblank option is turned off in Xfce’s Settings.

Xfce 4.13 implemetns opengl properly | require no use of Sync to Vblank

Xfce 4.13 implemetns opengl properly | require no use of “Sync to Vblank”

xfdashboard Adds GNOME Like Overview

A new plugin that entered Xfce’s inventory recently, called xfdashboard, is bringing GNOME Shell like overview to Xfce (without the slick animations though).

This plugin is extremely useful especially when used in conjunction with HotCorner plugin, as it lets users access an integral feature, part of any modern desktop environment – ability to preview windows feature.

Xfce's xfdashboard plugin brings GNOME Shell like overview

Xfce’s xfdashboard plugin brings GNOME Shell like overview

Nevertheless, both of these plugins are still very new so they might not yet be available on all major Linux distributions.

COMMENTS (beta)

?
Add your comment here...
5
Marshall Neill 22 days ago
I wonder if the Xfce Devs have ever thought of perhaps porting Nemo or Caja to use as the file manager.  They would be lacking Bulk Rename, but perhaps that could be added.
Caja and Nemo are just modified versions of the 'old Nautilus' are they not and this is open source so why not.  That would free up dev time for other things.
1
killermoehre (Xfce support) 21 days ago Marshall Neill
No, this wouldn't free up dev time. You see, porting Nemo or Caja to follow the Xfce design principals based upon the Xfce core libraries and being in par with current Thunar features is much more work. There is currently work done to port Thunar to GTK3.
2
Marshall Neill 21 days ago killermoehre (Xfce support)
Well I had no idea.  I stand corrected.
4
Henrik L. 22 days ago
Fitts's law*
3
killermoehre (Xfce support) 22 days ago
Just a quick reminder: The 4.13.X releases are _NOT_ for public use, but are development releases.

For the mousepad topic: use geany instead. Xfce will never ship a full IDE. This is completely out of scope.

For the theme topic: Numix and Greybird are good themes. For the built-in themes I have a bad message for you. They will not become migrated to GTK3. In fact the developers decided that the distributions shall ship proper themes supporting GTK2 and 3, because the devs aren't capable to keep up the speed GTK3 breaks the theming API.
1
Great! thanks for the clarification.
Regarding the themes, well, I hope the distributions would do a good job then...
2
Vlijmen Fileer 22 days ago
"When a window is maximized, can you click on the extreme edge of the screen, at the corner where the window’s close button is, and close the window that way? Or do you need to move the mouse a few pixels towards the screen’s middle area in order for the window to close?"

That clarifies this years and years long annoyance a bit: apparently there are loonies who have elevated that bug -the resize handles disappearing for a maximised window and changing into a close button (for the top right)- to the status of design law.

If somebody can explain to me the logic of changing built-in window behaviour depending on if the window is smaller or bigger, I'd be delighted.
Likewise I'd be happy to be informed why it is so valuable to not have to place your mouse /on/ the actual close button, /but only when a window is maximised/.  Remember that that same "requirement" is apparently void for non-maximised windows: people have no qualms or problems putting their mouse on the "X" to close the window in that state...

It is this sort of "exception behaviour", advocated by people who are simply lacking in rational thinking skills, that make for all the little annoyances in computer UI's.
I can compare it to the opening of one bookmark in a modern browser (this will "overwrite" the current tab, as it should), to the opening of a folder with bookmarks, which for no good reason does /not/ overwrite the current tab, but opens all in adjacent tabs.  Just as insane, for the same two reasons: broken consistency and no or no sensible improvement in usability.
1
killermoehre (Xfce support) 22 days ago Vlijmen Fileer
Usability hint: hold the alt button and resize with right mouse button, hold the alt button and move with left mouse button
2
Liron 22 days ago Vlijmen Fileer
Hi,

I do not intend to argue with you, every person is entitled to his / her own opinion.
However, I shall clarify my point of view:

According to a well-known and accepted model of human movement (see Flitt's law), "[...] the time required to rapidly move to a target area is a function of the ratio between the distance to the target and the width of the target".

Hence, in order to make the task of closing a window (or any other desired task for that matter) as fast as possible (and with less struggle to pinpoint the X button) - the corners of the screen are useful to use, as they increase the target size by not allowing the mouse to move past them.

I recommend the following read for more information about subject:
https://www.interaction-design.org/literature/article/fitts-s-law-the-importance-of-size-and-distance-in-ui-design

Best regards
3
Vlijmen Fileer 20 days ago Liron
Yes I know.  It is rather well-known.  The ideas on usability contained in it are rather old, very straightforward, and dare I say,  outright one-dimensional.

Unfortunately, when someone has written down some "law" like that, and enough people start following it, such writing often achieves religious status and people stop thinking.  And with that, reasoning to better on the ideas in the writing meets with religious denial and resistance.

Let me just say that I suffer from that (although only ever so slightly), and I do not like that.
1
Bq 22 days ago
Excellent  Xfce 4.13 Desktop Environment – A Noticeable Difference From Its Predecessor.
Hopefully so standard default is displayed as can be seen, a marvel.   It would be good for all libraries to pass to GTK 3, and the upper bar of the window is by default in dark black or blue, same for the edges of the windows.

1
killermoehre (Xfce support) 22 days ago Bq
Distributions are free to change the default layout shipped (and also which window theme is to use). Numix has a dark window border.