Commit graph

914 commits

Author SHA1 Message Date
Ivailo Monev
ba3c114047 plasma: correct comment in pager applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-22 16:00:56 +03:00
Ivailo Monev
56cf42f744 plasma: take popup status into account in SystemTrayApplet::slotShowHidden()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-22 15:58:02 +03:00
Ivailo Monev
4ebf69bf84 plasma: destroy and load applets conditionally in systemtray applet
mostly to avoid resizing of the systemtray applet due to popup applets
(when loaded/added the initial popup applets size may be big and then
shrinked to icon depending on the applet minimum size)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-22 08:31:47 +03:00
Ivailo Monev
40675886b2 plasma: ensure applets have preferred size in systemtray applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-22 07:42:49 +03:00
Ivailo Monev
ac329a2b24 plasma: check popup status on Plasma::Applet::activate() signal
not always emitted by Plasma::PopupAppletPrivate::internalTogglePopup() tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-22 07:00:17 +03:00
Ivailo Monev
12fd5b63e7 plasma: save applets state before deleting them in systemtray applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-21 20:52:43 +03:00
Ivailo Monev
d5f68610e6 plasma: fix systemtray deadlock
the applet has to be disconnected because when the applet is destroyed (by
the qDeleteAll() call) it triggers layout update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-21 20:36:05 +03:00
Ivailo Monev
e728419f56 plasma: update systemtray layout on ksycoca database change
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-21 20:25:27 +03:00
Ivailo Monev
44fb15030c plasma: include now required header
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-21 20:24:45 +03:00
Ivailo Monev
20daf2594c plasma: check popup status of applets in systemtray applet
this is special case for (notably) passive popups (such as the
notifications applet which has not only automatic popup but also sticks
until deactivated), to do that optimally a signal from
Plasma::PopupApplet::popupEvent() may be emitted in the future so that the
popup status is not checked on timer.

on a side note the old systemtray applet did not handle that case properly
and the notifications applet was not hidden sometimes

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-21 14:44:48 +03:00
Ivailo Monev
e51cf82b56 plasma: create systemtray applet arrow icon on layout update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-21 08:48:02 +03:00
Ivailo Monev
1cad595824 generic: drop scripting support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-21 08:14:30 +03:00
Ivailo Monev
ebcdc394b2 plasma: implement configuration interface for tasks applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-09 02:11:57 +03:00
Ivailo Monev
51928a9c9e plasma: update the task pixmap only when the new icon is valid in tasks applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-09 00:28:57 +03:00
Ivailo Monev
4ec9f571ca plasma: magic bits to stretch tasks applet icons
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-05 09:01:48 +03:00
Ivailo Monev
e76a6f4e4b plasma: a bit more precise pager applet hint
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-05 08:24:25 +03:00
Ivailo Monev
25d282baa2 plasma: update geometry of pager widgets on layout orientation change
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-05 06:35:55 +03:00
Ivailo Monev
62d5c18fb2 plasma: move tasks applet bits related to size hint
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-05 06:28:26 +03:00
Ivailo Monev
bc637ba672 plasma: rename PagerApplet::updatePagers() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-03 10:58:35 +03:00
Ivailo Monev
caa4b6c660 plasma: hide tasks instead of re-creating on virtual desktop switch
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-03 10:58:14 +03:00
Ivailo Monev
b761e17212 plasma: pager painting optimization
there was QRectF->QRect->QRectF conversion

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-03 10:07:58 +03:00
Ivailo Monev
b2bbc6fa88 plasma: do not save and restore painter state in PagerSvg::paint()
nothing is painted after the text

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-03 10:03:44 +03:00
Ivailo Monev
bd3f60eb10 plasma: redo pager and tasks applets
nothing is final between releases - it's development cycle. the pager
applet now does verticals tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-03 09:47:24 +03:00
Ivailo Monev
a41b8a8bcd plasma: set the initial notifications applet status from the main applet class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-03 05:36:45 +03:00
Ivailo Monev
68cd65f027 plasma: remove the notifications applet frames from the list before animating the remove
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-03 05:36:17 +03:00
Ivailo Monev
942581ee78 plasma: call KTaskManager::activateRaiseOrIconify() as static method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-03 03:25:45 +03:00
Ivailo Monev
057b58b76d libs: rework KTaskManager to not cache information other than the window ID
otherwise the name and desktop number have to be refreshed each time a task
window changes and that information may or may not be used in, say, the
pager applet

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-02 22:15:46 +03:00
Ivailo Monev
9964857908 plasma: remove redundant Q_UNUSED() in RecentDocuments constructor
the args constant is passed to Plasma::AbstractRunner constructor

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-02 21:33:23 +03:00
Ivailo Monev
8a198d991d plasma: recentdocuments runner optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-02 21:31:33 +03:00
Ivailo Monev
18fbb354cf plasma: note that the maximum size can also be used as workaround in PagerApplet::updatePagers()
either the preferred or maximum but the preferred is used in that case

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-02 21:24:12 +03:00
Ivailo Monev
8d96c97af6 plasma: drop windowlist applet
and showdesktop is next, the pager applet does not only virtual desktop
switching, tasks actions (e.g. iconify/minimize) but also has the only
feature showdesktop has (except it does it on middle-mouse button)

oh, yes - using virtual desktops for grouping tasks is a thing now
(somewhat similar to the old task manager library grouping feature)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-02 07:07:44 +03:00
Ivailo Monev
ebaf50efee plasma: workaround layout weirdness in pager applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-02 06:40:17 +03:00
Ivailo Monev
eea341460b plasma: use image for the pager arrow based on the applet location
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-02 05:25:15 +03:00
Ivailo Monev
3f677f81ca plasma: adjust preview activation bits, preparation for showing unfitting tasks in a dialog
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-02 02:24:44 +03:00
Ivailo Monev
9b2d5c06a9 plasma: update pagers layout incrementally, animate icons
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-02 00:32:14 +03:00
Ivailo Monev
ebd427394b plasma: merge tasks applet into the the pager applet
why have one taskbar when I can have one for each virtual desktop? here
is how it looks:
https://ibb.co/TbNT2mC

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 23:37:54 +03:00
Ivailo Monev
cce8577a40 plasma: show preview of windows based on the X11 timestamp in pager applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 17:26:13 +03:00
Ivailo Monev
eaefa8595f plasma: update pager applet tooltips on KTaskManager::taskChanged() signal
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 17:01:46 +03:00
Ivailo Monev
9e2b0ef99f plasma: implement interactive windows preview for pager applet
wasn't a thing before, is now

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 16:57:52 +03:00
Ivailo Monev
45dbe71270 plasma: enable antialising for the pager applet painter
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 16:37:04 +03:00
Ivailo Monev
d917321a5d generic: use zero as minimum space for spacers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 16:10:41 +03:00
Ivailo Monev
ba2d235f76 plasma: apply gray effect to task icons in tasks applet
that was not a thing before, is now

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 16:03:32 +03:00
Ivailo Monev
50aab9bc48 plasma: drop the option to hide the pager applet when there is only one virtual desktop
also tweaked it for such case, soon the virtual desktops will be 2 by
default

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 15:46:08 +03:00
Ivailo Monev
54bd23f900 libs: drop startup feature of KTaskManager
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 15:07:00 +03:00
Ivailo Monev
bef3baec05 plasma: use the preferred size as minimum for everything but panels in tasks applet
because panels cannot handle minimum size properly

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 14:52:41 +03:00
Ivailo Monev
f4b498d734 plasma: enable antialiasing for the tasks widgets painter
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 14:45:01 +03:00
Ivailo Monev
f52f6e7de3 plasma: handle tasks moving in tasks applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 05:11:47 +03:00
Ivailo Monev
1aca9ade6a plasma: show only the tasks of the current virtual desktop from tasks applet
could be made an option but do I care?

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 04:39:31 +03:00
Ivailo Monev
a4a32d63ec libs: implement KTaskManager::menuForTask() ans tasks applet context menu
slightly different from the kwin decoration one (on purpose)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 04:18:45 +03:00
Ivailo Monev
5c18c67125 generic: reimplement the tasks manager
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-28 20:32:43 +03:00