I think XFCE is one of my favorite DE's. However, some of the components that are built-in to it aren't great and cause issues.
One issue in particular that I had was XFCE's lock screen. If I turned off my displays after locking, it would show my desktop when turning them back on (I mean...it's a lock screen. It shouldn't do that.), but the screen was not responsive because (I assume) the lock screen was still in place, it was just not shown. Typing my password into the void still worked, and successfully unlocked my computer. Obviously this is a security problem. Even after the unlock, graphical issues persisted which led to a reboot each time.
Another problem is the compositor. It's pretty slow.
Who this guide is for
This guide is mainly for me, so I can come back to these notes if I ever need to reinstall my system. However, I do believe it provides a great XFCE experience, one that many others could enjoy.
We are going to need all of the packages that we will replace XFCE's components with. These are my personal preferences - if you have a different package that you like more than one of these then absolutely use that.
xbps-install picom slock plank ulauncher
picom is our new compositor. This is a fork of
compton, and is the currently developed version.
slock is a simple lock screen. It does nothing else except lock your screen, and works perfectly with multiple monitors.
plank is a dock. It is macOS-esque. This one is optional, as I think the XFCE panel as a dock is actually pretty good.
ulauncher is a program launcher. I love this package - you can configure it easily and it has a lot of extensions if you want them.
Replacing the default compositor with
picom is going to give you more performance and make everything look a lot smoother. To replace the default compositor, go into XFCE's graphical settings manager. In
Window Manager Tweaks > Compositor, uncheck "Enable display compositing". Now issue this command:
cp /usr/share/examples/picom/picom.sample.conf $HOME/.config/picom.conf
You can play around with these settings to get things working right. Now go back to the root level of the settings manager. In
Session and Startup > Application Autostart, you can enable
picom to load on logging in.
Replacing the default lock screen with
This one is slightly more complicated, as there a lot of lock screen settings in XFCE that we need to disable to get things working correctly. First, we want to kill the current lock screen and screensaver:
pkill xscreensaver pkill xflock4
- In the settings manager go to
Session and Startup > Application Autostart. Remove or uncheck anything related to
- Go to
- In the
Screensavertab, turn off both options at the bottom.
- In the
Lock Screentab, turn off
Enable Lock Screen.
- In the
- Go into
Keyboard > Application Shortcutsand replace the
- Finally, go into
Power Manager > Systemand uncheck "Lock screen when system is going to sleep".
Setting up plank and ulauncher
For our last two packages, we just need to enable these on system startup. Both of them can be configured in their respective settings menu.
A few more tweaks
To end this, here are some tweaks that I find essential.
- Turn off mouse acceleration. In
Mouse and Touchpad > Devices, select your mouse (it may accidentally have something else selected). Under "Pointer Speed", drag "Acceleration" all the way to zero.
- Do not raise windows when any mouse button is pressed. In
Window Manager Tweaks > Accessibility, uncheck "Raise windows when any mouse button is pressed".
- Unset the key that is used to grab and move windows. In
Window Manager Tweaks > Accessibility, change the "Key used to grab and move windows" option to "None". Programs that use the "Alt" key will greatly benefit from this now disabled option.