CS551 - Self-Study Exercises

Exercise 3: The Role of Window Managers

This exercise explores what kind of support a window manager offers, and how users can control screen appearance, menus, etc. under different window managers. It should be noted that twm (the most rudimentary window manager) will be used in course grading, since it represents a least-common-denominator in terms of functionality.

You should have read Chapter 1 in Nye and O'Reilly, Vol. 4, before starting this exercise.

  1. Examine the goX (and the new .xinitrc) file you copied from the course directory. Just two commands, xsetroot and the invocation of the window manager, are run in the foreground.

    What would happen if you ran an xterm in the foreground as well?

  2. Bring up the course environment without a window manager by invoking goX with the -wmnone option. Try the following:

    The default settings for xedit are crude. To get better ones, copy the Sun, HP, or IBM version of Xedit. from the xedit_files subdirectory of the course directory. Whichever version you want to use must be stored in your home directory as the file Xedit (no file extension). If you did this properly, xedit should come up with grey tones and a readable font, and should work with the function keys on your keyboard. (For other computer types, you will have to mimic the files I supplied in order to create your own.)

    It is suggested that you use xedit (after you tailor the resources according to your preferences) for at least the first couple of weeks of the course. Not only is it a reasonably handy editor, but using xedit will help you learn about the Athena Text widget and how popups are managed. Both of these things will be of use to you later in the course.

  3. Explore the effects of the window manager. Compare running X with no window manager at all, with uwm (the earliest and crudest window manager), with twm (the most commonly known window manager, supplied as the default with the MIT distribution of X), mwm (OSF/Motif's window manager), and olwm (the OpenLook window manager).

    Compare each of the following aspects of window manager support: (a) default positioning of window when client invoked without geometry option; (b) how much each window is decorated (c) how many actions are needed to iconify a window (d) what functionality is available on the "root menu" (e) how you can move a window

    Look inside .twmrc to see how menus are established and how the window manager's defaults are handled. Compare it with .uwmrc.

    Each window manager has a different way of handling things -- where would you look for the appropriate man page?