Clique com o botão direito para criar um novo documento - como?

7

Estou confortável com a criação de novos documentos a partir da linha de comando no OS X (no meu caso El Capitan), mas eu queria explorar a possibilidade de ter uma opção semelhante ao Windows para criar um novo documento no botão direito do mouse. Eu encontrei o script abaixo e sei que ele precisa ser executado a partir do Automator & gt; Fluxo de trabalho & gt; Execute o AppleScript:

set doc_list to {"Add new..."}
tell application "Finder"
    if not (exists folder "NewHere" of folder (path to application support from user domain)) then
        display dialog "This is the first time you've run NewHere." & return & return & "Files added to the list are located at" & return & "~/Library/Application Support/NewHere" & return & "Removing a file from this folder removes it from the list."
        make new folder at folder (path to application support from user domain) with properties {name:"NewHere"}
    else
        try
            set doc_list to doc_list & name of every file of folder "NewHere" of folder (path to application support from user domain) as list
        end try
    end if
    set my_file to choose from list doc_list with prompt "Choose a document to place here"
    if result is not false then
        set my_file to item 1 of my_file as string
        if my_file is "Add new..." then
            set new_file to choose file
            duplicate file new_file to folder "NewHere" of folder (path to application support from user domain) with replacing
            set my_name to text returned of (display dialog "Enter a name for the new file." default answer (name of new_file as text))
            my do_it((name of new_file as text), my_name)
        else
            set my_name to text returned of (display dialog "Enter a name for the new file." default answer my_file)
            my do_it(my_file, my_name)
        end if
    end if
end tell

on do_it(my_file, my_name)
    tell application "Finder" to set my_dest to (folder of the front window) as text
    set my_dest to my_dest & my_name as text
    set my_origin to (path to application support from user domain) & "NewHere:" & my_file as text
    do shell script "cp " & quoted form of (POSIX path of my_origin) & " " & quoted form of (POSIX path of my_dest)
    tell application "Finder" to open my_dest as alias
end do_it

Ele me pede com uma janela dizendo: "Escolha um documento para colocar aqui". O que devo fazer para que o script funcione?

paranza
fonte
que roteiro , o AppleScript código na sua pergunta, de forma alguma fornece uma "opção do tipo Windows para criar um novo documento com o botão direito", mesmo que envolvida em um fluxo de trabalho do Automator Service.
user3439894
Eu estava procurando por algo parecido com isto: hints.macworld.com/article.php?story=20100509134904820
paranza

Respostas:

7

Aqui está um AppleScript Eu uso como AppleScript aplicação para que eu possa atribuir o TextEdit ícone e colocá-lo no Toolbar do Localizador . Então está disponível para criar um novo documento de texto em qualquer local Localizador está definido para, aquele tem permissões de gravação para. Em outras palavras, se alguém tentar criar um novo documento de texto em um local que seja somente acessível a, por exemplo, root ou em qualquer local em que não haja permissões de gravação específicas, uma será notificada ao tentar criar o novo documento de texto.

o código verifica se um arquivo com o mesmo nome já existe e, se assim for, notifica e traz de volta o Salvar como: caixa de diálogo .

Abrir (Editor de Applescript e copie e cole o código abaixo na janela vazia e salve-o como Criar novo arquivo de texto Here.app . Certifique-se de selecionar Aplicação para Formato de arquivo: no Salvar como: caixa de diálogo .

Antes de adicioná-lo ao Toolbar do Localizador , você vai querer mudar seu ícone para o qual é usado por TextEdit . Você pode abrir o Obter informação Folha para cada aplicativo e copie e cole o de TextEdit.app para aquele em Criar novo arquivo de texto Here.app . Note que este é o ícone exibido no canto superior esquerdo do Obter informação Folha .

Agora que ele tem um ícone mais agradável, arraste e solte o novo aplicativo no local no Toolbar do Localizador você gostaria que fosse. Note que dependendo de qual versão do OS X / macOS você pode precisar pressionar o Comando ⌘ enquanto arrasta o aplicativo para o Toolbar do Localizador .

Para usar, basta clicar no Criar novo arquivo de texto Here.app ícone no Toolbar do Localizador e você será solicitado para um nome e um novo arquivo de documento de texto será criado e aberto a partir do local atual do Localizador janela .


on run
    my createNewTextFile()
end run


on createNewTextFile()

    tell application "Finder"
        activate
        set the currentFolder to (folder of the front window as alias)
    end tell

    tell me
        activate
        set fileName to ""
        repeat while fileName = ""
            display dialog "Save As:" with title "Create New Text File Here" default answer fileName buttons {"Cancel", "OK"} default button 2
            set fileName to text returned of the result
        end repeat
        if fileName ends with ".txt" then
            set newTextFile to POSIX path of currentFolder & fileName
        else
            set newTextFile to POSIX path of currentFolder & fileName & ".txt"
        end if

    end tell

    tell application "Finder"
        set itExists to (exists newTextFile as POSIX file)
    end tell

    tell me
        activate
        if itExists is false then
            try
                do shell script "touch \"" & newTextFile & "\"; open \"" & newTextFile & "\""
            on error
                display dialog "Cannot create the \"" & newTextFile & "\" file at this location!..." with title "Cannot Create File" buttons {"OK"} default button 1 with icon stop
            end try
        else
            display dialog "The \"" & newTextFile & "\" file already exists!..." with title "File Already Exists" buttons {"OK"} default button 1 giving up after 5
            my createNewTextFile()
        end if
    end tell

end createNewTextFile

Note que este código também pode ser usado em Automator para Fluxo de trabalho de serviço , no entanto eu descobri que eu já estou em Localizador quando eu quero criar um novo documento de texto e é mais fácil clicar no Criar novo arquivo de texto Here.app ícone no Toolbar do Localizador então, para clique com o botão direito e escolha do já super povoado Serviços menu contextual que eu tenho.

Além disso, se você modificar o código uma vez o roteiro é salvo como um aplicativo e colocado no Toolbar do Localizador , então você terá que remover o ícone do Toolbar e depois arrastar e soltar os recém salvos Criar novo arquivo de texto Here.app para que funcione corretamente.

user3439894
fonte
Nota: arraste e solte no localizador, mantendo pressionada a tecla Comando enquanto arrasta o arquivo .app. Pelo menos no MacOS 10.12
Jorj
1

Eu tenho um script que eu corro no Finder com um atalho de teclado FastScripts ( N ) que mostra uma lista de opções de modelos de arquivos (armazenados em uma pasta de modelos). Para adicionar novos modelos, basta colocá-los nessa pasta.

Publicado no StackExchange há alguns anos: Como criar um arquivo de texto em uma pasta

enter image description here

-ccs

Christopher Stone
fonte