Replacing XFCE's default components with minimal alternatives 2020-10-11 on Kenneth Dodrill's blog

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

Required packages

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

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 slock

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

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.