Subject: Re: bsetroot in {black,open}box
To: Jan Schaumann <>
From: Greg A. Woods <>
List: tech-pkg
Date: 11/20/2002 19:21:20
[ On Wednesday, November 20, 2002 at 17:18:25 (-0500), Jan Schaumann wrote: ]
> Subject: Re: bsetroot in {black,open}box
> "Greg A. Woods" <> wrote:
> > [ On Wednesday, November 20, 2002 at 16:53:54 (-0500), Jan Schaumann wrote: ]
> > To me a "theme" is a description of a style and a collection of some
> > images and maybe some text messages.
> How does a description of a style get the collection of images to be
> displayed?

as you say below, that should be only the window manager's prerogative....

> > How dose a "theme" call a program!?!?!?
> If the theme includes a picture for the root-window, the theme will have
> to call a program to set the root-window.  In various window-managers,
> this is part of the window-manager's capabilities; in blackbox and
> openbox it is not, which is why these themes call bsetroot or bsetbg
> (and can, if they like, call any other program).
> Whether or not this is a good idea is not the question (which doesn't
> have a definite answer anyway).

OK, so long as the "theme" itself doesn't include code which specifies
which program should run, and how, etc., then I'm fine with it.  I don't
care how the window manager does it's job from this perspective --
that's just an implementation detail.

BUT... that's the whole point behind my first suggestion to just rename
the tools to not collide -- if the themes don't include code then this
renaming won't cause any problems.

> > > Since these tools are useful without either of the window managers, I
> > > imported them as a separate package.
> > 
> > that doesn't really help in the long run, does it?
> Yes it does.  Now both (maybe three in the future if we include
> hackedbox, maybe more if more forks arise) window managers can use these
> tools

Well, if the window managers invoke the programs in question with a well
known command-line interface then that's fine.

However by extracting these programs from one of the packages into their
own separate package and then making both packages use this new package,
now pkgsrc maintainers must stay aware of any API changes in future
versions that might require some other fix.

Dependencies come with responsibilities.

I think it still makes the most sense to use the versions of these
programs that come with the particular window manager variant, renaming
the programs to avoid collisions and to patch one/each to use their own
variants of these programs.

> and both can share themes without the user having to patch the
> themes.

See, now this is where I'm still having troubles with the explanations
of why bsetroot can't be renamed.

If "themes" don't include code then there's no problem here and you can
rename bsetroot to anything you want and/or put it in any private
directory you want and simply patch the associated window manager to

It's only if the theme includes code that the themes themselves depend
on the names of these underlying tools.

If the theme is just a collection of images then it's only the window
manager which depends on a given tool to display them and thus no matter
what you call the program for a given variant of the window manager,
these "theme" things will still be 100% portable between the window
manager variants.

So, which is it?  Is there code in these *box "theme" things, or not?

> > besides, there are already lots of equivalent tools, no?  including one
> > that comes by default with every X11 install:  xsetroot.
> You may discuss the resons for not using xsetroot and using bsetroot
> instead with the people who wrote blackbox/openbox and bsetroot.  This
> is not my concern.  :)

Well, yes, that's not the whole story.  If this 'bsetroot' thing is
useful on its own then it may be useful to have some version of it in a
stand-alone package.  Otherwise it should be treated as an internal
component of the window manager and if you want multiple variants
installed then you have to rename (or move) these tools so the don't

								Greg A. Woods

+1 416 218-0098;            <>;           <>
Planix, Inc. <>; VE3TCP; Secrets of the Weird <>