site  contact  subhomenews

JWM fails to capture Osmo in systray

March 23, 2022 — BarryK

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