web-dev-qa-db-ja.com

現在開いているFinderビューを新しいタブ(Mavericks)でどのように複製しますか?

このフォーラムのスレッドには、AppleScriptを使用してすでに開いているFinderウィンドウの複製を開く方法に関する興味深い解決策があります。 現在開いているFinderビューをどのように複製しますか?

OS X 10.9 Mavericksの新しいタブ付きFinderで、新しいFinderウィンドウではなく新しいFinderタブで複製を開くAppleScriptを実装する方法があるかどうか疑問に思っています。誰かが解決策を見つけることに成功しましたか?

8
magoo

あなたはそれを押すことによってそれをすることができます:

cmd + ctrl + O

任意のフォルダにあり、新しいタブに表示されます。

15
Meseery

Finderの辞書はタブをサポートしていませんが、コマンドキーを押すことをシミュレートできます-T:

tell application "Finder"
    activate
    set t to target of Finder window 1
    set toolbar visible of window 1 to true
end tell
tell application "System Events"
    keystroke "t" using command down
end tell
tell application "Finder"
    set target of Finder window 1 to t
end tell

Finderウィンドウのターゲットは、タイトルバーに表示されるフォルダであり、リストビューで選択されている項目に依存しません。

5
Lri

今日は、@ Lriが行った方法と非常によく似たスクリプトを作成しました。

https://Gist.github.com/n8henrie/0ceef75964bd153f910d

-- duplicateFinderTab.scpt
-- Uses a hacky workaroud to duplicate the frontmost Finder tab,
-- since Apple hasn't provided great AppleScript support for this.

on new_tab()
    tell application "System Events" to tell application process "Finder"
        set frontmost to true
        tell front menu bar to tell menu "File" to tell menu item "New Tab"
            perform action "AXPress"
        end tell
    end tell
end new_tab

on run {}
    tell application "Finder"
        if (count of Finder windows) > 0 then set duplicate_me to target of front Finder window
    end tell

    -- Short delay may or may not be necessary, mine seems to work without.
    -- delay 0.2

    new_tab()
    tell application "Finder"
        set target of front Finder window to duplicate_me
    end tell
end run
1
n8henrie

これは@ n8henrieの解決策ですが、選択したアイテムを再選択するための微調整があります。

-- duplicateFinderTab.scpt
-- Uses a hacky workaroud to duplicate the frontmost Finder tab,
-- since Apple hasn't provided great AppleScript support for this.

----------------------------------------------
on run {}
    tell application "Finder"
        if (count of Finder windows) > 0 then set duplicate_me to target of front Finder window
        set _sel to the selection
    end tell

    -- Short delay may or may not be necessary, mine seems to work without.
    -- delay 0.2

    new_tab()

    tell application "Finder"
        set target of front Finder window to duplicate_me
        select _sel
    end tell
end run

----------------------------------------------
on new_tab()
    tell application "System Events" to tell application process "Finder"
        set frontmost to true
        tell front menu bar to tell menu "File" to tell menu item "New Tab"
            perform action "AXPress"
        end tell
    end tell
end new_tab
1
ianthekirkland