Customize Xfce on Debian 12 Bookworm to Look Like BeOS and Haiku OS

BeOS desktop image

This weekend, I installed Debian 12 Bookworm with Xfce desktop environment on my desktop computer, because I wanted a pure Xfce installation on top of a distro running a 6.0 or higher kernel to theme as close to BeOS as I can get.

As I’ve written about before here, I have fond memories of using BeOS on my old PowerMacintosh 8500/120. When I used it on that hardware, it felt like the future. Many of its features were ahead of its time for a desktop computing environment. It was also incredibly easy to navigate and interact with due to its colors, icons, and textured UI elements.

I believe that BeOS and Haiku OS have GUIs that are easy to see and interact with, because they aren’t flattened to death like most contemporary operating systems, which have less contrast and textured borders that hinder visual comprehension and interaction.

I tried installing Xubuntu, but after installation, I was greeted by the login prompt, I entered my credentials, received a black screen (NB: not rebooting–for some reason the DE wouldn’t launch and it would kick me back to the login screen), and was greeted again by the login prompt. Since that was a fresh installation, I was concerned about the long-term stability of it on my computer. Hence, I tried out Debian 12, which installed and booted without a hitch!

In addition to reinstalling Automatic1111 for Stable Diffusion for AI image generation and Llama.cpp for AI text generation, I set about theming Xfce to look as much like BeOS as possible.

I describe step-by-step how to make Xfce mimic BeOS in the sections below.

Window Manager Theme

Window Manager window

Perhaps the most notable aspect of BeOS/Haiku’s look-and-feel is the yellow, tabbed window title bar. Some tutorials suggest using the BeOS-r5-XFWM theme, but I opted for the Haiku-Alpha theme, because it only keeps the close window tic box and eliminates the other options such as minimize, maximize, etc., which you can still operate by setting one option to title bar double clicks and others from the drop-down right-click menu.

Decompress the downloaded file and move the resulting folder into ~/.themes (remember to turn on “show hidden files and folders” in your file manager, and create the .themes folder if it does not already exist). Then, go to Settings > Window Manager > select Haiku-Alpha. Also, set the font to Swis721 BT Bold size 9 (see font section below for more info).

Appearance Theme

Appearance window

To give Xfce the general look-and-feel of BeOS’s relatively high contrast interface (by today’s modern, flat interface standards), I installed the BeOS-r5-GTK theme.

Decompress the downloaded file and move the resulting folder into ~/.themes. Then, go into Settings > Appearance > Style > select BeOS-r5-GTK-master.

Next, click on the Fonts tab. For Default Font, select Swis721 BT Regular size 9, and for Default Monospace Font, select Courier 10 Pitch Regular size 10 (see Font section below for more info).

Fonts

There are two essential fonts, which can be easily found through Google searches: Swis721 BT Roman and Courier 10 Pitch for Powerline.

Once downloaded, move the ttf files into ~/.fonts (remember to turn on “show hidden files and folders” in your file manager, and create the .themes folder if it does not already exist).

There are two main areas where the fonts need to be set. First, go to Settings > Window Manager > Style tab and set the Title font to Swis721 BT Bold size 9. Then, go to Settings > Appearance > Fonts tab and set the Default Font to Swis721 BT Regular size 9 and set the Default Monospace Font to Courier 10 Pitch Regular size 10.

Mouse Cursors

Mouse and Trackpad theme window

The hand mouse cursor is an integral element of BeOS’s look-and-feel. I opted to use HaikuHand reHash.

Decompress the downloaded file and move its folder into ~/.icons (remember to turn on “show hidden files and folders” in your file manager, and create the .themes folder if it does not already exist). Then, select HaikuHand reHash in Settings > Mouse and Touchpad > Theme.

Icons

Appearance Icons tab

The isometric view icons for BeOS capture that mid-to-late-1990s era of gesturing towards 3D through 2D designs. Vaporware Mac System 8 Copland exemplified this aesthetic, too (but aspects of it found its way into the eventual MacOS 8 and others incorporated its design elements into shareware like Aaron and the Iconfactory’s innovative icon sets. I created some icons in this style, too.

To make Xfce as BeOS-like as possible, I used the BeOS-r5-Icons pack.

Decompress the downloaded file and move it into ~/.icons (remember to turn on “show hidden files and folders” in your file manager, and create the .themes folder if it does not already exist). Then, go to Settings > Appearance > Icons tab > select BeOS-r5-Icons.

Desktop

Desktop settings window

There are BeOS desktop wallpaper pictures that you can download and set as your wallpaper. However, I wanted a simpler solid color background. To achieve this, go to Settings > Desktop. Set Style to “None,” and set Color to “Solid color.” Then, click on the color rectangle to the right of Color, and next, click on the “+” under Custom and enter this hex value for the default deep blue BeOS desktop color: #336698.

Dock

Dock Preferences window

After a lot of head-hitting-the-desk, I settled on using the Xfce’s Panel instead of a more visually interesting dock that used a BeOS-inspired theme (e.g., BeOS-dr8-DockbarX). I was able to get DockbarX installed from source eventually, but I couldn’t get the Xfce4 DockbarX plugin to work with the Xfce Panel. It wasn’t from a lack of trying! It’s worth trying to get those installed–you might have better luck. For me, I needed to move on, so I settled on customizing the Xfce panel to meet my needs and fit the BeOS aesthetic well enough. I went to Settings > Panel > Display tabl to set Panel 1 in Deskbar Mode, set the Row size to 48 with 1 row and ticked “Automatically increase the length. On the Appearance tab, I set the Fixed icon size to 48.

Applications Menu settings within Panel settings

On the Items tab, I clicked the preferences for the Applications Menu, removed the Button title and changed the Icon to the isometric 3D Be logo (this will be an option after you’ve installed the icons pack as described above in the Icons section).

It would be easy to configure the panel to be more like the original Deskbar in BeOS, too. The main changes needed would be to increase the Number of rows to 4 or 5, change the Application menu icon to the flat “BeOS” logo icon (included in the icon pack installation in the Icons section above).

And, it’s important to remember that there was not one, eternal version of BeOS. As with any developed software, it changed over time with its UI and look-and-feel changing with it. For me, the 1996 Developer Release is what I remember most because I ran it on bare metal on my PowerMacintosh 8500/120. It continued to evolve and change after that in ways that I am less familiar with.

QMMP/Winamp Skin

If you use QMMP for listening to music on your computer, you’ll need to grab a Winamp skin to give it the BeOS look and title bar. BeAmp Too is my favorite. There are a few others available if you search for “beos” on the Winamp Skin Museum.

Whichever one you choose, download the zip file for the theme to your Downloads folder. Then, open QMMP, right click on the title bar and choose Settings, click on the Appearances section on the left, click the Skins tab, and then click on “Add…” at the bottom, navigate to your downloaded theme zip file and select it. QMMP will copy the file into the ~/.qmmp/skins directory for you. Select the theme on the Appearances > Skins tab to activate the theme.

Other Tweaks

The following are other tweaks to Xfce that I prefer for daily use.

Disable overlay/auto hiding scrollbars

Edit /etc/environment and add the line

GTK_OVERLAY_SCROLLING=0 

Save the file. Logout and login to see the change take effect.

White font for desktop items

Go to ~/.config/gtk-3.0/ and create a file named gtk.css (edit this file if it already exists). Add these lines to it:

XfdesktopIconView.label {
    color: white;
}

Save the file. Logout and login to see the change take effect.

Consistent Scroll Bar Speed

In folders with many files, I have noticed that if I begin scrolling but slow down a little, the speed of scrolling after that point for the rest of my mouse-down drag will be EXCEEDINGLY slow. This is by design–a feature called zoom scrolling. Well, I don’t like it. If you don’t like it either, you can tame it by setting the trigger time to longer than the default of 500 milliseconds. To do this, go to ~/.config/gtk-3.0/ and create a file named settings.ini (edit this file if it already exists). Add these lines to it:

[Settings]
gtk-long-press-time=5000

Save the file. Logout and login to see the change take effect.

Thanks to:

An unnamed Reddit user (their account has been deleted) posted an excellent write up of their BeOS-r5-XFCE theming of XFCE in r/unixporn that gave me a roadmap for what was possible.

Metsatron, Roberto21, Retardtonic, and Xu Zhen for their respective work on the components that make this customization possible.

The Debian community for Bookworm.

And thanks to the Haiku OS developers who are keeping the BeOS dream alive!