diff options
author | Martin Hunt <hunt@redhat.com> | 2001-04-09 17:35:31 +0000 |
---|---|---|
committer | Martin Hunt <hunt@redhat.com> | 2001-04-09 17:35:31 +0000 |
commit | 9ac6258e7f5f35f8eb1e1dbf577692a90b37abbf (patch) | |
tree | eddf71aa7a5eb5127fb23fbd198a67e09cc774b0 /gdb/gdbtk | |
parent | 7b252bef7a4a2712dcecd0dc24f72b6b93640966 (diff) | |
download | gdb-9ac6258e7f5f35f8eb1e1dbf577692a90b37abbf.tar.gz |
2001-04-09 Martin M. Hunt <hunt@redhat.com>
* library/managedwin.itb (ManagedWin::reveal): After
deiconifying window for the first time, set its geometry
again, if the platform is unix. This fixes a problem with kde.
(ManagedWin::_create): Set a variable with the initial
geometry.
Diffstat (limited to 'gdb/gdbtk')
-rw-r--r-- | gdb/gdbtk/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/gdbtk/library/managedwin.itb | 16 |
2 files changed, 21 insertions, 3 deletions
diff --git a/gdb/gdbtk/ChangeLog b/gdb/gdbtk/ChangeLog index 499d0f84bf9..d8d78b13c78 100644 --- a/gdb/gdbtk/ChangeLog +++ b/gdb/gdbtk/ChangeLog @@ -1,3 +1,11 @@ +2001-04-09 Martin M. Hunt <hunt@redhat.com> + + * library/managedwin.itb (ManagedWin::reveal): After + deiconifying window for the first time, set its geometry + again, if the platform is unix. This fixes a problem with kde. + (ManagedWin::_create): Set a variable with the initial + geometry. + 2001-04-04 Christopher Faylor <cgf@redhat.com> * generic/gdbtk.c: Add __CYGWIN__ conditional to WIN32 test. diff --git a/gdb/gdbtk/library/managedwin.itb b/gdb/gdbtk/library/managedwin.itb index a3b45d7d9bd..b611e69c6c3 100644 --- a/gdb/gdbtk/library/managedwin.itb +++ b/gdb/gdbtk/library/managedwin.itb @@ -1,4 +1,4 @@ -# Managed window for GDBtk. +# Managed window for Insight. # Copyright 1998, 1999, 2000, 2001 Red Hat, Inc. # # This program is free software; you can redistribute it and/or modify it @@ -67,8 +67,18 @@ body ManagedWin::reveal {} { update idletasks set top [winfo toplevel [namespace tail $this]] + set g [wm geometry $top] + #debug "$top geometry=$g state=[wm state $top]" raise $top wm deiconify $top + if {[info exists ::$top._init_geometry]} { + upvar ::$top._init_geometry gm + if {$::tcl_platform(platform) == "unix"} { + wm geometry $top $gm + } + unset ::$top._init_geometry + } + #debug "$top geometry=[wm geometry $top] state=[wm state $top]" # There used to be a `focus -force' here, but using -force is # unfriendly, so it was removed. It was then replaced with a simple @@ -292,8 +302,9 @@ body ManagedWin::_create { class args } { set g "${w}x${h}+${x}+${y}" } if {[expr $x+50] < $_screenwidth && [expr $y+20] < $_screenheight} { - wm geometry $top $g wm positionfrom $top user + wm geometry $top $g + set ::$top._init_geometry $g } } } @@ -322,7 +333,6 @@ body ManagedWin::find { win } { # PUBLIC PROC: init # ------------------------------------------------------------ body ManagedWin::init {} { - debug wm withdraw . set _screenheight [winfo screenheight .] set _screenwidth [winfo screenwidth .] |