[openbox] Per-workspace wallpaper impossible?

dircha dircha at dircha.com
Tue Jun 8 00:28:16 EDT 2004


Eric Shattow wrote:
> Mikael Magnusson wrote:
>> On Mon, 7 Jun 2004, Marc Wilson wrote:
>>> On Mon, Jun 07, 2004 at 05:31:10PM +0200, Holly Bostick wrote:
>>>> So what's the deal? Is per-workspace wallpaper simply not
>>>> possible under OB3, or have I misconfigured something?
>>> 
>>> You'd have to have something that watched for openbox to switch 
>>> workspaces, and then reset the root pixmap when it happened.  The
>>> window manager isn't going to help you, it'd have to be an
>>> external application.
>>> 
>>> Stuff like that isn't really the job of the window manager in any
>>> case.
>> 
>> A faster solution that just came to mind would be to have a 
>> _net_wm_type_desktop (or whatever the name is) type window that has
>>  all the pixmaps preloaded and just switches them over when you
>> change workspace. It would probably use like 3M of ram per
>> workspace though.
 >
> yeah. or, if you're already running gnome with ob3 as the wm, you
> could run multi-backgrounds-daemon.   i have this going with 3ddeskd
> for switching workspaces,  pure functional eyecandy.

If it hasn't already been mentioned, in your <keybind> where you have 
<action name="Desktop"> and then the desktop you want to go to, just 
append an <action name="execute"> as a child of the <keybind> that 
invokes a script that takes as a parameter a number from 1-10 (or how 
many every desktops you want).

In the script switch/case for each possible desktop number (which is the 
argument from passed in from the shell), and "xloadimage -onroot 
-fullscreen [image]" accordingly.

If your desktops are important enough to you that you want a seperate 
background on some, I would suppose you will stay on each long enough 
that you don't mind the initial load (which may or may not be noticable 
on your computer).

For example, I use CTRL-ALT-[1-6] to switch desktops. SHIFT-ALT-[1-6] 
sends a window to a desktop but does not follow it.

But if you switch relative to the current desktop (e.g. "next", 
"previous") rather than absolute as I described, then you are going to 
need to keep track of state somewhere. You won't need a daemon for this; 
you could get by using a file to track state. Just include a script as 
an additional <action name="execute"> that increments or decrements the 
value in a file.

Sorry for the sloppy grammar; I'm on my way to sleep.

dircha



More information about the openbox mailing list