<div dir="ltr">I'm narrowing down the issue.<div><br></div><div>I discovered that correct WM_CLASS is available in openbox/client.c - client_get_session_ids function. But got = OBT_PROP_GETSS_TYPE(self->window, WM_CLASS, STRING_NO_CC, &ss); returns true with string array filled with NULLs. Going deeper, I've found that g_convert function is failing silently. After adding GError I've got the message: Conversion from character set iso-8859-1 to utf-8 is not supported.</div><div><br></div><div>Now, my buildroot is quite bare. I didn't bother to check gconv libs copy and it was it. After adding missing gconv libraries, my <span style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">_OB_APP_NAME(UTF8_STRING) was populated correctly.<br><br>For Openbox it would be nice to log some warning that conversion failed, now it is just silently ignored.<br><br>If someone else is having a similar issue, add this to your buildroot config:</span></div><div><span style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><div><span style="font-size:12.8px">BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y</span></div><div><span style="font-size:12.8px">BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_LIST="ISO8859-1 UNICODE"</span></div><div style="font-size:12.8px"><div style="font-size:12.8px">BR2_GENERATE_LOCALE="C, C.ISO-8859-1, en_US, en_US.ISO-8859-1"</div></div></span></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><pre style="white-space:pre-wrap;color:rgb(136,136,136)">Yours sincerely,
Jakub Piskorz


Software Engineer
Thaumatec Sp. z o.o.
ul. Mickiewicza 20C, 51-619, Wrocław
Poland
Phone: +48-882-053-705
<a href="mailto:jakub.piskorz@thaumatec.com" style="color:rgb(17,85,204)" target="_blank">jakub.piskorz@thaumatec.com</a>
<a href="http://www.thaumatec.com/" style="color:rgb(17,85,204)" target="_blank">www.thaumatec.com</a></pre></div></div></div></div></div>
<br><div class="gmail_quote">2018-07-11 11:31 GMT+02:00 Jakub Piskorz <span dir="ltr"><<a href="mailto:jakub.piskorz@thaumatec.com" target="_blank">jakub.piskorz@thaumatec.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello,<div><br></div><div>I'm trying to run openbox on a custom buildroot based system. Window manager seems to start fine, I can launch apps like xterm or custom xcb apps. And I can change rc.xml to modify appearance (like contents of the title bar).</div><div><br></div><div>But I'm not able to customize application look because filters are not matched. When I'm checking obxprop, the _OB_APP_* variables are not populated:<br><br><div># DISPLAY=:0 obxprop --id 8388621 </div><div>WM_STATE(WM_STATE) = 1, 0</div><div>_NET_WM_DESKTOP(CARDINAL) = 0</div><div>_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW, _OB_WM_ACTION_UNDECORATE</div><div>_KDE_NET_WM_FRAME_STRUT(<wbr>CARDINAL) = 1, 1, 18, 5</div><div>_NET_FRAME_EXTENTS(CARDINAL) = 1, 1, 18, 5</div><div>_NET_WM_STATE(ATOM) = </div><div>_OB_APP_TYPE(UTF8_STRING) = "normal"</div><div>_OB_APP_TITLE(UTF8_STRING) = "Unnamed Window"</div><div>_OB_APP_GROUP_CLASS(UTF8_<wbr>STRING) = </div><div>_OB_APP_GROUP_NAME(UTF8_<wbr>STRING) = </div><div>_OB_APP_CLASS(UTF8_STRING) = </div><div>_OB_APP_NAME(UTF8_STRING) = </div><div>_OB_APP_ROLE(UTF8_STRING) = </div><div>_NET_WM_VISIBLE_ICON_NAME(<wbr>UTF8_STRING) = "Unnamed Window"</div><div>_NET_WM_VISIBLE_NAME(UTF8_<wbr>STRING) = "Unnamed Window"</div><div>WM_PROTOCOLS(ATOM) = WM_DELETE_WINDOW</div><div>_NET_WM_PID(CARDINAL) = 2524</div><div>WM_CLIENT_LEADER(WINDOW) = 8388621</div><div>WM_LOCALE_NAME(STRING) = "C"</div><div>WM_CLASS(STRING) = "xterm", "XTerm"</div><div>WM_HINTS(WM_HINTS) = 39, 1, 1, 8388626, 0, 0, 0, 8388628, 0</div><div>WM_NORMAL_HINTS(WM_SIZE_HINTS) = 856, 0, 0, 484, 316, 10, 17, 0, 0, 6, 13, 0, 0, 0, 0, 4, 4, 1</div><div>WM_CLIENT_MACHINE(STRING) = "nuc"</div><div>WM_COMMAND(STRING) = "xterm"</div><div>WM_ICON_NAME(STRING) = "xterm"</div><div>WM_NAME(STRING) = "xterm"</div><div><br></div><div>(I do not have mouse there, so I need to run obxprop with --id param).</div><div><br></div><div>Googling that issue yields literally no results, all options are for filtering rc.xml based on valid _OB_APP_NAME...</div><div><br></div><div>I have no idea what is going on so I'll attach all info which may be relevant:</div><br>I'm starting openbox directly from xinitrc, which is triggered by startx command launched by systemd.<br><br>Here is my startx unit file:</div><div><br></div><div><div># cat /etc/systemd/system/multi-<wbr>user.target.wants/x.service </div><div>[Unit]</div><div>After=systemd-user-sessions.<wbr>service</div><div><br></div><div>[Service]</div><div>ExecStart=/bin/startx -- -nolisten tcp -s off -dpms -nocursor vt1</div><div><br></div><div>[Install]</div><div>WantedBy=multi-user.target</div></div><div><br></div><div>System has only root account. Xterm is started through /etc/xdg/openbox/autostart.<br><br>Here is xinitrc:</div><div><br></div><div><div># cat /etc/X11/xinit/xinitrc</div><div>#!/bin/sh</div><div><br></div><div>userresources=$HOME/.<wbr>Xresources</div><div>usermodmap=$HOME/.Xmodmap</div><div>sysresources=/etc/X11/xinit/.<wbr>Xresources</div><div>sysmodmap=/etc/X11/xinit/.<wbr>Xmodmap</div><div><br></div><div># merge in defaults and keymaps</div><div><br></div><div>if [ -f $sysresources ]; then</div><div>    xrdb -merge $sysresources<br></div><div>fi</div><div><br></div><div>if [ -f $sysmodmap ]; then</div><div>    xmodmap $sysmodmap</div><div>fi</div><div><br></div><div>if [ -f "$userresources" ]; then</div><div>    xrdb -merge "$userresources"</div><div>fi</div><div><br></div><div>if [ -f "$usermodmap" ]; then</div><div>    xmodmap "$usermodmap"</div><div>fi</div><div><br></div><div># start some nice programs</div><div><br></div><div>if [ -d /etc/X11/xinit/xinitrc.d ] ; then</div><div> for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do</div><div>  [ -x "$f" ] && . "$f"</div><div> done</div><div> unset f</div><div>fi</div><div><br></div><div>feh --no-fehbg --image-bg black --bg-center /usr/share/ui/logo.png &</div><div>exec openbox-session</div></div><div><br></div><div>Please, I'm pulling my hair off with this, any help will be appreciated.</div></div>
</blockquote></div><br></div>