题
时他们做出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
不隶属于 StackOverflow