Resurrecting KMilo or Removing KMilo's KMix interface?

Christian Esken esken at kde.org
Tue Aug 26 21:58:48 BST 2008


Am Mittwoch, 20. August 2008 schrieb Aurélien Gâteau:
> Jonathan Riddell wrote:
> > There's no need for a separate application, kmix is best places to
> > handle volume keys.  Here's a patch which adds support for them to it.
> > 
> > http://www.kubuntu.org/~jriddell/tmp/kubuntu_02_kmix_keyboard_shortcuts.diff
>
> Hum... indeed that's a much simpler approach :) the only drawback is 
> that it requires KMix to be started at session startup, but it sounds 
> sensible to do so IMHO.

Distributions usually make sure of that. But it would be more straightforward if KMix would reside in kdebase.

Can we do the KMix move to kdebase for KDE4.2? I don't think it is too late.

There was a consensus to do this (see the the thread "kmix -> kdebase" on kcd - http://lists.kde.org/?t=111935611200006&r=1&w=2). I wasn't aware how to do that and didn't pursue it at that point of time, but I still think it would be a good idea.

> Is it just experiments or do you plan to apply this? I for one would 
> like to have it in.
> 
> Aurélien
> 

Hello,

good initiative. I like that patch. :-)

I'm realy in favour of getting rid of KMilo's global shortcuts, for the following reasons:
1) While it sounded like a good concept, it has proven to be a permanent trouble maker (I guess I handled at least 30 b.k.o. bugs about it).
2) Fixing things in KMilo is a pain. You have to implement everything n times (for each Laptop type), so nobody does this. Bugs fixed for Acer laptops are still there for IBM laptops or the generic PC backend.
3) KMilo launches KMix if it is not running. This has produced several other interesting bug reports in the past.

Thus I'd like to remove KMilo's KMix interface for KDE4.2. Does everybody agree with that?

Just a couple comments about the patch:

1) About the "FIXME, don't hardcode deviceids" in the patch. Instead of "Master:0", md->id() should be used as detailed below:
void KMixWindow::slotIncreaseVolume()
{
  Mixer* mixer = Mixer::getGlobalMasterMixer(); // only needed for the awkward construct below
  MixDevice *md = Mixer::getGlobalMasterMD();
  md->playbackVolume().setSwitch(true);
  mixer->increaseVolume(md->id());    // this is awkward. Better move the increaseVolume impl to the Volume class.
  // md->playbackVolume().increase(); // not yet implemented
  showVolumeDisplay();
}

2) About the "FIXME, how ... for the first time?"
I haven't understood the issue. We can possibly discuss this on private mail, Jonathan.

   Christian

-- 
Things should be made as simple as possible, but no simpler. 
  - Albert Einstein




More information about the kde-core-devel mailing list