Suggestions for setting up Xfce Garuda

Prior to moving to Garuda Linux I had been a long time user of MX Linux Xfce. On the plus side it had some excellent tools, but on the negative side it looked like a relic from another era. When I moved to Garuda Linux I decided to try the Gnome version because it was noted for its stability, and I found this was indeed the case.

The problem I had with it was its bloat - I was using it on an 8GB laptop and it became clear that sometimes this wasn’t enough. In the end I caused a terminal system problem by trying to debloat the system, so I decided to bite the bullet, reformat the drive and use the much more lightweight Xfce version of Garuda Linux.

I was pleasantly surprised by its appearance, and it used a fraction of the RAM used by Gnome, thus making many operations more speedy.

Anyway, I decided to see if I could add to what the Garuda devs had provided, so I set about researching what could be done with Xfce on a low RAM laptop. The following is the result of my research. If you’re using Xfce you might hopefully find some of the findings useful.

Here’s a short video showing some of the things that can be done with Xfce by utilizing this guide:

OK, let us begin. First up I opened Garuda Assistant > Settings and applied the Powersave Tweaks since I’m using a laptop:

powersave-tweaks

The UPower Power-Profiles-Daemon can also help to prolong battery life. A guide to enabling it is documented at How to manage power profiles over D-Bus with power-profiles-daemon on Linux - recommended for experienced users only.

Whilst I was using the Garuda Assistant I also turned on the Uncomplicated Firewall in the System Components section:

firewall

Chris Titus did an article about securing web servers and he gives some suggested settings for UFW. …

sudo ufw limit 22/tcp  
sudo ufw allow 80/tcp  
sudo ufw allow 443/tcp  
sudo ufw enable

Verify

sudo ufw status

Do Global blocks

sudo ufw default deny incoming  
sudo ufw default allow outgoing

…I have used these settings without issues, but I only browse the web and little else. GUFW is the graphical version of the firewall and is installed using the command sudo pacman -S gufw. Here’s a screenshot…

…if you have any problems with the rules simply delete them, and the firewall can be turned off if absolutely necessary.

Xfce has a really useful feature for dragging and dropping Window Buttons, but it’s in a really obscure place. Once set you can move buttons on the Places Bar (taskbar).

Take a look at the image below. Right click on the handle which the mouse pointer is pointing at…

window-buttons

…and select Properties in the pop up menu that appears. When you’ve done this select None, drag and drop in the sorting order…

…places bar (taskbar) buttons can now be dragged and dropped into an order of your liking :smiley:

Another obscure setting gives the places bar items a consistent look…

taskbar-items

Go into the Settings Manager, select Panel, select the Items tab, and then double click Status Tray Plugin

…this opens System Tray Items. Select the settings shown below in green to get the required look…

Xfce comes with a decent screenshot tool, but I have found I prefer Ksnip because of its functionality. Details are in the following video:

It is installed by entering the terminal command sudo pacman -S ksnip

Since we’re on the subject of screenshots GPU Screen Recorder is a really useful screen recorder which requires minimal CPU to do its job, thus making it really useful when live streaming games. More details:

It is installed by entering the terminal command sudo pacman -S gpu-screen-recorder-gtk-git

If you are using a laptop it is recommended you don’t fully charge and discharge your battery as this will shorten its lifespan. If you go into Settings > Power Manager…

…then go into System and increase the Critical battery power level. I set it to 30% and set On critical battery power to Ask. …

…this pops up s notice when my battery level gets down to 30%, and I then plug the laptop in and charge it to approx 80%. This reduces battery wear and gives me 4hrs+ of working time before another charge is needed.

Many other applications can be added to the Panel and System Tray Items via Add New Items

add-new-item

…some are really useful, some are functional, and one is plain silly - :eyes:

Also, with regard to the System Tray Items, the Notifications bell icon takes up quite a bit of space. If you want this to appear only when necessary select Properties

notification

…and select Hide panel when no unread notifications

hide-panel

If you want to undo this action and return the bell to the System Tray Items right-click on the places bar and select Panel Preferences

panel-preferences2

…click Notification Plugin then select Edit the currently selected item

…and then turn off Hide panel when no unread notifications

notification2

By default Bluetooth is enabled…

bluetooth-enabled

…to have it disabled at startup right click on the icon and select Plug-ins

bluetooth-plugins

…select PowerManager and click Configuration

bluetooth-configuration

…then uncheck Auto power-on

bluetooth-power

…this prevents Bluetooth from running at startup. To enable Bluetooth simply click on the icon and enable it…

bluetooth-enable

By default the Xfce terminal does not display Fastfetch (a fast version of Neofetch)…

…if you want to get it working you first need to check if garuda-fish-config is installed. This is done by entering pacman -Qs garuda-fish-config in the terminal…

garuda-fish-config

…the above shows it is installed on my laptop. If it isn’t installed on your machine you can install it by entering sudo pacman -S garuda-fish-config in the terminal. When fish is installed open up the Garuda Assistant, select Settings, then select fish as the Default Shell and Apply:

Then enter the terminal command mkdir -p ~/.config/fish and press Enter - this will create the fish config directory if it doesn’t already exist. Finally, enter sudo cp /etc/skel/.config/fish/config.fish ~/.config/fish/config.fish in the terminal to copy the required data into the fish config directory.

Next go in to the Terminal Preferences

terminal-preferences

…and in General check Run a custom command instead of my shell, then set the Custom command to /usr/bin/fish

…then in Appearance set the Default geometry to 100 columns & 27 rows…

…and the end result should look something like this:

If you want terminal transparency select Edit > Appearance, then Transparent Background and Opacity [don’t reduce opacity too much] …

terminal-appearance

…and if you want your teminal colours to use the system theme select Colours and apply the following setting:

termonal-colours

The end result of the above terminal settings:

As a suggestion for a terminal app, Btop is a super lightweight system monitor that looks good, dishes out a lot of info and kills processes if required. To install it via the terminal simply enter sudo pacman -S btop, and when it’s installed simply enter btop to start it. Full details of the app are here.

By default the Thunar File Manager displays the Go to the home folder in its toolbar…

…I personally find this all but useless, so I change it to the much more useful Split View. To do this rught-click on the Toolbar and then select Configure Toolbar

When that’s done uncheck Home and check Split View

You now have a more useful Toolbar :grin:

The icons on the side panel are initially small. This can be changed by selecting Edit > Preferences > Side Pane, then increase the Shortcuts Pane Icon Size:

32px icons displays the following Side Pane:

Next up theming.

I always use a dark theme, but I found that Xfce does not respect theming for Gnome and KDE software, thus making things look like a dogs dinner when these are used.

After a lot of digging around I found solutions to these issues.

For this to work you’ll need .themes & .icons folders are in your home directory. To do this simply enter the terminal command mkdir -p ~/.icons ~/.themes. This creates the aforementioned folders if they don’t already exist.

If you want to check they have been created navigate to your home folder…

…select Show Hidden Files

thunar-hidden

…and look for folders titled .themes & .icons

The following will be placed into these folders.

First you’ll need a good dark theme, I used Jasper Dark Dracula from…

…along with Nightfox Dusk Icon theme…

When the files have been downloaded extract them from the compressed files. Next, open the Jasper Dracula folder. In it you will find the Jasper Dark Dracula folder - copy this into the .themes folder. Finally, copy the Duskfox folder into the the .icons folder.

Next, go into the Settings Manager via the Whisker Menu and then select Appearance.

In the Style tab select Jasper-Dark-Dracula, and in Icons select oomox-Duskfox, then go into Window Manager and in the Style tab select Jasper-Dark-Dracula (again).

Here’s what the theming looks like on the file manager:

I found the solution to getting Gnome software to use a dark theme here.

Edit the file environment in /etc as ROOT

…and add this line to the end of the file:

GTK_THEME=Jasper-Dark-Dracula

Save the file and reboot.

To get a dark theme on KDE software I found two versions of Kvantum had to be downloaded. Open up the terminal and enter the following to download the required files:

sudo pacman -S kvantum
sudo pacman -S kvantum-qt5

Then download a dark theme, I chose…

…this is a good match for Jasper Dark Dracula. When it’s downloaded extract Dracula-purple.tar.xz, then click Select a Kvantum theme folder and select the extracted Dracula-purple folder, then click Install this theme

Then Configure Active Theme as shown in the following two screenshots…

To get the theme applied to the Garuda apps add QT_STYLE_OVERRIDE=kvantum to the bottom of /etc/environment.

Save the file and reboot.

Below is a screenshot of my desktop with Xfce, Gnome, KDE and Garuda software on it…

…everything now has a consistent theme.

You will notice in the above screenshot the panel has been moved to the top. This is because after many moons of using Gnome I got used to using a clipboard manager that was at the top of the screen. I tried to live with it at the bottom of the screen but I got totally racked off with initially going to the top of the screen to use the clipboard manager only to realize it wasn’t there and I had to go to the bottom of the screen to find it. In the end I relented and moved the panel to the top - here is how it’s done.

Right click on the panel and select Panel Preferences

move-panel

In Panel Preferences uncheck Lock panel

…then place the mouse on the panel handle, click the left mouse button and drag the panel to the top of the screen…

move-panel3

…and when the panel is at the top of the screen lock it again using the aforementioned check box in Panel Preferences.

A few days after I’d put the panel at the top I found that I wasn’t keen on regularly using the whisker menu which was now accessed by the panel at the top of the screen. I then had the bright idea of using multiple panels to achieve what I wanted.

First up I decided to add an Ubuntu style panel on the left hand side of the screen. To create another panel go to Panel Preferences, click on the"+" sign and select Add a new panel

To add launchers to the panel simply open the Whisker Menu, select an item, then right click on it and then select Add to Panel

add-to-panel

…the following Please choose a panel for the new plug-in will appear to which you select Panel 2

panel-number

…you add all Whisker Menu items you use regularly to Panel 2 until you have all of the items you require for a “quick launch”. My panel is shown below along with its settings…

…note that the panel mode is set to Vertical and the panel is set to Automatically increase the length. Also, Automatically hide the panel is set to Always - this removes the panel from the desktop when it is not in use.

After I had set up the second panel as aforementioned I pondered redoing the main panel. As I was pondering I inadvertently deleted it by not taking notice of what I was doing. Fortunately the second panel I created allowed me to create more panels, so I proceeded to split my top panel into two separate panels - each one placed at either side of the desktop.

Here’s the first panel [left hand side] with its settings…

…note that Automatically hide the panel is set to Intelligently and Automatically increase the length is enabled. Below are the items in the panel:

Here’s the second panel [right hand side]. It has the same settings as the first panel. Below are the items in the panel:

Here are both of the panels as shown onscreen:

This looks fine, but I felt there should be a practical use for the space in the middle. After a bit of thinking the solution came to me.

The Xfce panel has a Workspace Switcher, but when it’s incorporated into a normal panel I find it practically useless because it’s too small. The space between the top two panels allows for a much larger Workspace Switcher to be placed on the desktop as shown below in Panel 4

The Workspace Switcher panel is enlarged by increasing the Row Size:

Below is a screenshot of the desktop with all panels visible:

Pacman does not delete old or uninstalled packages automatically from the package cache, thus the cache can become very bloated with unnecessary files. This guide explains the issue and provides some solutions.

I chose to automatically clean package cache using the following method.

Using root Thunar navigate to /etc/pacman.d/hooks/ and create a New Empty File. Rename it clean_package_cache.hook.

Then added the following lines:

[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Package
Target = *
[Action]
Description = Cleaning pacman cache...
When = PostTransaction
Exec = /usr/bin/paccache -rk 1

This cleans all unused packages from the package cache except the most recent version when Pacman upgrades, installs, or removes software. It reduced the size of the package cache on my laptop from 3.2GB to 1.6GB on first use without compromising the functionality of the cache, and it now automatically keeps the cache at a sensible size.

The Xfce documents contain a useful tip about LCD hinting - it worked wonders for my old Lenovo laptop.

On some systems, LCD hinting results in better fonts. But because this is not working on all systems, this setting is not configurable through the interface. You can, however, set it with a simple query:

xfconf-query -c xsettings -p /Xft/Lcdfilter -n -t string -s lcddefault

Other possible values are lcdnone, lcddefault, lcdlight and lcdlegacy. You can check to see if the property is set properly by running xrdb -query in a terminal. To fully apply the LCD hinting, it is advisable to log out and in again (for restarting the X server).

:end:

Addendum

In August 2024 I had a look at the KDE desktop of Garuda shown on DistroWatch. I got to wondering if I could make the Xfce version more lightweight whilst paying homage to its big brother.

Here’s the KDE screenshot…

…and here’s what I came up with:

This is what I installed to make things work:

sudo pacman -S gnome-calendar

sudo pacman -S xfce4-docklike-plugin

sudo pacman -S inter-font

Unlike its big brother this version of Garuda only uses a single panel at the top of the screen, all other panels have been removed to minimize CPU use. The Docklike Taskbar allows frequently used programs to be pinned to the taskbar, thus the bottom panel is not required. Unnecessary junk in the top panel [e.g. numerous spacers and a second clock] has also been removed.

Below are the items used to give the panel its functionality [please ignore the panel number, it should be 1]:

Here are the main settings for the Whisker Menu:

The Clock settings are below:

The Calendar Command gnome-calendar displays the Gnome Calendar when the clock is single-clicked [it is way more useful than the default calendar]…

…and the Custom Format %R, %A %B %d, %Y formats the panel clock as following - Time, Day Month Date, Year. Also note that Inter Light has been used for the panel clock font.

Whilst I was digging around I found the following article…

…in all of the time I’ve been using Xfce I had no idea it had this feature was built in. The only problem I had with it is it doesn’t get on too well with Fastfetch, so Fastfetch was turned off. Note that the above article suggests setting F12 to open the terminal, this is not needed as it has a default setting of CTRL+ALT+T [but it can be changed if you so desire].

These are the Preferences settings I used [press CTRL+ALT+T to run the drop terminal, then right click the mouse on it and select Preferences]…

In the General tab turn off Run a custom command instead of my shell. This will turn off Fastfetch.

These are the terminal Drop-down settings I used [they can be modified to your liking]:

Finally, in Appearance I turned off Display menubar in new windows to prevent the menubar appearing at the top of the screen.

The end result:

The desktop wallpaper is a work of art by TilliDie

Below is a short video [no audio] showing how things are set up - simply pause the video as required to see the settings I used.

DT of the DistroTube YouTube channel prefers a light wallpaper when using a dark theme, so I gave this a try using more artwork from TilliDie. I also placed a Workspace Switcher at the bottom of the screen. I changed the colours of the switcher by creating a .CSS file in ~/.config/gtk-3.0 called gtk.css, and in that file I pasted the following:

  wnck-pager:selected {
    background-color: #272931; }
  wnck-pager:hover {
    background-color: #1f2029; }

I got the colours using Xfce’s Color Picker, and I set the Panel Preferences Opacity to 70 for both Enter and Leave. Here’s the resultant desktop:

Methinks DT is correct :astonished:

Finally, Inter font makes a good default font.

To do this open the Whisker Menu and in the search box type in Appearance, and select it.

Here’s a screenshot showing the standard default font…

…and here’s a screenshot showing Inter as the standard default font:

Since we’re on the subject of Inter font @SGS suggested a different look for Galculator, so I changed the display colours…

…and changed the font to Inter Display Regular size 15…

…abd here’s the result:

galvulator

As a footnote, following the changes made to the panel in the addendum along with the dark wallpaper and OS updates I found my OLED laptop took approx 5 hours to drain from 80% to 30%, which is quite a significant improvement on the previous 4 hours it took to drain by the same percentage. This means a 100% battery charge could now potentially give 10 hours of battery life :smiley:

Thanks to the people who have helped me with my efforts in getting this sorted.

:trophy:

10 Likes

Looks really nice @Colin, plus it’s been a long time since I’ve seen an XForms (XFCE) tutorial.

XFCE has an extremely powerful and versatile user interface that can be decorated to look as simple or as wild as the user wants.

I was a member of the 3.0 development team (by invitation) of Fxwm and I have always been proud of my small code snippets incorporated in its release. That was a ways ago. :slight_smile:

I think that’s about the time I was running PCLOS. It was so long ago…no, before that. Maybe still Mandrake?

7 Likes

I think it’s not a problem :smiley:

You should try not to offend the taste of the maintainer.
One likes this, the other that. I hate pink and transparent program interfaces in a blur.
What the heck, anyone can customize it under Linux.

Thanks for the detailed instructions. :smiley:

5 Likes

I had no intention of offending your maintainer, in my view Xfce Garuda is one of the best looking versions of Xfce I’ve found - I am talking about the general looks of Xfce in comparison to KDE.

Just as a footnote, before the distro was installed on my laptop I gave the Xfce version of MX Linux a quick try. It is clear to me that the only reason it’s popular is because it has some excellent tools. If it wasn’t for these it would be just another distro because it looks nowhere near as good as Garuda Xfce.

If Garuda Xfce had the tools of MX Linux I’m sure the Garuda distros would be parked at the #1 spot on DistroWatch.

3 Likes

Yorper will certainly be pleased to read this. :slight_smile:

3 Likes

Just out of curiosity, would it be possible for Xfce Garuda to make Gnome and KDE software follow the light / dark theming of Xfce?

This would be a great addition for this version of Garuda.

We do not publish additional theme versions, but only those that correspond to the ideas of the maintainers. As wrote, just change to your liking.

Exception is Hyprland, where the co-maintainer is crazy about blur, transparent and pink :D, and I am not, but it runs under Community and not under Garuda :wink:

4 Likes

Honestly, your guide and screenshot are making me want to hop to XFCE (again) :heart_eyes:
But I’ll (try) resist that urge, I’ve done too much on KDE now :sob:

3 Likes

Again :wink:

5 Likes

And he can’t spell “Proprietary.”

1 Like

Added System Tray Items tweak.

Oh btw, Garuda apps are still light?

Yes, I moved to XFCE

:man_facepalming:

1 Like

Unfortunately yes, that’s the only bit that won’t take the dark theme.

Maybe a dev can make this happen :wink:

1 Like

Maybe you could make it happen. XFCE has never claimed it has the latest greatest theming and sacrifices modern looks for functionality for its GTK2 looks and feel as its user base is older than the general spotty teenagers and the I want the latest and not the greatest mind set.

5 Likes

I’ve had a look at GTK2 Themes - Eyecandy for your XFCE-Desktop - xfce-look.org and tbh I wouldn’t want to redo the modern theme I’ve got for any of these themes just to give Garuda apps a dark theme.

Two of the themes in the top 10 are used on MX Linux, and the last thing I’d want to do is make Garuda Xfce look like MX Linux. :nauseated_face:

3 Likes

The Garuda apps are Qt, so you can theme them with something like Kvantum. This is how we do it on all the other spins (except maybe KDE, which is able to theme Qt apps natively).

I believe Kvantum is installed by default in the XFCE spin, so just open Kvantum Manager and test out some themes. :smile:

3 Likes

I found that Kvantum wasn’t installed, so I installed it and downloaded a dark theme for it. In the desktop screenshot above you’ll see the qt audacious player and it has had a dark theme applied to it by Kvantum, so I’m not sure why the Garuda apps aren’t themed.

:man_shrugging:

2 Likes

If a light theme is provided by default, there is no need for an unnecessary program.
Its bloat. :slight_smile:

4 Likes

I personally like a consistent theme for all software, but I’m not too bothered about Garuda apps being light themed as it makes them stand out as software that is key to the OS.

2 Likes

:thinking: Hmm, that is curious.

If you don’t mind testing, can you check if setting QT_STYLE_OVERRIDE=kvantum applies the theming when you launch one of these apps? You can set it while launching an app from the command line, for example:

QT_STYLE_OVERRIDE=kvantum garuda-assistant

If that works, you could set that environment variable somewhere like ~/.profile, or globally in /etc/profile.d/ or /etc/environment.

4 Likes