in reply to How to Populate multiple Solaris gnome windows with a Perl/TK widget

Just some ideas off the top of my head ( since you didn't give many details). Like what do you mean..."populate all gnome windows" ? Do you mean every virtual desktop, or every gnome-based application which you launch?

FWIW, there are 2 types of shells within bash, the -i and -l options. There are a different set of rc files which get run, depending on whether it's a 'login' shell or an 'interactive' shell. For bash, read man bash and look for the INVOCATION section. It tells you which file will be read for a login, and you can probably put your launching statement in that file.

Of course, you probably need a graphical logon for it to work, because Tk needs a X server to talk to. But there are tests you can do, to see whether you are in X or not.

Just as another "coffee-room-comment", maybe you should look at Gtk2-perl , instead of Tk, if you are using gnome. There are bindings to the gnome libs withing Gtk2-perl, and may be helpful to you, like "taskbar" apps.


I'm not really a human, but I play one on earth. flash japh
  • Comment on Re: How to Populate multiple Solaris gnome windows with a Perl/TK widget

Replies are listed 'Best First'.
Re^2: How to Populate multiple Solaris gnome windows with a Perl/TK widget
by w3ntp (Beadle) on Jun 02, 2005 at 20:23 UTC
    Thanks for the reply. To clarify things..When I logon to the solaris box, there are 6 gnome workspaces that appear in the botttom right of the screen that I can select from. I would like my Perl Gui to appear in all 6 of the workspaces, so that whenever the user switches from one workspace to the next the Perl Gui widget will allways appear ontop of the workstpace window. I hope this clarifies things. thanks w3ntp
      It sounds like you just want to add the overrideredirect flag to your script. This code should stay on top of all 6 workspaces.
      #!/usr/bin/perl use warnings; use strict; use Tk; my $mw = tkinit; $mw->geometry("200x300+200+200"); $mw->overrideredirect(1); # set the override-redirect flag $mw->packPropagate(0); # prevent the window being resized # for this demo $mw->Button( -text => 'Quit', -command => sub { Tk::exit(0) }, )->pack( -side => 'bottom', ); MainLoop;

      I'm not really a human, but I play one on earth. flash japh
        Hi, The "overrideredicect(1)" command worked. My Widget box populated all 6 window Workspaces. The only drawback was that it removed the boarder around my Widget box so that I could not minimize or maximize the widget. Any ideas of how to populate all the Workspaces and have the minimize and maximize buttons on the top of the widget? thanks w3ntp