http://qs1969.pair.com?node_id=224257


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

Replies are listed 'Best First'.
(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