Abrir pastas por aplicativos externos em uma nova guia do Finder em vez de em uma janela


13

Eu tenho a configuração "abrir pastas em novas abas" (em vez de novas janelas) no Finder ligado, mas isso não parece influenciar o que meus outros aplicativos fazer quando eles abra uma pasta. A barra de lançamento e um script de shell que corro do emacs ainda abrem pastas em pequenas janelas do localizador. Como posso fazer com que as pastas abertas de aplicativos externos apareçam em uma janela do localizador com guias?

Edit: Bmike no comentário está certo que isso provavelmente poderia ser feito através de um AppleScript. Algo assim:

  1. Você tem algum script que fornece o caminho da pasta que você deseja abrir.
  2. Você passa isso como uma variável para um AppleScript.
  3. Este AppleScript salva o nome do caminho como uma variável
  4. Ativa o localizador ou abre uma pasta específica com o localizador.
  5. Ele envia o comando de combinação de teclas + t para abrir uma nova guia (ou faz o mesmo com um comando para localizar).
  6. Ele envia o comando de teclas + shift + g para o localizador, abrindo a pasta ir para com o caminho x menu / janela.
  7. Ele grava (eventos do sistema) ou cola (define a área de transferência para a variável que é o caminho da pasta) neste menu / janela.
  8. Clique em Enter. A pasta é aberta.

3
Eu quero o mesmo.
iCode

1
Eu tenho o mesmo problema, pergunta sobre Super User: superuser.com/questions/688439/...
Nick

Parece que isso está nas configurações do aplicativo, não apenas no Finder.
Rajiv

1
Você pode compartilhar os detalhes do script de shell ou da barra de inicialização? Pode ser possível incorporar uma chamada AppleScript neles para dizer ao localizador para abrir uma nova guia.
bmike

A barra de lançamento apenas abre as coisas automaticamente, em scripts de shell eu uso o comando aberto developer.apple.com/librarY/mac/documentation/Darwin/Reference/… , para abrir via emacs em dired Eu uso esse script apple.stackexchange.com/questions/ 106131 /…

Respostas:


1

Eu fiz isso, não tenho certeza se responderá para você.

Preferências do Finder> Geral> marque "abrir pastas em guias em vez de novas janelas"


1

Obrigado pela ideia. Eu terminei o manuscrito.

Coloque o seguinte em seu ~/.bashrcou~/.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
}

No terminal, digite

oft .

para abrir a pasta atual na nova guia do Finder.

O script bash é usado para recuperar o caminho absoluto, o que achei difícil de fazer no appplescript.

ATUALIZAR

Eu fiz uma versão mais extensa (e complicada) que abrirá a mesma guia para a mesma pasta. Venha aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.