4 votes

Créer une icône de dock pour Spyder (installé avec Anaconda)

Comment puis-je créer une icône de dock unique pour une application qui est lancée via le Terminal ?

J'ai installé spyder en utilisant anaconda. Je peux créer une application lanceur en utilisant Platypus (voir ceci respuesta ). Mais l'application spyder proprement dite ouvre une nouvelle icône de dock (moche) étiquetée "Python" à côté d'elle : dock icons

La confusion commence lorsque je veux passer à l'application Spyder : Je dois cliquer sur l'icône Python et non sur celle de Spyder...

3voto

klanomath Points 63400

Platypus n'est pas nécessairement nécessaire pour ajouter une icône à spyder :

Le démarrage de spyder dans le CLI est un processus en deux étapes :

~/anaconda/bin/spyder est un shell script exécutant le "proxy app" ~/anaconda/bin/Python.app qui lui-même lance un autre "proxy app" ~/anaconda/Python.app/Contents/MacOS/Python incluant un argument.


Puisque le dernier script du shell réside dans un bundle d'applications, vous pouvez simplement ajouter une icône :

Les deux applications proxy sont des "wrappers/launchers" pour toutes les autres applications scientifiques Python incluses dans Anaconda. Vous ne voulez pas casser Anaconda - vous devez donc créer deux lanceurs "spyder-only".

Faites une copie de ~/anaconda/bin/Python.app : ~/anaconda/bin/Python.app et changez le shell script à l'intérieur (n'oubliez pas de changer aussi l'utilisateur dans le chemin !).

#!/bin/bash
export PYTHONEXECUTABLE=/Users/user/anaconda/bin/python
/Users/user/anaconda/python.spyder.app/Contents/MacOS/python "$@"

Ensuite, créez une copie de ~/anaconda/Python.app : ~/anaconda/Python.app et ajoutez-y une icône.

Lancé à partir du Terminal la commande spyder lancera Python.spyder.app avec l'icône personnalisée.

Vous pouvez maintenant utiliser Platypus pour créer une application à lancer. spyder (au lieu d'utiliser Terminal.app). Utilisez les paramètres suivants :

Platypus spyder

Cela peut être cassé après une mise à jour d'Anaconda ou de Spyder.


Je ne pense pas que vous puissiez lancer spyder avec une seule icône de dock spyder (avec le lanceur spyder de Platypus comme élément permanent du Dock) parce que le Python.spyder.app/Python.app lui-même est un wrapper pour spyder à nouveau. Ainsi, après avoir appuyé sur l'icône de l'application spyder de Platypus dans le Dock, vous obtiendrez toujours une deuxième icône spyder - la raison pour laquelle votre solution montre l'icône Python.app par défaut.

0voto

unknowndomain Points 4102

Cette question est plus une question de programmation qu'une question d'ergonomie, cependant il faudrait probablement le faire de manière programmatique car MacOS recherche normalement l'icône à l'intérieur de l'application comme faisant partie d'un fichier .plist, et votre application n'a pas cela probablement parce qu'elle est exécutée à partir de la ligne de commande comme un script.

Jetez un coup d'oeil : Modification de l'icône, du titre et des étiquettes de menu des applications Cocoa au moment de leur exécution

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X