Handle surface activation and focus requests

Carlos Garnacho requested to merge wip/carlosg/gtk-shell-request-focus into master

Do this through the gtk-shell protocol so far, a v3 added the relevant methods:

  • gtk_shell1.notify_launch, to be called on the launcher side providing an unique startup ID
  • gtk_surface1.request_focus to be called on the launchee side providing the given startup ID

If there is a matching startup ID, no user interaction happened in between, etc... the related surface will get focused, otherwise just the demands-attention flag will be set.

Merge request reports