<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-xfce">
  <title>Xfce Desktop Environment</title>
  <para>
    To enable the Xfce Desktop Environment, set
  </para>
  <programlisting language="bash">
services.xserver.desktopManager.xfce.enable = true;
services.xserver.displayManager.defaultSession = &quot;xfce&quot;;
</programlisting>
  <para>
    Optionally, <emphasis>picom</emphasis> can be enabled for nice
    graphical effects, some example settings:
  </para>
  <programlisting language="bash">
services.picom = {
  enable = true;
  fade = true;
  inactiveOpacity = 0.9;
  shadow = true;
  fadeDelta = 4;
};
</programlisting>
  <para>
    Some Xfce programs are not installed automatically. To install them
    manually (system wide), put them into your
    <xref linkend="opt-environment.systemPackages" /> from
    <literal>pkgs.xfce</literal>.
  </para>
  <section xml:id="sec-xfce-thunar-plugins">
    <title>Thunar</title>
    <para>
      Thunar (the Xfce file manager) is automatically enabled when Xfce
      is enabled. To enable Thunar without enabling Xfce, use the
      configuration option <xref linkend="opt-programs.thunar.enable" />
      instead of simply adding <literal>pkgs.xfce.thunar</literal> to
      <xref linkend="opt-environment.systemPackages" />.
    </para>
    <para>
      If you'd like to add extra plugins to Thunar, add them to
      <xref linkend="opt-programs.thunar.plugins" />. You shouldn't just
      add them to <xref linkend="opt-environment.systemPackages" />.
    </para>
  </section>
  <section xml:id="sec-xfce-troubleshooting">
    <title>Troubleshooting</title>
    <para>
      Even after enabling udisks2, volume management might not work.
      Thunar and/or the desktop takes time to show up. Thunar will spit
      out this kind of message on start (look at
      <literal>journalctl --user -b</literal>).
    </para>
    <programlisting>
Thunar:2410): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.UDisks2VolumeMonitor is not supported
</programlisting>
    <para>
      This is caused by some needed GNOME services not running. This is
      all fixed by enabling &quot;Launch GNOME services on startup&quot;
      in the Advanced tab of the Session and Startup settings panel.
      Alternatively, you can run this command to do the same thing.
    </para>
    <programlisting>
$ xfconf-query -c xfce4-session -p /compat/LaunchGNOME -s true
</programlisting>
    <para>
      A log-out and re-log will be needed for this to take effect.
    </para>
  </section>
</chapter>
