# HG changeset patch # User Andrew Shadura # Date 1350394316 -7200 # Node ID 870505ec3e56b2779bede780fa92f876c18da629 # Parent 82289176717dbc7581e268a572d10c8a5834c825 hgk: fix pop-up windows Create pop-up windows properly so they go to the floating layer in tiling window managers. diff -r 82289176717d -r 870505ec3e56 contrib/hgk --- a/contrib/hgk Sun Mar 10 16:12:26 2013 +0100 +++ b/contrib/hgk Tue Oct 16 15:31:56 2012 +0200 @@ -139,6 +139,18 @@ } } +proc popupify {w} { + wm resizable $w 0 0 + wm withdraw $w + update + set x [expr {([winfo screenwidth .]-[winfo reqwidth $w])/2}] + set y [expr {([winfo screenheight .]-[winfo reqheight $w])/2}] + wm geometry $w +$x+$y + wm transient $w . + wm deiconify $w + wm resizable $w 1 1 +} + proc getcommits {rargs} { global commits commfd phase canv mainfont env global startmsecs nextupdate ncmupdate @@ -529,6 +541,7 @@ ttk::button $w.ok -text OK -command "destroy $w" pack $w.ok -side bottom -fill x bind $w "grab $w; focus $w" + popupify $w tkwait window $w } @@ -949,6 +962,7 @@ pack $w.m -side top -fill x -padx 20 -pady 20 ttk::button $w.ok -text Close -command "destroy $w" pack $w.ok -side bottom + popupify $w } set aunextcolor 0 @@ -3755,6 +3769,7 @@ grid columnconfigure $top.buts 1 -weight 1 -uniform a grid $top.buts - -pady 10 -sticky ew focus $top.fname + popupify $top } proc mkpatchrev {} { @@ -3822,6 +3837,7 @@ grid columnconfigure $top.buts 1 -weight 1 -uniform a grid $top.buts - -pady 10 -sticky ew focus $top.tag + popupify $top } proc domktag {} { @@ -3906,6 +3922,7 @@ grid columnconfigure $top.buts 1 -weight 1 -uniform a grid $top.buts - -pady 10 -sticky ew focus $top.fname + popupify $top } proc wrcomgo {} {