LINUX.ORG.RU

KWin, qdbus и setFocus

 , ,


0

1

Пытаюсь через qdbus сделать окно активным (т.е. поверх всех окон). Нашёл в MainWindow метод org.qtproject.Qt.QWidget.setFocus(), вот здесь глянул пример как его использовать:

qdbus `qdbus | grep konsole` /konsole/MainWindow_1 setFocus
Пробую сделать то же самое - и тишина... Ничего не происходит, никаких сообщений об ошибках.

На kde.org проблема когда-то уже всплывала, на что местные разрабы ответили «ну и куй с ним», так и не объяснив ничего по существу. Но у хабраюзера по первой ссылке, судя по всему, всё же работало...

Кто-нибудь подскажет в чём дело, или хотя бы куда копать дальше?

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

В том, что это разные вещи. Если под «Активным» ты подразумеваешь «в фокусе ввода», а не что-то глубоко личное. Так вот окно «Поверх всех» вполне может оказаться не в фокусе.

// Пример - какая-нибудь виртуальная клавиатура, которая болтается выше всех, но фокуса не получает вообще

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

Стало быть, мне нужно и то, и другое. Т.е. событие, аналогичное нажатию левой кнопкой мыши по заголовку. Возможно,setFocus() переключает фокус, но не заставляет окно «всплыть» поверх других. Значит, под это нужно отыскать отдельный метод в qdbus

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