Re: wish list

Juergen Schoenwaelder (schoenw@ibr.cs.tu-bs.de)
Thu, 4 May 1995 20:58:07 +0200

Hi!

James E. Robinson (jerobins@unity.ncsu.edu) said:

James> 1. Thanks for the blinking groups patch. Is there any way to
James> propagate the color change to the group icon? i.e. Two nodes
James> go red and blink, make the group their in blink yellow.

This issue comes up from time to time. Initially, I did not want to
code any specific behavior into Tkined so that the scripts would have
complete control. I am now moving away from this principle as I found
that the scripts just get too complicated.

There is a second issue that stops me from using colors to signal the
state of an object: I am usually sitting in front of a monochrome
display and I did not find an easy way to map different colors. If
someone comes up with a good solution that is easy to implement, I
could just add a health attribute to all objects and map the value
(e.g. an integer between 0 and 100) on a specific color. It would be
no problem to compute the health of a group based on the health of its
members.

James> 2. Beep. A few beeps when a node goes down or hits a
James> threshold would be wonderful to get folks attention. (I know
James> tk4.0 has a beep command...but we can't wait that long :-)

Beeping is very simple, even in Tk3.6:

proc beep {} {
catch {
set f [open /dev/tty w]
puts $f "\a"
close $f
}
}

The problem is that we need a way to control which events should
create a beep.

Mark J. Elkins (mje@posix.co.za) said:

Mark> Rather than that - what about just being able to exec some
Mark> program - with the capability of some substitution - when an
Mark> event occures. I would have this playing a sound-wave
Mark> file. The substitution would be for the type of event
Mark> (unreachable/reachable, etc).

Right. What I am going to do is to provide an event object in
Tkined. Currently, the scripts contain code to flash objects or to
change their colors when a host gets unreachable. Future versions will
instead create an event object and it is up to Tkined to decide what
it will do when a new event object is created. This will allow to let
the user define what should happen. Tkined will have some buildin
actions (like changing colors of flashing objects) and will provide
the ability to execute a Tcl script. This can be used to play sounds
or even to disconnect your phone if something important has broken :-)

The Tkined snapshot that I announce earlier this day contains code to
create EVENT objects. However, you can not do much with them right
now.

James> 3. Here's the biggie - got a nifty way to map a double click
James> on a group and pop-up a new view? Or some other means of
James> "layering"? When expanding a lot of groups, the map gets ugly
James> quick...thoughts anyone? Giving the expanded groups an opaque
James> background would possibly help some.

The Tk4.0 version makes the position of the group icon independent of
the position of its members. This helps a little, but not much.
Alternatively, you can link separate Tkined maps using reference
objects. Implementing different layers requires a non trivial changes
to the code and I don't have time to do this. If someone sends me
patches that implement this feature nicely I am willing to include
them.

Juergen