Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: stay-on-top property for Toplevel for Perl-Tk GUI

by dree (Monsignor)
on Oct 15, 2002 at 14:21 UTC ( #205382=note: print w/replies, xml ) Need Help??

in reply to stay-on-top property for Toplevel for Perl-Tk GUI

Playing with 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); }

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.

Replies are listed 'Best First'.
Re: Re: stay-on-top property for Toplevel for Perl-Tk GUI
by Courage (Parson) on Oct 15, 2002 at 14:25 UTC
    Exactly what I needed!

    Thanks a lot for your kind help!
    Courage, the Cowardly Dog

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://205382]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (6)
As of 2022-05-28 23:27 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (101 votes). Check out past polls.