> On Aug. 12, 2014, 11:19 a.m., Christian Esken wrote: > > For me it looks fine, with some questions: > > 1) Is this completely decoupled from KMix? I do not see a "open mixer" to > > open the main application. > > 2) Is it supposed to be integrated in KMix > > 3) In general, the question is how to progress from here. Diego, do you > > want KMix integration, or a standalone app? Have any ideas or plans to get > > it in KDE? > > Martin Klapetek wrote: > Note that new work on QML based KMix has started, however this will be > Plasma5 only --> http://apachelog.wordpress.com/2014/08/11/volume/ > > Diego Casella wrote: > I'll recap everything, hopefully once for all.. > This applet is meant to show the availabe mixers (with the option to show > all of them, or just the Master one), and modify/mute/unmute them. That's all. > If you need to change Master channel or in general configure KMix, you > need to run the "old" KMix application. That's why, in the QML applet, I > added a button named "Mixer setup": you click it, and the "old" KMix should > appear (in my opinion QML applets have be minimal and simple, so everything > else must be done in a regular QtWidget based application). > Anyway back on the topic: I said "should" because at the moment KMix does > not appear, complaining that: > > "QDBusConnection: session D-Bus connection created before > QCoreApplication. Application may misbehave." > > This is the reason why I mentioned, in the very first description of this > review request, that KMix needs to be patched :) > As about "how to progess from here", I've mentioned some ideas in the > beginning: > > * patch Plasma QML bindings to provide mouse wheel events, so I can > intercept scroll events in the panel and update volume levels accordingly, > providing the same functionality the current KMix tray icon does; > * patch Plasma QML slider to provide mouse wheel support (don't know if > this has been already fixed in Plasma5); > * patch KMix itself. It should run somewhat "daemonized" and, when QML > applet calls "kmix" the regular, QtWidget-based application, will pop up. > Since in the sourcecode I've seen references to "kmixd", which i think it > stands for "KMix daemon", this may be simple to implement: the daemon > provides the low-level connection to the hardware, and this applet and KMix > itself connect to the daemon (via DataEngine/DBus mechanism) to communicate > with it. > > > That being said: > * I've been trying to update this applet in the last couple of years, but > * since KDE4/Plasma is now in maintenance mode (aka no new featured will > be added), those patches won't happen anymore; > * and since someone is already on the process to "reinvent" the wheel; > > I'm kinda sad/tired of how things went so far. The applet is pretty > functional (I use it on a daily basis), and it could work fine in Plasma5 > too. As far as I'm concerned, at this point I don't see any reason to keep > this review open. If Harald wants to use any portion of this code, I'm 100% > OK with that. > > Christian Esken wrote: > Diego, I am not sure what went so wrong here. I am defintely also not > happy how things went on. What makes me most sad is, that you have a working > QML applet that just needs really minor integration work. All these minimal > issues like "scrollwheel not supported" (1) should really not stop us from > giving the users the option. If they must have scrollwheel or media buttons, > then they can use classic KMix dock. If they want a nicer integrated applet, > they can use your applet (2). It can be a simple option in KMix's > configuration dialog (Dock: Classic, Plasma, Off) instaed of (Dock: On, Off). > > Sigh :-| > > > Whatever your decision is, I can understand you Diego. If you want to > integrate it would make me happy (see some technical tips below). If you do > not want it or you cannot (essential missing plasma features that you do not > want to add yourselves), then it is possibly better to close this review > request. > > --- Technical notes ----------- > > About daemonizing KMix: That exists since forever: Simply disable "dock > into systray" and close window, and KMix will vanish forever. The "KMix will > show its GUI at every login" behavior/issue is gone since the support of > hotplugging. To show (I cannot remember that you ever mentioned problems with > that before) just do a DBUS call "show" on the Window (a standard for all Qt > windows). If you want to try that, please head along. If > > Side note (as you mentioned it): There is also a real daemon (technically > a kded module), but KMixD daemon has no GUI, and proviees just a Mixer DBUS > interface. > > ---- > (1) Some ramblings about QML/Plasma: Things seem to progress sometimes > slowly or not at all in QML/Plasma. Though much has happened Plasma/QML seems > to still lack features. Initially there were no sliders at all in Plasma, and > I knew it would be a very rocky way to get all the features in, like to add > missing stuff like "mousewheel over slider". Then I made a clear decision to > keep my foot out of QML completely. > > (2) I actually still do not understand if integration can now be done or > not. There was this mysterious comment "it would be pretty trivial to add a > check in the systemtray [...]" that sounds like somebody needs to take > responsibilty and add that. > > Aaron J. Seigo wrote: > <disclaimer>I am have not been involved with Plasma for almost a year, > but I keep getting CC'd on the comments here. ;)</disclaimer> > > Firstly, Christian is the maintainer of KMix. It is ultimately his > decision if this goes into kmix or not. Plasma developers can and should > provide feedback because that is where the experience and expertise around > QML in a Plasma workspace exists, but it is ultimately Christian's decision. > If the Plasma team has some wishes in how KMix goes forward, they should > coordinate those through Christian. This is basic common sense and courtesy > for KDE's culture of development. So if Christian is happy with it, he should > be able to push this into the kmix repository, end of story. > > Wheel events: they are well supported by QML2. There is *no reason* that > they are not made available here. The MouseArea item gets wheel events; if > anything what is called for is a "acceptWheelEvents" property on the iconic > version of applets and hook those up to some signals for applets to get > access to. For all the discussion about it, someone could have instead put > such a patch in place. > > Christian: as for your ramblings, they are unecessary and innacurate. I > get that you would have liked to see this go faster and as the maintainer of > kmix I totally understand that. But adding complaints about another project > doesn't move anything further, it just increases the chances of people > deciding not to work with each other. To address the content of your > concerns: there have been sliders in Plasma pre- and post-QML for just about > forever. There may have been short period of time when the QML widgets were > first being made that there wasn't a QML slider, but that certainly wasn't a > long period. Also, adding mousewheel over slider is a trivial patch if it > isn't already there. (I haven't tested the QML2 slider for this at the time > of writing, so it may already be there.) > > "There was this mysterious comment "it would be pretty trivial to add a > check in the systemtray [...]" that sounds like somebody needs to take > responsibilty and add that." > > Let me take the "mystery" out of it: in Plasma 4 it had not yet been > decided how precisely to handle this. It was a "nice to have" feature and > many other things were still on the "must be done" list. In Plasma 5 there is > now an implementation: > http://vizzzion.org/blog/2014/02/dbus-activated-systemtray-plasmoids/ > > So KMix should just need to have a DBus service it registers and the kmix > applet should magically appear if it exists. What isn't there, at least > afaict, is a way for kmix to know if the widget has appeared (and if not, > show its old KSystemTrayIcon based UI). This could be done with another dbus > service on the applet side that kmix watches for, but even then ... the more > fundamental question for kmix looms: > > Is KMix meant to be a tightly integrated part of a Plasma workspace, or > is it intended to be used in any "random" desktop environment? > > Personally, I think there is a lot to be gained both in terms of user > experience and simplicity in development for kmix to be Plasma-focused, and I > don't think there are nearly as many users of KMix outside of Plasma as there > are that use KMix with Plasma (I would expect it to be a "rounding error" > type number). But that's your call, Christian. > > If KMix does focus on Plasma, then a QML plasmoid with DBus activation as > described in Sebas' blog entry above is all that is needed and this could go > into kmix tomorrow at Christian's descrection.
@Christian and @Aaron: thanks for your replies :) This morning I've modified a little the sourcecode in order to call "qdbus org.kde.kmix /kmix/KMixWindow org.qtproject.Qt.QWidget.show", disabled the "old" KMix tray icon, and it works. It's kinda clumsy, but it works :) Regular KMix widget gets displayed when the corresponding button is clicked, and it won't appear at login anymore. These are already great news for me :) Now, I think we have some options here: * ship this applet _as is_ in KDE4, it is functioning afterall; * port and/extend/improve this applet to get the most out of KDE5/Plasma/QML2; I'm ok with both of these, now you guys tell me what do you think. - Diego ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/112208/#review64369 ----------------------------------------------------------- On May 4, 2014, 9:46 p.m., Diego Casella wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/112208/ > ----------------------------------------------------------- > > (Updated May 4, 2014, 9:46 p.m.) > > > Review request for Plasma, Aaron J. Seigo, Christian Esken, Marco Martin, and > Igor Poboiko. > > > Repository: kmix > > > Description > ------- > > KMix qml applet. > As you can see from the screenshot, the applet is pretty much functional: you > can display all the controls available, change its orientation, and decide to > whether show all of them or just the Master Control, and refresh its status > when new controls are added/removed/updated (such as Amarok current playing > track). See screenshots below :) > Differences from the old kmix tray: > * no media player controls ( I never investigated how to get them, but > honestly opening the audio applet to change/skip/pause audio track makes > little sense to me ... if anyone wants this feature back, don't be shy and > step in); > * the button used to select which Mixers are visible has been changed to open > Phonon kcm page: since visible mixers are already configurable from KMix app, > having a button to show KMix *and* a button to modify Mixers visibilty made > little sense here too, so I preferred to give more visibility to Phonon kcm; > > Known issues: > * there is still no way to get notified of mouse wheel events over the > popupIcon, so it is not possible to scroll over to increase/decrease the > master control volume; > * no scroll events over the sliders too; > * if you want to use the applet you most likely will disable KMix tray icon > but, if you do so, KMix will show its GUI at every login and you have to > close it manually. This requires KMix to be patched. Furthermore, if you > click "KMix Setup" button, KMix window will not restored anymore: this needs > to be pathed as well. > * resize doesn't work properly. > > > Diffs > ----- > > plasma/kmix-applet-qml/contents/ui/HorizontalControl.qml 7e87c8e > plasma/kmix-applet-qml/contents/ui/HorizontalMixerListDelegate.qml 26f2968 > plasma/kmix-applet-qml/contents/ui/MixersList.qml 66bda73 > plasma/kmix-applet-qml/contents/ui/VerticalControl.qml 1702be7 > plasma/kmix-applet-qml/contents/ui/VerticalMixerListDelegate.qml bab9ac6 > plasma/kmix-applet-qml/contents/ui/kmixapplet.qml eecb91c > > Diff: https://git.reviewboard.kde.org/r/112208/diff/ > > > Testing > ------- > > Tested against master and works fine. > > > File Attachments > ---------------- > > Default look > > https://git.reviewboard.kde.org/media/uploaded/files/2013/08/22/kmix_applet.png > Menu Actions > > https://git.reviewboard.kde.org/media/uploaded/files/2013/08/22/kmix_applet1.png > Applet Config Options > > https://git.reviewboard.kde.org/media/uploaded/files/2013/08/22/kmix_applet2.png > Vertical Control > > https://git.reviewboard.kde.org/media/uploaded/files/2013/08/22/kmix_applet3.png > ToolButton label and Config page after updates > > https://git.reviewboard.kde.org/media/uploaded/files/2013/08/24/kmix_applet5.png > Control Icon and Label left aligned > > https://git.reviewboard.kde.org/media/uploaded/files/2013/08/27/kmix_applet6.png > Kmix, horizontal view > > https://git.reviewboard.kde.org/media/uploaded/files/2014/05/04/9d6b0ca4-5a75-45cc-ab8e-61b13d4079e6__kmix_horizontal_new.png > Kmix applet, vertical view > > https://git.reviewboard.kde.org/media/uploaded/files/2014/05/04/7efb308a-c306-47c2-883f-64d1f32db5b5__kmix_vertical_new.png > > > Thanks, > > Diego Casella > >
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel