home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd2.bin / docu / ascii / suselxen / slxen-09.txt < prev    next >
Text File  |  2000-03-11  |  58KB  |  1,280 lines

  1.                                                                               Chapter 9
  2. The Window Manager-Window to
  3.                                                             Your Machine
  4.  
  5. The Window Manager-Window to Your Machine
  6. Once the configuration of the X server is accomplished, the typical user im-
  7. mediately wants to implement a colorful desktop with windows, menus and
  8. many other features that a first-rate desktop needs.
  9. This chapter looks at window managers. The following topics are covered:
  10.  
  11.  * the window manager and its tasks
  12.  * fvwm2-a classical window manager in Linux
  13.  * KDE-the K Desktop Environment as an alternative
  14.  * susewm-a very elegant way to modify your own configuration file
  15.  * in practice-adapting all the various settings
  16.  
  17. Even if you are eager to rush ahead, you still need some theory to begin with,
  18. so be patient!
  19.  
  20. 9.1 Some Theory
  21.  
  22. 9.1.1 General
  23. In contrast to the monolithic graphics desktops used in Windows and OS/2,
  24. the various functional layers used by UNIX and Linux are separated into
  25. independent sections. This, at first glance, makes the system more complex.
  26. On the other hand, it gains flexibility and the system is able to handle more
  27. complex tasks.
  28. The first layer above the hardware is the operating system, which handles
  29. "low-level" tasks like memory management, for example.
  30. On the next layer the  X Server (X Window System) is located, which cor-
  31. responds to the "graphics device driver" used in other systems. The X server
  32. provides a network-wide abstract layer below the GUI itself. Thus, you are
  33. able to use these services via an entire network (including the Internet).
  34. In short: The X server actually does "nothing else" but:
  35.  
  36.  * communicate with the graphics card,
  37.  * draw dots, lines, rectangles and text, and
  38.  
  39.                                                                                      229
  40.  
  41.  
  42.  
  43. 9. The Window Manager-Window to Your Machine
  44.  
  45.                * distribute services over the net or on the local host.
  46.  
  47.               Even though most users run an X server locally (i.e. just on their own ma-
  48.               chine), its integrated network capabilities, transparent for the user, are a huge
  49.               advantage in using an X server.
  50.               Thus a uniform interface has been created which does not put any limitations
  51.               on the graphical design of the desktop. Only because of this is it possible
  52.               for different graphical desktops to be developed, and yet have all programs
  53.               displayed in the same way on all desktops. In a network environment it is
  54.               also possible, for example, to have an application run on the machine in the
  55.               office, but have all its screen output displayed on the PC at home. It does not
  56.               matter here if just single applications, or the entire desktop are running on the
  57.               remote computer. The hardware architecture, and the operating system also
  58.               play no role here (as long as they support X11). Thus, for example, you no
  59.               longer need to sit in the same room as the powerful, but noisy, workstation,
  60.               but you can work on another, less powerful computer, from the comfort of
  61.               the office, with the application running on the workstation remotely. Since
  62.               Linux is a multi-user system, a number of different users can work on the
  63.               same machine, via X terminals1.
  64.               Now, to be able to display all the graphics stuff such as rectangles and things
  65.               known as "windows", the services of a window manager are essential.
  66.               Windows are important to clarify context; windows let you start applications
  67.               in windows next to each other, and provide menus with which you can operate
  68.               your system comfortably.
  69.               The window manager is an additional layer between the X server, your appli-
  70.               cation programs and the user.2
  71.  
  72.  
  73.                                                        User
  74.  
  75.  
  76.  
  77.  
  78.                                                          Applications
  79.  
  80.                                             Windowmanager
  81.  
  82.                                                        X-Server
  83.  
  84.                                                        Hardware
  85.  
  86.  
  87.                                        Figure 9.1: Layers of GUIs in Linux
  88.  
  89.               On Linux there is a wide variety of window managers, e. g.: whereby dis-
  90.               tinction should be made between pure window managers and "Desktop Envi-
  91.               1 an X terminal is an small computer without a hard drive, which boots via the network
  92.               2 X application developers may access the server directly.
  93.  
  94. 230
  95.  
  96.  
  97.  
  98.                                                                              9.1. Some Theory
  99.  
  100. ronments". Whilst window managers only manage the windows, a "Desktop
  101. Environment" manages a number of applications, all having the same look
  102. and feel.
  103. In SuSE Linux the following window managers, amongst others, are in-
  104. cluded:
  105.  
  106.  * fvwm and fvwm2 (the window manager)
  107.  * fvwm95 (Windows 95 clone)
  108.  * bowman (has the look and feel of NeXTSTEP)
  109.  * ctwm
  110.  * afterstep
  111.  * olvwm (OpenLook virtual window manager)
  112.  * cde ¡ Common Desktop Environment (commercial)
  113.  * kwm ¡ window manager of the K Desktop Environment (KDE)
  114.  
  115. For a long time the Fvwm was THE Linux window manager. On the basis
  116. of this, a number of different window managers were written, which are all
  117. configured in a similar way, although they all have their peculiarities. To
  118. this family belong the Fvwm in versions 1, 2 and 2.2, as well as afterstep,
  119. bowman, cdesim and fvwm95.
  120. You will also find the following desktop environments
  121.  
  122.  * KDE K Desktop Environments (standard in SuSE Linux)
  123.  * GNOME ¡ GNU Network Object Model Environment
  124.  * CDE ¡ Common Desktop Environment (commercial)
  125.  
  126. Apart from these, there are many other window managers available, including
  127. Wm2, Mlvwm, Qvwm, Enlightenment, Twm, Icewm, Scwm . . .
  128. Which window manager you use depends mainly on personal preferences, the
  129. functions you need and the performance of your particular hardware. There
  130. are remarkable differences in memory use between window managers. You
  131. should only use a desktop such as KDE or GNOME if you have at least
  132. 32MB, 64 MB is preferable. But it is in the configurability and flexibility to
  133. accommodate new features and updates, where differences between window
  134. managers make themselves felt. In Figure 9.4 on the next page, Figure 9.5 on
  135. the following page and Figure 9.3 on the next page you see three examples of
  136. window decoration.
  137.  
  138.  
  139.  
  140.  
  141.  
  142.     Figure 9.2: No window decoration. X11 without a window manager
  143.  
  144. There is nothing to stop you installing and trying out the various window man-
  145. agers simultaneously. Once you have decided on a certain window manager,
  146. you can adapt it, together with your desktop, to your personal needs. The
  147.  
  148.                                                                                          231
  149.  
  150.  
  151.  
  152. 9. The Window Manager-Window to Your Machine
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.                      Figure 9.3: Window decoration of kwm in the KDE Desktop
  160.  
  161.  
  162.  
  163.  
  164.  
  165.                                 Figure 9.4: Window decoration of Fvwm2
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.                            Figure 9.5: Window decoration of WindowMaker
  173.  
  174.               KDE Desktop is installed as the standard desktop, because this is currently
  175.               the one which has been developed furthest.
  176.               Most of the window managers mentioned locate their configuration files and
  177.               related data in subdirectories of /usr/X11R6/lib/X11. Feel free to rum-
  178.               mage around!
  179.  
  180.                Hint: most of the information in this chapter refers to fvwm2 or KDE. We
  181.                recommend them both!
  182.  
  183.               9.1.2 What Does a Window Manager Manage?
  184.               Here is a short (and incomplete) list of what desktop properties you can
  185.               change by using a window manager:
  186.                * appearance of your windows
  187.                   ¡ width and height, colors, 3D effects of the window frame
  188.                   ¡ window controls, e. g., for moving and enlarging windows (the so-
  189.                     called window decoration), headings and fonts
  190.                * overlapping of windows
  191.                   ¡ raising of windows (e. g., AutoRaise).
  192.                   ¡ pinning of windows
  193.                * focusing of windows by:
  194.                   ¡ clicking
  195.                   ¡ entering with the mouse pointer
  196.                * popup menus
  197.  
  198. 232
  199.  
  200.  
  201.  
  202.                                                                                9.1. Some Theory
  203.  
  204.      ¡ look and feel of menus (colors, fonts)
  205.      ¡ behavior of menus and submenus
  206.  * screen background
  207.  * virtual desktop (multiple desktops/screens)
  208.  * icon management
  209.  * linking sounds to actions on your desktop
  210.  
  211. Not all window managers provide a graphic and intuitive means of configura-
  212. tion to set up and administer the above-mentioned functions. KDE, GNOME,
  213. WindowMaker and Enlightenment do, however.
  214. Most window managers read one or more configuration files at startup. The
  215. behavior of the window managers may be set in these files. The syntax itself
  216. is more or less mnemonic. It's a pity that all of the window managers use a
  217. different format for saving their configuration files. You will need to read the
  218. appropriate manpages.
  219. Eventually, you will settle on your "favorite" window manager. You will learn
  220. its idiosyncrasies and configure it to suit your needs.
  221.  
  222. 9.1.3 Starting Different Window Managers
  223.  
  224. SuSE Linux has different ways of starting a window manager, depending on
  225. how you want to start your X Window System.3
  226.  
  227. Starting with xdm
  228.  
  229. If you use xdm instead of kdm, you must set the environment variable WIN-
  230. DOWMANAGER as described below.
  231.  
  232. Starting with startx
  233.  
  234. If you don't have the X Window System started automatically after booting,
  235. you can, using the command startx, start a specific window manager from
  236. the console. This can be done simply by entering:
  237.     newbie@earth: > startx fvwm95
  238. to start the Fvwm95 directly. This works for most of the window managers
  239. included. You can extend this command to include, for example, settings of
  240. color depth, if you want to use the color-intensive AfterStep (afterstep).
  241. The command:
  242.     newbie@earth: > startx afterstep -- -bpp 16
  243. starts the X Window System in 16 bit color depth (65536 colors) with After-
  244. Step as the window manager.
  245. As the window manager name, the name of the executable window manager
  246. program is always used here.
  247.  
  248. 3 The two main ways are either via xdm or a text console.
  249.  
  250.                                                                                            233
  251.  
  252.  
  253.  
  254. 9. The Window Manager-Window to Your Machine
  255.  
  256.               The WINDOWMANAGER Variable
  257.               Instead of having to specify the window manager each time you start, and if
  258.               you always want to use the same manager from now on, you can enter the
  259.               following line in the file  /.bashrc in your HOME directory, or modify the
  260.               existing line:
  261.                   export WINDOWMANAGER=fvwm95
  262.               in order, for exampleof the executable window manager program must be
  263.               specified, possibly including the path of the file if the corresponding directory
  264.               is not contained in your PATH environment variables.
  265.               You can also insert the entry shown above into the file /etc/profile if
  266.               you want, or need, to define your window manager settings system-wide. In
  267.               doing this, though, you should ensure that each user in the system is able to
  268.               overwrite this setting in his own  /.bashrc file.
  269.  
  270.                If you start your X Window System via kdm (a feature of KDE), you must
  271.                not set the environment variable WINDOWMANAGER. Instead, select your
  272.                window manager from the kdm pulldown menu. See Section 9.2.
  273.  
  274.               Changing the Window Manager Whilst System is Running
  275.               If you use susewm you are offered the option to change the window manager
  276.               to one of a number of window managers, particularly those of the fvwm
  277.               family.
  278.               Please note here that any already opened windows, and thus the processes
  279.               running in them, are not interrupted. For certain window managers such as
  280.               ctwm, mwm, kwm (KDE) or CDE however, this is not possible for technical
  281.               reasons (the programmers of the window managers did not plan for this fea-
  282.               ture). You can nevertheless change between window managers as you please,
  283.               using the SuSE tool DyDe. This also allows you to start and end various
  284.               desktop elements of KDE and GNOME. If you want to use this, you must
  285.               define suse as the window manager or select it in kdm.
  286.  
  287.               9.2 KDE ¡ the K Desktop Environment
  288.               KDE is a graphical user interface that is standardized and easy to configure.
  289.               Many applications use the KDE look and feel. KDE stands for "K Desktop
  290.               Environment" and is a project founded in 1996.
  291.               KDE comes with a window manager, kwm, a file manager, kfm, which plays
  292.               a central role, and a system-wide help system, kdehelp. This help system
  293.               supports HTML manpages as well as GNU info. Many applications are
  294.               available for KDE, including mailers, news readers, games, system info tools
  295.               and much more.
  296.               Please be aware that KDE is still considered beta software (as you can see
  297.               from the version). It is susceptible to occasional crashes, but luckily, not very
  298.               often.
  299.               KDE is totally  URL and  MIME-based. This, in particular, means that all
  300.               details of path and links to files are passed on and processed using a standard
  301.  
  302. 234
  303.  
  304.  
  305.  
  306.                                                        9.2. KDE ¡ the K Desktop Environment
  307.  
  308. form and transfer protocol (e. g., links to files, links to an HTML page, a
  309. file in your filesystem, a help page or an FTP site). It is also defined via
  310. "Mimetypes" which programs can read which files. Through this it is possible
  311. to look at these by mouse click, irrespective of the time and source of the data,
  312. and possibly to modify them.
  313. Thus it is possible to view different files and formats with the same viewer.
  314. Furthermore, KDE has many drag-and-drop features (e. g., copying a file from
  315. an FTP site to your local system).
  316. The KDE helpdesk, kdehelp, is a powerful application. All authors are
  317. obliged to provide their help pages as HTML pages. Besides the help sys-
  318. tem itself (this may be launched from each application itself via its `Help'
  319. button), it is capable of browsing even GNU info pages or UNIX manpages.
  320. Just a few further interesting features in a long list are that you can configure
  321. applications written in KDE, and KDE itself, uniformly, simply and conve-
  322. niently by menu, and store icons on the KDE desktop as links.
  323. This behavior of KDE is made possible by means of the QT widget set.
  324. Similar to Motif, QT is a set of graphics libraries that enable you to create
  325. GUIs on the X Window System. Please note that the licence conditions of
  326. QT differ from GPL (see /usr/doc/packages/qt/LICENSE).
  327.  
  328. 9.2.1 Installation Overview
  329. Here, we give a short overview of the KDE installation-mainly path settings,
  330. location of files, configuration options and important key combinations.
  331. By default, KDE is written to /opt/kde. Every KDE application may
  332. be found in this subdirectory. Setting an environment variable KDEDIR in
  333. /etc/profile makes it easier to access KDE applications.
  334. The KDE binary path /opt/kde/bin is automatically added to your PATH
  335. variable when you install KDE.
  336. There are many subdirectories in /opt/kde. In Table 9.1, we discuss only
  337. the most important ones.
  338.  
  339.  
  340.  /opt/kde/bin                         all KDE program binaries
  341.  /opt/kde/share/config system-wide configuration files
  342.  /opt/kde/share/applnk application links (menu)
  343.  /opt/kde/share/apps                  files of KDE programs
  344.  /opt/kde/share/doc                   the on-line help system
  345.  /usr/doc/packages/kde additional information on KDE
  346.  
  347.                    Table 9.1: KDE-important directories
  348.  
  349.  
  350. 9.2.2 kdm-a Graphical Login
  351. The KDM display manager, kdm, is a nice feature of the KDE system. This
  352. tool is a valuable enhancement to the Linux system, in which users can login
  353.  
  354.                                                                                        235
  355.  
  356.  
  357.  
  358. 9. The Window Manager-Window to Your Machine
  359.  
  360.  
  361.                       
  362.                 Alt  +  F1                                    The K menu is opened.
  363.                       
  364.                 Alt  +  F2                                    A universal entry field is opened. Here
  365.                                                               you can enter URL's, local directories
  366.                                                               or programs/commands
  367.                       
  368.                 Alt  +  F3                                    This closes the window.
  369.                       
  370.                 Alt  +  Tab                                   Here you can switch between the win-
  371.                                                               dows of the current desktop
  372.                             
  373.                 Ctrl  +  Esc                                  A session overview is opened dis-
  374.                                                               playíing all the windows of the desk-
  375.                                                               top
  376.                                 
  377.                 Ctrl  +  F1  
  378.                                . . . F8                       Switches between desktops 1 to 8.
  379.  
  380.                                 Table 9.2: KDE ¡ Important key combinations
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                      Figure 9.6: The kdm display manager
  394.  
  395.  
  396.               graphically (normally done with xdm). KDM's default configuration with
  397.               SuSE Linux is shown in Figure 9.6.
  398.               There are buttons to select the desired window manager (`Session
  399.               Type') or the language (`Language'). An interesting feature (especially
  400.               for standalone workstations) is the `Shutdown' button ¡ to shutdown the
  401.               machine.
  402.               kdm may be adapted to your needs either via a configuration file in /opt/
  403.               kde/share/config/kdmrc or, since the Beta 3 version, from a config-
  404.               uration dialog which may be launched from the KDE menu.
  405.               SuSE Linux provides another enhancement-the configuration of the window
  406.               managers themselves and the startup mechanism of kdm.
  407.               Here, you should create two variables:4
  408.  
  409.                * DISPLAYMANAGER
  410.  
  411.               4 These variables are described on page 400.
  412.  
  413. 236
  414.  
  415.  
  416.  
  417.                                                        9.2. KDE ¡ the K Desktop Environment
  418.  
  419.    Assigns whether the user wants to log into a text console, runlevel 2, or
  420.    via kdm or xdm, runlevel 3. For the text console, enter console or the
  421.    empty string "".
  422.  * KDM SHUTDOWN
  423.    Assigns which user is permitted to shut down the machine from within
  424.    kdm. Here you may enter either `root' (root), every user (all),
  425.    nobody (none) or a user on the local machine (local).
  426.  
  427. SuSEconfig writes these values to /opt/kde/share/config/kdmrc,
  428. which are then available at the next start of kdm (you may want to restart the
  429.                                    
  430. server by entering  Ctrl  +  Alt  +      -  
  431.                                           ). If you plan to make changes your-
  432. self, please make them in kdmrc.in as /opt/kde/share/config/
  433. kdmrc is created from this file by SuSEconfig.
  434.  
  435.  If you want to get rid of this mechanism, just delete or remove /opt/
  436.  kde/share/config/kdmrc.in and SuSEconfig will no longer
  437.  touch your kdmrc.
  438.  
  439. 9.2.3 So What's So Special About KDE?
  440. Now that we are able to use kdm's graphical login, it is time to go into the
  441. specialities of KDE. For this, we will just describe the behavior of KDE after
  442. logging (or after entering startx).
  443. Shortly after the actual login, a couple of dialog boxes appear, announcing
  444. that certain files and directories are missing. This is not an error. KDE creates
  445. configuration directories in your home directory that are similar to its tree in
  446. /opt/kde. These, in particular, are: HOME/.kde and HOME/Desktop.
  447. The first is for configuration files and the latter for links. Thus, you may just
  448.          
  449. press      in the dialog boxes. They won't appear at the next KDE session.
  450. Thereafter, the kfm (K file manager) is launched. kfm is a basic component
  451. of the KDE system. As mentioned above, it is able to handle many different
  452. file formats. The behavior is totally transparent to the user: be it an archive
  453. from an FTP site (URL prefix: ftp:), a manpage (URL prefix man:), a
  454. GNU info page (URL prefix info:) or an HTML page from a WWW site
  455. (URL prefix http:). It is even possible to view images using an external
  456. tool. A typical KDE desktop is shown in Figure 9.7 on the following page.
  457. The user will become familiar with these features in minutes.
  458. Clicking on a symbol with the right mouse button opens the kdm config-
  459. uration tool for this application. Every setting of the application itself is
  460. written to a file with the .kdelnk extension. Changing settings is done
  461. via a property window as shown in Figure 9.8 page 239. This file is an ed-
  462. itable ASCII file. It is recommended that you look at these files located in
  463. HOME/Desktop (or in /opt/kde/share/applnk for the system-wide
  464. configuration files). The contents are standard to all KDE applications. So if
  465. you know how to write just one of them, you are set.
  466. The last program to be launched is KPanel, the menu bar. Here, you will find
  467. some objects for the virtual desktops. A special one is the "K" button. All
  468. available KDE applications are grouped together here (see kdelnk files!).
  469.  
  470.                                                                                        237
  471.  
  472.  
  473.  
  474. 9. The Window Manager-Window to Your Machine
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.                                     Figure 9.7: The filemanager kfm
  490.  
  491.  
  492.               You will also find the KDE system settings here in the KDE control center,
  493.               and much more.
  494.               But that's not all KPanel has to offer. You may copy application icons using
  495.               drag-and-drop onto it and launch them directly from the panel. Moreover,
  496.               KPanel may incorporate applications. These might be programs such as
  497.               klipper (this allows you to have a number of buffers for cut and paste) or korn,
  498.               which shows you how many are in a specific mail file. These applications are
  499.               then run withing the KPanel and are thus ¡ this is important ¡ visible on all
  500.               desktops.
  501.               Another of KDE's programs, the kdisplay, is shown in Figure 9.9 page 240.
  502.               Of course, we cannot list each and every KDE application in this manual.
  503.               One of KDE's aims is to make the machine more usable and user-friendly.
  504.               Please look around at the various applications that come with KDE yourself.
  505.               Help is available with most of KDE's applications. You may reach kdehelp
  506.               by clicking onto the background with the right mouse button.
  507.               But keep in mind that some of the KDE packages are still considered alpha
  508.               versions. This, in particular, means that they could unstable, might crash or
  509.               other strange things may happen. This is usually no longer the case, however.
  510.               Because of the complexity of KDE and its rapid pace of development, these
  511.               packages are not yet included in our installation support. We try to provide
  512.               you with as much KDE information as we can in our Support DataBase; see
  513.               section 1.4.1 page 5. There are a couple of mailing lists available from the
  514.               KDE WWW site (http://www.kde.org). Here, you will find informa-
  515.               tion on many topics as well as the latest release of KDE and its applications.
  516.               Finally we should point out that we have specially adapted KDE packages
  517.               that may be downloaded from our FTP site, ftp://ftp.suse.com/
  518.               pub/SuSE-Linux/suse_update/KDE
  519.  
  520.               These packages can be installed conveniently using YaST. Please look at the
  521.               README files located at this same URL.
  522.  
  523. 238
  524.  
  525.  
  526.  
  527.                                                                   9.3. The fvwm2 Window Manager
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.                       Figure 9.8: The kdm property dialog
  555.  
  556. 9.3 The fvwm2 Window Manager
  557.  
  558. General
  559. Now we want to tell you more about Fvwm2 (fvwm2), a window manager
  560. that quickly became the window manager for Linux and XFree86.
  561. Fvwm25 is the successor to the old fvwm1. It needs much more memory than
  562. the older version but provides lots of new functionalities and configuration
  563. options.
  564. Besides the usual functions for managing windows and the look and feel of
  565. the buttons and desktop, it now provides background menus and modular ap-
  566. plications which can be loaded at runtime. These features provide interesting
  567. functions, such as a button bar.
  568. More information about functions, starting, and configuring fvwm2 and its
  569. modules is in the corresponding manual pages:
  570.  
  571.  * manpage for fvwm2 (man fvwm2)
  572. 5 In SuSE Linux, fvwm2 is in package fvwm, series xwm. The previous version, fvwm, is in
  573. package fvwm1, series xwm.
  574.  
  575.                                                                                             239
  576.  
  577.  
  578.  
  579. 9. The Window Manager-Window to Your Machine
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.                            Figure 9.9: Setting up your display with kdisplay
  603.  
  604.  
  605.                * manpage for FvwmAudio (man FvwmAudio)
  606.                * manpage for FvwmButtons (man FvwmButtons), etc.
  607.  
  608.               or in /usr/doc/packages/fvwm which is automatically installed when
  609.               installing the fvwm package. Look at these documents first for any questions
  610.               you may have.
  611.  
  612.                As the original packages of both fvwm and fvwm2 use the same source
  613.                for their manpages, a special procedure is required to view them. You can
  614.                read the manpages for fvwm2 as usual with the man command. The man-
  615.                pages of fvwm (version 1) and fvwm95 have been relocated to different
  616.                directories on SuSE Linux.
  617.  
  618.               To read a fvwm (version 1) manpage, use the command fvwmman. For
  619.               example:
  620.                  fvwmman FvwmButtons
  621.               To read a Fvwm95 manpage, use the command fvwm95man. For example:
  622.                  fvwm95man FvwmButtons
  623.               Then you will get access to the manpage for FvwmButtons of the correspond-
  624.               ing package. You can also view the manpages of the different window man-
  625.               agers right from the `Work menu'. You can find these special manpages
  626.               (if available) in the menu `Window Manager', submenu `manpages'.
  627.  
  628. 240
  629.  
  630.  
  631.  
  632.                                                                                      9.4. Fvwm2 Settings
  633.  
  634. If you don't want to start from scratch, you may generate a configuration
  635. "frame" with susewm and then tailor it to your needs. susewm is described
  636. in Section 9.5 page 246.
  637.  
  638. Configuring fvwm2
  639. fvwm2 is configured via two files:
  640.  
  641.  * A system-wide configuration file (.fvwm2rc in /usr/X11R6/lib/
  642.     X11/fvwm2) which should be available at any time
  643.  * A user-specific file ( /.fvwm2rc in the home directory of the user)
  644.     which is not really necessary (but recommended)
  645.  
  646. The package susewm, described later, ensures the existence of a system-wide
  647. configuration file for fvwm2.
  648. fvwm2 reads these configuration files at startup.6 First, fvwm2 tries to read
  649. the user's configuration file. If this doesn't exist, it reads the system-wide file.
  650. All fvwm2 modules read this file too, but they use only the commands that
  651. apply to themselves.
  652. It is recommended that every user create their own configuration file, which
  653. they can change and adapt to their personal needs.
  654.  
  655.  After changing configuration files, the window manager has to be restarted
  656.  for these changes to take effect.
  657.  
  658. To restart fvwm, there is a menu entry supplied with the pre-installed SuSE
  659. Linux configuration in the `Work menu' called `Window Manager'.
  660. You could also restart the X server with startx from the command line. It is
  661. also possible to restart the window manager from within an xterm or a text
  662. console. Just enter:
  663.     newbie@earth: > killall -10 fvwm2
  664. To change the configuration interactively, fvwm provides FvwmConfig. This
  665. tool, however, offers only very limited configuration capabilities since mod-
  666. ifications cannot be saved. In addition, there are also the modules FvmSave
  667. and FvwmSaveDesk which can, in fact, save the actual state of the window
  668. manager. However, their files cannot be read automatically the next time the
  669. system starts. If you're interested, please read the manpages for these mod-
  670. ules.
  671.  
  672. 9.4 Fvwm2 Settings
  673.  
  674. General
  675. We now delve deeper into your personal Fvwm2 configuration file. If you
  676. din't yet have one, you can use susewm to create a window manager configu-
  677. ration file, as described in Section 9.5.1 page 247. Besides the file created by
  678. 6 In general, the window manager is started either from /usr/X11R6/lib/X11/xinit/
  679. xinitrc or from the user's private configuration file  /.xinitrc. The environment variable
  680. WINDOWMANAGER should be set to the full pathname of the corresponding window manager.
  681.  
  682.                                                                                                     241
  683.  
  684.  
  685.  
  686. 9. The Window Manager-Window to Your Machine
  687.  
  688.               susewm, you may also use the configuration file provided by the authors of
  689.               fvwm2. This may be found in /usr/doc/packages/fvwm/system.
  690.               fvwm2rc.
  691.               Now start up your favorite editor and load the file  /.fvwm2rc. We will
  692.               have a look at some of the options.
  693.  
  694.               What Happens When fvwm2 Starts?
  695.  
  696.               Scroll through the text until you reach the following comment:
  697.  
  698.               #########################################################
  699.               #                                                                             #
  700.               #     initialization function head                                            #
  701.               #     common to all wms                                                       #
  702.               #                                                                             #
  703.               #########################################################
  704.  
  705.                          File contents 9.4.1: InitFunction in /.fvwm2rc
  706.  
  707.               Beneath this is a list of programs which are run when fvwm2 is restarted.
  708.               Here, the banner FvwmBanner is loaded, a couple of xterms and an xpmroot
  709.               are launched. xpmroot puts images onto your root windows. For this purpose
  710.               you can use any program that is capable of writing in the root window (such
  711.               as xli, xv).
  712.               Here is an example using xv:
  713.                    + "I" Exec xv -quit -root -owncmap -maxpect  /pics/bild13.gif
  714.               You would also place this background picture command among the sections
  715.               which are executed with the restart of fvwm2, e. g., within Restart Function.
  716.               This is located in:
  717.  
  718.               #########################################################
  719.               #                                                                             #
  720.               #     restart function                                                        #
  721.               #     common to all wms                                                       #
  722.               #                                                                             #
  723.               #########################################################
  724.  
  725.                       File contents 9.4.2: RestartFunction in /.fvwm2rc
  726.  
  727.               Often, the two sections, InitFunction and RestartFunction, look
  728.               the same, since they both deal with starting the window manager. In
  729.               RestartFunction, you do not normally include fvwm's banner.
  730.               Newer versions of fvwm (Fvwm, Fvwm2, Fvwm95, Bowman and AfterStep
  731.               in SuSE Linux 5.0 and later) have an additional ExitFunction besides
  732.               InitFunction and RestartFunction. This function enables you to
  733.               set programs that have to be started before the window manager is launched,
  734.               or before you exit the window manager. In this way you can remove a back-
  735.               ground picture before restarting ¡ then the window manager sets a new one.
  736.  
  737. 242
  738.  
  739.  
  740.  
  741.                                                                          9.4. Fvwm2 Settings
  742.  
  743. #########################################################
  744. #                                                                           #
  745. #        colors and fonts                                                   #
  746. #                                                                           #
  747. #########################################################
  748.  
  749.             File contents 9.4.3: Color and font settings in /.fvwm2rc
  750.  
  751. Colors and Fonts
  752. The settings for colors and fonts can be found in the file 9.4.3.
  753. Here, you can do whatever you like. Select the colors you like best. You
  754. can use any color installed. Which colors are installed depends mostly on
  755. your graphics card and the color depth. Press the right mouse button in
  756. the root menu and go to the item `System Tools'. Here, change to
  757. `Information'. Right at the end, you should see an icon, `XColors'.
  758. Start it and it will show you all the colors known to your system. All names
  759. of these colors can be found in /usr/X11R6/lib/X11/rgb.txt.
  760. A few of the commands in this section resemble the following one:
  761.      WindowFont -misc-fixed-bold-r-normal-*-13-*-75-75-c-80-iso8859-1
  762. This is the systematic description of a font in X11. Every font is classified
  763. in this style. It would lead far beyond the scope of this book to explain
  764. everything contained in this description.
  765. The fonts reside in /usr/X11R6/lib/X11/fonts/misc. In this direc-
  766. tory, there is the file fonts.alias which contains all font aliases for this
  767. font directory. To make life easier, here are a couple of the most well-known
  768. aliases.
  769.      variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-1
  770.      5x7           -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-1
  771. It's much easier to remember these names. . . :-)
  772.  
  773. Icons
  774. Icons are specified using the Style command:
  775.  
  776. ## others
  777. #
  778.  
  779. Style "xterm"                   Icon Terminal.xpm
  780. Style "xosview"                 NoTitle, Sticky
  781. Style "xosview"                 UsePPosition
  782.  
  783.                   File contents 9.4.4: Icons for specific windows
  784.  
  785. Here, you can assign icons to the corresponding applications. You only have
  786. to be sure that these icons are in the IconPath (which is set almost at
  787. the beginning of  /.fvwm2rc). In principle, you can use any icon lo-
  788. cated in /usr/X11R6/include/X11/3dpixmaps/ as well. This is
  789. only one example. There are many more sources for pixmaps. All icons
  790. not in IconPath need to be specified with their absolute path name.
  791.  
  792.                                                                                         243
  793.  
  794.  
  795.  
  796. 9. The Window Manager-Window to Your Machine
  797.  
  798.               Let's assume you want to assign a ghost icon to ghostview. Look in the
  799.               directory mentioned above and you will see the icon ghostbusters.xpm.
  800.               Just insert the following line:
  801.                   Style         "ghostview"       Icon ghostbusters.xpm
  802.               That's it. You can give icons to almost all applications in the same way. Most
  803.               applications already have default icons. Anyway, you have to know the name
  804.               of the application,7 since an "xTerm" instead of "xterm" would simply not
  805.               work. The name of a specific window can be identified from the `Work
  806.               menu' by selecting `Window Manager', `Modules', `Ident' (Pro-
  807.               gram name FvwmIdent) and then clicking on the relevant window.
  808.  
  809.               Cursor
  810.  
  811.               Even the shape and color of the mouse cursor can be set. Here, you have the
  812.               tool xsetroot (which can be used to set the root window as well in a rather
  813.               simple way). It is started with:
  814.                   newbie@earth: > xsetroot -cursor <bitmapfile>
  815.               Here, bitmapfile stands for any bitmap file. The bitmaps are located in
  816.               /usr/X11R6/include/X11/bitmaps/ by default. Select a suitable
  817.               one or create your own, for example, with bitmap.
  818.  
  819.               Focus
  820.  
  821.               An extremely popular feature of the Fvwm window manager family is that
  822.               you can influence the behavior of the windows by changing the active window
  823.               while the system is running. You can change the focus and raising policy of
  824.               the windows in the configuration file.
  825.               With focus, we define the properties of the window manager which assigns
  826.               the actual entries and mouse clicks to a certain window. Basically, there are 3
  827.               options:
  828.  
  829.                * You have to click on a window first before you can, for example, enter text
  830.                   from the keyboard to the process running in the window. This behavior
  831.                   is called Click to focus. It is a widely-used standard, also to be found in
  832.                   Windows and OS/2.
  833.                * You point with the mouse cursor on a certain window and the window
  834.                   automatically becomes focused. This reaction is called Focus follows
  835.                   mouse. If the mouse pointer leaves the window, the focus also leaves the
  836.                   window, even if the cursor is located over the background or on another
  837.                   window.
  838.                * A more advanced version is the Sloppy Focus behavior, which can be
  839.                   configured with Fvwm2 and Fvwm95. In this case, the focus shows
  840.                   the same behavior as Focus follows mouse, but with the exception that
  841.                   the focus stays with the focused window as long as you do not focus on
  842.                   another window. The focus even stays with the highlighted window if you
  843.                   move the mouse cursor over the background.
  844.               7 To be precise, the exact name.
  845.  
  846. 244
  847.  
  848.  
  849.  
  850.                                                                            9.4. Fvwm2 Settings
  851.  
  852. With Fvwm2, you can set the focus behavior individually for every single
  853. window. Like many other settings, the configuration of the focus is made
  854. with a Style command:
  855.    Style "*" ClickToFocus
  856. This adjusts the focus, setting ClickToFocus for all windows. The same
  857. may be done for the settings SloppyFocus and FocusFollowsMouse,
  858. the latter being the default of Fvwm2.
  859.  
  860. 9.4.1 Autoraise
  861. Autoraising of windows is an interesting feature. Normally, the windows
  862. keep their position while the focus changes until you click onto the title bar.
  863. Autoraise raises the focused windows to the top of the stack. This only makes
  864. sense when used together with FocusFollowsMouse or SloppyFocus.
  865. There is no effect if you use SloppyFocus.
  866. To activate AutoRaising, either start the Fvwm module AutoRaising from the
  867. menu `Window Manager', `Modules', `AutoRaise On/Off', or,
  868. to install it permanently, insert an entry into Fvwm's configuration file,  /
  869. .fvwm2rc, into the functions InitFunction and RestartFunction:
  870.    Function InitFunction
  871.       +       "I"      Module FvwmAuto 200
  872.  
  873.    Function RestartFunction
  874.       +       "I"      Module FvwmAuto 200
  875. The value 200 sets the delay to 200 milliseconds, before a window is popped
  876. to the foreground. If you don't have a delay set, every touch of a window
  877. leads to a "movement" of windows which will result in permanent flicker.
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.                                                                                           245
  900.  
  901.  
  902.  
  903. 9. The Window Manager-Window to Your Machine
  904.  
  905.               9.5 Configuring the Window Manager Using susewm
  906.  
  907.               What is susewm?
  908.               susewm simplifies configuration for the supported window manager (Fvwm,
  909.               Fvwm2, Fvwm95, Bowman, AfterStep (afterstep), Ctwm, Mwm8, and
  910.               kwm).9
  911.               Since fvwm, bowman, afterstep, fvwm2 and fvwm95 are mainly based on
  912.               the same window manager, where fvwm2 is the descendant of fvwm, these
  913.               five window managers are configured practically in the same way and supply
  914.               almost identical features.
  915.               On the other hand, there are considerable differences in configuring these
  916.               window managers. To let the user have the benefit of all the common tasks
  917.               of these window managers without having to maintain five different config-
  918.               uration files, susewm combines their configuration using an abstract macro
  919.               language.
  920.               susewm can also configure the totally different window managers ctwm,
  921.               mwm and kwm. However, this only covers the automatically generated menu
  922.               entries (more in the sections below).
  923.               Differences between these single window managers can be taken into consid-
  924.               eration using window manager specific statements.
  925.               One of the most refined features susewm offers is that it creates menus
  926.               and supported modules, depending on what software packages are installed.
  927.               There are no menu entries for packages which are not installed. If you select
  928.               a menu item, you can be sure that the corresponding program is installed and
  929.               can be launched.
  930.               Here are some more features of susewm:
  931.  
  932.                * configuration of eight window managers: Fvwm, Fvwm2, Fvwm95,
  933.                   Bowman, afterstep, ctwm, mwm and kwm
  934.                * a central library for all window managers-unified macros for different
  935.                   configuration files
  936.                * additive configuration files for individual window managers, taking spe-
  937.                   cific features and peculiarities of these into consideration
  938.                * loading of additional source files10 on your system via /etc/rc.
  939.                   config, for automatic configuration
  940.                * ability to reference source files for a specific user in their $HOME direc-
  941.                   tory during automatic configuration
  942.                * creation of user-specific configuration files that preserve almost any
  943.                   changes that have been made to older configuration files
  944.                * unified commands for all eight window managers
  945.               8 MWM is part of the commercial Metrolink Motif or Metrolink Motif Runtime Libraries
  946.               respectively.
  947.               9 The pseudo-window manager CDEsim (cdesim) should be excluded here. More informa-
  948.               tion can be found in package cdesim, series xwm, in the directory /usr/doc/packages/
  949.               cdesim.
  950.              10 In general, source files are window manager configuration files. To use them with susewm,
  951.               files in susewm format are preferred.
  952.  
  953. 246
  954.  
  955.  
  956.  
  957.                                        9.5. Configuring the Window Manager Using susewm
  958.  
  959.  * integrates widely used commercial applications, which are not part of
  960.    SuSE Linux, into window manager menus
  961.  * switches between supported window managers without having to change
  962.    startup scripts such as  /.xinitrc, as long as the window manager
  963.    allows this
  964.  
  965. 9.5.1 Adding Entries to the Menu
  966. If you want to add entries inside the SuSE menu, you must create some files
  967. as shown in File 9.5.1.
  968.  
  969. Name=Printer
  970. Comment=Show all printers
  971. Exec=klp
  972. MiniIcon=printer.xpm
  973. Icon=printer.xpm
  974. Type=Application
  975.  
  976.         File contents 9.5.1: .lnk File of SuSEwm for menu entries
  977.  
  978. Here the entries for Name[...] and Exec are especially important. All
  979. other entries are optional. If you enter Type=TEXT, each program will run
  980. in a terminal.
  981. For the entry to be created, you must run the file as follows: <package>.<bin>.lnk;
  982. here, <package> stands for the RPM package name in which the correspond-
  983. ing program is contained. If you have not installed the program through an
  984. RPM package you can, for example, enter <susewm>. For <bin> you can
  985. enter any abbreviation, e.g. the name of the program to be carried out. You
  986. should also end the file name with .lnk. This file must now be moved to a
  987. directory under /etc/X11/susewm/AddEntrys. Depending on which
  988. directory you save this file in, the entry will be shown in the corresponding
  989. submenu.
  990.  
  991. How to Use susewm
  992. susewm is used in two different circumstances:
  993.  
  994.  * You don't have a configuration file of your own yet but want to adapt your
  995.    desktop accordingly.
  996.  * You already have a configuration file, but software has been installed
  997.    using YaST and the menus are no longer up to date.
  998.  
  999. Here, the following is assumed to be installed:
  1000.  
  1001.  * Your Linux system and the X Window System XFree86 are installed,
  1002.    configured properly and running.
  1003.  * You use the fvwm2 window manager (which is the default with SuSE
  1004.    Linux), but perhaps have another supported window manager installed.
  1005.  * susewm is installed on your system with standard settings.
  1006.  * You are logged in as a normal user, for example as the sample user defined
  1007.    with the standard installation of YaST, but not as `root'.
  1008.  
  1009.                                                                                        247
  1010.  
  1011.  
  1012.  
  1013. 9. The Window Manager-Window to Your Machine
  1014.  
  1015.                * You have set the language to English. The same conditions apply for
  1016.                  German menus.
  1017.               This is how it is done. If you click on the root window (which actually is the
  1018.               "background") with your left mouse button, a menu appears. This is called
  1019.               the `Work menu'. Here, the most often used programs needed for your
  1020.               work are listed (this will depend on the individual user).
  1021.               The last entry on this menu (`Window Manager') contains a submenu
  1022.               with selections concerning functions and configurations of the window man-
  1023.               ager currently running. If you want to configure another window manager,
  1024.               just switch to it first, using the menu item `Other window managers'.
  1025.               From the `Window Manager' submenu, click on `Configuration'.
  1026.               In this submenu you will find several choices in each of four menu sections:
  1027.                * The choices of the first menu section are for reading the documentation
  1028.                  on susewm. There you will find details not covered in this section.
  1029.                * The choices of the second menu section allow you to change the configu-
  1030.                  ration file of your PC with an  editor.
  1031.                * The choices of the third menu section help in creating a user-specific
  1032.                  configuration file in the language you choose.
  1033.               The breakdown of the `Work menu' for fvwm2 can be seen in Figure 9.10.
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.                          Figure 9.10: Menus for window manager configuration
  1056.  
  1057.               If you choose to build a configuration file (from the third menu section), a
  1058.               window with mksusewmrc appears (this program is a part of susewm). Just
  1059.               read the text and press the appropriate buttons when asked.
  1060.  
  1061. 248
  1062.  
  1063.  
  1064.  
  1065.                                          9.5. Configuring the Window Manager Using susewm
  1066.  
  1067. That's it. Now you can change and edit your freshly created configuration file
  1068. in your $HOME directory. susewm will take over almost everything to the
  1069. new configuration file.
  1070.  
  1071.  If you want to change the settings of the desktops even slightly, you have
  1072.  to create a configuration file of your own first. How to do this has been
  1073.  explained above. Only then can you change the file. If you plan to write a
  1074.  completely different configuration file, don't use susewm.
  1075.  
  1076. An Example
  1077. A colored desktop is nice, but what's the use if the hardware (memory, proces-
  1078. sor, hard disk) is not fast enough? It's not the purpose of a window manager
  1079. to use up all the resources for animating icons and other baubles. Here is a
  1080. hint about what to do if you think that your machine is too slow when you
  1081. start up fvwm95 or fvwm2: most problems are due to the hundreds of icons
  1082. that are loaded. There are three possibilities:
  1083.  * De-install the package 3dpixms and also package 3dpixm if you don't
  1084.    want to have the big icons either.
  1085.  * In the YaST menu `System administration', submenu `Change
  1086.    configuration file' set the variable SUSEWM XPM=no, which
  1087.    results in the same effect as mentioned above. If you have changed the
  1088.    variable directly in the file /etc/rc.config, please don't forget after
  1089.    doing so to start SuSEconfig.
  1090.  * Remove the icons from the configuration file.
  1091. The first way is quite simple. Just start YaST and uninstall the packages men-
  1092. tioned. YaST, in conjunction with susewm, will ensure that the system-wide
  1093. window manager configuration file is modified. If you have a user-specific
  1094. configuration file, you have to modify it explicitly, using an appropriate se-
  1095. lection from the window manager menu as described in this section above.
  1096. The second way needs no further explanation.
  1097. The third way: let susewm create a configuration file for you as described
  1098. above. Then remove all references to loading icons.
  1099.  
  1100.   AddToMenu thiswmpopup "Fvwm2"            Title
  1101.  
  1102.   + "Other windowmanagers%small.warning_3d.xpm%" Popup otherwmpopup
  1103.   + "Configuration%small.checklist2_3d.xpm%"                   Popup susewmpopup
  1104.   + ""                                                         Nop
  1105.   + "Fvwm2 Restartt%small.restart_suse_3d.xpm%"                Restart fvwm2
  1106.   + "Exit Fvwm2 and%small.exit.xpm%"                   Function QuitSave
  1107.  
  1108.   # end popup thiswmpopup
  1109.  
  1110.           File contents 9.5.2: .fvwm2rc with icons for menu entries
  1111.  
  1112. Now fvwm95 or fvwm2 should start even faster. And, as mentioned before,
  1113. all personal changes you have applied to your configuration file should re-
  1114. main, even if you invoke susewm a second time.
  1115.  
  1116.                                                                                       249
  1117.  
  1118.  
  1119.  
  1120. 9. The Window Manager-Window to Your Machine
  1121.  
  1122.  
  1123.                 AddToMenu thiswmpopup "Fvwm2"                     Title
  1124.  
  1125.                 + "Other window manager" Popup otherwmpopup
  1126.                 + "Configuration"                        Popup susewmpopup
  1127.                 + ""                                     Nop
  1128.                 + "Fvwm2 Restart"                      Restart fvwm2
  1129.                 + "Exit Fvwm2 and X"                Function QuitSave
  1130.  
  1131.                 # end popup thiswmpopup
  1132.  
  1133.  
  1134.                        File contents 9.5.3: .fvwm2rc without icons for menu entries
  1135.  
  1136.               9.6 Customizing Your Configuration
  1137.               As promised above, we are now going to tailor the look and functions of
  1138.               your personal desktop-why buy something predefined if we can tailor it
  1139.               ourselves?
  1140.               First, some general information about configuring the desktop-there are two
  1141.               places where you can make adjustments:
  1142.  
  1143.                * the pre-settings for the applications of the X Window System
  1144.                * the window manager configuration file(s), as already mentioned in Sec-
  1145.                   tion 9.4 page 241
  1146.  
  1147.               X11 Application Defaults
  1148.  
  1149.               Global Settings
  1150.               Almost every application under X11 has its own default configuration. This
  1151.               configuration will be copied to /usr/X11R6/lib/X11/app-defaults11
  1152.               at installation. Here files such as Xarchie can be found. As the name al-
  1153.               ready tells us, this must be the main configuration file for the application
  1154.               xarchie. Take a look at this file (e. g., with less Xarchie). Here, you will
  1155.               find the following lines:
  1156.               Xarchie.color*background: powder blue
  1157.               Don't worry about the sometimes cryptic names; you don't have to under-
  1158.               stand them right now. Every program under X11 is built out of "Widgets".12
  1159.               Here, there is a main widget, which is the root window (it is called first). All
  1160.               other programs are child widgets of this parent widget (more or less). That
  1161.               means that every child widget has got exactly one parent widget and one or
  1162.               more child widgets. Each of these widgets can be addressed with a unique
  1163.               name.
  1164.               Windows and widgets should not be confused. A scrollbar, e. g., is a window
  1165.               of its own (a window which lacks any decoration). A widget can contain a
  1166.               scrollbar, a text field and other attributes.
  1167.               This leads to the conclusion that any window and its resources can be ad-
  1168.               dressed by a unique name. For our example, this means:
  1169.              11 It is quite helpful to assign an alias to such an abstruse and long name.
  1170.              12 Think of a "Widget" as a sort of "brick"; the word is made from "windows" and "gadget".
  1171.  
  1172. 250
  1173.  
  1174.  
  1175.  
  1176.                                                            9.6. Customizing Your Configuration
  1177.  
  1178.  * The first word up to the first dot (Xarchie) is the name of the top-level
  1179.     widget of the xarchie program (it is the convention to write names of
  1180.     application defaults beginning with an uppercase letter).
  1181.  * After the dot, there is a `color'. This, of course, is the color. But which
  1182.     color?
  1183.  * Then there is a `.'. This dot could have been an asterisk (`*') as well.
  1184.          ¡ A `.' means that this is a direct hierarchy.
  1185.          ¡ A `*' is a wild card. It indicates that between those two windows one
  1186.            or more additional windows may be found.
  1187.  * The word "background" now shows us which color is going to be set.
  1188.     Here you can enter a defined color.
  1189.  
  1190. User-Specific Settings
  1191. So that every user may make specific settings, there is a  /.Xresources
  1192. file located in the HOME directory. The `.' at the beginning means that this
  1193. is a hidden file.
  1194. In this file, all user-specific settings are made. For example, you can now
  1195. define that every window should have a yellow background, except the root
  1196. window, which should be red.
  1197. Returning to the example given above, this means that you can over-
  1198. write system-wide settings (app-defaults files) with those in your  /
  1199. .Xresources file. So, if you set the following in your  /.Xresources
  1200. file:
  1201.     Xarchie.color*background: gold
  1202. the application xarchie will be started with a gold background.
  1203. You can change not only colors but almost any decoration or setting for your
  1204. windows. A useful program in this context is editres ("editres" stands for
  1205. EDitRESources). This little tool lets you see all the resources of a given
  1206. program and allows you to change them at runtime (so you can see what
  1207. you've done).
  1208. Here are some examples of what you can set:
  1209.     Xarchie.color*background:                               powder blue
  1210.     Xarchie.color*SimpleMenu*background:                    wheat
  1211.     Xarchie.color*Command*background:                       wheat
  1212.     Xarchie.color*MenuButton*background:                    wheat
  1213.     Xarchie.color*Text*background:                          wheat
  1214.  
  1215. Setting Start Parameters
  1216. There is a third way to influence the application. You can give parameters to
  1217. it at runtime. You can even enter these parameters in your window manager's
  1218. configuration file if you start them from there.
  1219. For example, you can explicitly launch a program with another font and
  1220. background color (bg = background, fg = foreground):
  1221.     xterm -bg darkblue -fg white
  1222. You get a blue xterm with white letters.
  1223.  
  1224.                                                                                           251
  1225.  
  1226.  
  1227.  
  1228. 9. The Window Manager-Window to Your Machine
  1229.  
  1230.               How do the Configuration Possibilities "work"?
  1231.               Principally, the system-wide settings are set at the start of the X Window
  1232.               System. The settings themselves are administered by the X server in the
  1233.               X Resource Database, xrdb. If you want the changed settings to become
  1234.               effective system-wide, it is necessary to edit the resource files manually.
  1235.               The various settings for applications are handled in the following order during
  1236.               the build-up of an interim X server Resource Database, when the X server
  1237.               starts:
  1238.  
  1239.               Hierarchy of Configurations
  1240.                * First,all system-wide settings are read from /usr/X11R6/lib/X11/
  1241.                   app-defaults
  1242.                * If you have special settings in your  /.Xresources file, these will
  1243.                   overwrite the settings above.
  1244.                * If you start an application with certain parameters, these settings over-
  1245.                   write the last one. They have the highest priority.
  1246.  
  1247.                In case these explicit changes have no influence on the behavior of the
  1248.                application, it often helps to vary capitalization of the respective widget
  1249.                name.
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276. 252
  1277.  
  1278.  
  1279.  
  1280.