summaryrefslogtreecommitdiff
path: root/plugins/osx
diff options
context:
space:
mode:
authorBen Langfeld <ben@langfeld.me>2011-02-18 12:17:00 +0000
committerBen Langfeld <ben@langfeld.me>2011-02-18 13:11:24 +0000
commitc52fea808210bb4f81915306855b6bd00a5fe219 (patch)
tree22e0b80c505f6a8241f440f0d9c218a539e0124e /plugins/osx
parent01b0366f3e27cf30f3882870100f14625fc267d1 (diff)
downloadzsh-c52fea808210bb4f81915306855b6bd00a5fe219.tar.gz
zsh-c52fea808210bb4f81915306855b6bd00a5fe219.tar.bz2
zsh-c52fea808210bb4f81915306855b6bd00a5fe219.zip
Make a cleaner version of the OS X tab function
Diffstat (limited to 'plugins/osx')
-rw-r--r--plugins/osx/osx.plugin.zsh35
1 files changed, 28 insertions, 7 deletions
diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh
index fce88c796..eb995eb2e 100644
--- a/plugins/osx/osx.plugin.zsh
+++ b/plugins/osx/osx.plugin.zsh
@@ -1,11 +1,32 @@
+function savepath() {
+ pwd > ~/.current_path~
+}
+
function tab() {
- osascript 2>/dev/null <<EOF
- tell application "System Events"
- tell process "Terminal" to keystroke "t" using command down
- end
- tell application "Terminal"
+savepath
+osascript >/dev/null <<EOF
+on do_submenu(app_name, menu_name, menu_item, submenu_item)
+ -- bring the target application to the front
+ tell application app_name
activate
- do script with command "cd \"$PWD\"; $*" in window 1
end tell
+ tell application "System Events"
+ tell process app_name
+ tell menu bar 1
+ tell menu bar item menu_name
+ tell menu menu_name
+ tell menu item menu_item
+ tell menu menu_item
+ click menu item submenu_item
+ end tell
+ end tell
+ end tell
+ end tell
+ end tell
+ end tell
+ end tell
+end do_submenu
+
+do_submenu("Terminal", "Shell", "New Tab", 1)
EOF
-} \ No newline at end of file
+}