Re: [PATCH] Make gitk save and restore the user set window position.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Junio C Hamano <junkio@xxxxxxx> wrote:
>    After seeing what this patch has to do, I feel dirty, but
>    that is not Mark's fault -- rather it is Tk's.
> 
>    I am tempted to suggest adding an explicit "Save window
>    configuration" action on the menubar and forget about
>    resurrecting the window configuration immediately before the
>    end of the last session.

Maybe take a look at what git-gui does here, because its slightly
saner and still saves the geometry on exit:

	set is_quitting 0
	proc do_quit {} {
		global is_quitting
		if {$is_quitting} return
		set is_quitting 1
		# save wm geometry
	}
	bind . <Destroy> do_quit

OK, its not that much saner.  But it does bypass needing to setup
some ugly bindings on every object in the UI.  Though I recently
took a slightly different approach in a dialog:

	proc do_quit {} {
		bind . <Destroy> {}
		# do cleanup
	}
	bind . <Destroy> do_quit

Yes the binding is firing in both cases for some arbitrary child
widget in the window, but it doesn't matter.  In the latter version
setting the binding to the empty string removes the do_quit binding,
allowing the other widgets to destroy without reinvoking do_quit
and whacking whatever geometry data you may have saved before the
widgets started to get deleted.


The only problem I seem to have in git-gui is the window position
opens about 10 pixels lower and 2 pixels to the right than the last
time it opened.  I think there's a bug in Tk on Windows where the
window position on the desktop doesn't include the titlebar when I
get it, but expects to include it when I attempt to set it on the
next start.

I should note I also see the same behavior with my day-time-job's
Java apps on Windows however, so I don't think its a specific Tk
or git-gui issue.

-- 
Shawn.
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]