Commit graph

55 commits

Author SHA1 Message Date
5dfae0c45c Add task strip and Overview to navigation panel
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.
2026-04-08 19:07:37 +02:00
Devin Lin
5e3fa11be7 panel & taskpanel: Port to use plasma_add_applet
Use plasma_add_applet to deploy the applets as a module: https://invent.kde.org/plasma/libplasma/-/merge_requests/1116

We eventually need to do this for Halcyon and Folio homescreens too, but
they also have a bunch of C++ classes to be ported to declarative type
registration.
2025-06-26 20:46:48 -04:00
Micah Stanley
9bd4f0b747 GestureNavigation: Screen Rotation Popup Button
Implementation of a popup button to rotate the screen while using gesture navigation.

The button is set to appear when the device rotates while auto rotation is off. Then the button will be visible for a short period of time before disappearing.
2025-04-21 22:09:14 +00:00
Devin Lin
049eaf7df1 taskpanel: Fix rotate button showing with autorotate
AutoRotatePolicy has another option "InTabletMode" which is still
autorotate since we are always in tablet mode on mobile. Ensure that it
is skipped when determining whether to show the manual rotation button.
2025-04-08 16:12:56 +00:00
Devin Lin
3d9ddbde15 navigationpanel: Add manual screen rotation button
When the device is rotated and autorotate is off, a button will appear
on the navigation panel to manually rotate.

This is specific to the navigation panel, perhaps we can have a floating
button in gesture-only mode similar to Android?

TODO: PoC, I haven't yet actually tested this on device. I also need to
make sure that I check for whether autorotation is enabled on the
output.
2024-11-09 17:24:23 +00:00
Alexander Lohnau
907363c594 Remove Qt module includes 2024-02-16 13:38:23 +01:00
Devin Lin
2e6b9bfb7e taskpanel: Remove unused code 2023-11-13 22:37:08 -08:00
Nicolas Fella
9d16564ed6 Remove metadata from applet C++ plugin
It's not needed and causes a warning about defining an explicit Id
2023-09-14 00:18:45 +02:00
Nicolas Fella
9c95997a16 Add missing include 2023-09-14 00:17:11 +02:00
Devin Lin
eb03fe8c94 taskswitcher: Port to kwin effect 2023-03-13 22:07:32 -07:00
Devin Lin
3ede60a091 Rename containments 2023-03-05 09:39:44 -08:00
Devin Lin
0fd3ffe275 Fix build 2023-03-03 06:01:23 +00:00
Devin Lin
1b45e11d8f taskpanel: Fix unrecognized return type for force keyboard toggle 2022-09-11 20:17:29 -04:00
Alexander Lohnau
d68f2ed6c1 Convert metadata of KPackages to json
Task: https://phabricator.kde.org/T14564
2022-07-21 19:30:11 +00:00
Laurent Montel
401620e365 Fix some qt6 compile errors 2022-04-24 13:44:41 +02:00
Devin Lin
f861e2df3f mobileshell: Move KWayland related window functions to utility class 2022-04-06 17:18:20 -04:00
Devin Lin
8f9f722ca7 navigationpanel: Add ability to toggle between gesture only and shown navigation panel modes
Addresses: https://invent.kde.org/plasma/plasma-phone-components/-/issues/140
2022-02-13 04:23:57 +00:00
Devin Lin
2d87bb3e65 taskpanel: Extract navbar and task switcher to components/mobileshell 2021-12-24 19:18:38 -05:00
Aleix Pol
4aa1bc3a8c Make it possible to move windows between screens if there's more than one 2021-09-10 00:29:28 +00:00
Aleix Pol
a06bd89ec4 taskpanel: Put the controls at the right when on landscape mode
This way we don't lose otherwise precious screen real state on the
smaller
dimension.
2021-08-26 14:53:25 +02:00
Aleix Pol
441936186a Port to use the new org.kde.kwin.VirtualKeyboard.visible property
Makes it possible to properly display the keyboard state when the
keyboard is hidden but still active.
2021-07-21 22:16:04 +00:00
Alexander Lohnau
bacfccd323
applets: Use K_PLUGIN_CLASS_WITH_JSON instead of K_EXPORT_PLASMA_APPLET_WITH_JSON
Task: https://phabricator.kde.org/T14542
2021-06-19 06:52:49 +02:00
Vlad Zahorodnii
ab9f489b36 Remove unused forward declaration of PlasmaWindowModel 2021-03-25 10:09:48 +02:00
Alexander Lohnau
854742efcc
Run clang-format
If you want git blame to ignore formatting revisions run:
git config blame.ignoreRevsFile .git-blame-ignore-revs
2021-03-19 08:52:24 +01:00
Aleix Pol
31fceb18f8 Prioritise hiding the virtual keyboard
Now that the virtual keyboard appears right over the panel, change the
close window button to a hide button. When the virtual keyboard is
hidden, now you get the big X to close.
2021-03-04 15:54:56 +00:00
Nicolas Fella
21a3bcafe4 Convert license headers to SPDX 2021-03-02 22:45:25 +01:00
Marco Martin
69d9c2557d delay the first active window sync 2020-07-30 15:29:57 +02:00
Marco Martin
a9a9e13ad6 updateActiveWindow at start 2020-07-30 11:42:33 +02:00
Marco Martin
dd315d81e0 fixes to task switcher experience 2020-07-23 13:47:40 +02:00
Jonah Brüchert
d2b461e17b containments: Optimization 2020-03-21 00:33:26 +00:00
Jonah Brüchert
56fee1e3a7 Port remaining old-style connects 2019-11-29 09:33:00 +00:00
Jonah Brüchert
6df99a7b29
dialer: Remove unused #includes 2019-05-03 16:20:10 +02:00
Marco Martin
834812e5d9 set plasma surface every time 2017-09-14 13:01:07 +02:00
Bhushan Shah
410c1123d1 initialize timer before wayland connection 2017-09-14 15:37:05 +05:30
Bhushan Shah
bdb041f905 call the connection->roundtrip to get skiptaskbar working
same fix as the plasmashell
2017-09-14 15:11:15 +05:30
Marco Martin
220f4f79e8 fix the close button
use the c++ part aain for hasCloseableActiveWindow
2016-09-03 10:27:12 +02:00
Bhushan Shah
3290c398f4 Fix task switcher showing in itself
This was two part issue,

- We never applied skipTaskbar flag
- We returned from function before creating surface for it.

Reviewed-by: notmart
2016-08-25 15:29:48 +05:30
Bhushan Shah
52e52c7e90 activeWindow can be null
this is possible in case kwin switches around to another active window
2016-08-25 13:52:28 +05:30
Marco Martin
4175765653 debug-- 2016-08-24 18:05:30 +02:00
Marco Martin
6f721b8527 make show desktop work
use the kwin effect now, use proper api
and never minimize any window
2016-08-24 17:58:28 +02:00
Marco Martin
a408c6f41d reintroduce c++ plugin
* no more randomly minimizing windows
* use showdesktop effect
* use directly kwayland for show desktop
2016-08-24 16:57:15 +02:00
Marco Martin
f79d82fe13 get rid of c++ plugin 2016-06-28 14:43:25 +02:00
Marco Martin
18b4af0def port to new libtaskmanager
almost entirely port the task switcher to the new
libtaskmanager. still needs porting
for the single close current window button
2016-06-27 18:34:20 +02:00
Marco Martin
6dfbc22ced fix build 2016-02-24 15:46:56 +01:00
Marco Martin
1c8a653b1d slightly better bottom toolbar behavior 2016-01-12 17:16:26 +01:00
Marco Martin
1bd4990984 fix close button
enabled when it should, also use a qpointer to
remove some crashes
2016-01-05 17:29:43 +01:00
Marco Martin
8a45f67c4c ui experiment: keep all windows minimized
keep all windows minimized except the active one and minimize everything
when the task manager is open
2015-11-05 13:55:49 +01:00
Marco Martin
28f98ce3ac disable show desktop effect when a new window appears 2015-09-16 13:35:31 +02:00
Eike Hein
d5b6503797 Port to PlasmaWindowModel. 2015-06-24 22:54:20 +02:00
Martin Gräßlin
8f7f23321f Use KWayland protocol to close the active window
As a nice side-effect this allows us to enable/disable the close button
depending on whether we have a window to close.
2015-06-19 02:04:42 +02:00