IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Finder - Fonctions supplémentaires dans la barre d'outils, Ajouter fonctions AS et icônes dans le Finder
Options
sansnom
posté 16 May 2022, 14:26
Message #1


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 146
Inscrit : 30 Jun 2005
Lieu : Loiret
Membre no 41 715



Bonjour,

...voici une contribution et un p'tit tuto pratique pour ajouter des raccourcis à la barre d'outils des fenêtres du Finder.
De quoi avoir un accès rapide à ses propres AppleScript, sans passer par des commandes clavier, et avec des icônes et un look parfaitement intégrées à celui du Finder de Big Sur et de Monterey.





Pré-requis : mac OS Big Sur ou mac OS Monterey - Application AppleScript - Application Automator - Application de design et conversion graphique de fichier

L'idée est de créer une fonction dans AppleScript, de l'importer dans Automator, de l'exporter ensuite en tant qu'application standard, de l'agrémenter d'une icône personnalisée et enfin de l'ajouter aux autres fonctions de la barre d'outils du Finder.


AppleScript
Voici quelques exemples de fonctions (très) pratiques (à mon sens) :

-- Affichage “Par icônes” dans la fenêtre active du Finder
Code
activate application "Finder"
tell application "System Events"
    keystroke "&" using {command down}
end tell

-- Affichage “Par liste” dans la fenêtre active du Finder
Code
activate application "Finder"
tell application "System Events"
    keystroke "é" using {command down}
end tell

NB : le Finder n'offre pas la possibilité de choisir individuellement l'une des quatre présentations (Icônes, Liste, Colonnes et Galerie d'icônes).

-- Affichage par alternance entre “Par icônes” et “Par liste”
Code
tell application "Finder"
    activate application "Finder"
    tell the front Finder window
        if current view is icon view then
            tell application "System Events"
                keystroke "é" using {command down}
            end tell
        else
            tell application "System Events"
                keystroke "&" using {command down}
            end tell
        end if
    end tell
end tell

-- Cloner l'onglet courant dans la fenêtre du Finder
Code
tell application "Finder"
    set theTarget to target of window 1
    tell application "System Events"
        keystroke "t" using command down
    end tell
    set target of window 1 to theTarget
end tell

-- Vider la Corbeille
Code
tell application "Finder"
    empty the trash
end tell

-- Afficher ou non l'extension d'un ou d'une sélection de fichiers du Finder
Code
tell application "Finder"
    if not (get selection) = {} then
        set theSelection to (selection as alias list)
    else
        display alert "Aucun fichier n'est sélectionné !..." giving up after 10
        return
    end if
end tell

repeat with theFile in theSelection
    tell application "Finder"
        if extension hidden of theFile is true then
            tell application "Finder" to set extension hidden of theFile to false
        else
            tell application "Finder" to set extension hidden of theFile to true
        end if
    end tell
end repeat

NB : on peut aussi exporter son code AppleScript en tant qu'application et la placer dans la barre d'outils du Finder, mais il semble qu'il y ait pour l'heure de gros problèmes de stabilité et que le système (Big Sur et Monterey) interdit de manière aléatoire l'exécution du code. Bypasser ces contraintes en utilisant Automator semble être la meilleure solution actuellement.

Automator
Dans le menu fichier, choisir Nouveau,
Choisir “Application” comme type de document,
Dans le champ Variables, tapez AppleScript et double-cliquez sur “Exécuter un script AppleScript”,
Dans l'espace de saisie du code supprimez le codes préexistant (on run...) et coller votre code AppleScript,
Cliquez sur l'icône “Marteau” pour vérification de la qualité du code,
Dans le menu Fichier sélectionnez “Exporter...”,
Nommez votre document et choisissez son emplacement sur votre support interne,

Système - Droits Accessibilité
Afin de permettre au système de jouer le script...
Ouvrez les Préférences Système “Sécurité et confidentialité”, puis “Accessibilité”,
Déverrouillez le panneau (cadenas en bas à gauche), ajouter votre nouvelle application dans la liste,
Fermez la panneau de préférence.

Customisation de l'icône de l'application - Look similaire à celui du Finder
Créez (voir ci-dessous lien vers InkScape, application gratuite de dessin) votre icône au format 1024 px * 1024 px avec fond transparent,
Convertissez (voir ci-dessous lien vers un service à installer) le fichier .png en .icns,
Sélection votre application et coller par drag and drop le fichier .icns sur l'icône de l'application.

NB : en ouvrant l'uns des 4 fichiers joints (voir plus bas Les sources), vous pourrez facilement créer vos propres icônes en vous calant sur la couleur (grise) du picto et son encombrement/placement...

Finder
Ouvrez deux fenêtres du Finder et placez-les côte à côte,
Dans la première, sélectionnez la directory qui contient votre nouvelle application,
Dans la seconde, cliquez (contextuel) sur la barre d'outils et choisissez la dernière option, “Personnaliser la barre d'outils...”,
Depuis la première fenêtre, drag and drop de votre application à l'endroit de votre choix dans la barre d'outils,
Validez.

Voilà, j'espère que cela vous plaira et surtout vous donnera d'autres idées... wink.gif

Lien pour les sources graphiques : Ici...

Logiciel libre de dessin vectoriel :
Inkscape 1.1.2 (Download)

Script Automator gratuit pour convertir des fichiers .png en .icns et ajouter une Action rapide au menu contextuel du Finder pour plus d'accessibilité :
https://filipmolcik.com/convert-png-to-icns...lick-converter/


--------------------
MacMini M1 (13.4.1c) 16Go • iPhone 11 Pro Max 64Go • iPadMini Wi-Fi 6ème Gén. 64Go • aTV 4K 32Go
Go to the top of the page
 
+Quote Post
Tomeno
posté 16 May 2022, 15:43
Message #2


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 3 052
Inscrit : 18 May 2002
Lieu : Base de la tranquilité/Planéte Lune/Cratére n°3.
Membre no 2 501



Intéressant et astucieux !
En s'inspirant d'ailleurs de ce que tu dis dans ton paragraphe «Finder » (ouvrir deux fenêtres et les mettre côte à côte…) je m'aperçois que, même si l'on n'est pas sous Big Sur ou Monterey, on arrive à mettre à peu près n'importe quoi dans la barre d'outils d'une fenêtre quelconque. On arrive à y mettre :
–une application,
–une adresse Internet,
–un document quelconque, texte ou image, etc.
–l'icône d'un disque dur ou d'une partition
–un dossier


--------------------
Hackeur vaillant ... rien d'impossible !
Mac Pro "corbeille" 2013 3,7 Ghz, SSD 500 Go, + Ecran Nec 30"/ iMac Retina 2014, 4 GHz, écran 27 " / Mac Pro "camion" 2008 / Imac G4 Tournesol 1,25 GHz 20" , modifié Mac Mini M1/ Cube G4 boosté à 1,8Ghz avec carte Gigadesign +Geforce 6200+AppleDisplay 23" / Spartacus upgradé G3 / MacBook polycarbonate 2011 / MacBook pro 17 pouces / Freebox Révolution V6 / Wifi Mesh avec 4 boitiers Tenda Nova MW6
Go to the top of the page
 
+Quote Post
baron
posté 18 May 2022, 15:31
Message #3


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 19 315
Inscrit : 22 Jul 2004
Lieu : Louvain-la-Neuve (Gaule Gelbique)
Membre no 21 291



Merci pour ce tuto qui pourrait bien intéresser tous les utilisateurs de macOS. Je le déplace.


--------------------
MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS  12.6 “Monterey”  MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8  Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 — + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C   B-Box 3 + HP LaserJet 4000 N  
La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même.
Les corsaires mettent en berne…
Go to the top of the page
 
+Quote Post
sansnom
posté 21 May 2022, 09:55
Message #4


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 146
Inscrit : 30 Jun 2005
Lieu : Loiret
Membre no 41 715



Je rajoute cet autre AppleScript (toujours aussi assez pratique) qui duplique un fichier du Finder en lui ajoutant un numéro à la fin de son nom (plutôt que simplement “ copie”). Et si vous dupliquez un fichier ayant déjà cette numérotation, la nouvelle copie subira une incrémentation automatique. Par contre, ce script ne fonctionne pas sur une sélection multiple (logique).

Code
tell application "Finder"
    set finderInsertionLocation to insertion location as text
    set finderSelectionList to selection as alias list
    if length of finderSelectionList ≠ 1 then
        beep
        error "Too many or too few items were selected in the Finder!"
    end if
    set theItem to item 1 of finderSelectionList
    set itemName to name of theItem
end tell
set perlCmd to text 2 thru -1 of "
my $nameStr = '" & itemName & "';
if ( $nameStr =~ m!(.+)_(\\d+)(.*)! ) {
  print \"$1_\".sprintf(\"%02d\", ($2 + 1)).\"$3\";
} elsif ($nameStr =~ m!(.+)(\\..*)$!) {
  print \"$1\\_01$2\";
} else {
  print \"$nameStr\\_01\";
}
"
set perlCmd to "/usr/bin/env perl -fw <<< " & quoted form of perlCmd
set newItemName to do shell script perlCmd
set newItemPath to finderInsertionLocation & newItemName
try
    # Make sure the new file name doesn't already exist.
    alias newItemPath
    beep
on error
    tell application "Finder"
        set newItem to (duplicate theItem) as alias
        set name of newItem to newItemName
        select newItem
        update (alias finderInsertionLocation)
    end tell
end try

wink.gif


--------------------
MacMini M1 (13.4.1c) 16Go • iPhone 11 Pro Max 64Go • iPadMini Wi-Fi 6ème Gén. 64Go • aTV 4K 32Go
Go to the top of the page
 
+Quote Post
Tomeno
posté 21 May 2022, 10:41
Message #5


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 3 052
Inscrit : 18 May 2002
Lieu : Base de la tranquilité/Planéte Lune/Cratére n°3.
Membre no 2 501



Citation (sansnom @ 21 May 2022, 10:55) *
Je rajoute cet autre AppleScript (toujours aussi assez pratique) ...

Puisque tu te débrouilles bien avec les AppleScript est-ce que tu pourrais nous en faire un qui automatise la manœuvre suivante :
Pour pouvoir Télécharger et utiliser une application « de n’importe ou » :
1. Ouvrir l'Application terminal macOS et exécuter ligne de commande:
sudo spctl --master-disable
2. Introduire mot de passe utilisateur dans le terminal et validez par Return. ( au besoin en laissant à disposition de l'utilisateur une variable où il pourrait stocker son mot de passe)

Et même rajouter ensuite à la fin une instruction pour fermer puis réouvrir la préférence système « Sécurité Confidentialité » car il faut faire cela pour que le résultat de la manœuvre soit visible


--------------------
Hackeur vaillant ... rien d'impossible !
Mac Pro "corbeille" 2013 3,7 Ghz, SSD 500 Go, + Ecran Nec 30"/ iMac Retina 2014, 4 GHz, écran 27 " / Mac Pro "camion" 2008 / Imac G4 Tournesol 1,25 GHz 20" , modifié Mac Mini M1/ Cube G4 boosté à 1,8Ghz avec carte Gigadesign +Geforce 6200+AppleDisplay 23" / Spartacus upgradé G3 / MacBook polycarbonate 2011 / MacBook pro 17 pouces / Freebox Révolution V6 / Wifi Mesh avec 4 boitiers Tenda Nova MW6
Go to the top of the page
 
+Quote Post
sansnom
posté 21 May 2022, 11:18
Message #6


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 146
Inscrit : 30 Jun 2005
Lieu : Loiret
Membre no 41 715



Citation (Tomeno @ 21 May 2022, 11:41) *
Citation (sansnom @ 21 May 2022, 10:55) *
Je rajoute cet autre AppleScript (toujours aussi assez pratique) ...

Puisque tu te débrouilles bien avec les AppleScript est-ce que tu pourrais nous en faire un qui automatise la manœuvre suivante :
Pour pouvoir Télécharger et utiliser une application « de n’importe ou » :
1. Ouvrir l'Application terminal macOS et exécuter ligne de commande:
sudo spctl --master-disable
2. Introduire mot de passe utilisateur dans le terminal et validez par Return. ( au besoin en laissant à disposition de l'utilisateur une variable où il pourrait stocker son mot de passe)

Et même rajouter ensuite à la fin une instruction pour fermer puis réouvrir la préférence système « Sécurité Confidentialité » car il faut faire cela pour que le résultat de la manœuvre soit visible
Merci de me prêter autant d'attention, mais malheureusement, je ne suis qu'un simple (et vieux) bidouilleur. J'ai compilé ces dernières décennies tout un tas de scripts, de raccourcis, de manips, d'expériences tierces... et j'en ai aussi beaucoup créé moi-même, MAIS pour AppleScript, uniquement que de très simples à mettre en œuvre en piochant à droite à gauche et en galérant un peu (souvent beaucoup)...
Pour ta demande, et la sensible gestion des mots de passe (with administrator privileges), Keyboard Maestro sait parfaitement les manipuler (en sécurité) en lien avec le trousseau de mac OS : l'utilitaire sait aussi très bien empiler des bouts de AS et les intercaler avec ses propres routines bien plus simples à mettre en œuvre qu'AS et sans ses limitations. Ici, il y a interaction avec l'utilisateur (prompt) et je n'ai aucune idée de comment faire n'en n'ayant jamais eu le besoin. Désolé. Mais une recherche sur la toile pourrait aider.
Voici déjà un lien vers un début de solution : https://discussions.apple.com/thread/2009100
Et un autre encore plus précis : https://osxdaily.com/2015/05/04/disable-gat...d-line-mac-osx/
Ce post est une mise à disposition de bidouilles, libre à chacun de l'enrichir avec les siennes... wink.gif

NB : sauf erreur de ma part, la désactivation de Gatekeeper est permanente une fois effectuée. L'intérêt d'un script serait plutôt (peut-être) d'automatiser une bascule, sudo spctl --master-disable –> sudo spctl --master-enable


--------------------
MacMini M1 (13.4.1c) 16Go • iPhone 11 Pro Max 64Go • iPadMini Wi-Fi 6ème Gén. 64Go • aTV 4K 32Go
Go to the top of the page
 
+Quote Post
Tomeno
posté 21 May 2022, 13:16
Message #7


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 3 052
Inscrit : 18 May 2002
Lieu : Base de la tranquilité/Planéte Lune/Cratére n°3.
Membre no 2 501



Citation (sansnom @ 21 May 2022, 12:18) *
NB : sauf erreur de ma part, la désactivation de Gatekeeper est permanente une fois effectuée.

Elle est permanente… jusqu'à ce qu'une mise à jour de Mac OS la fasse à nouveau disparaître ! ! !. Ça m'est arrivé assez souvent


--------------------
Hackeur vaillant ... rien d'impossible !
Mac Pro "corbeille" 2013 3,7 Ghz, SSD 500 Go, + Ecran Nec 30"/ iMac Retina 2014, 4 GHz, écran 27 " / Mac Pro "camion" 2008 / Imac G4 Tournesol 1,25 GHz 20" , modifié Mac Mini M1/ Cube G4 boosté à 1,8Ghz avec carte Gigadesign +Geforce 6200+AppleDisplay 23" / Spartacus upgradé G3 / MacBook polycarbonate 2011 / MacBook pro 17 pouces / Freebox Révolution V6 / Wifi Mesh avec 4 boitiers Tenda Nova MW6
Go to the top of the page
 
+Quote Post
sansnom
posté 21 May 2022, 13:26
Message #8


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 146
Inscrit : 30 Jun 2005
Lieu : Loiret
Membre no 41 715



Je viens de taper ceci dans le Terminal :

Code
spctl --status

Et, malgré l'application de la dernière update du tout début de semaine sur mon système Monterey (avec Gatekeeper déjà “disable”), Gatekeeper est toujours “disable” sur ma config !... Encore une fois, il y a beaucoup d'aspects de mac OS qui m'échappent...


--------------------
MacMini M1 (13.4.1c) 16Go • iPhone 11 Pro Max 64Go • iPadMini Wi-Fi 6ème Gén. 64Go • aTV 4K 32Go
Go to the top of the page
 
+Quote Post
baron
posté 21 May 2022, 13:30
Message #9


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 19 315
Inscrit : 22 Jul 2004
Lieu : Louvain-la-Neuve (Gaule Gelbique)
Membre no 21 291



Citation (sansnom @ 21 May 2022, 12:18) *
L'intérêt d'un script serait plutôt (peut-être) d'automatiser une bascule, sudo spctl --master-disable –> sudo spctl --master-enable

C'est effectivement plein de bon sens. smile.gif


--------------------
MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS  12.6 “Monterey”  MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8  Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 — + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C   B-Box 3 + HP LaserJet 4000 N  
La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même.
Les corsaires mettent en berne…
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 29th March 2024 - 11:19