Add "upcoming-events" plugin

Guido Günther requested to merge guidog/phosh:upcoming-events-plugin into main

The lockscreen is used a lot on mobile to carry important information. Since there are on and off discussions (#145 (closed), #584 (closed), #756, #556, #678) what should go there I figured I make this easier to explore by allowing to add widgets to the lock screen for experimentation.

For the moment we add (not yet easily discoverable) page to the dock that can be swiped in and out and gets all the plugins. I've kept the plugins in this repo for the moment but we likely want to move these to a separate one since that's the whole point.

Plugins are enabled via a gsetting and we enable upcoming-events by default since that functionality is the one that triggered this.


  • Lock screen

    • space distribution with multiple plugins (we could also do one deck page per plugin)
    • Deck navigation: don't allow to swipe to calls page)
  • Plugins:

    • ease testing plugins from working tree
    • (maybe) move plugins to separate repo (let's keep them in tree for the moment)
  • upcoming-events plugin:

    • update "today" on tz change
    • handle 'client-disappeared'
    • split out DBus service


@snwh i'd be great if you could help styling the plugin a bit. You can run it locally standalone via:

meson -Dtools=true -Dtests=true _build-tools/
ninja -C _build-tools
_build-tools/tools/run_tool _build-tools/tools/widget-box

Note that this is unfinished code mostly here to spark the discussion on the design side (@snwh @bertob) how we can integrate such things to make lock screen contents more flexible.

Weather is another one that comes ever so often and if somebody wants to give it a go that would be great.

Closes: #584 (closed)

Edited by Guido Günther

Merge request reports