77    Q_PROPERTY(
FocusPolicy focusPolicy READ focusPolicy WRITE setFocusPolicy NOTIFY focusPolicyChanged)
 
   78    Q_PROPERTY(
XwaylandCrashPolicy xwaylandCrashPolicy READ xwaylandCrashPolicy WRITE setXwaylandCrashPolicy NOTIFY xwaylandCrashPolicyChanged)
 
   79    Q_PROPERTY(
int xwaylandMaxCrashCount READ xwaylandMaxCrashCount WRITE setXwaylandMaxCrashCount NOTIFY xwaylandMaxCrashCountChanged)
 
   80    Q_PROPERTY(
bool nextFocusPrefersMouse READ isNextFocusPrefersMouse WRITE setNextFocusPrefersMouse NOTIFY nextFocusPrefersMouseChanged)
 
   85    Q_PROPERTY(
bool clickRaise READ isClickRaise WRITE setClickRaise NOTIFY clickRaiseChanged)
 
   89    Q_PROPERTY(
bool autoRaise READ isAutoRaise WRITE setAutoRaise NOTIFY autoRaiseChanged)
 
   93    Q_PROPERTY(
int autoRaiseInterval READ autoRaiseInterval WRITE setAutoRaiseInterval NOTIFY autoRaiseIntervalChanged)
 
   97    Q_PROPERTY(
int delayFocusInterval READ delayFocusInterval WRITE setDelayFocusInterval NOTIFY delayFocusIntervalChanged)
 
  101    Q_PROPERTY(
bool shadeHover READ isShadeHover WRITE setShadeHover NOTIFY shadeHoverChanged)
 
  105    Q_PROPERTY(
int shadeHoverInterval READ shadeHoverInterval WRITE setShadeHoverInterval NOTIFY shadeHoverIntervalChanged)
 
  109    Q_PROPERTY(
bool separateScreenFocus READ isSeparateScreenFocus WRITE setSeparateScreenFocus NOTIFY separateScreenFocusChanged)
 
  110    Q_PROPERTY(
bool activeMouseScreen READ activeMouseScreen WRITE setActiveMouseScreen NOTIFY activeMouseScreenChanged)
 
  111    Q_PROPERTY(
PlacementPolicy placement READ placement WRITE setPlacement NOTIFY placementChanged)
 
  112    Q_PROPERTY(
ActivationDesktopPolicy activationDesktopPolicy READ activationDesktopPolicy WRITE setActivationDesktopPolicy NOTIFY activationDesktopPolicyChanged)
 
  113    Q_PROPERTY(
bool focusPolicyIsReasonable READ focusPolicyIsReasonable NOTIFY focusPolicyIsResonableChanged)
 
  117    Q_PROPERTY(
int borderSnapZone READ borderSnapZone WRITE setBorderSnapZone NOTIFY borderSnapZoneChanged)
 
  121    Q_PROPERTY(
int windowSnapZone READ windowSnapZone WRITE setWindowSnapZone NOTIFY windowSnapZoneChanged)
 
  125    Q_PROPERTY(
int centerSnapZone READ centerSnapZone WRITE setCenterSnapZone NOTIFY centerSnapZoneChanged)
 
  129    Q_PROPERTY(
bool snapOnlyWhenOverlapping READ isSnapOnlyWhenOverlapping WRITE setSnapOnlyWhenOverlapping NOTIFY snapOnlyWhenOverlappingChanged)
 
  133    Q_PROPERTY(
bool rollOverDesktops READ isRollOverDesktops WRITE setRollOverDesktops NOTIFY rollOverDesktopsChanged)
 
  137    Q_PROPERTY(
int focusStealingPreventionLevel READ focusStealingPreventionLevel WRITE setFocusStealingPreventionLevel NOTIFY focusStealingPreventionLevelChanged)
 
  138    Q_PROPERTY(
KWin::
Options::
WindowOperation operationTitlebarDblClick READ operationTitlebarDblClick WRITE setOperationTitlebarDblClick NOTIFY operationTitlebarDblClickChanged)
 
  139    Q_PROPERTY(
KWin::
Options::
WindowOperation operationMaxButtonLeftClick READ operationMaxButtonLeftClick WRITE setOperationMaxButtonLeftClick NOTIFY operationMaxButtonLeftClickChanged)
 
  140    Q_PROPERTY(
KWin::
Options::
WindowOperation operationMaxButtonMiddleClick READ operationMaxButtonMiddleClick WRITE setOperationMaxButtonMiddleClick NOTIFY operationMaxButtonMiddleClickChanged)
 
  141    Q_PROPERTY(
KWin::
Options::
WindowOperation operationMaxButtonRightClick READ operationMaxButtonRightClick WRITE setOperationMaxButtonRightClick NOTIFY operationMaxButtonRightClickChanged)
 
  142    Q_PROPERTY(
MouseCommand commandActiveTitlebar1 READ commandActiveTitlebar1 WRITE setCommandActiveTitlebar1 NOTIFY commandActiveTitlebar1Changed)
 
  143    Q_PROPERTY(
MouseCommand commandActiveTitlebar2 READ commandActiveTitlebar2 WRITE setCommandActiveTitlebar2 NOTIFY commandActiveTitlebar2Changed)
 
  144    Q_PROPERTY(
MouseCommand commandActiveTitlebar3 READ commandActiveTitlebar3 WRITE setCommandActiveTitlebar3 NOTIFY commandActiveTitlebar3Changed)
 
  145    Q_PROPERTY(
MouseCommand commandInactiveTitlebar1 READ commandInactiveTitlebar1 WRITE setCommandInactiveTitlebar1 NOTIFY commandInactiveTitlebar1Changed)
 
  146    Q_PROPERTY(
MouseCommand commandInactiveTitlebar2 READ commandInactiveTitlebar2 WRITE setCommandInactiveTitlebar2 NOTIFY commandInactiveTitlebar2Changed)
 
  147    Q_PROPERTY(
MouseCommand commandInactiveTitlebar3 READ commandInactiveTitlebar3 WRITE setCommandInactiveTitlebar3 NOTIFY commandInactiveTitlebar3Changed)
 
  148    Q_PROPERTY(
MouseCommand commandWindow1 READ commandWindow1 WRITE setCommandWindow1 NOTIFY commandWindow1Changed)
 
  149    Q_PROPERTY(
MouseCommand commandWindow2 READ commandWindow2 WRITE setCommandWindow2 NOTIFY commandWindow2Changed)
 
  150    Q_PROPERTY(
MouseCommand commandWindow3 READ commandWindow3 WRITE setCommandWindow3 NOTIFY commandWindow3Changed)
 
  151    Q_PROPERTY(
MouseCommand commandWindowWheel READ commandWindowWheel WRITE setCommandWindowWheel NOTIFY commandWindowWheelChanged)
 
  152    Q_PROPERTY(
MouseCommand commandAll1 READ commandAll1 WRITE setCommandAll1 NOTIFY commandAll1Changed)
 
  153    Q_PROPERTY(
MouseCommand commandAll2 READ commandAll2 WRITE setCommandAll2 NOTIFY commandAll2Changed)
 
  154    Q_PROPERTY(
MouseCommand commandAll3 READ commandAll3 WRITE setCommandAll3 NOTIFY commandAll3Changed)
 
  155    Q_PROPERTY(uint keyCmdAllModKey READ keyCmdAllModKey WRITE setKeyCmdAllModKey NOTIFY keyCmdAllModKeyChanged)
 
  159    Q_PROPERTY(
bool condensedTitle READ condensedTitle WRITE setCondensedTitle NOTIFY condensedTitleChanged)
 
  163    Q_PROPERTY(
bool electricBorderMaximize READ electricBorderMaximize WRITE setElectricBorderMaximize NOTIFY electricBorderMaximizeChanged)
 
  167    Q_PROPERTY(
bool electricBorderTiling READ electricBorderTiling WRITE setElectricBorderTiling NOTIFY electricBorderTilingChanged)
 
  171    Q_PROPERTY(
float electricBorderCornerRatio READ electricBorderCornerRatio WRITE setElectricBorderCornerRatio NOTIFY electricBorderCornerRatioChanged)
 
  172    Q_PROPERTY(
bool borderlessMaximizedWindows READ borderlessMaximizedWindows WRITE setBorderlessMaximizedWindows NOTIFY borderlessMaximizedWindowsChanged)
 
  176    Q_PROPERTY(
int killPingTimeout READ killPingTimeout WRITE setKillPingTimeout NOTIFY killPingTimeoutChanged)
 
  180    Q_PROPERTY(
bool hideUtilityWindowsForInactive READ isHideUtilityWindowsForInactive WRITE setHideUtilityWindowsForInactive NOTIFY hideUtilityWindowsForInactiveChanged)
 
  181    Q_PROPERTY(
int compositingMode READ compositingMode WRITE setCompositingMode NOTIFY compositingModeChanged)
 
  182    Q_PROPERTY(
bool useCompositing READ isUseCompositing WRITE setUseCompositing NOTIFY useCompositingChanged)
 
  183    Q_PROPERTY(
int hiddenPreviews READ hiddenPreviews WRITE setHiddenPreviews NOTIFY hiddenPreviewsChanged)
 
  189    Q_PROPERTY(
int glSmoothScale READ glSmoothScale WRITE setGlSmoothScale NOTIFY glSmoothScaleChanged)
 
  190    Q_PROPERTY(
bool glStrictBinding READ isGlStrictBinding WRITE setGlStrictBinding NOTIFY glStrictBindingChanged)
 
  196    Q_PROPERTY(
bool glStrictBindingFollowsDriver READ isGlStrictBindingFollowsDriver WRITE setGlStrictBindingFollowsDriver NOTIFY glStrictBindingFollowsDriverChanged)
 
  197    Q_PROPERTY(
GlSwapStrategy glPreferBufferSwap READ glPreferBufferSwap WRITE setGlPreferBufferSwap NOTIFY glPreferBufferSwapChanged)
 
  198    Q_PROPERTY(
KWin::
OpenGLPlatformInterface glPlatformInterface READ glPlatformInterface WRITE setGlPlatformInterface NOTIFY glPlatformInterfaceChanged)
 
  199    Q_PROPERTY(
bool windowsBlockCompositing READ windowsBlockCompositing WRITE setWindowsBlockCompositing NOTIFY windowsBlockCompositingChanged)
 
  200    Q_PROPERTY(
bool allowTearing READ allowTearing WRITE setAllowTearing NOTIFY allowTearingChanged)
 
  205    void updateSettings();
 
  240        FocusStrictlyUnderMouse
 
 
  246        return m_focusPolicy;
 
 
  250        return m_nextFocusPrefersMouse;
 
 
  255        return m_xwaylandCrashPolicy;
 
 
  259        return m_xwaylandMaxCrashCount;
 
 
  263        return m_xwaylandEavesdrops;
 
 
  288        return m_autoRaiseInterval;
 
 
  296        return m_delayFocusInterval;
 
 
  312        return m_shadeHoverInterval;
 
 
  320        return m_separateScreenFocus;
 
 
  325        return m_activeMouseScreen;
 
 
  335        return m_focusPolicy == ClickToFocus || m_focusPolicy == FocusFollowsMouse;
 
 
  343    Q_ENUM(ActivationDesktopPolicy)
 
  347        return m_activationDesktopPolicy;
 
 
  355        return m_borderSnapZone;
 
 
  363        return m_windowSnapZone;
 
 
  371        return m_centerSnapZone;
 
 
  379        return m_snapOnlyWhenOverlapping;
 
 
  387        return m_rollOverDesktops;
 
 
  397        return m_focusStealingPreventionLevel;
 
 
  415        ToggleStoreSettingsOp = WindowRulesOp, 
 
 
  425    Q_ENUM(WindowOperation)
 
  429        return OpTitlebarDblClick;
 
 
  433        return opMaxButtonLeftClick;
 
 
  437        return opMaxButtonRightClick;
 
 
  441        return opMaxButtonMiddleClick;
 
 
  443    WindowOperation operationMaxButtonClick(Qt::MouseButtons button) 
const;
 
  487    Q_ENUM(MouseWheelCommand)
 
  491        return wheelToMouseCommand(CmdTitlebarWheel, delta);
 
 
  495        return wheelToMouseCommand(CmdAllWheel, delta);
 
 
  500        return CmdActiveTitlebar1;
 
 
  504        return CmdActiveTitlebar2;
 
 
  508        return CmdActiveTitlebar3;
 
 
  512        return CmdInactiveTitlebar1;
 
 
  516        return CmdInactiveTitlebar2;
 
 
  520        return CmdInactiveTitlebar3;
 
 
  536        return CmdWindowWheel;
 
 
  560        switch (CmdAllModKey) {
 
  562            return Qt::AltModifier;
 
  564            return Qt::MetaModifier;
 
 
  570    static WindowOperation windowOperation(
const QString &name, 
bool restricted);
 
  571    static MouseCommand mouseCommand(
const QString &name, 
bool restricted);
 
  572    static MouseWheelCommand mouseWheelCommand(
const QString &name);
 
  577    bool condensedTitle() 
const;
 
  585        return electric_border_maximize;
 
 
  593        return electric_border_tiling;
 
 
  600        return electric_border_corner_ratio;
 
 
  605        return borderless_maximized_windows;
 
 
  613        return m_killPingTimeout;
 
 
  621        return m_hideUtilityWindowsForInactive;
 
 
  627    double animationTimeFactor() 
const;
 
  633        return m_compositingMode;
 
 
  637        m_compositingMode = mode;
 
 
  640    bool isUseCompositing() 
const;
 
  645        return m_hiddenPreviews;
 
 
  653        return m_glSmoothScale;
 
 
  659        return m_glStrictBinding;
 
 
  663        return m_glStrictBindingFollowsDriver;
 
 
  667        return m_glPlatformInterface;
 
 
  671        CopyFrontBuffer = 
'c',
 
  672        PaintFullScreen = 
'p',
 
  674        AutoSwapStrategy = 
'a',
 
 
  676    Q_ENUM(GlSwapStrategy)
 
  679        return m_glPreferBufferSwap;
 
 
  684        return m_windowsBlockCompositing;
 
 
  687    QStringList modifierOnlyDBusShortcut(Qt::KeyboardModifier mod) 
const;
 
  688    bool allowTearing() 
const;
 
  691    void setFocusPolicy(FocusPolicy focusPolicy);
 
  693    void setXwaylandMaxCrashCount(
int maxCrashCount);
 
  695    void setNextFocusPrefersMouse(
bool nextFocusPrefersMouse);
 
  696    void setClickRaise(
bool clickRaise);
 
  697    void setAutoRaise(
bool autoRaise);
 
  698    void setAutoRaiseInterval(
int autoRaiseInterval);
 
  699    void setDelayFocusInterval(
int delayFocusInterval);
 
  700    void setShadeHover(
bool shadeHover);
 
  701    void setShadeHoverInterval(
int shadeHoverInterval);
 
  702    void setSeparateScreenFocus(
bool separateScreenFocus);
 
  703    void setActiveMouseScreen(
bool activeMouseScreen);
 
  705    void setActivationDesktopPolicy(ActivationDesktopPolicy activationDesktopPolicy);
 
  706    void setBorderSnapZone(
int borderSnapZone);
 
  707    void setWindowSnapZone(
int windowSnapZone);
 
  708    void setCenterSnapZone(
int centerSnapZone);
 
  709    void setSnapOnlyWhenOverlapping(
bool snapOnlyWhenOverlapping);
 
  710    void setRollOverDesktops(
bool rollOverDesktops);
 
  711    void setFocusStealingPreventionLevel(
int focusStealingPreventionLevel);
 
  712    void setOperationTitlebarDblClick(WindowOperation operationTitlebarDblClick);
 
  713    void setOperationMaxButtonLeftClick(WindowOperation op);
 
  714    void setOperationMaxButtonRightClick(WindowOperation op);
 
  715    void setOperationMaxButtonMiddleClick(WindowOperation op);
 
  716    void setCommandActiveTitlebar1(MouseCommand commandActiveTitlebar1);
 
  717    void setCommandActiveTitlebar2(MouseCommand commandActiveTitlebar2);
 
  718    void setCommandActiveTitlebar3(MouseCommand commandActiveTitlebar3);
 
  719    void setCommandInactiveTitlebar1(MouseCommand commandInactiveTitlebar1);
 
  720    void setCommandInactiveTitlebar2(MouseCommand commandInactiveTitlebar2);
 
  721    void setCommandInactiveTitlebar3(MouseCommand commandInactiveTitlebar3);
 
  722    void setCommandWindow1(MouseCommand commandWindow1);
 
  723    void setCommandWindow2(MouseCommand commandWindow2);
 
  724    void setCommandWindow3(MouseCommand commandWindow3);
 
  725    void setCommandWindowWheel(MouseCommand commandWindowWheel);
 
  726    void setCommandAll1(MouseCommand commandAll1);
 
  727    void setCommandAll2(MouseCommand commandAll2);
 
  728    void setCommandAll3(MouseCommand commandAll3);
 
  729    void setKeyCmdAllModKey(uint keyCmdAllModKey);
 
  730    void setCondensedTitle(
bool condensedTitle);
 
  731    void setElectricBorderMaximize(
bool electricBorderMaximize);
 
  732    void setElectricBorderTiling(
bool electricBorderTiling);
 
  733    void setElectricBorderCornerRatio(
float electricBorderCornerRatio);
 
  734    void setBorderlessMaximizedWindows(
bool borderlessMaximizedWindows);
 
  735    void setKillPingTimeout(
int killPingTimeout);
 
  736    void setHideUtilityWindowsForInactive(
bool hideUtilityWindowsForInactive);
 
  737    void setCompositingMode(
int compositingMode);
 
  738    void setUseCompositing(
bool useCompositing);
 
  739    void setHiddenPreviews(
int hiddenPreviews);
 
  740    void setGlSmoothScale(
int glSmoothScale);
 
  741    void setGlStrictBinding(
bool glStrictBinding);
 
  742    void setGlStrictBindingFollowsDriver(
bool glStrictBindingFollowsDriver);
 
  743    void setGlPreferBufferSwap(
char glPreferBufferSwap);
 
  745    void setWindowsBlockCompositing(
bool set);
 
  746    void setAllowTearing(
bool allow);
 
  775        return MouseOperationsMenu;
 
 
  779        return MouseActivateAndRaise;
 
 
  787        return MouseOperationsMenu;
 
 
  791        return MouseActivateRaiseAndPassClick;
 
 
  795        return MouseActivateAndPassClick;
 
 
  799        return MouseActivateAndPassClick;
 
 
  807        return MouseUnrestrictedMove;
 
 
  811        return MouseToggleRaiseAndLower;
 
 
  815        return MouseUnrestrictedResize;
 
 
  819        return MouseWheelNothing;
 
 
  823        return MouseWheelNothing;
 
 
  855        return AutoSwapStrategy;
 
 
  863        return XwaylandCrashPolicy::Restart;
 
 
  875        return ActivationDesktopPolicy::SwitchToOtherDesktop;
 
 
  881    void reparseConfiguration();
 
  947    void setElectricBorders(
int borders);
 
  948    void syncFromKcfgc();
 
  949    std::unique_ptr<Settings> m_settings;
 
  950    KConfigWatcher::Ptr m_configWatcher;
 
  953    bool m_nextFocusPrefersMouse;
 
  956    int m_autoRaiseInterval;
 
  957    int m_delayFocusInterval;
 
  959    int m_shadeHoverInterval;
 
  960    bool m_separateScreenFocus;
 
  961    bool m_activeMouseScreen;
 
  964    int m_borderSnapZone;
 
  965    int m_windowSnapZone;
 
  966    int m_centerSnapZone;
 
  967    bool m_snapOnlyWhenOverlapping;
 
  968    bool m_rollOverDesktops;
 
  969    int m_focusStealingPreventionLevel;
 
  970    int m_killPingTimeout;
 
  971    bool m_hideUtilityWindowsForInactive;
 
  973    int m_xwaylandMaxCrashCount;
 
  977    bool m_useCompositing;
 
  981    bool m_glStrictBinding;
 
  982    bool m_glStrictBindingFollowsDriver;
 
  985    bool m_windowsBlockCompositing;
 
  988    WindowOperation opMaxButtonRightClick = defaultOperationMaxButtonRightClick();
 
  989    WindowOperation opMaxButtonMiddleClick = defaultOperationMaxButtonMiddleClick();
 
  990    WindowOperation opMaxButtonLeftClick = defaultOperationMaxButtonRightClick();
 
 1010    bool electric_border_maximize;
 
 1011    bool electric_border_tiling;
 
 1012    float electric_border_corner_ratio;
 
 1013    bool borderless_maximized_windows;
 
 1014    bool condensed_title;
 
 1016    bool m_allowTearing = 
true;
 
 1018    QHash<Qt::KeyboardModifier, QStringList> m_modifierOnlyShortcuts;