Re: Questions about Sawfish



Hello.

I received this query as well, and thought I should forward my
reply to the list, since it's already being discussed.  :)

----- Forwarded message from Scott Scriven -----

* Damien Clauzel <dclauzel aup fr> wrote:
> We would like to create a tool for defining a few groups of
> windows (for example, by clicking on them or by using a list
> constructed by another external tool), then hiding or to
> displaying those groups. The groups being not exclusive and
> could having elements in common.

The only thing which sounds new about that is ability to put a
window in more than one group.  Current methods allow a window to
be in one group, or all groups ("sticky"), but not anything
in-between.

> Then, with a tool, we could hide group 2 so the learner can
> work on group 1, then displaying group 1 while hiding group 2
> when he wants to change the current working task.

> The main idea is to define a work context for every task, and
> to be able to switch from one context to another by displaying
> only the windows useful to the current task.

That sounds exactly like what people do today with multiple
desktops.  You simply place related windows together on each
workspace, and switch between them when you want to work on a
different project.

For example, take a look at the attached screenshot.  (the full
screen is here, if you want to see it:
http://toykeeper.net/photos/screenshots/desktop/2005-04-27-zzy.png )

The image represents a set of 9 desktops, arranged in a 3x3 grid.
Each desktop contains a set of related windows.  The upper-right
desktop is active.  I navigate between desktops either by
pressing Ctrl+Arrow keys (move the focus to a relative position)
or Alt+number keys (go directly to desktop number 1 through 9).

Though I call it changing desktops, or moving from one desktop to
another, in reality all that happens is sawfish hides one group
of windows and displays another.

> As developments are linux based with free software, we are
> considering the possibility of using the Sawfish window manager
> in order to use the notion of groups (cf
> http://home.blarg.net/~sand/sawfish/v0.11/sawfish/Window-Groups.html).

I do not think the "window groups" described on that page are the
same type you want.  ICCCM window groups are a way for individual
applications, or instances of an application, to keep all its
windows together.  It is *not* a way to group windows from more
than one application into the same "task group".

> Do you think that Sawfish could be an interesting choice for us
> for building this research prototype ?

Yes.  Sawfish is feature-rich and extremely extensible.  It is
controlled by "rep", a lisp-like language, so you can add new
concepts and features relatively easily if sawfish doesn't
already have what you want.

There are also other extensible window managers, if you don't
like Lisp.  PYWM may be interesting, in that case:
http://www.freenet.org.nz/python/pywm/

> If yes, do you know where we could find code samples for
> learning how to quickly use the Sawfish groups ?

I would suggest three sources of info:

  http://sawmill.sourceforge.net/
  http://sawfish.endorphin.org/
  ... and the actual sawfish source code.

In Debian GNU/Linux or Ubuntu, there is a lot of interesting code
in the "sawfish-lisp-source" package and the
"sawfish-merlin-ugliness" package.

For more expert advice, I recommend joining the sawfish mailing
list, and posting questions there.


I hope this helps.

----- End forwarded message -----

-- Scott



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]