linux - Linux 上的无边框窗口

标签 linux window xlib borderless

它们是在 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 hints是首选,但据我所知,所有现代窗口管理器仍然支持这一点。

关于linux - Linux 上的无边框窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1904445/

相关文章:

Linux - 查找不包含某些字符的文件

c# - 在 C# 中获取事件窗口坐标和高度宽度

c - 为什么 egl 像素图表面适用于 opengl es 而不适用于 opengl?

linux - 使用 bash 脚本注释掉文件中的行

linux - PHP 服务器上的 Solr 安装问题(对于 Drupal)

python - 将滚动相机放在 pygame 的迷你窗口中

c# - 在 WPF 面板中托管外部应用程序

x11 - XLib 锁定鼠标位置(鼠标环绕)

清除带有桌面背景像素的 X11 窗口,并在其上放置带有透明像素的 XImage?

linux - 从 cron 到事件 X 窗口的 xmessage