#Keiaa's Notes about XFCE

87 messages · Page 1 of 1 (latest)

clear forge
#

All my notes about the X Freakin' Cool Environment, the desktop environment where everything goes fasta.
Includes a walkthrough/showcase of the Settings Manager, suggested configurations, and criticisms.

Please message me or send me an email at confinedrose@duck.com if you have any feedback. Thank you!

WIP.

#

What is... and why XFCE?

XFCE is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources...

Main links for reading

#

XFCE Settings Manager

From the name itself, it manages your settings. Think of it as your control panel, maybe because it is. In Linux Mint, it is divided into four sections; Personal, Hardware, System, and Other.

#

The Personal section is all about personalizing your desktop. Making XFCE bend to your will, because you are the user.

#

In the About Me settings, this calls mugshot. From there, you may configure your user account details.

#

In the Appearance settings, there are four subsections; Style, Icons, Fonts, and Settings.

#

Under the Style subsection, you can see all the installed GTK3 themes for your desktop. This changes the entire look and feel.

Below, there is an option to Set matching Xfwm4 theme if there is one.

Xfwm4 is XFCE's window manager, what draws its windows and its decorations (titlebar). The Xfwm4 theme applies to the titlebars only.

GTK3 themes are usually installed under /usr/share/themes/ or /home/$USER/.themes/.

#

Therefore, you are allowed to set a different look and feel for the system and for your window titlebars.

This will be addressed later in this thread.

#

Under the Icons subsection, you can see all the icon themes for your desktop.

You may notice icon sets with hazard icons on their right hand side. This means that the set does not have a cache, therefore not properly accessed by the system.

That may result to missing or mismatched (due to fallback) icons. This may be fixed with gtk-update-icon-cache /path/to/the/icon/theme.

Icon sets are usually installed under /usr/share/icons/ or /home/$USER/.icons/.

#

Under the Fonts subsection, you can see all font related settings.

You may set the default system and monospace font. The default font are used by apps and most graphical elements, whereas the monospace font are likely used in contexts where code is present, otherwise overridden.

#

Under the Rendering category, you may toggle anti-aliasing. It refers to a technique in computer graphics which smoothens out edges.

Hinting is a font rendering technique which improves the quality of fonts at small sizes and an at low screen resolutions. Select one of the options to specify how to apply hinting your fonts.

[You may also s]elect one of the options to specify the sub-pixel color order for your fonts. Use this option for LCD or flat-screen displays.

Under the DPI option, you may override the detected monitor resolution if fonts seem too large or too small.

If in doubt, leave the SUGGESTED defaults.

#

Under the Settings subsection, you would find other options relevant to customizing the appearance of the desktop.

Do note that under window scaling, XFCE will only offer 1x or 2x by default. It does not support fractional scaling either.

In such case that you would like to adjust scaling, it is suggested to increase the DPI or the default font size instead.

#

In the Desktop settings, you can customize your MAIN DESKTOP VIEW further under three subsections; Backgrounds, Menu, and Icons.

#

In the Background subsection, the main view is consisted of all images present in the selected folder in the bottom view.

You can set the display style of the images too. Options include None, Centered, Tiled, Stretched, Scaled, and Zoomed. Suggested default is set as Zoomed.

You may also slideshow through your entire catalog by ticking the Change the background field in the bottom view, which you can configure further.

By default, all XFCE workspaces share the same background. You may change this by toggling the Apply to all workspaces field in the bottom right side.

#

Under the Menu subsection, you may configure the menus that you may access through the main desktop view.

Notable options include:

  • Include applications menu on desktop right click
  • Show window list menu on desktop middle click
#

Under the Icons subsection, you may find options relevant to icons displayed in your main desktop view.

Do note that these icons point to files present in /home/$USER/Desktop. Hidden files are not shown by default.

#

In Linux Mint Xfce, you'll likely find Desktop Settings.

This concerns some options related to the desktop environment itself, such as window manager, compositing, and dark theme.

This should not be confused with Desktop.

It is suggested to use Xfwm4 + Picom for better rendering and to avoid screen tearing.

#

In the Notifications settings, you may set how XFCE handles these alerts.

In the General subsection, you may set behaviour and animation configrations.

#

Under the Appearance subsection, you may set theme, position, opacity and display duration. You may configure date/time format if necessary too.

Do note that by default, XFCE will take the applied GTK3 theme under Appearance >> Style. However, you may set other themes in the dropdown menu.

Listed notification themes are different from that of GTK3 themes, however. Themes are similarly located under /usr/share/themes/.

#

Under the Applications subsection, XFCE takes note of all the applications that have already displayed notifications before.

From here, you may set their permissions, such as mute, allow urgent, and logging.

#

Under the Log subsection, you may record all your alerts. This, however, is disabled by default.

You may choose which apps to log and adjust log size limit.

#

In the Panel settings, you may customize your panels. These may be colloquially referred to as taskbar.

You can select the panel to customize in the dropdown menu present in the upper view, from which you can add or remove them with the buttons at the right.

Under the General subsection, here are the following notable options.

  • Set panel as Horizontal, Vertical, or Deskbar
  • Lock the panel to prevent dragging
  • Automatically hide the panel
  • Adjust the height (Row size (pixels))
  • Adjust panel length
#

Under the Appearance subsection, you may:

  • Set dark mode
  • Set panel style (inherits Appearance >> Style)
  • Adjust icon size
  • Set opacity
#

Under the Items subsection, you can see the components currently present in the panel.

You may arrange these items using the arrow in the right hand side or by dragging them.

You may configure these items further with the buttons present in the bottom view.

#

In the Window Manager settings, you can configure Xfwm4's behaviour and appearance.

Included here are keyboard shortcuts relevant to managing your windows.

Xfwm4's themes are also installed under /usr/share/themes/ or /home/$USER/.themes/.

#

You may access advanced settings relevant to Xfwm4 in the Window Manager Tweaks.

You can also manage Xfwm4's built-in compositor here. Other compositors may have their own implementations.

#

In the Workspaces settings, you may set the number of your workspaces and their names.

#

In the Color Profiles settings, you may adjust the color displays within XFCE desktop.

Nonetheless, display color related preferences are often best set in the monitor settings, if available.

#

MOVING ON TO HARDWARE SECTION.

In the Display settings, you may adjust your resolution, scaling, and refresh rate.

Do note that the scaling implementation in this setting is not similar to the one set under Appearance. It is not suggested to modify the default value of this either as unexpected behaviour may be exhibited by the desktop.

You may also manage display profiles here. By default, it prompts Show dialog when new displays are connected.

#

Show dialog prompt when display is connected. From Xfce documentations.

#

In the Keyboard settings, you may adjust key repeat behaviours, application shortcuts, and layouts.

clear forge
#

In Mouse and Touchpad settings, you can configure the following behaviours:

  • Scroll direction and mode
  • Acceleration (flat, no adaptive)
  • Double click time
  • Cursor theme

Do take note that cursor themes are installed in /usr/share/themes/ or /home/$USER/.themes/.

#

In the Power Manager settings, XFCE allows you to manage power settings with fine control.

Notable options include:

  • What to do when power button is pressed
  • Brightness step count
  • What to do when laptop lid is closed
  • Critical battery power level and what to do
  • Display blank, sleep, and switch off durations
#

In PulseAudio Volume Control settings, or shortly referred to as pavucontrol, you can finely control audio input/output.

You can the adjust volume per app under the Playback subsection.

You can select the output port and adjust volume under the Output Devices subsection.

You can select the input port and adjust pickup under the Input Devices section.

In most distributions, mic pickup is often set at 100%. This is overamplified across most devices, thus setting pickup to Base (20%) is suggested.

#

In Removable Drives and Media, you can set autorun commands when devices are inserted to your computer.

clear forge
#

---**
MOVING ON TO SYSTEM SECTION.**

In Accessibility settings, you can centrally manage assistive features you may need.

clear forge
#

Similar to MATE and Cinnamon, XFCE easily allows you to set your preferred apps under Default Applications. However, unlike the mentioned two, XFCE allows you to finely control what apps would you like to use based on MIME types in the Others subsection.

#

In Session and Startup settings, XFCE allows you to finely control application startup settings, as well as GNOME and KDE services.

#

Suggested GTK Themes

clear forge
#

XFCE4 Docklike Plugin

As you may have noticed, launchers and window buttons are separate in XFCE, unlike Cinnamon, GNOME, and KDE.

This can easily be circumvented with xfce4-docklike-plugin. It supports pinning on dock, thumbnail previews, and forcing icon sizes.
Unfortunately, this is currently not present in Ubuntu repositories. Follow instructions below to install it on your system.
In non-Ubuntu based distributions, you would have to build said component from source.

sudo add-apt-repository ppa:xubuntu-dev/extras
sudo apt update && sudo apt install xfce4-docklike-plugin
#

XFCE4 Panel Profiles

The XFCE panel is configurable to a great extent and it is nice to play around with it.

xfce4-panel-profiles is a nifty tool to backup, restore, and set panel profiles in XFCE. This is accessible through the topmost view of XFCE's panel preferences when installed.
It allows you to save current panel configuration to local storage and export it. You may also import others' panel profiles or go with a preset installed with the package.

clear forge
#

XFCE-Y-Dark-Aqua Sample

+-------------------------------------+-----------------------------------+
| Setting                             | Value                             |
+-------------------------------------+-----------------------------------+
| GTK3 and Xfwm4 theme                | Mint-Y-Dark-Aqua                  |
| Icon theme                          | Mint-Y-Sand                       |
| Cursor theme                        | Bibata-Original-Ice               |
| Default font                        | Noto Sans 10                      |
| Monospace font                      | Noto Mono 10                      |
| Appearance DPI                      | 96 (default)                      |
| Window Manager (and/or compositor)  | Xfwm4 + Compositor (in-built)     |
| Panel row size                      | 40 pixels                         |
| Panel fixed icon size               | 16 pixels                         |
+-------------------------------------+-----------------------------------+
#
+-------------------------------+---------------------------------------+
| Whisker Menu Setting          | Detail                                |
+-------------------------------+---------------------------------------+
| General                       |                                       |
| - Show as list                | Enabled                               |
| - Show category names         | Enabled                               |
| - Smaller application size    | Enabled                               |
| - Smaller category size       | Enabled                               |
| - Menu width                  | 450px                                 |
| - Menu height                 | 500px                                 |
| - Opacity                     | 100%                                  |
+-------------------------------+---------------------------------------+
| Appearance                    |                                       |
| - Position categories         | On left                               |
| - Position search entry       | On bottom                             |
| - Position commands           | Next to search entry                  |
| - Picture for profile         | Square                                |
+-------------------------------+---------------------------------------+
| Commands                      |                                       |
| - Command 1                   | Settings Manager                      |
| - Command 2                   | Lock Screen                           |
| - Command 3                   | Log Out                               |
| - Command 4                   | Edit Applications                     |
| - Command 5                   | Edit Profiles                         |
+-------------------------------+---------------------------------------+
#
+---------------------------------------------+--------------------------+
| Docklike Taskbar Setting                    | Detail                   |
+---------------------------------------------+--------------------------+
| Show applications                           | Only current workspace   |
| Active indicator style                      | Dots                     |
| Inactive indicator style                    | Dots                     |
| Active indicator color 1                    | Blue                     |
| Active indicator color 2                    | Green                    |
| Force icon size                             | 16 px                    |
+---------------------------------------------+--------------------------+
#
+----------------------------+-----------------------------+
| Component/Setting          | Detail                      |
+----------------------------+-----------------------------+
| Status Tray                |                             |
| - Fixed icon size          | 16 pixels                   |
| - Items                    | Square                      |
+----------------------------+-----------------------------+
| XApp Status Plugin         |                             |
| - Symbolic icons size      | 16px                        |
+----------------------------+-----------------------------+
| Notification Applet        |                             |
| - Notification icon size   | 16px                        |
+----------------------------+-----------------------------+
| Clock Options              |                             |
| - Display                  | Time only                   |
| - Font set                 | Noto Sans Bold 9            |
| - Clock format             | 24 hour                     |
+----------------------------+-----------------------------+
#
/* GTK CSS customization for XFCE components */

/* Adjust padding in the Whisker Menu treeview 
   to make items less tightly packed */

#whiskermenu-window treeview {
  padding: 3px;
}

/* 
   Custom styling for the workspace indicator (pager) 
   Follows Mint-Y-Aqua color accent 
   Replace 'pager-3' with the correct internal name 
   found under Panel Items > Workspace Switcher settings 
*/


#pager-3 grid {
  background-color: rgba(255, 255, 255, 0.05);
  margin: 4px;
  border-radius: 3px;
}

#pager-3 button {
  padding: 3px;
  margin: 5px;
  background-color: transparent;
}

#pager-3 button:hover {
  background-color: rgba(255, 255, 255, 0.05);
}

#pager-3 button:checked {
  box-shadow: none;
  background-color: #1f9ede;
  color: #FFF;
}
clear forge
clear forge
clear forge
clear forge
#

Mint-Y Theme and Icon Set

Dark Aqua and Sand variant displayed below

Rating: ⭐⭐⭐⭐⭐

Notes:

  • Has good libadwaita support (coming in next ver)
  • Satisfactory window decoration sizes and accents
  • Good contrast and branding
  • Merges multiple icon themes on usage basis
  • Has good application coverage without feeling too custom
  • Made with XFCE (and other editions) in mind

https://github.com/linuxmint/mint-themes
https://github.com/linuxmint/mint-y-icons

#

Mint-X Theme and Icon Set

Rating: 🫡🫡

Notes:

  • Arguably the first nice shit ever made FOR XFCE
  • Thinner curved window decoration/titlebars
  • Skeumorphism galore and good contrast
  • No dark theme (they probably didn't need it at the time)
#

Yaru Theme GTK

Dark variant displayed below

Rating: ⭐⭐⭐⭐

Notes:

  • Between modern and skeumorphic styles
  • Satisfactory window decoration sizes and accents
  • Good contrast and branding
  • Inherits from Adwaita and looks good with it

https://github.com/ubuntu/yaru

#

Elementary XFCE Icon Theme

Shown above

Rating: ⭐⭐⭐⭐

Notes:

  • Nice and modern skeumorphism
  • Good app and mimetype coverage
  • Looks good with Mint-X and Yaru Light
  • Made with XFCE (though eOS first) in mind
#

Inter (Display / Variable)

Have I ever told you about the other best digital font to exist?

Rating: ✅ ✅ ✅ ✅ ✅

https://github.com/rsms/inter

#

Collection of random notes

  • Under the DPI option, you may override the detected monitor resolution if fonts seem too large or too small.
  • In such case that you would like to adjust scaling, it is suggested to increase the DPI or the default font size instead.
  • It is suggested to use Xfwm4 + Picom for better rendering and to avoid screen tearing.
  • In most distributions, mic pickup is often set at 100%. This is overamplified across most devices, thus setting pickup to Base (20%) is suggested.
clear forge
#

Introduction to XFCE

Linux provides you greater control over your system. But how about your desktop?

There's XFCE, a FOSS desktop environment for Unix-like operating systems. It's fast, deliberately conservative, and shamelessly utilitarian at best. The seemingly old relic stands out from the field of Linux desktops by successfully managing resource usage with a traditional, user-centric interface, which makes it an excellent choice for your daily computing needs.

Though it may not be for the faint of heart.

clear forge
#

XFCE Philosophy and Design Principles

The rat desktop emerged from 1996 as the Linux counterpart of Common Desktop Environment. Thus, it looked like such and follows the similar metaphors that it has already maintained. Some of these are the panel, applets, workspaces, and the already persisting windowing system.

It preceded both GNOME and KDE, thus leaving arguably nothing else to copy from. Of course, later on, the project was rewritten in GTK. At the time, KDE and GNOME were moving on to the second major release. Both, which garnered quite the following, then pursued to address usability issues in the traditional desktops of the time in the aim to make it mainstream. Whereas XFCE, being XFCE that it is, seemed to have stayed comfortably close to its UNIX roots.

People often perceive this as a a stark difference with the aforementioned two. GNOME slowly left the traditional desktop metaphor and focused on delivering a tightly coupled complete experience. KDE, now with Plasma, provides you more than you'd ever see from most desktops. They have their own merits, nonetheless. XFCE, on the other hand, maintained a relatively minimal, modular base component set. With that, you have components that are good at doing one thing that they're supposed to be good at.

clear forge
#

Fundamental Architecture and Modularity

It is built with a basic set of modules such as a window manager, desktop manager, panel, session manager, application finder, file manager, and settings manager. These are such that are tightly coupled together to deliver the barebones experience. However, even these can be replaced by the user when needed.Say, replace xfwm4 with Openbox, i3, or KWin. Xfce also provides numerous additional applications and plugins so you can extend your desktop the way you like, for example a terminal emulator, text editor, sound mixer, application finder, image viewer, iCal based calendar and a CD and DVD burning application.

These additional applications however, are usually only present on distributions which offer a minimal desktop experience. These may be pretty elementary, though they make much as to make the experience whole. At best, you're safe and fine to replace them with something else you prefer. Say, if you like alacritty better, you can simply remove xfce4-terminal. If you want a more advanced photo manager, you replace ristretto with pix. Such nicety allows you to further shape the desktop to fit your needs.

#

Project Stability and Maturity

I believe we're already way past the point to deem XFCE as stable and mature, because it sure is. It is one of the oldest, still maintained, and still widely used desktop environments in the Linux landscape. Since 1997, the development pace is moving forward slowly yet surely. And it bears its fruits. There's hardly any disruptive changes to go around your desktop over time, other than you, the user, of course.

This again is often a point of comparison between XFCE, GNOME, and KDE. For the better or for the worse. GNOME has disrupted its users hard time during transition to GNOME 3, and arguably done so in a lesser extent during transition to GNOME 4x. In KDE, they have since then burst through fast after KDE 3, though much less disruptive as GNOME. Whereas in XFCE's case, the user interface has barely changed since 4.0. And that was from 2003.

#

The Lightweight Desktop

Xfce relies primarily on the core GTK toolkit and a relatively small set of essential libraries. It avoids pulling in extensive frameworks or large suites of background services that aren't strictly necessary for the core desktop experience. This means less code needs to be loaded into memory and fewer libraries need to be present on the system for the basic desktop to function. Furthermore, its core applications (like Thunar file manager, xfce4-terminal, Mousepad text editor) are intentionally designed to be fast and simple. They often have fewer features than their counterparts in heavier DEs, because they're good at doing one thing that they're supposed to be good at. No flairs.

A notable thing too, XFCE's window manager, xfwm4 includes a compositor. However, it's capabilities are relatively lean compared to compositors used in other desktops like on Kwin, Mutter, Metacity, and so on. This may also be disabled further, if necessary. Therefore, it requires much less processing power from the CPU and GPU. While xfwm4 can do shadows and basic transparency, it doesn't tax the graphics hardware or CPU as much as more feature-rich compositors performing complex visual transitions and effects constantly.

And by default, Xfce starts up with a minimal set of background processes (daemons). It doesn't typically include extensive indexing services, search daemons, or complex inter-process communication hubs running constantly in the background unless the user explicitly adds components that require them. Do note that this may also depend on the distribution configuration.

As such, it may be preferred for remote sessions, minimal environments, and specialized environments such as on Termux, despite arguably occasionally useful in such settings.

#

All about XFCE

clear forge
#

Wayland Status

As of 4.19.

It is not clear yet which Xfce release will target a complete Xfce Wayland transition (or if such a transition will happen at all)...

The XFCE development team currently prefers wlroots over libmutter. They prevent further dependency to GNOME components. X11 compatibility will be kept.

Component Status

  • All core XFCE components already support Wayland, except xfwm4.
  • Alternatively, there is an unofficial Wayland port for xfwm4.
  • Some quirks are to be addressed by the development team.

Applications Status

  • Most XFCE apps work on Wayland as of the moment, with minor quirks.

Panel Plugins

  • Most and the essential panel plugins already work on Wayland.
  • They may require a bit more effort and modification to work properly.

Learn more in their Wayland Roadmap.

clear forge
#

Catfish

If you're looking for something, chances are it's best done with Catfish. It is a simple search utility powered by Python and GTK3.

All searches are done relative to the directory chose in the location selector (1). In the sidebar (4), you may filter and further narrow down your search.

Under the settings view, you may choose which directories to exclude from your search.

#

XFCE4 Terminal

XFCE Terminal is a lightweight and easy to use terminal emulator application.

It has multi-tab and drop-down support. It is based on the Vte terminal widget library, which offers a well-developed base and excellent Unicode support.

If you are experiencing problems with the terminal rendering speed, you may disable anti-aliasing for the terminal font.