|  | 
| enum class | NamedColorimetry { BT709
, BT2020
 } | 
|  | 
| enum class | NamedTransferFunction { sRGB = 0
, linear = 1
, PerceptualQuantizer = 2
, scRGB = 3
,
 gamma22 = 4
 }
 | 
|  | 
| enum class | GraphicsBufferOrigin { TopLeft
, BottomLeft
 } | 
|  | 
| enum | EffectFrameStyle { EffectFrameNone
, EffectFrameUnstyled
, EffectFrameStyled
 } | 
|  | 
| enum | DataRole { WindowAddedGrabRole = 1
, WindowClosedGrabRole
, WindowMinimizedGrabRole
, WindowUnminimizedGrabRole
,
 WindowForceBlurRole
, WindowForceBackgroundContrastRole
 }
 | 
|  | 
| enum class | LoadEffectFlag { Load = 1 << 0
, CheckDefaultFunction = 1 << 2
 } | 
|  | Flags defining how a Loader should load an Effect.  More... 
 | 
|  | 
| enum | CompositingType { NoCompositing = 0
, OpenGLCompositing = 1
, QPainterCompositing = 1 << 2
 } | 
|  | 
| enum | OpenGLPlatformInterface { NoOpenGLPlatformInterface = 0
, GlxPlatformInterface
, EglPlatformInterface
 } | 
|  | 
| enum | clientAreaOption { PlacementArea
, MovementArea
, MaximizeArea
, MaximizeFullArea
,
 FullScreenArea
, WorkArea
, FullArea
, ScreenArea
 }
 | 
|  | 
| enum | ElectricBorder { ElectricTop
, ElectricTopRight
, ElectricRight
, ElectricBottomRight
,
 ElectricBottom
, ElectricBottomLeft
, ElectricLeft
, ElectricTopLeft
,
 ELECTRIC_COUNT
, ElectricNone
 }
 | 
|  | 
| enum | ElectricBorderAction { ElectricActionNone
, ElectricActionShowDesktop
, ElectricActionLockScreen
, ElectricActionKRunner
,
 ElectricActionActivityManager
, ElectricActionApplicationLauncher
, ELECTRIC_ACTION_COUNT
 }
 | 
|  | 
| enum | TabBoxMode { TabBoxWindowsMode
, TabBoxWindowsAlternativeMode
, TabBoxCurrentAppWindowsMode
, TabBoxCurrentAppWindowsAlternativeMode
 } | 
|  | 
| enum | KWinOption { CloseButtonCorner
, SwitchDesktopOnScreenEdge
, SwitchDesktopOnScreenEdgeMovingWindows
 } | 
|  | 
| enum | PointerAxisDirection { PointerAxisUp
, PointerAxisDown
, PointerAxisLeft
, PointerAxisRight
 } | 
|  | The direction in which a pointer axis is moved.  More... 
 | 
|  | 
| enum class | SwipeDirection { Invalid
, Down
, Left
, Up
,
 Right
 }
 | 
|  | Directions for swipe gestures.  More... 
 | 
|  | 
| enum class | PinchDirection { Expanding
, Contracting
 } | 
|  | 
| enum class | SessionState { Normal
, Saving
, Quitting
 } | 
|  | 
| enum class | LED { NumLock = 1 << 0
, CapsLock = 1 << 1
, ScrollLock = 1 << 2
 } | 
|  | 
| enum class | Gravity { None
, Left
, Right
, Top
,
 Bottom
, TopLeft
, TopRight
, BottomLeft
,
 BottomRight
 }
 | 
|  | 
| enum | Layer { UnknownLayer = -1
, FirstLayer = 0
, DesktopLayer = FirstLayer
, BelowLayer
,
 NormalLayer
, AboveLayer
, NotificationLayer
, ActiveLayer
,
 PopupLayer
, CriticalNotificationLayer
, OnScreenDisplayLayer
, OverlayLayer
,
 NumLayers
 }
 | 
|  | 
| enum class | QuickTileFlag { None = 0
, Left = 1 << 0
, Right = 1 << 1
, Top = 1 << 2
,
 Bottom = 1 << 3
, Custom = 1 << 4
, Horizontal = Left | Right
, Vertical = Top | Bottom
,
 Maximize = Left | Right | Top | Bottom
 }
 | 
|  | 
| enum class | PresentationMode { VSync
, AdaptiveSync
, Async
, AdaptiveAsync
 } | 
|  | 
| enum class | ContentType { None = 0
, Photo = 1
, Video = 2
, Game = 3
 } | 
|  | 
| enum class | VrrPolicy { Never = 0
, Always = 1
, Automatic = 2
 } | 
|  | 
| enum class | PresentationModeHint { VSync
, Async
 } | 
|  | 
| enum class | DeviceType { Touchpad
, Touchscreen
 } | 
|  | 
| enum class | GLFeature { LooseBinding
, PackInvert
, TimerQuery
 } | 
|  | 
| enum | Driver { Driver_R100
, Driver_R200
, Driver_R300C
, Driver_R300G
,
 Driver_R600C
, Driver_R600G
, Driver_Nouveau
, Driver_Intel
,
 Driver_NVidia
, Driver_Catalyst
, Driver_Swrast
, Driver_Softpipe
,
 Driver_Llvmpipe
, Driver_VirtualBox
, Driver_VMware
, Driver_Qualcomm
,
 Driver_RadeonSI
, Driver_Virgl
, Driver_Panfrost
, Driver_Lima
,
 Driver_VC4
, Driver_V3D
, Driver_Unknown
 }
 | 
|  | 
| enum | ChipClass { R100 = 0
, R200
, R300
, R400
,
 R500
, R600
, R700
, Evergreen
,
 NorthernIslands
, SouthernIslands
, SeaIslands
, VolcanicIslands
,
 ArcticIslands
, Vega
, Navi
, UnknownRadeon = 999
,
 NV10 = 1000
, NV20
, NV30
, NV40
,
 G80
, GF100
, UnknownNVidia = 1999
, I8XX = 2000
,
 I915
, I965
, SandyBridge
, IvyBridge
,
 Haswell
, BayTrail
, Cherryview
, Broadwell
,
 ApolloLake
, Skylake
, GeminiLake
, KabyLake
,
 CoffeeLake
, WhiskeyLake
, CometLake
, CannonLake
,
 IceLake
, TigerLake
, UnknownIntel = 2999
, Adreno1XX = 3000
,
 Adreno2XX
, Adreno3XX
, Adreno4XX
, Adreno5XX
,
 UnknownAdreno = 3999
, MaliT7XX = 4000
, MaliT8XX
, MaliGXX
,
 UnknownPanfrost = 4999
, Mali400 = 5000
, Mali450
, Mali470
,
 UnknownLima = 5999
, VC4_2_1 = 6000
, UnknownVideoCore4 = 6999
, V3D_4_2 = 7000
,
 UnknownVideoCore3D = 7999
, UnknownChipClass = 99999
 }
 | 
|  | 
| enum class | ShaderTrait { MapTexture = (1 << 0)
, UniformColor = (1 << 1)
, Modulate = (1 << 2)
, AdjustSaturation = (1 << 3)
,
 TransformColorspace = (1 << 4)
, MapExternalTexture = (1 << 5)
 }
 | 
|  | 
| enum | TextureCoordinateType { NormalizedCoordinates = 0
, UnnormalizedCoordinates
 } | 
|  | 
| enum | VertexAttributeType { VA_Position = 0
, VA_TexCoord = 1
, VertexAttributeCount = 2
 } | 
|  | 
| enum | HiddenPreviews { HiddenPreviewsNever
, HiddenPreviewsShown
, HiddenPreviewsAlways
 } | 
|  | 
| enum | XwaylandEavesdropsMode { None
, NonCharacterKeys
, AllKeysWithModifier
, All
 } | 
|  | 
| enum | XwaylandCrashPolicy { Stop
, Restart
 } | 
|  | 
| enum | PlacementPolicy { PlacementNone
, PlacementDefault
, PlacementUnknown
, PlacementRandom
,
 PlacementSmart
, PlacementCentered
, PlacementZeroCornered
, PlacementUnderMouse
,
 PlacementOnMainWindow
, PlacementMaximizing
 }
 | 
|  | 
| enum | NightColorMode { Automatic
, Location
, Timings
, Constant
 } | 
|  | 
| enum | ScreenShotFlag { ScreenShotIncludeDecoration = 0x1
, ScreenShotIncludeCursor = 0x2
, ScreenShotNativeResolution = 0x4
, ScreenShotIncludeShadow = 0x8
 } | 
|  | 
| enum | StrutArea { StrutAreaInvalid = 0
, StrutAreaTop = 1 << 0
, StrutAreaRight = 1 << 1
, StrutAreaBottom = 1 << 2
,
 StrutAreaLeft = 1 << 3
, StrutAreaAll = StrutAreaTop | StrutAreaRight | StrutAreaBottom | StrutAreaLeft
 }
 | 
|  | 
| enum | ShadeMode { ShadeNone
, ShadeNormal
, ShadeHover
, ShadeActivated
 } | 
|  | 
| enum | MaximizeMode { MaximizeRestore = 0
, MaximizeVertical = 1
, MaximizeHorizontal = 2
, MaximizeFull = MaximizeVertical | MaximizeHorizontal
 } | 
|  | 
| enum class | PointerAxisSource { Unknown
, Wheel
, Finger
, Continuous
,
 WheelTilt
 }
 | 
|  | 
| enum class | PointerAxisRelativeDirection { Normal
, Inverted
 } | 
|  | 
| enum class | PointerButtonState : quint32 { Released = 0
, Pressed = 1
 } | 
|  | 
| enum class | KeyboardKeyState : quint32 { Released = 0
, Pressed = 1
 } | 
|  | 
| enum class | TextInputContentHint { None = 0
, AutoCompletion = 1 << 0
, AutoCorrection = 1 << 1
, AutoCapitalization = 1 << 2
,
 LowerCase = 1 << 3
, UpperCase = 1 << 4
, TitleCase = 1 << 5
, HiddenText = 1 << 6
,
 SensitiveData = 1 << 7
, Latin = 1 << 8
, MultiLine = 1 << 9
 }
 | 
|  | 
| enum class | TextInputContentPurpose { Normal
, Alpha
, Digits
, Number
,
 Phone
, Url
, Email
, Name
,
 Password
, Date
, Time
, DateTime
,
 Terminal
, Pin
 }
 | 
|  | 
| enum class | TextInputChangeCause { InputMethod
, Other
 } | 
|  | 
| enum | WaylandGeometryType { WaylandGeometryClient = 0x1
, WaylandGeometryFrame = 0x2
, WaylandGeometryBuffer = 0x4
 } | 
|  | 
| enum class | Predicate { WindowMatch
, WrapperIdMatch
, FrameIdMatch
, InputIdMatch
 } | 
|  | Defines Predicates on how to search for a Client.  More... 
 | 
|  | 
|  | 
| QDebug & | operator<< (QDebug &s, const KWin::DrmConnector *obj) | 
|  | 
| DrmPlane::Transformations | outputToPlaneTransform (OutputTransform transform) | 
|  | 
| GLXFBConfig | chooseGlxFbConfig (::Display *display, const int attributes[]) | 
|  | 
| QDebug | operator<< (QDebug debug, const Output *output) | 
|  | 
| KWIN_EXPORT QPoint | snapToPixelGrid (const QPointF &point) | 
|  | 
| KWIN_EXPORT QPointF | snapToPixelGridF (const QPointF &point) | 
|  | 
| KWIN_EXPORT QRect | snapToPixelGrid (const QRectF &rect) | 
|  | 
| KWIN_EXPORT QRectF | snapToPixelGridF (const QRectF &rect) | 
|  | 
| template<typename T > | 
| T | alignTimestamp (const T ×tamp, const T &alignment) | 
|  | 
| template<typename T > | 
| QString | keymapComponentToString (xkb_keymap *map, const T &count, std::function< const char *(xkb_keymap *, T)> f) | 
|  | 
| template<typename T > | 
| QString | stateActiveComponents (xkb_state *state, const T &count, std::function< int(xkb_state *, T)> f, std::function< const char *(xkb_keymap *, T)> name) | 
|  | 
| QDebug | operator<< (QDebug dbg, const KWin::AniData &a) | 
|  | 
| QDebug | operator<< (QDebug dbg, const KWin::FPx2 &fpx2) | 
|  | 
| template<typename T > | 
| QList< EffectWindow * > | getMainWindows (T *c) | 
|  | 
| KWIN_EXPORT QRect | infiniteRegion () | 
|  | 
| KWIN_EXPORT QRectF | scaledRect (const QRectF &rect, qreal scale) | 
|  | 
| KWIN_EXPORT QVector2D | roundVector (const QVector2D &input) | 
|  | 
| KWIN_EXPORT QPoint | flooredPoint (const QPointF &point) | 
|  | 
|  | Q_ENUM_NS (PresentationMode) | 
|  | 
|  | Q_ENUM_NS (ContentType) | 
|  | 
|  | Q_ENUM_NS (VrrPolicy) | 
|  | 
|  | Q_ENUM_NS (PresentationModeHint) | 
|  | 
| KWIN_EXPORT xcb_connection_t * | connection () | 
|  | 
| KWIN_EXPORT xcb_window_t | rootWindow () | 
|  | 
| KWIN_EXPORT xcb_timestamp_t | xTime () | 
|  | 
| void KWIN_EXPORT | grabXServer () | 
|  | 
| void KWIN_EXPORT | ungrabXServer () | 
|  | 
| bool KWIN_EXPORT | grabXKeyboard (xcb_window_t w=XCB_WINDOW_NONE) | 
|  | 
| void KWIN_EXPORT | ungrabXKeyboard () | 
|  | 
| template<typename ShortcutKind , typename... Args> | 
| bool | match (QList< GlobalShortcut > &shortcuts, Args... args) | 
|  | 
| InputRedirection * | input () | 
|  | 
|  | K_PLUGIN_CLASS_WITH_JSON (KCMKWinRules, "kcm_kwinrules.json") | 
|  | 
| QDBusArgument & | operator<< (QDBusArgument &argument, const KeyboardLayoutDBusInterface::LayoutNames &layoutNames) | 
|  | 
| const QDBusArgument & | operator>> (const QDBusArgument &argument, KeyboardLayoutDBusInterface::LayoutNames &layoutNames) | 
|  | 
| void | disableDrKonqi () | 
|  | 
| uint32_t | qtMouseButtonToButton (Qt::MouseButton button) | 
|  | 
| Qt::MouseButton | buttonToQtMouseButton (uint32_t button) | 
|  | 
| RootInfo * | rootInfo () | 
|  | 
| QDebug | operator<< (QDebug dbg, const AbstractOpenGLContextAttributeBuilder *attribs) | 
|  | 
| void KWIN_EXPORT | cleanupGL () | 
|  | 
| void | initGL (const std::function< resolveFuncPtr(const char *)> &resolveFunction) | 
|  | 
| bool | hasGLVersion (int major, int minor, int release) | 
|  | 
| bool | hasGLExtension (const QByteArray &extension) | 
|  | 
| QList< QByteArray > | openGLExtensions () | 
|  | 
| bool | checkGLError (const char *txt) | 
|  | 
| void | glResolveFunctions (const std::function< resolveFuncPtr(const char *)> &resolveFunction) | 
|  | 
| template<typename T > | 
| T | align (T value, int bytes) | 
|  | 
| QPair< QDateTime, QDateTime > | calculateSunTimings (const QDateTime &dateTime, double latitude, double longitude, bool morning) | 
|  | 
|  | KWIN_EFFECT_FACTORY (OutputLocatorEffect, "metadata.json.stripped") | 
|  | 
| qreal | transformAngle (OutputTransform current, OutputTransform old) | 
|  | 
| QRegion | buildClipRegion (const QPoint &pos, int w, int h) | 
|  | 
| QDebug & | operator<< (QDebug &stream, const Rules *r) | 
|  | 
| WindowQuad | buildQuad (const QRectF &partRect, const QPoint &textureOffset, const qreal devicePixelRatio, bool rotated) | 
|  | 
| AnimationSettings | animationSettingsFromObject (const QJSValue &object) | 
|  | 
| QVariant | dbusToVariant (const QVariant &variant) | 
|  | 
| QDebug | operator<< (QDebug debug, const CustomTile *tile) | 
|  | 
| QDebug | operator<< (QDebug debug, const TileManager *tileManager) | 
|  | 
| Tile::LayoutDirection | strToLayoutDirection (const QString &dir) | 
|  | 
| void | windowToDesktop (Window *window, VirtualDesktopManager::Direction direction) | 
|  | 
| void | activeWindowToDesktop (VirtualDesktopManager::Direction direction) | 
|  | 
| Qt::MouseButton | x11ToQtMouseButton (int button) | 
|  | 
| Qt::MouseButtons | x11ToQtMouseButtons (int state) | 
|  | 
| Qt::KeyboardModifiers | x11ToQtKeyboardModifiers (int state) | 
|  | 
| QPointF | popupOffset (const QRectF &anchorRect, const Qt::Edges anchorEdge, const Qt::Edges gravity, const QSizeF popupSize) | 
|  | 
| QRectF | gravitateGeometry (const QRectF &rect, const QRectF &bounds, Gravity gravity) | 
|  | 
| const QPoint | invalidPoint (INT_MIN, INT_MIN) | 
|  | 
| MaximizeMode | operator^ (MaximizeMode m1, MaximizeMode m2) | 
|  | 
| void | gainRealTime () | 
|  | 
| template<typename T > | 
| T | resource_cast (::wl_resource *resource) | 
|  | 
| uint16_t | encodePrimary (float primary) | 
|  | 
| bool | operator== (const LinuxDmaBufV1Feedback::Tranche &t1, const LinuxDmaBufV1Feedback::Tranche &t2) | 
|  | 
| WaylandServer * | waylandServer () | 
|  | 
| QDebug | operator<< (QDebug debug, const Window *window) | 
|  | 
| Workspace * | workspace () | 
|  | 
How this effect works:
Effect announces that it is around through property _KDE_KWIN_KSCREEN_SUPPORT on the root window.
KScreen watches for this property and when it wants to adjust screens, KScreen goes through the following protocol:
- KScreen sets the property value to 1
- Effect starts to fade out all windows
- When faded out the effect sets property value to 2
- KScreen adjusts the screens
- KScreen sets property value to 3
- Effect starts to fade in all windows again
- Effect sets back property value to 0
The property has type 32 bits cardinal. To test it use: xprop -root -f _KDE_KWIN_KSCREEN_SUPPORT 32c -set _KDE_KWIN_KSCREEN_SUPPORT 1
The states are: 0: normal 1: fading out 2: faded out 3: fading in