Re: FVWM: per window autoraise? [new FvwmAuto version]

From: Albrecht Kadlec <albrecht_at_auto.tuwien.ac.at>
Date: Fri, 18 Oct 96 19:28:30 +0200

>>>>> Kai Grossjohann writes:

>>>>> Albrecht Kadlec writes:
Albrecht> PS to Kai: your problem is special. I still can't get a
Albrecht> style flag out of thin air. You could peruse circulateskip
Albrecht> and windowlistskip flags, but the problem is, there's no
Albrecht> if [!circulateskip] command
Albrecht> and the
Albrecht> FvwmAuto 300 "Next [!circulateskip,windowid $w] command"
Albrecht> doesn't work yet (timout, I'll have to be in the barracks
Albrecht> at 24:00). - maybe soon (no more changes in FvwmAuto, but
Albrecht> bugfixes for the circulate option parsing part of fvwm2)

K> Dear Albrecht,

K> I do not understand the last FvwmAuto line, but there is in fact a way
K> to do it without style flags.
which is not the best thing to do, I think (see below).

the above line is from my alpha version of fvwm (patches are at my
homepage, as soon, as they become stable).
It basically says: go to the next window, that doesn't have the
circulateskip bit set and the windowid $w (window, which has been given
focus) and execute command on it (command is raise, normally).
this is basically a hunchback version if an IF command (if window $w
doesn't have this bit set, do sth).

K> Though I agree that it is ugly.

mine too, but I think an IF is easy to implement, and a set of user
perusable style bits is very flexible, and doesn't bloat FvwmAuto to a
100k program (it doesn't bloat fvwm itself much, either).

K> Here's my proposal, you might want to add your comments on the
K> meaningfulness.

K> With the new SendToModule command, it would be easy to add a menu
K> entry that enables or disables AutoRaise for the particular window for
K> which it was invoked. FvwmAuto could read an initial specification of
K> windows which are to be autoraised as *FvwmAuto lines in .fvwm2rc;
K> this could then later be changed on a per-window basis with
K> SendToModule.

So FvwmAuto would have to do a whole lot more: parse more config entries,
keep that info in a global (linked) list, use this for any window.
This is a duplication of the Fvwm internal linked list of windows,
where only one bit in a 32 bit integer is used for any binary style flag.
(that`s a 64:1 bloat ratio in storage requirements, not to mention the
code for parsing and the communication, and the respective cpu overhead.)

I'd wait till after The Great Mythical Style Flag Rewrite, which will
hopefully include some user-flags (user1 - user4 ?) which can be used in
conjunction with the PREV/NEXT/NONE (and hopefully someone will implement
IF and FOREACH) commands.


K> I would use the autoraise and autolower features as follows: the
K> console window (plus a few others) should always be autoraised (and
K> -lowered), so I would put them in the *FvwmAuto lines. After that,
K> when I create a new xdvi window and feel like it, I turn on autoraise
K> (and -lower) for that particular window with a key binding or a menu
K> entry.

this would be sth like
        FvwmAuto 300 "if [!user1] raise"
which is equivalent to the soon (when I get the time) usable version
        FvwmAuto 300 "Next [!circulateskip,windowid $w] raise"

K> Whatcha think?
everything clear as mud now?


albrecht
-- 
On the news a nation mourns your unknown soldier count the cost,
  For a second you'll be famous but labelled posthumous  -- Marillion
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_hpc.uh.edu.
To report problems, send mail to fvwm-owner_at_hpc.uh.edu.
Received on Fri Oct 18 1996 - 12:33:32 BST

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:59 BST