Marc Wilson's Spot

Ok, everyone needs a spot on the web, and this is mine.  About the only thing you're going to learn about me here is the fact that I really like the Openbox3 window manager, but you already knew that, didn't you?  Otherwise, why would you be here?  I don't publish my life on the web.

Obligatory screenshot (two 1280x1024 monitors, Xinerama, XFree 4.3.0, Openbox3 3.2 + patches):

screenshot thumbnail

It's small, it's fast, it's easy to configure, and I'm used to it.  I've been using Blackbox almost as long as i've been using Linux, and except for minor forays into other realms with other window managers (lately, it's FVWM), it's what I've always used.  When the Openbox fork was created, I moved to that, as it had features I wanted that Blackbox at the time did not.  When Openbox3 matured, I moved to that.

If anyone's listening, though, Openbox3 would be even better if it had click-to-place for window placement, which I love.  Yes, that's a hint.

The style I'm using here is a slightly modified merrycity.  You can find my version here.  You can find my ~/.xsession file here.  The openbox3.session file is here.  You can find my collection of X resource files here.

The icons are drawn with idesk, and are PNG files.  They are available here.  I seldom use them and often just turn them off.  There are usually far better things to do with screen real estate than devote it to some icons.

You can download the current version of Openbox3 here.  Openbox3's currently open bugs can be found here.


Openbox 2.x

I was probably the last Openbox 2.x user, but now I've moved on up to Openbox3 like everyone else.  Here are some resources that I've saved from my Openbox 2.x days that people might find useful.

Openbox 2.x's Epistrophy is a great keygrabber... perhaps someday it'll be developed on its own as an independent project.  You can find my old epistrc here.

Some Patches

Here are some patches against Openbox 2.3.1 which people may find useful:

00_ignore-rcs-suffix.patch
This one simply makes Openbox ignore RCS files it may find in [stylesdir] directives.  I keep my styles in RCS, and I encourage you to do the same.

01_fix_iconv_string_def.patch
This one is a fix to Openbox 2.3.1 CVS.  It partially reverts a change to src/Util.cc that causes it to not build on Debian Unstable.  If you're able to build it properly, obviously you don't need this one.  If you know why it makes a difference, let me know... I'm no C++ programmer.


Openbox2 supports Xinerama, but much of its support seems pasted on as an afterthought.  I don't like Xinerama much as it is, and these annoyances make it worse.  So I got mad, and I decided to fix some of them.  That was my first mistake.  Below are my subsequent ones. :)

02_xinerama_geom_display.patch
This fixes the display of window geometry during window resize and coordinates during window movement so that they're drawn in the center of the monitor containing the window being operated on, rather than at the geometric center of the screen(s).  Sorry, but it assumes you're only using two monitors, and that they match in geometry.  If someone enhances it, I'd like to see it.  It shouldn't be all that hard as the window manager knows all the Xinerama areas already.

03_net_wm_fullscreen-xinerama.patch
Openbox2's _NET_WM_FULLSCREEN support was created by someone on the mailing list.  I forget his name, but he deserves the credit.  However, he forgot to deal with Xinerama running, with the result that a window setting _NET_WM_FULLSCREEN takes over all monitors, and is centered between them.  This is probably not what you want.  The patch changes things so that the window only takes over the monitor it's currently on.  This one should be able to deal correctly with more than two monitors, and monitors of differing geometries.  It pays attention to the Xinerama areas. :)

04a_xinerama_menu_display.patch
By default, Openbox2 doesn't care much about the boundary between screens, and menus will be happily drawn crossing them.  This makes menus rather hard to read.  This patch gives the boundary between screens the same treatment that screen edges get... menu popups are moved to be flush against the edge, allowing for maximum readability.  As in patch #02, this assumes two monitors of the same geometry.  It shouldn't be hard to fix for more, though...  as for #02, you'd just have to look at the list of Xinerama areas the window manager already maintains.


CUPS

Just so everyone knows... I really hate CUPS.  It's an incredibly fragile piece of software... which when it works, it's wonderful.  When it breaks, however, it's truly BUSTED.  How it won out over LPRng I can only ascribe to the fact that CUPS deals with brain-dead inkjet printers far better than LPRng ever will.

Presented here is a replacement for the pdftops filter included with CUPS 1.1.22.  The CUPS-supplied filter is based on pstopdf from the xpdf sources, and what it outputs as supposedly standard Level 2 PostScript crashes my Laserwriter 630 Pro.  Crashes it hard... all the lights go out.  This replacement wraps ps2pdf from Ghostscript so that it can be used by CUPS.  The PS files created by Ghostscript are also half the size.  Now my Powerbook with MacOS 10.3 Panther can finally print to the shared laser printer again.

No warranty is expressed or implied.  It works for me, that's all that I can say.

You can find the replacement filter here.