Пользовательский значок запуска открывает второй общий значок

Я написал скрипт на python, чтобы сделать громкость громче с помощью pactl. Я сделал файл .desktop

[Desktop Entry]
Type=Application
Terminal=false
Name=Super Volume
Icon=/home/tyler/SuperVolume/icon.ico
Exec=/home/tyler/SuperVolume/SuperVolume.py

Все было хорошо

Launcher item with icon , но потом я заметил, что это не добавление белой стрелки к моей иконке, а открытие общей иконки и положив стрелку на это

The dreaded generic icon

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

7
задан 19 April 2017 в 00:06

1 ответ

Об окнах Tkinter

Окно в вашем изображении является окном Tkinter . Окна Tkinter по умолчанию не соответствуют значку средства запуска , если только вы специально не настроили средство запуска (файл .desktop) в соответствии с WM_CLASS окна. Далее объясняется, как это сделать.

однако

Если вы не определите конкретный WM_CLASS в своем коде python / Tkinter, все окна Tkinter имеют то же самое WM_CLASS. Вы можете видеть, что если вы запустите

xprop WM_CLASS

в терминале, нажмите Return , а затем щелкните в окне Tkinter. Это покажет:

WM_CLASS(STRING) = "tk", "Tk"

Это означает, что если у вас есть несколько приложений Tkinter, все они будут отображаться под одним значком в панели запуска. Это будет универсальный , если вы не отредактируете свой .desktop файл.

Как установить отличительный WM_CLASS в python / Tkinter

Вы можете определить WM_CLASS, установив его следующим образом:

#!/usr/bin/env python3
from tkinter import *

# set the WM_CLASS
win = Tk(className="applicationname")
# set the window title
win.wm_title("Test 123")
win.mainloop()

enter image description here

Добавьте WM_CLASS в ваш файл .desktop

Добавьте следующую строку в ваш файл .desktop:

StartupWMClass=applicationname

где applicationname - имя Вы устанавливаете в коде python / Tkinter.

0
ответ дан 19 April 2017 в 00:06

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

Похожие вопросы: