为xmessage设置X11“类型”属性

Kyl*_*and 3 x11

是否可以将命令生成的对话框的X11“类型”属性(_NET_WM_WINDOW_TYPE)设置xmessage为“对话”(我认为这是默认值)?

换句话说,我想从命令行创建一个对话框并设置_NET_WM_WINDOW_TYPE属性:

> xmessage "message text" &   # (plus relevant xmessage opts)
[1] 25396                     # (or similar)
> # command to set _NET_WM_WINDOW_TYPE for this window?
Run Code Online (Sandbox Code Playgroud)

n. *_* m. 5

设置窗口类型:

xprop -id <your-window-ID> \
      -f _NET_WM_WINDOW_TYPE 32a \
      -set _NET_WM_WINDOW_TYPE _NET_WM_WINDOW_TYPE_DIALOG
Run Code Online (Sandbox Code Playgroud)

我不知道找出窗口的窗口ID的简便方法xmessage。你可以这样做:

xmessage -xrm <some-dummy-name>:<some-unique-string> <your-other-options>
Run Code Online (Sandbox Code Playgroud)

-xrm是旧的通用X11资源管理选项。xmessage理解它并忽略未知资源,因此您可以传递任何喜欢的信息。

然后,您可以使用xlsclients -l并使用某种Perl脚本来搜索some-unique-string其命令中包含的窗口ID 。