git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] gitk: workaround Tcl/Tk Cmd-TAB behavior on OSX

From
TSTair Sabirgaliev <tair.sabirgaliev@bee.kz>
Date
Apr 10, 2013, 19:02 UTC
Message-ID
<5165B758.4070308@bee.kz>

On OSX Tcl/Tk application windows are created behind all the applications down the stack of windows. This is very annoying, because once a gitk window appears, it's the downmost window and switching to it is pain.

The patch is trivial: if we are on OSX, emulate Cmd-Shift-TAB key event, so that the gitk application window is brought from bottom to top.

Signed-off-by: Tair Sabirgaliev <tair.sabirgaliev@gmail.com>
---
  gitk | 13 +++++++++++++
  1 file changed, 13 insertions(+)
diff --git a/gitk b/gitk
index 572f73f..60a87fc 100755
--- a/gitk
+++ b/gitk
@@ -11687,6 +11687,19 @@ if {[catch {package require Tk 8.4} err]} {
      exit 1
  }
  +# On OSX workaround the Tcl/Tk windows going down the stack of Cmd-TAB
+if {[tk windowingsystem] eq "aqua"} {
+    exec osascript -e {
+        tell application "System Events"
+            key down command
+            key down shift
+            keystroke tab
+            key up shift
+            key up command
+        end tell    +    }
+}
+
  # Unset GIT_TRACE var if set
  if { [info exists ::env(GIT_TRACE)] } {
      unset ::env(GIT_TRACE)
-- 
1.8.2
Next: Tair Sabirgaliev
Message 1 of 7 in “gitk: workaround Tcl/Tk Cmd-TAB behavior on OSX”
  1. gitk: workaround Tcl/Tk Cmd-TAB behavior on OSXTair Sabirgaliev, Apr 10, 2013
  2. Tair SabirgalievApr 10, 2013
  3. Paul MackerrasApr 20, 2013
  4. Tair SabirgalievApr 20, 2013
  5. Stefan HallerApr 23, 2013
  6. Tair SabirgalievApr 24, 2013
  7. Tair SabirgalievApr 11, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.