[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-panel-devel
Subject: Re: Review Request: KMix Declarative Applet - First attempt
From: "Igor Poboiko" <igor.poboiko () gmail ! com>
Date: 2012-04-20 13:14:51
Message-ID: 20120420131451.17880.66559 () vidsolbach ! de
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
> On March 28, 2012, 6:06 p.m., Marco Martin wrote:
> > to me the blocker is mostly having to have kmix running...
> > since actual kmix would be (sill ;) needed for the actual complete ui... what \
> > about this?
> > a modification in the systray applet, that queries sycoca for offers of plasmoids \
> > that can manage a determined statusnotifier item, so it would ask for something \
> > providing KMix (better if the ksni id is renamed in org.kde.kmix) then will be \
> > the systray itself that either instantiates the kmix applet, or just doesn't show \
> > the kmix icon if the applet was explicitly created by the user.
> > idea is still a bit nebulous, did i explain myself enough? ;)
>
> Diego Casella wrote:
> From a quick look of the code, there's the chance to build the daemon too.. If so, \
> there's no need to do all that work :) About the need of the complete UI, we need \
> it only for one purpose: select which channel will be the Master channel. I can't \
> list all the available channels inside the standard config page (the one which \
> appears when you click on the wrench icon in the applet handle), because of \
> scripted plasmoid limitiations. But, thanks to the awesome progress made with \
> plasmacomponents, I could use your fancy Dialog item to show all the channels \
> available, and allow the user to choose which one will be the Master channel :) In \
> this way, we could drop the KMix windowed app, keep only the daemon, and talk to it \
> with one (or more) kmix applet. What do you think?
I think the windowed app will still be needed, since we ain't going to show all the \
sliders in the applet (it will be a complete mess). There may be few sliders users \
don't want to see in applet but still want to control sometimes (as for me, for \
example, capture sliders). Daemonizing is a good idea, but we should think how \
windowed app should work with it. Also, have you seen my implementation of applet ( \
http://quickgit.kde.org/index.php?p=scratch%2Fpoboiko%2Fkmix-plasmoid.git&a=tree )? \
It isn't declarative, but it has more features (since it hasn't limitations scripted \
plasmoids have).
- Igor
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://svn.reviewboard.kde.org/r/6928/#review10739
-----------------------------------------------------------
On March 28, 2012, 6:49 p.m., Diego Casella wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://svn.reviewboard.kde.org/r/6928/
> -----------------------------------------------------------
>
> (Updated March 28, 2012, 6:49 p.m.)
>
>
> Review request for Plasma, Aaron Seigo, Marco Martin, and Christian Esken.
>
>
> Description
> -------
>
> First attempt of making a declarative kmix applet for plasma.
> What the apple does right now:
> * modifies the volume level and the mute/unmute status of the master channel;
> * reacts to changes of the volume level/status (i.e. made with multimedia keys);
> * disables the slider if the channel gets muted, and enables it back as soon as the \
> channel gets unmuted;
> * collapses gracefully in a popup icon when placed inside the panel.
>
>
> Diffs
> -----
>
> trunk/KDE/kdemultimedia/kmix/plasma/CMakeLists.txt 1287513
> trunk/KDE/kdemultimedia/kmix/plasma/kmix-applet/contents/code/VerticalControl.qml \
> PRE-CREATION trunk/KDE/kdemultimedia/kmix/plasma/kmix-applet/contents/code/kmixapplet.qml \
> PRE-CREATION trunk/KDE/kdemultimedia/kmix/plasma/kmix-applet/metadata.desktop \
> PRE-CREATION
> Diff: http://svn.reviewboard.kde.org/r/6928/diff/
>
>
> Testing
> -------
>
> Tested against r1287510. For basic audio management it works great imho.
>
> However, there is a lot of room for improvements, but this is gonna need some extra \
> work outside the kmix applet scope:
> * first of all, the applet need kmix executable to run in order to perform the dbus \
> calls. You can of course disable KMix tray icon feature but, at every login, KMix \
> mainwindow will be shown and the user must closeby hand. This is a kind of ugly \
> behavior that should be avoided;
> * it will be great to great to add an action to allow the user to select the master \
> channel (by reusing KMix "Select Master Channel" widget), but this will require \
> tweaking KMix dbus interface;
> * as you noticed in the screenshots, the applet in the panel and in the desktop \
> have different size even if it __is__ actually the same: something is going wrong \
> when plasma shows the PopupApplet. This behavior was even worse when I started \
> implementing a "flip" action to change the layout from horizontal to vertical and \
> vice-versa, and for this reason I gave up and simply stick with the vertical \
> layout.
> Could this applet be shipped in the current status, or should we wait for all the \
> aforementioned improvements? Comments/ideas/suggestions?
>
> Cheers :)
>
>
> Screenshots
> -----------
>
> Applet look in panel and desktop
> http://svn.reviewboard.kde.org/r/6928/s/627/
> Applet look in panel and desktop - audio muted
> http://svn.reviewboard.kde.org/r/6928/s/628/
>
>
> Thanks,
>
> Diego Casella
>
>
[Attachment #5 (text/html)]
<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;"> <tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://svn.reviewboard.kde.org/r/6928/">http://svn.reviewboard.kde.org/r/6928/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;"> <p style="margin-top: 0;">On March 28th, 2012, 6:06 p.m., <b>Marco \
Martin</b> wrote:</p> <blockquote style="margin-left: 1em; border-left: 2px solid \
#d0d0d0; padding-left: 10px;"> <pre style="white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">to me the blocker is mostly having to have kmix running... since actual \
kmix would be (sill ;) needed for the actual complete ui... what about this?
a modification in the systray applet, that queries sycoca for offers of plasmoids \
that can manage a determined statusnotifier item, so it would ask for something \
providing KMix (better if the ksni id is renamed in org.kde.kmix) then will be the \
systray itself that either instantiates the kmix applet, or just doesn't show the \
kmix icon if the applet was explicitly created by the user.
idea is still a bit nebulous, did i explain myself enough? ;)</pre>
</blockquote>
<p>On March 28th, 2012, 7:42 p.m., <b>Diego Casella</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;"> <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">From a quick look of the \
code, there's the chance to build the daemon too.. If so, there's no need to \
do all that work :) About the need of the complete UI, we need it only for one \
purpose: select which channel will be the Master channel. I can't list all the \
available channels inside the standard config page (the one which appears when you \
click on the wrench icon in the applet handle), because of scripted plasmoid \
limitiations. But, thanks to the awesome progress made with plasmacomponents, I could \
use your fancy Dialog item to show all the channels available, and allow the user to \
choose which one will be the Master channel :) In this way, we could drop the KMix \
windowed app, keep only the daemon, and talk to it with one (or more) kmix applet. \
What do you think? </pre> </blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I think the windowed app \
will still be needed, since we ain't going to show all the sliders in the applet \
(it will be a complete mess). There may be few sliders users don't want to see in \
applet but still want to control sometimes (as for me, for example, capture sliders). \
Daemonizing is a good idea, but we should think how windowed app should work with it. \
Also, have you seen my implementation of applet ( \
http://quickgit.kde.org/index.php?p=scratch%2Fpoboiko%2Fkmix-plasmoid.git&a=tree \
)? It isn't declarative, but it has more features (since it hasn't \
limitations scripted plasmoids have).</pre> <br />
<p>- Igor</p>
<br />
<p>On March 28th, 2012, 6:49 p.m., Diego Casella wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('http://svn.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;"> <tr>
<td>
<div>Review request for Plasma, Aaron Seigo, Marco Martin, and Christian Esken.</div>
<div>By Diego Casella.</div>
<p style="color: grey;"><i>Updated March 28, 2012, 6:49 p.m.</i></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">First attempt of making a declarative kmix applet for plasma. What the \
apple does right now:
* modifies the volume level and the mute/unmute status of the master channel;
* reacts to changes of the volume level/status (i.e. made with multimedia keys);
* disables the slider if the channel gets muted, and enables it back as soon as the \
channel gets unmuted;
* collapses gracefully in a popup icon when placed inside the panel.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">Tested against r1287510. For basic audio management it works great imho.
However, there is a lot of room for improvements, but this is gonna need some extra \
work outside the kmix applet scope:
* first of all, the applet need kmix executable to run in order to perform the dbus \
calls. You can of course disable KMix tray icon feature but, at every login, KMix \
mainwindow will be shown and the user must closeby hand. This is a kind of ugly \
behavior that should be avoided;
* it will be great to great to add an action to allow the user to select the master \
channel (by reusing KMix "Select Master Channel" widget), but this will \
require tweaking KMix dbus interface;
* as you noticed in the screenshots, the applet in the panel and in the desktop have \
different size even if it __is__ actually the same: something is going wrong when \
plasma shows the PopupApplet. This behavior was even worse when I started \
implementing a "flip" action to change the layout from horizontal to \
vertical and vice-versa, and for this reason I gave up and simply stick with the \
vertical layout.
Could this applet be shipped in the current status, or should we wait for all the \
aforementioned improvements? Comments/ideas/suggestions?
Cheers :)</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>trunk/KDE/kdemultimedia/kmix/plasma/CMakeLists.txt <span style="color: \
grey">(1287513)</span></li>
<li>trunk/KDE/kdemultimedia/kmix/plasma/kmix-applet/contents/code/VerticalControl.qml \
<span style="color: grey">(PRE-CREATION)</span></li>
<li>trunk/KDE/kdemultimedia/kmix/plasma/kmix-applet/contents/code/kmixapplet.qml \
<span style="color: grey">(PRE-CREATION)</span></li>
<li>trunk/KDE/kdemultimedia/kmix/plasma/kmix-applet/metadata.desktop <span \
style="color: grey">(PRE-CREATION)</span></li>
</ul>
<p><a href="http://svn.reviewboard.kde.org/r/6928/diff/" style="margin-left: \
3em;">View Diff</a></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Screenshots </h1>
<div>
<a href="http://svn.reviewboard.kde.org/r/6928/s/627/"><img \
src="http://svn.reviewboard.kde.org/media/uploaded/images/2012/03/28/kmixapplet_400x100.png" \
style="border: 1px black solid;" alt="Applet look in panel and desktop" /></a>
<a href="http://svn.reviewboard.kde.org/r/6928/s/628/"><img \
src="http://svn.reviewboard.kde.org/media/uploaded/images/2012/03/28/kmixapplet_muted_400x100.png" \
style="border: 1px black solid;" alt="Applet look in panel and desktop - audio muted" \
/></a>
</div>
</td>
</tr>
</table>
</div>
</body>
</html>
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic