Xvfb GTK3 透明度
Xvfb GTK3 transparency
我有一个 GTK 应用程序,它使用以下代码片段创建 "transparent" windows
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);
当 运行 在 "regular" 显示器上并且 windows 正确地相互重叠时,这工作得很好,但是当 运行 它在 Xvfb
屏幕,使用类似 Xvfb :0 -nocursor -screen 0 1920x1080x24+32 +extension RANDR +extension XVideo +extension RENDER
的东西,GTK 完全禁用了透明度并且 windows 最终变得不透明。 (结果只有顶层 window 可见)
有没有办法让 GTK 在无头屏幕内创建这种透明度?
对于正在研究同一问题的任何人,我缺少 Xvfb 的 x 复合管理器(例如 xcompmgr)。当 运行 Xvfb 显示时,它按预期工作。
我有一个 GTK 应用程序,它使用以下代码片段创建 "transparent" windows
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);
当 运行 在 "regular" 显示器上并且 windows 正确地相互重叠时,这工作得很好,但是当 运行 它在 Xvfb
屏幕,使用类似 Xvfb :0 -nocursor -screen 0 1920x1080x24+32 +extension RANDR +extension XVideo +extension RENDER
的东西,GTK 完全禁用了透明度并且 windows 最终变得不透明。 (结果只有顶层 window 可见)
有没有办法让 GTK 在无头屏幕内创建这种透明度?
对于正在研究同一问题的任何人,我缺少 Xvfb 的 x 复合管理器(例如 xcompmgr)。当 运行 Xvfb 显示时,它按预期工作。