Skip to content
  • Méven Car's avatar
    Refactor Spectacle to run in single instance mode with KDBusService::Unique · dec0e6ce
    Méven Car authored
    Summary:
    Since Spectacle got DBus activation support in 09cd1188, it has been run in multiple instance mode.
    But it has been shaddowed by using qbus ee862d16 in the desktop file to mimic singleton behavior.
    
    This refactors Spectacle to run in true single instance mode using KDBusService::Unique.
    This is to allow Spectacle to have its executable in its Exec desktop Entry, to allow KWin to match the executable to the service file, itself to allow screenshots under Wayland without intermediate click.
    
    The listed bugs are fixed incidently except for 414739 where a simple fix was added in screenShotUpdated.
    
    BUG: 420477
    BUG: 414739
    
    CCBUG: 412186
    
    Test Plan:
    Start spectacle, alternatively, from shortcut, command line.
    Take screenshots, from alternative ways.
    
    There is always at most one Spectacle window unless launched with `--new-instance`.
    
    Reviewers: davidre, ngraham, bport, davidedmundson, apol
    
    Reviewed By: davidre
    
    Subscribers: broulik, anthonyfieroni, #spectacle
    
    Tags: #spectacle
    
    Differential Revision: https://phabricator.kde.org/D29487
    dec0e6ce