Single unified Mouse & Touchpad KCM
The plan in systemsettings#15 (closed) is to have a "Mouse & Touchpad" KCM, rather than a "Mouse & Touchpad" category. In addition to merging the existing "Mouse" and "Touchpad" KCMs, it would also absorb the majority of the "General Behavior" KCM (which provide options that apply to both). The "Screen Edges" KCM would be a sub-page within the top-level "Mouse & Touchpad" KCM.
This would have been a ton of work pre-6.0, but with only libinput-based backends remaining as a result of #79, it's much more feasible now. Rough plan of action to make this happen:
- Remove the now unnecessary QtWidgets middle man in
kcm_mouse
andkcm_touchpad
, migrate both toKQuickConfigModule
andKCModuleData
.- This might eventually help to enable highlighting for modified settings, but will need more changes.
- Consider expanding libkwindevices to also support mouse and touchpad properties, and switching to that for the
deviceModel
used by QML.
- Move
kcm_mouse
intokcm_touchpad
, or the other way round, with as few code changes as possible.- Use
NavigationTabBar
(like in PowerDevil's KCM) to switch between mouse and touchpad settings, embed the existing QML KCMs as respective tab contents. - Make sure to involve localization teams for string change considerations.
- Use
- Move the appropriate settings from "General Behavior" (a.k.a.
kcm_workspace
, kcms/workspaceoptions) as a third tab (but first in tab order) into "Mouse & Trackpad". - Move any remaining settings out of "General Behavior" and kill that KCM.
- Figure out how to embed "Screen Edges" (a.k.a.
kcm_kwinscreenedges
) into "Mouse & Touchpad" as a sub-page, even though it lives (for now?) in KWin. - Clean up code along the way where necessary. Consider renaming the KCM to e.g.
kcm_mouse_touchpad
orkcm_pointerinput
.
MRs:
- !2067 (merged)
- !2082 (merged)
- !2122 (merged)
- more to come
Edited by Jakob Petsovits