JWM fails to capture Osmo in systray
EasyOS starts the desktop with Osmo personal organizer running in the systray. However, when testing the latest Easy on my baby laptop, I found that when restart the X server, Osmo often is not captured by the systray and runs as a regular window.
I do recall someone reporting that, but now that I can reproduce it, need to do something.
My Acer baby laptop is incredibly slow, and does show up some issues that I don't see on my other computers. Such as this problem with Osmo. The other tray applets get swallowed OK.
The tray applets are launched via /usr/sbin/delayedrun, which in turn is run from /root/.xinitrc when X has started. I put in an extra "sleep 1" before launching the tray applets, no difference.
The tray applets are launched as separate processes, with a "sleep 0.2" between each launch, and I wondered if they were causing interference that somehow prevented Osmo from getting captured. Hmmm. I could organize the launching order, so that Osmo gets launched last. Currently it is just alphabetical whatever is in /root/Startup.
Instead of changing the launch order so that Osmo launches last, I just put in a delay. Here is /root/Startup/osmo_tray:
#!/bin/sh
#/root/.osmo/config.xml is configured to launch minimized, in systray only.
#20220308 bill reported that if untick "start in systray" in prefs, it starts
# at each boot.
sed -i -e 's%.*enable_systray.*% <enable_systray>1</enable_systray>%' /root/.osmo/config.xml
#20220323 baby laptop, restart x, osmo not captured in systray. sleep fixes it...
sleep 2
exec osmo
..."sleep 1" wasn't enough, "sleep 2" works.
I don't like putting in delays to try and fix things. Anyway, it
works, on my baby laptop.
Tags: easy