Linux上的无边界窗口

他们是一个标准的方式来使一个特定的窗口无边界在Linux上? 我相信窗口边框是由窗口pipe理器绘制的,所以可能只是需要使用特定的窗口pipe理器(这样会发现,我只需要知道哪一个)…我希望是所有的窗口pipe理者可能会遵循一些标准,使我可以通过编程来实现这一点…

Solutions Collecting From Web of "Linux上的无边界窗口"

使用Xlib和旧的_MOTIF_WM_HINTS

 struct MwmHints { unsigned long flags; unsigned long functions; unsigned long decorations; long input_mode; unsigned long status; }; enum { MWM_HINTS_FUNCTIONS = (1L << 0), MWM_HINTS_DECORATIONS = (1L << 1), MWM_FUNC_ALL = (1L << 0), MWM_FUNC_RESIZE = (1L << 1), MWM_FUNC_MOVE = (1L << 2), MWM_FUNC_MINIMIZE = (1L << 3), MWM_FUNC_MAXIMIZE = (1L << 4), MWM_FUNC_CLOSE = (1L << 5) }; Atom mwmHintsProperty = XInternAtom(display, "_MOTIF_WM_HINTS", 0); struct MwmHints hints; hints.flags = MWM_HINTS_DECORATIONS; hints.decorations = 0; XChangeProperty(display, window, mwmHintsProperty, mwmHintsProperty, 32, PropModeReplace, (unsigned char *)&hints, 5); 

这些天NetWM / EWMH提示是首选,但据我所知,所有的现代窗口经理仍然支持这一点。

使用GTK +,你可以调用gtk_window_set_decorated()

在向Compiz“窗口规则” 哀悼后,我发现了devilspie

一个完全疯狂的计划,怪胎和怪人谁想要精确控制什么时候出现窗户。 如果你想要所有的XChat窗口在桌面上3,在左下角,透明度为40%,你可以做到这一点。

我使用它在我的桌面上有一个无边界,粘性,任务跳过的终端。

还有一个devilspie 2使用Lua而不是s表达式和声称更好地维护。

https://live.gnome.org/DevilsPie http://www.burtonini.com/blog/computers/devilspie