git-gui: set suitable extended window manager hints.
This patch uses recent Tk attributes support to specify the intended use of new toplevels by setting the correct EWMH hint. This helps modern window managers to apply sensible decoration for the tooltip and dialogs. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
This commit is contained in:
@ -1201,6 +1201,7 @@ method _open_tooltip {cur_w} {
|
|||||||
_hide_tooltip $this
|
_hide_tooltip $this
|
||||||
|
|
||||||
set tooltip_wm [toplevel $cur_w.tooltip -borderwidth 1]
|
set tooltip_wm [toplevel $cur_w.tooltip -borderwidth 1]
|
||||||
|
catch {wm attributes $tooltip_wm -type tooltip}
|
||||||
wm overrideredirect $tooltip_wm 1
|
wm overrideredirect $tooltip_wm 1
|
||||||
wm transient $tooltip_wm [winfo toplevel $cur_w]
|
wm transient $tooltip_wm [winfo toplevel $cur_w]
|
||||||
set tooltip_t $tooltip_wm.label
|
set tooltip_t $tooltip_wm.label
|
||||||
|
@ -497,6 +497,7 @@ method _open_tooltip {} {
|
|||||||
|
|
||||||
if {$tooltip_wm eq {}} {
|
if {$tooltip_wm eq {}} {
|
||||||
set tooltip_wm [toplevel $w_list.tooltip -borderwidth 1]
|
set tooltip_wm [toplevel $w_list.tooltip -borderwidth 1]
|
||||||
|
catch {wm attributes $tooltip_wm -type tooltip}
|
||||||
wm overrideredirect $tooltip_wm 1
|
wm overrideredirect $tooltip_wm 1
|
||||||
wm transient $tooltip_wm [winfo toplevel $w_list]
|
wm transient $tooltip_wm [winfo toplevel $w_list]
|
||||||
set tooltip_t $tooltip_wm.label
|
set tooltip_t $tooltip_wm.label
|
||||||
|
@ -138,6 +138,7 @@ proc make_dialog {t w args} {
|
|||||||
upvar $t top $w pfx this this
|
upvar $t top $w pfx this this
|
||||||
global use_ttk
|
global use_ttk
|
||||||
uplevel [linsert $args 0 make_toplevel $t $w]
|
uplevel [linsert $args 0 make_toplevel $t $w]
|
||||||
|
catch {wm attributes $top -type dialog}
|
||||||
pave_toplevel $pfx
|
pave_toplevel $pfx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,6 +123,7 @@ proc paddedlabel {w args} {
|
|||||||
# place a themed frame over the surface.
|
# place a themed frame over the surface.
|
||||||
proc Dialog {w args} {
|
proc Dialog {w args} {
|
||||||
eval [linsert $args 0 toplevel $w -class Dialog]
|
eval [linsert $args 0 toplevel $w -class Dialog]
|
||||||
|
catch {wm attributes $w -type dialog}
|
||||||
pave_toplevel $w
|
pave_toplevel $w
|
||||||
return $w
|
return $w
|
||||||
}
|
}
|
||||||
|
@ -124,6 +124,7 @@ proc do_push_anywhere {} {
|
|||||||
|
|
||||||
set w .push_setup
|
set w .push_setup
|
||||||
toplevel $w
|
toplevel $w
|
||||||
|
catch {wm attributes $w -type dialog}
|
||||||
wm withdraw $w
|
wm withdraw $w
|
||||||
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
|
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
|
||||||
pave_toplevel $w
|
pave_toplevel $w
|
||||||
|
Reference in New Issue
Block a user