i3 WM(平铺管理器)创建弹出窗口 window

i3 WM (tiling manager) create popup window

当我制作 pygame window(我相信它使用 SDL)时,它会按我的意愿作为弹出窗口 window 启动,从那以后它不会影响元素的布局或可见性。但是如果我使用 GTK 和 Cairo 启动一个简单的程序,它不会作为弹出窗口启动。是否需要使用某些特定的环境标志、信号等来启动 window 作为弹出窗口而不是平铺 window?

pygame hello world code

cairo+gtk code, GTK Window section, past mid point of page

要在 GTK 中执行此操作,您需要调用

gtk_window_set_type_hint((GtkWindow*)windowname, GDK_WINDOW_TYPE_HINT_DIALOG);

https://developer.gnome.org/gtk3/stable/GtkWindow.html#gtk-window-set-type-hint

i3 会接受 window 提示,如果 window 告诉 i3 它是一个对话框 window,它会让它自动浮动。

使用xprop获取WM_CLASS class或window的实例,并为window设置floating enable

例如我的 i3 配置中有这个

for_window [instance="Game of Life"] floating enable