I don't understand the curly brackets
{
my @command = ($0,@ARGV);
$Window->command(?@command?);
}
What do you suppose that does? Is it an artifact of
Tcl code?
Neither could I find where
command and
group are inherited from. But, simply including in the initWindow
subroutine:
#...
sub initWindow {
print STDERR "Initializing Tk window...\n" if ($opt_debug);
$Window = MainWindow->new(-title => "Perlmonks Chat");
$Window->group($Window);
#... ^^^^^^
is enough to create a WindowMaker icon. Like you, I'm not
comfortable that something works, when I don't know why it
works - maybe it's not working the way I imagine.
What's the best way to research inheritance in an
Object Oriented program? How do I know I've found the
attributes that are inherited?
UPDATE
I found this
concerning Tk::Wm.
And the following descriptions.
$toplevel->command(?value?)
If value is specified, this method stores value in $toplevel's
WM_COMMAND property for use by the window manager or session
manager and returns an empty string. Value must have proper list
structure; the elements should contain the words of the command
used to invoke the application. If value isn't specified then the
method returns the last value set in a command method for
$toplevel. If value is specified as an empty string, the method
deletes the WM_COMMAND property from $toplevel.
|
$toplevel->group(?$widget?)
If $widget is specified, it is the the leader of a group of related
windows. The window manager may use this information, for example,
to unmap all of the windows in a group when the group's leader is
iconified. $widget may be specified as an empty string to remove
$toplevel from any group association. If $widget is specified then
the method returns an empty string; otherwise it returns the
$toplevel's current group leader, or an empty string if $toplevel
isn't part of any group.
|
That helps a bit. But I'm not sure that I understand the relationship
in the Object hierarchy, even for all that.
mkmcconn