new network KCM

Stop me if you can🙂

If you followed my last post about sessionk you might be wondering “what the hell…”, well I like to code on stuff I’m in need, about sessionk I hope soon I give it an update now that I have more or less the whole picture.

So what’s up with networking? If you didn’t see the new plasma network manager go take a look, the greatest thing about it in my opinion is to have new blood around, so when I look at it I decided I should stop complaining and do something I wanted for a long time.

There’s nothing basically wrong with the NM plasmoids, it’s just that for the use case I’m interested in no plasmoid will ever fit it. The Mom’s use-case. If you have non nerd friends, wife, kids, parents that use Linux you know that they will someday call you. And when they do you need some sort of script to diagnose why isn’t “Facebook” opening. My script is like this:

  • First click on the (hmm) icon that looks like (hmm) a dot with semi-curves next to the clock
  • – There’s none.
  • Ok then try to find one that is a square with a smaller square inside
  • – There’s none.
  • Maybe a square with a black empty square in?
  • – Ah ok…
  • – But it says the cable is not connected and I just plugged on the power
  • ….
  • Do you have an wifi right?
  • – I have a Wifi…

As you can it’s hard to describe a plasmoid UI by phone, also the user might have removed the plasmoid from the tray or might be using plasma-netbook (I took half an hour trying to explaing where the K menu was till I figured out it was netbook edition…). Also the current Network Manager KCM only handle connections which means you must have a plasmoid if you want to manage network.

This is where System Settings comes in:

  • The user can’t screw the interface
  • The user can read labels like “networking”
  • It has regular buttons (not flat things that are transparent and hard to distinguish)
  • It offers the possibility of a more advanced user interface

With this new plasma-nm I felt it was just the right time for me to do this, more people active on looking at NM means people can fix your code and the other way too. Last week then I started this and at the same time I tried to give some Qt/C++ classes to Jayson Rowe and we immediately feel that some parts of the API was hard to use, like the IPv4 class was giving you an Int, when I saw this I had no idea how to convert that easily to an string, luckly there is a QHostAddress class that I never had used but it turns out I decided to make libnm-qt actually return a QHostAddress, and I started lot’s of changes on the lib, among them a change on how to handle pointers which has fixed some crashes here.

And here is the first screenshot🙂

Network Manager KCM
Network Manager KCM

If you want to take a look it’s at git://anongit.kde.org/plasma-nm.git

Have fun🙂

new network KCM

5 thoughts on “new network KCM

  1. Yay, we have two toolbars, two titlebars, two statusbars, and tabbed information field, with one absolutely necessary tab. KDE needs to update it’s UI guidelines and enforce them strictly, seriously…

    P.S. Could you explain to me why there’s show connections button? (use case please)

    1. dantti says:

      Yay for homework done! If you did you would know that there is not way to merge toolbars whithout breaking kdelibs.
      Also it’s easy to know a work in progress will soon have more tabs… and there is not a single statusbar.

      All my work is driven by tested use cases, as you can see on the post, the simple reason one can have their wifi card broken by an upgrade and not being able to retrieve the password due to a greyed tab (current KCM) is a good one to me.

  2. You are living proof that small improvements can go a long way. Thanks for not ignoring some of the more obvious things such as a printer manager, software manager (Apper), quicker boots in the future due to sessionk, and now this!

    Also, the new plasmoid and this KCM are both based off Lamarque’s work, correct? I would hate to see that all the time he put into network-manager (due to its lack of documenation) was in vain.

    1. dantti says:

      Thanks.
      Lot’s of stuff comes from Lamarque’s work and previous maintainers, we are using libnm-qt and libmm-qt which I did some API improvements over the last weeks but sadly there is no way not to duplicate part of what he did, but thanks to GPL we can just copy it, I don’t know much about the plasmoid, I understand he will keep that one once the new one can effectively replace it, the code is quite old so having new blood means we can have something refreshed soon.
      For the KCM part it’s basically from scratch since it’s intended to provide all NM features not restricted to only editing connections…

  3. Patrick Häcker says:

    Both your sessionk work and you network configuration work is very exciting. I am really looking forward to have a faster KDE startup and I can deeply feel the need to support the Mum’s use case based on my own experience.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s