C X服务器、客户端、窗口管理器中的菜单栏

C X服务器、客户端、窗口管理器中的菜单栏,c,x11,xlib,C,X11,Xlib,最近我正在使用X11编写一个简单的窗口管理器,只是为了了解更多!现在我想知道: 如何将菜单栏添加到窗口?(撰写申请书时) 窗口管理器如何检测、管理和显示windows菜单栏 如何将菜单栏添加到窗口 人们应该使用诸如Qt或Gtk之类的X工具包,但原则上,人们可以通过像其他窗口内容一样绘制菜单栏来编造菜单栏。当然,后一种方法会非常繁琐且容易出错,但它(最终)是可行的 窗口管理器如何检测、管理和显示windows菜单栏 他们通常不会。特定的WM可能通过某种应得到WM和客户端支持的非标准协议了解客户端菜

最近我正在使用X11编写一个简单的窗口管理器,只是为了了解更多!现在我想知道:

  • 如何将菜单栏添加到窗口?(撰写申请书时)

  • 窗口管理器如何检测、管理和显示windows菜单栏

  • 如何将菜单栏添加到窗口

    人们应该使用诸如Qt或Gtk之类的X工具包,但原则上,人们可以通过像其他窗口内容一样绘制菜单栏来编造菜单栏。当然,后一种方法会非常繁琐且容易出错,但它(最终)是可行的

    窗口管理器如何检测、管理和显示windows菜单栏

    他们通常不会。特定的WM可能通过某种应得到WM和客户端支持的非标准协议了解客户端菜单栏。中没有与菜单栏相关的API。中有与菜单相关的API,但这些API与可拆卸菜单和弹出菜单有关,而不是菜单栏本身。X工具包已经适当地处理了这些问题,所以应用程序编写人员不应该做任何特殊的事情

    如何将菜单栏添加到窗口

    人们应该使用诸如Qt或Gtk之类的X工具包,但原则上,人们可以通过像其他窗口内容一样绘制菜单栏来编造菜单栏。当然,后一种方法会非常繁琐且容易出错,但它(最终)是可行的

    窗口管理器如何检测、管理和显示windows菜单栏


    他们通常不会。特定的WM可能通过某种应得到WM和客户端支持的非标准协议了解客户端菜单栏。中没有与菜单栏相关的API。中有与菜单相关的API,但这些API与可拆卸菜单和弹出菜单有关,而不是菜单栏本身。X工具包已经适当地处理了这些问题,所以应用程序编写人员不应该做任何特殊的事情。

    你是说WM菜单吗?例如,单击窗口标题栏中的图标时弹出?在低层(x11/xlib)上,没有菜单的概念,只有“窗口”(屏幕上的矩形区域,可以获取输入并用于绘制东西),实际上我说的是每个窗口顶部的菜单栏!文件、编辑、查看……通常这不是WM任务,更高级别的概念在xlib中不存在。首选的方法是使用诸如gtk或qt之类的ui工具包。如果您确信在目标系统上有一个实现菜单的全局服务,那么您可以尝试直接与该服务对话(我以前使用node dbus client:)您是在谈论WM菜单吗?例如,单击窗口标题栏中的图标时弹出?在低层(x11/xlib)上,没有菜单的概念,只有“窗口”(屏幕上的矩形区域,可以获取输入并用于绘制东西),实际上我说的是每个窗口顶部的菜单栏!文件、编辑、查看……通常这不是WM任务,更高级别的概念在xlib中不存在。首选的方法是使用诸如gtk或qt之类的ui工具包。如果您确信在目标系统上有一个实现菜单的全局服务,那么您可以尝试直接与该服务对话(我的旧attemt with node dbus client:)