The full-screen card carousel is touch-oriented and redundant
when a keyboard and mouse are available. In convergence mode,
disable it so KWin falls back to the standard Alt-Tab tabbox.
Window switching is also covered by the dock bar icons and the
Overview effect.
Allow dragging windows to screen edges: top edge to maximize,
left/right edges to tile half-screen. These KWin options were
previously always disabled because phone mode has no use for them.
The top-left hot corner triggers KWin Overview but the visual
feedback was unconditionally disabled. Enable the screenedge
effect alongside overview when convergence mode is active so
mouse users get the expected desktop hot-corner behavior.
In convergence mode, show a running-app icon strip in the navigation
panel using the existing TaskManager.TasksModel. Each icon activates
its window on click, with an indicator dot for the active window.
Replace the mobile task switcher button with a KWin Overview trigger:
add triggerOverview() to TaskPanel (D-Bus call to kglobalaccel), swap
the button icon to view-grid-symbolic, and enable the Overview effect
in the envmanager KWin config when convergence mode is active.
Wire convergenceMode and taskModel properties from
NavigationPanelComponent through to NavigationPanel so the task strip
populates from the existing TasksModel instance.
Now that plasma-keyboard has had its first release, we can switch to it
as the default keyboard and drop maliit-keyboard (and its Qt 5 dependency).
We also drop the maliit-keyboard kcm here (moved to
https://invent.kde.org/devinlin/maliit-keyboard-kcm), which is replaced by the one
installed by plasma-keyboard.
Use a config overlay for applications-blacklistrc, so that new options
that we add are updated in installs. This brings it inline with all of
the other config files we manage, and so I also remove unused
functionality that we used in the past to "save" and restore config
files.
Although useful for developers, it doesn't really make sense to show it
to most users and it doesn't actually look that great in the launcher.
It can be still be launched through krunner if necessary.
Currently the vkbd setting (to maliit) is immutable, preventing users
from selecting different input methods. Loosen the envmanager setting so
that it's just a default value, which can be overriden by users.
We currently directly write our settings to ~/.config/kwinrc and ~/.config/ksmserver.
Instead, create a separate config file with our settings (in ~/.config/plasma-mobile), and in startplasmamobile, add that path to XDG_CONFIG_DIRS. These options will be applied in the mobile session, unless the user explicitly sets the config option.
This reverts commit c45f9ed446.
The kwin rules setting causes all desktop windows to have window decorations. Revert this for now until we figure out a solution.
Replace the convergentwindows KWin script SSD toggling with KWin rules to ensure
windows are maximized and have no window border (and toggle off for
docked mode). KWin rules work immediately at window creation, which is
more efficient than listening to window creation events and manually
changing properties on them.
Currently, window rules setting maximization don't seem to address all cases where a window gets unmaximized, so for the time being we will still need the logic in convergentwindows to handle any sidecases.
Previously, we had a silent failure of the dbus call to "reloadConfig"
which turned out to be a signal and not a method that we can call. To
reload effects, we need to manually call dbus to load and unload each
individual one. A similar situation exists for scripts, except that we
only unload scripts through individual calls, and call `start` to load
all of the enabled scripts at once.
We can use the placement mode setting in KWin to bypass the need to "maximize" after the window opens, KWin does this for us.
We keep the kwin maximize script to enforce docked mode changing window maximization (since the policy only affects new windows).
Upgrading on pmOS from Plasma 5, where we used to ship custom configs seems to have kwin get stuck having the kdecoration plugin disabled. Manually enable it.