
私は mupdf-gl を使用しており、 を使用するとxprop
の値が得られませんWM_CLASS
。しかし、 mupdf-x11 を使用すると の値が取得されますWM_CLASS
。
mupdf-gl の xprop の出力:
_NET_WM_DESKTOP(CARDINAL) = 2
_NET_WM_STATE(ATOM) =
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_NET_WM_PID(CARDINAL) = 12656
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_HINTS(WM_HINTS):
Initial state is Normal State.
WM_NORMAL_HINTS(WM_SIZE_HINTS):
user specified size: 1088 by 1668
WM_CLIENT_MACHINE(STRING) = "elariel"
WM_ICON_NAME(STRING) = "EEE Transformer CT.pdf - 1 / 4"
WM_NAME(STRING) = "EEE Transformer CT.pdf - 1 / 4"
mupdf-x11 の xprop の出力:
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_NET_WM_DESKTOP(CARDINAL) = 2
_NET_WM_NAME(UTF8_STRING) = "EEE Transformer CT.pdf - 1/4 (96 dpi)"
WM_LOCALE_NAME(STRING) = "C"
WM_CLIENT_MACHINE(STRING) = "elariel"
WM_ICON_NAME(STRING) = "EEE Transformer CT.pdf - 1/4 (96 dpi)"
WM_NAME(STRING) = "EEE Transformer CT.pdf - 1/4 (96 dpi)"
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW
WM_CLASS(STRING) = "mupdf", "MuPDF"
WM_HINTS(WM_HINTS):
bitmap id # to use for icon: 0x2800091
bitmap id # of mask for icon: 0x2800093
ウィンドウを起動するときに WM_CLASS を割り当てるにはどうすればよいですか?
答え1
上記のコメントのとおり確認しました。プロジェクトのソース コードを見ると、「Platform」の下に複数のフォルダーがあることがわかります。X11 フォルダーには、次のソース コードがあります。
if (classhint)
{
classhint->res_name = "mupdf";
classhint->res_class = "MuPDF";
XSetClassHint(xdpy, xwin, classhint);
XFree(classhint);
}
これは GL プラットフォーム フォルダーに存在しません。そのプラットフォーム用にプロパティを設定する場合は、開発者に機能拡張リクエストを送信する必要があります。
答え2
xprop を使用してプロパティを設定できます。
xprop -name "ma_window" -f WM_TRUC 8s -set WM_TRUC "The_Truc"
xprop -name "ma_window" WM_TRUC
WM_TRUC(STRING) = "The_Truc"