Warning, /plasma/kwin/src/plugins/screenshot/org.kde.KWin.ScreenShot2.xml is written in an unsupported language. File is not indexed.

0001 <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
0002 "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
0003 <!--
0004     SPDX-FileCopyrightText: 2021 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007 -->
0008 <node name="/org/kde/KWin/ScreenShot2">
0009     <!--
0010         org.kde.KWin.ScreenShot2:
0011         @short_description: Screen shot interface
0012 
0013         This interface provides a way to request a screenshot of a rectangular area,
0014         a screen, or a window.
0015     -->
0016     <interface name="org.kde.KWin.ScreenShot2">
0017         <!--
0018             Version:
0019 
0020             API version.
0021         -->
0022         <property name="Version" type="u" access="read"/>
0023 
0024         <!--
0025             CaptureWindow:
0026             @handle: The unique handle that identified the window
0027             @options: Optional vardict with screenshot options
0028             @pipe: The pipe file descriptor where the screenshot will be written
0029 
0030             Take a screenshot of the specified window. The application that
0031             requests the screenshot must have the org.kde.KWin.ScreenShot2
0032             interface listed in the X-KDE-DBUS-Restricted-Interfaces desktop
0033             file entry.
0034 
0035             Available @options include:
0036 
0037             * "include-cursor" (b): Whether the cursor should be included.
0038                                     Defaults to false
0039             * "include-decoration" (b): Whether the decoration should be included.
0040                                         Defaults to false
0041             * "include-shadow" (b): Whether the shadow should be included.
0042                                     Defaults to true
0043             * "native-resolution" (b): Whether the screenshot should be in
0044                                        native size. Defaults to false
0045 
0046             The following results get returned via the @results vardict:
0047 
0048             * "type" (s): The type of the image written to the pipe. Currently,
0049                           the only supported type is "raw"
0050             * "width" (u): The width of the image. Available only if the image
0051                            type is "raw"
0052             * "height" (u): The height of the image. Available only if the image
0053                             type is "raw"
0054             * "stride" (u): The number of bytes per row. Available only if the
0055                             image type is "raw"
0056             * "format" (u): The image format, as defined in QImage::Format.
0057                             Available only if the image type is "raw"
0058             * "windowId" (s): The window id of the captured window. Available
0059                               since version 4.
0060             * "scale" (d): The ratio between the native size and the logical
0061                            size of the contents, corresponds to QImage::devicePixelRatio().
0062                            Available since version 4.
0063         -->
0064         <method name="CaptureWindow">
0065             <arg name="handle" type="s" direction="in" />
0066             <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap" />
0067             <arg name="options" type="a{sv}" direction="in" />
0068             <arg name="pipe" type="h" direction="in" />
0069             <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMap" />
0070             <arg name="results" type="a{sv}" direction="out" />
0071         </method>
0072 
0073         <!--
0074             CaptureActiveWindow:
0075             @options: Optional vardict with screenshot options
0076             @pipe: The pipe file descriptor where the screenshot will be written
0077 
0078             Take a screenshot of the active window. The application that
0079             requests the screenshot must have the org.kde.KWin.ScreenShot2
0080             interface listed in the X-KDE-DBUS-Restricted-Interfaces desktop
0081             file entry.
0082 
0083             Supported since version 2.
0084 
0085             Available @options include:
0086 
0087             * "include-cursor" (b): Whether the cursor should be included.
0088                                     Defaults to false
0089             * "include-decoration" (b): Whether the decoration should be included.
0090                                         Defaults to false
0091             * "include-shadow" (b): Whether the shadow should be included.
0092                                     Defaults to true
0093             * "native-resolution" (b): Whether the screenshot should be in
0094                                        native size. Defaults to false
0095 
0096             The following results get returned via the @results vardict:
0097 
0098             * "type" (s): The type of the image written to the pipe. Currently,
0099                           the only supported type is "raw"
0100             * "width" (u): The width of the image. Available only if the image
0101                            type is "raw"
0102             * "height" (u): The height of the image. Available only if the image
0103                             type is "raw"
0104             * "stride" (u): The number of bytes per row. Available only if the
0105                             image type is "raw"
0106             * "format" (u): The image format, as defined in QImage::Format.
0107                             Available only if the image type is "raw"
0108             * "windowId" (s): The window id of the captured window. Available
0109                               since version 4.
0110             * "scale" (d): The ratio between the native size and the logical
0111                            size of the contents, corresponds to QImage::devicePixelRatio().
0112                            Available since version 4.
0113         -->
0114         <method name="CaptureActiveWindow">
0115             <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap" />
0116             <arg name="options" type="a{sv}" direction="in" />
0117             <arg name="pipe" type="h" direction="in" />
0118             <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMap" />
0119             <arg name="results" type="a{sv}" direction="out" />
0120         </method>
0121 
0122         <!--
0123             CaptureArea:
0124             @x: The x coordinate of the upper left corner of the area
0125             @y: The y coordinate of the upper left corner of the area
0126             @width: The width of the screenshot area
0127             @height: The height of the screenshot area
0128             @options: Optional vardict with screenshot options
0129             @pipe: The pipe file descriptor where the screenshot will be written
0130 
0131             Take a screenshot of the specified rectangular area. The application
0132             that requests the screenshot must have the org.kde.KWin.ScreenShot2
0133             interface listed in the X-KDE-DBUS-Restricted-Interfaces desktop file
0134             entry.
0135 
0136             Available @options include:
0137 
0138             * "include-cursor" (b): Whether the cursor should be included.
0139                                     Defaults to false
0140             * "native-resolution" (b): Whether the screenshot should be in
0141                                        native size. Defaults to false
0142 
0143             The following results get returned via the @results vardict:
0144 
0145             * "type" (s): The type of the image written to the pipe. Currently,
0146                           the only supported type is "raw"
0147             * "width" (u): The width of the image. Available only if the image
0148                            type is "raw"
0149             * "height" (u): The height of the image. Available only if the image
0150                             type is "raw"
0151             * "stride" (u): The number of bytes per row. Available only if the
0152                             image type is "raw"
0153             * "format" (u): The image format, as defined in QImage::Format.
0154                             Available only if the image type is "raw"
0155             * "scale" (d): The ratio between the native size and the logical
0156                            size of the contents, corresponds to QImage::devicePixelRatio().
0157                            Available since version 4.
0158         -->
0159         <method name="CaptureArea">
0160             <arg name="x" type="i" direction="in" />
0161             <arg name="y" type="i" direction="in" />
0162             <arg name="width" type="u" direction="in" />
0163             <arg name="height" type="u" direction="in" />
0164             <annotation name="org.qtproject.QtDBus.QtTypeName.In4" value="QVariantMap" />
0165             <arg name="options" type="a{sv}" direction="in" />
0166             <arg name="pipe" type="h" direction="in" />
0167             <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMap" />
0168             <arg name="results" type="a{sv}" direction="out" />
0169         </method>
0170 
0171         <!--
0172             CaptureScreen:
0173             @name: The name of the screen assigned by the compositor
0174             @options: Optional vardict with screenshot options
0175             @pipe: The pipe file descriptor where the screenshot will be written
0176 
0177             Take a screenshot of the specified monitor. The application that
0178             requests the screenshot must have the org.kde.KWin.ScreenShot2
0179             interface listed in the X-KDE-DBUS-Restricted-Interfaces desktop file
0180             entry.
0181 
0182             Available @options include:
0183 
0184             * "include-cursor" (b): Whether the cursor should be included.
0185                                     Defaults to false
0186             * "native-resolution" (b): Whether the screenshot should be in
0187                                        native size. Defaults to false
0188 
0189             The following results get returned via the @results vardict:
0190 
0191             * "type" (s): The type of the image written to the pipe. Currently,
0192                           the only supported type is "raw"
0193             * "width" (u): The width of the image. Available only if the image
0194                            type is "raw"
0195             * "height" (u): The height of the image. Available only if the image
0196                             type is "raw"
0197             * "stride" (u): The number of bytes per row. Available only if the
0198                             image type is "raw"
0199             * "format" (u): The image format, as defined in QImage::Format.
0200                             Available only if the image type is "raw"
0201             * "screen" (s): The name of the captured screen, same as QScreen::name().
0202                             Available since version 4
0203             * "scale" (d): The ratio between the native size and the logical
0204                            size of the contents, corresponds to QImage::devicePixelRatio().
0205                            Available since version 4.
0206         -->
0207         <method name="CaptureScreen">
0208             <arg name="name" type="s" direction="in" />
0209             <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap" />
0210             <arg name="options" type="a{sv}" direction="in" />
0211             <arg name="pipe" type="h" direction="in" />
0212             <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMap" />
0213             <arg name="results" type="a{sv}" direction="out" />
0214         </method>
0215 
0216         <!--
0217             CaptureActiveScreen:
0218             @options: Optional vardict with screenshot options
0219             @pipe: The pipe file descriptor where the screenshot will be written
0220 
0221             Take a screenshot of the active monitor. The application that
0222             requests the screenshot must have the org.kde.KWin.ScreenShot2
0223             interface listed in the X-KDE-DBUS-Restricted-Interfaces desktop file
0224             entry.
0225 
0226             Supported since version 2.
0227 
0228             Available @options include:
0229 
0230             * "include-cursor" (b): Whether the cursor should be included.
0231                                     Defaults to false
0232             * "native-resolution" (b): Whether the screenshot should be in
0233                                        native size. Defaults to false
0234 
0235             The following results get returned via the @results vardict:
0236 
0237             * "type" (s): The type of the image written to the pipe. Currently,
0238                           the only supported type is "raw"
0239             * "width" (u): The width of the image. Available only if the image
0240                            type is "raw"
0241             * "height" (u): The height of the image. Available only if the image
0242                             type is "raw"
0243             * "stride" (u): The number of bytes per row. Available only if the
0244                             image type is "raw"
0245             * "format" (u): The image format, as defined in QImage::Format.
0246                             Available only if the image type is "raw"
0247             * "screen" (s): The name of the captured screen, same as QScreen::name().
0248                             Available since version 4
0249             * "scale" (d): The ratio between the native size and the logical
0250                            size of the contents, corresponds to QImage::devicePixelRatio().
0251                            Available since version 4.
0252         -->
0253         <method name="CaptureActiveScreen">
0254             <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap" />
0255             <arg name="options" type="a{sv}" direction="in" />
0256             <arg name="pipe" type="h" direction="in" />
0257             <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMap" />
0258             <arg name="results" type="a{sv}" direction="out" />
0259         </method>
0260 
0261         <!--
0262             CaptureInteractive:
0263             @kind: 0 - window, 1 - screen
0264             @options: Optional vardict with screenshot options
0265             @pipe: The pipe file descriptor where the screenshot will be written
0266 
0267             Take a screenshot of a screen or a window as selected by the user.
0268 
0269             Available @options include:
0270 
0271             * "include-cursor" (b): Whether the cursor should be included.
0272                                     Defaults to false
0273             * "include-decoration" (b): Whether the decoration should be included.
0274                                         Defaults to false
0275             * "include-shadow" (b): Whether the shadow should be included.
0276                                     Defaults to true
0277             * "native-resolution" (b): Whether the screenshot should be in
0278                                        native size. Defaults to false
0279 
0280             The following results get returned via the @results vardict:
0281 
0282             * "type" (s): The type of the image written to the pipe. Currently,
0283                           the only supported type is "raw"
0284             * "width" (u): The width of the image. Available only if the image
0285                            type is "raw"
0286             * "height" (u): The height of the image. Available only if the image
0287                             type is "raw"
0288             * "stride" (u): The number of bytes per row. Available only if the
0289                             image type is "raw"
0290             * "format" (u): The image format, as defined in QImage::Format.
0291                             Available only if the image type is "raw"
0292             * "scale" (d): The ratio between the native size and the logical
0293                            size of the contents, corresponds to QImage::devicePixelRatio().
0294                            Available since version 4.
0295 
0296             The following results get returned when taking a window screenshot:
0297 
0298             * "windowId" (s): The window id of the captured window. Available
0299                               since version 4
0300 
0301             The following results get returned when taking a monitor screenshot:
0302 
0303             * "screen" (s): The name of the captured screen, same as QScreen::name().
0304                             Available since version 4
0305         -->
0306         <method name="CaptureInteractive">
0307             <arg name="kind" type="u" direction="in" />
0308             <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap" />
0309             <arg name="options" type="a{sv}" direction="in" />
0310             <arg name="pipe" type="h" direction="in" />
0311             <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMap" />
0312             <arg name="results" type="a{sv}" direction="out" />
0313         </method>
0314 
0315         <!--
0316             CaptureWorkspace:
0317             @options: Optional vardict with screenshot options
0318             @pipe: The pipe file descriptor where the screenshot will be written
0319 
0320             Take a screenshot of the workspace, i.e. all screens united. The
0321             application that requests the screenshot must have the org.kde.KWin.ScreenShot2
0322             interface listed in the X-KDE-DBUS-Restricted-Interfaces desktop file
0323             entry.
0324 
0325             Supported since version 3.
0326 
0327             Available @options include:
0328 
0329             * "include-cursor" (b): Whether the cursor should be included.
0330                                     Defaults to false
0331             * "native-resolution" (b): Whether the screenshot should be in
0332                                        native size. Defaults to false
0333 
0334             The following results get returned via the @results vardict:
0335 
0336             * "type" (s): The type of the image written to the pipe. Currently,
0337                           the only supported type is "raw"
0338             * "width" (u): The width of the image. Available only if the image
0339                            type is "raw"
0340             * "height" (u): The height of the image. Available only if the image
0341                             type is "raw"
0342             * "stride" (u): The number of bytes per row. Available only if the
0343                             image type is "raw"
0344             * "format" (u): The image format, as defined in QImage::Format.
0345                             Available only if the image type is "raw"
0346             * "scale" (d): The ratio between the native size and the logical
0347                            size of the contents, corresponds to QImage::devicePixelRatio().
0348                            Available since version 4.
0349         -->
0350         <method name="CaptureWorkspace">
0351             <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap" />
0352             <arg name="options" type="a{sv}" direction="in" />
0353             <arg name="pipe" type="h" direction="in" />
0354             <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMap" />
0355             <arg name="results" type="a{sv}" direction="out" />
0356         </method>
0357     </interface>
0358 </node>