Deactivate xscreensaver or detect call from a script

Hello!

I have set up a Linux PC with an elderly relative, so that I can initiate video calls that are automatically answered by that PC. Nearly everything is Free Software, except for the videochat itself, which is currently Skype. I wanted to replace this with Free Software, and now that Skype gets disabled, I’ll have to… so I’m looking into Linphone, Jami, Matrix…

Jami has auto-answering of calls and that part works great! My main problem is that the screen does not turn automatically on when a call is made. I use xscreensaver for blanking (and a small bash script for really switching it off). My setup is Debian 12 with LXDE, Jami from the dev repos at currently 20250306.1~dfsg1-1. One can reproduce with “xscreensaver-command -activate” and initiating a video call from another client. Do you have an idea?

Alternatively, is there a way I could detect a video call from a bash script? I have no problem running a script every 2 seconds for handling the screensaver. But as the video call is not happening in a separate window, xwininfo does not help. Can one interrogate the jami-daemon?

Thanks for reading!
Viktor.

Answering myself: on the actual target system it looks not bad, as long as the Jami window is in the foreground: screen blanking after the call, and unblanking when the call arrives, does seem to work.

In the meantime I’ve found the very verbose logs, that one could follow if needed, and the calls to inhibit/reestablish the screensaver in the code. Now I’m looking into some other issues, such as that the audio quality seems to be worse when the two nodes are directly connected in a Wireguard VPN network. One would think the opposite. Anyways, this gives me something to build upon. Cheers!

2 Likes