Difference between revisions of "Xfce"

From ArchWiki
Jump to: navigation, search
(Troubleshooting)
(xfce4-power-manager)
(42 intermediate revisions by 20 users not shown)
Line 26: Line 26:
 
:''Xfce embodies the traditional UNIX philosophy of modularity and re-usability. It consists of a number of components that provide the full functionality one can expect of a modern desktop environment. They are packaged separately and you can pick among the available packages to create the optimal personal working environment.''
 
:''Xfce embodies the traditional UNIX philosophy of modularity and re-usability. It consists of a number of components that provide the full functionality one can expect of a modern desktop environment. They are packaged separately and you can pick among the available packages to create the optimal personal working environment.''
  
== What is Xfce? ==
 
 
Xfce is a Desktop Environment, like [[GNOME]] or [[KDE]]. It contains a suite of apps like a root window app, window manager, file manager, panel, etc. Xfce is written using the GTK2 toolkit, and contains its own development environment (libraries, daemons, etc), similar to other big DEs. Features:
 
Xfce is a Desktop Environment, like [[GNOME]] or [[KDE]]. It contains a suite of apps like a root window app, window manager, file manager, panel, etc. Xfce is written using the GTK2 toolkit, and contains its own development environment (libraries, daemons, etc), similar to other big DEs. Features:
 
*Lighter on resources than the other major DEs (KDE, GNOME).
 
*Lighter on resources than the other major DEs (KDE, GNOME).
Line 43: Line 42:
 
{{Tip|Installing [[Gamin]] (the successor of [[FAM]]) is highly recommended.}}
 
{{Tip|Installing [[Gamin]] (the successor of [[FAM]]) is highly recommended.}}
  
In order to get the xfce4-mixer to work with [[ALSA]], you need to install {{Pkg|gstreamer0.10-base-plugins}}. See [[#OSS|below]] for help with [[OSS]].
+
== Starting Xfce ==
 
+
=== Automatically ===
== Running Xfce ==
+
 
+
===Automatically at boot time===
+
 
There are two methods to start Xfce (and in fact, any desktop or window manager) at boot time:
 
There are two methods to start Xfce (and in fact, any desktop or window manager) at boot time:
  
* Run Xfce through a Display Manager
+
* Run Xfce through a [[Display Manager]]
* Run Xfce automatically using [[Bash#Configuration_file_overview|bash_profile]] or [[inittab]]
+
* Run Xfce automatically using the {{pkg|xorg-xinit}} method at [[Start X at Login]] combining with [[Automatic login to virtual console‎ ]]
  
See [[Display Manager]] for details about installing and configuring a Display Manager (be sure to configure it properly for [[PolicyKit]]). See [[Start X at Boot]] for configuration instructions on using bash_profile or inittab.
+
=== Manually ===
 
+
{{Note|See [[xinitrc]] for details, such as preserving the logind (and/or consolekit) session.}}
===Manually===
+
  
 
You can execute:
 
You can execute:
Line 67: Line 62:
 
and add the following line:
 
and add the following line:
  
  exec startxfce4 --with-ck-launch
+
  exec startxfce4
  
 
Example:
 
Example:
Line 79: Line 74:
 
fi
 
fi
  
exec startxfce4 --with-ck-launch</nowiki>}}
+
exec startxfce4</nowiki>}}
  
 
{{Note|
 
{{Note|
*{{ic|--with-ck-launch}} starts a clean ConsoleKit session needed by Xfce for power management, automounting, shutting down, rebooting, etc. ConsoleKit/PolicyKit capable display managers such as gdm do this for you automatically and thus the command does not need to be specified seperatly.
 
*{{pkg|xorg-xdm}} is also ConsoleKit/PolicyKit capable since version 1.1.11. Unless you happen to run an old version, you must '''not''' use {{ic|--with-ck-launch}} from your .xinitrc or .xsession for xdm.
 
*[[SLiM]] is also ConsoleKit capable since version 1.3.3.  Unless you happen to run an old version, you must '''not''' use {{ic|--with-ck-launch}} from your .xinitrc or slim.conf login_cmd.
 
 
*In case you are wondering, {{ic|dbus-launch}} will be launched by the {{ic|xinitrc.d}} code at the beginning of the file. {{ic|dbus-launch}} starts a dbus-daemon instance to provide communication with PolicyKit.
 
*In case you are wondering, {{ic|dbus-launch}} will be launched by the {{ic|xinitrc.d}} code at the beginning of the file. {{ic|dbus-launch}} starts a dbus-daemon instance to provide communication with PolicyKit.
 
*The proper command for launching Xfce is {{ic|startxfce4}}: do not start {{ic|xfce4-session}} directly, since it is already run by {{ic|startxfce4}} itself.
 
*The proper command for launching Xfce is {{ic|startxfce4}}: do not start {{ic|xfce4-session}} directly, since it is already run by {{ic|startxfce4}} itself.
*If you are running an Xfce older than 4.10, you will have to use {{ic|exec ck-launch-session startxfce4}}
 
 
}}
 
}}
{{Note|{{ic|dbus-launch}} should actually be called '''after''' launching ConsoleKit, otherwise there will be authorization problems when mounting disks as a regular user, see {{Bug|25031}}. For a '''temporary''' workaround you can edit the {{ic|xinitrc.d}} script at the beginning of the file as follows, and '''keep an eye on the evolution of the bug report''' (and possibly vote it):
 
{{hc|~/.xinitrc [temporary workaround]|<nowiki>#!/bin/sh
 
 
if [ -d /etc/X11/xinit/xinitrc.d ]; then
 
  for f in /etc/X11/xinit/xinitrc.d/*; do
 
    # Do not launch dbus before ConsoleKit (FS#25031)
 
    #[ -x "$f" ] && . "$f"
 
    [ "$f" != "/etc/X11/xinit/xinitrc.d/30-dbus" ] && [ -x "$f" ] && . "$f"
 
  done
 
  unset f
 
fi
 
  
exec startxfce4 --with-ck-launch</nowiki>}}
+
=== Automounting ===
There is still no need to start {{ic|dbus-launch}} explicitly since {{ic|startxfce4}} takes care of doing that anyway.}}
+
See [[General Troubleshooting#Session permissions]].
  
===Shutting down, rebooting, and automounting from within Xfce===
+
If you have no issues shutting down and rebooting but cannot automount external media and disks, you may need to install {{pkg|gvfs}}. See the [[#Removable Devices|Removable Devices]] section.
* Make sure that '''dbus''' is enabled in the {{ic|DAEMONS}} array in {{ic|/etc/rc.conf}}.
+
* If a display manager is used:
+
** Make sure that you are using {{ic|exec startxfce4 --with-ck-launch}} in {{ic|~/.xinitrc}} (along with sourcing xinitrc.d scripts, which is done for you in the skel file) '''or''' a ConsoleKit/PolicyKit capable [[display manager]].
+
* If no display manager is used:
+
** Make sure you use the bash_profile method to auto-login (not inittab).
+
** For automounting to work the default Policykit has to be [https://bbs.archlinux.org/viewtopic.php?pid=881377#p881377 edited]. You can also install {{pkg|polkit-gnome}} for authorization.
+
* If you want to automount removable disk in thunar, install and [[Thunar#Thunar Volume Manager|configure]] {{pkg|thunar-volman}} and {{pkg|gamin}}, and make sure {{pkg|gvfs}} and {{pkg|gvfs-afc}} is installed, see [https://bbs.archlinux.org/viewtopic.php?id=119992 details] .
+
====Shutdown & reboot from shutdown menu when using systemd====
+
If you are using systemd instead of sysvinit, when trying to shutdown or reboot from the shutdown menu of xfce4 it actually logout to DM; installing systemd-sysvcompat corrects this misbehavior.
+
do {{ic|pacman -Sy  systemd-sysvcompat}} as root and it should work right away.
+
  
 
==Tips and tricks==
 
==Tips and tricks==
===Configuring Xfconf settings===
+
===Xfconf settings===
 
Xfconf is XFCE's system for storing configuration options, and most XFCE configuration is done by editing settings in Xfconf (one way or another). There are several ways to modify these settings:
 
Xfconf is XFCE's system for storing configuration options, and most XFCE configuration is done by editing settings in Xfconf (one way or another). There are several ways to modify these settings:
 
* The most obvious and easiest way is to go to "Settings" in the main menu and select the category you want to customize. However, not all customization options are available this way.  
 
* The most obvious and easiest way is to go to "Settings" in the main menu and select the category you want to customize. However, not all customization options are available this way.  
Line 125: Line 95:
 
* For more information: [http://docs.xfce.org/xfce/xfconf/start Xfconf documentation]
 
* For more information: [http://docs.xfce.org/xfce/xfconf/start Xfconf documentation]
 
===Panel===
 
===Panel===
====How to customize xfce panel background====
+
====xfce panel background====
 
Edit {{ic|~/.gtkrc-2.0}}.
 
Edit {{ic|~/.gtkrc-2.0}}.
 
Note that you must place the image in the same directory as the configuration, which is {{ic|~/}}. You can not specify the path to the image, or it will not work.
 
Note that you must place the image in the same directory as the configuration, which is {{ic|~/}}. You can not specify the path to the image, or it will not work.
Line 137: Line 107:
 
   widget_class "*Panel*" style "panel-background"
 
   widget_class "*Panel*" style "panel-background"
  
==== Replacements for the default 'menu' panel applet ====
+
==== 'menu' panel replacement ====
 
The "Ubuntu System Panel" (GNOME) panel applet has similar features to those found in its KDE v4.2 equivalent. It can be added to an Xfce panel via the 'XfApplet' panel applet, which allows GNOME applets to be used in Xfce.
 
The "Ubuntu System Panel" (GNOME) panel applet has similar features to those found in its KDE v4.2 equivalent. It can be added to an Xfce panel via the 'XfApplet' panel applet, which allows GNOME applets to be used in Xfce.
  
 
It is available in the [[Arch User Repository|AUR]] as the {{AUR|usp2}} package.
 
It is available in the [[Arch User Repository|AUR]] as the {{AUR|usp2}} package.
  
====How to remove menu entries from the System menu====
+
==== Removing entries from the System menu====
 
===== Method 1 =====
 
===== Method 1 =====
 
With the built-in menu editor, you cannot remove menu entries from the System menu. Here’s how to hide them:
 
With the built-in menu editor, you cannot remove menu entries from the System menu. Here’s how to hide them:
Line 202: Line 172:
 
Alternatively a tool called [http://lxmed.sourceforge.net/ lxmed] can be used. Lxmed is a GUI tool written in Java for editing menu entires in LXDE, but it also works in Xfce4. Lxmed is available in the {{AUR|lxmed}} package from the [[AUR]].
 
Alternatively a tool called [http://lxmed.sourceforge.net/ lxmed] can be used. Lxmed is a GUI tool written in Java for editing menu entires in LXDE, but it also works in Xfce4. Lxmed is available in the {{AUR|lxmed}} package from the [[AUR]].
  
==== But what do you do with menu entries which do not show up in /usr/share/applications (e.g., apps installed via Wine)? ====
+
==== Missing applications ====
I have found some shortcuts that show in the category “Other” in this directory:
+
When some applications are installed (for example via [[WINE]]), they may not be listed in {{ic|/usr/share/applications}}. Shortcuts ''might'' be found in the category “Other” in this directory:
 
{{ic|~/.local/share/applications/wine/}}.
 
{{ic|~/.local/share/applications/wine/}}.
  
Line 220: Line 190:
 
====Panel at desktop level====
 
====Panel at desktop level====
  
If you want a panel at desktop level (i.e., other windows will stack over it) you need a little hack, ensure you have installed the '''wmctrl''' package.
+
If you want a panel at desktop level (i.e., other windows will stack over it) you need a little hack, ensure you have installed the {{pkg|wmctrl}} package from the [[Official Repositories]].
  
 
Create a script in {{ic|~/.config/xfce4/xfce4-fix-panel}} with this content and make it executable (you can use {{ic|chmod 755 xfce4-fix-panel}}).
 
Create a script in {{ic|~/.config/xfce4/xfce4-fix-panel}} with this content and make it executable (you can use {{ic|chmod 755 xfce4-fix-panel}}).
Line 263: Line 233:
 
=== Desktop ===
 
=== Desktop ===
  
==== Use a transparent background for desktop icon titles ====
+
==== Transparent Background for Icon Titles ====
 
To change the default white background of desktop icon titles to something more suitable, edit the {{ic|.gtkrc-2.0}} file in your home directory (or create the file if needed) and add the following:
 
To change the default white background of desktop icon titles to something more suitable, edit the {{ic|.gtkrc-2.0}} file in your home directory (or create the file if needed) and add the following:
 
  style "xfdesktop-icon-view" {
 
  style "xfdesktop-icon-view" {
Line 275: Line 245:
 
  widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"
 
  widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"
  
==== Hide selected partitions on the desktop ====
+
==== Hide Selected Partitions ====
 
If you wish to prevent certain partitions or drives appearing on the desktop, you can create a udev rule, for example {{ic|/etc/udev/rules.d/10-local.rules}}:
 
If you wish to prevent certain partitions or drives appearing on the desktop, you can create a udev rule, for example {{ic|/etc/udev/rules.d/10-local.rules}}:
 +
 +
KERNEL=="sda1", ENV{UDISKS_PRESENTATION_HIDE}="1"
 +
KERNEL=="sda2", ENV{UDISKS_PRESENTATION_HIDE}="1"
 +
 +
Would show all partitions with the exception of sda1 and sda2 on your desktop. Notice, if you are using udisk2 the above will not work, due to the UDISKS_PRESENTATION_HIDE no longer being supported, instead you must use UDISKS_IGNORE as follows
  
 
  KERNEL=="sda1", ENV{UDISKS_IGNORE}="1"
 
  KERNEL=="sda1", ENV{UDISKS_IGNORE}="1"
 
  KERNEL=="sda2", ENV{UDISKS_IGNORE}="1"
 
  KERNEL=="sda2", ENV{UDISKS_IGNORE}="1"
  
Would show all partitions with the exception of sda1 and sda2 on your desktop.
+
==== Remove Thunar Options from Right-click ====
 
+
==== Switch to old desktop right click menu without Thunar things ====
+
 
  xfconf-query -c xfce4-desktop -v --create -p /desktop-icons/style -t int -s 0
 
  xfconf-query -c xfce4-desktop -v --create -p /desktop-icons/style -t int -s 0
  
==== Adding the kill window shortcut ====
+
==== Kill Window Shortcut ====
 
+
 
Xfce does not support the ''kill window'' shortcut directly, but you can add one with a simple script. Ensure you have the '''xorg-xkill''' package installed.
 
Xfce does not support the ''kill window'' shortcut directly, but you can add one with a simple script. Ensure you have the '''xorg-xkill''' package installed.
  
Line 297: Line 269:
  
 
=== XFWM4 ===
 
=== XFWM4 ===
==== How to enable the compositor in Xfce ====
+
==== Enabling the Compositor ====
 
Xfce comes with a builtin compositor adding the option for fancy window effects, shadows and transparency and so on. It can be enabled in the Window Manager Tweaks and works on the fly. No additional settings are needed in your {{ic|/etc/xorg.conf}}. To enable and adjust settings, go to:
 
Xfce comes with a builtin compositor adding the option for fancy window effects, shadows and transparency and so on. It can be enabled in the Window Manager Tweaks and works on the fly. No additional settings are needed in your {{ic|/etc/xorg.conf}}. To enable and adjust settings, go to:
  
Line 305: Line 277:
 
  xfconf-query -c xfwm4 -p /general/mousewheel_rollup -s false
 
  xfconf-query -c xfwm4 -p /general/mousewheel_rollup -s false
  
==== Disable/enable automatic resizing/tiling of windows at edge of screen ====
+
==== Toggle Automatic Tiling of Windows at Edge of Screen ====
 
XFWM4 has the ability to "tile" a window automatically when it is moved to the edge of the screen by resizing it to fill the top half of the screen. (The official XFCE website says this feature is disabled by default in XFCE 4.10, but it seems to be enabled by default on Arch Linux.) This behavior can be enabled or disabled in {{ic|Window Manager Tweaks --> Accessibility --> Automatically tile windows when moving toward the screen edge}}, or:
 
XFWM4 has the ability to "tile" a window automatically when it is moved to the edge of the screen by resizing it to fill the top half of the screen. (The official XFCE website says this feature is disabled by default in XFCE 4.10, but it seems to be enabled by default on Arch Linux.) This behavior can be enabled or disabled in {{ic|Window Manager Tweaks --> Accessibility --> Automatically tile windows when moving toward the screen edge}}, or:
  
Line 311: Line 283:
 
  xfconf-query -c xfwm4 -p /general/tile_on_move -s true  # To enable
 
  xfconf-query -c xfwm4 -p /general/tile_on_move -s true  # To enable
  
=== Commands for the settings manager ===
+
=== Settings Manager Commands ===
 
+
 
There is no official documentation for the commands executed. One must look at {{ic|.desktop}} files {{ic|/usr/share/applications/}} folder. For the people who like to know exactly what is happening, here is a handy list to save the effort:
 
There is no official documentation for the commands executed. One must look at {{ic|.desktop}} files {{ic|/usr/share/applications/}} folder. For the people who like to know exactly what is happening, here is a handy list to save the effort:
  
Line 335: Line 306:
  
 
===Session===
 
===Session===
====Customizing Startup Applications====
+
====Custom Startup Applications====
 
This includes getting necessary environment variables into the GUI runtime.
 
This includes getting necessary environment variables into the GUI runtime.
  
Line 347: Line 318:
 
Xfce4 allows this behavior under the 'action buttons' menu item.  Currently, both [[gdm]] and [[Lightdm#User_switching_under_xfce4|lightdm]] provide this functionality.
 
Xfce4 allows this behavior under the 'action buttons' menu item.  Currently, both [[gdm]] and [[Lightdm#User_switching_under_xfce4|lightdm]] provide this functionality.
  
==== Modify XML settings files directly ====
+
==== Manually Modifying XML settings ====
 
It may be useful, especially when upgrading, to manually edit .xml files in the {{ic|~/.config/xfce4/xfconf/}} folder. For application keyboard shortcuts for example, the file is {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml}}. It is faster to copy and paste the XML keys that you want rather than using the GUI.
 
It may be useful, especially when upgrading, to manually edit .xml files in the {{ic|~/.config/xfce4/xfconf/}} folder. For application keyboard shortcuts for example, the file is {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml}}. It is faster to copy and paste the XML keys that you want rather than using the GUI.
  
 
===Removable Devices===
 
===Removable Devices===
If you want an icon appearing on your desktop and in thunar when you plug in external devices, make sure gvfs is installed:
+
If you want an icon appearing on your desktop and in Thunar when you plug in external devices, make sure {{Pkg|gvfs}} is installed. You could also need to install {{Pkg|gvfs-afc}} (read [https://bbs.archlinux.org/viewtopic.php?pid=889018 this discussion]). It is also a good idea to install {{Pkg|thunar-volman}} (already included in the {{Grp|xfce4}} base group). Additionally, [[udisks]] and a udisks wrapper are recommended if you want to automount optical and external drives easily.
 
+
# pacman -S --needed gvfs
+
 
+
You could also need to install gvfs-afc (read [https://bbs.archlinux.org/viewtopic.php?pid=889018 this discussion]):
+
 
+
# pacman -S gvfs-afc
+
 
+
It is also a good idea to install thunar-volman (included in the {{ic|xfce4-goodies}} group):
+
 
+
# pacman -S thunar-volman
+
 
+
Udisk and a udisk wrapper are recommended if you want to automount optical and external drives easily
+
 
+
* [http://igurublog.wordpress.com/downloads/script-devmon/ devmon] - devmon ([https://aur.archlinux.org/packages.php?ID=45842 AUR]) is a configuration-less bash wrapper script for udisks which automounts optical discs and removable drives. It can also selectively autostart apps or execute commands after mounting, ignore specified devices and volume labels, and unmount removable drives.
+
  
===How to add themes to XFCE===
+
===Look and Feel===
 +
====Add themes to XFCE====
 
1. Go to [http://www.xfce-look.org www.xfce-look.org] and click "Themes" in the left navbar. Look around for a theme you want and click "Download".
 
1. Go to [http://www.xfce-look.org www.xfce-look.org] and click "Themes" in the left navbar. Look around for a theme you want and click "Download".
  
Line 379: Line 337:
 
  Menu --> Settings --> Window Manager
 
  Menu --> Settings --> Window Manager
  
=== Cursors ===
+
==== Cursors ====
 
Main article: [[X11 Cursors]]
 
Main article: [[X11 Cursors]]
  
Line 385: Line 343:
 
  Menu --> Settings --> Mouse --> Theme
 
  Menu --> Settings --> Mouse --> Theme
  
=== Icons ===
+
==== Icons ====
 
1. First find and download your desired icon pack. Recommended places to download icons from are [http://www.customize.org Customize.org], [http://opendesktop.org Opendesktop.org] and [http://xfce-look.org/ Xfce-look.org].
 
1. First find and download your desired icon pack. Recommended places to download icons from are [http://www.customize.org Customize.org], [http://opendesktop.org Opendesktop.org] and [http://xfce-look.org/ Xfce-look.org].
  
Line 399: Line 357:
 
When you have icon theme problems, it is also recommended to install the {{Pkg|hicolor-icon-theme}} package if it was not already installed.
 
When you have icon theme problems, it is also recommended to install the {{Pkg|hicolor-icon-theme}} package if it was not already installed.
  
=== Fonts ===
+
==== Fonts ====
 
+
 
If you find the standard fonts rather thick and or slightly out of focus open Settings>Appearence click on the Fonts tab and under Hinting: change to Full
 
If you find the standard fonts rather thick and or slightly out of focus open Settings>Appearence click on the Fonts tab and under Hinting: change to Full
  
Line 419: Line 376:
 
For further details, for example how to set the default sound card, see [[Advanced Linux Sound Architecture]]. Alternatively you can use [[PulseAudio]] together with {{Pkg|pavucontrol}}.
 
For further details, for example how to set the default sound card, see [[Advanced Linux Sound Architecture]]. Alternatively you can use [[PulseAudio]] together with {{Pkg|pavucontrol}}.
  
==== How do I get xfce4-mixer and OSS4 to work together? ====
+
==== Xfce4-mixer and OSS4 ====
  
If you tried the above section to get {{Pkg|xfce4-mixer}} to work and it does not work at all, then you may have to compile gstreamer0.10-good-plugins yourself. Download the PKGBUILD and other files needed from ABS or [http://projects.archlinux.org/svntogit/packages.git/tree/gstreamer0.10-good/repos here], edit the PKGBUILD, add --enable-oss.  
+
If you tried the above section to get {{Pkg|xfce4-mixer}} to work and it does not work at all, then you may have to compile gstreamer0.10-good-plugins yourself. Download the PKGBUILD and other files needed from ABS or [https://projects.archlinux.org/svntogit/packages.git/tree/gstreamer0.10-good/repos here], edit the PKGBUILD, add --enable-oss.  
  
 
   ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
 
   ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
Line 429: Line 386:
 
     --disable-hal \
 
     --disable-hal \
 
     --with-package-name="GStreamer Good Plugins (Archlinux)" \
 
     --with-package-name="GStreamer Good Plugins (Archlinux)" \
     --with-package-origin="http://www.archlinux.org/"
+
     --with-package-origin="https://www.archlinux.org/"
  
 
and then run makepkg -i.  
 
and then run makepkg -i.  
Line 439: Line 396:
 
Other LINKS: [http://www.4front-tech.com/forum/ OSS forum]
 
Other LINKS: [http://www.4front-tech.com/forum/ OSS forum]
  
==== Change volume with keyboard volume buttons ====
+
==== Keyboard Volume Buttons ====
  
 
Go to  
 
Go to  
Line 516: Line 473:
 
=== Screenshots ===
 
=== Screenshots ===
  
==== Using print-screen key ====
+
XFCE has its own screenshot tool, {{pkg|xfce4-screenshooter}}. It is part of the {{grp|xfce4-goodies}} group.
  
A simple way is to use a command-line screenshot utility:
+
==== Print Screen key ====
  
# pacman -S scrot
+
Go to:
 
+
Then go to:
+
  
 
  XFCE Menu  -->  Settings  -->  Keyboard  >>>  Application Shortcuts.
 
  XFCE Menu  -->  Settings  -->  Keyboard  >>>  Application Shortcuts.
  
Add the "scrot" command to use the "PrintScreen" key.
+
Add the "xfce4-screenshooter -f" command to use the "PrintScreen" key in order to take fullscreen screenshots. See screenshooter's man page for other optional arguments.
  
All screenshots will be placed in your home folder with unique names (i.e. {{ic|2009-02-19-063052_1280x1024_scrot.png}}).
+
Alternatively, an independent screenshot program like [[Taking_a_Screenshot#scrot|scrot]] can be used.
  
====Screenshooter====
+
===Terminal color themes or pallets===
 +
Terminal color themes or pallets can be changed in GUI under Appearance tab in Preferences. These are the colors that are available to most console applications like [[Emacs]], [[Vi]] and so on. Their settings are stored individually for each system user in {{ic|<nowiki>~/.config/xfce4/terminal/terminalrc</nowiki>}} file. There are also so many other themes to choose from. Check forums post [[https://bbs.archlinux.org/viewtopic.php?pid=1194644|Terminal Colour Scheme Screenshots]] for hundreds of available choices and themes.
  
There is also an a screenshot plugin for the Xfce panel, which can be used instead of scrot, that is available in extra:
+
====Changing default color theme====
 +
XFCE's {{ic|extra/terminal}} package comes with a darker color palette and colored text looks pretty horrid in default black background impeding user readability. Append the following in your terminalrc file for a lighter color theme, that is always visible in darker Terminal backgrounds.
  
  # pacman -S xfce4-screenshooter
+
  ~/.config/xfce4/terminal/terminalrc
  
You can add a keyboard binding for it using the command
+
  ColorPalette5=#38d0fcaaf3a9
 
+
  ColorPalette4=#e013a0a1612f
  xfce4-screenshooter -f
+
  ColorPalette2=#d456a81b7b42
 
+
  ColorPalette6=#ffff7062ffff
instead of "scrot". You will get a dialog window after pressing "Print" where you can copy the image to the clipboard or save it.
+
  ColorPalette3=#7ffff7bd7fff
 
+
  ColorPalette13=#82108210ffff
=== Change mount options ===
+
 
+
A common problem when automounting USB sticks formatted with fat filesystem is the inability to properly show characters as umlauts, ñ, ß, etc. This may be solved by changing the default iocharset to utf8, which is easily done adding a line to {{ic|/etc/xdg/xfce4/mount.rc}}:
+
 
+
[vfat]
+
  uid=<auto>
+
  shortname=winnt
+
  '''utf8=true'''
+
# FreeBSD specific option
+
  longnames=true
+
  flush=true
+
 
+
Note that when using utf-8, the system will distinct between upper- and lowercases, potentially corrupting your files, so be careful.
+
 
+
It is possible to mount vfat devices with ''flush'' option, so that when copying to USB sticks data flushes more often, thus making thunar's progress bar to stays up until finished. Adding ''async'' instead will speed up write ops, but make sure to use ''Eject'' option in Thunar to unmount the stick. Globally, mount options for storage devices present at boot can be set in [[fstab]], and for other devices in [[udev]] rules.
+
  
===Terminal tango color theme===
+
====Terminal tango color theme====
Open with your favorite editor
+
To switch to tango color theme, open with your favorite editor
  
  ~/.config/Terminal/terminalrc
+
  ~/.config/xfce4/terminal/terminalrc
  
And add(replace) this lines:
+
And add(replace) these lines:
  
 
  ColorForeground=White
 
  ColorForeground=White
Line 598: Line 540:
 
If you wish to '''create an icc profile''' for your display (ie. characterising/profiling, e.g. with the [[ColorHug]], or some other colorimeter, or a spectrophotometer, or "by eye"), the simplest option may be to install [https://aur.archlinux.org/packages.php?ID=25883 dispcalGUI] from [[AUR]].  
 
If you wish to '''create an icc profile''' for your display (ie. characterising/profiling, e.g. with the [[ColorHug]], or some other colorimeter, or a spectrophotometer, or "by eye"), the simplest option may be to install [https://aur.archlinux.org/packages.php?ID=25883 dispcalGUI] from [[AUR]].  
  
Another option is {{ic|gnome-control-center}} (available in extra), which has a much simpler GUI, but less options and requires installing some Gnome dependencies. In order to start the calibration from the command line, first do {{ic|colormgr get-devices}} and look for the "Device ID" line of your monitor. If this is e.g. "xrandr-Lenovo Group Limited", you start calibration with the commabnd {{ic|gcm-calibrate --device "xrandr-Lenovo Group Limited"}}.
+
Another option is to install {{ic|gnome-settings-daemon}} and {{ic|gnome-color-manager}} (available in extra). In order to start the calibration from the command line, first do {{ic|/usr/lib/gnome-settings-daemon/gnome-settings-daemon &}} (note: this might change your keyboard layout and who knows what else, so probably good to do it on a throwaway account), then {{ic|colormgr get-devices}} and look for the "Device ID" line of your monitor. If this is e.g. "xrandr-Lenovo Group Limited", you start calibration with the command {{ic|gcm-calibrate --device "xrandr-Lenovo Group Limited"}}.
{{Note|1=It seems like you need to run the full gnome-control-center because XFCE does not yet have a session component for colord: https://bugzilla.xfce.org/show_bug.cgi?id=8559}}
+
{{Note|1=The reason you need gnome-settings-daemon running is because XFCE does not yet have a session component for colord: https://bugzilla.xfce.org/show_bug.cgi?id=8559}}
  
 
See [[ICC Profiles]] for more information.
 
See [[ICC Profiles]] for more information.
 +
 +
=== Multiple Monitors ===
 +
If you have configured X.org so that your display spans multiple monitors, usually when you login to an '''XFCE''' session, it will appear as if your monitors are simple clones of one another. You can use an '''xrandr''' tool to tweak your setup but if this is not called at an appropriate time in the startup sequence, some functionality may be lost with parts of your display being inaccessible to the mouse pointer.
 +
 +
A better way is to configure XFCE to match your desired display arrangement. However, at present (xfce-settings 4.10), there is no tool available to assist with configuring multiple monitors directly.
 +
 +
* The ''Settings -> Display'' tool does allow configuration of screen resolution, rotation and enabling individual monitors; '''warning''': ''using this tool to adjust display settings will reset or lose settings made manually for properties not explicitly offered as buttons in the tool (see below)''.
 +
* The ''Settings -> Settings Editor'' allows manipulation of all configuration items in particular the ''displays'' settings which are saved in the file '''displays.xml''' below
 +
~/.config/xfce4/xfconf/xfce-perchannel-xml
 +
* Alternatively, the ''displays.xml'' can be edited using your favourite editor.
 +
 +
The main requirement for multiple monitors is their arrangement relative to one another. This can be controlled by setting the '''Position''' properties ('''X''' and '''Y''') to suit; an ''(x,y)'' position of ''0,0'' corresponds to the ''top, left'' position of the monitor array. This is the default position for all monitors and if several monitors are enabled they will appear as a cloned display area extending from this point.
 +
 +
To extend the display area correctly across both monitors:
 +
 +
* for side-by-side monitors, set the '''X''' property of the rightmost monitor to equal the width of the left-most monitor
 +
* for above-and-below monitors, set the '''Y''' property of the bottom monitor to equal the height of the upper monitor
 +
* for other arrangements, set the '''X''' and '''Y''' properties of each monitor to correspond to your layout
 +
 +
Measurements are in ''pixels''. As an example, a pair of monitors with nominal dimensions of ''1920x1080'' which are rotated by 90 and placed side-by-side can be configured with a ''displays.xml'' like this:
 +
 +
<channel name="displays" version="1.0">
 +
  <property name="Default" type="empty">
 +
    <property name="VGA-1" type="string" value="Idek Iiyama 23&quot;">
 +
      <property name="Active" type="bool" value="true"/>
 +
      <property name="Resolution" type="string" value="1920x1080"/>
 +
      <property name="RefreshRate" type="double" value="60.000000"/>
 +
      <property name="Rotation" type="int" value="90"/>
 +
      <property name="Reflection" type="string" value="0"/>
 +
      <property name="Primary" type="bool" value="false"/>
 +
      <property name="Position" type="empty">
 +
        <property name="X" type="int" value="0"/>
 +
        <property name="Y" type="int" value="0"/>
 +
      </property>
 +
    </property>
 +
    <property name="DVI-0" type="string" value="Digital display">
 +
      <property name="Active" type="bool" value="true"/>
 +
      <property name="Resolution" type="string" value="1920x1080"/>
 +
      <property name="RefreshRate" type="double" value="60.000000"/>
 +
      <property name="Rotation" type="int" value="90"/>
 +
      <property name="Reflection" type="string" value="0"/>
 +
      <property name="Primary" type="bool" value="false"/>
 +
      <property name="Position" type="empty">
 +
        <property name="X" type="int" value="1080"/>
 +
        <property name="Y" type="int" value="0"/>
 +
      </property>
 +
    </property>
 +
  </property>
 +
</channel>
 +
 +
Usually, editing settings in this way requires a logout/login to action them.
 +
 +
A new method for configuring multiple monitors will be available in the forthcoming xfce-settings 4.12 release.
  
 
=== XDG User Directories ===
 
=== XDG User Directories ===
freedesktop.org specifies the "well known" user directories like the desktop folder and the music folder. The {{Pkg|xdg-user-dirs}} to manage them and it also handles localization (i.e. translation) of the filenames.
+
freedesktop.org specifies the "well known" user directories like the desktop folder and the music folder.  See [[Xdg user directories]] for detailed info.
  # pacman -S xdg-user-dirs
+
If you want to use the directories with your localized names, run the following command on your user:
+
$ xdg-user-dirs-update
+
If you want to revert to English, run the following:
+
$ LC_ALL=C xdg-user-dirs-update
+
It then creates localized (or English) versions of these directories in your home directory and sets up a config file in $(XDG_CONFIG_HOME)/user-dirs.dirs (XDG_CONFIG_HOME defaults to ~/.config). The Xfce and other softwares complying the freedesktop.org knows that is where those types of files should go by default.
+
  
In the case of the French:
+
=== SSH Agents ===
 +
By default Xfce 4.10 will try to load gpg-agent or ssh-agent in that order during session initialization. To disable this, create an xfconf key using the following command:
  
{{hc|~/.config/user-dirs.locale|
+
xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false
fr_FR}}
+
{{hc|~/.config/user-dirs.dirs|<nowiki>
+
XDG_DESKTOP_DIR="$HOME/Bureau"
+
XDG_DOWNLOAD_DIR="$HOME/Téléchargements"
+
XDG_TEMPLATES_DIR="$HOME/Exemples"
+
XDG_PUBLICSHARE_DIR="$HOME/Public"
+
XDG_DOCUMENTS_DIR="$HOME/Documents"
+
XDG_MUSIC_DIR="$HOME/Musiques"
+
XDG_PICTURES_DIR="$HOME/Images"
+
XDG_VIDEOS_DIR="$HOME/Vidéos"</nowiki>}}
+
  
You can edit these files directly by using text editor.
+
To force using ssh-agent even if gpg-agent is installed, run the following instead:
 +
 
 +
xfconf-query -c xfce4-session -p /startup/ssh-agent/type -n -t string -s ssh-agent
 +
 
 +
To use [[GNOME Keyring]], simply tick the checkbox ''Launch GNOME services on startup'' in the ''Advanced'' tab of ''Session Manager'' in Xfce's settings. This will also disable gpg-agent and ssh-agent.
 +
 
 +
Source: http://docs.xfce.org/xfce/xfce4-session/advanced
  
 
== Troubleshooting ==
 
== Troubleshooting ==
 +
=== xfce4-power-manager ===
 +
If you are still using initscripts, check you have added dbus to the {{ic|DAEMONS}} array in {{ic|/etc/[[rc.conf]]}}.
  
=== Unable to open external windows partitions ===
+
If you are using Systemd, try to configure power-related [[Wikipedia:Advanced_Configuration_and_Power_Interface|ACPI]] events via options from {{ic|/etc/systemd/logind.conf}} to give control to xfce4-power-manager according [[Systemd]].
If you have external partitions like a fat32 drive connected via eSata, and launching them from the desktop results in a dialog telling you 'Authentication is required', you need to ensure polkit-gnome is installed and PolicyKit Authentication Agent is started by xfce4.
+
pacman -S polkit-gnome
+
Restart xfce4 and go:
+
Applications Menu > Settings > Sessions and Startup
+
Check that PolicyKit Authentication Agent is enabled under the Application Autostart tab.
+
  
=== xfce4-power-manager is not working ===
+
{{hc|/etc/systemd/logind.conf|<nowiki>
Check you have added dbus to the {{ic|DAEMONS}} array in {{ic|/etc/[[rc.conf]]}}.
+
HandlePowerKey=ignore</nowiki>}}
  
=== Xfce4-xkb-plugin settings issue ===
+
=== Xfce4-xkb-plugin ===
 
There is a bug in version ''0.5.4.1-1'' which causes xkb-plugin to ''lose keyboard, layout switching and compose key'' settings. As a workaround you may enable ''Use system defaults'' option in keyboard settings. To do so run
 
There is a bug in version ''0.5.4.1-1'' which causes xkb-plugin to ''lose keyboard, layout switching and compose key'' settings. As a workaround you may enable ''Use system defaults'' option in keyboard settings. To do so run
 
  xfce4-keyboard-settings
 
  xfce4-keyboard-settings
 
Go to ''Layout'' tab and set the ''Use system defaults'' flag, then reconfigure xkb-plugin.
 
Go to ''Layout'' tab and set the ''Use system defaults'' flag, then reconfigure xkb-plugin.
  
=== Thunar does not display any thumbnail ===
+
=== Thunar not displaying Thumbnail Images ===
 
+
 
Thunar relies on '''Tumbler''' to generate thumbnails. You can install Tumbler by issuing
 
Thunar relies on '''Tumbler''' to generate thumbnails. You can install Tumbler by issuing
  
 
  pacman -S tumbler
 
  pacman -S tumbler
  
More details in [[Thunar#Thunar_Thumbnailers|Thunar's page]].
+
More details in [[Thunar#Thunar_thumbnails|Thunar's page]].
  
 
=== Locales ignored with GDM ===
 
=== Locales ignored with GDM ===
Line 670: Line 652:
 
  $ mv ~/.config/xfce4/ ~/.config/xfce4-bak
 
  $ mv ~/.config/xfce4/ ~/.config/xfce4-bak
  
Logout and login for changes to take effect.
+
Logout and login for changes to take effect.  If upon logging in you get an error window with the heading "Unable to load a failsafe session," see the [[Xfce#Session_failure|Session Failure]] section on this page.
  
 
=== NVIDIA and xfce4-sensors-plugin ===
 
=== NVIDIA and xfce4-sensors-plugin ===
Line 676: Line 658:
  
 
=== Session failure ===
 
=== Session failure ===
If the window manager does not load correctly (The mouse is a X and you cannot close windows) you maybe got an session error.
+
If the window manager does not load correctly, you maybe got a session error. Typical symptoms of this can include:
To remove a corrupt session you can delete the session folder at the {{ic|.cache}} folder.
+
# rm -r ~/.cache/sessions/
+
The easy way to reload the session is to reboot the computer. You can also restart xfce.
+
  
=== Clock/notification area no longer pushed to the right edge of the panel in Xfce 4.10 ===
+
* the mouse is an X and/or does not appear at all
 +
* window decorations have disappeared and windows cannot be closed
 +
* "Window Manager" settings tool ({{ic|xfwm4-settings}}) will not start, reporting
 +
These settings cannot work with your current window manager (unknown)
 +
* errors being reported by {{ic|slim}} or your login manager like
 +
No window manager registered on screen 0
  
This is due to a change in the Window Buttons panel plugin which no longer expands to fill the available space.
+
Restarting xfce or rebooting your system may resolve the issue but more likely the problem is a corrupt session. Delete the session folder below the {{ic|.cache}} folder:
 +
$ rm -r ~/.cache/sessions/
 +
 
 +
=== Clock/notification area Fix ===
 +
 
 +
Since Xfce 4.10, Clock/notification area no longer pushed to the right edge of the panel. This is due to a change in the Window Buttons panel plugin which no longer expands to fill the available space.
  
 
To emulate the old behavior, add a transparent separator between the window buttons and the clock/notification area, setting its expand property.
 
To emulate the old behavior, add a transparent separator between the window buttons and the clock/notification area, setting its expand property.
  
 
=== Preferred Applications preferences have no effect ===
 
=== Preferred Applications preferences have no effect ===
 
 
If you have set your preferred applications with ''exo-preferred-applications'', but they do not seem to be taken into consideration, see [[Xfce#xdg-open_integration_.28Preferred_Applications.29]]
 
If you have set your preferred applications with ''exo-preferred-applications'', but they do not seem to be taken into consideration, see [[Xfce#xdg-open_integration_.28Preferred_Applications.29]]
  
=== Action Buttons in the panel are missing icons ===
+
=== Action Buttons/Missing Icons ===
 
+
 
This happens if icons for some actions (Suspend, Hibernate) are missing from the icon theme, or at least do not have the expected names. First, find out the currently used icon theme in the Settings Manager (→Appearance→Icons). Match this with a subdirectory of {{ic|/usr/share/icons}}. For example, if the icon theme is GNOME, make a note of the directory name {{ic|/usr/share/icons/gnome}}.
 
This happens if icons for some actions (Suspend, Hibernate) are missing from the icon theme, or at least do not have the expected names. First, find out the currently used icon theme in the Settings Manager (→Appearance→Icons). Match this with a subdirectory of {{ic|/usr/share/icons}}. For example, if the icon theme is GNOME, make a note of the directory name {{ic|/usr/share/icons/gnome}}.
  
Line 709: Line 696:
  
 
Log out and in again, and you should see icons for all actions.
 
Log out and in again, and you should see icons for all actions.
 +
 +
=== Enable cedilla ç/Ç instead of ć/Ć ===
 +
 +
When you select the keyboard layout "U.S., alternative international" in Settings --> Keyboard --> Layout to enable accents, the typical combination for the cedilla ' + c results in ć instead of ç.To change this suffice edit files gtk.immodules for gtk-2.0  and immodules.cache for gtk-3.0 in line that contains "cedilla" adding both "en" in the list "az:ca:co:fr:gv:oc:pt:sq:tr:wa" but in alphabetical order, staying that way in /etc/gtk-2.0/gtk.immodules
 +
 +
"/usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so"
 +
"cedilla" "Cedilla" "gtk20" "/usr/share/locale" "az:ca:co:en:fr:gv:oc:pt:sq:tr:wa"
 +
 +
and this in /usr/lib/gtk-3.0/3.0.0/immodules.cache
 +
 +
"/usr/lib/gtk-3.0/3.0.0/immodules/im-cedilla.so"
 +
"cedilla" "Cedilla" "gtk30" "/usr/share/locale" "az:ca:co:en:fr:gv:oc:pt:sq:tr:wa"
 +
 +
Then, do
 +
# echo "export GTK_IM_MODULE=cedilla" >> /etc/environment
 +
 +
Done. Simply just close and reopen the gtk programs like gedit.
 +
 +
{{Note|This does not work without the file ''locale.conf''. If you have configured it with only locale-gen, do this:
 +
# echo 'LANG<nowiki>=</nowiki>"en_US.UTF-8"' > /etc/locale.conf
 +
}}
 +
 +
=== Non ASCII characters when mounting USB sticks ===
 +
A common problem when automounting USB sticks formatted with fat filesystem is the inability to properly show characters as umlauts, ñ, ß, etc. This may be solved by changing the default iocharset to UTF-8, which is easily done adding a line to {{ic|/etc/xdg/xfce4/mount.rc}}:
 +
 +
[vfat]
 +
uid=<auto>
 +
shortname=winnt
 +
'''utf8=true'''
 +
# FreeBSD specific option
 +
longnames=true
 +
flush=true
 +
 +
Note that when using utf-8, the system will distinct between upper- and lowercases, potentially corrupting your files, so be careful.
 +
 +
It is possible to mount vfat devices with ''flush'' option, so that when copying to USB sticks data flushes more often, thus making thunar's progress bar to stays up until finished. Adding ''async'' instead will speed up write ops, but make sure to use ''Eject'' option in Thunar to unmount the stick. Globally, mount options for storage devices present at boot can be set in [[fstab]], and for other devices in [[udev]] rules.
  
 
==See also==
 
==See also==

Revision as of 12:21, 3 February 2013

Template:Article summary start Template:Article summary text Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

From Xfce - About:

Xfce embodies the traditional UNIX philosophy of modularity and re-usability. It consists of a number of components that provide the full functionality one can expect of a modern desktop environment. They are packaged separately and you can pick among the available packages to create the optimal personal working environment.

Xfce is a Desktop Environment, like GNOME or KDE. It contains a suite of apps like a root window app, window manager, file manager, panel, etc. Xfce is written using the GTK2 toolkit, and contains its own development environment (libraries, daemons, etc), similar to other big DEs. Features:

  • Lighter on resources than the other major DEs (KDE, GNOME).
  • Most settings are exposed via a GUI, Xfce does not try to hide stuff from the user.
  • Xfwm has an optional built-in compositor which allows for true transparency and all the benefits of GPU acceleration (minimizes tearing, etc.).
  • It works great with multiple monitors.

Contents

Installation

Before starting, make sure you have the X server installed and configured correctly.

Note: Xfce is somewhat modular. That means there is no need for you to run every part, you can pick and choose some of them.

The base Xfce system can be installed with the group xfce4, available in the Official Repositories. Pacman will ask you to select the packages to install, but you probably want to get them all by simply pressing Template:Keypress. Additional packages, like panel plugins, notifications, and system tools are available in the xfce4-goodies group.

Tip: Installing Gamin (the successor of FAM) is highly recommended.

Starting Xfce

Automatically

There are two methods to start Xfce (and in fact, any desktop or window manager) at boot time:

Manually

Note: See xinitrc for details, such as preserving the logind (and/or consolekit) session.

You can execute:

$ startxfce4

from the console, or configure xinitrc and use xinit or startx.

If you have not created a ~/.xinitrc yet, do so with:

$ cp /etc/skel/.xinitrc ~/.xinitrc

and add the following line:

exec startxfce4

Example:

~/.xinitrc
#!/bin/sh

if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi

exec startxfce4
Note:
  • In case you are wondering, dbus-launch will be launched by the xinitrc.d code at the beginning of the file. dbus-launch starts a dbus-daemon instance to provide communication with PolicyKit.
  • The proper command for launching Xfce is startxfce4: do not start xfce4-session directly, since it is already run by startxfce4 itself.

Automounting

See General Troubleshooting#Session permissions.

If you have no issues shutting down and rebooting but cannot automount external media and disks, you may need to install gvfs. See the Removable Devices section.

Tips and tricks

Xfconf settings

Xfconf is XFCE's system for storing configuration options, and most XFCE configuration is done by editing settings in Xfconf (one way or another). There are several ways to modify these settings:

  • The most obvious and easiest way is to go to "Settings" in the main menu and select the category you want to customize. However, not all customization options are available this way.
  • A less user-friendly but more general way is to go to
    Main menu -> Settings -> Settings Editor
    where you can see and modify all the customization options. Any settings modified here will take effect immediately. The Settings Editor can also be launched from the command line by invoking xfce4-settings-editor.
  • Customization can be done completely from the command line using the program xfconf-query. See the XFCE online documentation for more information and examples and the rest of this wiki page for more examples. Settings changed here will take effect immediately.
  • The settings are stored in XML files in ~/.config/xfce4/xfconf/xfce-perchannel-xml/ which can be edited by hand. However, changes made here will not take effect immediately.
  • For more information: Xfconf documentation

Panel

xfce panel background

Edit ~/.gtkrc-2.0. Note that you must place the image in the same directory as the configuration, which is ~/. You can not specify the path to the image, or it will not work.

 style "panel-background" {
   bg_pixmap[NORMAL]        = "foo.bar"
   bg_pixmap[PRELIGHT]      = "foo.bar"
   bg_pixmap[ACTIVE]        = "foo.bar"
   bg_pixmap[SELECTED]      = "foo.bar"
   bg_pixmap[INSENSITIVE]   = "foo.bar"
 }
 widget_class "*Panel*" style "panel-background"

'menu' panel replacement

The "Ubuntu System Panel" (GNOME) panel applet has similar features to those found in its KDE v4.2 equivalent. It can be added to an Xfce panel via the 'XfApplet' panel applet, which allows GNOME applets to be used in Xfce.

It is available in the AUR as the usp2AUR package.

Removing entries from the System menu

Method 1

With the built-in menu editor, you cannot remove menu entries from the System menu. Here’s how to hide them:

  1. Open Terminal (Xfce menu > System > Terminal) and go to the /usr/share/applications folder:
    $ cd /usr/share/applications
  2. This folder should be full of .desktop files. To see a list type:
    $ ls
  3. Add NoDisplay=true to the .desktop file. For example, if you want to hide Firefox, type in the terminal:
    $ sudo sh -c 'echo "NoDisplay=true" >> firefox.desktop'
    This command appends the text NoDisplay=true to the end of the .desktop file.
Method 2

Another method is to copy the entire contents of the global applications directory over to your local applications directory, and then proceed to modify and/or disable unwanted .desktop entries. This will survive application updates that overwrite changes under /usr/share/applications/.

  1. In a terminal, copy everything from /usr/share/applications to ~/.local/share/applications/:
    $ cp /usr/share/applications/* ~/.local/share/applications/
  2. For any entry you wish to hide from the menu, add the NoDisplay=true option:
    $ echo "NoDisplay=true" >> ~/.local/share/applications/foo.desktop

You can also edit the application's category by editing the .desktop file with a text editor and modifying the Categories= line.

Method 3

The third method is the cleanest and recommended in the Xfce wiki.

Create the file ~/.config/menus/xfce-applications.menu and copy the following in it:

<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
  "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">

<Menu>
    <Name>Xfce</Name>
    <MergeFile type="parent">/etc/xdg/menus/xfce-applications.menu</MergeFile>

    <Exclude>
        <Filename>xfce4-run.desktop</Filename>

        <Filename>exo-terminal-emulator.desktop</Filename>
        <Filename>exo-file-manager.desktop</Filename>
        <Filename>exo-mail-reader.desktop</Filename>
        <Filename>exo-web-browser.desktop</Filename>

        <Filename>xfce4-about.desktop</Filename>
        <Filename>xfhelp4.desktop</Filename>
    </Exclude>

    <Layout>
        <Merge type="all"/>
        <Separator/>

        <Menuname>Settings</Menuname>
        <Separator/>

        <Filename>xfce4-session-logout.desktop</Filename>
    </Layout>

</Menu>

The <MergeFile> tag includes the default Xfce menu in our file. This is important.

The <Exclude> tag excludes applications which we do not want to appear in the menu. Here we excluded some Xfce default shortcuts, but you can exclude firefox.desktop or any other application.

The <Layout> tag defines the layout of the menu. The applications can be organized in folders or however we wish. For more details see the aforementioned Xfce wiki page.

Method 4

Alternatively a tool called lxmed can be used. Lxmed is a GUI tool written in Java for editing menu entires in LXDE, but it also works in Xfce4. Lxmed is available in the lxmedAUR package from the AUR.

Missing applications

When some applications are installed (for example via WINE), they may not be listed in /usr/share/applications. Shortcuts might be found in the category “Other” in this directory: ~/.local/share/applications/wine/.

Panel autohide delay

Add this to ~/.gtkrc-2.0.

 style "xfce-panel-window-style"
 {
   # Time in miliseconds before the panel will unhide on an enter event
   XfcePanelWindow::popup-delay = 225
 
   # Time in miliseconds before the panel will hide on a leave event
   XfcePanelWindow::popdown-delay = 350
 }
 class "XfcePanelWindow" style "xfce-panel-window-style"

Panel at desktop level

If you want a panel at desktop level (i.e., other windows will stack over it) you need a little hack, ensure you have installed the wmctrl package from the Official Repositories.

Create a script in ~/.config/xfce4/xfce4-fix-panel with this content and make it executable (you can use chmod 755 xfce4-fix-panel).

#!/bin/bash
set -e

function getPanelIdImpl() {
  # get panel id
  PANEL="`wmctrl -l | sed -n -e '/ xfce4-panel$/ s_ .*$__ p' | sed -n -e $1' p'`"
}

function getPanelId() {
  # eventually await the panel to appear
  getPanelIdImpl $1
  while [ x = x$PANEL ] ;do
    sleep 0.5s
    getPanelIdImpl $1
  done
}

function putPanelDown() {
  PANEL=""
  getPanelId $1
  wmctrl -i -r $PANEL -b add,below
}

# call the program with a list of panel numbers as arguments
# for example, xfce4-fix-panel 1 2 3
# for the first three panels
for i in $* ;do
  putPanelDown $i
done


Once wrote the script, and tested it, you need to auto-execute it at each login. You can use the Session and StartUp -> Application Autostart gui.

This passage will put your panels at desktop level, but if your panel is sticking to a border the maximized windows will not stack over it. You can enable this behavior with the following command, fortunately you need to do this only once. (change the $ID with the panel number of interest)

xfconf-query -c xfce4-panel -p /panels/panel-$ID/disable-struts -n -t bool -s true

Desktop

Transparent Background for Icon Titles

To change the default white background of desktop icon titles to something more suitable, edit the .gtkrc-2.0 file in your home directory (or create the file if needed) and add the following:

style "xfdesktop-icon-view" {
XfdesktopIconView::label-alpha = 10
base[NORMAL] = "#000000"
base[SELECTED] = "#71B9FF"
base[ACTIVE] = "#71FFAD"
fg[NORMAL] = "#ffffff"
fg[SELECTED] = "#71B9FF"
fg[ACTIVE] = "#71FFAD" }
widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"

Hide Selected Partitions

If you wish to prevent certain partitions or drives appearing on the desktop, you can create a udev rule, for example /etc/udev/rules.d/10-local.rules:

KERNEL=="sda1", ENV{UDISKS_PRESENTATION_HIDE}="1"
KERNEL=="sda2", ENV{UDISKS_PRESENTATION_HIDE}="1"

Would show all partitions with the exception of sda1 and sda2 on your desktop. Notice, if you are using udisk2 the above will not work, due to the UDISKS_PRESENTATION_HIDE no longer being supported, instead you must use UDISKS_IGNORE as follows

KERNEL=="sda1", ENV{UDISKS_IGNORE}="1"
KERNEL=="sda2", ENV{UDISKS_IGNORE}="1"

Remove Thunar Options from Right-click

xfconf-query -c xfce4-desktop -v --create -p /desktop-icons/style -t int -s 0

Kill Window Shortcut

Xfce does not support the kill window shortcut directly, but you can add one with a simple script. Ensure you have the xorg-xkill package installed.

Create a script in ~/.config/xfce4/killwindow.sh with this content and make it executable (you can use chmod 755 killwindow.sh).

xkill -id "`xprop -root -notype | sed -n '/^_NET_ACTIVE_WINDOW/ s/^.*# *\|\,.*$//g p'`"

Now associate a shortcut using Settings -> Keyboard to that script.

XFWM4

Enabling the Compositor

Xfce comes with a builtin compositor adding the option for fancy window effects, shadows and transparency and so on. It can be enabled in the Window Manager Tweaks and works on the fly. No additional settings are needed in your /etc/xorg.conf. To enable and adjust settings, go to:

Menu  -->  Settings  -->  Window Manager Tweaks

Disable window roll-up

xfconf-query -c xfwm4 -p /general/mousewheel_rollup -s false

Toggle Automatic Tiling of Windows at Edge of Screen

XFWM4 has the ability to "tile" a window automatically when it is moved to the edge of the screen by resizing it to fill the top half of the screen. (The official XFCE website says this feature is disabled by default in XFCE 4.10, but it seems to be enabled by default on Arch Linux.) This behavior can be enabled or disabled in Window Manager Tweaks --> Accessibility --> Automatically tile windows when moving toward the screen edge, or:

xfconf-query -c xfwm4 -p /general/tile_on_move -s false  # To disable
xfconf-query -c xfwm4 -p /general/tile_on_move -s true   # To enable

Settings Manager Commands

There is no official documentation for the commands executed. One must look at .desktop files /usr/share/applications/ folder. For the people who like to know exactly what is happening, here is a handy list to save the effort:

xfce4-accessibility-settings
xfce4-power-manager-settings
xfce4-settings-editor
xfdesktop-settings
xfce4-display-settings
xfce4-keyboard-settings
xfce4-mouse-settings
xfce4-session-settings
xfce4-settings-manager
xfce4-appearance-settings
xfwm4-settings
xfwm4-tweaks-settings
xfwm4-workspace-settings
orage -p

To review all the available setting manager commands run the following in a terminal:

$ grep '^Exec=' /usr/share/applications/xfce*settings* | sed -e 's_^.*=_ _'

Session

Custom Startup Applications

This includes getting necessary environment variables into the GUI runtime.

  • Copy the file /etc/xdg/xfce4/xinitrc to ~/.config/xfce4/
  • Edit this file. For example, you can add something like this somehwere in the middle:
source $HOME/.bashrc
# start rxvt-unicode server
urxvtd -q -o -f

Switch between users

Xfce4 allows this behavior under the 'action buttons' menu item. Currently, both gdm and lightdm provide this functionality.

Manually Modifying XML settings

It may be useful, especially when upgrading, to manually edit .xml files in the ~/.config/xfce4/xfconf/ folder. For application keyboard shortcuts for example, the file is ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml. It is faster to copy and paste the XML keys that you want rather than using the GUI.

Removable Devices

If you want an icon appearing on your desktop and in Thunar when you plug in external devices, make sure gvfs is installed. You could also need to install gvfs-afc (read this discussion). It is also a good idea to install thunar-volman (already included in the xfce4 base group). Additionally, udisks and a udisks wrapper are recommended if you want to automount optical and external drives easily.

Look and Feel

Add themes to XFCE

1. Go to www.xfce-look.org and click "Themes" in the left navbar. Look around for a theme you want and click "Download".

2. Go to the directory where you downloaded the tarball/file and extract it using Squeeze/Xarchiver/CLI.

3. Move the extracted folder to /usr/share/themes (for all users) or ~/.themes (for just you). Inside /usr/share/themes/abc, there is a folder that you create called xfwm4 that will contain whatever files that is included with that theme.

4. GTK theme is available here:

Menu --> Settings --> Appearance

You select your xfwm theme in:

Menu --> Settings --> Window Manager

Cursors

Main article: X11 Cursors

If you have alternative X cursor themes installed, Xfce can find them with:

Menu --> Settings --> Mouse --> Theme

Icons

1. First find and download your desired icon pack. Recommended places to download icons from are Customize.org, Opendesktop.org and Xfce-look.org.

2. Go to the directory where you downloaded the icon pack and extract it. Example tar -xzf /home/user/downloads/icon-pack.tar.gz.

3. Move the extracted folder containing the icons to /usr/share/icons (if you want all users on the system to make use of the icons) or ~/.icons (if only you want to use the icons).

Optional: run gtk-update-icon-cache -f -t ~/.icons/<theme_name> to update icon cache

4. Switch your icons by going to:

Menu --> Settings --> Appearance --> Icons

When you have icon theme problems, it is also recommended to install the hicolor-icon-theme package if it was not already installed.

Fonts

If you find the standard fonts rather thick and or slightly out of focus open Settings>Appearence click on the Fonts tab and under Hinting: change to Full

You could also try using a custom DPI setting.

Sound

Configuring xfce4-mixer

xfce4-mixer is the GUI mixer app / panel plugin made by the Xfce team. It is part of the xfce4 group, so you probably already have it installed. Xfce 4.6 uses gstreamer as the backend to control volume, so first you have to make gstreamer cooperate with xfce4-mixer. One or more of the gstreamer plugin packages listed as optional dependencies to xfce4-mixer must be installed. Without one of these required plugins packages, the following error arises when clicking on the mixer panel item.

 GStreamer was unable to detect any sound devices. Some sound system specific GStreamer packages may be missing. It may also be a permissions problem.

(It is probably not a permissions problem. It is no longer required to add audio users to the "audio" group.) Which plugins are needed depends on the hardware. Most people should be fine with gstreamer0.10-base-plugins which can be installed from Official Repositories.

If the xfce4-mixer panel item was already running before one of the plugins packages was installed, logout and login to see if it worked, or just remove the mixer plugin from the panel and add it again. If that does not work, you might need more or different gstreamer plugins. Try to install package gstreamer0.10-good-plugins or gstreamer0.10-bad-plugins.

For further details, for example how to set the default sound card, see Advanced Linux Sound Architecture. Alternatively you can use PulseAudio together with pavucontrol.

Xfce4-mixer and OSS4

If you tried the above section to get xfce4-mixer to work and it does not work at all, then you may have to compile gstreamer0.10-good-plugins yourself. Download the PKGBUILD and other files needed from ABS or here, edit the PKGBUILD, add --enable-oss.

 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
   --enable-oss \
   --disable-static --enable-experimental \
   --disable-schemas-install \
   --disable-hal \
   --with-package-name="GStreamer Good Plugins (Archlinux)" \
   --with-package-origin="https://www.archlinux.org/"

and then run makepkg -i.

 makepkg -i

Still not working? Try this package in AUR gstreamer0.10-good-plugins-ossv4AUR, modify the pkgver to the newest in the PKGBUILD, and it should work.

Other LINKS: OSS forum

Keyboard Volume Buttons

Go to

Settings --> Keyboard

Click the "Application Shortcuts" tab and add click the "Add" button. Add the following by entering the command, then pressing the corresponding button at the next window:

ALSA

For the raise volume button:

amixer set Master 5%+

For the lower volume button:

amixer set Master 5%-

For the mute button:

amixer set Master toggle

You can also run these commands to set the above commands to the standard XF86Audio keys:

xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/XF86AudioRaiseVolume -n -t string -s "amixer set Master 5%+ unmute"
xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/XF86AudioLowerVolume -n -t string -s "amixer set Master 5%- unmute"
xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/XF86AudioMute -n -t string -s "amixer set Master toggle"

If amixer set Master toggle does not work, try the PCM channel (amixer set PCM toggle) instead.

The channel must have a "mute" option for the toggle command to work. To check whether or not your Master channel supports toggling mute, run alsamixer in a terminal and look for the double M's (MM) under the Master channel. If they are not present, then it does not support the mute option. If, for example, you had to change the toggle button to use the PCM channel, make sure to also set the PCM channel as the Mixer Track under Xfce Mixer properties.

OSS

Use one of these scripts: http://www.opensound.com/wiki/index.php/Tips_And_Tricks#Using_multimedia_keys_with_OSS

If using ossvol (recommended), add:

ossvol -i 1

for the volume up button

ossvol -d 1

for the volume down button

ossvol -t

for the mute/unmute button

Xfce4-volumed

xfce4-volumed daemon from the AUR automatically maps volume keys of your keyboard to Xfce-mixer. Additionally you get OSD through Xfce4-notifyd when changing volume. Xfce4-volumed does not need any configuration and is started automatically with Xfce.

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: There should be a short explanation of what this does and why it fixes the issue (bug?). (Discuss in Talk:Xfce#)

If you use pulseaudio and xfce4-volumed unmute does not work, try this:

$ xfconf-query -c xfce4-mixer -p /active-card -s `xfconf-query -c xfce4-mixer -p /sound-card`
Volumeicon

volumeicon is an alternative to xfce4-volumed in the community repo also handling keybindings and notifications through xfce4-notifyd.

Adding startup/boot sound

Arch does not have a built-in startup sound configuration tool, but there is a workaround by adding the following command to your Application Autostart settings:

aplay /boot/startupsound.wav

The file location and filename can be whatever you want, but naming it descriptively and putting it in /boot keeps things tidy.

xdg-open integration (Preferred Applications)

Most applications rely on xdg-open for opening a preferred application for a given file or URL.

In order for xdg-open and xdg-settings to detect and integrate with the XFCE desktop environment correctly, you need to install the xorg-xprop package.

If you do not do that, your preferred applications preferences (set by exo-preferred-applications) will not be obeyed. Installing the package and allowing xdg-open to detect that you are running XFCE makes it forward all calls to exo-open instead, which correctly uses all your preferred applications preferences.

To make sure xdg-open integration is working correctly, ask xdg-settings for the default web browser and see what the result is:

# xdg-settings get default-web-browser

If it replies with:

xdg-settings: unknown desktop environment

it means that it has failed to detect XFCE as your desktop environment, which is likely due to a missing xorg-xprop package.

Screenshots

XFCE has its own screenshot tool, xfce4-screenshooter. It is part of the xfce4-goodies group.

Print Screen key

Go to:

XFCE Menu  -->  Settings  -->  Keyboard  >>>  Application Shortcuts.

Add the "xfce4-screenshooter -f" command to use the "PrintScreen" key in order to take fullscreen screenshots. See screenshooter's man page for other optional arguments.

Alternatively, an independent screenshot program like scrot can be used.

Terminal color themes or pallets

Terminal color themes or pallets can be changed in GUI under Appearance tab in Preferences. These are the colors that are available to most console applications like Emacs, Vi and so on. Their settings are stored individually for each system user in ~/.config/xfce4/terminal/terminalrc file. There are also so many other themes to choose from. Check forums post [Colour Scheme Screenshots] for hundreds of available choices and themes.

Changing default color theme

XFCE's extra/terminal package comes with a darker color palette and colored text looks pretty horrid in default black background impeding user readability. Append the following in your terminalrc file for a lighter color theme, that is always visible in darker Terminal backgrounds.

~/.config/xfce4/terminal/terminalrc
ColorPalette5=#38d0fcaaf3a9
ColorPalette4=#e013a0a1612f
ColorPalette2=#d456a81b7b42
ColorPalette6=#ffff7062ffff
ColorPalette3=#7ffff7bd7fff
ColorPalette13=#82108210ffff

Terminal tango color theme

To switch to tango color theme, open with your favorite editor

~/.config/xfce4/terminal/terminalrc

And add(replace) these lines:

ColorForeground=White
ColorBackground=#323232323232
ColorPalette1=#2e2e34343636
ColorPalette2=#cccc00000000
ColorPalette3=#4e4e9a9a0606
ColorPalette4=#c4c4a0a00000
ColorPalette5=#34346565a4a4
ColorPalette6=#757550507b7b
ColorPalette7=#060698989a9a
ColorPalette8=#d3d3d7d7cfcf
ColorPalette9=#555557575353
ColorPalette10=#efef29292929
ColorPalette11=#8a8ae2e23434
ColorPalette12=#fcfce9e94f4f
ColorPalette13=#72729f9fcfcf
ColorPalette14=#adad7f7fa8a8
ColorPalette15=#3434e2e2e2e2
ColorPalette16=#eeeeeeeeecec

Colour management

xfce4-settings-manager does not yet have any colour management / calibration settings, nor is there any specific XFCE program to characterise your monitor.

Loading a profile

If you wish to load an icc profile (that you have previously created or downloaded) to calibrate your display on startup, you can download xcalibAUR from AUR, then open the XFCE4 Settings Manager, click Session and Startup icon, the Autostart tab, and add a new entry where the command is /usr/bin/xcalib /path/to/your/profile.icc. You still need to tell your applications, which display profile should be used to have the displayed images colour managed.

Another option is dispwin. Dispwin not only calibrates the display, but also sets the _ICC_PROFILE atom in X so that some applications can use a "system" display profile instead of requiring the user to set the display profile manually (GIMP, Inkscape, darktable, UFRaw, etc.).

See ICC_Profiles#Loading_ICC_Profiles for more information.

Creating a profile

If you wish to create an icc profile for your display (ie. characterising/profiling, e.g. with the ColorHug, or some other colorimeter, or a spectrophotometer, or "by eye"), the simplest option may be to install dispcalGUI from AUR.

Another option is to install gnome-settings-daemon and gnome-color-manager (available in extra). In order to start the calibration from the command line, first do /usr/lib/gnome-settings-daemon/gnome-settings-daemon & (note: this might change your keyboard layout and who knows what else, so probably good to do it on a throwaway account), then colormgr get-devices and look for the "Device ID" line of your monitor. If this is e.g. "xrandr-Lenovo Group Limited", you start calibration with the command gcm-calibrate --device "xrandr-Lenovo Group Limited".

Note: The reason you need gnome-settings-daemon running is because XFCE does not yet have a session component for colord: https://bugzilla.xfce.org/show_bug.cgi?id=8559

See ICC Profiles for more information.

Multiple Monitors

If you have configured X.org so that your display spans multiple monitors, usually when you login to an XFCE session, it will appear as if your monitors are simple clones of one another. You can use an xrandr tool to tweak your setup but if this is not called at an appropriate time in the startup sequence, some functionality may be lost with parts of your display being inaccessible to the mouse pointer.

A better way is to configure XFCE to match your desired display arrangement. However, at present (xfce-settings 4.10), there is no tool available to assist with configuring multiple monitors directly.

  • The Settings -> Display tool does allow configuration of screen resolution, rotation and enabling individual monitors; warning: using this tool to adjust display settings will reset or lose settings made manually for properties not explicitly offered as buttons in the tool (see below).
  • The Settings -> Settings Editor allows manipulation of all configuration items in particular the displays settings which are saved in the file displays.xml below
~/.config/xfce4/xfconf/xfce-perchannel-xml
  • Alternatively, the displays.xml can be edited using your favourite editor.

The main requirement for multiple monitors is their arrangement relative to one another. This can be controlled by setting the Position properties (X and Y) to suit; an (x,y) position of 0,0 corresponds to the top, left position of the monitor array. This is the default position for all monitors and if several monitors are enabled they will appear as a cloned display area extending from this point.

To extend the display area correctly across both monitors:

  • for side-by-side monitors, set the X property of the rightmost monitor to equal the width of the left-most monitor
  • for above-and-below monitors, set the Y property of the bottom monitor to equal the height of the upper monitor
  • for other arrangements, set the X and Y properties of each monitor to correspond to your layout

Measurements are in pixels. As an example, a pair of monitors with nominal dimensions of 1920x1080 which are rotated by 90 and placed side-by-side can be configured with a displays.xml like this:

<channel name="displays" version="1.0">
 <property name="Default" type="empty">
   <property name="VGA-1" type="string" value="Idek Iiyama 23"">
     <property name="Active" type="bool" value="true"/>
     <property name="Resolution" type="string" value="1920x1080"/>
     <property name="RefreshRate" type="double" value="60.000000"/>
     <property name="Rotation" type="int" value="90"/>
     <property name="Reflection" type="string" value="0"/>
     <property name="Primary" type="bool" value="false"/>
     <property name="Position" type="empty">
       <property name="X" type="int" value="0"/>
       <property name="Y" type="int" value="0"/>
     </property>
   </property>
   <property name="DVI-0" type="string" value="Digital display">
     <property name="Active" type="bool" value="true"/>
     <property name="Resolution" type="string" value="1920x1080"/>
     <property name="RefreshRate" type="double" value="60.000000"/>
     <property name="Rotation" type="int" value="90"/>
     <property name="Reflection" type="string" value="0"/>
     <property name="Primary" type="bool" value="false"/>
     <property name="Position" type="empty">
       <property name="X" type="int" value="1080"/>
       <property name="Y" type="int" value="0"/>
     </property>
   </property>
 </property>
</channel>

Usually, editing settings in this way requires a logout/login to action them.

A new method for configuring multiple monitors will be available in the forthcoming xfce-settings 4.12 release.

XDG User Directories

freedesktop.org specifies the "well known" user directories like the desktop folder and the music folder. See Xdg user directories for detailed info.

SSH Agents

By default Xfce 4.10 will try to load gpg-agent or ssh-agent in that order during session initialization. To disable this, create an xfconf key using the following command:

xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false

To force using ssh-agent even if gpg-agent is installed, run the following instead:

xfconf-query -c xfce4-session -p /startup/ssh-agent/type -n -t string -s ssh-agent

To use GNOME Keyring, simply tick the checkbox Launch GNOME services on startup in the Advanced tab of Session Manager in Xfce's settings. This will also disable gpg-agent and ssh-agent.

Source: http://docs.xfce.org/xfce/xfce4-session/advanced

Troubleshooting

xfce4-power-manager

If you are still using initscripts, check you have added dbus to the DAEMONS array in /etc/rc.conf.

If you are using Systemd, try to configure power-related ACPI events via options from /etc/systemd/logind.conf to give control to xfce4-power-manager according Systemd.

/etc/systemd/logind.conf
HandlePowerKey=ignore

Xfce4-xkb-plugin

There is a bug in version 0.5.4.1-1 which causes xkb-plugin to lose keyboard, layout switching and compose key settings. As a workaround you may enable Use system defaults option in keyboard settings. To do so run

xfce4-keyboard-settings

Go to Layout tab and set the Use system defaults flag, then reconfigure xkb-plugin.

Thunar not displaying Thumbnail Images

Thunar relies on Tumbler to generate thumbnails. You can install Tumbler by issuing

pacman -S tumbler

More details in Thunar's page.

Locales ignored with GDM

Become superuser and add your locale to /var/lib/AccountsService/users/$USER:

su -c "nano /var/lib/AccountsService/users/$USER"

Replace hu_HU.UTF-8 with your own locale:

[User]
Language=hu_HU.UTF-8
XSession=xfce

You may also do it with sed. Note the backslash before .UTF-8:

su -c "sed -i 's/Language=.*/Language=hu_HU\.UTF-8/' /var/lib/AccountsService/users/$USER"

Restart GDM to take effect.

Restore default settings

If for any reason you need to revert back to the default settings, try renaming ~/.config/xfce4-session/ and ~/.config/xfce4/

$ mv ~/.config/xfce4-session/ ~/.config/xfce4-session-bak
$ mv ~/.config/xfce4/ ~/.config/xfce4-bak

Logout and login for changes to take effect. If upon logging in you get an error window with the heading "Unable to load a failsafe session," see the Session Failure section on this page.

NVIDIA and xfce4-sensors-plugin

To detect and use sensors of nvidia gpu you need to install libxnvctrlAUR and then recompile xfce4-sensors-plugin package.

Session failure

If the window manager does not load correctly, you maybe got a session error. Typical symptoms of this can include:

  • the mouse is an X and/or does not appear at all
  • window decorations have disappeared and windows cannot be closed
  • "Window Manager" settings tool (xfwm4-settings) will not start, reporting
These settings cannot work with your current window manager (unknown)
  • errors being reported by slim or your login manager like
No window manager registered on screen 0

Restarting xfce or rebooting your system may resolve the issue but more likely the problem is a corrupt session. Delete the session folder below the .cache folder:

$ rm -r ~/.cache/sessions/

Clock/notification area Fix

Since Xfce 4.10, Clock/notification area no longer pushed to the right edge of the panel. This is due to a change in the Window Buttons panel plugin which no longer expands to fill the available space.

To emulate the old behavior, add a transparent separator between the window buttons and the clock/notification area, setting its expand property.

Preferred Applications preferences have no effect

If you have set your preferred applications with exo-preferred-applications, but they do not seem to be taken into consideration, see Xfce#xdg-open_integration_.28Preferred_Applications.29

Action Buttons/Missing Icons

This happens if icons for some actions (Suspend, Hibernate) are missing from the icon theme, or at least do not have the expected names. First, find out the currently used icon theme in the Settings Manager (→Appearance→Icons). Match this with a subdirectory of /usr/share/icons. For example, if the icon theme is GNOME, make a note of the directory name /usr/share/icons/gnome.

icontheme=/usr/share/icons/gnome

Make sure that the xfce4-power-manager is installed as this contains the needed icons. Now create symbolic links from the current icon theme into the hicolor icon theme.

ln -s /usr/share/icons/hicolor/16x16/actions/xfpm-suspend.png   ${icontheme}/16x16/actions/system-suspend.png
ln -s /usr/share/icons/hicolor/16x16/actions/xfpm-hibernate.png ${icontheme}/16x16/actions/system-hibernate.png
ln -s /usr/share/icons/hicolor/22x22/actions/xfpm-suspend.png   ${icontheme}/22x22/actions/system-suspend.png
ln -s /usr/share/icons/hicolor/22x22/actions/xfpm-hibernate.png ${icontheme}/22x22/actions/system-hibernate.png
ln -s /usr/share/icons/hicolor/24x24/actions/xfpm-suspend.png   ${icontheme}/24x24/actions/system-suspend.png
ln -s /usr/share/icons/hicolor/24x24/actions/xfpm-hibernate.png ${icontheme}/24x24/actions/system-hibernate.png
ln -s /usr/share/icons/hicolor/48x48/actions/xfpm-suspend.png   ${icontheme}/48x48/actions/system-suspend.png
ln -s /usr/share/icons/hicolor/48x48/actions/xfpm-hibernate.png ${icontheme}/48x48/actions/system-hibernate.png

Log out and in again, and you should see icons for all actions.

Enable cedilla ç/Ç instead of ć/Ć

When you select the keyboard layout "U.S., alternative international" in Settings --> Keyboard --> Layout to enable accents, the typical combination for the cedilla ' + c results in ć instead of ç.To change this suffice edit files gtk.immodules for gtk-2.0 and immodules.cache for gtk-3.0 in line that contains "cedilla" adding both "en" in the list "az:ca:co:fr:gv:oc:pt:sq:tr:wa" but in alphabetical order, staying that way in /etc/gtk-2.0/gtk.immodules

"/usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so" 
"cedilla" "Cedilla" "gtk20" "/usr/share/locale" "az:ca:co:en:fr:gv:oc:pt:sq:tr:wa"

and this in /usr/lib/gtk-3.0/3.0.0/immodules.cache

"/usr/lib/gtk-3.0/3.0.0/immodules/im-cedilla.so" 
"cedilla" "Cedilla" "gtk30" "/usr/share/locale" "az:ca:co:en:fr:gv:oc:pt:sq:tr:wa"

Then, do

# echo "export GTK_IM_MODULE=cedilla" >> /etc/environment

Done. Simply just close and reopen the gtk programs like gedit.

Note: This does not work without the file locale.conf. If you have configured it with only locale-gen, do this:
# echo 'LANG="en_US.UTF-8"' > /etc/locale.conf

Non ASCII characters when mounting USB sticks

A common problem when automounting USB sticks formatted with fat filesystem is the inability to properly show characters as umlauts, ñ, ß, etc. This may be solved by changing the default iocharset to UTF-8, which is easily done adding a line to /etc/xdg/xfce4/mount.rc:

[vfat]
uid=<auto>
shortname=winnt
utf8=true
# FreeBSD specific option
longnames=true
flush=true

Note that when using utf-8, the system will distinct between upper- and lowercases, potentially corrupting your files, so be careful.

It is possible to mount vfat devices with flush option, so that when copying to USB sticks data flushes more often, thus making thunar's progress bar to stays up until finished. Adding async instead will speed up write ops, but make sure to use Eject option in Thunar to unmount the stick. Globally, mount options for storage devices present at boot can be set in fstab, and for other devices in udev rules.

See also