Blame view

plugins/forklift/forklift.plugin.zsh 1.7 KB
093a6c34b   mj   Squashed 'repos/r...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  # Open folder in ForkLift.app or ForkLift2.app from console
  # Author: Adam Strzelecki nanoant.com, modified by Bodo Tasche bitboxer.de
  #         Updated to support ForkLift2 by Johan Kaving
  #
  # Usage:
  #   fl [<folder>]
  #
  # Opens specified directory or current working directory in ForkLift.app
  #
  # Notes:
  # It assumes Shift+Cmd+G launches go to folder panel and Cmd+N opens new
  # app window.
  #
  # https://gist.github.com/3313481
  function fl {
    if [ ! -z "$1" ]; then
      DIR=$1
      if [ ! -d "$DIR" ]; then
        DIR=$(dirname $DIR)
      fi
      if [ "$DIR" != "." ]; then
        PWD=`cd "$DIR";pwd`
      fi
    fi
    osascript 2>&1 1>/dev/null <<END
  
      try
        tell application "Finder"
          set appName to name of application file id "com.binarynights.ForkLift2"
        end tell
      on error err_msg number err_num
        tell application "Finder"
          set appName to name of application file id "com.binarynights.ForkLift"
        end tell
      end try
  
      if application appName is running
        tell application appName
          activate
        end tell
      else
        tell application appName
          activate
        end tell
        repeat until application appName is running
          delay 1
        end repeat
        tell application appName
          activate
        end tell
      end if
  
      tell application "System Events"
        tell application process "ForkLift"
          try
            set topWindow to window 1
          on error
            keystroke "n" using command down
            set topWindow to window 1
          end try
          keystroke "g" using {command down, shift down}
          tell sheet 1 of topWindow
            set value of text field 1 to "$PWD"
            keystroke return
          end tell
        end tell
      end tell
  END
  }