Alias - "Mostra originale" nella nuova scheda

3

Aggiornamento:
Dopo le due risposte finora ho spostato leggermente i pali. Ho bisogno di più selezioni e amp; schede: le risposte esistenti; uno ha capacità di selezione multipla, l'altro mi dà schede, che ho capito è la strada da percorrere.

Ho deciso che il modo migliore per tenere traccia di un catalogo di fotografie pubblicate senza disturbare la loro gerarchia originale era trascinare gli alias in una posizione separata.

Tuttavia, molti casi d'uso richiedono l'originale; non riescono a far cadere l'alias stesso, ad esempio un sito Web o Photos.app

Clic con il tasto destro del mouse - Mostra l'originale insiste nel mostrarlo nello stesso contenitore della finestra, quindi tornare alla cartella dell'alias perde la sua posizione, la selezione è sparita. In una cartella di grandi dimensioni, questo mette davvero alla prova la tua memoria di dove eri.

C'è un modo per forzare l'apertura in una nuova finestra, simile a Cmd / doppio clic su una cartella, mantenendo così il tuo posto nella cartella degli alias?

Attualmente su High Sierra 10.13.4

    
posta Tetsujin 24.04.2018 - 18:35
fonte

3 risposte

3

Con l'aiuto di StackOverflow & partendo dalle idee presentate in entrambe le risposte da brw59 boris42 , ora ho questo, per user3439894

on run {input, parameters}
    set madeNewWindow to false
    repeat with i from 1 to count input
        tell application "Finder"
            if (kind of item i of input) is equal to "Alias" then
                set origFile to original item of item i of input
                if not madeNewWindow then
                    set aWindow to make new Finder window
                    set madeNewWindow to true
                else
                    my makeNewTab()
                end if
                set aWindow's target to origFile's parent
                select origFile
            end if
        end tell
    end repeat
end run

on makeNewTab()
    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 makeNewTab

Combina ciò che pensavo avevo bisogno di ciò che in realtà avevo bisogno, usando sia l'interfaccia utente che l'amp; scripting non-UI & mi presenta una nuova finestra, piena di schede, tutte con un alias selezionato, così posso sfogliare le schede & gestisci ciascuna selezione una alla volta, quindi chiudi in seguito, lasciando la mia finestra originale in posizione.

    
risposta data 26.04.2018 - 11:47
fonte
4

Mi sono guardato intorno e ho trovato un applecript (che può essere trasformato in una scorciatoia) che vuole solo che tu voglia. Sfortunatamente, non è semplicemente semplice come dovrebbe essere. È meglio di niente però, e devi farlo solo una volta. Ti farà risparmiare tempo a lungo termine.

1) Apri Automator.

2) Crea un nuovo 'servizio'

3) Set Service riceve "nessun input" in "Finder"

4) aggiungi "Esegui applescript"

5) inserisci questo codice al suo interno:

-- 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

    new_tab()

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

    open_orig()

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
----------------------------------------------
on open_orig()
    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 "Show Original"
            perform action "AXPress"
        end tell
    end tell
end open_orig

6) salvalo (se apri una finestra del Finder e hai selezionato il tuo alias, quindi torna su automator e premi 'run', quindi funzionerà a questo punto) - Nota: potrebbe essere richiesto di aggiungere "Automator" in "Preferenze di Sistema" - > 'Sicurezza e amp; Privacy '- > Autorizzazioni di "accessibilità".

7) nelle preferenze di sistema vai a "tastiera" - > "scorciatoie" - > "servizi" - > 'qualunque sia il tuo nome' .. scegli una scorciatoia (come "^ -CMD-O").

Altre cose:

Potrebbe essere necessario farlo una volta:

quando il finder è selezionato, nel menu,

'Finder' - > "Servizi" - > 'qualunque sia il tuo nome'

o se non appare:

'Finder' - > "Servizi" - > "Preferenze servizi .." - > seleziona la casella nelle preferenze di sistema che la tua applicazione ha chiamato

Ci sono altri errori di autorizzazione che potresti ricevere a seconda di come è configurato il tuo sistema, tuttavia, dovresti notare che lo script funziona quando premi "Esegui" al punto 6 o dopo il passaggio 5. Per prima cosa seleziona il file in il cercatore quindi passa all'applicazione di automazione e fa clic su "Esegui".

E se tutto ha funzionato bene per te, la scorciatoia cmd-cntl-O dovrebbe funzionare per te, quindi puoi fare quella scorciatoia, (che apre una nuova scheda della stessa selezione), quindi fare clic destro e selezionare 'mostra originale '

Modifica per OP
Se si riceve un errore "com.automator.runner.xpc non è consentito l'accesso assistivo", la soluzione non è ovvia.
Non è possibile aggiungere com.automator.runner.xpc stesso all'Assistente di accesso, né aggiungere Automator o Automator Runner, tuttavia dopo un riavvio l'indizio è stato che sono stati attivati due errori, non solo uno.

L'aggiunta del Finder stesso all'Assistente consente l'esecuzione dello script.

    
risposta data 24.04.2018 - 21:43
fonte
4

Una soluzione molto più breve e pulita senza scripting UI:

Apri Automator, crea un nuovo servizio, accetta file e cartelle dal Finder, aggiungi un'azione Esegui AppleScript e digita quanto segue:

on run {input, parameters}
    repeat with aFile in input
        tell application "Finder"
            try
                set origFile to original item of aFile
                set aWindow to make new Finder window
                set aWindow's target to origFile's parent
                select origFile
            end try
        end tell
    end repeat
end run

Lo schermo dovrebbe apparire in questo modo:

SalvailservizioAutomatorcomeMostrainunanuovafinestra,quindiapriPreferenzedisistema/Tastiera/Collegamenti/Servizi.TrovailservizioRivelainunanuovafinestra,faiclicsuAggiungicollegamentoedigitaR.Loschermodovrebbeapparireinquestomodo:

Chiudi e prova il servizio in Finder selezionando uno o più alias (es) e premendo il tasto di scelta scelta R . Funziona con più file, cartelle e può eseguire Reveal anche se alcuni degli elementi non sono effettivamente alias (da qui il try / end try nello script).

    
risposta data 25.04.2018 - 11:49
fonte

Leggi altre domande sui tag