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:
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:
Chris Titus did an article about securing web servers and he gives some suggested settings for UFW. I used them for many months whilst using Gnome without any issues, but I only browse the web and little else. The settings are in his article. If you are unsure if they will cause you problems don’t use them.
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…
…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
Another obscure setting gives the places bar items a consistent look…
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…
Screenshot is a useful addition to the System Tray Items, but if you add it by right clicking on the panel and selecting Add New Items…
…you will find the Screenshot add-on has no preferences when activated…
To get the preferences for Screenshot it needs to be added from the Whisker Menu to the System Tray Items. To do this select Screenshot in the Whisker Menu, right click on it and select Add to Panel…
…its icon then appears at the end of the Panel. To move it to the desired position amongst the System Tray Items right click on the icon and select Move…
…then place it where you want it to be…
When it is clicked you now get preferences…
…thus you can easily set the type of screenshot you want.
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…
…some are really useful, some are functional, and one is plain silly - here’s a clue
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…
…and select Hide panel when no unread notifications…
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…
…click Notification Plugin then select Edit the currently selected item…
…and then turn off Hide panel when no unread notifications…
By default Bluetooth is enabled…
…to have it disabled at startup right click on the icon and select Plug-ins…
…select PowerManager and click Configuration…
…then uncheck Auto power-on…
…this prevents Bluetooth from running at startup. To enable Bluetooth simply click on the icon and enable it…
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…
…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…
…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:
As a suggestion for a terminal app, Btop is a super lightweight system monitor that looks good and dishes out a lot of info. To install it via the terminal simply enter sudo pacman -S btop, and when it’s installed simply enter btop to start it. Here it is in all of its glory:
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
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…
…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…
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…
…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…
…the following Please choose a panel for the new plug-in will appear to which you select Panel 2…
…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…
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.
Thanks to the people who have helped me with my efforts in getting this sorted.