Escolha um aplicativo padrão para abrir arquivos sem extensão?

27

É possível definir um aplicativo padrão para abrir arquivos sem extensão? Não estou me referindo a arquivos com extensões escondidas, mas aqueles que faltam completamente uma extensão - por exemplo README, CHANGELOG, mbox, etc.

"Abrir com" => "Alterar tudo" nesses arquivos não funciona, retornando o erro mostrado abaixo:

Abrir com / Alterar tudo - Falhar

Idealmente, eu gostaria que o sistema tentasse abrir todos esses arquivos no TextMate. Sei que posso arrastar arquivos para os ícones do Dock para abri-los em aplicativos específicos, mas estou procurando uma solução mais transparente do que isso (especialmente porque eu tenho o meu ocultação automática do Dock, o que o torna muito mais complicado).

Eu estou familiarizado com o plug- in QLStephen QuickLook que pode ativar o QuickLook para alguns desses arquivos, mas eu preferiria uma solução com recursos de seleção / cópia / edição.

Austin
fonte

Respostas:

12

Você pode adicionar um aplicativo padrão para public.plain-text em ~ / Library / Preferences / com.apple.LaunchServices.plist.

defaults write com.apple.LaunchServices LSHandlers -array-add '{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.apple.textedit;}' '{LSHandlerContentType=public.unix-executable;LSHandlerRoleAll=com.apple.textedit;}'

Reinicie para aplicar as alterações (fazer logoff e logon não é suficiente).

Adicionei isso a um arquivo de configuração holandês :

com.apple.textedit public.plain-text all
com.macromates.textmate public.unix-executable all
Lri
fonte
5
Parece bom, mais detalhes do que está acontecendo aqui em nível superior seriam bons. Uma introdução, o que está acontecendo na etapa 1 etc.
MrDaniel
4

Você pode fazer isso usando o Magic Launch. Após a instalação, você pode criar regras para iniciar com base em vários critérios. Você precisa criar uma regra para aplicativos de texto em que a extensão esteja em branco. Você pode configurar uma lógica mais complexa, se precisar.

http://michelf.com/software/magic-launch/

barryj
fonte
Você está certo - eu tive que criar uma regra personalizada para lidar com arquivos com extensões em branco ... mas parece ter funcionado - obrigado! A única desvantagem é que são US $ 13. Não tenho nenhum problema em pagar por bons aplicativos, mas isso é um pouco íngreme, considerando que estou procurando apenas esse recurso.
Austin
0

Dê uma olhada no RCDefaultApp (freeware).

RCDefaultApp é um painel de preferências do Mac OS X 10.2 ou superior que permite que o usuário defina o aplicativo padrão usado para vários esquemas de URL, extensões de arquivo, tipos de arquivo, tipos MIME e identificadores de tipo uniformes (ou UTIs; somente MacOS 10.4).

Hagelin
fonte
1
Gosto que seja gratuito, mas não há como definir um aplicativo padrão para arquivos sem extensão. O uso de tipos MIME pode aproximar um pouco isso, mas altera o aplicativo padrão de todos os arquivos de texto, não apenas daqueles sem extensão. De qualquer forma, obrigado pela sugestão - talvez isso ajude outra pessoa.
Austin
0

Um pouco tarde, a pergunta "Como evitar a abertura de arquivos sem tipo no terminal" é um pouco antiga. Contudo:

As soluções acima envolvem a alteração das regras existentes, que podem ter efeitos colaterais indesejados. Acho que o mais fácil é explorar as regras existentes para arquivos sem tipo e alterar as permissões de arquivo para obter o resultado desejado.

Especificamente: desative o bit executável no arquivo, porque é isso que está dizendo ao serviço de arquivo para abrir com o terminal "chmod -x filename" onde filename é ... o nome do arquivo.

Isso pode ser automatizado até certo ponto (com cautela): No meu caso, tenho muitos arquivos README em uma máquina. Eu posso usar "find" para encontrar todos os arquivos "README". E, em seguida, use "awk" para construir um comando para remover o bit executável de todos eles da seguinte maneira:

find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }'

digite isso no terminal se quiser verificar quais arquivos serão alterados: A saída consistirá em uma lista para cada README encontrado com algo parecido com isto:

chmod -x //Users/jimpsmith/things/README

E para alterar todas essas permissões, execute todas essas linhas cobrando-as da seguinte forma:

find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }' | bash

Apenas tome cuidado com o uso de curingas com muita liberalidade e verifique se você removeu acidentalmente o bit executável de alguns executáveis ​​que correspondem erroneamente.


Uma maneira mais fácil seria apenas correr

find /$HOME -iname 'README' -exec chmod -x '{}' \;`

ou (para ver o que aconteceria)

find /$HOME -iname 'README' -exec echo chmod -x '{}' \;`
JamesConnolly
fonte
1
De alguma forma, não consigo entender como isso resolve o problema indicado na pergunta. Leia-me, ChangeLog etc. geralmente não tem o bit x definido para começar de qualquer maneira. O problema é que o OS X depende de sufixos para identificar o aplicativo para abrir o arquivo e esses arquivos não têm sufixo.
nohillside