X Window
Installing, configuring the X server
Xorg.conf needs to be configured in the following situations:- installation of the video card (refresh rates etc) !
- support of Wacom Tablet
- support of new fonts
dpkg-reconfigure xserver-xfree86
Also check the file /etc/X11/XF86Config-4
restarting the X server
OpenSolaris | Debian/Ubuntu |
---|---|
svcadm disable gdm and then svcadm enable gdm | ctrl alt backspace |
No graphical login manager
OpenSolaris | Debian |
---|---|
svcadm disable gdm | remove /etc/rc?.d/S99xdm and S99kdm to make sure XDM or KDM are not loaded at boot |
Automatic login
Run gdmsetup (as root) or in /etc/X11/gdm/custom.conf:
AutomaticLoginEnable=true AutomaticLogin=username
GDM nest
# /usr/bin/gdmXnest -query 192.168.0.20 --xnest=-display 192.168.0.2:0.0
Window Manager
To know which Window Manager you are using currently, do:$ wmctrl -m Name: FVWM Class: fvwm PID: N/A Window manager's "showing the desktop" mode: N/Aor
$ echo $DESKTOP_SESSION fvwm
Gnome
Solaris | OpenSolaris 2009.06 | Debian | Ubuntu |
---|---|---|---|
Provided in the Java Desktop Environment | Yes | Yes.
sudo apt-get install screenlets screenlets-manager & |
Gnome is a major Unix desktop, probably as famous as KDE. Depending on operating systems and versions, its default look may be a bit "strict". The main problem I see with it is that it is heavy.
One of my former desktops used the following:
- Theme: BlackGarden theme. You have to install the theme with Preferences > Desktop Preferences > Display > Themes. Fetch the tar.gz, then close and reload the theme manager to see BlackGarden. The install procedure actually untars the theme in ~/.themes.
- Gnome-terminal: transparency's throttle is set to the middle.
- Icon bar: with weather, sticky notes, log out, two launchers (terminal & firefox). The bar's properties are set to: don't expand, show hide buttons.
To use GNOME's screensaver, launch: gnome-screesaver (without &). Then, to lock, do gnome-screensaver --lock
To launch an application as root: gksu
To control sound level: gnome-volume-control
Enlightenment
Solaris 10 | OpenSolaris 2008.11 | Debian | Ubuntu |
---|---|---|---|
Tested both on x86 and Sparc. Not tried (but should work) | Yes |
You can download Enlightenment themes from Get-E. My favorite themes are :
- Bevelfree: coloured, simple with no 3D.
- Dufrenite: nice, but a bit 'gray'.
- Thingradient
- XaquaX: an Apple look
Enlightenment shows customizable menus. To edit the menus, look for a file called files.menu in ~/.enlightenment. Buttons are configured in the theme as buttons.cfg. Usually, you set action classes (actionclasses.cfg). Make sure they use the right path.
FVWM
I like FVWM because it is quite lightweight. However, the look and feel of FVWM 2.4 is a bit 'old' (to my opinion), so I wanted to use FVWM 2.5. Since then, a version 2.6 is out, but I haven't tried it.
Installing FVWM
OpenIndiana | Solaris 10 | OpenSolaris 2009.06 | Debian | Ubuntu | Linux Mint |
---|---|---|---|---|---|
Compile from sources using ./configure -disable-xinerama -disable-bidi | No pre-compiled package: I managed to compile it from sources though I remember I had a few problems | No pre-compiled package. Compiles easily from sources: ./configure -disable-dmalloc -disable-efence -disable-debug-msgs -disable-xinerama -disable-nls | There's a package for it | There's a package for 2.5.24 | ./configure --disable-xinerama --disable-bidi --disable-nls --disable-iconv |
xterm & fvwm
I currently use fvwm 2.6.5.
FVWM's configuration is usually located in a file named .fvwm2rc or .fvwmrc. In my case, it is located in .fvwm/config.FVWM's configuration file
Setting an environment variable with SetEnv. The shortcut $. means the current FVWM directory. It is possible to access shell variables with $[NAME]. Environment variables may also initiate commands.SetEnv fvwm_img $./img/ SetEnv fvwm_wallpaper_dir $[HOME]/images/backgrounds SetEnv fvwm_term "xterm -sb -sl 1200"Setting a window as sticky (i.e will be shown on all desktops) requires its title and the keyword sticky.
Style crocbar StickyIncluding other configuration files:
Read $./conf/style.fvwm2rcDisabling the splash banner at startup: make sure the FvwmBanner module is commented.
#+ I module FvwmBannerTo launch things at startup (or exit) add them to InitFunction, StartFunction and ExitFunction. StartFunction is called each time FVWM is started or restarted. An example of InitFunction is displayed below. Note the screensaver (xscreensaver package) will only work if the no-splash option is specified.
AddtoFunc InitFunction + I exec exec fvwm-root -r $[fvwm_wallpaper_dir]/.current + I exec exec xscreensaver -no-splashIconify applications with a screenshot: the idea is to manually take a bad quality screenshot of the application you are iconifying when iconifying is requested. The image is stored in a temporary directory and used as the application's icon.
SetEnv fvwm_icon_size 150 DestroyFunc Thumbnail AddToFunc Thumbnail + I Raise + I SetEnv Icon-$[w.id] $[w.IconFile] + I ThisWindow (!Shaded, Iconifiable, !Iconic) PipeRead \ "xwd -silent -id $[w.id] | convert -scale $[fvwm_icon_size] -quality 0 \ xwd:- png:/dev/shm/icon.tmp.$[w.id].png; \ composite -geometry +5+5 $[w.IconFile] \ /dev/shm/icon.tmp.$[w.id].png /dev/shm/icon.tmp.$[w.id].png; \ echo WindowStyle IconOverride, Icon /dev/shm/icon.tmp.$[w.id].png" + I Iconify DestroyFunc DeThumbnail AddToFunc DeThumbnail + I PipeRead "echo WindowStyle IconOverride, Icon \\$\\[Icon-$[w.id]\\]" + I UnsetEnv Icon-$[w.id] + I Exec exec "rm -f /dev/shm/icon.tmp.$[w.id].png"FVWM's pager is handled by the FvwmPager module. To set up a vertical pager, do:
*FvwmPager: Columns 1If you enjoy configurable button bars (for example, similar to Windows' bottom bar with the Start Menu), you should consider using the FvwmButtons module which groups buttons in a configurable way. PEM's config provides a pre-configured topbar and a dockbar.
#Read $./conf/topbar.fvwm2rc Read $./conf/dock.fvwm2rcAlternatively, you might be interested in my husband's CrocBar. With FVWM, several key and mouse bindings can be configured. For example, to have the FVWM main menu show when one clicks on the root frame in any desktop:
Mouse 1 R A Menu MenuFvwmRoot
- The first number specifies the button of the mouse (1=left click, 2=middle button, 3=right click, 4=wheel down, 5=wheel up).
- The second parameter specifies the window the action applies to (R=root window, T=title bar of the window).
- The third parameter corresponds to when the binding should be enabled (A=Always).
# display window list when middle button is clicked Mouse 2 R A WindowList NoCurrentDeskTitle # move to desktop on the right when scrolling with mouse button upwards # move to the left when scrolling down. Mouse 4 R A GoToDesk +1 0 3 Mouse 5 R A GoToDesk -1 0 3 # iconify the window if the mouse clicks on the iconify button of the window Mouse 1 I A Iconify # shade the window if you scroll down with the mouse on the title of the window Mouse 4 T N WindowShade TrueSetting up a specific layout for given programs is to be configured using a Style command. For example, if I wish no title bar by default for unknown programs, then:
Style Untitled NoTitleBut I don't like that, so I actually commented this line ;) To set up the colors of the window titles, this must be done by defining colorsets. There are pre-defined numbers for colorsets, and for instance, inactive windows get colorset 0, while the active one has colorset 1. This defines the colorset for active windows with the window title written in light yellow, and the window title background in orange. I used the hexadecimal representation of colors, but it's possible to specify RGB colors, or just the name (orange, red etc) if it's a plain color.
Colorset 1 fg #f3ebb4, bg #f17f3aThis defines a transparent colorset for inactive windows:
Colorset 0 fg #93cb1b, bg #3f633f, RootTransparent Buffer, Tint #000000 20Globally, the window title is dark green, but it is transparent and slightly tinted in black (000000).
Colorset 0 for inactive windows and 1 for active windows are actually set that way:
Style * Colorset 0, HilightColorset 1 Style * BorderColorset 0, HilightBorderColorset 1It is also possible to specify other parameters such as the width of the border, and the handles to shrink or grow the window:
Style * Borderwidth 3, HandleWidth 5The font of the window title can be specified:
Style * Font "-*-clean-bold-*-*-*-16-*-*-*-*-*-*-*"Use something your system supports (select with xfontsel). Of course, one can specify where to put the window title. If you don't want it on top of the window, but on the left, then it's that way:
Style * TitleAtLeftTo specify the number of buttons one wishes on the window, this is done that way:
Style * Button 1, Button 2, Button 4, Button 6, GrabFocusOffwhere I say I want buttons 1, 2, 4 and 6, where those numbers correspond to the position of buttons on the window. Then, it's possible to specify the buttons to show in each position. For example, this specifies the icon image to use for the iconify button.
+ AddButtonStyle 6 Active Pixmap $[fvwm_theme_img]/iconify_activeup.xpm -- flat + AddButtonStyle 6 Inactive Pixmap $[fvwm_theme_img]/iconify_inactive.xpm -- flat
My FVWM configuration
A screenshot of my current desktop. It is very much taken from PEM. It also features the Crocbar