【问题标题】:window always on top using xlib使用 xlib 的窗口始终位于顶部
【发布时间】:2015-06-22 09:43:27
【问题描述】:

我正在创建一个 gtk2 应用程序,我希望它始终覆盖所有其他应用程序,如果可能的话,我宁愿使用 xlib 来做到这一点

到目前为止,这是我的代码:

#include <gtk/gtk.h>

int main(int argc, char **argv)
{
        gtk_init(&argc, &argv);
        GtkWidget     *mainwin;
        mainwin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
        gtk_widget_show_all (mainwin);
        gtk_main ();
        return 0;
}

我想以最简单的方式做到这一点 谢谢

【问题讨论】:

  • 我认为当窗口的一部分被遮挡时,您可以捕捉到一个事件。当你得到它时,你总是可以把你的窗户放在前面。不是我推荐它,也不是总是有一个前窗,它扰乱了许多人的工作流程。我个人讨厌把自己放在我需要使用的窗口前面的窗口。

标签: c linux xlib gtk2


【解决方案1】:

是的,这是可能的,并不复杂

#include <gtk/gtk.h>

int main(int argc, char **argv)
{
  gtk_init(&argc, &argv);
  GtkWidget     *mainwin;
  mainwin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_keep_above ( (GtkWindow *) mainwin, TRUE);
  gtk_widget_show_all (mainwin);
  gtk_main ();
  return 0;
}

如果窗口管理器是合作的,gtk_window_set_keep_above 会起作用。

【讨论】:

  • 太棒了,简直太棒了,没想到会这么简单
  • 编译该代码:gcc window.c $(pkg-config --cflags --libs gtk+-2.0) -o window(或者也使用 3.0 而不是 2.0)。
猜你喜欢
  • 2011-05-19
  • 1970-01-01
  • 2011-08-23
  • 2018-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多