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;