I'm trying to add a mate-screensaver, so that there would be a switch on and off the on-screen keyboard (onboard) right on the window. All the functionality is ready, I use 2 settings of the org.mate.screensaver schemas:
embedded-keyboard-enabled
embedded-keyboard-command "onboard --xid"
When switching the switch, I change the value of embedded-keyboard-enabled to true or false, respectively, but the keyboard appears or disappears only after restarting the mate-sreensaver window. As I understand it, the keyboard is created by an asynchronous process, but how do I hide or show it when I need it?
Of the functions, I use g_settings_set_boolean() to set the key parameter and g_settings_apply() to apply the changes.
I wrote a little script that I load at login which toggles hide and show using my middle mouse button. This works very when I want to hide/show it quickly.
You could copy and past the below script, give it execution permission, and run it at startup. (You may need to install xprintidle.)
Copy and paste below text in your favourite text editor.