Mlvwm

Imagine traveling into an alternate history where the Apple II GS and Mac OS 7 were built upon open source

POSIX

, using all the same conventions as modern Linux, like plain text configuration files and modular system design. What would such an OS have made possible for its users? You can have these questions (and more!) answered at last with the

Macintosh-like Virtual Window Manager (mlvwm)

window manager.

Mlvwm running on Slackware 14,2 [IMG]

Installing the Macintosh-like Virtual Window Manager

Mlvwm is not an easy install, and it's probably not in your distribution's software repository. If you have the time to decipher a poorly translated README file, to edit configuration files, gather and resize some old `.xpm` images, and edit a Xorg preference or two, then you can experience Mlvwm for yourself. Otherwise, this is a novelty window manager with its latest release having been in 2000.

To compile Mlvwm, you must have `imake` installed, which provides the `xmkmf` command. Change into the directory containing the source code and run these commands to build:

After building, the compiled `mlvwm` binary is located in the `mlvwm` directory. Move it to any location in your path to install it.

Editing the config files

Mlvwm is now installed, but it won't launch correctly without several adjustments to configuration files and careful arranging of required image files. Sample config files are located in the `sample_rc` directory of the source code you downloaded. Copy the files `Mlvwm-Netscape` and `Mlvwm-Xterm` to your home directory.

Move the `Mlvwmrc` file to `$HOME/.mlvwmrc` (yes, you must use a lower-case "m" even though the sample file deceptively begins with a capital letter).

Open `.mlwmrc` and find line 54-55, which defines the path for pixmap images used in Mlvwm:

Adjust the path used for pixmaps to a directory you will fill with images of your choice. Do this even if you have pixmaps located elsewhere on your system (such as `/usr/share/pixmaps`), because you're going to have to adjust the size of the pixmaps you use.

Choosing the pixmaps

You've defined the `.local/share/pixmaps` directory as the source of pixmaps, but neither the directory or the images exist yet. Create the directory:

Now look through the configuration file for all `.xpm` images and ensure that such an image actually exists in the IconPath you just set. Some pixmaps are provided in the source code, but this is the perfect opportunity to customize your desktop. It's a little difficult to picture what you're customizing since you haven't actually *launched* the desktop yet, but as long as you choose images you like, you'll probably be pleased with the results.

The `.mlvwmrc` file is well commented, so you can get a general idea of what you're editing. This is just a first pass, anyway. You can always come back and change the look of your desktop later.

In this code block, the icon in the upper-left corner of the screen is set:

The `label1.xpm` image is provided in the `pixmap` directory of the source code download, but I prefer to use `Penguin.xpm` from `/usr/share/pixmaps` (on Slackware). Whatever you use, you must place your custom pixmap in `~/.local/share/pixmaps` and either change the pixmap name in the configuration or else rename the pixmap file to match what's currently in the config file.

This code block defines applications listed in the left menu:

Customize the pixmaps listed, change the applications launched (for instance, I changed `mule` to `emacs`). By following the same syntax as what you see in the configuration file, you can add your own applications to the menu. This is your gateway to your applications in the Mlvwm GUI, so list everything you want quick access to. It may be useful to include a shortcut to your `/usr/share/applications` folder.

Once you're finished editing the configuration file, your pixmaps must all be resized to roughly 16x16 pixels (Mlvwm itself isn't consistent in its defaults, so there's room for variation). You can do this as a bulk action using ImageMagick:

Starting Mlvwm

The easiest way to get up and running with Mlvwm is to let Xorg do the bulk of the work. First, you must create an `$HOME/.xinitrc` file. I borrowed this one from Slackware, which borrowed it from Xorg itself:

According to this file, the default action for the `startx` command is to launch the `mlvwm` window manager. However, your distribution may have other ideas about what happens when your graphic server is launched (or killed to be restarted), so this file may do you little good. On many distributions, you can add a `.desktop` file to `/usr/share/xsessions` to have it listed in the GDM or KDM menu, so create a file called `mlvwm.desktop` and enter this text;

Log out from your desktop session and log back in to Mlvwm. By default, your session manager (KDM, GDM, or Lightdm, depending on your setup) will continue to log you into your previous desktop, so you must override that before logging in.

With GDM:

Selecting your desktop in GDM [IMG]

With KDM:

Selecting your desktop in KDM [IMG]

Launching with brute force

If Mlvwm fails to start, try installing XDM, a lightweight session manager that doesn't look at `/usr/share/xsessions` and instead just does whatever the authenticated user's `.xinitrc` proscribes.

Mlvwm [IMG]

Build your own retro Apple

The Mlvwm is unpolished, imperfect, accurate, and loads of fun. Many of the menu options you see are unimplemented, but you can make them active and meaningful. This is your chance to step back in time, change history, and make the Apple line of old school computers a bastion of open source. Be a revisionist, design your own retro Apple desktop, and most importantly, have fun.

Proxied content from gemini://sdf.org/klaatu/geminifiles/advent-mlvwm.gmi (external content)

Gemini request details:

Original URL
gemini://sdf.org/klaatu/geminifiles/advent-mlvwm.gmi
Status code
Success
Meta
text/gemini
Proxied by
kineto

Be advised that no attempt was made to verify the remote SSL certificate.