This is the mail archive of the insight@sources.redhat.com mailing list for the Insight project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [RFA] managedwin patch for kde


I finally set up Windows and installed Cygwin.  It works fine without this
patch.  How about I change this patch to only do the raise if tcl_platform
is unix?

Martin

On Wed, 4 Apr 2001, Fernando Nasser wrote:

> "Martin M. Hunt" wrote:
> >
> > I use kde and am annoyed that my windows change position every time I run
> > Insight.  This is probably a kde problem, or a tk/kde misunderstanding.
> > What happens is that when a new window is created and the geometry is set,
> > then the window is deiconified, it is displayed at the correct position,
> > but tk thinks its position is off by the size of the window border. That
> > incorrect position is saved when Insight exits.  The next time Insight is
> > run, the window is lower and to the right by the thickness of the window
> > border.  So all the windows slowly creep down and to the right.
> >
> > By experimentation, setting the geometry again after the window is
> > deiconified fixes the problem.  It should have no impact on other window
> > managers. I have tested this on GNOME and KDE 2.1.
> >
> > This is an ugly hack, but it works.  Someday we'll probably have to
> > rewrite the managedwin stuff to specifically handle different broken
> > windoiw managers.  OK to check in?
> >
>
> Yes, people have been complaining about this "moving windows".
> Thanks for tracking it down!
>
> I guess you don't have a Cygwin machine, right?
>
> Let me try it on a Cygwin box firt, just in case.
>
>
> > 2001-04-03  Martin M. Hunt  <hunt@redhat.com>
> >
> >         * library/managedwin.itb (ManagedWin::reveal): After
> >         deiconifying window for the first time, set its geometry
> >         again. This fixes a problem with kde.
> >         (ManagedWin::_create): Set a variable with the initial
> >         geometry.
> >
> > Index: gdbtk/library/managedwin.itb
> > ===================================================================
> > RCS file: /cvs/src/src/gdb/gdbtk/library/managedwin.itb,v
> > retrieving revision 1.11
> > diff -u -p -r1.11 managedwin.itb
> > --- managedwin.itb      2001/03/01 20:00:12     1.11
> > +++ managedwin.itb      2001/04/04 04:20:59
> > @@ -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,16 @@ 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
> > +    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 +300,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 +331,6 @@ body ManagedWin::find { win } {
> >  #  PUBLIC PROC:  init
> >  # ------------------------------------------------------------
> >  body ManagedWin::init {} {
> > -  debug
> >    wm withdraw .
> >    set _screenheight [winfo screenheight .]
> >    set _screenwidth [winfo screenwidth .]
>
> --
> Fernando Nasser
> Red Hat Canada Ltd.                     E-Mail:  fnasser@redhat.com
> 2323 Yonge Street, Suite #300
> Toronto, Ontario   M4P 2C9
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]