Macintosh PowerBook


Apple Macintosh PowerBook G3


How-to
Partition your hard disk
Configure X windows
Configure AfterStep
Make the PowerBook sleep
Set up the modem for PPP
HotSync a Palm Pilot via IrDA
Go wireless!


Links
AfterStep
AfterStep Applets
AfterStep Themes
aterm
vim
wmwave


Wallpaper links
Digital Blasphemy
Visual Paradox

Configuring AfterStep

Once X Windows is up and running, you need to choose a window manager. (The notion of having a separate window manager is probably alien to most non-Unix computer users.)

I chose AfterStep because it's small (for the functionality it provides) compared to Window Maker or KDE (which is an entire "environment"), and seems more mature (stable) compared to either BlackBox or Enlightenment. Sawmill is too weird for me since it uses Lisp for configuration. IceWM had too much flicker when moving windows around the screen.

Obligatory screenshot
Here's a screenshot. I'm using the Blue Steel theme. Shown clockwise from upper-left are: XMMS, Netscape Communicator (showing a gallery from Digital Blasphemy), asclock, asapm (battery monitor), wmwave (wireless connection monitor), the Gnome menu, an aterm console window, and a larger aterm window containing some source code and a directory listing.

[Screenshot]
Select the image for a full-size view (262 K).

The aterm windows have a transparent and tinted background. (These are so cool looking.) The colored source code is due to vim; the colored directory listing is due to the color ability of the ls command.

To get Netscape to have the colors as shown, I set the appropriate X resources in my .Xdefaults file.


Configuring a look
Although I think themes are cool, there are certain things I want to be constant regardless of which theme I'm using. In addition to wanting the "fixed" font used for window titles, I want the following options always to be set as follows:
    RubberBand 1
    IconBox 505 -80 -220 -1
    IconFont fixed
    TitleTextAlign 1
I think allowing the RubberBand and IconBox options in particular to be overridden by a theme is a Bad Idea. In order to fix this, I have to edit the source files for every theme I have. This is one of the few annoying things about AfterStep.


Configuring the root menu
The root menu (or "start" menu as it's referred to in AfterStep) is the menu that pops up whenever the mouse is clicked in the root window (the background). The default one has way too much stuff on it for my taste; plus I think the organization it a bit strange. Fortunately, the root menu is entirely configurable. Configuring the root menu is fairly straight-forward: you just create files and subdirectories corresponding to menu options and submenus in the:
    ~/GNUstep/Library/AfterStep/start
directory. (Consult the AfterStep documentation for details.) The only menu options worth detailing are Sleep, Reboot, and Shut Down.

For Sleep, simply create a file containing:
    Exec "Sleep" exec /sbin/snooze &
Reboot and Shut Down are more complicated because they involve popping up a dialog box asking for confirmation. Deferring that detail for now, create a file containing:
    Module "Reboot..." Form RebootForm
for Reboot and another file containing:
    Module "Shut Down..." Form ShutDownForm
for Shut Down. To create custom dialog boxes, make a personal copy of the default forms file then copy the Quit form to both a RebootForm and a ShutDownForm. The RebootForm looks like this:
    # Reboot
    *RebootFormGrabServer
    *RebootFormWarpPointer
    *RebootFormFont         *helvetica*m*r*n*12*
    *RebootFormButtonFont   *helvetica*m*r*n*12*
    *RebootFormFore         yellow
    *RebootFormBack         Grey30
    *RebootFormItemFore     Grey70
    *RebootFormItemBack     Grey30
    *RebootFormCommand      Beep
    *RebootFormLine         center
    *RebootFormText         "Do you really want to reboot?"
    *RebootFormLine         expand
    *RebootFormButton       quit "Reboot" ^M
    *RebootFormCommand      Exec "reboot" reboot
    *RebootFormButton       quit "Cancel" ^[
    *RebootFormNop
The ShutDownForm is pretty much the same except for the wording and the Exec line that is changed to:
    *ShutDownFormCommand    Exec "poweroff" poweroff

One final detail that needs to be taken care of is the fact that, ordinarily, only root can either reboot or shut down a Unix machine. To allow yourself either to reboot or shut down without having to become root first, add your login to the /etc/shutdown.allow file.


Making the function keys do something useful
I wanted to make the function keys perform actions one commonly does with the mouse because hitting function keys is easier and faster than using the trackpad since it only requires one to outstretch one's finger as opposed to twisting one's entire hand to use either one's thumb or index finger. The functions I assigned to the keys are:
F7Create a new local terminal window
F8Close focused window
F9Change focus to next window
F10Raise (or lower) focused window
F11     Iconify focused window
(Remember: F12 is mouse button 3.) Since I'm right-handed, using the function keys on the right-hand side makes the most sense.
Keys F1 through F6 have primary uses assigned to them (brightness and volume levels, num-lock, and mute), although you can still use them as function keys by holding down the fn key (but that's too much work and the fn key is in an awkward location).
Keys are assigned actions in an AfterStep "feel" file. I copied one of the default feel files to feel.PJL in the feels subdirectory and added the following lines:
    Key F7     A    A    Exec "(local)" exec aterm
    Key F8     A    A    Close
    Key F9     A    A    ChangeWindowUp
    Key F10    A    A    RaiseLower
    Key F11    A    A    Iconify
You then select that feel from the Feel menu.


[Personal] [Résumé] [Software] [Contact]
Last updated: April 17, 2004