[gedit] Added support for platform specific tools



commit 097ce3be1e428bbfed3c3b426ae1e523bf40d2de
Author: Jesse van den Kieboom <jessevdk gnome org>
Date:   Thu Dec 31 11:37:00 2009 +0100

    Added support for platform specific tools

 plugins/externaltools/data/Makefile.am             |   52 +++++++++++++++----
 .../data/open-terminal-here-osx.desktop.in         |    8 +++
 .../data/open-terminal-here-osx.tool.in            |   16 ++++++
 3 files changed, 65 insertions(+), 11 deletions(-)
---
diff --git a/plugins/externaltools/data/Makefile.am b/plugins/externaltools/data/Makefile.am
index b7b593c..ae3a1c6 100644
--- a/plugins/externaltools/data/Makefile.am
+++ b/plugins/externaltools/data/Makefile.am
@@ -1,16 +1,46 @@
 TOOL_MERGE=$(top_srcdir)/plugins/externaltools/scripts/gedit-tool-merge.pl
 
 tools_in_files = \
-	open-terminal-here.tool.in \
 	build.tool.in \
-	remove-trailing-spaces.tool.in \
+	remove-trailing-spaces.tool.in
+
+tools_in_linux = \
+	open-terminal-here.tool.in \
 	run-command.tool.in
 
-desktop_in_files = $(tools_in_files:.tool.in=.desktop.in)
-desktop_files    = $(tools_in_files:.tool.in=.desktop)
-tools_SCRIPTS    = $(tools_in_files:.tool.in=)
+tools_in_osx = \
+	open-terminal-here-osx.tool.in
+
+tools_in_win32 =
+
+install_tools_in_files = $(tools_in_files)
+
+if PLATFORM_OSX
+install_tools_in_files += $(tools_in_osx)
+else
+if PLATFORM_WIN32
+install_tools_in_files += $(tools_in_win32) 
+else
+install_tools_in_files += $(tools_in_linux)
+endif
+endif
+
+desktop_in_files = $(install_tools_in_files:.tool.in=.desktop.in)
+desktop_files    = $(install_tools_in_files:.tool.in=.desktop)
+
+tools_SCRIPTS = $(install_tools_in_files:.tool.in=)
 toolsdir = $(GEDIT_PLUGINS_DATA_DIR)/externaltools/tools
 
+all_tools_in_files = \
+	$(tools_in_files) \
+	$(tools_in_linux) \
+	$(tools_in_osx) \
+	$(tools_in_win32)
+
+all_desktop_in_files = $(all_tools_in_files:.tool.in=.desktop.in)
+all_desktop_files = $(all_tools_in_files:.tool.in=.desktop)
+all_tools_files = $(all_tools_in_files:.tool.in=)
+
 @INTLTOOL_DESKTOP_RULE@
 
 # Tools are generated by merging a script file (.tool.in) with a data file
@@ -20,16 +50,16 @@ $(tools_SCRIPTS): %: %.tool.in %.desktop $(TOOL_MERGE)
 	chmod 755 $@
 
 EXTRA_DIST = \
-	$(desktop_in_files) \
-	$(tools_in_files)
+	$(all_desktop_in_files) \
+	$(all_tools_in_files)
 
 CLEANFILES = \
-	$(desktop_files) \
-	$(tools_SCRIPTS)
+	$(all_desktop_files) \
+	$(all_tools_files)
 
 DISTCLEANFILES = \
-	$(desktop_files) \
-	$(tools_SCRIPTS)
+	$(all_desktop_files) \
+	$(all_tools_files)
 
 
 -include $(top_srcdir)/git.mk
diff --git a/plugins/externaltools/data/open-terminal-here-osx.desktop.in b/plugins/externaltools/data/open-terminal-here-osx.desktop.in
new file mode 100644
index 0000000..801b003
--- /dev/null
+++ b/plugins/externaltools/data/open-terminal-here-osx.desktop.in
@@ -0,0 +1,8 @@
+[Gedit Tool]
+_Name=Open terminal here
+_Comment=Open a terminal in the document location
+Input=nothing
+Output=output-panel
+Applicability=local
+Save-files=nothing
+Languages=
diff --git a/plugins/externaltools/data/open-terminal-here-osx.tool.in b/plugins/externaltools/data/open-terminal-here-osx.tool.in
new file mode 100755
index 0000000..c336006
--- /dev/null
+++ b/plugins/externaltools/data/open-terminal-here-osx.tool.in
@@ -0,0 +1,16 @@
+#!/usr/bin/osascript
+
+set the_path to system attribute "GEDIT_CURRENT_DOCUMENT_DIR"
+set cmd to "cd " & quoted form of the_path
+
+tell application "System Events" to set terminalIsRunning to exists application process "Terminal"
+
+tell application "Terminal"
+	activate
+	
+	if terminalIsRunning is true then
+		do script with command cmd
+	else
+		do script with command cmd in window 1
+	end if
+end tell



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