# Action de dossier



## Gregoryen (19 Juin 2022)

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 (19 Juin 2022)

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:


```
tell application "Preview"
    quit
end tell
```





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.


----------



## zeltron54 (20 Juin 2022)

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


----------



## Gregoryen (23 Juin 2022)

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 (24 Juin 2022)

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 (25 Juin 2022)

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 ?


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


----------



## zeltron54 (12 Juillet 2022)

Bonjour,
@Gregoryen 

As-tu eu l'occasion de tester l'action de dossier ?


----------



## Gregoryen (12 Juillet 2022)

Salut Zeltron je n'avais pas vu tes deux derniers messages _facepalm_... Demain soir je teste ça et je fais un retour


----------



## Gregoryen (17 Juillet 2022)

Désoler je n'ai pas beaucoup eu le temps ces derniers jours. Je viens de tester j'a fait tout comme il faut, si j'ouvre un des fichier avec lequel j'ai fais le clic droit, ouvrir avec Shottr, il s'ouvrira bien avec Shottr, et si j'ouvre un PNG du Bureau par ex, il s'ouvre avec Aperçu.

Seulement lorsque je fais une nouvelle capture d'écran et que je vais l'ouvrir il s'ouvre avec Aperçu.

Le dossier Script n'existant pas dans la bibliothèque de mon utilisateur, je l'ai trouvé dans Macintosh HD/Library et je l'ai quand même trouvé. J'ai testé de créer un nouveau dossier dans ma bibliothèque, je l'ai trouvé aussi mais ça fait la même chose.


----------



## zeltron54 (17 Juillet 2022)

Tu as bien créer le fichier modèle.png et vérifié qu’il s’ouvre avec la bonne application ?

Tu as bien créer le dossier en suivant :


zeltron54 a dit:


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


et que se passe t'il lorsque tu actives les actions de dossiers :


zeltron54 a dit:


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



J'ai testé chez moi , pas de problème .


----------



## zeltron54 (17 Juillet 2022)

Ah!  le correcteur...
Le nom du fichier à créer est "modele.png"  sans accent ! et il doit se trouver dans ton dossier recevant les copie sd'écran "Screenshot" celui pour lequel à été activé l'action de dossier.


----------



## Gregoryen (17 Juillet 2022)

Oui j'ai bien mis modele.png sans accent dans le dossier screeenshot.


----------



## zeltron54 (17 Juillet 2022)

Et ce fichier modele.png s'ouvre bien avec shottr ?
Et pour les autres questions ?
activation des actions de dossiers? Une copie d’ écran de cette fenêtre serait utile …

Voila la mienne:





Et voila une copie d'écran pour voir le chemin du fichier script :


----------



## Gregoryen (17 Juillet 2022)

Ah OK d'accord j'ai compris ! J'avais fait la modification au début sans cliquer sur "Tout modifier" mais depuis je n'avais pas ouvert le modèle pour qu'il s'y habitue.

Maintenant ça fonctionne ! Alors j'ai testé avec de nouvelles captures, le premier clic il ouvre avec aperçu. Donc je suppose qu'il faut attendre un peu ? La deuxième ouverture il m'affiche ça avant de l'ouvrir avec la bonne application.






En tout cas tu es un génie <3

Alors entre temps, comme je suis casse bonbon, j'ai testé l'éditeur de Cleanshot X puisque c'est avec cette application que je fais les captures, et elle est tellement badass, plus complète, un vrai bonheur ! Donc j'ai refait ce que tu as écrit au tout début de faire "ouvrir avec" sans cliquer sur "tout modifier". J'ai aussi renommé le fichier script. Je l'ai supprimé et remis dans les actions pour être sûr.

Et je me demandais si c'est possible de faire en sorte : qu'importe le dossier dans lequel se trouve les captures, à partir du moment ou elle ont "Screenshot" dans le titre, elle doivent s'ouvrir avec X app.

Sinon déjà je suis ravi ! Merci merci.


----------



## zeltron54 (17 Juillet 2022)

Oui et non !

Si tu veux que tes xxx.PNG s'ouvre avec l'appli "Cleanshot X" que je ne connaît pas, il faut d'abord modifier tous tes PNG du dossier avec ctrl+cmd+i  et dans “ouvrir avec” tu sélectionnes ton application “Cleanshot X”.
Tu crées un modele.png en dupliquant un des fichier modifié et en le renommant modele.png

Si tu changes le nom du script , il faudra le réaffecter avec action de dossier au dossier screenshot.


et le script reste le même (rien à modifier), le script ne fait qu'appliquer les valeurs de modele. png à tous les png qui arrive dans le dossier ...

Edit : suite à ton edit, reste plus qu' réaffecter l'action au dossier !

Edit 2 : tu as dit:
Et je me demandais si c'est possible de faire en sorte : qu'importe le dossier dans lequel se trouve les captures, à partir du moment ou elle ont "Screenshot" dans le titre, elle doivent s'ouvrir avec X app.

Alors Non! Par contre une fois qu'elles ont transitées par le dossier "screenshot", elles peuvent être déplacées ou tu veux elles s'ouvriront toujours avec "Cleanshot X" ....

Dis moi si tout est bon ! Merci pour le retour ...


----------



## Gregoryen (18 Juillet 2022)

zeltron54 a dit:


> Oui et non !
> 
> Si tu veux que tes xxx.PNG s'ouvre avec l'appli "Cleanshot X" que je ne connaît pas, il faut d'abord modifier tous tes PNG du dossier avec ctrl+cmd+i et dans “ouvrir avec” tu sélectionnes ton application “Cleanshot X”.
> Tu crées un modele.png en dupliquant un des fichier modifié et en le renommant modele.png
> ...


Yes c'est fait !


zeltron54 a dit:


> Alors Non! Par contre une fois qu'elles ont transitées par le dossier "screenshot", elles peuvent être déplacées ou tu veux elles s'ouvriront toujours avec "Cleanshot X" ....


Parfait c'est ce que je voulais comme comportement puisque ça m'arrive de les bouger ;-)

Du coup j'ai fait les modifs, les anciennes captures avec lesquelles j'ai fait ctrl+⌘+i s'ouvre avec cleanshot.
Cependant lorsque je fait une nouvelle capture d'écran et que j'essaie de l'ouvrir, elle s'ouvre d'abord avec Aperçu.
Je quitte, puis je réouvre cette capture d'écran qui m'affiche ce message, 




et lorsque je le valide il s'ouvre avec Cleanshot.


----------



## zeltron54 (18 Juillet 2022)

Bonjour,

Je suppose que lorsque tu fais une copie d'écran ton logiciel de copie d'écran ouvre la copie pour modifications éventuelles (avec l'appli par défaut qui est encore "aperçu") avant de l'enregistrer dans le dossier "sreenshot" et ce n'est qu'a ce moment là que l'action de dossier agit et remplace le "ouvrir avec"  par la bonne appli...


----------

