Я пытаюсь создать оверлейное окно над другим запущенным приложением. Скажем, firefox. Я реализовал с помощью XcreatewindowПрозрачное окно в родительском доме Xwindow
win = XCreateWindow(display, *firefoxwindow,
50, 300, 400, 400,
0,
visualinfo.depth,
InputOutput,
visualinfo.visual,
CWColormap|CWEventMask|CWBackPixmap|CWBorderPixel,
&attr
) ;
Я искал * firefoxwindow с помощью XQueryTree()
, а затем следую этому коду https://gist.github.com/903479
Результат является прозрачным окном, когда я использую XRoot в качестве родителя , Но, когда я пытаюсь использовать firefoxwindow или другое окно приложения в качестве родителя, он стал optique.
Не могли бы вы направить меня немного больше, я совершенно новичок в этом. – user753758
с композитным расширением (http://www.freedesktop.org/wiki/Software/CompositeExt) вы можете делегировать copmositing во внешнюю программу, которая coud, например, обрабатывает канал aplpha как прозрачность. Очень простой менеджер компоновки: http://cgit.freedesktop.org/xorg/app/xcompmgr/ –
Спасибо, Андрей, еще один вопрос, как вы думаете, можно запустить другое приложение в верхней части другого полноэкранного приложения? – user753758