Re: [PATCH] gitk: restore wm state to normal before saving geometry information
- From
Alexey Borzenkov <snaury@gmail.com>
- Date
- Sep 15, 2009, 13:58 UTC
- Message-ID
- <e2480c70909150658p4293b596w6860d7cc9b3670ef@mail.gmail.com>
- In-Reply-To
- <e2480c70909150554p2e211d60y18049b5534f8922e@mail.gmail.com>
On Tue, Sep 15, 2009 at 4:54 PM, Alexey Borzenkov <snaury@gmail.com> wrote:
Show 6 quoted lines
> On the other hand, when I resize columns and then maximize/restore the > window repeatedly I see that their sizes change in a strange way (and > the smaller restored window they stranger are results) until hitting > some sort of equilibrium, then maximize/restore doesn't have effect on > their sizes anymore. So maybe there's a bug not in a way my patch > restores the window, but in a way window resizes are handled.
It seems that I found what's the problem. When the window is very small, and we maximize it, sash coords would initially be small. Then we calculate their new positions and set it with $win sash place, but unfortunately, tk limits them to the OLD pane size for some reason. Initially I though that maybe Configure is fired too early (before window is resized), but [winfo width $win] shows $win has the new size. Here's some output that I got during debugging:
resizing 422 -> 1261 (winfo shows 1261)
s0: 138 1
s1: 288 1
sash0: 412 -> 412 1
sash1: 860 -> 417 1I'm at a loss why this happens and how to lift this restriction.