LINUX.ORG.RU

WINE и док

 , ,


0

2

Имеется KDE с плазмоидом icontasks вместо дока. Т.к. у всех окон программ, запущенных под вайном, установлен класс окна «Wine», icontasks их все группирует в одну кнопку.

Хочу, чтобы он вёл себя несколько умнее и распознавал разные вайновские приложения и делал для них отдельные кнопки (в лучшем случае) или делал для каждого окна с классом Wine отдельную кнопку (и то лучше, чем ничего).

Существует ли какое-нибудь быстрое решение?

Я видел, ЕМНИП, в bamfdaemon, что для вайна нужны отдельные костыли для распознавания приложений, т.к. класс окон у них одинаковый. Судя по поведению icontasks, их нет в libtaskmanager. Существует ли другое решение, кроме допиливания libtaskmanager? Может, что-то можно сделать с помощью kwin (поменять класс окна?)?

Ответ на: комментарий от Pavval

К чему костыли? Просто допили libtaskmanager!

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

Сейчас заглянул снова в исходники bamfdaemon, оказалось, что я перепутал и там нет костыля для wine, есть для libreoffice и openoffice (для них проверяется и класс, и заголовок окна). Как определить desktop-файл приложения по его открытому окну другим способом, не обращаясь к классу окна, я не знаю, поэтому допилить libtaskmanager не могу. Тут даже wine не знает, каким desktop-файлом его запустили, иначе он сам установил бы класс нормально.

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от gentoo_root

Блин, я точно в кедах где-то видел такой гуй для списка костылей (именно соответствие ланчера и окна). Поищи, был же.

Pavval ★★★★★
()
Ответ на: комментарий от Pavval

Блин, я точно в кедах где-то видел такой гуй для списка костылей (именно соответствие ланчера и окна). Поищи, был же.

Нашёл только тот, что в настройках icontasks, но он криво работает. Оказалось, что всё-таки можно отличать вайновские программы друг от друга по классу, потому что в первую строку записывается имя исполняемого, а во вторую — «Wine». Но получить имя desktop-файла не получится, его надо прописывать руками, но если это сделать для icontasks, то при открытии двух вайновских программ одновременно они всё равно группируются в одну кнопку, потому что вторая строка класса совпадает и равна Wine.

Решением будет добавление костыля в libtaskmanager или icontasks, который будет смотреть, является ли вторая строка «Wine», и в таком случае будет считать приложения разными, если отличается первая строка (сейчас он считает окна принадлежащими одному приложению, если хотя бы вторая строка класса совпадает). Но это уже как-нибудь потом, потому что сейчас я занят допиливанием драйверов в ядре.

gentoo_root ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.