Changing wpe-webkit-mir-kiosk url without snap reload

I use kiosk for display status pages when they are requested via network. But when url is changed using:

snap set wpe-webkit-mir-kiosk url=https://www.example.com

it is very slow, becouse kiosk is reloaded when settings changed. It is posible to change url using dbus-cogctl (I dont’t know how it works) or using other method for immediate effect?

Hi @majerm, glad to see this snap in use – I built it :slight_smile: The current stable release is quite slow to start up, in part because that WPE version only worked in snap confinement when used with snapcraft-preload … and the snap could probably be optimized in other ways, too.

The page URL can be changed through the dbus-cogctl interface, that change should be near-instant. I don’t know what your snap ships for dbus commands, but the gdbus command should do the job.

For a quick test:

  1. connect to your device
  2. sudo snap run --shell wpe-webkit-mir-kiosk.browser
  3. Run gdbus call --system --dest com.igalia.Cog --oobject-path /com/igalia/Cog --method org.gtk.Actions.Activate 'open' ['<"https://your-url.tld">'] {}

In the second line, replace your-url.tld with the actual URL you want to open, and please note all the escaping + empty dict at the end – the DBus signature for the open method is (sava{sv}), which is to say string, array of GVariant, dictionary of string-variant pairs. See documentation of GVariant text formats and GVariant Format Strings. I used the spelt-out version for the parameters, you may substitute -d -o -m to have some “what was that parameter again” guessing fun :wink:

You can find a list of implemented commands here: https://github.com/Igalia/cog/blob/7c86ff4391cbe0caf821fcb291f0c2ca94251328/cogctl.c#L256

I’m preparing a new release that should start up a lot faster, it’s currently available on the edge channel for amd64. As soon as I figure out why the armhf build keeps seg-faulting on startup, there’ll be a build for that as well.