After years of using Gnome 3/4 with a modified setup on Debian, I returned to Xfce, and am quite impressed by the state of Xfce 4.18.
My background: Using Linux since 1998 or so (yes, I am old) as my main OS, I used a lot of different window mangers and DEs.
Gnome 3 actually never really matched my personal workflows, but I always discovered many paper cuts using other desktop environments and thanks to dconf at least I could automatically configure Gnome 3 in a way which made it usable for me.
For life reasons I needed a cheap, small sub notebook (or netbook, as it was called when I was younger), and settled on the HP Stream 11 with an N4120. No way to run Gnome on this machine and work fluently, so I recalled that Xfce was at the sweet spot between being full featured, fast and light on memory. (+stable and Gtk+ based, KDE hasn't been an option for me since 3.5 and I check it regularly.)
I got more than I bargained for, Xfce felt so quick, responsive, good and simply sane that I run it now on every Linux desktop/laptop I own. (But my entertainment system, which I only use for Netflix.)
What I really like about Xfce 4.18:
- Speed and responsiveness, even on my beefy machine I feel the difference
- Sane size of titlebars etc.
- Customizable panels out of the box and xfce4-panel-profiles for 1 click setups
- Thunars split view. I get tired by the Gnome developers, who removed this feature from Nautilus, explain that two Nautilus windows side by side are equivalent to a split view. It is not
- Ansible support for xfconf out of the box to automate the deployment of my configuration
- Light on RAM: Around 400 MB vs a little above 1 G for Gnome
- Everything I need for my DE is included, no search for plugins which might or might not fix my problems
- Useful and fast default applications (Thunar, Mousepad, Parole...)
- After tweaking the hotkeys/shortcuts a little bit a perfect keyboard driven experience
So far the only 'downsides' I have with Xfce 4.18 is the lack of Wayland support (AFAIK coming with 4.20), the Terminal does not resize the text area if you add new tabs (easily fixed by configuring it to always show the tab bar in the terminalrc) and the type-ahead launchers (whisker-menu, xfce4-appfinder) are 'weaker' than the type-ahead launchers in Gnome/KDE.
Big shout out to the Xfce developers for this excellent desktop environment!
tl;dr: If you haven't used Xfce for some time, give Xfce 4.18 or later a try, you might like it.
Wayland is more secure, better at handling mixed refresh rate monitors, and much more modern. Another thing that I like is that apps don't have as much control over the positioning and focus of their apps, so apps open in more consistent locations and are less likely to steal focus.
If you use multiple monitors, X treats them as one big monitor. And it will refresh that one big monitor at only one refresh rate, usually the slower one.
Say you have a 144hz monitor and a 60hz monitor. X will choose to refresh that one big monitor at only 60hz. So if you drag windows around on your 144hz, it will visually look like 60hz.
There are some exceptions to this. The cursor will move at the highest refresh rate if it's operating in hardware cursor mode. In software cursor mode, it will look laggy. Games will usually operate at the higher refresh rate.
This is a whole other issue. Not everything implements fractional scaling nicely. For example, currently GTK handles fractional scaling by rendering at 200% scaling, then resizing the output. This uses more more processing power and uses more battery. And things are fuzzy. As for why, imagine you have a 15 pixel wide element at 100%. With fractional scaling at 125%, that element is then supposed to be 18.75 pixels wide, which is impossible. So what do you do? Round up? Round down? Same question for a 17 pixel wide element, at 125%, it would be 21.25 pixels wide. Round down? Round up?
Some toolkits don't do the render at 200% then resizes method, but still suffer from other issues.
Most stuff follows the rules, but not everything. Discord, Steam, and Bitwarden ignore my settings under X. But I can force Discord and Bitwarden to run using Wayland, which fixes the issue.