Action de dossier

Gregoryen

Membre actif
Club MacG
16 Juin 2013
586
32
30
Arles
www.gregoryen.fr
Bonjour, je suis sous macOS Monterey version 12.4

J'ai un dossier "Screenshot" sur mon Mac qui contient, comme vous l'aurez deviné, toutes mes captures d'écran sous format PNG.

J'aimerais faire en sorte que lorsque j'ouvre les PNG de ce dossier uniquement, cela me l'ouvre avec un logiciel spécifique. Mais lorsque je souhaite ouvrir les PNG d'un autre dossier comme "Bureau" par exemple, cela continue de me les ouvrir avec Aperçu.

Il existe "Configuration des actions de dossier", je me demandais si avec un petit script, il était possible de configurer cela.

Merci de votre aide !
 

Gregoryen

Membre actif
Club MacG
16 Juin 2013
586
32
30
Arles
www.gregoryen.fr
Je m'auto réponds. J'ai posé la question sur le Discord et j'ai eu quelques retours.

Selon Nicolas Furno, les actions de dossier s’activent quand un fichier est ajouté à un dossier, pas quand on ouvre un fichier dans ce dossier.

Il m'a proposé d'utiliser Hazel.

J'ai trouvé (partiellement), dans les règles de Hazel, j'ai mis " si le nom contient screenshot".
Ça marche puisque si j'ouvre une capture, alors il ouvre le logiciel. Seulement il ouvre aussi Aperçu, alors j'ai rajouté un Applescript:

Bloc de code:
tell application "Preview"
    quit
end tell

Screenshot19- 06-2022- à 21h15 56 s - Hazel- Hazel.png

Cependant un problème :

Par moment lorsque j'ouvrais un fichier de mon dossier screnshot, il s'ouvrait avec Shottr et Aperçu, et puis il quittait Aperçu. Seulement maintenant lorsque je lance cette règle sur Hazel, il m'ouvre toutes les captures d'écran d'un coup, et une fois toutes ouvertes, si je continue à double cliquer sur une capture, seul Aperçu se lance.
 
Dernière édition par un modérateur:

zeltron54

Membre expert
Club MacG
29 Mars 2008
2 511
399
Lorraine
Bonjour,
@Gregoryen

Une idée , mais je ne peux pas tester car l'application Shottr demande catalina et je suis sous Mojave.

Renommer des fichiers xxxxx.png qui sont dans ton dossier en xxxxx.pngs (changer l'extension).
Faire cela dans lire les informations du fichier.

Sur un fichier modifié, dans lire les informations modifier "ouvrir avec" et mettre ton application Shottr en lieu et place de Aperçu, Puis cliquer sur tout modifier... afin que cela s'applique à tous les fichiers .pngs

Vérifier si de cette façon les fichiers .pngs s'ouvrent bien avec Shottr.

Si oui il faudra alors modifier tous les fichiers du dossier, puis faire une action de dossier qui modifiera l'extension de chaque nouveau fichier qui y sera déposé.
 
Dernière édition:
  • J’aime
Réactions: Gregoryen

Gregoryen

Membre actif
Club MacG
16 Juin 2013
586
32
30
Arles
www.gregoryen.fr
Merci, j'ai pensé également à modifier l'extension, après le PNG était le plus adaptée.

Alors j'ai testé, et ça marche très bien, puisque c'est une extension qu’aucun autre fichier n'a. Je me demande si je pourrais les importer facilement dans des logiciels ou sur le web avec pngs ?
Après je me sers beaucoup de ma barre d'espace aussi comme aperçu rapide et avec PNG ça marche, mais PNGS ça me fait l'aperçu dans une petite icône.

Ça reste une solution, mais ce n’est pas encore ça, je vais continuer de creuser. Merci en tout cas :)
 

zeltron54

Membre expert
Club MacG
29 Mars 2008
2 511
399
Lorraine
Bonjour,

Je pense qu'un script action de dossier qui défini l'application à utiliser ( comme on le ferait dans lire les informations, ouvrir avec) sans mettre "tout modifier", devrait faire le job.

Modifier d'abord tous les fichiers existant dans le dossier en leur définissant l'application voulue , pour ça les sélectionner tous et faire ctrl+cmd+i et choisir l'application.

Le script qui modifie le "ouvrir avec" se sert d'un fichier déjà modifié, comme modèle et l'applique au fichier qui arrive dans le dossier. Il faudra donc mettre un fichier modèle dans un dossier et s'en servir à chaque fois !

Est-ce que cela pourrait te convenir ?
 

zeltron54

Membre expert
Club MacG
29 Mars 2008
2 511
399
Lorraine
Bonjour,
Je t’ai préparé le script qui fait le job. pour sa mise en place:

1 - Déjà Désigner ton application “Shottr” comme application par défaut pour tous les PNG de ton dossier, pour çà, tu sélectionnes tous les PNG du dossier "Screenshot" puis ctrl+cmd+i et dans “ouvrir avec” tu sélectionnes ton application “Shottr” (attention tu ne cliques pas sur tout modifier).

2 - Tu dupliques un de ces fichiers (qui s’ouvre avec ton application) et tu le renommes modele.png (il servira de modèle au script)

3 - Tu ouvres Editeur de script qui est dans applications—>Utilitaires , tu cliques sur nouveau document en bas à gauche, tu fais un copier coller du script dans la fenêtre

4 - Tu enregistres ce script sous le nom “ouvrir png avec shottr” (par exemple) dans ton dossier utilisateur (petite maison)—>Bibliothèque —> scripts —> Folder Action Scripts , Si ces dossiers n’existent pas tu les crées avec ces noms exact.

5 - Tu cliques droit sur ton dossier "Screenshot" —> services —> Configuration des actions de dossier , tu cliques sur lancer le service, dans la liste déroulante tu sélectionnes ton script, tu t’assures que les cases à cocher : “Activer les actions de dossier”, "Screenshot" et “ouvrir png avec shottr” sont bien cochées.

Voilà tous fichiers avec extension .png qui seront ajoutés dans ton dossier "Screenshot" seront ouvert avec l’application ‘Shottr”

Dis moi si tout se passe comme prévu ou si problèmes ?

Bloc de code:
on adding folder items to Mon_Dossier after receiving Liste_Fichiers
   
    set ledossier to Mon_Dossier
   
    tell application "Finder"
       
        set Mon_Dossier to Mon_Dossier as string --change chemin en texte
        set model to Mon_Dossier & "modele.png" -- recupere chemin du fichier modèle
        set modelunix to POSIX path of model --chemin au format unix
       
        repeat with chaque_fichier in Liste_Fichiers
           
            set sauv to AppleScript's text item delimiters --sauvegarder la variable delimiteur
            set AppleScript's text item delimiters to {""}
            set nom to name of chaque_fichier --récupère le nom du fichier
            set extens to document file nom in ledossier --recupere l extension du fichier
            set lextension to name extension of extens
            set AppleScript's text item delimiters to sauv --restaurer la variable delimiteur
           
            if lextension is "png" then
               
                set un_fichier to chaque_fichier as string --change chemin en texte
                set fichierunix to POSIX path of un_fichier --chemin au format unix
               
                set commande to "xattr -wx com.apple.LaunchServices.OpenWith " & (ASCII character 92) & (ASCII character 10) & "  " & (ASCII character 34) & (ASCII character 96) & "xattr -px com.apple.LaunchServices.OpenWith " & (ASCII character 34) & modelunix & (ASCII character 34) & (ASCII character 96) & (ASCII character 34) & "  " & (ASCII character 34) & fichierunix & (ASCII character 34)
                do shell script commande
            end if
        end repeat
       
    end tell
   
end adding folder items to