Держите Python IDLE в лаунчере

Мне бы хотелось, чтобы в моем средстве запуска была иконка для встроенного в Python "Среда разработки" (IDLE). Когда я запустил IDLE через тире, я могу щелкнуть правой кнопкой мыши по значку и выбрать опцию "Lock to Launcher". Однако после нажатия на эту опцию она все еще остается, тогда как ее следует заменить опцией "удалить из панели запуска". Таким образом, по-видимому, это не работает таким образом. Можно ли как-то создать собственный файл, в котором появится значок запуска для IDLE? Команды, которые происходят, когда я запускаю IDLE:

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

так что мне нужно как-то реализовать две команды, связанные с простоями, с помощью скрипта.

Редактировать: когда я печатаю /usr/bin/idle3 в моем терминале другая команда /usr/bin/python3 -c __import__('idlelib.run').run.main(True) выполняется автоматически, поэтому нет необходимости помещать это в какой-то "стартовый" скрипт. Все, что делает стартер - это выполнить /usr/bin/idle,

Перетаскивание значка из черточки прямо на панель запуска ( как предположил Джейкоб) удерживает ее в панели запуска. Однако после нажатия на него появляется другой значок, который отличается от значка стартера и имеет дефект, который я описываю здесь. Может быть, этот вопрос тоже можно решить?

1 ответ

Решение

Самое простое решение

Вот что вы можете сделать (проще, чем вы боялись:)):

  • Open Dash
  • Тип Idle (или Idle3, в зависимости от версии)
  • Перетащите значок из Dash в Unity Launcher:

    Затем щелкните правой кнопкой мыши текст:

    (Что в переводе с голландского означает "Удалить из пусковой установки")

Команда для запуска вхолостую

Чтобы завершить ответ: команда для запуска Idle является:

/usr/bin/idle

или для конкретной версии (версий), например: /usr/bin/idle3, или же: /usr/bin/idle-python3.4

Просто загляните внутрь .desktop файл в /usr/share/applications в строке, начиная с Exec= для правильной команды.

Предотвратить лишнюю иконку в режиме ожидания при запуске

Холостые выдает окна WM_CLASS "Верхний уровень". Чтобы эти окна появлялись под тем же значком, который вы только что установили в th launcher, сделайте следующее:

  • Скопируйте глобальный idle.desktop файл из /usr/share/applications в ~/.local/share/applications,

    cp /usr/share/applications/idle.desktop ~/.local/share/applications
    
  • Откройте файл (перетащите его поверх открытого gedit окно).

  • Добавьте в конец файла строку:
    StartupWMClass=Toplevel
  • Выйдите из системы и вернитесь обратно. С этого момента все Idle окна появятся под одним значком:

Это оно...


РЕДАКТИРОВАТЬ

В результате того, что окна одного WM_CLASS в принципе, отображаются только под одним значком Launcher (за один раз) в Unity, обратите внимание:

Хотя шансов практически нет, группировка Toplevel окна под Idle значок может показывать обратную сторону в редких ситуациях:

  1. Если вы используете разные версии Idle в то же время (например, редактирование кода для двух python версии), все окна сгруппированы под значком первой версии:

  2. Если вы бежите python приложения, использующие tkinter как графический интерфейс (довольно необычный в наши дни), обычно вспомогательные окна устанавливаются как "дочерние" для главного окна с помощью wm_transient()

    В "неполированных" приложениях (например, Idle), это может быть не так. В таких случаях вторичное окно ("Топлевел" окна в tkinter), также будет отображаться под Idle значок, если холостой ход побежал первым.

Но опять же, обычно это, вероятно, никогда не произойдет, и если это произойдет, это не повредит, кроме того, что я описал.

Другие вопросы по тегам