Xfce 4 Window Manager

François Le Clainche



This manual describes xfwm4 version 4.8.3


Table of Contents

Introduction
Using xfwm4
Manage windows
Customizing xfwm4
Decoration style
Keyboard shortcuts
Focus preferences
Advanced settings
Managing workspaces
Workspaces settings
Workspaces margins
About xfwm4

Introduction

The Xfce 4 Window Manager is part of the Xfce Desktop Environment. The actual command to run is xfwm4. To run it in the background use xfwm4 --daemon. The window manager is responsible for the placement of windows on the screen, provides the window decorations and allows you for instance to move, resize or close them.

xfwm4 adheres strongly to the standards defined on freedesktop.org. Consequently, special features such as making windows borderless, or providing an icon for the application must now be implemented in the application; you can no longer use the window manager to force different behaviour. One of the great features of xfwm4 is its themeability. The window decorations (borders, title bar and window buttons) can be configured by using window manager themes.

xfwm4 offers multihead support, for both xinerama and real multiscreen modes, useful when you have more than one monitor connected to your computer.

xfwm4 can be run stand-alone, but if you use it this way, you will need the Xfce 4 Settings Manager if you want GUI settings management. Tasks other than managing windows, like setting a background image or launching programs, need to be performed by other programs.

xfwm4 includes its own compositing manager, which takes advantage of the new X.org's server extensions. The compositor is like a WM on its own, it manages a stack of all windows, monitor all kinds on X event and reacts accordingly. Having the compositing manager embedded in the window manager also helps keeping the various visual effects in sync with window events. If you want to use the compositor, you have to build xfwm4 using the --enable-compositor configure option. In any case, you can disable the compositor on xfwm4 startup using the '--compositor=off' argument.

Using xfwm4

Manage windows

The window manager provides borders, a title bar and window buttons to application windows. The look is defined by the window manager theme.

In the default theme xfwm4 shows six buttons and a title on regular application windows. The six buttons perform these basic functions:

Figure 1. xfwm4 title bar buttons

xfwm4 title bar buttons and functions

You can open the window menu with a left-click on the menu button on the title bar, or with a right-click on the window title area itself.

If you use xftaskbar4, you can open an action menu with a right-click on one of the taskbar entries; it includes several items among those available in the window menu.

Give focus to a window

You need to give the focus to a window if you want it to receive keyboard and mouse input. Window decorations colors will change, following the focus. To obtain more details about focus options, please refer to the corresponding section below.

A keyboard shortcut allows to switch the focus from a window to others : Hold Alt and then you can press Tab repeatedly untill you get to the window you want to focus. If you use it, you will see a small popup showing the application name, its icon and the window title. Also xfwm4 will highlight the outline of the window that will receive the focus.

NOTE: the use of a keyboard shortcut in an application needs the application window to have the focus :)

Maximize / unmaximize windows

If you maximize a window, it will expand on your display and use all avaible space (as it is defined by workspace settings). You can maximize a window either vertically, horizontally, or both at once.

To maximize a window, perform one of those actions:

  • click the maximize button of the title bar

  • open the window menu from the title bar and choose the "maximize" item

  • use Alt + F5 keyboard shortcut

You can make any window appear in fullscreen mode (it will then use all the size of your screen without showing the window borders) by using the customizable Alt + F11 keyboard shortcut.

To maximize a window vertically :

  • middle-click the maximize button of the title bar

  • use Alt + F6 keyboard shortcut

To maximize a window horizontally :

  • right-click the maximize button of the title bar

  • use Alt + F7 keyboard shortcut

When a window has been maximized in a way or another, it can be restored to its previous size doing one of these actions :

  • click the unmaximize button of the title bar

  • use the same keyboard shortcut once again

  • choose the "Unmaximize" item in the window menu

Resize windows

Although certain special windows can not be resized, you are able to resize most of them to fit your needs.

  • you can use the edges and corners of the window frame to modify its size, dragging them with the mouse

  • you can use the Alt + right click shortcut while you hold the mouse pointer anywhere over the window frame; it will act as if you were dragging the bottom-right corner of the window

  • you can use practical keyboard shortcuts : Shift + Alt + (up, down, right or left) Arrow

Hide / unhide windows

You can hide a window performing one of these actions :

  • click the hide button of the title bar

  • open the window menu from the title bar and choose the "Hide" item

  • use Alt + F8 keyboard shortcut

Alternatively, you can hide all windows of current workspace, excepted the one you are using, in only one action : click the menu button of the title bar and choose "Hide all others".

To "unhide" a window, you will have to select its name or its icon in one of those Xfce 4 components :

  • xftaskbar4

  • the list of windows, accessible with a middle-click on the desktop background. This list shows all opened windows, classified by workspaces. Windows that are currently hidden are marked between [ ].

  • the xfce4-iconbox

Shade / unshade windows

If you "shade" a window, it will be reduced to the size of its title bar. The same repeated action makes a window to shade/unshade :

  • click the shade/unshade button of the title bar

  • open the window menu from the title bar and choose "Shade" or "Unshade" item

  • use the mouse scrollwheel while you hold the pointer over the title bar

  • use the Alt + F9 keyboard shortcut

Stick / unstick windows

If you "stick" a window, it will be visible at the same place on all your workspaces. The same repeated action make a window to stick/unstick :

  • click the stick/unstick button of the title bar

  • open the window menu button from the title bar and choose "Stick" or "Unstick" item

  • use the Alt + F10 keyboard shortcut

Raise / lower windows

The "raise window" function makes a window frame appear above all the other frames. To raise a window, you can :

  • left click on its titlebar

  • give the focus to the window, if the corresponding option is selected in the Keyboard and focus preferences dialog

  • left click anywhere on its frame, if the corresponding option is selected in the Keyboard and focus preferences dialog

  • click on its label in the taskbar or the iconbox

  • use the Shift + Alt + Page_Up keyboard shortcut (if the window is already focused)

You can make a window frame to always stay above all other windows by opening the window menu and selecting the "always on top" item.

The "lower" function sends a window frame below all other frames. To "lower" a window, you can :

  • middle-click on its title bar

  • use the Shift + Alt + Page_Down keyboard shortcut (if the window is focused)

Move windows

There are several ways to move windows :

  • left or right click on the title bar of the window and drag it

  • use Alt + left click while the pointer is anywhere over the window frame and move the mouse

  • use Control + Alt + Shift + (up, down, left or right) Arrow keyboard shortcut

Move a window to another workspace

You can send a window to another workspace by performing one of these actions :

  • stick the window, move to another workspace, then unstick the window.

  • use the window menu and choose one of the "Send to" submenu items.

  • left or right click on the title bar of the window, drag it to the screen edge : the pointer will then go to the next workspace, still holding the window. Corresponding option needs to be selected in the Window Manager Preferences dialog.

  • use keyboard shortcuts :

    • Alt + Control + End will move a window to the next workspace

    • Alt + Control + Home will move a window to the previous workspace

    • Alt + Control + Keypad-Number will move the current window to corresponding workspace

  • use the graphical pager by clicking on the representation of the window, and move it to the desired workspace.

Close a window

To close a window :

  • click the close button of the title bar

  • Open the window menu from the title bar and choose the "Close" item

  • or use Alt + F4 keyboard shortcut

Customizing xfwm4

To open the Window Manager preferences dialog, click the button labelled "Window Manager" in the Xfce 4 Settings manager. The dialog shows four tabs : Style, Keyboard, Focus, Advanced. All modifications will have an immediate effect on the behaviour of the selected module.

Decoration style

Figure 2. Decoration style preferences

The decoration style tab

Window style

The list on the left side of the dialog shows all avaible window decorations. The xfwm 4 module offers the choice between 4 different themes, but there are more than 60 supplementary themes avaible in xfwm4-themes extra package.

Title font

The "Font select" button shows the family font currently in use for the window title appearance. Click this button if you want to change it, and a "Font selection" dialog will appear. It works like the font selection dialog of the user interface settings manager plugin.

Title alignment

Whatever the buttons layout is, you can choose the alignment of the title inside the title bar, selecting one of those simple options : align it to the left, center or right.

Button layout

The button layout configuration uses an easy drag and drop tool. Click and drag the buttons to change the layout. Drop a button in the "Hidden" area to remove a button from the titlebar. All modifications will have an immediate effect on the title bar buttons position.

Keyboard shortcuts

Figure 3. Keyboard shortcuts preferences

The keyboard shortcuts tab

Keyboard Shortcuts

The list on the left side of the dialog shows all avaible shortcuts themes, using the name of directories that contain a keythemerc file.

By default, there's only one theme : $(datadir)/themes/Default/xfwm4/keythemerc

In the default configuration the following keybindings are defined:

  • close window : Alt + F4

  • Maximize window : Alt + F5

  • Maximize vertically : Alt + F6

  • Maximize horizontally : Alt + F7

  • Hide window : Alt + F8

  • Shade window : Alt + F9

  • Stick window : Alt + F10

  • Cycle windows focus : Alt + Tab

  • Move window : Control + Shift + Alt + Arrow (up, down, left, or right)

  • Resize window : Shift + Alt + Arrow (up, down, left, or right)

  • Raise window : Shift + Alt + Page_Up

  • Lower window : Shift + Alt + Page_Down

  • Toggle fullscreen : Alt + F11

  • Next workspace : Control + Alt + Arrow right arrow

  • Previous workspace : Control + Alt + Arrow left

  • Add a workspace : Alt + Insert

  • Delete a workspace : Alt + Delete

  • Go to workspace number N (1-9) : Control + F(N)

  • Move the window to previous|next workspace : Alt + Control + Home|End

  • Move a window to workspace number N (1-9) : Alt + Control + keypad key number N

  • Start xfhelp4 : Alt + F1

  • Start xfrun4 : Alt + F2

  • Lock the screen : Alt + Control + Delete

There are two lists on the right side of the dialog. The "Windows shortcuts" list shows the keyboard shortcuts which are used to drive the window manager. The "Command shortcuts" list shows the keyboard shortcuts which are aimed at launching applications. To modify one of the shortcuts, you have to double-click on it in the list, using the left button of your mouse, and compose your new shortcut when the "Compose shortcut" popup window appears.

Figure 4. The compose shortcut popup

The compose shortcut popup

If you want to create a new theme, create a directory like this one, for instance : $HOME/.themes/Custom/xfwm4/keythemerc, then select it in the list of available themes.

If you do not know the names of your keyboard modifier keys, you can launch the "xev" application from a terminal and test them.

Focus preferences

Figure 5. Focus preferences

The Focus tab

Focus model

A focused window receives the keyboard and mouse input. You have the choice between two focus models :

  • Click to focus : select this option if you want a window to receive the focus only when you click anywhere on its frame.

  • Focus follow mouse : select this option if you want a window to receive the focus as soon as the mouse pointer is over its frame.

New window focus

Selecting this option will automatically give the focus to newly created windows, without the need to click or move the mouse pointer.

Raise on focus

If this option is selected, the frame of a newly focused window will automatically appear over all other frames, after an amount of time that you can adjust with the "delay" slider.

Raise on click

Choose this option if you want a window to pass over the others when you click anywhere on its frame. If this option is not selected, you will have to click somewhere on its decorations (title bar, borders or corners) to raise it.

Advanced settings

Figure 6. Advanced preferences

Advanced tab

Windows snapping

You can choose the windows borders to be attracted by the borders of other windows, or by the screen edges, when they are moved. The distance from which this effect will be applied can be specified with the "Distance" slider.

Wrap workspaces

Select the first option if you want to switch to the next workspace when the mouse pointer reaches the screen edges. Select the second one if you want the same behaviour while dragging a window. You can specify the screen edges resistance using the corresponding slider.

Opaque move and resize

Two options allow you to choose if the content of a window will appear or not, when you move or resize it (not displaying the content will save some system resources).

Double click action

Select what must be the behaviour of the window manager when you double-click on the title bar of a window : shade window, hide window, maximize window or none.

Managing workspaces

xfwm4 also manages workspaces. There is a special settings dialog to change the workspace properties. You can start it by choosing Workspaces and Margins from the the settings manager dialog. The dialog contains two tab folders where you can change workspace settings and desktop margins.

Workspaces settings

Figure 7. Workspace Settings

Shows workspace settings tab folder.

Workspaces

This option allows you too choose the number of workspaces you want to use (between 1 and 32).

Worspace names

This field shows the list of avaible workspaces. If you want to edit the name of one of them, click its number and a fill the entry of the dialog that will then appear. When it's done, click the "Apply" button, or just press the Enter key, to return to the list.

Workspaces margins

Figure 8. The workspace margins dialog

The workspace margins tab folder

To open the Workspace Margins dialog, click the button labelled "Workspaces and Margins" in the settings manager dialog and choose the tab labelled "Margins".

Margins are areas on the edges of the screen that maximized windows won't cover. You can adjust the size, in pixels, of all margins (left, right, top and bottom). Use this feature, for example, if you do not want maximized windows to overlap panel or iconbox frames.

About xfwm4

xfwm4 was written Olivier Fourdan (). To find more information, please visit the Xfce web site.

To report a bug or make a suggestion regarding this application or this manual, use the bug tracking system at http://bugzilla.xfce.org/.

If you have questions about the use or installation of this package, please ask on the xfce mailing list. Development discussion takes place on the xfce4-dev mailing list.

This program is distributed under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.