Difference between revisions of "Xfce"

From ArchWiki
Jump to navigation Jump to search
(Virtual console: make the relation between the two scripts more explicit, see also https://wiki.archlinux.org/index.php?title=User_talk:Thestinger&oldid=230665)
m (Keyboard volume buttons: link)
 
(404 intermediate revisions by 83 users not shown)
Line 1: Line 1:
[[Category:Desktop environments]]
+
[[Category:Xfce]]
 
[[cs:Xfce]]
 
[[cs:Xfce]]
 
[[de:Xfce]]
 
[[de:Xfce]]
 
[[es:Xfce]]
 
[[es:Xfce]]
 +
[[fa:Xfce]]
 
[[fr:Xfce]]
 
[[fr:Xfce]]
 
[[it:Xfce]]
 
[[it:Xfce]]
 
[[ja:Xfce]]
 
[[ja:Xfce]]
 +
[[ko:Xfce]]
 
[[pl:Xfce]]
 
[[pl:Xfce]]
 
[[ru:Xfce]]
 
[[ru:Xfce]]
[[tr:Xfce Masaüstü Ortamı]]
+
[[zh-hans:Xfce]]
[[uk:Xfce]]
 
[[zh-CN:Xfce]]
 
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|Desktop environment}}
 
{{Related|Desktop environment}}
Line 20: Line 20:
 
{{Related articles end}}
 
{{Related articles end}}
  
[http://www.xfce.org Xfce] is a lightweight and modular [[Desktop environment]] currently based on GTK+ 2. To provide a complete user experience, it includes a window manager, a file manager, desktop and panel.
+
[http://www.xfce.org Xfce] is a lightweight and modular [[desktop environment]] currently based on both GTK+ 2 and GTK+ 3. To provide a complete user experience, it includes a window manager, a file manager, desktop and panel.
  
 
== Installation ==
 
== Installation ==
  
[[Install]] the {{Grp|xfce4}} group which is available in the [[official repositories]]. You may also wish to install the {{Grp|xfce4-goodies}} group which includes extra plugins and a number of useful utilities such as the {{Pkg|mousepad}} editor. Xfce uses the [[Xfwm]] window manager by default.
+
[[Install]] the {{Grp|xfce4}} group. You may also wish to install the {{Grp|xfce4-goodies}} group which includes extra plugins and a number of useful utilities such as the {{Pkg|mousepad}} editor. Xfce uses the [[Xfwm]] window manager by default.
  
== Starting Xfce ==
+
== Starting ==
  
=== Graphical login ===
+
Choose ''Xfce Session'' from the menu in a [[display manager]] of choice, or add {{ic|exec startxfce4}} to [[Xinitrc]].
  
Choose ''Xfce Session'' from the menu in a [[display manager]] of choice.
+
{{Note|Do not call the {{ic|xfce4-session}} executable directly; {{ic|startxfce4}} is the correct command which, in turn, calls the former when appropriate.}}
 
 
=== Virtual console ===
 
 
 
Add {{ic|exec startxfce4}} to [[Xinitrc]].
 
 
 
{{Note|Do not use the {{ic|xfce4-session}} script; {{ic|startxfce4}} is indeed the proper command which in turn does call the former when appropriate.}}
 
  
 
== Configuration ==
 
== Configuration ==
 
{{Poor writing|Content duplication, hugely complex, poor style}}
 
  
 
Xfce stores configuration options in [http://docs.xfce.org/xfce/xfconf/start Xfconf]. There are several ways to modify these options:
 
Xfce stores configuration options in [http://docs.xfce.org/xfce/xfconf/start Xfconf]. There are several ways to modify these options:
Line 49: Line 41:
  
 
=== Menu ===
 
=== Menu ===
 +
 +
See [[Xdg-menu]] for more info on using the Free Desktop menu system.
  
 
==== Whisker menu ====
 
==== Whisker menu ====
  
{{Pkg|xfce4-whiskermenu-plugin}} from the [[official repositories]] is an alternate application launcher. It shows a list of favorites and browses through all installed applications through category buttons.
+
{{Pkg|xfce4-whiskermenu-plugin}} (also part of {{Grp|xfce4-goodies}}) is an alternative application launcher. It shows a list of favorites, browses through all installed applications through category buttons, and supports fuzzy searching. After package being installed, it can replace ''Applications Menu'' as first item in Panel 1 (in ''Settings > Panel > Items'' add ''Whisker Menu'').
  
 
==== Edit entries ====
 
==== Edit entries ====
  
{{Merge|Desktop entries}}
+
A number of graphical tools are available for this task:
 
 
To hide a menu item, add {{ic|1=NoDisplay=true}} in the respective [[Desktop entries]]. You can copy an entry in {{ic|/usr/share/applications}} to {{ic|.local/share/applications}} for user-specific changes, and to prevent application updates from overwriting changes.
 
  
You can also edit the application's category by editing {{ic|.desktop}} files and modifying the {{ic|1=Categories=}} line.
+
* {{App|MenuLibre|An advanced menu editor that provides modern features in a clean, easy-to-use interface.|https://launchpad.net/menulibre|{{AUR|menulibre}}}}.
 +
* {{App|Alacarte|Menu editor for GNOME|http://www.gnome.org/|{{Pkg|alacarte}}}}
 +
* {{App|XAME (XFCE Applications Menu Editor)|GUI tool written in Gambas designed specifically for editing menu entries in Xfce, it will not work in other environments. (Discontinued)|http://redsquirrel87.altervista.org/doku.php/xfce-applications-menu-editor|{{AUR|xame}}}}
  
Alternatively, create the file {{ic|~/.config/menus/xfce-applications.menu}} and add the following:
+
Alternatively, create the file {{ic|~/.config/menus/xfce-applications.menu}} manually. See the example configuration below:
  
 
  <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
 
  <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
 
   "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
 
   "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
 
+
 
  <Menu>
 
  <Menu>
 
     <Name>Xfce</Name>
 
     <Name>Xfce</Name>
 
     <MergeFile type="parent">/etc/xdg/menus/xfce-applications.menu</MergeFile>
 
     <MergeFile type="parent">/etc/xdg/menus/xfce-applications.menu</MergeFile>
 
+
 
     <Exclude>
 
     <Exclude>
 
         <Filename>xfce4-run.desktop</Filename>
 
         <Filename>xfce4-run.desktop</Filename>
Line 80: Line 74:
 
         <Filename>xfhelp4.desktop</Filename>
 
         <Filename>xfhelp4.desktop</Filename>
 
     </Exclude>
 
     </Exclude>
 
+
 
     <Layout>
 
     <Layout>
 
         <Merge type="all"/>
 
         <Merge type="all"/>
Line 96: Line 90:
 
The {{ic|<Layout>}} tag defines the layout of the menu. The applications can be organized in folders or however we wish. For more details see the [http://wiki.xfce.org/howto/customize-menu  Xfce wiki].
 
The {{ic|<Layout>}} tag defines the layout of the menu. The applications can be organized in folders or however we wish. For more details see the [http://wiki.xfce.org/howto/customize-menu  Xfce wiki].
  
Separate tools are also available for this task:
+
You can also make changes to the Xfce menu by editing the {{ic|.desktop}} files themselves. To hide entries, see [[Desktop entries#Hide desktop entries]]. You can edit the application's category by modifying the {{ic|1=Categories=}} line of the desktop entry, see [[Desktop entries#File example]].
 
 
* {{App|XAME|GUI tool written in Gambas designed specifically for editing menu entires in Xfce, it will not work in other environments.|http://www.redsquirrel87.com/XAME.html|{{AUR|xame}}}}
 
* {{App|menulibre|An advanced menu editor that provides modern features in a clean, easy-to-use interface.|https://launchpad.net/menulibre|{{AUR|menulibre}}}}.
 
* {{App|alacarte|Menu editor for GNOME|http://www.gnome.org/|{{Pkg|alacarte}}}}
 
 
 
{{Note|Desktop entries which contain {{ic|<nowiki>OnlyShowIn=Xfce;</nowiki>}} will not appear in ''alacarte''. Similarly, entries with  {{ic|<nowiki>OnlyShowIn=GNOME;</nowiki>}} will not show in the Xfce menu. {{AUR|alacarte-xfce}} and {{AUR|alacarte-lxde}} from the [[AUR]] address this issue; latter should work in and outside [[LXDE]].}}
 
  
 
=== Desktop ===
 
=== Desktop ===
Line 123: Line 111:
 
</nowiki>}}
 
</nowiki>}}
  
==== Hide selected partitions ====
+
==== Remove desktop icons ====
  
{{Merge|udev}}
+
Issue the following command:
  
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}}:
+
$ xfconf-query -c xfce4-desktop -v --create -p /desktop-icons/style -t int -s 0
  
KERNEL=="sda1", ENV{UDISKS_PRESENTATION_HIDE}="1"
+
To reinstate icons on the desktop, issue the same command with a value of 2.
KERNEL=="sda2", ENV{UDISKS_PRESENTATION_HIDE}="1"
 
  
shows all partitions with the exception of {{ic|sda1}} and {{ic|sda2}} on your desktop. Notice if you are using {{Pkg|udisks2}} the above will not work as {{ic|UDISKS_PRESENTATION_HIDE}} is no longer supported. Instead use {{ic|UDISKS_IGNORE}} as follows:
+
==== One wallpaper across multihead ====
  
KERNEL=="sda1", ENV{UDISKS_IGNORE}="1"
+
Open {{ic|xfce4-settings-editor}} and create a new property with the following settings:
  KERNEL=="sda2", ENV{UDISKS_IGNORE}="1"
 
  
==== Remove Thunar options from right-click menu ====
+
Property: /backdrop/screen0/xinerama-stretch
 +
Type: Boolean
 +
Value: TRUE|1|Enabled
  
Issue the following command:
+
==== Kill window shortcut ====
  
$ xfconf-query -c xfce4-desktop -v --create -p /desktop-icons/style -t int -s 0
+
Xfce does not have a shortcut to kill a window, for example when a program freezes.
 
 
==== Kill window shortcut ====
 
  
{{Accuracy|No explanation what the string does over a simple {{ic|xkill}} command}}
+
With {{Pkg|xorg-xkill}}, use {{ic|xkill}} to interactively kill a window. For the currently active window, use {{Pkg|xdotool}}:
  
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.
+
$ xdotool getwindowfocus windowkill
  
Create a script in {{ic|~/.config/xfce4/killwindow.sh}} with this content and make it executable (you can use {{ic|chmod 755 killwindow.sh}}).
+
Alternatively:
  
  xkill -id "`xprop -root -notype | sed -n '/^_NET_ACTIVE_WINDOW/ s/^.*# *\|\,.*$//g p'`"
+
  $ sh -c "xkill -id $(xprop -root -notype | sed -n '/^_NET_ACTIVE_WINDOW/ s/^.*# *\|\,.*$//g p')"
  
Now associate a shortcut using ''Settings > Keyboard'' to that script.
+
To add the shortcut, use ''Settings > Keyboard'' or an application like {{pkg|xbindkeys}}.
  
 
=== Session ===
 
=== Session ===
  
==== Startup applications ====
+
==== Autostart ====
  
 
To launch custom applications when Xfce starts up, click the ''Applications Menu > Settings > Settings Manager'' and then choose the ''Session and Startup'' option and click the tab ''Application Autostart''.
 
To launch custom applications when Xfce starts up, click the ''Applications Menu > Settings > Settings Manager'' and then choose the ''Session and Startup'' option and click the tab ''Application Autostart''.
 
You will see a list of programs that get launched on startup. To add an entry, click the ''Add'' button and fill out the form, specifying the path to an executable you want to run.
 
You will see a list of programs that get launched on startup. To add an entry, click the ''Add'' button and fill out the form, specifying the path to an executable you want to run.
  
Alternatively you can use a command line script to launch your applications. This includes getting necessary environment variables into the GUI runtime.
+
Autostart applications are stored as {{ic|''name''.desktop}} in {{ic|~/.config/autostart/}}.
  
* Copy the file {{ic|/etc/xdg/xfce4/xinitrc}} to {{ic|~/.config/xfce4/}}
+
Alternatively, add the commands you wish to run (including setting environment variables) to [[xinitrc]] (or [[xprofile]] when a [[display manager]] is being used).
* Edit this file. For example, you can add something like this somewhere in the middle:
 
  
source $HOME/.bashrc
+
{{Tip|Sometimes it might be useful to '''delay the startup of an application'''. Note that specifying under ''Application > Autostart'' a command such as {{ic|sleep 3 && ''command''}} does not work; a workaround is to use the syntax {{ic|sh -c "sleep 3 && ''command''"}}
  # start rxvt-unicode server
+
}}
urxvtd -q -o -f
 
  
 
==== Lock the screen ====
 
==== Lock the screen ====
 +
''xflock4'' is the reference Bash script which is used to lock an Xfce session . It tries consecutively four screen lockers or exits with return code 1 if it fails to find any. Therefore, for ''xflock4'' to succeed, either {{Pkg|xscreensaver}}, {{Pkg|gnome-screensaver}}, {{Pkg|slock}} or {{Pkg|xlockmore}} needs to be installed.
  
To lock an Xfce4 session (through {{ic|xflock4}}) one of {{Pkg|xscreensaver}}, {{Pkg|gnome-screensaver}}, {{Pkg|slock}} or {{Pkg|xlockmore}} packages needs to be installed. [[XScreenSaver]] is the recommended option.
+
The [[List of applications/Security#Screen lockers]] contains a short description of these four screen lockers together with other popular applications.  
  
You may also make a local copy of ''xflock4'', for example {{ic|/usr/local/bin/xflock4}}.  
+
In particular, an alternative locker {{Pkg|light-locker}} integrates well with {{Pkg|xfce4-power-manager}}: once installed, Xfce Power Manager's setting gains an additional ''Security'' tab to configure ''light-locker'' and the existing ''Lock screen when system is going for sleep'' setting is relocated under this tab. It is then possible to set in this GUI whether the session should be locked upon screensaver activity or whenever the system goes to sleep.
  
To change the screensaver, or change it for applications such as the Whisker Menu (''Properties > Behavior > Lock Screen''). See [[List_of_applications/Security#Screen_lockers]] for a comprehensive list of other options.
+
To have ''xflock4'' run ''light-locker'' or any custom session locker, not among the four cited above, one must set {{ic|LockCommand}} in the session's xfconf channel to the command line to be used (the command inside the quotes in the following example can be adapted accordingly for other screen lockers):
  
==== User switching ====
+
{{bc|$ xfconf-query -c xfce4-session -p /general/LockCommand -s "''light-locker-command --lock''" --create -t string}}
  
Xfce4 has support for user switching when used with a [[Display manager]] that has this functionality - examples being [[LightDM]] and [[GDM]]. Please consult your display manager's wiki page for more information. When you have a display manager installed and configured correctly you can switch users from the 'action buttons' menu item in the panel.
+
The panel lock button in the ''Action Buttons'' panel simply executes {{ic|/usr/bin/xflock4}}. It should work as expected as long as ''xflock4'' is functioning i.e. one of the native lockers is installed or a custom locker is configured to integrate with it as proposed above.
  
==== Disable sessions ====
+
==== Suspend ====
 +
Whenever asked to suspend, Xfce executes the {{man|1|xfce4-session-logout}} command with the {{ic|suspend}} option:
  
Xfce kiosk mode can be used to totally disable the saving of sessions. To disable sessions, create or edit the file {{ic|/etc/xdg/xfce4/kiosk/kioskrc}} and add the following:
+
$ xfce4-session-logout --suspend
  
[xfce4-session]
+
Whether or not the session is systematically locked on ''suspend'' can be configured through the xfconf properties or from the GUI.
SaveSession=NONE
 
  
If kiosk mode isn't working, user can set r/o permissions for sessions directory:
+
To control this state using the CLI: there are two settings that are used, {{ic|LockScreen}} and {{ic|lock-screen-suspend-hibernate}}, in respectively the session and the power manager xfconf channels.
 +
To prevent locking on suspend, turn them to {{ic|false}}:
 +
$ xfconf-query -c xfce4-session -p /shutdown/LockScreen -s '''false'''
 +
$ xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/lock-screen-suspend-hibernate -s '''false'''
 +
Similarly, turn them to {{ic|true}} to lock the session on suspend.
  
$ rm ~/.cache/sessions/* && chmod 500 ~/.cache/sessions
+
The setting can also be controlled from the GUI: open the ''Session and Startup'' application and turn the flag ''Advanced > Lock screen before sleep'' on or off.
  
This will prevent Xfce from saving any sessions despite settings and/or configs.
+
Whenever the suspend keyboard button is pressed, it can be handled by either Xfce's power manager or by ''systemd-logind''. To give precedence to logind, the following xfconf setting must be set to {{ic|true}}:
  
==== Default window manager ====
+
$ xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-suspend-key -n -t bool -s '''true'''
  
{{Note|For the changes to take effect, you will need to clear the saved sessions and ensure that session saving is disabled when logging out for the first time. Once the window manager of choice is running, session saving can be enabled again.}}
+
{{Note|To check how ''systemd-logind'' handles events whenever it has precedence over Xfce, check {{man|5|logind.conf}}}}
  
The global setting for window manager is contained within {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}. The per-user configuration can be generated by executing:
+
==== Disable saved sessions ====
  
  $ cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
+
Per user, saved sessions can be disabled by executing the following:
 +
  $ xfconf-query -c xfce4-session -p /general/SaveOnExit -s false
 +
Then navigate to ''Applications > Settings > Session and Startup > Sessions'' and press the ''Clear saved sessions'' button to remove all previously saved sessions.
  
Within these files the window manager is specified on the line just below that containing "Client0_Command". The line should be changed from {{bc|<nowiki><value type="string" value="xfwm4"/></nowiki>}} to {{bc|<nowiki><value type="string" value="window_manager_executable"/></nowiki>}}
+
{{Tip|If the command above does not change the setting persistently, use the following command instead: {{ic|xfconf-query -c xfce4-session -p /general/SaveOnExit -n -t bool -s false}}}}
  
Alternatively, run the command {{ic|window_manager --replace}} replacing ''window_manager'' with the name of the window manager in question - for example, {{ic|metacity}}.
+
Alternatively, Xfce [https://wiki.xfce.org/howto/kiosk_mode kiosk mode] can be used to disable the saving of sessions systemwide. To disable sessions, create or edit the file {{ic|/etc/xdg/xfce4/kiosk/kioskrc}} and add the following:
  
If saved sessions are enabled then logging out whilst the alternative window manager is running will mean that the alternative window manager will be started automatically next time you log in.
+
[xfce4-session]
 +
SaveSession=NONE
 +
 
 +
If kiosk mode is not working, the user can set read only permissions for the sessions directory:
  
{{Note|If you are using the autostart list to start the alternative window manager, it is advisable to disable saved sessions. If saved sessions are not disabled, the window manager may be started twice at login.}}
+
$ rm ~/.cache/sessions/* && chmod 500 ~/.cache/sessions
  
If you do not wish to use saved sessions, you can add the alternative window manager to the autostart list in Xfce instead. To do this, from the main menu navigate to ''Settings Manager > Session and Startup > Application Autostart'' and click ''Add''. Enter the correct command for your window manager in the ''Command'' field and enter a name and description. Click ''Ok'' and then log and in again for the changes to take effect.
+
This will prevent Xfce from saving any sessions despite any configuration that specifies otherwise.
  
=== Themes ===
+
==== Use a different window manager ====
  
XFCE themes are available at [http://www.xfce-look.org]. ''Xfwm'' themes are stored in {{ic|/usr/share/themes/xfce4}}, and set in ''Settings > Window Manager''. [[GTK+]] themes are set in ''Settings > Appearance''.
+
{{Note|For the changes to take effect, you will need to clear the saved sessions and ensure that session saving is disabled when logging out for the first time. Once the window manager of choice is running, session saving can be enabled again.}}
  
==== Consistency ====
+
The files specifying the default window manager are found in the following locations:
 +
*{{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}} - per user
 +
*{{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}} - systemwide
  
To achieve a uniform look for all applications it is advisable to use an up to date GTK+ 3 theme like the ''Adwaita'' theme as GTK+ 3 themes have inbuilt support for GTK+ 2 applications.
+
The default window manager for the user can be set easily using ''xfconf-query'':
 +
$ xfconf-query -c xfce4-session -p /sessions/Failsafe/Client0_Command -t string -sa ''wm_name''
  
For details see [[GTK+#GTK+ 3.x]] for GTK+ 3 and [[Uniform Look for Qt and GTK Applications]] for Qt.
+
If you want to start the window manager with command line options, see the command below:
 +
$ xfconf-query -c xfce4-session -p /sessions/Failsafe/Client0_Command -t string -t string -s ''wm_name'' -s ''--wm-option''
 +
If you need more command line options, simply add more {{ic|-t string}} and {{ic|-s ''--wm-option''}} arguments to the command.
  
==== Cursors ====
+
If you want to change the default window manager systemwide, edit the file specified above manually, changing ''xfwm4'' to the preferred window manager and adding more {{ic|1=<value type="string" value="''--wm-option''"/>}} lines for extra command line options if needed.
  
See [[Cursor themes]]. Xfce sets themes in ''Settings > Mouse''.
+
You can also change the window manager by autostarting {{ic|''wm_name'' --replace}} using the autostart facility or by running {{ic|''wm_name'' --replace &}} in a terminal and making sure the session is saved on logout. Be aware though that this method does not truly change the default manager, it merely replaces it at login. Note that if you are using the autostart facility, you should disable saved sessions as this could lead to the new window manager being started twice after the default window manager.
  
==== Icons ====
+
=== Theming ===
  
See [[Icons]].
+
XFCE themes are available at [http://www.xfce-look.org xfce-look.org]. ''Xfwm'' themes are stored in {{ic|/usr/share/themes/xfce4}}, and set in ''Settings > Window Manager''. [[GTK+]] themes are set in ''Settings > Appearance''.
  
==== Fonts ====
+
To achieve a uniform look for all applications, see [[Uniform look for Qt and GTK applications]].
  
See [[Font configuration]]. Xfce sets fonts in ''Settings > Appearance''.
+
See also [[Cursor themes]], [[Icons]], and [[Font configuration]].
  
 
=== Sound ===
 
=== Sound ===
  
==== Configuring xfce4-mixer ====
+
==== Sound themes ====
 
 
{{Pkg|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 {{Pkg|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.
+
XFCE4 supports [https://www.freedesktop.org/wiki/Specifications/sound-theme-spec/ freedesktop system sounds], but it is not configured out of the box.
  
Which plugins are needed depends on the hardware. Most people should be fine with {{Pkg|gstreamer0.10-base-plugins}} which can be [[pacman|installed]] from  [[Official repositories]].
+
To enable a sound theme:
  
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 [[pacman|install]] package  {{pkg|gstreamer0.10-good-plugins}} or {{pkg|gstreamer0.10-bad-plugins}}.
+
# Install {{Pkg|libcanberra}} and {{Pkg|libcanberra-pulse}} for [[PulseAudio]] support;
 +
# "canberra-gtk-module" should be in the GTK_MODULES environment variable (re-login may be required);
 +
# Check "Enable event sounds" in Settings Manager → Appearance → Settings tab;
 +
# In the Settings Editor set "xsettings/Net/SoundThemeName" to a sound theme located in {{Ic|/usr/share/sounds/}};
 +
# Turn on "System Sounds" in audio mixer (e.g. pavucontrol).
  
If you had to change the soundcard in the audio mixer, then you should log out and back in to hear sound.
+
{{Pkg|sound-theme-freedesktop}} provides a compatible sound theme, but it lacks many required events. A better choice is {{AUR|sound-theme-smooth}} (SoundThemeName should be "Smooth").
  
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}}.
+
==== Keyboard volume buttons ====
  
==== Xfce4-mixer and OSS4 ====
+
{{Pkg|xfce4-pulseaudio-plugin}} provides a panel applet which has support for keyboard volume control and volume notifications. As an alternative, you can install {{AUR|xfce4-volumed-pulse}}, which also provides keybinding and notification control, but without an icon sitting in the panel. This is handy, for example, when using {{Pkg|pasystray}} at the same time for a finer control.
  
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 {{pkg|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.
+
Alternatively, {{AUR|xfce4-mixer}} also provides a panel applet and keyboard shortcuts which supports Alsa as well. Note however, that it is based on a feature of GStreamer 0.10 which has been abandoned in 1.0.
  
  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+
For non desktop environment specific alternatives, see [[List of applications/Multimedia#Volume control]].
    '''--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.
+
===== Shortcuts =====
  
  makepkg -i
+
If you are not using an applet or daemon that controls the volume keys, you can map volume control commands to your volume keys manually using Xfce's keyboard settings. For the sound system you are using, see the sections linked to below for the appropriate commands.
 
+
*ALSA: see [[Advanced Linux Sound Architecture#Keyboard volume control]].
Other LINKS: [http://www.4front-tech.com/forum/ OSS forum]
+
*PulseAudio: see [[PulseAudio#Keyboard volume control]]
 
+
*OSS: see [[OSS#Using multimedia keys with OSS]].
==== Xfce4-mixer and pulseaudio ====
 
 
 
Open {{ic|xfce4-settings-editor}}, navigate to ''xfce4-mixer''. You might want to change the value of ''active-card''. check below ''sound-cards'' and you might find a few lines under it and one of them should be similar to '''PlaybackInternalAudioAnalogStereoPulseAudioMixer'''. It is pulseaudio recognized by xfce4. So all you need to do is make it default. Copy it and replace values of ''active-card'' and ''sound-card''. Reboot or xfce4-mixer restart might be required.
 
 
 
==== Keyboard Volume Buttons ====
 
 
 
Go to ''Settings > Keyboard'', then 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 {{ic|amixer set Master toggle}} does not work, try the PCM channel ({{ic|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 {{ic|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.
 
 
 
===== PulseAudio =====
 
 
 
For the raise volume button:
 
sh -c "pactl set-sink-mute 0 false ; pactl set-sink-volume 0 +5%"
 
For the lower volume button:
 
sh -c "pactl set-sink-mute 0 false ; pactl -- set-sink-volume 0 -5%"
 
For the mute button:
 
pactl set-sink-mute 0 toggle
 
 
 
These settings assume the device you want to control has index 0.
 
Use {{ic|pactl list sinks short}} to list sinks.
 
 
 
===== OSS =====
 
 
 
See [[OSS#Using_multimedia_keys_with_OSS]].
 
 
 
===== Xfce4-volumed =====
 
 
 
{{Merge|Xfce#Xfce4-mixer_and_pulseaudio|Bloat}}
 
 
 
{{AUR|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.
 
 
 
If you use pulseaudio and xfce4-volumed unmute does not work then change the keyboard commands to the pactl commands for pulseaudio as shown above in the pulseaudio section.
 
 
 
{{Tip|Users of PulseAudio can also install the fork from Xubuntu using the package {{AUR|xfce4-volumed-pulse}}.}}
 
 
 
Also you might want to change your default sound card on xfce4 to pulse audio - [[Xfce#Xfce4-mixer_and_pulseaudio]].
 
 
 
===== Volumeicon =====
 
 
 
{{pkg|volumeicon}} is an alternative to xfce4-volumed in the community repo also handling keybindings and notifications through {{pkg|xfce4-notifyd}}.
 
 
 
{{Note|Volumeicon can only handle ALSA keybindings. If you are using Pulseaudio and Volumeicon is handling the media keys you may notice issues such as not being able to unmute the volume using the multimedia keys.}}
 
 
 
===== Extra keyboard keys =====
 
 
 
If you are coming from another distro, you may be interested in enabling extra keys on your keyboard, see [[Extra keyboard keys]].
 
 
 
==== 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.
 
  
 
=== Keyboard Shortcuts ===
 
=== Keyboard Shortcuts ===
  
 
Keyboard shortcuts are defined in two places: ''Settings > Window Manager > Keyboard'', and ''Settings > Keyboard > Shortcuts''.
 
Keyboard shortcuts are defined in two places: ''Settings > Window Manager > Keyboard'', and ''Settings > Keyboard > Shortcuts''.
 
==== Complex Shortcuts ====
 
 
Xfce4 from the official repositories is not able to set certain shortcuts, such as {{ic|Super+Shift+j}}, even if you modify the {{ic|keyboard.xml}} file manually. In order to set such a shortcut, you will need to either use another application such as [[xbindkeys]], or install {{AUR|libxfce4ui-devel}} from the AUR.
 
  
 
=== Polkit Authentication Agent ===
 
=== Polkit Authentication Agent ===
  
XFCE does not include a [[Polkit]] authentication agent. See [[Polkit#Authentication agents]].
+
The {{Pkg|polkit-gnome}} agent will be installed along with {{Pkg|xfce4-session}} and autostarted automatically; no user intervention is required. For more information, see [[Polkit#Authentication agents]].
  
== Tips & Tricks ==
+
A third party polkit authentication agent for Xfce is also available, see {{AUR|xfce-polkit}} or {{AUR|xfce-polkit-git}}.
  
=== xdg-open integration (Preferred Applications) ===
+
=== Display blanking ===
 +
Some programs that are commonly used with Xfce will control monitor blanking and [[DPMS]] (monitor powersaving) settings. They are discussed below.
  
Most applications rely on [[xdg-open]] for opening a preferred application for a given file or URL.
+
;Xfce Power Manager
 +
''Xfce Power Manager'' controls blanking and DPMS settings. These settings can be configured in the ''Power Manager'' GUI within the ''Display'' tab.
  
In order for xdg-open and xdg-settings to detect and integrate with the XFCE desktop environment correctly, you need to [[pacman|install]] the {{Pkg|xorg-xprop}} package.
+
Note that when ''Display power management'' is turned off, DPMS is fully disabled, it does not mean that ''Power Manager'' will simply stop controlling DPMS. It does not disable screen blanking either. To disable both blanking and DPMS, right click on the power manager system tray icon or left click on the panel applet and make sure that the option labelled ''Presentation mode'' is ticked.
  
If you do not do that, your preferred applications preferences (set by exo-preferred-applications) will not be obeyed.
+
;XScreenSaver
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.
+
If {{pkg|xscreensaver}} is installed and runs alongside Xfce Power Manager, it may not be clear which application is in control of blanking and DPMS as both are competing for control of the same settings. Therefore, in a situation where it is important that the monitor not be blanked (when watching a video for instance), it is advisable to disable blanking and DPMS through both applications. To know more about ''XScreenSaver'' options, see [[XScreenSaver#DPMS and blanking settings]].
  
To make sure xdg-open integration is working correctly, ask ''xdg-settings'' for the default web browser and see what the result is:
+
;xset
 +
If neither of the above applications are running, then blanking and DPMS settings can be controlled using the ''xset'' command, see [[DPMS#Modify DPMS and screensaver settings with a command]].
  
# xdg-settings get default-web-browser
+
{{Note|1=There are some issues associated with blanking and resuming from blanking in some configurations. See [https://bbs.archlinux.org/viewtopic.php?id=194313&p=2][https://bugzilla.xfce.org/show_bug.cgi?id=11107].}}
  
If it replies with:
+
== Tips and tricks ==
  
xdg-settings: unknown desktop environment
+
=== Hide partitions from thunar and xfdesktop ===
  
it means that it has failed to detect XFCE as your desktop environment, which is likely due to a missing {{Pkg|xorg-xprop}} package.
+
If your installation partitions are shown as mounted devices on the desktop and in Thunar, try to install {{Pkg|gvfs}}. See [[Udisks#Hide selected partitions]] for more advanced configuration options.
  
 
=== Screenshots ===
 
=== Screenshots ===
  
XFCE has its own screenshot tool, {{pkg|xfce4-screenshooter}}. It is part of the {{grp|xfce4-goodies}} group.
+
Xfce has its own screenshot tool, {{pkg|xfce4-screenshooter}}. It is part of the {{grp|xfce4-goodies}} group.
  
==== Print Screen key ====
+
Go to ''Applications > Settings > Keyboard'', ''Application Shortcuts''. Add the {{ic|xfce4-screenshooter -f}} (or {{ic|-w}} for the active window) command to use the {{ic|Print}} key in order to take fullscreen screenshots. See screenshooter's man page for other optional arguments.
 
 
Go to ''XFCE Menu > Settings > Keyboard'', ''Application Shortcuts''. Add the {{ic|xfce4-screenshooter -f}} command to use the {{ic|PrintScreen}} key in order to take fullscreen screenshots. See screenshooter's man page for other optional arguments.
 
  
 
Alternatively, an independent screenshot program like [[Taking a screenshot#scrot|scrot]] can be used.
 
Alternatively, an independent screenshot program like [[Taking a screenshot#scrot|scrot]] can be used.
  
=== Disable Terminal F1 and F11 shortcut ===
+
=== Disable Terminal F1 and F11 shortcuts ===
  
 
The xfce terminal binds F1 and F11 to help and fullscreen, respectively, which can make using programs like htop difficult. To disable those shortcuts, create or edit its configuration file, then log out and log back in. F10 can disabled in the Preferences menu.
 
The xfce terminal binds F1 and F11 to help and fullscreen, respectively, which can make using programs like htop difficult. To disable those shortcuts, create or edit its configuration file, then log out and log back in. F10 can disabled in the Preferences menu.
Line 394: Line 315:
 
}}
 
}}
  
=== Terminal color themes or pallets ===
+
=== Terminal color themes or palettes ===
  
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|~/.config/xfce4/terminal/terminalrc}} file. There are also so many other themes to choose from. Check forum thread [https://bbs.archlinux.org/viewtopic.php?id=51818 Terminal Colour Scheme Screenshots] for hundreds of available choices and themes.
+
Terminal color themes or palettes 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|~/.config/xfce4/terminal/terminalrc}} file. There are also so many other themes to choose from. Check forum thread [https://bbs.archlinux.org/viewtopic.php?id=51818 Terminal Colour Scheme Screenshots] for hundreds of available choices and themes.
  
 
==== Changing default color theme ====
 
==== Changing default color theme ====
  
XFCE's {{ic|extra/terminal}} package comes with a darker color palette. To change this, append the following in your terminalrc file for a lighter color theme, that is always visible in darker Terminal backgrounds.
+
Xfce's {{ic|extra/terminal}} package comes with a darker colour palette. To change this, append the following in your terminalrc file for a lighter color theme, that is always visible in darker Terminal backgrounds.
  
~/.config/xfce4/terminal/terminalrc
+
{{hc|~/.config/xfce4/terminal/terminalrc|2=
 
+
ColorPalette5=#38d0fcaaf3a9
ColorPalette5=#38d0fcaaf3a9
+
ColorPalette4=#e013a0a1612f
ColorPalette4=#e013a0a1612f
+
ColorPalette2=#d456a81b7b42
ColorPalette2=#d456a81b7b42
+
ColorPalette6=#ffff7062ffff
ColorPalette6=#ffff7062ffff
+
ColorPalette3=#7ffff7bd7fff
ColorPalette3=#7ffff7bd7fff
+
ColorPalette13=#82108210ffff}}
ColorPalette13=#82108210ffff
 
  
 
==== Terminal tango color theme ====
 
==== Terminal tango color theme ====
Line 437: Line 357:
 
  ColorPalette15=#3434e2e2e2e2
 
  ColorPalette15=#3434e2e2e2e2
 
  ColorPalette16=#eeeeeeeeecec
 
  ColorPalette16=#eeeeeeeeecec
 +
 +
=== Open URLs by middle mouse in terminal ===
 +
On update to version 0.8 open URL with middle mouse turned off by default and just paste clip to cursor.
 +
To enable old behavior fix next option in {{ic|${XDG_CONFIG_HOME}/xfce4/terminal/terminalrc}} ({{ic|<nowiki>XDG_CONFIG_HOME=${HOME}/.config</nowiki>}} by default)
 +
{{hc|${XDG_CONFIG_HOME}/xfce4/terminal/terminalrc|<nowiki>[Configuration]
 +
MiscMiddleClickOpensUri=TRUE</nowiki>}}
  
 
=== Colour management ===
 
=== Colour management ===
  
{{Merge|Color management}}
+
Xfce has no native support for colour management. [https://bugzilla.xfce.org/show_bug.cgi?id=8559] See [[ICC profiles]] for alternatives.
  
xfce4-settings-manager does not yet have any colour management / calibration settings, nor is there any specific XFCE program to characterise your monitor.
+
=== Multiple monitors ===
  
There is a very good [https://encrypted.pcode.nl/blog/2013/11/24/display-color-profiling-on-linux/ article on how to do colour profiling with dispwin etc. under XFCE], below are the basics:
+
Xfce has support for multiple monitors. Settings can be configured in the ''Applications > Settings > Display'' dialog. For more information, see the [http://docs.xfce.org/xfce/xfce4-settings/display display] article from the Xfce documentation.
  
==== Loading a profile ====
+
XFCE's display configuration is not persistent so you may find yourself needing to use the display tool a lot, especially if you use multiple displays. One workaround for this is to use {{pkg|arandr}} to easily configure your display configurations in the form of xrandr commands which you can assign to be executed as XFCE keyboard shortcuts.
  
If you wish to '''load an icc profile''' (that you have previously created or downloaded) to calibrate your display on startup, you can download {{AUR|xcalib}} 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 {{ic|/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.
+
=== SSH agents ===
  
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.).
+
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:
  
See [[ICC Profiles#Loading ICC Profiles]] for more information.
+
xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false
  
==== Creating a profile ====
+
To force using ssh-agent even if gpg-agent is installed, run the following instead:
  
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 {{Pkg|dispcalgui}} from [[AUR]].
+
xfconf-query -c xfce4-session -p /startup/ssh-agent/type -n -t string -s ssh-agent
  
Another option is to install {{pkg|gnome-settings-daemon}} and {{pkg|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"}}.
+
To use [[GNOME Keyring]], simply tick the checkbox ''Launch GNOME services on startup'' in the ''Advanced'' tab of ''Session and Startup'' in Xfce's settings. This will also disable gpg-agent and ssh-agent.
  
{{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 . A lightweight daemon, [https://github.com/agalakhov/xiccd xiccd], may (and probably should) be used instead.}}
+
Source: http://docs.xfce.org/xfce/xfce4-session/advanced
  
See [[ICC Profiles]] for more information.
+
=== Scroll a background window without shifting focus on it ===
  
=== Multiple Monitors ===
+
Go to ''Main Menu > Settings > Window Manager Tweaks > Accessibility'' tab.
 +
Uncheck ''Raise windows when any mouse button is pressed''.
  
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.
+
=== Mouse button modifier ===
  
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.
+
By default, the mouse button modifier in Xfce is set to {{ic|Alt}}. This can be changed with ''xfconf-query''. For instance, the following command will set the {{ic|Super}} key as the mouse button modifier:
  
* 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)''.
+
$ xfconf-query -c xfwm4 -p /general/easy_click -n -t string -s "Super"
* 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
+
Strictly speaking, using multiple modifiers is not supported. However, as a workaround, multiple modifiers can be specified if the key names are separated with {{ic|><}}. For instance, to set {{ic|Ctrl+Alt}} as the mouse button modifier, you can use the following command:
  
* Alternatively, the ''displays.xml'' can be edited using your favourite editor.
+
$ xfconf-query -c xfwm4 -p /general/easy_click -n -t string -s "Ctrl><Alt"
  
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.
+
=== Set the two fingers click to middle click for a touchpad ===
  
To extend the display area correctly across both monitors:
+
{{Style|Convoluted way of simply configuring [[Touchpad Synaptics]]}}
  
* for side-by-side monitors, set the '''X''' property of the rightmost monitor to equal the width of the left-most monitor
+
If you want the 2 finger click on the touchpad to do a middle click, create or edit the following file:
* 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:
+
{{hc|~/.config/xfce4/xfconf/xfce-perchannel-xml/pointers.xml|<nowiki>
 
+
<channel name="pointers" version="1.0">
<channel name="displays" version="1.0">
+
   <property name="SynPS2_Synaptics_TouchPad" type="empty">
   <property name="Default" type="empty">
+
     <property name="Properties" type="empty">
     <property name="VGA-1" type="string" value="Idek Iiyama 23&quot;">
+
       <property name="Synaptics_Tap_Action" type="array">
       <property name="Active" type="bool" value="true"/>
+
        <value type="int" value="0"/>
      <property name="Resolution" type="string" value="1920x1080"/>
+
        <value type="int" value="0"/>
      <property name="RefreshRate" type="double" value="60.000000"/>
+
         <value type="int" value="0"/>
      <property name="Rotation" type="int" value="90"/>
+
        <value type="int" value="0"/>
      <property name="Reflection" type="string" value="0"/>
+
        <value type="int" value="1"/>
      <property name="Primary" type="bool" value="false"/>
+
        <value type="int" value="2"/>
      <property name="Position" type="empty">
+
         <value type="int" value="3"/>
        <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>
 
     </property>
 
   </property>
 
   </property>
</channel>
+
</channel>
 
+
</nowiki>}}
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:
+
The 2 in the array is the middle click.
  
xfconf-query -c xfce4-session -p /startup/ssh-agent/type -n -t string -s ssh-agent
+
=== Limit the minimum brightness of the brightness-slider ===
 +
Limiting the minimum brightness can be useful for displays which turn off backlight on a brightness level of 0. In {{ic|xfce4-power-manager 1.3.2}} a new hidden option had been introduced to set a minimum brightness value with a xfconf4-property. Add {{ic|brightness-slider-min-level}} as an int property in xfconf4. Adjust the int value to get a suitable minimum brightness level.
  
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.
+
=== Adding profile pictures ===
 +
To add profile pictures for each user to be displayed in the whisker-menu, simply place a 96x96 PNG file in the respective user's home directory with the name {{ic|.face}}. For example the PNG file {{ic|/home/''bob''/.face}} for user ''bob''.
  
Source: http://docs.xfce.org/xfce/xfce4-session/advanced
+
Image editing programs like [[GIMP]] can be used to convert and scale your favourite images down to 96x96.
  
=== Bluetooth functionality ===
+
=== Power manager plugin label ===
  
Users have 3 options for using Bluetooth in Xfce:
+
The xfconf option {{ic|show-panel-label}} of type {{ic|int}} controls the label of the power manager, it can be configured for different label formats: it can be set to 0 (no label), 1 (percentage), 2 (remaining time) or 3 (both).
  
* [[Blueman]].
+
It is also accessible through the power manager plugin GUI in ''Properties > Show label''
 
 
* [[Bluetooth#GNOME Bluetooth|GNOME Bluetooth]].
 
 
 
* You can use command line tools to access Bluetooth functionality. [[Bluetooth#Using Obex for sending and receiving files|Obex]] can be used for sending and receiving files and [[Bluetooth#Bluetoothctl|bluetoothctl]] can be used for device pairings. See the [[Bluetooth]] article for more information.
 
 
 
=== Scroll a background window without shifting focus on it ===
 
 
 
Go to ''Main Menu > Settings > Window Manager Tweaks > Accessibility'' tab
 
Uncheck ''Raise windows when any mouse button is pressed''.
 
  
 
== Troubleshooting ==
 
== Troubleshooting ==
 
=== Action Buttons/Missing Icons ===
 
 
This happens if icons for some actions (Suspend, Hibernate) are missing from the icon theme, or 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}}.
 
 
icontheme=/usr/share/icons/gnome
 
 
Install an icon theme which has the necessary icons already added; see [[Icons]].
 
 
{{Pkg|xfce4-power-manager}} also contains the needed icons. Create symbolic links from the current icon theme into the {{ic|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.
 
  
 
=== Desktop icons rearrange themselves ===
 
=== Desktop icons rearrange themselves ===
Line 589: Line 458:
  
 
=== GTK themes not working with multiple monitors ===
 
=== GTK themes not working with multiple monitors ===
 +
 +
{{Expansion|Which configuration tools? What does ''ceasing to work'' mean? Is it that new themes cannot be selected or that themes display incorrectly? Is there a bug report?}}
  
 
Some configuration tools may corrupt displays.xml, which results in GTK themes under ''Applications Menu > Settings > Appearance'' ceasing to work. To fix the issue, delete {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml}} and reconfigure your screens.
 
Some configuration tools may corrupt displays.xml, which results in GTK themes under ''Applications Menu > Settings > Appearance'' ceasing to work. To fix the issue, delete {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml}} and reconfigure your screens.
  
=== HTML files not opened correctly in Firefox ===
+
=== Icons do not appear in right-click menus ===
 
 
When opening HTML files with blank spaces, and Firefox set as default browser in {{ic|exo-preferred-applications}}, each word is opened as a separate URL.[https://bugzilla.xfce.org/show_bug.cgi?id=10731] Open the file directly with {{ic|firefox.desktop}} (''Firefox'') instead of {{ic|exo-web-browser.desktop}} (''Web Browser''), or in {{ic|/usr/share/xfce4/helpers/firefox.desktop}} change:
 
  
X-XFCE-CommandsWithParameter=%B -remote "openURL(%s)";%B %s;
+
{{Note|Despite the deprecation of GConf, this method does still work.}}
 
 
to (adding quotes to {{ic|%s}})
 
 
 
X-XFCE-CommandsWithParameter=%B -remote "openURL(%s)";%B "%s";
 
 
 
Alternatively, install {{AUR|exo-helpers-patch}} from the [[AUR]].
 
 
 
=== Icons do not appear in right-click menus ===
 
  
 
Users may find that icons do not appear when right-clicking options within some applications, including those made with [[Qt]]. This problem only appears to happen within Xfce. Run these two commands:
 
Users may find that icons do not appear when right-clicking options within some applications, including those made with [[Qt]]. This problem only appears to happen within Xfce. Run these two commands:
Line 611: Line 472:
 
  $ gconftool-2 --type boolean --set /desktop/gnome/interface/menus_have_icons true
 
  $ gconftool-2 --type boolean --set /desktop/gnome/interface/menus_have_icons true
  
=== Keyboard settings are not saved in xkb-plugin ===
+
=== NVIDIA and xfce4-sensors-plugin ===
  
There is a bug in {{Pkg|xfce4-xkb-plugin}} ''0.5.4.1-1'' which causes it to lose keyboard, layout switching and compose key settings. As a workaround, enable ''Use system defaults'' in {{ic|xfce4-keyboard-settings}}, then reconfigure ''xfce4-xkb-plugin''.
+
To detect and use sensors of nvidia gpu you need to install {{Pkg|libxnvctrl}} and then rebuild {{Pkg|xfce4-sensors-plugin}} with [[ABS]]. You also have the option of using {{AUR|xfce4-sensors-plugin-nvidia}} which replaces {{Pkg|xfce4-sensors-plugin}}.
  
=== Locales ignored with GDM ===
+
=== Black screens at boot with NVIDIA and multiple monitors ===
  
Add your [[locale]] to {{ic|/var/lib/AccountsService/users/$USER}}:
+
Using [[NVIDIA]], multiple monitors and [[NVIDIA/Troubleshooting#Avoid screen tearing]] may result as a black screen when booting Xfce. The screens' position conflict into the files {{ic|/etc/X11/xorg.conf}} and {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml}}. Deleting the {{ic|displays.xml}} file fixes the behavior.
 +
$ rm ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
  
[User]
+
=== Panel applets keep being aligned on the left ===
Language=''your_locale''
 
XSession=xfce
 
  
To do so with {{ic|sed}}:
+
Add a separator someplace before the right end and set its "expand" property. [https://forums.linuxmint.com/viewtopic.php?f=110&t=155602}]
  
# sed -i 's/Language=.*/Language=hu_HU'''\'''.UTF-8/' /var/lib/AccountsService/users/$USER
+
=== Preferred Applications preferences have no effect ===
  
Restart GDM to take effect.
+
Most applications rely on [[xdg-open]] for opening a preferred application for a given file or URL.
  
=== Missing menu entries for WINE ===
+
In order for xdg-open and xdg-settings to detect and integrate with the Xfce desktop environment correctly, you need to [[install]] the {{Pkg|xorg-xprop}} package.
  
[[Wine]] applications may not be listed in {{ic|/usr/share/applications}}. See the “Other” category in {{ic|~/.local/share/applications/wine/}}.
+
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.
  
=== Multiple suspend events ===
+
To make sure xdg-open integration is working correctly, ask ''xdg-settings'' for the default web browser and see what the result is:
  
If using {{Pkg|xfce4-power-manager}} to control ACPI events, and not systemd, edit {{ic|/etc/systemd/logind.conf}}:
+
# xdg-settings get default-web-browser
  
{{bc|<nowiki>
+
If it replies with:
HandlePowerKey=ignore
 
HandleSuspendKey=ignore
 
HandleHibernateKey=ignore
 
HandleLidSwitch=ignore</nowiki>
 
}}
 
  
=== Non ASCII characters when mounting USB sticks ===
+
xdg-settings: unknown desktop environment
  
{{Merge|Mount}}
+
it means that it has failed to detect Xfce as your desktop environment, which is likely due to a missing {{Pkg|xorg-xprop}} package.
  
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}}:
+
=== Restore default settings ===
  
[vfat]
+
If for any reason you need to revert back: to the default settings, rename {{ic|~/.config/xfce4-session/}} and {{ic|~/.config/xfce4/}}
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.
+
$ mv ~/.config/xfce4-session/ ~/.config/xfce4-session-bak
 +
$ mv ~/.config/xfce4/ ~/.config/xfce4-bak
  
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.
+
Relogin for changes to take effect. If you get {{ic|Unable to load a failsafe session}} upon login, see the [[#Session failure]] section.
  
=== NVIDIA and xfce4-sensors-plugin ===
+
=== Session failure ===
  
To detect and use sensors of nvidia gpu you need to install {{Pkg|libxnvctrl}} and then rebuild {{Pkg|xfce4-sensors-plugin}} with [[ABS]].
+
Symptoms include:
  
=== Persistent display blanking ===
+
* The mouse is an X and/or does not appear at all;
 +
* Window decorations have disappeared and windows cannot be closed;
 +
* ({{ic|xfwm4-settings}}) will not start, reporting {{ic|These settings cannot work with your current window manager (unknown)}};
 +
* Errors reported by a [[display manager]] such as {{ic|No window manager registered on screen 0}}.
 +
* Unable to load a failsafe session:
  
Xfce4 (as of 4.12) does not respect monitor power settings in {{ic|xfce4-power-manager}}. It instead attempts to run the screensaver every 10 minutes. This can be verified with {{ic|$ xset q}}. Run {{ic|$ xset s noblank}} to prevent this behaviour; see [[DPMS]].
+
Unable to load a failsafe session.
 +
Unable to determine failsafe session name.  Possible causes: xfconfd isn't running (D-Bus setup problem); environment variable $XDG_CONFIG_DIRS is set incorrectly (must include "/etc"), or xfce4-session is installed incorrectly.  
  
Alternatively, add the following to {{ic|/etc/X11/xorg.conf.d/}}:
+
Restarting Xfce or rebooting your system may solve the problem, but a corrupt session could also be the cause. Delete the session folder:
  
{{hc|20-blank.conf|<nowiki>
+
$ rm -r ~/.cache/sessions/
Section "ServerFlags"
 
Option "BlankTime" "0"
 
EndSection
 
</nowiki>|bc}}
 
  
=== Preferred Applications preferences have no effect ===
+
Also make sure that the relevant folders in {{ic|$HOME}} are owned by the user starting {{ic|xfce4}}. See [[Chown]].
  
If you have set preferred applications with ''exo-preferred-applications'', but they are not taken into consideration, see [[#xdg-open integration (Preferred Applications)]].
+
=== Fonts in window title crashing xfce4-title ===
  
=== Redundant context menu entry on desktop ===
+
Install {{Pkg|ttf-droid}} and {{Pkg|ttf-dejavu}}. See also {{Bug|44382}}.
  
{{note|It has been tested that Xfce 4.10 (with Thunar 1.63, xfdesktop 4.10.2) has this bug. Not sure if this bug is related to xfdesktop.}}
+
=== Laptop lid settings ignored ===
  
When creating a new empty (text) file on the desktop, right clicking it will show a redundant ''Set as wallpaper'' entry. To disable this, [[Arch Build System|rebuild]] Thunar with the {{ic|--disable-wallpaper-plugin}} flag.
+
You may find that the lid close settings in Xfce4 Power Manager are ignored, meaning that the laptop will always suspend on lid close, no matter what settings are chosen in the power manager. This is because the power manager is not set to handle lid close events by default. Instead, ''systemd-logind'' handles the lid close event. To change this behavior so that the power manager handles lid close events, execute the following command:
 +
$ xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-lid-switch -s false
  
=== Restore default settings ===
+
{{Note|Under some circumstances, the {{ic|logind-handle-lid-switch}} setting will get set to true when changes are made to the laptop lid actions or the lock on suspend setting. See [https://bugzilla.xfce.org/show_bug.cgi?id&#61;12756#c2]. In this case, you will need to toggle {{ic|logind-handle-lid-switch}} to false again.}}
  
If for any reason you need to revert back: to the default settings, rename {{ic|~/.config/xfce4-session/}} and {{ic|~/.config/xfce4/}}
+
=== User switching action button is greyed out ===
  
$ mv ~/.config/xfce4-session/ ~/.config/xfce4-session-bak
+
The ''Switch User'' action button assumes that the ''gdmflexiserver'' executable (provided by [[GDM]]) exists. Thus, if GDM is not being used then the button will be greyed out. See the [https://bugzilla.xfce.org/show_bug.cgi?id=9307 upstream bug report].
$ mv ~/.config/xfce4/ ~/.config/xfce4-bak
 
  
Relogin for changes to take effect. If you get "Unable to load a failsafe session" upon login, see the [[#Session failure]].
+
A possible workaround is to create an executable script called ''gdmflexiserver'' in {{ic|/usr/bin}} or {{ic|/usr/local/bin}} which calls the greeter switch command provided by the [[display manager]] which is being used.
  
=== Session failure ===
+
* For LXDM - [[LXDM#Simultaneous users and switching users]].
 +
* For LightDM - [[LightDM#User switching]].
  
Symptoms include:
+
=== Macros in .Xresources not working ===
  
* The mouse is an X and/or does not appear at all;
+
Xfce loads {{ic|$HOME/.Xresources}} file using {{ic|xrdb}}, but with {{ic|-nocpp}} option to skip preprocessing. For macros to work properly, copy {{ic|/etc/xdg/xfce4/xinitrc}} to {{ic|$HOME/.config/xfce4}} directory and remove {{ic|-nocpp}} option to {{ic|xrdb}} from the resulting file. See [https://bbs.archlinux.org/profile.php?id=104121 this thread].
* window decorations have disappeared and windows cannot be closed;
 
* ({{ic|xfwm4-settings}}) will not start, reporting {{ic|These settings cannot work with your current window manager (unknown)}};
 
* errors reported by a [[display manager]] such as {{ic|No window manager registered on screen 0}}.
 
  
Restarting xfce or rebooting your system may solve the problem, but a corrupt session is the likely cause. Delete the session folder:
+
=== Cursor theme doesn't change on login ===
  
$ rm -r ~/.cache/sessions/
+
Ensure the systemwide XDG cursor is set to your desired cursor theme - see [[Cursor themes#XDG specification]].
  
 
== See also ==
 
== See also ==
  
 +
* [http://docs.xfce.org/ Xfce - Documentation]
 +
* [http://wiki.xfce.org Xfce - Wiki]
 
* [http://www.xfce.org/about/ Xfce - About]
 
* [http://www.xfce.org/about/ Xfce - About]
* http://docs.xfce.org/ - The complete documentation.
+
* [https://xfce.org/about/tour Xfce - Tour]
 +
* [[Wikipedia:Xfce]]
 
* [http://www.xfce-look.org/ Xfce-Look] - Themes, wallpapers, and more.
 
* [http://www.xfce-look.org/ Xfce-Look] - Themes, wallpapers, and more.
* [http://xfce.wikia.com/wiki/Frequently_Asked_Questions Xfce Wikia] -  How to edit the auto generated menu with the menu editor
+
* [http://xfce.wikia.com/wiki/Main_Page Xfce Wikia]
* [http://wiki.xfce.org Xfce Wiki]
 

Latest revision as of 19:01, 17 May 2019

Xfce is a lightweight and modular desktop environment currently based on both GTK+ 2 and GTK+ 3. To provide a complete user experience, it includes a window manager, a file manager, desktop and panel.

Contents

Installation

Install the xfce4 group. You may also wish to install the xfce4-goodies group which includes extra plugins and a number of useful utilities such as the mousepad editor. Xfce uses the Xfwm window manager by default.

Starting

Choose Xfce Session from the menu in a display manager of choice, or add exec startxfce4 to Xinitrc.

Note: Do not call the xfce4-session executable directly; startxfce4 is the correct command which, in turn, calls the former when appropriate.

Configuration

Xfce stores configuration options in Xfconf. There are several ways to modify these options:

  • In the main menu, select Settings and the category you want to customize. Categories are programs usually located in /usr/bin/xfce4-* and /usr/bin/xfdesktop-settings.
  • xfce4-settings-editor can see and modify all settings. Options modified here will take effect immediately. Use xfconf-query to change settings from the commandline; see the documentation for details.
  • 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.

Menu

See Xdg-menu for more info on using the Free Desktop menu system.

Whisker menu

xfce4-whiskermenu-plugin (also part of xfce4-goodies) is an alternative application launcher. It shows a list of favorites, browses through all installed applications through category buttons, and supports fuzzy searching. After package being installed, it can replace Applications Menu as first item in Panel 1 (in Settings > Panel > Items add Whisker Menu).

Edit entries

A number of graphical tools are available for this task:

  • MenuLibre — An advanced menu editor that provides modern features in a clean, easy-to-use interface.
https://launchpad.net/menulibre || menulibreAUR.
  • Alacarte — Menu editor for GNOME
http://www.gnome.org/ || alacarte
  • XAME (XFCE Applications Menu Editor) — GUI tool written in Gambas designed specifically for editing menu entries in Xfce, it will not work in other environments. (Discontinued)
http://redsquirrel87.altervista.org/doku.php/xfce-applications-menu-editor || xameAUR

Alternatively, create the file ~/.config/menus/xfce-applications.menu manually. See the example configuration below:

<!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.

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 Xfce wiki.

You can also make changes to the Xfce menu by editing the .desktop files themselves. To hide entries, see Desktop entries#Hide desktop entries. You can edit the application's category by modifying the Categories= line of the desktop entry, see Desktop entries#File example.

Desktop

Transparent background for icon titles

To change the default white background of desktop icon titles to something more suitable, create or edit ~/.gtkrc-2.0:

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

Remove desktop icons

Issue the following command:

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

To reinstate icons on the desktop, issue the same command with a value of 2.

One wallpaper across multihead

Open xfce4-settings-editor and create a new property with the following settings:

Property: /backdrop/screen0/xinerama-stretch
Type: Boolean
Value: TRUE|1|Enabled

Kill window shortcut

Xfce does not have a shortcut to kill a window, for example when a program freezes.

With xorg-xkill, use xkill to interactively kill a window. For the currently active window, use xdotool:

$ xdotool getwindowfocus windowkill

Alternatively:

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

To add the shortcut, use Settings > Keyboard or an application like xbindkeys.

Session

Autostart

To launch custom applications when Xfce starts up, click the Applications Menu > Settings > Settings Manager and then choose the Session and Startup option and click the tab Application Autostart. You will see a list of programs that get launched on startup. To add an entry, click the Add button and fill out the form, specifying the path to an executable you want to run.

Autostart applications are stored as name.desktop in ~/.config/autostart/.

Alternatively, add the commands you wish to run (including setting environment variables) to xinitrc (or xprofile when a display manager is being used).

Tip: Sometimes it might be useful to delay the startup of an application. Note that specifying under Application > Autostart a command such as sleep 3 && command does not work; a workaround is to use the syntax sh -c "sleep 3 && command"

Lock the screen

xflock4 is the reference Bash script which is used to lock an Xfce session . It tries consecutively four screen lockers or exits with return code 1 if it fails to find any. Therefore, for xflock4 to succeed, either xscreensaver, gnome-screensaver, slock or xlockmore needs to be installed.

The List of applications/Security#Screen lockers contains a short description of these four screen lockers together with other popular applications.

In particular, an alternative locker light-locker integrates well with xfce4-power-manager: once installed, Xfce Power Manager's setting gains an additional Security tab to configure light-locker and the existing Lock screen when system is going for sleep setting is relocated under this tab. It is then possible to set in this GUI whether the session should be locked upon screensaver activity or whenever the system goes to sleep.

To have xflock4 run light-locker or any custom session locker, not among the four cited above, one must set LockCommand in the session's xfconf channel to the command line to be used (the command inside the quotes in the following example can be adapted accordingly for other screen lockers):

$ xfconf-query -c xfce4-session -p /general/LockCommand -s "light-locker-command --lock" --create -t string

The panel lock button in the Action Buttons panel simply executes /usr/bin/xflock4. It should work as expected as long as xflock4 is functioning i.e. one of the native lockers is installed or a custom locker is configured to integrate with it as proposed above.

Suspend

Whenever asked to suspend, Xfce executes the xfce4-session-logout(1) command with the suspend option:

$ xfce4-session-logout --suspend

Whether or not the session is systematically locked on suspend can be configured through the xfconf properties or from the GUI.

To control this state using the CLI: there are two settings that are used, LockScreen and lock-screen-suspend-hibernate, in respectively the session and the power manager xfconf channels. To prevent locking on suspend, turn them to false:

$ xfconf-query -c xfce4-session -p /shutdown/LockScreen -s false
$ xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/lock-screen-suspend-hibernate -s false

Similarly, turn them to true to lock the session on suspend.

The setting can also be controlled from the GUI: open the Session and Startup application and turn the flag Advanced > Lock screen before sleep on or off.

Whenever the suspend keyboard button is pressed, it can be handled by either Xfce's power manager or by systemd-logind. To give precedence to logind, the following xfconf setting must be set to true:

$ xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-suspend-key -n -t bool -s true
Note: To check how systemd-logind handles events whenever it has precedence over Xfce, check logind.conf(5)

Disable saved sessions

Per user, saved sessions can be disabled by executing the following:

$ xfconf-query -c xfce4-session -p /general/SaveOnExit -s false

Then navigate to Applications > Settings > Session and Startup > Sessions and press the Clear saved sessions button to remove all previously saved sessions.

Tip: If the command above does not change the setting persistently, use the following command instead: xfconf-query -c xfce4-session -p /general/SaveOnExit -n -t bool -s false

Alternatively, Xfce kiosk mode can be used to disable the saving of sessions systemwide. To disable sessions, create or edit the file /etc/xdg/xfce4/kiosk/kioskrc and add the following:

[xfce4-session]
SaveSession=NONE

If kiosk mode is not working, the user can set read only permissions for the sessions directory:

$ rm ~/.cache/sessions/* && chmod 500 ~/.cache/sessions

This will prevent Xfce from saving any sessions despite any configuration that specifies otherwise.

Use a different window manager

Note: For the changes to take effect, you will need to clear the saved sessions and ensure that session saving is disabled when logging out for the first time. Once the window manager of choice is running, session saving can be enabled again.

The files specifying the default window manager are found in the following locations:

  • ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml - per user
  • /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml - systemwide

The default window manager for the user can be set easily using xfconf-query:

$ xfconf-query -c xfce4-session -p /sessions/Failsafe/Client0_Command -t string -sa wm_name

If you want to start the window manager with command line options, see the command below:

$ xfconf-query -c xfce4-session -p /sessions/Failsafe/Client0_Command -t string -t string -s wm_name -s --wm-option

If you need more command line options, simply add more -t string and -s --wm-option arguments to the command.

If you want to change the default window manager systemwide, edit the file specified above manually, changing xfwm4 to the preferred window manager and adding more <value type="string" value="--wm-option"/> lines for extra command line options if needed.

You can also change the window manager by autostarting wm_name --replace using the autostart facility or by running wm_name --replace & in a terminal and making sure the session is saved on logout. Be aware though that this method does not truly change the default manager, it merely replaces it at login. Note that if you are using the autostart facility, you should disable saved sessions as this could lead to the new window manager being started twice after the default window manager.

Theming

XFCE themes are available at xfce-look.org. Xfwm themes are stored in /usr/share/themes/xfce4, and set in Settings > Window Manager. GTK+ themes are set in Settings > Appearance.

To achieve a uniform look for all applications, see Uniform look for Qt and GTK applications.

See also Cursor themes, Icons, and Font configuration.

Sound

Sound themes

XFCE4 supports freedesktop system sounds, but it is not configured out of the box.

To enable a sound theme:

  1. Install libcanberra and libcanberra-pulse for PulseAudio support;
  2. "canberra-gtk-module" should be in the GTK_MODULES environment variable (re-login may be required);
  3. Check "Enable event sounds" in Settings Manager → Appearance → Settings tab;
  4. In the Settings Editor set "xsettings/Net/SoundThemeName" to a sound theme located in /usr/share/sounds/;
  5. Turn on "System Sounds" in audio mixer (e.g. pavucontrol).

sound-theme-freedesktop provides a compatible sound theme, but it lacks many required events. A better choice is sound-theme-smoothAUR (SoundThemeName should be "Smooth").

Keyboard volume buttons

xfce4-pulseaudio-plugin provides a panel applet which has support for keyboard volume control and volume notifications. As an alternative, you can install xfce4-volumed-pulseAUR, which also provides keybinding and notification control, but without an icon sitting in the panel. This is handy, for example, when using pasystray at the same time for a finer control.

Alternatively, xfce4-mixerAUR also provides a panel applet and keyboard shortcuts which supports Alsa as well. Note however, that it is based on a feature of GStreamer 0.10 which has been abandoned in 1.0.

For non desktop environment specific alternatives, see List of applications/Multimedia#Volume control.

Shortcuts

If you are not using an applet or daemon that controls the volume keys, you can map volume control commands to your volume keys manually using Xfce's keyboard settings. For the sound system you are using, see the sections linked to below for the appropriate commands.

Keyboard Shortcuts

Keyboard shortcuts are defined in two places: Settings > Window Manager > Keyboard, and Settings > Keyboard > Shortcuts.

Polkit Authentication Agent

The polkit-gnome agent will be installed along with xfce4-session and autostarted automatically; no user intervention is required. For more information, see Polkit#Authentication agents.

A third party polkit authentication agent for Xfce is also available, see xfce-polkitAUR or xfce-polkit-gitAUR.

Display blanking

Some programs that are commonly used with Xfce will control monitor blanking and DPMS (monitor powersaving) settings. They are discussed below.

Xfce Power Manager

Xfce Power Manager controls blanking and DPMS settings. These settings can be configured in the Power Manager GUI within the Display tab.

Note that when Display power management is turned off, DPMS is fully disabled, it does not mean that Power Manager will simply stop controlling DPMS. It does not disable screen blanking either. To disable both blanking and DPMS, right click on the power manager system tray icon or left click on the panel applet and make sure that the option labelled Presentation mode is ticked.

XScreenSaver

If xscreensaver is installed and runs alongside Xfce Power Manager, it may not be clear which application is in control of blanking and DPMS as both are competing for control of the same settings. Therefore, in a situation where it is important that the monitor not be blanked (when watching a video for instance), it is advisable to disable blanking and DPMS through both applications. To know more about XScreenSaver options, see XScreenSaver#DPMS and blanking settings.

xset

If neither of the above applications are running, then blanking and DPMS settings can be controlled using the xset command, see DPMS#Modify DPMS and screensaver settings with a command.

Note: There are some issues associated with blanking and resuming from blanking in some configurations. See [1][2].

Tips and tricks

Hide partitions from thunar and xfdesktop

If your installation partitions are shown as mounted devices on the desktop and in Thunar, try to install gvfs. See Udisks#Hide selected partitions for more advanced configuration options.

Screenshots

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

Go to Applications > Settings > Keyboard, Application Shortcuts. Add the xfce4-screenshooter -f (or -w for the active window) command to use the Print 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.

Disable Terminal F1 and F11 shortcuts

The xfce terminal binds F1 and F11 to help and fullscreen, respectively, which can make using programs like htop difficult. To disable those shortcuts, create or edit its configuration file, then log out and log back in. F10 can disabled in the Preferences menu.

~/.config/xfce4/terminal/accels.scm
(gtk_accel_path "<Actions>/terminal-window/fullscreen" "")
(gtk_accel_path "<Actions>/terminal-window/contents" "")

Terminal color themes or palettes

Terminal color themes or palettes 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 forum thread Terminal Colour Scheme Screenshots for hundreds of available choices and themes.

Changing default color theme

Xfce's extra/terminal package comes with a darker colour palette. To change this, 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

Open URLs by middle mouse in terminal

On update to version 0.8 open URL with middle mouse turned off by default and just paste clip to cursor. To enable old behavior fix next option in ${XDG_CONFIG_HOME}/xfce4/terminal/terminalrc (XDG_CONFIG_HOME=${HOME}/.config by default)

${XDG_CONFIG_HOME}/xfce4/terminal/terminalrc
[Configuration]
MiscMiddleClickOpensUri=TRUE

Colour management

Xfce has no native support for colour management. [3] See ICC profiles for alternatives.

Multiple monitors

Xfce has support for multiple monitors. Settings can be configured in the Applications > Settings > Display dialog. For more information, see the display article from the Xfce documentation.

XFCE's display configuration is not persistent so you may find yourself needing to use the display tool a lot, especially if you use multiple displays. One workaround for this is to use arandr to easily configure your display configurations in the form of xrandr commands which you can assign to be executed as XFCE keyboard shortcuts.

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 and Startup in Xfce's settings. This will also disable gpg-agent and ssh-agent.

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

Scroll a background window without shifting focus on it

Go to Main Menu > Settings > Window Manager Tweaks > Accessibility tab. Uncheck Raise windows when any mouse button is pressed.

Mouse button modifier

By default, the mouse button modifier in Xfce is set to Alt. This can be changed with xfconf-query. For instance, the following command will set the Super key as the mouse button modifier:

$ xfconf-query -c xfwm4 -p /general/easy_click -n -t string -s "Super"

Strictly speaking, using multiple modifiers is not supported. However, as a workaround, multiple modifiers can be specified if the key names are separated with ><. For instance, to set Ctrl+Alt as the mouse button modifier, you can use the following command:

$ xfconf-query -c xfwm4 -p /general/easy_click -n -t string -s "Ctrl><Alt"

Set the two fingers click to middle click for a touchpad

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements. See Help:Style for reference.Tango-edit-clear.png

Reason: Convoluted way of simply configuring Touchpad Synaptics (Discuss in Talk:Xfce#)

If you want the 2 finger click on the touchpad to do a middle click, create or edit the following file:

~/.config/xfce4/xfconf/xfce-perchannel-xml/pointers.xml
<channel name="pointers" version="1.0">
  <property name="SynPS2_Synaptics_TouchPad" type="empty">
    <property name="Properties" type="empty">
      <property name="Synaptics_Tap_Action" type="array">
        <value type="int" value="0"/>
        <value type="int" value="0"/>
        <value type="int" value="0"/>
        <value type="int" value="0"/>
        <value type="int" value="1"/>
        <value type="int" value="2"/>
        <value type="int" value="3"/>
      </property>
    </property>
  </property>
</channel>

The 2 in the array is the middle click.

Limit the minimum brightness of the brightness-slider

Limiting the minimum brightness can be useful for displays which turn off backlight on a brightness level of 0. In xfce4-power-manager 1.3.2 a new hidden option had been introduced to set a minimum brightness value with a xfconf4-property. Add brightness-slider-min-level as an int property in xfconf4. Adjust the int value to get a suitable minimum brightness level.

Adding profile pictures

To add profile pictures for each user to be displayed in the whisker-menu, simply place a 96x96 PNG file in the respective user's home directory with the name .face. For example the PNG file /home/bob/.face for user bob.

Image editing programs like GIMP can be used to convert and scale your favourite images down to 96x96.

Power manager plugin label

The xfconf option show-panel-label of type int controls the label of the power manager, it can be configured for different label formats: it can be set to 0 (no label), 1 (percentage), 2 (remaining time) or 3 (both).

It is also accessible through the power manager plugin GUI in Properties > Show label

Troubleshooting

Desktop icons rearrange themselves

At certain events (such as opening the panel settings dialog) icons on the desktop rearrange themselves. This is because icon positions are determined by files in the ~/.config/xfce4/desktop/ directory. Each time a change is made to the desktop (icons are added or removed or change position) a new file is generated in this directory and these files can conflict.

To solve the problem, navigate to the directory and delete all the files other than the one which correctly defines the icon positions. You can determine which file defines the correct icon positions by opening it and examining the locations of the icons. The topmost row is defined as row 0 and the leftmost column is defined by col 0. Therefore an entry of:

[Firefox]
row=3
col=0

means that the Firefox icon will be located on the 4th row of the leftmost column.

GTK themes not working with multiple monitors

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Which configuration tools? What does ceasing to work mean? Is it that new themes cannot be selected or that themes display incorrectly? Is there a bug report? (Discuss in Talk:Xfce#)

Some configuration tools may corrupt displays.xml, which results in GTK themes under Applications Menu > Settings > Appearance ceasing to work. To fix the issue, delete ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml and reconfigure your screens.

Icons do not appear in right-click menus

Note: Despite the deprecation of GConf, this method does still work.

Users may find that icons do not appear when right-clicking options within some applications, including those made with Qt. This problem only appears to happen within Xfce. Run these two commands:

$ gconftool-2 --type boolean --set /desktop/gnome/interface/buttons_have_icons true
$ gconftool-2 --type boolean --set /desktop/gnome/interface/menus_have_icons true

NVIDIA and xfce4-sensors-plugin

To detect and use sensors of nvidia gpu you need to install libxnvctrl and then rebuild xfce4-sensors-plugin with ABS. You also have the option of using xfce4-sensors-plugin-nvidiaAUR which replaces xfce4-sensors-plugin.

Black screens at boot with NVIDIA and multiple monitors

Using NVIDIA, multiple monitors and NVIDIA/Troubleshooting#Avoid screen tearing may result as a black screen when booting Xfce. The screens' position conflict into the files /etc/X11/xorg.conf and ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml. Deleting the displays.xml file fixes the behavior.

$ rm ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml

Panel applets keep being aligned on the left

Add a separator someplace before the right end and set its "expand" property. [4]

Preferred Applications preferences have no effect

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.

Restore default settings

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

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

Relogin for changes to take effect. If you get Unable to load a failsafe session upon login, see the #Session failure section.

Session failure

Symptoms include:

  • The mouse is an X and/or does not appear at all;
  • Window decorations have disappeared and windows cannot be closed;
  • (xfwm4-settings) will not start, reporting These settings cannot work with your current window manager (unknown);
  • Errors reported by a display manager such as No window manager registered on screen 0.
  • Unable to load a failsafe session:
Unable to load a failsafe session.
Unable to determine failsafe session name.  Possible causes: xfconfd isn't running (D-Bus setup problem); environment variable $XDG_CONFIG_DIRS is set incorrectly (must include "/etc"), or xfce4-session is installed incorrectly. 

Restarting Xfce or rebooting your system may solve the problem, but a corrupt session could also be the cause. Delete the session folder:

$ rm -r ~/.cache/sessions/

Also make sure that the relevant folders in $HOME are owned by the user starting xfce4. See Chown.

Fonts in window title crashing xfce4-title

Install ttf-droid and ttf-dejavu. See also FS#44382.

Laptop lid settings ignored

You may find that the lid close settings in Xfce4 Power Manager are ignored, meaning that the laptop will always suspend on lid close, no matter what settings are chosen in the power manager. This is because the power manager is not set to handle lid close events by default. Instead, systemd-logind handles the lid close event. To change this behavior so that the power manager handles lid close events, execute the following command:

$ xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-lid-switch -s false
Note: Under some circumstances, the logind-handle-lid-switch setting will get set to true when changes are made to the laptop lid actions or the lock on suspend setting. See [5]. In this case, you will need to toggle logind-handle-lid-switch to false again.

User switching action button is greyed out

The Switch User action button assumes that the gdmflexiserver executable (provided by GDM) exists. Thus, if GDM is not being used then the button will be greyed out. See the upstream bug report.

A possible workaround is to create an executable script called gdmflexiserver in /usr/bin or /usr/local/bin which calls the greeter switch command provided by the display manager which is being used.

Macros in .Xresources not working

Xfce loads $HOME/.Xresources file using xrdb, but with -nocpp option to skip preprocessing. For macros to work properly, copy /etc/xdg/xfce4/xinitrc to $HOME/.config/xfce4 directory and remove -nocpp option to xrdb from the resulting file. See this thread.

Cursor theme doesn't change on login

Ensure the systemwide XDG cursor is set to your desired cursor theme - see Cursor themes#XDG specification.

See also