Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Center a Tk window on the screen

by {NULE} (Hermit)
on Jan 04, 2003 at 15:05 UTC ( #224257=note: print w/ replies, xml ) Need Help??


in reply to Center a Tk window on the screen

Sweet. How coincidental - I was pondering exactly this the other day. I've been rewritting the old windows video-game Gazillionaire (http://www.lavamind.com/gaz.html) in Perl/Tk for my own amusement recently and I was thinking about how to do a fullscreen mode using just Tk. Between this and your other node on removing decorations, this is perfect!

$w->{main}->overrideredirect(1); $w->{main}->geometry($w->{main}->screenwidth."x".$w->{main}->screenwid +th."+0+0");
{NULE}
--
http://www.nule.org


Comment on Re: Center a Tk window on the screen
Download Code
(bbfu) (fullscreen considerations) Re3: Center a Tk window on the screen
by bbfu (Curate) on Jan 04, 2003 at 20:02 UTC

    Of course, if you're running it in MS win32, you should be aware that any "stay on top" windows (such as the taskbar and, on my computer anyway, Trillian) will still be in front. You'll have to do something using Win32 or Win32::API to move them to the back, probably. Although, it's possible Tk has some way to force a z-order for your window (I haven't checked).

    bbfu
    Black flowers blossum
    Fearless on my breath

      Yeah - that's fine. I was going to put something in the help about how you could turn autohide on if you want to use fullscreen. At any rate, it's nice to have the option, for those that don't mind tweaking things a bit to use it.

      This is what I ended up using and it works well, excluding the stay-on-top thing (tested on SuSE 8.0 (5.6.1) and Win98 (ActiveState-5.8.0):

      if ($s->{fullscreen}) { $s->{fullscreen} = 0; $w->{main}->withdraw; $w->{main}->update; $w->{main}->overrideredirect(0); $w->{main}->geometry($s->{windowed}||"800x600+20+20"); $w->{main}->deiconify; $w->{main}->update; } else { $s->{fullscreen} = 1; $s->{windowed} = $w->{main}->geometry; $w->{main}->withdraw; $w->{main}->update; $w->{main}->overrideredirect(1); $w->{main}->geometry($w->{main}->screenwidth."x".$w->{main}->scree +nheight."+0+0"); $w->{main}->deiconify; $w->{main}->update; }
      {NULE}
      --
      http://www.nule.org

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2014-07-23 02:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (131 votes), past polls