# The Xfce Desktop Environment

... and mice fly ...
2006
Jasper Huijsmans

This document is provided under the terms of the GNU GPL, version 2 or (at your option) any later version.

Jasper
Huijsmans

    jasper@xfce.org

Benedikt
Meurer

    benny@xfce.org

## Preface

This document gives an overview of the Xfce Desktop Environment and explains how to perform several common tasks. It is meant to be a starting point for anyone who wants to use Xfce and it includes pointers to other sources of information.

The latest version of this document can always be found at this location.

## Introduction

Xfce is a lightweight desktop environment for unix-like operating systems. It aims to be fast and light on system resources, while still being visually appealing and easy to use.

Xfce embodies the traditional UNIX philosophy of modularity and re-usability. All of Xfce's core components can be build and installed separately. Xfce 4 is based on the GTK+ toolkit version 2.

Adhereance to standards is one of the main design goals of Xfce 4, specifically those defined at Freedesktop.org. This allows Xfce 4 to seamlessly interoperate with programs written for other desktop environments that follow these specifications.

Xfce is all free software. The separate components are released under either the BSD license, the GNU LGPL or the GNU GPL (see for details).

### Resources

If you are looking for specific information about Xfce 4, chances are you can obtain it from one of the resources in this list:

- Xfce website
- User mailing list
- Development mailing list
- Xfce Forum
- Bug tracker

## Using Xfce4

### Getting started

Use startxfce4 to start an Xfce session, which includes the session manager, the panel, the window manager and the desktop manager.

By default the Xfce session manager manages the startup of applications. It allows you to save your session when you quit Xfce, so that the next time you log in, the same applications will be started for you automatically.

To customize the behaviour of startxfce4, copy the file `${sysconfdir}/xdg/xfce4/xinitrc` to your personal `~/.config/xfce4/` directory and edit that file. Depending on your installation method the location of the system `xinitrc` file may be different. If you install from source, `${sysconfdir}` defaults to `/usr/local/etc/`. For binary packages it is often set to `/etc/`, `/etc/X11`, `/usr/pkg/etc` or `/usr/X11R6/etc`; you can use your package manager to find out.

### The Default Desktop

The Xfce Desktop Environment is not a single entity that provides all funtionality, but rather it tries to adhere to the old UNIX tradition of small tools that do one job and do it well. A default Xfce desktop with no applications running is shown in .

#### Default Xfce 4 session

Default Xfce session, with desktop manager and panel.

When you run startxfce4 for the first time, several applications are started by the Xfce session manager:

Panel

  In a default session there is a full width panel at the top of the screen and a smaller one at the bottom. The xfce4-panel application manages all panels on the screen.

  The top panel shows a graphical pager with a miniature view of all workspaces, a task list showing all applications running on the current workspace and a system tray to show status icons that are used for example by some media players or instant messaging applications.

  The bottom panel contains several application launchers and a clock. You can right-click on any panel item to get a menu that allows you to change its properties, add or remove new items or to change the properties of the panel itself.

  For more information, have a look at the panel manual.

Desktop Manager

  The desktop manager provides the desktop background image and two menus when you click on the desktop background. Optionally, it can show icons on the desktop, either for minimized applications or for files in the `~/Desktop` folder.

  The right mouse button opens a menu that allows you to start applications. Look at the manual to find out how to change the menu contents.

  The middle mouse button (or Shift + left click) opens a list of all applications that are currently running. You can activate an application by clicking on its menu entry.

Window Manager

  The window manager is responsible for placing the windows on the screen and provides the window borders and decorations. It allows you to move windows around by draggin the titlebar and provides title bar buttons, for example to close, minimize or maximize a window. Look at the manual for a full explanation of the window manager settings.

Settings Manager

  The settings manager runs in the background and makes sure that all Xfce applications update their settings when the user changes something in the settings manager dialog (see following section) and it takes care of reading the configuration from disk at startup. Have a look at the Settings Manager and Settings Plugins manuals for a full explanation of the settings manager.

### Common Tasks

This section will explain how to perform several common tasks to quickly get you started working with Xfce 4. Because that is what Xfce 4 is designed for, to allow you to get work done.

#### Running programs

Xfce Panel

  The panel is designed to allow quick access to the most frequently used applications by putting them on the main panel. Less often used applications can be put in a launcher menu.

Desktop Menu

  Another method for starting applications is from the desktop mouse menu. Read the Desktop Manager manual for information on how to change the menu contents.

Run Dialog

  If you know the name of a program and it is not on the panel or in the desktop menu you can use the run dialog. To open the dialog type Alt+F2 or choose the Run program... option from the desktop menu.

  The dialog will remeber the 10 last commands that were executed successfully.

#### Managing windows and workspaces

Basic window operations

  You can move windows around the screen by dragging their title bar. A window can be closed, hidden, maximized, shaded and made sticky — this means it will show up on all workspaces — by using the title bar buttons.

  Right clicking on the title bar will open a menu that gives access to all window operations.

  Shading a window, which means collapsing it to only show the title bar, can also be accomplished by using the mouse wheel over the title bar. Mouse wheel up is shade, mouse wheel down is unshade.

  If you want maximized windows to not cover the entire screen you can set workspace margins from the settings manager dialog (see below).

Application management

  To find out what applications are currently running you can look at the task list on the top panel. Clicking on a button in the task list will focus the associated application. Clicking again will hide it.

  When you click with the middle mouse button on the desktop background a list of windows is shown, ordered by workspace. You can activate the application or change workspaces by choosing the appropriate menu entry.

Workspaces

  You can change workspaces by clicking on them in the graphical pager, either on the taskbar or on the panel. Pressing Ctrl+Alt+LeftArrow or Ctrl+Alt+RightArrow will cycle through the workspaces. Using the mousewheel over the pager or the desktop background has the same effect.

  To add or remove workspaces you can use the middle click desktop menu or the settings dialog (see below).

#### Using the settings manager dialog

The settings manager dialog provides access to the global preferences of many Xfce applications. You can run it by pressing its launcher on the panel, from the desktop mouse menu or by running xfce-setting-show.

Dialogs to change many aspects of the Xfce Desktop Environment are available. See the separate manuals of the Xfce components for more information. It may be interesting to have a quick look at all the dialogs to find out what options are available that allow you to create the best possible working environment.

### Further Reading

This user guide has only given a very general overview of the Xfce Desktop Environment. More information is available in the manuals of the separate components of Xfce.

## Components of Xfce

The Xfce components are packaged separately. This section contains a list of the available modules with a short description.

libxfce4util

  Library with non-graphical helper functions.

libxfcegui4

  Widget library and X Window System interaction.

libexo

  A library created for the Thunar file manager, containing many useful functions for applications designed for Xfce.

libxfce4mcs

  Settings management library used by many Xfce components.

xfce-mcs-manager

  Settings manager. Runs in the background and provides global settings information to other Xfce components. There is a main control panel to access the configuration dialogs of Xfce components.

xfce-mcs-plugins

  Settings manager plugins. These plugins provide settings dialogs for general items that are not part of a package, e.g. user interface settings (Gtk+ theme, icon theme, font settings), mouse settings, keyboard settings and display settings.

xfce4-session

  Session manager. The session manager controls the startup and shutdown of the Xfce Desktop Environment. On logout it can save the state of running applications (if the application supports it) and restore them properly again the next time you log in.

xfwm4

  The Xfce window mananger. Manages the placement of application windows on the screen, provides window decorations and manages workspaces.

xfce4-panel

  The Xfce panel. Provides program lauchers, a workspace switcher, a clock, menus and more.

xfdesktop

  Desktop background manager. This program sets the background image and/or color, and provides a root window menu, a menu panel plugin and a menu editor. Optionally, it can show icons on the desktop as well.

xfce-utils

  Essential utilities and scripts. Provides the Xfce about dialog, a run dialog, the startxfce4 script and several other important scripts. Also contains this user guide.

Thunar

  A fast and efficient file manager.

xfprint

  Printing support. Provides a graphical frontend for printing. Includes xfprint4 and xfprint-manager.

xfce4-appfinder

  An application finder that allows you to search, launch and find information about applications installed on your system.

orage

  Simple calendar application with reminders.

gtk-xfce-engine-2

  Theme engine for GTK2. Not required for the desktop, but it's a nice theme engine so you might just as well give it a try.

xfce4-icon-theme

  Default icon theme for Xfce, called Rodent.

## Installing Xfce4

### Binary packages

The Xfce project officially only releases source code for the desktop environment. However, binary packages may have been contributed by other people for your OS or distribution.

Look at the Xfce site for download locations and additional information about available binary packages. If you could not find binary packages for your OS, they may be available from your OS vendor or distributor, or you can install Xfce from source.

### Graphical installers

The easiest way to install Xfce from source is by using the graphical installers. Documentation and instructions are available.

### Building from source

To compile Xfce manually, look at the Xfce site for download locations.

Building the packages should be a simple matter of unpacking the tarballs and, from the top source directory, typing:

    ./configure && make && make install

Some package will have extra configure options available. You can find them by typing `./configure `--help``.

Xfce &appversion; depends on pkg-config and GTK+ >= 2.6. If you installed these from a binary package, make sure you have the corresponding `-dev` packages installed as well.

Optionally you can install librsvg >= 2.2, for SVG icon support, libstartup-notification, to have a busy cursor when loading applications that support this standard and dbus for enhanced functionality, mainly in Thunar and xfdesktop.

If you install into a different prefix from pkg-config, you have to set the PKG_CONFIG_PATH variable to include the path to the *.pc files installed by the Xfce 4 libraries, which is ${prefix}/lib/pkgconfig. For example:

    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

### Using SVN

The latest development sources for Xfce 4 are available from subversion (SVN).

Look here for information on how to obtain the latest development updates from SVN. You can also browse the SVN tree through a web interface.

### Additional software

The Xfce Goodies project collects third-party contributions for Xfce. There are some excellent panel plugins available that greatly enhance the functionality of Xfce.

Xfmedia is a lightweight media player for Xfce, based on the xine engine.

Terminal is an easy to use terminal emulator for the Xfce Desktop Environment. It contains all feature you would expect from a modern terminal emulator.

&copyright;

&BSD;

&GPL;

&LGPL;