Re: DBus service for screenshots.

Boudhayan Gupta <[email protected]>
Newsgroups gmane.linux.xdg.devel,gmane.comp.kde.devel.general,gmane.comp.freedesktop.dbus
Message-ID <CAKDS=NnnN_VvHvdSdz2hyZ2xqYt=j8vxeyh9LFUYkLud+SbSvg@mail.gmail.com>
Hi,

I'm moving this discussion over to the xdg mailing list, as per
suggestions from the dbus list.

On 25 September 2015 at 04:24, Emmanuele Bassi <[email protected]> wrote:
> Hi;
>
> On 24 September 2015 at 23:25, Boudhayan Gupta <[email protected]> wrote:
>> Hi,
>>
>> In December we'll be releasing a new screenshot app for KDE. We've
>> implemented a generic DBus interface for this app, and I'm posting
>> this to the dbus mailing list as others may be interested in this idea
>> and may want to implement it in their own desktop environments.
>>
>> The service we've implemented is called org.freedesktop.Screenshot
>> (we're using the freedesktop namespace because we truly want the
>> service to be DE or platform agnostic).
>
> Commendable spirit, but that's not how it works — we've been bitten by
> this in the past already. Please, use org.kde.* for your DBus
> interfaces, and *then* propose a org.freedesktop.* interface up for
> discussion. Otherwise you'll have to start versioning your own methods
> because any shared interface will likely not map to what you expose
> right now.

I'm going to move this over to the org.kde.* namespace for now until
we can all agree on something for a freedesktop API.

We haven't had any releases yet, so thankfully no damage was done.

>
> Implementing multiple interfaces is easy; breaking them because you
> proposed them for discussion *after* release is going to be painful
> for everybody.
>
>> The XML definition of the
>> interface is available here:
>> https://raw.githubusercontent.com/KDE/spectacle/master/dbus/org.freedesktop.Screenshot.xml
>>
>> You'll notice that we define 4 different types of screenshots that can
>> be taken, and a StartAgent method. The StartAgent method should just
>> start the application GUI, the other 4 methods should take the
>> appropriate shot, save the image in a default location, and quit.
>
> StartAgent would show the UI? Why? That can be done with a simple hot
> key, or via DBus activation of a service, instead of asking a service
> to spawn another service. For instance, if I want to show a dialog to
> save the screenshot I just took, the gnome-screenshot tool is what I
> will launch. There's another consideration that applies to Wayland:
> applications like GIMP (or Krita) may ask the compositor to take a
> screenshot; this means that the UI is already running, and it most
> definitely is not something that should be spawned by the compositor
> itself in reply to a DBus method call. If you want to keep the
> StartAgent method then it's probably good to ensure in the
> documentation that the method is not mandatory.

The use-case for StartAgent is simple - what if a supervisor (such as
the compositor on Wayland) is providing the service, but a separate
application (agent) provides manipulation, editing, saving etc.
functionality?

> The API is also missing the ability to take a screenshot of an area.
> For reference, this is the DBus interface that GNOME Shell provides:
> https://git.gnome.org/browse/gnome-shell/tree/data/org.gnome.Shell.Screenshot.xml

KWin also provides its own D-Bus interface (org.kde.kwin.Screenshot -
an XML definition is unavailable), which is tailored to a compositor's
use-case, is similar to the Gnome Shell interface, and does provide a
method to capture regions.

> GNOME Shell also has an equivalent screencast API, which may be
> interesting to standardise alongside the screenshot one.

I agree, it would be interesting and perhaps quite beneficial if we
can standardise a screenshot (and perhaps also a screencast) interface
at the compositor level over D-Bus that we can all use. Let's have
some more discussions and throw ideas around in the xdg list?

-- Boudhayan
_______________________________________________
xdg mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/xdg
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.