Значки витрины (отключают значки средства запуска) в новом KDE Plasma (16.04) диспетчер задач

У меня есть проблема, которая раздражает меня до неузнаваемости

У меня есть рабочий процесс, в котором несколько окон той же программы контролируются сценарием, и согласно состоянию программы значок X-окна обновляется для отражения необходимого действия (set-icon $WINID state.png). Некоторое время это работало вполне хорошо, однако недавно я обновил свое поле к Kubuntu 16.04 - и это было худшей идеей КОГДА-ЛИБО.

Выглядит, что флаг "Use launcher icons" диспетчера задач был удален, и это не длиннее опция отключить это - Плазменные силы, использующие значки средства запуска (всегда).

Кроме того, эта опция, кажется, удалена полностью из файлов конфигурации также.

Мой вопрос - действительно ли возможно восстановить эту функциональность? Восстановить более старую версию диспетчера задач?

Или есть ли какой-либо другой способ изменить (сценарием) значки кнопок на панели задач?

Я попытался отключить plasmashell полностью и использовать некоторую другую панель (fbpanel, lxpanel, и т.д.), но они представляют больше путаницы в KDE, чем справка с проблемой

2
задан 12 October 2016 в 01:12

1 ответ

Yupi! Существует решение

, Роющее в странное поведение, замеченное в комментарии (значок окна, показываемый для Диспетчера задач Chrome), я протестировал свойства обычного окна окно Chrome и Tm. Выглядит, что ТМ испытывает недостаток в свойстве WM_CLASS. Таким образом просто видеть значок окна на панели задач, делающей или

xprop -id $WIN_HEX_ID -remove WM_CLASS

или:

xprop -id $WIN_HEX_ID -format WM_CLASS 8s -set WM_CLASS "my-own-class"

был бы достаточно. Но...

Это создает другую проблему - очень часто WM_CLASS, используется менеджерами окон, или другие программы к хорошо - управляют окнами и их относительным поведением. Так выбрасывание этой драгоценной информации очень контрпродуктивно. Unfortunatelly, как замечено в:

и восстановление полного WM_CLASS свойство прямо сейчас не возможно с xprop

, Проверяющим некоторые возможные варианты, я смог сделать это с модулем python-xlib:

from Xlib.display import X, Display
from Xlib.Xatom import STRING

display = Display()
root = display.screen().root

win_hex_id = 0x6a00001 #in my case
win = display.create_resource_object('window', win_hex_id)
saved_prop = win.get_full_property(display.intern_atom('WM_CLASS'),
                       X.AnyPropertyType , 128).value

#to change:
win.change_property(display.intern_atom('WM_CLASS'), 
                    STRING, 8, 'my-own-class')

#to go back:
win.change_property(display.intern_atom('WM_CLASS'), 
                    STRING, 8, str(saved_prop) )

Как комментарий - странное поведение или KDE или pyhon-xlib состоит в том, что фактическое изменение значка происходит на другом действии свойства (чтение/запись) - настолько добавляющий:

win.get_full_property(display.intern_atom('WM_CLASS'), X.AnyPropertyType , 128).value

не причинит боль

1
ответ дан 2 December 2019 в 04:53

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

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