LINUX.ORG.RU

GUI не стандартная задача

 ,


0

1

Вопрос 1:

Как рисовать линии поверх всех окон в линукс. Помню когда-то давно, во времена Beryl можно было нажать хоткей и мышкой рисовать поверх экрана. Как сейчас такое делается?

Вопрос 2:

Если создать окно GTK (или другого фреймворка) с текстовым полем ввода и введенный в это окно текст копировался в окно, которое находится за этим окном. На картинке это выглядит так: http://i63.tinypic.com/2ajz6fl.png

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

Возможно вообще такое?

Возможно вообще такое?

Да пусть они хоть через файл обмениваются, хоть через пайп, хоть через DBUS, в чём проблема-то.

Aceler ★★★★★
()

1. В wayland на уровне композитора должно быть реализовано, в иксах хз. 2. В wayland тоже в композиторе должна быть реализована поддержка. В иксах итак любой клиент может перехватить ввод.

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

в иксах хз

Создается окно без бордюров и прочего, нужного размера, положим на весь экран, прозрачное, не только визуально, но и в контексте перехвата ввода. Рисуй что хочешь «поверх» лежащего внизу другого окна.

deep-purple ★★★★★
()
Ответ на: комментарий от Aceler

Да пусть они хоть через файл обмениваются, хоть через пайп, хоть через DBUS, в чём проблема-то.

А как? В приложение, которое находится за окном не подразумевается вносить какие-либо изменения в код. Т.е. это может быть любое приложение, хоть браузер.

buggycoder
() автор топика
Ответ на: комментарий от deep-purple

Создается окно без бордюров и прочего, нужного размера, положим на весь экран, прозрачное, не только визуально, но и в контексте перехвата ввода.

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

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

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

Это ты вовремя заметил.

Aceler ★★★★★
()
Ответ на: комментарий от deep-purple

А что за опция в gtk(или в чем угодно) чтобы «не только визуально, но и в контексте перехвата ввода». И иожно ли модифицировать ввод на лету? Чтобы введеный текст в вышестоящем окне прилетал в нижестоящие, напимер с подписью. Типа в верхнем пишем «привет» в нижнем дописывается «првет, мир»

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

И? Если бы ты их оба писал, они всё равно не были бы связаны.

Согласен, тогда задачу подкорректирую - одно из окон просто стандартное, тот же браузер, в которое никакие изменения не вносятся. Т.е. DBUS отпадает

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

что за опция

Всё сложнее чем ты думаешь. В иксах, в цикле, ивенты ввода надо толи отбрыкивать толи пересылать «ниже», я не помню. А дают ли доступ к этому более высокоуровневые либы — я хз. Ну копни в сторону «splashscreen».

deep-purple ★★★★★
()

В х11 создаешь окно без декораций на весь экран с _NET_WM_STATE_ABOVE и рисуешь в нем че хошь. Не будет работать у пользовательей без композитинга.

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

DE все перерисовывает

Злое DE скрывает твое окно?

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