FVWM-CRYSTAL(1)

NAME
fvwm-crystal - an easy to use, eye-candy but also powerful desktop environment for GNU/Linux or other Unix-like operating systems.

SYNOPSIS

None

DESCRIPTION

FVWM-Crystal aims to be an easy to use, eye-candy but also powerful desktop environment based on the F? Virtual Window Manager (FVWM). It uses following programs: FVWM as a window manager and "main core", icons on the desktop with support for more than 10 different file managers and custom commands (with optional Nautilus or ROX-Filer support), different terminal emulators inclusive xterm, aterm, mrxvt or urxvt, different music and medias players inclusive MPD, XMMS2 or MPlayer (there’s built-in support for controlling these programs, and several other tools for different functions, like setting a wallpaper or making screen shots. Fvwm-Crystal provide some unique features like the ability to bring in full screen virtually any application, and to flow through the full-screened applications and the desktop. In this document you will find a general description of FVWM-Crystal, how to begin with it and how to customize it.

USAGE

  First Start

FVWM-Crystal checks while your first login if ~/.fvwm-crystal exist and if old preferences must be converted to the new Fvwm InfoStore variables. In all cases, it should just start.

FVWM-Crystal will also check your locale and create the XDG localized user directories if they don’t exist. Those directories are common to most modern OS and are used to store dedicated files. As example $HOME/Music, $HOME/Documents and $HOME/Pictures.

  Initial Media Player Setup

MPlayer is the default media player. A help screen can pop-up and show you how to setup the Media directories preferences, which tell FVWM-Crystal where your music and movie files are. You can do it now or later, but it must be done before to use the play-lists features found in the Music menu (or button).

For that, edit the file ~/.fvwm-crystal/preferences/MediaDirectories:

    audio $HOME/Music
    video $HOME/Video
    cdrom /dev/cdrom0
    dvd /dev/cdrom1

You can put as many lines you need. Each line have the following format:

    type path

where type is one of [audio video cdrom dvd] and path is the full path to a directory or a device. Devices are used only for cd and dvd. Note that all players doesn’t support all the provided features. Their respective menus will be adjusted accordingly.

As example, you can have:

    audio /home/name/Music
    viedo /home/name/Video
    audio /mnt/work/Music
    video /mnt/usb/Video
    dvd /dev/cdrom

When you are done, save the file. You can load the control for your preferred player from the preferences menu

    Crystal -> Music -> Player -> Music player

or from the menu on the first music button.

In the same menu, you will find Recreate the playlists. This script will scan the paths pointed by the MediaDirectories preference file, and create the play-lists into $HOME/.fvwm-crystal/Playlists. They will be separated into an Audio and a Video part. We can cal them the Crystal play-lists. Don’t edit those files, all your changes will be lost the next time you run Recreate the playlists. Instead, 2 other directories will be created: $HOME/Playlists/Audio and $HOME/Playlists/Video. They are the User play-lists.

In the same Music menu, the play-lists operation are grouped. You can of course load them into the selected player. Copy playlist will copy the selected play-list from the Crystal play-lists to the User play-lists. Remove playlist will remove the selected play-lists from the User play-lists. Some players provide they own play-lists management system, FVWM-Crystal try to support them as well.

Some supported players must be setup before FVWM-Crystal can use them. For that, please refer to their respective documentation. If you have a DVB card, please refer also to the linuxtv.org V4L-DVB Wiki at http://linuxtv.org/wiki/index.php/Main_Page.

  Desktop Organisation

17 different desktop layouts, named recipes, are available.

Some are very simple and provide very few decorations. Others provide many buttons and decorations. A few of them mimic existing OS, like Nebulae which loosely mimic Windows or Amiga which mimic the Amiga OS.

You can change them via Fvwm-Crystal system menu

    Preferences -> Recipes -> System

The other preferences apply to all recipes and are independent from each others. By example, you can choose to have desktop icons showing the XDG user directories and the mounted partitions, and to not have applications icons.

It is 2 menus, the system menu available with Alt + Win_R (Meta + Windows Left) and the application menu available with Alt + Menu (Meta + a "menu" key). A menu can also be available by holding a Left click on the root window (the desktop) if selected in System → Preferences → Desktop menu (On by default). The content of that menu depend on the recipe in use.

Decorations common to all recipes

    Not all recipes use all followings decorations called buttons, but they can be used in any recipe, inclusive your own ones.

    The "Crystal" Button
        or "FvwmButtons-MainMenu" is the little button with a diamond.

        There are some mouse bindings available:

            • left clicking open the system menu

            • middle clicking change the wallpaper randomly

            • right clicking on some recipes open the applications menu

        The Amiga recipe is different:

            • left clicking shift the top bar to a menu bar and back

            • middle clicking change the wallpaper randomly

            • right clicking open the system menu

        When the button is located at the top left corner:

            • mouse wheeling will change the screen resolution

    The Media Buttons
        They are 4 grouped media buttons - FvwmButtons-Music - providing controls and menus for the supported media players and mixers. For a description of their bindings, consult man MouseBindings and man KeyboardBindings, or the html documentation.

        The same functionalities are provided by the Music menu, which is located in the System menu.

        The supported media players are alsaplayer, audacious, cdcd, cmus, mocp, mpd, mplayer, mplayer2, quodlibet and xmms2.

        The supported audio mixers are alsamixer and aumix, plus the mixers of the players. QJackCTL is also supported.

            • left clicking on the first media button will open a menu.

        In it, Music player is where you choose the player and can start it. Recreate the playlists will scan your music and video files and create the play-lists for you. For that, it will use the preferences file you edited in the section "First Start". It is also a mixer preferences menu where you can choose the mixer and the sound card.

        Each player have its own features set, and the Music menu and functions will change accordingly.

        As example, with cdcd you have a cd player and you will be able to control it, when with mplayer, you have an universal media player, and FVWM-Crystal will even recognize if you have a DVB card and use it. Basic stream capture is enabled and use the standard C MPlayer key binding. See man mplayer. This will create a stream dump in $HOME. That file will be usable only with MPEG sources, and it can be edited with applications like Kino.

    The Application Panel
        It is an auto generated panel which provide one button for each FreeDesktop menu main category. The icon of each button is the icon of the preferred application of that category. The mouse bindings available are:

            • left clicking open the application menu of the category

            • middle clicking on some recipes launch the second preferred application

            • right clicking launch the preferred application

        These menus have full support for the additional FreeDesktop categories, which mean much less modifications will be needed in comparison with many other desktops. And last but not least, your modifications will never be lost. It is why at the first place I begun with Crystal and I will keep it that way. See man ApplicationDatabase for how to customize the application menu (the examples are at the end).

        More: the files in the applications database are scripts. You can put anything you want into them. You will find them into $prefix/share/fvwm-crystal/fvwm/Applications and $HOME/.fvwm-crystal/Applications, and can copy them fro this first location to the second one. The files in the second path will take the precedence. The same apply for the icons directory.

        The same database is used to generate the application menu available with the system menu on some recipes, and with the Alt+Menu key binding.

        The application database provided by FVWM_Crystal contain a large set of menu entries and application icons. You can generate extra database menu entries and icons from the preferences menu: Diamond → Preferences → Generate application menu. This will populate $HOME/.fvwm-crystal/Applications and $HOME/.fvwm-crystal/icons.

        The 2 first time you run this script, it will copy 2 preferences files and show help messages.

        Those files are $HOME/.fvwm-crystal/preferences/IconDirs and $HOME/.fvwm-crystal/preferences/DesktopDirs. They must contain the full path to where the icon and desktop files provided by the applications are stored, typically something like /usr/share/icons and /usr/share/pixmaps for the icons, and /usr/share/applications and /usr/share/applications/kde4 for the desktop files. The 2 preference files are self explained.

    The Clock
        As it name describe it, a clock.

    The Pager
        It is a miniature illustration of the virtual desktop pages with mini windows. By clicking on each of the segments you can change the page.

        For a description of the bindings, see "man MouseBindings". * Some recipes provide only a small button. Clicking on it will show or hide the pager.

        The number of desktop pages can be changed on the fly from the preferences menu, option Desktop geometry. If necessary, windows will be moved on the last available desktop page.

    Notification area
        Both stalonetray and trayer are supported. For best support will all recipes, use stalonetray.

    Icon Manager
        A recipe can provide several icon managers. They can show the icons from the running applications on the whole desktop or on the current desktop page. They can be grouped by applications type like terminals or other application types. The application name can be shown in the icon manager or as a tool-tip when the mouse is over the icon. And different actions are bound to these icons.

        Some recipes provide an icon manager for the iconic applications. With these recipes, no application icons will be on the desktop, independently of what choice was made in the preferences.

    Desktop Icons
        It is 2 types of icons: application icons and desktop icons.

        Desktop icons are typically used to launch a file browser at a given path. You can choose in Preferences → Desktop manager how FVWM-Crystal will manage them:

            • None will remove the desktop icons

            • FVWM-Crystal will let FVWM-Crystal manage these icons

            • ROX_Filer will manage these icons

            • Nautilus will manage these icons.

        You can change on the fly between None and FVWM-Crystal. The other changes need to logout and restart Xorg and FVWM-Crystal. At that time of writing, the FVWM-Crystal-3.2.0 desktop icon managing is mature enough to considerer that ROX-Filer and Nautilus are provided only as a commodity or for backward compatibility or convenience. (See man CrystalRoxHOWTO for rox.)

        When FVWM-Crystal is selected, it will show all its icons be default. Right clicking on the Home icon will open the Desktop icons preference menu. the Home icon is mandatory, both the XDG user directories icons and the partitions icons are optionals.

        In the same menu, you can select the actions for the left and middle clicks. Several file managers have built-in support: Thunar, Worker (a very good Directory Opus clone), Midnight Commander (mc in short), ROX-Filer, Nautilus, Krusader, Xfm, 4Pane, Ranger (a Vim like file manager), PCMan FM, gentoo (another dopus clone), Konqueror, emelFM2 (which, like mc, support extfs), Dolphin and SpaceFM.

        A custom command can also be set where both console commands and X commands can be used. A self documented form will be launched, which let you update and save the configuration.

        If pmount-gui is installed, the contextual menu of the Home icon will show 2 options for mounting and unmounting the removable devices. The contextual menu of the partition’s icons will show the mount points of the patitions and an item for umounting the partitions. This options will use pumount if the partition is mounted in /media, umount otherwise. You will also get menu items to mount the unmounted partitions, if they are present in /etc/fstab with the option user(s).

    Application Icons
        They are the icons of the iconic applications. This will work only with the recipe that doesn’t provide an icon manager for them.

        In Preferences → Type of icons, you can choose between:

            • None

            • Thumbnails

            • Amiga

            • Mwm

        Amiga and Mwm will show the application icons. Simple clicking on the Amiga style icons will restore the application window. Double clicking on the Mwm style icons will do the same.

FULL SCREEN NAVIGATION

For what I know, FVWM-Crystal is the only GNU/Linux desktop that provide that feature.

In short, Full Screen Navigation is the ability to bring in full screen virtually any application, and to navigate between these full-screened applications, as well than between them and the desktop.

It can be many useful use cases for it. As example, if you have several browser windows open and want to zap quickly. Or with a file manager like mc which is limited to 2 panels. It is one limitation: the full screened windows must be on the same desktop page. This limitation is a force at the same time, because you can zap the desktop pages too, and you can have full-screened and "normal" windows in any desktop page at the same time.

Try it. Launch a few applications on the current desktop pages ans put them in full screen with Alt + KP_*. When this is done, use Alt + Shift + KP_* to zap between the full screened windows and the desktop. With Alt + F<n>, you can zap the desktop pages.

In fact, this functionality is not new. It was already available with the first Amiga computer in 1985, when Windows was not born and the Mac was boring in black and white. It was called the window stack. With the Amiga recipe, simple clicking on the button at the top right corner provide that function too.

PREFERENCES

Most preferences are applied on the fly. Some, like a recipe change, need a restart.

Select recipe
    Select a recipe.

Desktop geometry
    Select the number of desktop pages from 1 to 9.

Characters fonts
    Launch FVWM-Crystal font selector dialog. Panel font is used by the buttons, Tittle font by the window title bars, and Menu font by menus. FVWM-Crystal support xft fonts and this dialog let you visualize the fonts, save and apply the fonts, as well than edit, save and restore the example string. Restore will restore the example string to its original value. To restore it to its saved value, you have to quit and launch again the font selector.

Handle width
    Set the handle width between 1 to 7 pixels. Handles are used to resize the windows with the mouse. See also *man KeyboardBindings".

Translucency
    Start and stop translucency. Off by default, this setting will not survive a restart. When On, you can use the mouse wheel on the window title bars to set their translucency.

Bling bling
    Start and stop the bling bling. It is an effect that will shift the translucency with the focus. This setting is Off by default and will not survive a restart. Translucency can have a negative impact whit some softwares like MPlayer. In the worst case, shift to a primary console with Ctrl + Alt + F<n>, login, run killall mplayer or killall -9 mplayer, and get back to FVWM-Crystal with Alt + F7.

Default terminal
    Set the terminal available with Right click on the root window. Possible choices: GNOME-Terminal, Multi-GNOME-Terminal, XFCE4-Terminal, Terminator, MRxvt, URxvt+, ATerm, ETerm and XTerm.

Fvwm console terminal
    Set FVWM console terminal, Alt + ; will show/hide it, and it will be present on all desktop pages. It will only send commands to FVWM. Very useful to try any FVWM command.

QuakeConsole termianl
    Set terminal for the QuakeConsole. Alt + ' (grave) will show/hide it, and it will be present on all desktop pages. You can use it for whatever console you want, by example htop. Supported by these 2 last terminal are MRxvt, URxvt, ATerm and XTerm.

Desktop manager
    Select the manager for the desktop icons. See above.

Icon type
    Select the icon type for iconic applications. See above.

Desktop menu
    Set On or Off the menu available with left clicking.

Notification area manager
    Select stalonetray or trayer, and let you choose the size of the area between 0 to 20 icons.

Focus policy
    Select the focus policy between

        • Amiga - click to focus without raise

        • FVWM-Crystal -enter to focus without raise

        • FVWM-Crystal with raise - enter to focus with raise

        • MS Windows - click to focus with raise.

With the without raise policies, a click on a title bar will raise the window.

Privileged terminals
    With URxvt and ETerm, set the FPOverrideGrabFocus style. Such terminals will never loose the focus.

Generate application menu
    Generate the databse entries and icons for the applications menu.

Silent operations
    Add "2>/dev/null" at the end of most commands launched by FVWM-Crystal.

CUSTOMIZATION

  Structure of Fvwm-Crystal

FVWM-Crystal is split in a system, a system wide configuration, and an user configuration part.

The system part is located in /usr/local/share/fvwm-crystal/fvwm (default) or /usr/share/fvwm-crystal/fvwm (distribution related). We can call it <system>

The system configuration part is located in /etc/X11/fvwm/fvwm-crystal. Call it <config>

The user part is located in ~/.fvwm-crystal. <user>

You can copy any file from the system part (without the /fvwm/) to the 2 other parts. Files in the user part will be used first, second will be the files in the system configuration part (empty be default), and third will be used the files in the system part. This is true for all files loaded with the Include command, which is the case for most FVWM-Crystal files.

  Location of some Files and their Function

<system>/config will be the first file loaded by FVWM. It initialize some variables and load the whole FVWM-Crystal configuration, inclusive the recipe in use.

<system>/components/Standard is the second file loaded by FVWM. It contain the functions used to load the other file with respect to their priorities part order. After, it load other files with functions used in many places.

The other files in <system> are grouped in directories. Each directory correspond to a group of functions. For example, <system>/preferences are for the saved preferences, <system>/apps are functions to control some main features of FVWM-Crstal like the Desktop Icons, the Screen Saver, or the Fvwm Console.

As a rule, make small modification at a time. And RTFM. FVWM is not so difficult, but it is very complex. This complexity make things harder. So, try to keep focused on one thing at a time.

FVWM documentation is huge, The best place to read it is on the FVWM website where you will find an html version, which ease the navigation. Use the stable 2.6 branch, the unstable 2.7 is outdated and will not work well with FVWM-Crystal.

  Autostart of Applications

Copy <system>/preferences/Startup to <user>/preferences/Startup and put your commands here.

  Custom FVWM Commands

Create the file <user>/userconfig and put your FVWM commands here. It will be the last loaded file.

AUTHORS

This man page was written by Dominique Michel <dominique_libre@users.sourceforge.net> © 2013

COPYRIGHT

FVWM-Crystal and all the scripts and other files coming with the distribution are subject to the GNU General Public License (GPL). Please refer to the COPYING file that came with FVWM-Crystal for details.

BUGS

Bug reports can be sent to the fvwm-crystal-users mailing list at https://mail.gna.org/listinfo/fvwm-crystal-users/.

SEE ALSO

KeyboardBindings(1), MouseBindings(1), FVWMCrystalFAQ(1), TIPS(1), CrystalRoxHOWTO(1), ApplicationDatabase(1) http://fvwm-crystal.sourceforge.net/