threads / discuss / 20449

Droppable Git Gui in Mac OS X

Subject: Droppable Git Gui in Mac OS X

## tl;dr

2 messages between Aug 7, 2009 and Aug 10, 2009.

replies: 1people: 2as markdown or json

Tobia Conforto· Aug 7, 2009, 10:12 UTC · lore
Hello
I'm using Git 1.6.3.3 on Mac OS X 10.5.7, installed using MacPorts 1.710

I noticed that Git Gui cannot be launched on an existing repository by simply dragging the repository folder onto Git Gui's icon in the dock, but this is a standard UI feature in OS X.

Here is a fix "Git Gui.app" (which MacPorts installs in /opt/local/share/git-gui/lib) to enable this feature.

The change to Info.plist enables dropping folders onto the application. The modified AppMain.tcl, before launching the application, receives the one pending OpenDocument event and cd's to the repository folder.

-Tobia

--- Git Gui.app/Contents/Info.plist +++ Git Gui.app/Contents/Info.plist

@@ -24,5 +24,16 @@
 	<string>GITg</string>
 	<key>CFBundleVersion</key>
 	<string>0.12.0</string>
+	<key>CFBundleDocumentTypes</key>
+	<array>
+		<dict>
+			<key>CFBundleTypeOSTypes</key>
+			<array>
+				<string>fold</string>
+			</array>
+			<key>CFBundleTypeRole</key>
+			<string>Viewer</string>
+		</dict>
+	</array>
 </dict>
 </plist>
--- Git Gui.app/Contents/Resources/Scripts/AppMain.tcl
+++ Git Gui.app/Contents/Resources/Scripts/AppMain.tcl
@@ -19,4 +19,9 @@

 unset gitexecdir gitguilib
 set argv [lrange $argv 1 end]
-source $AppMain_source
+
+proc ::tk::mac::OpenDocument {args} {
+	cd [lindex $args 0]
+}
+
+after 1 { source $AppMain_source }
Shawn O. Pearce· Aug 10, 2009, 15:26 UTC · re: Tobia Conforto · lore

Re: Droppable Git Gui in Mac OS X

Tobia Conforto <tobia.conforto@gmail.com> wrote:
Show 6 quoted lines
> I noticed that Git Gui cannot be launched on an existing repository by
> simply dragging the repository folder onto Git Gui's icon in the dock,
> but this is a standard UI feature in OS X.
> 
> Here is a fix "Git Gui.app" (which MacPorts installs in
> /opt/local/share/git-gui/lib) to enable this feature.
Interesting.
Two comments:
1) Commit message?  What should we record in the project history
   for this change?
2) Signed-off-by line?  Please see git.git's SUBMITTING_PATCHES
   file for details of what this means, and why it is necessary:
   http://repo.or.cz/w/alt-git.git?a=blob;f=Documentation/SubmittingPatches;hb=HEAD
 
Show 38 quoted lines
> --- Git Gui.app/Contents/Info.plist
> +++ Git Gui.app/Contents/Info.plist
> @@ -24,5 +24,16 @@
>  	<string>GITg</string>
>  	<key>CFBundleVersion</key>
>  	<string>0.12.0</string>
> +	<key>CFBundleDocumentTypes</key>
> +	<array>
> +		<dict>
> +			<key>CFBundleTypeOSTypes</key>
> +			<array>
> +				<string>fold</string>
> +			</array>
> +			<key>CFBundleTypeRole</key>
> +			<string>Viewer</string>
> +		</dict>
> +	</array>
>  </dict>
>  </plist>
> --- Git Gui.app/Contents/Resources/Scripts/AppMain.tcl
> +++ Git Gui.app/Contents/Resources/Scripts/AppMain.tcl
> @@ -19,4 +19,9 @@
> 
>  unset gitexecdir gitguilib
>  set argv [lrange $argv 1 end]
> -source $AppMain_source
> +
> +proc ::tk::mac::OpenDocument {args} {
> +	cd [lindex $args 0]
> +}
> +
> +after 1 { source $AppMain_source }
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Shawn.

← back to recent threads