Сделайте папки, открытые внешними приложениями, открытыми в новой вкладке поиска, а не в окне

13

У меня включена настройка «открывать папки на новых вкладках» (вместо новых окон) в Finder, но это, похоже, не влияет на то, что делают другие мои приложения, когда они открывают папку. Панель запуска и скрипт оболочки, который я запускаю из emacs, по-прежнему открывают папки в маленьких окнах поиска. Как сделать так, чтобы папки, открытые из внешних приложений, отображались в одном окне поиска с вкладками?

Редактировать: Bmike в комментарии прав, что это может быть сделано с помощью appleScript. Что-то вроде этого:

  1. У вас есть сценарий, который дает вам путь к папке, которую вы хотите открыть.
  2. Вы передаете это как переменную в appleScript.
  3. Этот яблочный скрипт сохраняет путь как переменную
  4. Он активирует поиск или открывает определенную папку с помощью поиска.
  5. Он отправляет команду нажатия клавиши + t, чтобы открыть новую вкладку (или делает то же самое с командой для поиска).
  6. Он посылает команду нажатия клавиши + shift + g в поисковик, открывая папку перехода в путь с x меню / окном.
  7. Он записывает (systemevents) или вставляет его (установите буфер обмена в переменную, которая является путем к папке) в это меню / окно.
  8. Нажмите ввод. Папка открыта.

источник
3
Я хочу того же.
iCode
1
У меня та же проблема, вопрос к Super User: superuser.com/questions/688439/…
Ник
Похоже, что это в настройках приложения, а не только в Finder.
Раджив
1
Можете ли вы поделиться подробностями сценария оболочки или панели запуска? Может быть возможно встроить в них вызов AppleScript, чтобы сообщить поисковику открыть новую вкладку.
bmike
Панель запуска просто открывает вещи автоматически, в сценариях оболочки я использую команду open developer.apple.com/librarY/mac/documentation/Darwin/Reference/… , чтобы открыть через emacs в dired, я использую этот скрипт apple.stackexchange.com/questions/ 106131 /…

Ответы:

1

Я сделал это, не уверен, ответит ли это на вас.

Настройки Finder> Общие> установите флажок «открывать папки на вкладках вместо новых окон»

Дэвид Корбин
источник
1

Спасибо за идею. Я закончил яблочный скрипт.

Поместите следующее в ваш ~/.bashrcили~/.zshrc

# open the current folder in Finder's tab
function oft() {
    # if no arguments are given, we use the current folder
    oft_absolute_path=$(cd ${1:-.}; pwd)

    # execute the applescirpt
    osascript 2>/dev/null <<EOF

        # Finder returns a path with trailing slash
        # But PWD doesn't have one, so we add one for it
        set new_tab_path to "$oft_absolute_path" & "/"

        tell application "Finder"
            activate

            if not (exists window 1) then
                make new Finder window
            end if

            try
                set finder_path to POSIX path of (target of window 1 as alias)
            on error
                # the finder's window doesn't contain any folders
                set target of front window to (new_tab_path as POSIX file)
                return
            end try
        end tell

        if new_tab_path = finder_path then
            # the finder's tab is already there
            return
        end if

        # open new tab in Finder
        tell application "System Events" to keystroke "t" using command down

        # set the Finder's path
        tell application "Finder"
            set target of front window to (new_tab_path as POSIX file)
        end tell

        return
    EOF
    # clear the tempory veriable
    unset oft_absolute_path
}

В терминале введите

oft .

открыть текущую папку в новой вкладке Finder.

Сценарий bash используется для получения абсолютного пути, что мне было трудно сделать в appplescript.

ОБНОВИТЬ

Я сделал более обширную (и сложную) версию, которая откроет ту же вкладку для той же папки. Получи это здесь

Хай фэн као
источник