Search This Blog

Monday, March 7, 2011

Plasma NM: big feature

Now that I have commited the read/save plasmoid state patch it is time to implement a big feature. Before that I must say that there is a bug in Solid's NetworkManager backend, it does not emit the wirelessHardwareEnabledChanged signal. Without that signal the "Enable wireless" checkbox does not work as expected, sometimes it gets disabled (read-only), so I suggest that distribution packagers apply this one line patch to fix the problem. The patch will be available in KDE SC 4.6.2.

Turning the big feature, nothing better to implement than the most hated Plasma NM bug: knetworkmanager does not show system connections. I spend last Sunday trying to understand how to list system connections, that part now works:


Now I need to fill in the blanks in the edit dialog:

As I could see in command line NM shows very few information about my ethernet connection:

For instance it does not show the autoconnect state or if the interface should use DHCP or not. I suppose autoconnect and DHCP are default states, so they are not shown.

I think I can finish a working implementation by the end of this week and post it in git.reviewboard.kde.org for suggestions.

17 comments:

Chris said...

If i'm not mistaken, the guys from Pardus already implemented this. Did you ever think about merging their knm branch?

Unknown said...

This is amazing news! I've been waiting direly for global connection support. This will finally mike the NM applet useable for me.

Keep up the great work!

Anonymous said...

You're a bit late; Dan Williams wants to release NetworkManager 0.9 on March 16, which of course changes everything.

Lamarque said...

@Chris, I was not aware of that. Do you have their contact email address?

@Ingomar, thanks.

Lamarque said...

I am not late. I have until KDE SC 4.7 release date (near August) to finish my implementation. But it is good to know things are going to change before they really change.

I just hope NM guys maintain backward compatibility with 0.8 specification. There are a lot of KDE SC 4.4.x, 4.5.x and 4.6.x users out there that cannot use the 0.9 implementation. I already have some changes in Solid regarding NM that is going to be available only in KDE SC 4.7. At least I still have plenty of time to add more changes by then.

Chris said...

@Lamarque:
http://quickgit.kde.org/index.php?p=clones%2Fnetworkmanagement%2Fgokcen%2Fnetworkmanagement.git&a=shortlog&h=refs/heads/systemwide

That's the branch from the Pardus guy. He hangs around in their IRC channel. No problem to get in touch with him.

Unknown said...

Hi, Lamarque. I'm also a brazillian developer, studying Computer Engineering at Unicamp, 3rd period. Hard linux user since 2004, I'm getting involved with Linux and KDE Community only in the last months.
I'm very interested in help on KDE development, and would be great if someone with your experience could guide me in this way.
I'm python programmer there's some years, and C/C++ only since one or two years.
If you want to contact me, e-mail me.
Thanks very much, and I help I'll be capable to enjoy this great dev community as soon as possible.
http://www.google.com/profiles/andre.vmatos

Luis Augusto said...

I got a big question, I use both KDE and GNOME (among others), but I would love to know why KDE's and GNOME's respective Networks Managers don't use the same configuration, why do I need to put every single WEP/WPA key twice, it's absurd. You're even using the same basic backend.

Lamarque said...

@Luis Augusto, I do not know exactly why. For Plasma NM is natural to use KDE's own configuration classes to save user connections. Of course those classes are not available to Gnome. The same is true for gconf and KDE.

If you save a configuration as system connection it should be available to both Plasma NM and nm-applet, that is the main objective of this implemenation. If you create a system connection in nm-applet it will be available to Plasma NM already and it works. But today you cannot see or edit system connections in Plasma NM, once it is done you could create all your connections as system connections.

As for the crytography key I am not sure if NetworkManager allows to save it with the system connections.

Vladislav said...

very cool work, glad to see you working on this.

Kai Uwe said...

Thanks :) This now rocks.
Although I still think NetworkManager is the worst piece of software I ever encountered (after iTunes of course), this makes NetworkManager a little less of a pain. I always found myself wanting just to click on the “LAN connection” and set a manual IP like you can in Windows for ages without creating a new network connection that is not automatically connected to.
Thanks :)

Lukas said...

How about the cross users support?

Like user has 2 users - Tom and Jon - on same laptop, both uses KDE.

Will it be possible to set network's settings just in Tom's account, but have it automatically on both user accounts?

Lamarque said...

@Lukas, user type connection configuration, including encryption keywords, are still salved in user's home directory, which are only accessible to the owner for security reasons. If you want to share a connection configuration with more than one user you must use system connection instead of user connection.

Unknown said...

Lamarque, I'd posted a comment about the possibility of help u on kde development, but my comment is not in current comment list. You did receive it? Thnks

Lamarque said...

I received it. Your comment was in my blog's spam box, but I receive an e-mail for each comment in my blog, including spams.

Rezza said...

The changes are described here: http://projects.gnome.org/NetworkManager/developers/migrating-to-09/ref-migrating.html

Actually - it should solve the problem with sharing settings between two accounts as all connections are system-wide by default now. Permissions system should be used to restrict access + user secreat agent for storing passwords.

How far are you with System wide Connections implementation? As it's going to be probably the base for implementing 0.9. I hope it's really not meant as F15 stuff...

Lamarque said...

@Chris, thanks.

@Jaroslav "Rezza" Reznik, I have not tested the Pardus implementation. I plan to use it as base since it is already working for some time in Pardus Linux. I do not use Fedora, a Fedora guy contacted me to say that using NM-0.9 in F15 is not decided yet.