У меня есть GTK-приложение, которое создает «прозрачные» окна, используя следующий фрагмент кода
GdkScreen* screen = gtk_window_get_screen(window);
GdkVisual* screen_visual = gdk_screen_get_rgba_visual(screen);
gtk_widget_set_visual(GTK_WIDGET(window), screen_visual);
gtk_widget_set_app_paintable(GTK_WIDGET(window), true);
Это прекрасно работает при работе на "обычном" дисплее, и окна правильно расположены друг над другом, однако при запуске на экране Xvfb
, используя что-то вроде Xvfb :0 -nocursor -screen 0 1920x1080x24+32 +extension RANDR +extension XVideo +extension RENDER
, GTK полностью отключает прозрачность и окна оказываются непрозрачными. (оставаясь видимым только в окне верхнего слоя)
Есть ли способ разрешить GTK создавать эту прозрачность на экране без головы?