Playing with
groups.google.com
I understand that <<Unix window managers do not have such a "Always on top" feature. To be more precise, most Unix window managers can do something like
"Always on top", but there's no X11 standard.>> (from Slaven Rezic)
From Slaven, the (untested) trick is:
$top->bind("<Visibility>" => sub { $top->raise });
For win32, with a trick by Toby Everett, for me works this:
use strict;
use Tk;
use Win32::API;
my $mw = new MainWindow;
use vars qw/$Button/;
$mw->Frame(-width=>200, height =>25);
$mw->update;
Win32::API->new("user32","SetWindowPos",[qw(N N N N N N
N)],'N')->Call(hex($mw->frame()),-1,0,0,0,0,3);
$Button=$mw->Button(-text => "Button",
-command => sub {
&do_something;
})
->pack();
MainLoop;
sub do_something {
#sleep(10);
}
UPDATE:
Always from Slaven Rezic, there is a trick for KDE2:
If you're using KDE2 the you can write following
($w is your toplevel widget):
my($wrapper) = $w->toplevel->wrapper;
$w->property('set', '_NET_WM_STATE', "ATOM", 32,
["_NET_WM_STATE_STAYS_ON_TOP"], $wrapper);
I think the _NET_WM_* stuff is also GNOME-compliant.
|