Зробіть папки, відкриті зовнішніми програмами, відкритими на новій вкладці пошуку, а не у вікні


13

У налаштуваннях у мене ввімкнено налаштування "відкрити папки на нових вкладках" (замість нових вікон), але це, здається, не впливає на те, що роблять інші мої програми, коли вони відкривають папку. Панель запуску та сценарій оболонки, який я запускаю від emacs, все ще відкриває папки в невеликих вікнах пошуку. Як я можу зробити так, щоб папки, відкриті для зовнішніх програм, відображалися в одному вікні пошуку вкладок?

Редагувати: Bmike в коментарі вірно, що це, ймовірно, можна зробити за допомогою яблучного сценарію. Щось на зразок цього:

  1. У вас є сценарій, який дає вам шлях до папки, яку ви хочете відкрити.
  2. Ви передаєте це як змінну до яблучного сценарію.
  3. Цей яблучний скрипт зберігає ім'я шляху як змінну
  4. Він активує Finder або відкриває певну папку з Finder.
  5. Він надсилає команду натискання клавіш + t, щоб відкрити нову вкладку (або робить те ж саме з командою для пошуку).
  6. Він надсилає команду натискання клавіш + shift + g на пошук, відкриваючи перехід до папки з меню / вікном шляху x.
  7. Він записує (систематизатори) або вставляє його (встановлює буфер обміну для змінної, яка є шлях до папки) у це меню / вікно.
  8. Клацніть Enter. Папка відкрита.

3
Я хочу те саме.
iCode

1
У мене така ж проблема, питання про Super User: superuser.com/questions/688439/…
Nick

Схоже, це знаходиться в налаштуваннях програми, а не лише в програмі Finder.
Раджив

1
Чи можете ви поділитися деталями сценарію оболонки або панелі запуску? Можливо, в них можна вбудувати виклик AppleScript, щоб сказати шукачеві відкрити нову вкладку.
bmike

панель запуску просто відкриває матеріал автоматично, у скриптах оболонки я використовую відкриту команду developer.apple.com/librarY/mac/documentation/Darwin/Reference/… , щоб відкритись через emacs у відведеному я використовую цей скрипт 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.

ОНОВЛЕННЯ

Я зробив більш обширну (і складну) версію, яка відкриє ту саму вкладку для тієї ж папки. Отримайте його тут

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.