All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel A. Steffen" <das@users.sourceforge.net>
To: Stefan Haller <lists@haller-berlin.de>
Cc: git@vger.kernel.org, Stefan Haller <stefan@haller-berlin.de>,
	Shawn O Pearce <spearce@spearce.org>,
	Daniel A Steffen <dsteffen@apple.com>
Subject: Re: [RFC/PATCH] Force using Tcl/Tk 8.4 on Mac OS X
Date: Mon, 6 Sep 2010 12:36:34 -0700	[thread overview]
Message-ID: <CB6C69E6-7943-49B7-96E7-4C00831C3C9D@users.sourceforge.net> (raw)
In-Reply-To: <1283792854-45023-1-git-send-email-lists@haller-berlin.de>

Hi Stefan,

On Sep 6, 2010, at 10:07 AM, Stefan Haller wrote:

> When using Git Gui.app on a Snow Leopard system with Tcl/Tk 8.5,
> there are two problems:
> 
> 1) Menu commands that open a dialog (e.g. "Push" or "Revert changes")
>   don't work when invoked via their keyboard shortcuts. You get a
>   dialog without a title bar, and the application then hangs without
>   further responding to any user input; you need to kill it. Invoking
>   the same commands with the mouse by choosing from the menu works fine.

first time I hear of this (or see this myself, and I use git gui every day on Mac OS X); in part this may be due to the fact that many of the menu shortcuts assigned by git gui conflict with existing OS X shortcuts and don't work anyway e.g. cmd-A (esp if a text widget is in focus)...

personally I would hate for my git gui to be downgraded to Tk 8.4 and Carbon because of this small issue, and I'm unlikely to be alone.

> 2) The colored pane headers (red, green, yellow) are all grey.

this is intentional and triggered by the use of ttk, there is a config setting to turn it off (gui.usettk)

> Obviously, the first problem is much more serious than the second.
> 
> Both problems go away when using Tcl/Tk 8.4 instead of 8.5. The user
> interface looks a little "older" then, but at least it works reliably.
> 
> Until someone figures out how to solve these problems properly with
> 8.5, force using 8.4.

please don't brute-force around the problem in this way, there are many features that the Cocoa Tk in 8.5+ adds that would be lost by such a change. 
Moreover the fact that 8.4 is present in that location is for backwards compatibility only, please don't introduce any new dependencies on it.

An effective small workaround for the problem appears to be to turn off the menu accelerators for the affected commands (the key shortcuts will still work, since the actual key bindings are independent of the menu accelerators), see below.
Is there a complete list of menu shortcuts that bring up a dialog?

Ultimately the right way to address this issue is to fix it in Tk, please report this in the Tk bug tracker if you haven't already, a quick glance in the debugger shows a hang in recursive event loop invocation such as used by tk_dialog when called from a menu accelerator callback.

Thanks!

Cheers,

Daniel


diff --git i/git-gui.sh w/git-gui.sh
index 0d5c5e3..ec7ed7d 100755
--- i/git-gui.sh
+++ w/git-gui.sh
@@ -2723,6 +2723,9 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
                -accelerator $M1T-J
        lappend disable_on_lock \
                [list .mbar.commit entryconf [.mbar.commit index last] -state]
+       if {[is_MacOSX]} {
+               .mbar.commit entryconf last -accelerator {}
+       }
 
        .mbar.commit add separator
 

       reply	other threads:[~2010-09-06 19:36 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1283792854-45023-1-git-send-email-lists@haller-berlin.de>
2010-09-06 19:36 ` Daniel A. Steffen [this message]
2010-09-07  7:19   ` [RFC/PATCH] Force using Tcl/Tk 8.4 on Mac OS X Stefan Haller
2010-09-07 19:11   ` Pat Thoyts
2010-09-07 19:56     ` Stefan Haller
2010-09-11  7:12       ` Stefan Haller
2010-09-11  7:31       ` Stefan Haller
2010-09-21  8:26       ` [PATCH] git-gui: Work around freeze problem with dialogs in " Stefan Haller
2010-09-22 17:46       ` Stefan Haller
2010-09-22 19:01         ` Junio C Hamano
2010-09-23  7:39           ` Stefan Haller
2010-09-14  5:42   ` [RFC/PATCH] Force using Tcl/Tk 8.4 on " Stefan Haller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CB6C69E6-7943-49B7-96E7-4C00831C3C9D@users.sourceforge.net \
    --to=das@users.sourceforge.net \
    --cc=dsteffen@apple.com \
    --cc=git@vger.kernel.org \
    --cc=lists@haller-berlin.de \
    --cc=spearce@spearce.org \
    --cc=stefan@haller-berlin.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.