Garder Python IDLE dans le lanceur

J’aimerais que l’icône de l’environnement de développement intégré ( IDLE ) de Python apparaisse dans mon lanceur. Lorsque j’ai lancé IDLE via le tiret, je peux cliquer avec le bouton droit de la souris sur l’icône et choisir l’option “Verrouiller pour lancer”. Après avoir cliqué dessus, cependant, l’option est toujours là, alors qu’elle aurait dû être remplacée par l’option ‘remove from Launcher’. Donc, apparemment, cela ne fonctionne pas de cette façon. Puis-je en quelque sorte créer un fichier personnalisé faisant apparaître une icône de lanceur pour IDLE? Les commandes qui se produisent lorsque je démarre IDLE sont

stefan@stefan-HP-Pavilion-13-x360-PC:~$ ps ax -f | grep python stefan 2087 1922 0 12:30 ? Sl 0:00 /usr/bin/python /usr/bin/glipper stefan 3318 1751 0 13:14 ? Sl 0:02 /usr/bin/python3 /usr/bin/idle3 stefan 3325 3318 0 13:14 ? Sl 0:03 /usr/bin/python3 -c __import__('idlelib.run').run.main(True) 35780 stefan 3348 3124 0 13:19 pts/0 S+ 0:00 grep --color=auto python 

donc je devrais en quelque sorte réaliser les deux commandes impliquant inactif avec un script.

Edit: Lorsque je tape /usr/bin/idle3 dans mon terminal, l’autre commande /usr/bin/python3 -c __import__('idlelib.run').run.main(True) s’exécute automatiquement. Il n’est donc pas nécessaire de mettez cela dans un script “starter”. Tout ce que le démarreur fait est d’exécuter /usr/bin/idle .

Faire glisser l’icône du tiret directement sur le lanceur ( comme Jacob l’a suggéré ) le garde dans le lanceur. Cependant, après avoir cliqué dessus, une autre icône apparaît, différente de l’icône de démarrage et présentant le défaut que je décris ici. Peut-être que ce problème peut également être résolu?

La solution la plus simple

Voici ce que vous pouvez faire (plus simplement que vous ne le craigniez :)):

  • Ouvrir Dash
  • Tapez Idle (ou Idle3, selon la version)
  • Faites glisser l’icône de Dash vers le lanceur d’unité:

    entrez la description de l'image ici

    Ensuite, le texte du clic droit saisit:

    entrez la description de l'image ici

    (Quel est le néerlandais pour: “Supprimer du lanceur”)

La commande pour exécuter Idle

Pour compléter la réponse: la commande pour exécuter Idle est la suivante:

 /usr/bin/idle 

ou pour des versions spécifiques, par exemple: /usr/bin/idle3 ou: /usr/bin/idle-python3.4

Il suffit de regarder à l’intérieur du fichier .desktop dans /usr/share/applications dans la ligne, en commençant par Exec= pour la bonne commande.

Empêcher une icône supplémentaire d’être en veille lors de son lancement

Idle produit des fenêtres du WM_CLASS “Toplevel”. Pour que ces fenêtres apparaissent sous la même icône que celle que vous venez de placer dans le lanceur, procédez comme suit:

  • Copiez le fichier global idle.desktop de /usr/share/applications dans ~/.local/share/applications .

     cp /usr/share/applications/idle.desktop ~/.local/share/applications 
  • Ouvrez le fichier (faites-le glisser sur une fenêtre ouverte de gedit ).

  • Ajoutez au bas du fichier la ligne:
  StartupWMClass=Toplevel 
  • Déconnectez-vous puis reconnectez-vous. Toutes les fenêtres Idle apparaissent ensuite sous une seule icône:

    entrez la description de l'image ici

C’est tout…


MODIFIER

En raison du fait que les fenêtres d’un WM_CLASS en principe que sous une seule icône Lanceur (à la fois) dans Unity, veuillez noter que:

Bien que les chances soient pratiquement nulles, le regroupement des fenêtres Toplevel sous l’icône Idle pourrait présenter un inconvénient dans de rares cas:

  1. Si vous exécutez différentes versions de Idle simultanément (par exemple, l’édition de code pour deux versions python simultanément), toutes les fenêtres sont regroupées sous l’icône de la version qui a démarré en premier:

    entrez la description de l'image ici

  2. Si vous exécutez des applications python , en utilisant tkinter comme interface graphique (ce qui est assez inhabituel de nos jours), les fenêtres secondaires sont généralement définies comme “enfants” de la fenêtre principale à l’aide de wm_transient()

    Dans les applications “non polies” (comme Idle ), cela pourrait ne pas être le cas. Dans ce cas, la fenêtre secondaire (“Toplevel” dans tkinter ) apparaîtra également sous l’icône Idle , Si Idle a été exécuté en premier.

Mais encore une fois, normalement cela n’arrivera probablement jamais, et si c’est le cas, cela ne nuit pas à ce que j’ai décrit.