Commit graph

3218 commits

Author SHA1 Message Date
Ivailo Monev
28fcfa37cb plasma: the mixer visualizer is no longer experimental
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 16:06:38 +03:00
Ivailo Monev
0035a4a0c3 plasma: expand applet widgets from the minimum
that does it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 15:51:10 +03:00
Ivailo Monev
bf78db444a plasma: pass the samples to the plotter in chunks in mixer applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 15:06:04 +03:00
Ivailo Monev
c852abbcaa plasma: frame the mixer applet visualizer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 14:51:59 +03:00
Ivailo Monev
a69da0b9d8 plasma: use theme-agnostic color for the mixer applet visualization by default
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 14:26:59 +03:00
Ivailo Monev
13ab85cf70 plasma: tweak the mixer applet poll interval for visualization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 14:20:11 +03:00
Ivailo Monev
006654ddcb plasma: implement options for the mixer applet visualizer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 14:05:56 +03:00
Ivailo Monev
562eb8e793 plasma: tweak mixer applet visualization
to show realtime data all the data from the PCM has to be drained (read
until there is no more), there is also the no real data quirck - when no
sound goes trough the PCM the samples are all 0.0 but sometimes when there
is data the samples are negative so as a special case a second list is
used to handle that

the nearly complete mixer applet now looks like this:
https://ibb.co/RyTbnzH

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 04:42:40 +03:00
Ivailo Monev
05362ba3dc plasma: experimental PCM visualization for mixer applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 03:45:03 +03:00
Ivailo Monev
29b8b04286 plasma: add dummy tab in mixer applet when there are no sound cards
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 23:09:23 +03:00
Ivailo Monev
0c886e9309 plasma: do not set mixer applet as "failed to launch" when there are no sound cards
setting it as "failed to launch" deletes child items and bad stuff happens

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 22:30:56 +03:00
Ivailo Monev
318d5c8d36 plasma: setup tooltip for the mixer applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 21:21:40 +03:00
Ivailo Monev
567f1d554a plasma: set notifications applet popup icon before creating the widget
because the notifications widget (NotificationsWidget) may set the popup
icon

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 20:52:05 +03:00
Ivailo Monev
9a6a749412 plasma: better Plasma::TabBar hack for mixer applet
one that does not break applet size restoration

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 20:37:53 +03:00
Ivailo Monev
7e5c75a51c plasma: compare the element name too when changing volume in mixer applet
just in case, sliders carry channel info anyway

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 19:28:31 +03:00
Ivailo Monev
0d7aaf491f plasma: k_alsa_element_callback() function optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 17:21:19 +03:00
Ivailo Monev
a7474986b2 plasma: setup events callback for mixer applet
to update sliders when the volume is changed by means other than changing
the slider values (e.g. via `alsamixer`)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 17:11:16 +03:00
Ivailo Monev
f259e5654a plasma: set icons for the mixer applet tabs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 15:50:40 +03:00
Ivailo Monev
d655235b86 plasma: set mixer applet popup icon before creating its widget
because MixerWidget may override the popup icon

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 15:43:30 +03:00
Ivailo Monev
e2a5d815a2 plasma: minor mixer applet optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 15:28:53 +03:00
Ivailo Monev
4ca4e20ab3 plasma: filter duplicate mixers in mixer applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 15:25:36 +03:00
Ivailo Monev
e545ff8662 plasma: map more element names to icons in mixer applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 14:56:46 +03:00
Ivailo Monev
ae1a53e2bf Merge branch 'mixer' 2023-09-21 04:03:46 +03:00
Ivailo Monev
6743086952 plasma: new mixer applet
kmix replacement, most importantly - multi-channel!

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-21 04:03:29 +03:00
Ivailo Monev
a775d16397 plasma: correct notifications applet author
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-20 18:09:28 +03:00
Ivailo Monev
002afc0ab2 plasma: setup calculator applet main layout contents margins
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-20 14:23:53 +03:00
Ivailo Monev
b0d6fc59e6 plasma: set the keyboard applet text font point-size according to the content size even for panels
because panels can be stretched to (more or less) half-desktop size

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-20 14:03:13 +03:00
Ivailo Monev
752bf96aaa plasma: set the minimum size of keyboard applet to twice the desktop icon size for non-panel form factor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-20 13:29:55 +03:00
Ivailo Monev
6e08b4df9a ktouchpadenable: drop it
the X11 synaptics driver is deprecated

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-20 12:23:46 +03:00
Ivailo Monev
b261835f4d plasma: disallow calculator operators for zero
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-19 22:19:06 +03:00
Ivailo Monev
771aa0ae06 plasma: remove redundant virtual NotificationsEngine::init() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-19 20:52:40 +03:00
Ivailo Monev
14223a1863 kcrash: scratch the details dialog
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-19 18:06:54 +03:00
Ivailo Monev
995390d52d plasma: enable opening of external links for notifications applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-19 17:54:32 +03:00
Ivailo Monev
c1ae5b77e7 libs: fix fallback in KDisplayManager::newSession()
SwitchToGreeter is method on the org.freedesktop.DisplayManager.Seat
interface not org.freedesktop.DisplayManager.Session

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-19 01:26:38 +03:00
Ivailo Monev
57aee76feb plasma: update calculator applet font based on KGlobalSettings::kdisplayFontChanged() signal
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-19 00:03:39 +03:00
Ivailo Monev
12b78f3d2e plasma: disallow adding more than one decimal in calculator applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 23:58:04 +03:00
Ivailo Monev
50bd202229 plasma: reset calculator applet operator on equal operation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 23:54:59 +03:00
Ivailo Monev
ac7474d362 plasma: calculator applet reimplementation
the old applet was in the kde-extraapps but it is so simple to and with
zero dependencies so I've decided to move it to the kde-workspace repo
while at it. the locale import will not be used (the old implementation
was using it so it is simply dropped)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 23:24:38 +03:00
Ivailo Monev
5199756c8c plasma: remove unused plasmacomponents types
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 21:04:45 +03:00
Ivailo Monev
9e1808ec97 plasma: break once the UDI has been found in BatteryMonitorWidget::slotUpdateIcon()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 20:43:54 +03:00
Ivailo Monev
a30aa87121 plasma: different take on job control for notifications applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 20:04:35 +03:00
Ivailo Monev
22dfa6c0d2 plasma: implement job stop for notifications applet
the widget servers 3 things now - stop a job, open the destination and if
job error occures serve as indicator that it happened (the job error thing
being something the old implementation did not had)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 19:39:16 +03:00
Ivailo Monev
f9951949aa plasma: set Qt::X11BypassWindowManagerHint for the notifications applet widget
as documented in Plasma::PopupApplet documentation

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 18:40:09 +03:00
Ivailo Monev
939e3630b2 plasma: show the notifications applet popup only on new notification
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 18:24:38 +03:00
Ivailo Monev
58dea97cb3 plasma: remove newspaper containment
I drop widget in one cell the containment puts it in other event tho
the correct cell is highlighted - ok..

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 16:32:00 +03:00
Ivailo Monev
07410ede42 plasma: remove redundant NotificationsWidget destructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 16:28:25 +03:00
Ivailo Monev
d9d72f851d plasma: do not call Plasma::PopupApplet::showPopup() if the popup was shown before the ping
because Plasma::PopupApplet::showPopup() starts internal timer that will
hide it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 15:44:57 +03:00
Ivailo Monev
facbe66a52 plasma: use image with less colors for the notifications applet popup icon
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 15:40:47 +03:00
Ivailo Monev
e33ee6a8e3 plasma: set the _k_desturl property for the open widget of the notifications applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 14:43:20 +03:00
Ivailo Monev
c9c9d0d642 plasma: connect the notifications applet animations directly to QObject::deleteLater() slot
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-18 14:38:45 +03:00