【发布时间】:2015-09-30 10:44:49
【问题描述】:
大家下午好!我一直在做一个需要没有标题栏的基本窗口的项目。在网上浏览了一下之后,我看到了这篇帖子create window without titlebar,回复中提到了“_NET_WM_WINDOW_TYPE_DOCK”原子的使用。我尝试使用以下代码在我的项目中创建一个:
Display* d = fl_display;
XWindow w = XCreateSimpleWindow(d, RootWindow(d, fl_screen),
0, 0,
400, 100,
0,
0x000000, 0x000000);
Atom window_type = XInternAtom(d, "_NET_WM_WINDOW_TYPE", False);
long value = XInternAtom(d, "_NET_WM_WINDOW_TYPE_DOCK", False);
XChangeProperty(d, w, window_type, XA_ATOM, 32, PropModeReplace, (uchar*) &value, 1);
窗口确实显示了,但它仍然有一个标题栏。我在网上找到了其他几个资源,但我无法停止显示标题栏。我确实意识到引用的帖子正在使用 XCreateWindow,但原子也不应该在 XCreateSimpleWindow 上工作。任何帮助将不胜感激!
谢谢
【问题讨论】:
-
还有老的
_MOTIF_WM_HINTS。你用的是哪个窗口管理器? -
该项目实际上是 WM :) 我正在尝试构建一个 alt-tab 窗口来显示正在运行的窗口。我认为 DOCK 会更适合这项任务,对吧?
-
那么...您正在窗口上绘制标题栏?修改您的 WM,使其尊重
_NET_WM_WINDOW_TYPE提示而不绘制该标题栏? :) -
对不起 Leiaz,我今天一定工作太多了。我现在明白了,谢谢! :)