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
andxmms2
.The supported audio mixers are
alsamixer
andaumix
, 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
andFVWM-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 theHome
icon will open theDesktop icons preference menu
. theHome
icon is mandatory, both theXDG user directories
icons and thepartitions
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
andSpaceFM
.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 usepumount
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
andMwm
will show the application icons. Simple clicking on theAmiga
style icons will restore the application window. Double clicking on theMwm
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
andXTerm
. - 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
andXTerm
. - 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/