kwin/src/kwin.kcfg
Nate Graham 6b949cac02 Use "Centered" window placement by default
The current "Minimize Overlapping" window placement tends to position
windows in locations that seem completely random, typically in a screen
corner. It is doing this because, true to its name, it is trying to
avoid overlapping other windows as much as possible. However in practice
this is rarely helpful. When the user opens a new window, it's because
they want to use it, and positioning the window far from where the
user is likely to be looking is counter-productive. This is even more
true on today's large and wide displays, where placing the window in a
corner may position it entirely outside the user's current field of
vision. We get bug reports about this exact issue for notifications
(which always appear in a corner by default) by users of such screens.
For notifications, this can be justifiable because notifications are
designed to be ignorable; app windows on the other hand, are not.

As a result, I commonly see Plasma users open windows and then
immediately, reflexively grab the window's titlebar and drag it to the
center of the screen. I have seen my wife do this. I have seen every
YouTube reviewer of Plasma do this. I have even see fellow KDE
developers at sprints do this. It seems like quite a common impulse
to want a newly-opened window to appear in the center of the screen,
which is where the user is likely to already be looking.

Thankfully, KWin already has a window placement mode that does this
automatically: "Centered". Accordingly, this commit changes the default
KWin window placement mode from "Minimize Overlapping" to "Centered".

No kconf migration script is provided because this is a better default
for most people in most cases, and existing users are highly likely to
appreciate this change.
2021-11-09 22:16:44 +00:00

332 lines
12 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
<kcfgfile arg="true" />
<group name="MouseBindings">
<entry name="CommandTitlebarWheel" type="String">
<default>Nothing</default>
</entry>
<entry name="CommandAllKey" type="String">
<default>Meta</default>
</entry>
<entry name="CommandAllWheel" type="String">
<default>Nothing</default>
</entry>
<entry name="CommandActiveTitlebar1" type="String">
<default>Raise</default>
</entry>
<entry name="CommandActiveTitlebar2" type="String">
<default>Nothing</default>
</entry>
<entry name="CommandActiveTitlebar3" type="String">
<default>Operations menu</default>
</entry>
<entry name="CommandInactiveTitlebar1" type="String">
<default>Activate and raise</default>
</entry>
<entry name="CommandInactiveTitlebar2" type="String">
<default>Nothing</default>
</entry>
<entry name="CommandInactiveTitlebar3" type="String">
<default>Operations menu</default>
</entry>
<entry name="CommandWindow1" type="String">
<default>Activate, raise and pass click</default>
</entry>
<entry name="CommandWindow2" type="String">
<default>Activate and pass click</default>
</entry>
<entry name="CommandWindow3" type="String">
<default>Activate and pass click</default>
</entry>
<entry name="CommandWindowWheel" type="String">
<default>Scroll</default>
</entry>
<entry name="CommandAll1" type="String">
<default>Move</default>
</entry>
<entry name="CommandAll2" type="String">
<default>Toggle raise and lower</default>
</entry>
<entry name="CommandAll3" type="String">
<default>Resize</default>
</entry>
</group>
<group name="ElectricBorders">
<entry name="Top" type="String">
<default>None</default>
</entry>
<entry name="TopRight" type="String">
<default>None</default>
</entry>
<entry name="Right" type="String">
<default>None</default>
</entry>
<entry name="BottomRight" type="String">
<default>None</default>
</entry>
<entry name="Bottom" type="String">
<default>None</default>
</entry>
<entry name="BottomLeft" type="String">
<default>None</default>
</entry>
<entry name="Left" type="String">
<default>None</default>
</entry>
<entry name="TopLeft" type="String">
<default>None</default>
</entry>
</group>
<group name="Windows">
<entry name="GeometryTip" type="Bool">
<default>false</default>
</entry>
<entry name="CondensedTitle" type="Bool">
<default>false</default>
</entry>
<entry name="FocusPolicy" type="Enum">
<choices name="KWin::Options::FocusPolicy">
<choice name="ClickToFocus"/>
<choice name="FocusFollowsMouse"/>
<choice name="FocusUnderMouse"/>
<choice name="FocusStrictlyUnderMouse"/>
</choices>
<default>Options::ClickToFocus</default>
</entry>
<entry name="NextFocusPrefersMouse" type="Bool">
<default>false</default>
</entry>
<entry name="SeparateScreenFocus" type="Bool">
<default>false</default>
</entry>
<entry name="ActiveMouseScreen" type="Bool">
<default>true</default>
</entry>
<entry name="RollOverDesktops" type="Bool">
<default>true</default>
</entry>
<entry name="FocusStealingPreventionLevel" type="Int">
<default>1</default>
<min>0</min>
<max>4</max>
</entry>
<entry name="Placement" type="Enum">
<choices name="KWin::Placement::Policy">
<choice name="NoPlacement"/>
<choice name="Default"/>
<choice name="Unknown"/>
<choice name="Random"/>
<choice name="Smart"/>
<choice name="Cascade"/>
<choice name="Centered"/>
<choice name="ZeroCornered"/>
<choice name="UnderMouse"/>
<choice name="OnMainWindow"/>
<choice name="Maximizing"/>
</choices>
<default>Placement::Centered</default>
</entry>
<entry name="AutoRaise" type="Bool">
<default>false</default>
</entry>
<entry name="AutoRaiseInterval" type="Int">
<default>750</default>
</entry>
<entry name="DelayFocusInterval" type="Int">
<default>300</default>
</entry>
<entry name="ShadeHover" type="Bool">
<default>false</default>
</entry>
<entry name="ShadeHoverInterval" type="Int">
<default>250</default>
</entry>
<entry name="ClickRaise" type="Bool">
<default>true</default>
</entry>
<entry name="BorderSnapZone" type="Int">
<default>10</default>
</entry>
<entry name="WindowSnapZone" type="Int">
<default>10</default>
</entry>
<entry name="CenterSnapZone" type="Int">
<default>0</default>
</entry>
<entry name="SnapOnlyWhenOverlapping" type="Bool">
<default>false</default>
</entry>
<entry name="ElectricBorders" type="Int">
<default>0</default>
</entry>
<entry name="ElectricBorderDelay" type="Int">
<default>150</default>
</entry>
<entry name="ElectricBorderCooldown" type="Int">
<default>350</default>
</entry>
<entry name="ElectricBorderPushbackPixels" type="Int">
<default>1</default>
</entry>
<entry name="ElectricBorderMaximize" type="Bool">
<default>true</default>
</entry>
<entry name="ElectricBorderTiling" type="Bool">
<default>true</default>
</entry>
<entry name="ElectricBorderCornerRatio" type="Double">
<default>0.25</default>
<min>0.0</min>
<max>1.0</max>
</entry>
<entry name="TitlebarDoubleClickCommand" type="String">
<default>Maximize</default>
</entry>
<entry name="MaximizeButtonLeftClickCommand" type="String">
<default>Maximize</default>
</entry>
<entry name="MaximizeButtonMiddleClickCommand" type="String">
<default>Maximize (vertical only)</default>
</entry>
<entry name="MaximizeButtonRightClickCommand" type="String">
<default>Maximize (horizontal only)</default>
</entry>
<entry name="KillPingTimeout" type="Int">
<default>5000</default>
</entry>
<entry name="HideUtilityWindowsForInactive" type="Bool">
<default>true</default>
</entry>
<entry name="InactiveTabsSkipTaskbar" type="Bool">
<default>false</default>
</entry>
<entry name="AutogroupSimilarWindows" type="Bool">
<default>false</default>
</entry>
<entry name="AutogroupInForeground" type="Bool">
<default>true</default>
</entry>
<entry name="BorderlessMaximizedWindows" type="Bool">
<default>false</default>
</entry>
</group>
<group name="Compositing">
<entry name="Backend" type="String">
<default>OpenGL</default>
</entry>
<entry name="Enabled" type="Bool">
<default>true</default>
</entry>
<entry name="GLTextureFilter" type="Int">
<default>2</default>
<min>-1</min>
<max>2</max>
</entry>
<entry name="GLStrictBinding" type="Bool">
<default>true</default>
</entry>
<entry name="GLLegacy" type="Bool">
<default>false</default>
</entry>
<entry name="HiddenPreviews" type="Int">
<default>5</default>
<min>4</min>
<max>6</max>
</entry>
<entry name="GLPlatformInterface" type="String">
<default>glx</default>
</entry>
<entry name="WindowsBlockCompositing" type="Bool">
<default>true</default>
</entry>
<entry name="LatencyPolicy" type="Enum">
<choices name="KWin::LatencyPolicy">
<choice name="LatencyExtremelyLow" value="ExtremelyLow"/>
<choice name="LatencyLow" value="Low"/>
<choice name="LatencyMedium" value="Medium"/>
<choice name="LatencyHigh" value="High"/>
<choice name="LatencyExtremelyHigh" value="ExtremelyHigh"/>
</choices>
<default>LatencyMedium</default>
</entry>
<entry name="RenderTimeEstimator" type="Enum">
<choices name="KWin::RenderTimeEstimator">
<choice name="RenderTimeEstimatorMinimum" value="Minimum"/>
<choice name="RenderTimeEstimatorMaximum" value="Maximum"/>
<choice name="RenderTimeEstimatorAverage" value="Average"/>
</choices>
<default>RenderTimeEstimatorMaximum</default>
</entry>
</group>
<group name="TabBox">
<entry name="ShowDelay" type="Bool">
<default>true</default>
</entry>
<entry name="DelayTime" type="Int">
<default>90</default>
</entry>
<entry name="DesktopMode" type="UInt">
<default>1</default>
</entry>
<entry name="ActivitiesMode" type="UInt">
<default>1</default>
</entry>
<entry name="ApplicationsMode" type="UInt">
<default>0</default>
</entry>
<entry name="MinimizedMode" type="UInt">
<default>0</default>
</entry>
<entry name="ShowDesktopMode" type="UInt">
<default>0</default>
</entry>
<entry name="MultiScreenMode" type="UInt">
<default>0</default>
</entry>
<entry name="SwitchingMode" type="UInt">
<default>0</default>
</entry>
<entry name="ShowOutline" type="Bool">
<default>true</default>
</entry>
<entry name="ShowTabBox" type="Bool">
<default>true</default>
</entry>
<entry name="HighlightWindows" type="Bool">
<default>true</default>
</entry>
<entry name="LayoutName" type="String">
<default>thumbnails</default>
</entry>
<entry name="MoveMinimizedWindowsToEndOfTabBoxFocusChain" type="Bool">
<default>false</default>
</entry>
</group>
<group name="KDE">
<entry name="AnimationDurationFactor" type="Double">
<default>1</default>
<min>0</min>
</entry>
</group>
<group name="Wayland">
<entry name="InputMethod" type="Path" />
<entry name="DoubleTapWakeup" type="Bool">
<default>true</default>
</entry>
</group>
<group name="Xwayland">
<entry name="XwaylandCrashPolicy" type="Enum">
<choices name="KWin::XwaylandCrashPolicy">
<choice name="Stop"/>
<choice name="Restart"/>
</choices>
<default>XwaylandCrashPolicy::Restart</default>
</entry>
<entry name="XwaylandMaxCrashCount" type="UInt">
<default>3</default>
</entry>
</group>
</kcfg>