以下代碼會生成一個GTK3窗口,該窗口可避免任務欄和尋呼機並設置類型提示GDK_WINDOW_TYPE_HINT_DESKTOP。單擊桌面使GTK3窗口消失
執行代碼時,單擊我的桌面使窗口消失。刪除類型提示可解決問題,但隨後「顯示桌面」操作也會使窗口永久消失。
這是GTK3的預期行爲嗎?如果是的話,我怎樣才能獲得一個永久窗口,避免任務欄和尋呼機,並不會消失在「顯示桌面」或點擊桌面?
#include <gtk/gtk.h>
static void activate(GtkApplication *app) {
GtkWidget *window=gtk_application_window_new(app);
gtk_window_set_skip_taskbar_hint(GTK_WINDOW(window),1);
gtk_window_set_skip_pager_hint(GTK_WINDOW(window),1);
gtk_window_set_type_hint(GTK_WINDOW(window),GDK_WINDOW_TYPE_HINT_DESKTOP);
gtk_widget_show_all(window);
}
int main(int argc, char** argv) {
GtkApplication *app=gtk_application_new(NULL,G_APPLICATION_FLAGS_NONE);
g_signal_connect(app,"activate",G_CALLBACK(activate),NULL);
int status=g_application_run(G_APPLICATION(app),argc,argv);
g_object_unref(app);
return status;
}
沒有人按照要求在問題中工作 –