当前位置: 首页 > 面试题库 >

Linux上的无边界窗口

鲜于岳
2023-03-14
问题内容

他们是否是使特定窗口在Linux上无边界的标准方法?我相信窗口边框是由您的窗口管理器绘制的,所以可能我只需要使用一个特定的窗口管理器(可以找到,我只需要知道哪个窗口管理器即可)…我希望是所有的窗口管理器都可能遵循一些标准,使我能够以编程方式执行此操作…


问题答案:

使用Xlib和old _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提示是首选,但据我所知,所有现代的窗口管理器还支持这一点。



 类似资料:
  • 最近,我(主要出于好奇)制作了一个无边界表单。在制作了我自己的标题栏后,它包括标题和三个按钮(最小化、最大化和关闭),就像每个普通的Windows程序一样。我还为这些按钮编写了代码(只要问一下你是否想看到代码)。 但是,我注意到没有动画。我的意思是,例如,如果我单击最小化按钮,没有动画,程序立即消失(它不关闭,按钮工作,但没有动画)。这种情况在所有情况下都会发生:当我打开程序时,它会立即出现,当我

  • 我正在用JavaFX和场景构建器编程一个音乐播放器。我的问题是,如果我调整我的程序的窗口大小,UI不会随之增长。如何使UI具有响应性? 在我加了SplashScreen之前,它工作得很好。从那时起,我试图让它工作,但我不能找到任何解决方案在网上! 请帮帮我,提前谢谢! FXML: 飞溅FXML:

  • 问题内容: 两种方法中的哪一种符合W3C标准?它们在浏览器中的表现均符合预期吗? 边界:无; 边界:0; 问题答案: 两者均有效。 这是你的选择。 我喜欢,因为它更短。我觉得这更容易阅读。您可能会发现更清晰。我们生活在功能强大的CSS后处理器世界中,因此我建议您使用您喜欢的任何东西,然后通过“压缩机”运行它。这里没有值得战斗的圣战。 综上所述,如果您要手写所有的生产CSS,尽管评论中有些抱怨,但我

  • 问题内容: 关于如何创建事件绑定的任何建议,例如,允许用户用鼠标拖动无边界的窗口。用?创建的窗口 用例:我们想创建一个浮动的工具栏/调色板窗口(无边框),供用户在桌面上拖动。 这就是我的想法(伪代码): 捕获鼠标的初始位置。 跟踪鼠标一旦开始移动的位置。 计算多少鼠标在移动和计算,位置。 使用到移动窗口。 Tkinter是否提供足够的功能以允许我执行手头的任务?还是有更容易/更高层次的方法来实现我

  • 问题内容: 我有以下CSS: 添加边框半径:5px似乎没有任何作用,我认为这是因为我使用的是边框渐变,我是否有办法完全实现所需的5px边框半径? 问题答案: You cannot use with gradient. Here is another idea where you can rely on multiple background and adjust the : 如果需要透明性,可以考

  • 问题内容: 在Java中,是否可以获得不含标题和其他边框的JFrame的宽度和高度? frame.getWidth()和frame.getHeight()1似乎返回包括边框在内的宽度。 谢谢。 问题答案: