This document began as the notes for a SFVLUG presentation at a general membership meeting at Village Coffee Roaster in Woodland Hills, CA on December 18, 2004. Hopefully, we learn from experience and from our mistakes of commission and omission. This is an attempt to rectify any mistakes and to polish these notes into a better learning experience and provide the information to anyone with interest that was not in attendance at the meeting.
For SFVLUG specific links please click here
Why worry about style? The purpose of this document is to address the issue of style and how it relates to function. This is not a one size fits all world, if it were ice cream parlors wouldn't have thirty one flavors and we would still all be driving around in model T Ford cars painted black. The GNU/Linux working environment is designed to serve the needs of many people wanting to perform all manner of tasks and having quite different opinions on how best to accomplish those tasks. Style and function need to complement each other and any compromise between style and function needs to be balanced by the individual user.
We all feel better when surrounded by things we like. Working in an enjoyable environment is good for you, it is good for your overall well being. The virtual world of your computer's desktop environment is no different and has no less of an effect on you than your physical environment. The wallpaper on your computer is as important to your environment as the wallpaper on the wall behind your computer. You may not be able to change the wallpaper in your office, but you can change it on your computer's desktop.
Most compromise between style and function comes in balancing resources and depends on the capability of your system vs your requirements. It takes a lot more resources to display a full color world map clock than it does to display a simple digital clock. Keep your personal needs in mind as you make your decisions. If you are using your computer to do complicated mathematical analysis of large amounts of data you may not want to waste your resources on a world map clock. However, if all you are doing is just surfing the Internet or writing a letter to your cousin it may not matter that much, and that world map clock looks real cool, it is always nice to know the time in Paris, and Tux prancing across your desktop makes you laugh.
Define elements that lend themselves to customization. Splash images, backgrounds, panels, icons, and window decorations are the components of the Linux desktop GUI that provide some of the best opportunities for customizations. There are two boot managers, two major desktop environments, and literally dozens of Linux window managers. So, for the purpose of this documentation, to keep its scope to a practical level, we will concentrate on those components with a high capability of customization.
Create a theme on which to base your customization. To take full advantage of customized settings and to achieve a good overall look to your desktop you need to establish an overall theme or plan for your desktop. You may want to design your theme around a personal interest, hobby, game, movie, or favorite colors. When designing your look you also need to remain practical. Dark text against a dark background or light text against a light background can be difficult to read. Colors focus at different distances due to a difference in wavelength and can create strikingly beautiful or visually confusing effects.
If you share your computer with other users you may need to keep their preferences in mind. This is especially true in setting the resolution of the monitor. Each user can easily set their own desktop look, but the screen resolution can create problems that can't be easily resolved just by changing the size of icons and fonts. Login and other start up screens can be effected by screen resolution as well. It might be necessary to make a compromise when sharing a workstation with other users.
It is helpful to use a color scheme when designing a look for your desktop. If you have experience with graphic design and color you can go wild and use any of your favorite schemes. If you don't have a lot of experience with graphic design I will give a few tips to help give you a good overall look.
Keep to a monochromatic scheme. Pick your favorite color and stay close to it on the color wheel. Use it for the largest and strongest elements on your desktop. You can dip into adjacent colors but don't go to far one way or another from your favorite.
Keep to colors of similar value except where contrast is needed. Value is how light or dark a color is.
Keep to colors of similar saturation except where contrast is needed. Saturation is how vivid or deep a color is.
Use contrast to set off elements in your design. Use with restraint or your design becomes too busy and confusing to the eye.
Using light text against a dark background can cause problems when visiting sites on the Internet. Many sites are designed exclusively for one look and can be problematic especially when filling out forms. You can somewhat fix the issue by using your own style sheets in browsers that allow you to do that, but in general a theme that uses dark text against a light background works better for Internet use.
Take a look at your physical environment. If you like it do what you can to bring elements of your physical environment into your virtual environment. If you aren't all that happy with your physical environment then do what you can to balance it by using elements in your virtual world that you do like.
If necessary or desirable create more than one theme. Even if you are the only user on a system it may be best to have different themes available for different situations.
Boot manager with the greatest flexability. You can make changes, like recompiling your kernel without the need to reconfigure Grub each time. It also allows you to easily default to the last choice run, very handy in dual boot systems.
To customize the look of grub you can add the following line to menu.lst:
splashimage /boot/grub/splash.xpm.gz
The file named in this line needs to be in .xpm.gz format with 14 colors at 640x480 resolution. There are some security issues with the .xpm format which may explain why many distributions have switched to using the .png format for icons. You may encounter problems with Gimp and other graphic applications saving images in the .xpm format. Grub still requires that format and I don't know when that might change but it is apparently planned.
WARNING: Because of security issues it wold be best not to be using .xpm images from anywhere but a completely trusted source.
http://www.linux101.org/grub
(splashimage HOWTO)
http://www.gnu.org/software/grub/
(project home page)
http://www-106.ibm.com/developerworks/edu/l-dw-linuxgrub-i.html
(requires registration)
The display manager provides a graphical login to the X Window System. You can actually use more than one display manager at a time if they are configured to manage different servers. If you have more than one display manager installed and intend to use both, configure the display managers accordingly, edit their init scripts in /etc/init.d and disable the check for the default display manager. The most common display managers are xdm, kdm, and gdm, but there are others. For this presentation only the gdm and kdm display managers will be covered.
It is possible to have problems with a display manager and a particular graphic card. If you are experiencing problems try switching to a different display manager. In Debian you can run dpkg-reconfigure kdm replacing kdm if necessary with the name of your current display manager, but note you must already have installed the other display manager(s) you want to use.
If you aren't sure if a particular display manager is installed, from a command line type 'which kdm' replacing kdm with the display manager you are checking for. If you get a result like /usr/bin/kdm you know kdm is installed and located in /usr/bin/.
Configure kdm from the Control Center under System Administration > Login Manager. If you may also configure kdm at login if permission has been given for configuration at login.
http://gershwin.ens.fr/vdaniel/Doc-Locale/Outils-Gnu-Linux/Kde/kdm/index-3.htmlConfigure gdm by running gdmsetup from a console or using your distributions configuration accessible at login or from your main menu in your desktop environment.
http://howtos.linux.com/howtos/XFree-Local-multi-user-HOWTO/dm_conf-gdm.shtmlKDE is currently the desktop environment that has the most options easily set from built in settings controls. Most settings can be found in the Control Center directly under K-Menu > Control Center or in some distributions under K-Menu > Settings > Control Center.
This wizard runs at the first start of KDE or you can run it later from the K-Menu, usually at the lower left corner of the screen,select Settings > Desktop Settings Wizard at any time to run the wizard.
Introduction – Choose your country and primary language
Select Perfered System Behavior – Choose to have your system act similar to KDE, UNIX, Microsoft Windows, or Apple MacOS
Eyecandy-O-Meter – Sliding scale or pick individual features by selecting Details, the trade off is speed vs style
Themes – These themes are the equivelent of styles selected in the KDE Control Center. They may include KDE Classic, Keramik, Plastik, Platinum, Redmond, and Sunshine. You may find these looks familiar to those from other famous operating systems.
Finish – You will also have the opportunity of starting the Control Center,
You can use the Control Center to make additional adjustments to the look and feel of KDE as well as make other system settings. The list of KDE Control Center settings given in this presentation are based on KDE 3.3 under Debian Sid, the exact settings may be different on other versions and distributions. This list is not meant to take the place of the Control Center documentation but to give a general overview of graphical settings available from the Control Center.
Background – Settings for desktop backgrounds where each desktop can have individual settings. On later versions of KDE it is possible to include overlays of colors and patterns. Under advanced options it is possible to include applications to display on the desktop, such as a world clock map.
Colors – Select your window color scheme. If you don't have one completely like pick one that is close and modify the elements you want to change. Be sure to same your new scheme with a name not already taken in the list unless you want to completely replace it. You can also import colors that are in the .kcsrc format.
Fonts – Select fonts and sizes appropriate to your overall theme as well as your screen resolution. Not all fonts need to be the same size and fonts with the same point size can vary a lot in how large they display. You can usually do well by making the Window Title and Desktop fonts at least two points larger than the other fonts. Be sure that the General font is easy to read. When picking a fixed width font be sure to select one where it is easy to see the difference between I l 1 | and ! as with some fonts some of the characters are indistinguishable.
Icons – Unless you have limited resources I suggest a rich look to your icons with a nice three dimensional look. Pick a set you like but don't be afraid to customize some of your favorite icons or even make some for applications that don't come with icons. In the Advanced setting tab you can set specific effects for Default, Active, and Disabled icons.
Launch Feedback – Settings for the behavior of a busy cursor and taskbar notifications.
Screen Saver – Set your favorite screen saver and try to make your selection fit in with the overall theme.
Splash Screen – This is the KDE splash that displays each time you start or restart a KDE session. Pick a pre-installed splash screen, import one, or create your own. For an individual user you can place the necessary files under ~/.kde/apps/ksplash/Themes/ or for global use put them in /usr/share/apps/ksplash/Themes/ Click the help tab in the Control Panel for further instructions on how to install your own splash screen.
Style – This section lets you select your widget style, GUI effects, and toolbar settings. Widgets are elements of a window that include tabs, progression bars, radio buttons, check boxes, sliders, buttons, and drop downs. Effects include Combobox, Tool tip, menu, and menu tear off handles; you can also set the menu drop shadow here. If you elect to have a translucent menu effect you can set the amount of translucency. The miscellaneous settings let you set highlighting of buttons on mouse over, transparent toolbars when moving, and how or if text is to be displayed with icons.
Theme Manager – You may have some pre-installed themes that affect the background, colors, style, icons, and screen saver all in one place. If you set all those settings yourself this is a place where you can save your settings as a theme.
Window Decorations – These are the elements of the window that include the title bar, buttons, and border. Make your selection based on both style and function. The second tab allows you to have some control over the placement of buttons, display of tooltips, as well as size of the border
Behavior – Settings of which icons are displayed on the desktop, the menu bar on the desktop and behavior of the mouse when clicking on the desktop.
Multiple Desktops – Set the number of desktops and their names. You can also set it so that the mouse wheel will scroll through the desktops.
Panels – Select the arrangement, hiding, menus, and appearance relating to desktop panels. The arrangement lets you set the position, length, and size (depth) of the panel. Hiding determines if the panel is hidden when not in use and how it is hidden. Menus settings define the K-Menu look and function, even allowing the editing of the menu itself. Appearance has many controls over the look of the panel. You can set tiles behind panel button backgrounds or select custom colors. You can set the panel background to an image or set it as transparent. One of my favorite settings is to enable icon zooming that enlarges an icon on a mouse over. Don't neglect the advanced button on the appearance tab for additional settings.
Taskbar – Settings effecting the taskbar. My favorite customization is to enable the Window List button, it comes in quite handy especially when you have many applications open across different desktops.
Window Behavior – More function than looks, this section lets you control how windows respond when moved, resized or clicked. The tabs are Focus, Action, Moving, and Advanced. See the help tab or KDE Help Center for more information.
Skipping over other settings not related to graphical customization
Display – This section has tabs for Size and Orientation, Monitor Gamma, and Power Control. The screen size settings are subject to the contents of your XF86Config or equivalent file, but allows you to make changes to your display within those constraints. You can't set your screen size larger than the largest setting in your XF86Config file. Setting the monitor's gamma setting can greatly effect the look of your desktop, the effect is similar but not identical to changing your monitor's contrast.
For more detailed help on these and other KDE Control Center sections click on the Help tab at the top of the left hand column, then for even more information go to the KDE Help Center by clicking on the link that says, “To read the full manual click here.” The KDE Help Center is available directly by clicking on K-Menu > Help.
http://kde.org/Once my favorite desktop environment its following has suffered in the commercialization process it has undergone since the upgrade to Gnome 2 and the switch to Metacity as the default window manager. The philosophy seems to be to tightly integrate the window manager into the Gnome desktop environment. Design is to be simple and the limited configuration is considered a desirable feature and not a flaw. Most settings are under the Gnome Control Center but much of the flexibility in changing the look and feel through the GUI settings has been lost.
http://gnome.org/The window manager works in the desktop environment specifically to draw the application window. The dividing line between the window manager and the desktop environment isn't always sharp and clear. The discussion on this section is limited to the default window managers for KDE and Gnome. This document is structured in this manner for consistancy and future development. The default window managers for KDE and Gnome are KWM and Metacity respectively, both are tightly integrated into their desktop environments.
KWM is the built in window manager for KDE. Most settings actually take place here, but the integration is so complete that it is difficult to distinguish the division. While it is possible to use other window managers under KDE most people stick with KWM.
http://gershwin.ens.fr/vdaniel/Doc-Locale/Outils-Gnu-Linux/Kde/kwm/Metacity has become the default window manager for Gnome 2 in the attempt to satisfy corporate and government requirements for internationalization and accessibility. As an old Gnome/Sawfish fan I hated to see the change, but it was necessary in the long run. Unfortunately, written by Havoc Pennington of red Hat, Metacity seems to be under the control of a relatively small group of developers and been constrained by their design philosophy. Gnome and Metacity still has a very dedicated following.
I believe that the open source movement is about choice. While I personally don't like the direction which Gnome/Metacity has taken, its simplicity and limited customization may be just the right thing for you. At some point in the future I may put more effort into this section, but for now I don't see much reason. Just go to the Gnome Control Center and find the settings you like, they are simple, easy to make, and usually take effect immediately.
http://ftp.gnome.org/pub/gnome/sources/metacity/