¿Cómo asigno WM_CLASS al iniciar una aplicación?

¿Cómo asigno WM_CLASS al iniciar una aplicación?

Estoy usando mupdf-gl y xpropno obtengo el valor de WM_CLASS. Pero si uso mupdf-x11, obtengo un valor para WM_CLASS.

La salida de xprop para mupdf-gl:

_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"

La salida de xprop para mupdf-x11:

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

¿Cómo asigno WM_CLASS a una ventana al iniciarla?

Respuesta1

Confirmado según mi comentario anterior. Al mirar el código fuente del proyecto, puede ver varias carpetas en "Plataforma". En la carpeta X11, puede encontrar el código fuente de la siguiente manera:

if (classhint)
{
    classhint->res_name = "mupdf";
    classhint->res_class = "MuPDF";
    XSetClassHint(xdpy, xwin, classhint);
    XFree(classhint);
}

Esto no existe en la carpeta de la plataforma GL. Si desea que la propiedad esté configurada para esa plataforma, deberá enviar una solicitud de mejora a los desarrolladores.

Respuesta2

Puede establecer la propiedad con 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"

información relacionada