kwin/effects
Martin Gräßlin fbab204968 [effects] Add a screenshot dbus method which takes a file descriptor
Summary:
The idea behind this mode is to support applications like spectacle
(see T4458). The calling application passes a file descriptor (created
through e.g. a pipe) and the screenshot effect writes the captured image
into that fd.

The advantage over the existing variant which writes to a file in the
/tmp directory is that this is peer-to-peer between the requesting
application and KWin. No other application can get to that image.

The change also includes setting SIGPIPE to ignore. It showed that when
the reading side already cancelled the read prior to KWin writing out
the image we get a SIGPIPE which results in application termination,
which is not what we want in case of a Wayland compositor. The sigpipe
can be ignored as Qt (and libpng) handles that error just fine at
runtime.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3412
2016-11-22 07:17:57 +01:00
..
backgroundcontrast Adjust blur and contrast for multi-output rendering on Wayland 2016-10-18 16:38:50 +02:00
blur Adjust blur and contrast for multi-output rendering on Wayland 2016-10-18 16:38:50 +02:00
coverswitch Introduce an EffectsHandler::animationsSupported -> bool 2016-08-15 17:38:33 +02:00
cube Introduce an EffectsHandler::animationsSupported -> bool 2016-08-15 17:38:33 +02:00
desktopgrid [effects] Clean up saving of DesktopGrid config 2016-11-15 07:19:52 +01:00
dialogparent SVN_SILENT made messages (.desktop file) - always resolve ours 2016-10-02 12:02:41 +00:00
diminactive Use SERVICE_TYPES parameter to kcoreaddons_desktop_to_json() 2015-12-09 23:42:45 +00:00
dimscreen [effects] Drop the .desktop files for the BuiltIn Effects 2014-04-28 13:52:43 +02:00
eyeonscreen SVN_SILENT made messages (.desktop file) - always resolve ours 2016-10-13 09:54:01 +00:00
fade Ensure that all Effects honour the grab roles correctly 2016-11-07 11:45:09 +01:00
fadedesktop SVN_SILENT made messages (.desktop file) - always resolve ours 2016-01-30 09:40:55 +00:00
fallapart [effects] Introduce kcfg for FallApart effect 2016-11-16 13:04:44 +01:00
flipswitch Introduce an EffectsHandler::animationsSupported -> bool 2016-08-15 17:38:33 +02:00
glide [effects] Improve interaction between Glide and SlidingPopups effect 2016-11-16 09:05:41 +01:00
highlightwindow [effects] Repaint expandedGeometry in HighlightWindowsEffect 2016-09-14 10:44:07 +02:00
invert Port to CMake AUTOMOC 2016-02-01 21:05:36 +01:00
kscreen do not reinterpret_cast insufficient data 2015-10-05 23:41:16 +02:00
login SVN_SILENT made messages (.desktop file) - always resolve ours 2016-02-20 09:52:01 +00:00
logout/data [effects] Drop the logout effect 2016-08-24 10:09:22 +02:00
lookingglass [effects] Check for LimitedNPOT 2016-02-02 12:37:14 +01:00
magiclamp [effects] Drop loading shadow config from MagicLamp 2016-11-15 07:19:26 +01:00
magnifier [effects] Save zoom settings using kcfg generated class 2016-11-15 07:19:01 +01:00
maximize SVN_SILENT made messages (.desktop file) - always resolve ours 2016-05-31 11:06:54 +00:00
minimizeanimation [effects] Drop the .desktop files for the BuiltIn Effects 2014-04-28 13:52:43 +02:00
morphingpopups SVN_SILENT made messages (.desktop file) - always resolve ours 2016-11-04 09:48:38 +00:00
mouseclick SVN_SILENT made messages (.desktop file) - always resolve ours 2016-02-20 09:52:01 +00:00
mousemark Correctly set i18n suffix in mousemark spinbox. 2016-11-02 13:07:39 +00:00
presentwindows Add support for touch events in the Effect system 2016-08-16 14:18:40 +02:00
resize SVN_SILENT made messages (.desktop file) - always resolve ours 2016-10-31 12:00:16 +00:00
scalein Ensure that all Effects honour the grab roles correctly 2016-11-07 11:45:09 +01:00
screenedge [effects] Use shader traits api in screenedge effect 2016-01-25 14:11:54 +01:00
screenshot [effects] Add a screenshot dbus method which takes a file descriptor 2016-11-22 07:17:57 +01:00
sheet Introduce an EffectsHandler::animationsSupported -> bool 2016-08-15 17:38:33 +02:00
showfps SVN_SILENT made messages (.desktop file) - always resolve ours 2016-05-31 11:06:54 +00:00
showpaint [effects] Use shader traits in ShowPaint effect 2016-01-25 14:11:54 +01:00
slide Port to CMake AUTOMOC 2016-02-01 21:05:36 +01:00
slideback explicitly update the stack track on unminimization 2015-11-24 22:38:49 +01:00
slidingpopups [effects] Introduce kcfg for SlidingPopups 2016-11-16 13:05:02 +01:00
snaphelper [effects] Use shader traits in SnapHelper effect 2016-01-25 14:11:54 +01:00
startupfeedback Create KSelectionOwner in StartupFeedbackEffect only on X11 2016-11-07 11:42:10 +01:00
thumbnailaside Port to CMake AUTOMOC 2016-02-01 21:05:36 +01:00
touchpoints [effects] Add new effect for touch point visualization 2016-08-18 10:36:48 +02:00
trackmouse [effects] Use shader traits API in trackmouse 2016-01-25 14:11:54 +01:00
translucency [effects/translucency] Cancel existing animations before starting new 2016-10-28 16:24:49 +02:00
windowaperture SVN_SILENT made messages (.desktop file) - always resolve ours 2016-02-09 10:37:25 +00:00
windowgeometry Use SERVICE_TYPES parameter to kcoreaddons_desktop_to_json() 2015-12-09 23:42:45 +00:00
wobblywindows Ensure that all Effects honour the grab roles correctly 2016-11-07 11:45:09 +01:00
zoom [effects] Save zoom settings using kcfg generated class 2016-11-15 07:19:01 +01:00
CMakeLists.txt [effects] Show a notification when a screenshot got saved to file 2016-11-16 13:05:49 +01:00
effect_builtins.cpp [effects] Drop the logout effect 2016-08-24 10:09:22 +02:00
effect_builtins.h [effects] Add enum value for new TouchPoints effect 2016-08-24 16:24:04 +02:00
kwineffect.desktop SVN_SILENT made messages (.desktop file) - always resolve ours 2015-12-06 09:17:34 +00:00
logging.cpp pedantic fixes 2016-07-16 13:14:44 -04:00
Messages.sh Remove temporary file 2008-07-02 07:04:51 +00:00
shaders.qrc [effects] Drop the logout effect 2016-08-24 10:09:22 +02:00