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

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

From
Paul Mackerras <paulus@samba.org>
Date
Apr 20, 2013, 03:19 UTC
Message-ID
<20130420031955.GA30856@iris.ozlabs.ibm.com>
In-Reply-To
<5165B758.4070308@bee.kz>
On Thu, Apr 11, 2013 at 01:02:48AM +0600, Tair Sabirgaliev wrote:
Show 32 quoted lines
> 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    +    }
> +}

Is this really the only way to do it? It seems a bit hacky to me. I would think you should be able to use the "wm" command to achieve what you want. I don't use Mac OS, so I don't know exactly how Tcl/Tk behaves on it, but this page looks like it might hold some clues for what you want to do:

http://teapot.activestate.com/package/name/windowlist/ver/1.4/arch/tcl/file.tm
Paul.
Previous: Tair SabirgalievNext: Tair Sabirgaliev
Message 3 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.