How to customise your Linux desktop: Xfce

I will start this post with a disclaimer: I do not claim to be an expert on Linux desktops in any way, or by any stretch of the imagination. I am an ordinary Linux user, no more.
I have quite a few laptops, notebooks and netbooks and I have a number of different Linux distributions loaded on each of those. When I load a distribution, I generally choose whatever the 'preferred' desktop for that distribution is -- that means KDE on openSuSE, Gnome on Fedora and Debian, Cinnamon and MATE on Linux Mint, Xfce on Manjaro, and so on.
That, in turn, means that I have had to actually work on each of those different desktops, and in most cases I have learned enough about configuration and customization to create a comfortable environment for myself.
What I am going to present in this series are my own experiences, and my own preferences and procedures. There will certainly be people who know a lot more than I do about every one of the desktops I discuss, so if you have other good tips, advice and/or preferences, feel free to speak up in the comments.
One other thing: I'm going to include lots and lots of pretty pictures and screenshots this time, so I will make up for the lack of those, and the excess of CLI examples, in my previous blog post.
This is turning out to be a very long post, so once again you might want to find a comfy chair and a cup of (whatever) before you start.

I will be using Manjaro 15.10 for the screen shots and examples because Xfce is their 'flagship' distribution, so they always have the latest Xfce release, and it is in general very well implemented and integrated with their distribution.
The default Manjaro Xfce desktop looks like this:That is a very typical-looking desktop, and in this first glance it doesn't look significantly different to many others including LXDE, KDE and even Windows. Well, not Windows 8, of course, but that is a different rant. I'm going to divide it into three major parts, and consider what might be interesting to change or customize in each one:
- Wallpaper - Different static images, multiple (changing) images
- Desktop icons - Include/remove specific icons, individually or by category, add new icons for commonly used applications
- Panel - Change panel location and/or size, add multiple panels, show/hide panels, modify panel contents
You might not realize how nice that really is until you have used it for a few minutes.
If for some reason that I can't think of right now you don't want this kind of direct access to the application menu, you can disable it.
Also in the Menus tab is an item which I personally think shows Xfce's long heritage, because it is an action triggered by a middle mouse button click. Yeah, I know, all the Windows users are saying "what? middle? I've only got left and right mouse buttons", and all the Mac users are saying "an N-button mouse has N-1 too many buttons"... but there are a lot of us (mostly with grey hair) who used 3-button mice for many years. In fact, I have a colleague who still uses one (and it has a little ball sticking out the bottom, really).
Xfce also dynamically displays icons for any 'Removable Devices' which may be connected. Unfortunately for me, disk partitions count as removable devices, so when you have a lot of partitions (for a lot of different Linux distributions) the desktop can get rather cluttered with them. In fact even on this little N150+ there would be 10 more icons on the desktop for additional disk partitions. Gaaa.
So if you are old and cranky like me, and you don't want all of that cruft on your desktop, you can remove any or all of it by de-selecting the items in the 'Default Icons' list. One word of warning about removable devices, if you remove the icons for them then you will have to go through the file manager to unmount them, and if you have already removed both file manager icons you will have to go through the application menus to get to the file manager to get to the removable devices. Hmm. Maybe I am starting to see a little bit of light here.
Whew. That was a long haul, just to get through the basic desktop configuration possibilities! The next section covers Panel configuration, and if anything it is a bit more involved than the desktop. So this would be a good time to stretch your legs, and get a fresh cup of coffee/tea/whatever. Smoke 'em if you've got 'em.
The first thing to know about this control is that it gives you access to all of the panels, no matter how many there are and no matter which one you right-clicked to get to it. Here it shows 'Panel 0', and you can simply click on that name in the drop-down list to get any others. within the preferences control, the Display tab shown here presents the general characteristics of the panel.
Perhaps the most interesting of the options here is 'Automatically hide the panel' which defaults to 'Never', so all panels are visible at all times by default. That might be a good choice if you have a nice big monitor with tons of screen resolution to play with (although I don't even like it then). In addition to the familiar 'Always' option, which means you have to move the mouse cursor to the edge of the screen to display the panel, Xfce also has an 'Intelligent' option, which means that the panel will only be hidden when something else wants to use its screen space. I find this to be very useful, and it has become my panel mode. For a bit of fun, open any non-maximized window and then drag it around the screen. Any panel with this option set will be visible until you drag the window onto the border of the panel and then the panel will jump out of the way - and then jump back into view again as soon as you clear its space. Oh, and of course even when a panel is automatically hidden, if you need it all you have to do is move the mouse cursor to that edge of the screen and the panel will come back out.
Other options in this tab include 'Mode' and 'Lock' (I'll come back to those in a minute), and the general size of the panel. If the length is less than 100%, you can tell it to automatically increase the length as necessary to accommodate new buttons and icons. If you are very fond of Panel icons and want to have a lot of them, you can even configure a multi-row panel here, up to a maximum of six rows. Geez, who could ever use a six-row panel? I guess if you had some kind of gigantic, super-high resolution display. All I can say is - ugh.
Next on the Panel is the Workspace Switcher, then a Notification Area where you will get things such as Network and Bluetooth status, volume control and Update Manager status.. Finally, there is a clock and then the Action Buttons which brings up Logout/Restart/Shutdown/Suspend/Hibernate options.
As I mentioned above, I often install Xfce on netbook systems. One of the characteristics of netbooks is small screens - generally up to about 11", with resolution something like 1024x600. What you might notice from that resolution and would certainly notice from using a netbook is that they have considerably more horizontal screen space than vertical screen space.
It makes sense to me to use the horizontal space for Panels when possible. So I create a new panel by clicking the "+" button next to Panel 0, and then I change the Mode from Horizontal to Vertical, and drag the new Panel to the right (or left) edge of the screen. It will snap-to the edge when you get close, so it isn't hard to position; don't worry about the vertical placement at this time. That will give you an empty panel at the edge of the screen, like this:
Now I need to add some content to the panel. My objective here is to divide the content of the panels so that those which are simple symbols or controls, generally fixed-width and do not include text, should be in the vertical panel at the side of the screen, and those which are larger, wider and include text in the body should be in the bottom panel.
For the first few items I can simply move (drag) them from one panel to the other, that's a lot easier than adding to one and deleting from the other. All I have to do is right-click on an item in the original Panel, choose Move and then drag-and-drop it in the new Panel. One good place to start is with the Logout/Shutdown icon, so I drag that over, then follow with the Show Desktop icon, and finally the clock.
Once those items have been moved over, click Lock on both panels, and make sure that both have Intelligent Hide selected, and the first stage is done! The screen now looks like this:
Of course, most people like to have application launchers on the Panel so they can conveniently start their most commonly used programs. I'm going to show two ways of adding these; the first is a quick-and-dirty way which turns out to be the one I most commonly use.
Going back to the bottom panel, I mentioned at the beginning that there is a Whisker Menu button at the left end of the bottom panel.The new launcher will be added at the bottom/right of the panel, if you want it positioned somewhere else just right-click, select Move and drag it where you want.
The other way to add something to a Panel is to right-click on the Panel and choose 'Add Item'.Right-click on the new launcher icon and choose 'Properties'. This presents you with a nearly-empty window, and my first reaction was "Yikes, what do I do now", but fortunately all you need to do is click the "+" button and you will get another window with a list of predefined applications that you can choose from.
If you can't find what you want to add, you have the option of clicking "Add an Empty Item", and then filling in the properties yourself.
There is one other possible Mode for Panels which was introduced with Xfce 4.10. It is called a 'Deskbar', and it is a sort of hybrid between horizontal and vertical panels. As I mentioned above, I tend or configure my desktop with icon-only items such as launchers and controls in a vertical panel, and icons which have text and graphics in a horizontal panel. There are two reasons for this, first I don't like to read vertical text, and second items with dynamic length tend to eat up vertical panel space very quickly.
The obvious difference here, compared to the screen shot above when I moved the Clock to a vertical Panel, is that the digital clock display is horizontal. The same is true of the Window Buttons, so rather than taking a large amount of panel space for each window, it only needs enough for a small icon per window, and the text is displayed horizontally next to the icon. That's pretty nice.
The disadvantage is equally obvious, a vertical panel doesn't have much room for horizontal text. If you know what the application icons are that's not a problem; or if you are willing to hover on the window icons then the full window text will be displayed in a pop-up.
When combined with Intelligent Hide, this makes for a pretty nice desktop. Move the Whisker Menu up to the Deskbar, and you can then delete the original bottom panel and you have recovered all of the (limited) vertical screen space on a netbook. That's pretty nice, but to be honest I don't go quite that far - I leave the Deskbar width at one row because I generally don't need the window description text, and in the rare cases where I do need it, I just hover on them to get it.
The Xfce Tour document says that Deskbars are particularly good for wide-screen monitors. I sort of agree with that, but I would extend that to say that multi-column Deskbars are good on wide screens, and single-column Deskbars are good on very small screens such as netbooks. In fact, when you look at the aspect ratio, you could consider netbooks to be low-resolution wide-screen displays, so it's really the same use case...
All right, that's enough about Panels. I think you realize that there is a lot of room for exploration, experimentation and personalisation in this part of Xfce. So don't be shy, look around, make some changes, and see what you might like (or not).
I can even give you one tip about something else to look at - the 'Window Menu' rather than the 'Window Buttons' that I have used here. It's a different approach, sort of a combination of the Workspace Switcher and Window Buttons, and it will let you keep the Deskbar only one row wide. Some people seem to like it a lot, and others absolutely hate it. I'm still undecided, but I'm starting to think it is pretty chill.
One last thing - I promise, the last and it won't take very long. I can't talk about desktop customizing without at least mentioning this. A lot of people prefer to have application launcher icons on the desktop, rather than (or in addition to) in the Panels and/or menus.
I mentioned at the beginning that the Xfce desktop has various icons included by default, but those are all specific utilities. It is also possible to add application launchers to the desktop - and in fact, there are two ways to do this, as there was for adding them to a panel.
The simple way, the same as adding them to a panel, is to go to the Whisker Menu, find the item you want, right-click and choose 'Add to Desktop'. Easy as pie, that does the whole job - defines the name, comment, command and icon symbol. If you don't like the location it chooses on the desktop you can drag it anywhere you want.
The alternative is to right-click on the desktop background, and choose 'Create Launcher'. This gives you an empty launcher, and you have to fill in everything you need. Good luck with that... But this does show one other interesting point, because when you right-click the background you should notice that you can also create a URL link, a folder or a new document on the desktop as well. I promised that the desktop launcher would be the last thing here, so I will leave those for investigation and experimentation by the readers.
Here's the bottom line. On my Manjaro Xfce system I have created a vertical Panel on the right side and a Deskbar on the left side. I have moved everything out of the original bottom Panel to one of those two new panels, and I have added a couple of launchers to the vertical panel. I also changed the Window Buttons to a Window Menu on the Deskbar. The final result looks like this:
I think that's really nice (duh, I made it). You might not agree, but that is exactly why I have spent all this time explaining Xfce desktop configuration and customization. To encourage you to try it yourself, and make something that fits your needs and your visual and functional preferences. Go for it!
More on Linux and open source:
- Hands-On with openSuSE Leap RC1: A walk through of the installer
- Hands-On: KaOS Linux 2015.10
- Thus versus Calamares: Comparing Manjaro 15.09 installers
- Upgrading my Linux-Windows multi-boot system to Windows 10
- Hands-On: Linux UEFI multi-boot, my way
- Hands-On: Linux UEFI multi-boot, part two
- Building a pre-release Linux testbed with openSuSE, Fedora, Ubuntu, and more