Commit graph

109 commits

Author SHA1 Message Date
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
842354bd70 Shell: Add Setting to Auto Hide Panels so Applications Can Fill the Entire Device Screen Space
This merge request adds a new setting to auto hide the status and navigation panels so applications will be able to fill out the entire device screen area. Also, this adds a new quick settings toggle to quickly change this property.
2025-04-21 15:56:33 +00:00
Devin Lin
bd895574ff shell: Remove nonexistent tabbar property in Panel
tabbar doesn't seem to exist, so it causes errors in the console.
Removing setting this nonexistent property.
2025-03-19 15:52:50 +00:00
Micah Stanley
48dedcd546 taskpanel/panel: make navbar and statusbar accessible from within fullscreen windows
These changes make the navigation and status bar accessible from within fullscreen applications by allowing the user to tap on the top or tap or drag on the bottom of the screen.

Also, since the top panel is now over top of all fullscreen applications, this moves the action drawer swipe area back into the status bar.

![navandstatusbar](/uploads/29bce14baf957059669689345c909896/navandstatusbar.gif)
2024-11-25 17:30:47 +00:00
Devin Lin
2d2b7407a6 startupfeedback: Change to be window based and controlled by a model
This makes the startup feedback more robust, by having instances be controlled by a model which can listen to window changes. Being window based also allows for the close button and gestures to work properly with it, since it will show up in the task switcher as well.

Fixes:
* https://invent.kde.org/plasma/plasma-mobile/-/issues/357
* https://invent.kde.org/plasma/plasma-mobile/-/issues/338
* https://invent.kde.org/plasma/plasma-mobile/-/issues/335 (dark themes now tint the background color)
* https://invent.kde.org/plasma/plasma-mobile/-/issues/330
* https://invent.kde.org/plasma/plasma-mobile/-/issues/30
2024-07-13 16:30:07 +00:00
Devin Lin
5c53f9b6d2 windowplugin: Add per-screen support for WindowMaximizedTracker
Contributes to #317

This refactor changes WindowMaximizedTracker from being a Singleton, and allows for it to be created in a way such that screens can be filtered out.

This fixes external screens from having their homescreen "zoom out" when an app is maximized on another screen.
2024-06-26 00:44:31 +00:00
Devin Lin
a66d07f3ff taskswitcher: Fix navigation panel position when in landscape mode
It used to get confused when in landscape mode, but the navigation panel is on the bottom of the screen.
2024-03-08 21:00:23 -05:00
Devin Lin
b553850e0a taskpanel: Delay setting panel position on screen change, so shell doesn't crash
Setting it immediately seems to trigger an underlying bug that causes the shell to crash, see https://invent.kde.org/plasma/plasma-mobile/-/issues/321

I've cherry-picked this for Plasma 6 so we don't have this issue on stable, but I'm not sure if we should merge this into master or keep trying to identify the root cause.
2024-03-04 19:20:59 +00:00
Devin Lin
76177166cf navigationpanel: Have it on the bottom if the screen height is large enough 2023-11-22 20:48:22 -08:00
Devin Lin
0a3b198aa6 panels: Mark panel item status to never take focus away from an active app
Fixes https://invent.kde.org/plasma/plasma-mobile/-/issues/269 and https://invent.kde.org/plasma/plasma-mobile/-/issues/266
2023-11-15 04:55:13 +00:00
Devin Lin
a4989d4313 shell: Sync panel code with desktop
This allows us to use desktop panels in the future for convergence.
2023-11-13 22:11:50 -08:00
Devin Lin
ae0dc228a8 navigationpanel: Delete panel when in gesture-only mode 2023-10-20 22:46:31 -07:00
Devin Lin
a79290d010 taskpanel: Fix rotation position 2023-10-16 22:12:44 -07:00
Nate Graham
cc50aee72d Remove versioning from PlasmaCore module imports
It's unneeded in Qt6 and can cause subtle issues.
2023-09-05 09:34:49 -06:00
Alexey Andreyev
127bbdf653 Port away from PlasmaCore and PlasmaExtras to Kirigami
See also:

https://pointieststick.com/2023/06/14/call-to-action-easy-porting-opportunity-in-plasma/
2023-07-25 01:13:52 +00:00
Devin Lin
25a513d829 panels: Port to plasma-framework changes 2023-06-12 20:49:54 -04:00
Devin Lin
14f3f07316 Convert more uses of QtGraphicalEffects to MultiEffect 2023-05-13 11:15:57 -04:00
Devin Lin
33771b4afd homescreen: Fix zoom animation behaviour with windows 2023-03-26 11:22:14 -07:00
Devin Lin
2d1610aaa2 mobileshell: Add constants singleton to reduce dependency on mobileshellstate 2023-03-18 22:06:48 -07:00
Devin Lin
da6e17f3f4 windowplugin: Use standardized way to know whether a window is showing and maximized 2023-03-18 18:48:49 -07:00
Devin Lin
79e99a9cfe shellsettingsplugin: Extract out from mobileshell component 2023-03-18 12:28:28 -07:00
Devin Lin
9e8838834b taskpanel: Cleanup remnants of old task switcher 2023-03-18 00:02:01 -07:00
Devin Lin
eb03fe8c94 taskswitcher: Port to kwin effect 2023-03-13 22:07:32 -07:00
Devin Lin
ad8f7cf99c Fix accidental commenting 2023-03-02 22:11:51 -08:00
Devin Lin
f0c756214a Port QtGraphicalEffects 2023-03-03 06:01:23 +00:00
Devin Lin
c02d6418a4 taskpanel: Don't overlay over top panel 2022-12-11 15:06:24 -05:00
Devin Lin
0d9b8e5207 taskpanel: Ensure thickness is enforced 2022-12-10 22:18:35 -05:00
Devin Lin
bdcbe4d6f7 mobileshellstate: Heavily refactor to remove global shell margins to fix window binding loops
Having a global set margins and orientation (that were calculated from the panel containment) caused a lot of issues with the way bindings were evaluated across panels, and with high coupling.

Now use properties from within containments to determine shell margins instead, which removes the dependency on other containments for measurements. This allows us to get rid of TaskPanelControls as well!

Fixes: https://invent.kde.org/teams/plasma-mobile/issues/-/issues/198
2022-12-10 21:05:13 -05:00
Devin Lin
7d3bf39750 mobileshell: Refactor and extract state to mobileshellstate plugin
This avoids mixing plasmashell state with our MobileShell component library (which really shouldn't have state at all).
2022-11-12 11:15:36 -05:00
Devin Lin
5a33b3b4d3 taskpanel: Fix property bindings such that we ensure we have the last say 2022-10-01 22:44:24 +02:00
Devin Lin
eff9d3df9a homescreen: Don't play zoom animation when going between maximized window states 2022-06-27 16:53:40 -04:00
Devin Lin
a607fc2600 panel & taskpanel: Only opaque if windows are maximized 2022-06-27 14:52:16 -04:00
Devin Lin
635f86e02f taskpanel: Try to ensure dimension bindings are always set 2022-04-07 22:08:36 -04:00
Devin Lin
0235868fa1 taskpanel: Fix top panel offset in landscape 2022-04-06 23:30:11 -04:00
Devin Lin
f861e2df3f mobileshell: Move KWayland related window functions to utility class 2022-04-06 17:18:20 -04:00
Devin Lin
2fa24cd0e2 taskpanel: Ensure window color group is used, not header
It seems we had this set to the header color group for the longest time, which didn't actually work (it defaulted to the window color group). It appears to have been fixed, and so the issue surfaced.
2022-02-16 21:21:00 -05: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
3453760dd3 taskpanel: Fix close action 2022-02-12 09:36:34 -05:00
Devin Lin
906c169f26 startupnotifier: Import and integrate into homescreen for performance 2021-12-29 00:08:32 -05:00
Devin Lin
1c81cd34b4 taskswitcher: Rewrite without listview and extract state to TaskSwitcherState 2021-12-27 01:35:24 -05:00
Devin Lin
57175abcf4 taskpanel: Refactor and cleanup 2021-12-25 00:11:28 -05:00
Devin Lin
4057122fb0 taskswitcher: Move component to homescreen and remove popup window 2021-12-24 22:31:33 -05:00
Devin Lin
2d87bb3e65 taskpanel: Extract navbar and task switcher to components/mobileshell 2021-12-24 19:18:38 -05:00
Devin Lin
fc818bcf7f Major refactor and smoothen alignment 2021-10-31 00:11:10 -04:00
Devin Lin
dcbdf8f101 Add overswipe gesture 2021-10-28 22:08:36 -04:00
Devin Lin
43c327655d Improve smooth offset behaviour 2021-10-28 22:08:36 -04:00
Devin Lin
90138d5442 Revamp task switcher 2021-10-28 22:08:36 -04:00
Aleix Pol
0cd4f91ec4 Port away from PlasmaComponents 2.0 on most places 2021-10-22 16:34:03 +00:00
Devin Lin
7df05e09be panel: Rework panel layout, and refactoring 2021-10-12 13:50:36 +00:00
Devin Lin
f599a6897d taskpanel: Make the vertical form factor offset a bit smaller. 2021-09-29 15:48:58 +00:00