Choisissez une application par défaut pour ouvrir des fichiers sans extension?

26

Est-il possible de configurer une application par défaut pour ouvrir des fichiers sans extension? Je ne parle pas des fichiers avec des extensions cachées, mais ceux qui manquent complètement une extension - par exemple README, CHANGELOG, mbox, etc.

"Open With" => "Change All" sur ces fichiers ne fonctionne pas, renvoyant l'erreur ci-dessous:

Ouvrir avec / Tout modifier - Echec

Idéalement, j'aimerais que le système essaie d'ouvrir tous ces fichiers dans TextMate. Je sais que je peux faire glisser des fichiers sur les icônes du Dock pour les ouvrir dans des applications spécifiques, mais je recherche une solution plus transparente que celle-ci (surtout depuis que mon Dock est masqué automatiquement, ce qui le rend beaucoup plus fastidieux).

Je connais bien le plug- in QLStephen QuickLook qui peut activer QuickLook pour certains de ces fichiers, mais je préférerais une solution avec des capacités de sélection / copie / édition.

Austin
la source

Réponses:

12

Vous pouvez ajouter une application par défaut pour public.plain-text dans ~ / Bibliothèque / 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;}'

Redémarrez pour appliquer les modifications (la déconnexion et le retour ne suffisent pas).

J'ai ajouté ceci à un fichier de configuration Duti :

com.apple.textedit public.plain-text all
com.macromates.textmate public.unix-executable all
Lri
la source
5
Cela ressemble à un bon, plus de détails de ce qui se passe ici au plus haut niveau serait bien. Une introduction, ce qui se passe à l'étape 1, etc.
MrDaniel
4

Vous pouvez le faire en utilisant Magic Launch. Après l’installation, vous pouvez créer des règles à lancer en fonction de différents critères. Vous devez créer une règle pour les applications texte où l'extension est vide. Vous pouvez configurer une logique plus complexe si vous en avez besoin.

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

Barryj
la source
Vous avez raison - je devais créer une règle personnalisée pour gérer les fichiers avec des extensions vierges ... mais cela semble avoir fonctionné - merci! Le seul inconvénient est que c'est 13 $. Je n'ai aucun problème à payer pour de bonnes applications, mais c'est un peu raide vu que je ne cherche que cette fonctionnalité.
Austin
0

Jetez un coup d'oeil à RCDefaultApp (freeware).

RCDefaultApp est une sous-fenêtre de préférences Mac OS X 10.2 ou ultérieure qui permet à un utilisateur de définir l'application par défaut utilisée pour divers schémas d'URL, extensions de fichier, types de fichier, types MIME et identificateurs de type uniforme (ou UTI; MacOS 10.4 uniquement).

Hagelin
la source
1
J'aime le fait que ce soit gratuit, mais il n'y a aucun moyen de définir une application par défaut pour les fichiers sans extension. L'utilisation de types MIME peut donner une idée approximative de cela, mais cela modifie ensuite l'application par défaut de tous les fichiers texte, pas seulement ceux sans extension. Merci de votre suggestion, cela aidera peut-être quelqu'un d'autre.
Austin
0

Un peu tard, la question "Comment éviter l’ouverture de fichiers sans type dans un terminal" est un peu ancienne. Pourtant:

Les solutions ci-dessus impliquent de modifier les règles existantes, ce qui peut avoir des effets secondaires indésirables. Je trouve que le plus simple est d’exploiter les règles existantes pour les fichiers non typés et de modifier les autorisations des fichiers pour obtenir le résultat souhaité.

Spécifiquement: désactivez le bit exécutable sur le fichier, car c’est ce qui explique au service de fichiers de s’ouvrir avec le terminal avec "chmod -x nomfichier" où nomfichier est ... le nomfichier.

Cela peut être automatisé dans une certaine mesure (avec prudence): Dans mon cas, j'ai beaucoup de fichiers README sur une machine. Je peux utiliser "find" pour trouver tous les fichiers "README". Et utilisez ensuite "awk" pour construire une commande permettant de supprimer le bit exécutable de tous les éléments, comme suit:

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

Tapez cela dans le terminal si vous voulez vérifier quels fichiers seront changés: La sortie consistera en une liste pour chaque fichier README trouvé, ressemblant à ceci:

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

Et pour modifier toutes ces autorisations, exécutez toutes ces lignes en les facturant comme suit:

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

Méfiez-vous des caractères génériques trop libéraux et de la suppression accidentelle du bit exécutable de certains exécutables qui correspondent par erreur.


Un moyen plus simple serait de simplement courir

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

ou (pour voir ce qui se passerait)

find /$HOME -iname 'README' -exec echo chmod -x '{}' \;`
JamesConnolly
la source
1
Je n'arrive pas à comprendre comment cela résout le problème énoncé dans la question. LISEZMOI, ChangeLog, etc., n’ont généralement pas le bit x défini pour commencer. Le problème est que OS X s'appuie sur des suffixes pour identifier l'application avec laquelle ouvrir le fichier et que ces fichiers n'ont pas de suffixe.
nohillside