Search This Blog

Thursday, November 28, 2013

Plasma NM

Plasma NM

SHA256Sum: dce8d080256f1c2a6b70d61cb46e623839f6c0a0f260a6901d9ad68746ce7dfc

Diffferently from what I wrote in Plasma NM release notes this version supports NetworkManager 0.9.6.x and 0.9.8.x as requested by some users. However, this version still requires NetworkManager 0.9.8 for connection activation error notification to work properly. If you use it with NetworkManager 0.9.6.x do not report bugs regarding Plasma NM's notifications. You can still disabling them if they do not work properly for you.


299863: Fix crash when adding WPA2 Enterprise connections.
. Re-add support to NetworkManager 0.9.6.x.
. Add IPv6 information into connection details.
324880: Fix signal quality and access technology updating for 3G connections.
. Small optimization: disable updating traffic plotter if popup is closed.

The following languages have more than 80% of strings translated:

bs ca cs da de el es et fi fr gl hu ia it kk km ko lt nb nds nl pl pt pt_BR ro ru sk sl sr sr@ijekavian sr@ijekavianlatin sr@latin sv tr uk zh_CN zh_TW

Also read some very usefull information about how to use and avoid problems when using Plasma NM in my past posts page.

Thursday, November 21, 2013

NetworkManagerQt Released

For those interested in programming with NetworkManager using Qt here is the lastest NetworkManagerQt library. This new version supports NetworkManager 0.9.8 and is the backend used by the new Plasma NM applet.

ModemManagerQt 1.0.0 Released

ModemManagerQt is a Qt library to talking to ModemManager using dbus. Today I am glad to release the third version version of this library. The main difference here is the support to ModemManager from 0.8 up to 1.0.

One of the cool uses of ModemManagerQt is the SMS sending/receiving support in KDE Telepathy.

Get the source code here.

Wednesday, November 13, 2013

Plasma NM: very important (old) news

Hi guys. Just to keep it clear: since the release of the new Plasma NM applet (version 0.9.3) the networkmanagement repository is mostly deprecated. Only NM/0.9 branch has any use (for now). That branch holds the old stable Plasma NM 0.9.0.x version. The one that I release from time to time since October 2011.

Unless you have a patch to fix one of bugs in the old Plasma NM 0.9.0.x you should use plasma-nm repository instead of networkmanagement. There is even a frameworks branch in plasma-nm, so it already works with frameworks5, which networkmanagement does not.

Sunday, September 15, 2013

ModemManagerQt 0.5.1 Released

Well, less than one week from ModemManagerQt's first release now it is time for the second release. I take the blame for this, I forgot to review a patch needed by KDE Telepathy's SMS sending feature. That is an important feature, so I decided to do a new release to make it work properly.

Plasma NM: current and future

As you may already know a new Plasma NM applet was released last week, which means that Plasma NM 0.9.0.x is deprecated from now on. I will release Plasma NM eventually to fix bugs already reported against For those who can I advise to upgrade to the new Plasma NM applet.

To upgrade to the new applet you must first disable the old applet's plasmoid and kded modules. You can do that in systemsettings -> Startup and Shutdown -> Service Manager. Stop and uncheck "NetworkManager User Settings Service" then click on the "Apply" button:

To remove the old applet right click on the system tray applet's small triangle (the one that shows "Show hidden icons" tooltip) then "System Tray Settings" -> Display -> Extra Items. Uncheck the "Network Management" item that has a icon similar to a N letter, then click on the "Ok" button:

Bugs against the new applet must be reported in under product plasma-nm. Please do not report bugs against the new applet under "Network Management" product, that one is reserved for Plasma NM 0.9.0.x bugs.

The Future of ModemManagerQt and NetworkManagerQt

Now that the first release of MMQt 0.5.0 and NMQt 0.9.0 are online it is time to think about what else we can do with/for them.

MMQt 0.5.x is behind current stable ModemManager version (1.0) not only in version number but also in API compatibility (MMQt 0.5.x does not work with ModemManager >= 0.7). MMQt 0.8 is going to support ModemManager 0.7 API and is currently being developed in mm08 branch. I plan to merge mm08 into MMQt master branch soon, so anybody using MMQt master branch (e.g. Plasma Active) should point your build scripts to MM/0.5 branch instead of master from now on. The same is valid for NMQt: point to NM/0.9 branch instead of master.

We plan to release MMQt 0.8 as soon as possible. However no release date has been set yet, the date depends mostly on the two developers that are working on that part (Lukáš Tinkl and Anant Kamath). I wanted to thank them for taking over that job, I am really short on free time in the last months. I would not be able to port MMQt to 0.7 API without help since there are some fundamental changes to implement. Remember NetworkManager 0.8 to 0.9 transition? It is something similar in ModemManager 0.6 to 0.7 transition.

Turning to NMQt. Things there seems more calm than for MMQt, no big API changes in sight. Dan Williams, help me when NetworkManager 1.0 is released, ok? hehe.

For NMQt I plan to improve current documentation and fix reported bugs. Talking about bugs, you can report bugs in under product solid components networkmanagement (for NMQt) and networkmanagement-mobile (for MMQt).

PS: I will talk about Plasma NM 0.9.0.x and Plasma NM 0.9.3.x in another post.

Monday, September 9, 2013

NetworkManagerQt 0.9.0 Released

After a long awaiting I am glad to announce that the first release of NetworkManagerQt is available for downloading. The (short) announcement is available in NetworkManagerQt's project page.

Both NetworkManagerQt and ModemManagerQt are dependencies for the new Plasma NM applet. There are still rough edges to polish in NetworkManagerQt, specially in documentation, we are going to fix them in the next releases. Talking about documentation it is available through doxygen (read project's page for instructions). There is also two example programs to list device's properties (ip address, gateway, static routes, dns, etc) and to create wifi connections.

ModemManagerQt 0.5.0 Released

After a long awaiting I am glad to announce that the first release of ModemManagerQt is available for downloading. The (short) announcement is available in ModemManagerQt's project page.

Thursday, August 15, 2013

kwin and catalyst drivers

Today I have upgraded my notebook to 4.11.0. Almost everything worked out of the box, the only exception was kwin's compositing support.

Just for clarify I use the catalyst drivers (AKA fglrx, AKA ATI/AMD's proprietary graphical drivers) because only catalyst can control my notebook's fan. I have tried the opensource driver but my notebook's bios does not provide the gpu profiles required to make the dynamic clock support in the opensource driver to work, so I am stuck with catalyst.

Looking at ~/.xsession-errors I could see those messages:

OpenGL vendor string:                   ATI Technologies Inc.
OpenGL renderer string:                 ATI Mobility Radeon HD 4500/5100 Series
OpenGL version string:                  2.1 (3.3.11672 Compatibility Profile Context)
OpenGL shading language version string: 
Driver:                                 Catalyst
Driver version:                         2.1
GPU class:                              R700
OpenGL version:                         2.1
GLSL version:                           0.0
X server version:                       1.12.4
Linux kernel version:                   3.10.6
Direct rendering:                       no
Requires strict binding:                yes
GLSL shaders:                           yes
Texture NPOT support:                   yes
Virtual Machine:                        no
kwin(17322) KWin::checkGLError: GL error ( Init ):  "GL_INVALID_ENUM" 
kwin(17322): OpenGL 1 compositing setup failed 
QObject::connect: Cannot connect (null)::resetCompositing() to KWin::Compositor::restart()
kwin(17322): Failed to initialize compositing, compositing disabled

For some reason kwin does not detect that my notebook's setup is direct rendering capable. After some research I have found out that setting those two environment variables make kwin work with direct rendering:


To make changes permanent you can write the lines above to a file script like /etc/profile.d/ That works for bash, if you use another shell then you need to figure out how to set environment variables for it. Then you can logout and login and kwin should work. If you do not want to logout you can just run those two lines above and then the command below:

kwin --replace &

KWIN_COMPOSE=O2 means to use OpenGL2 according to kwin's wiki page and by the message above kwin was trying to use OpenGL1. Well, for anybody with the same problem that is a workaround for it :-)

Update: bug entry about this issue:

Thursday, July 18, 2013

Internationalization (aka i18n) in the new Plasma NM applet

Akademy 2013 is in its final days. Yesterday we had our day trip (or survival training day hehe, look at my Akademy 2013 photos from yesterday to see what I mean). I really liked the day trip, I like doing long walks.

At the end of the day trip we went to a restaurant to have dinner. I end up in the same table with the Italian guys. During our chat Luigi Toscano, from the KDE translation team, told me about what he did to translate the new Plasma NM applet faster. Since the new applet shares most of the strings with the current Plasma NM applet (in networkmanagement repository) he copied the .po files for Italian language from networkmanagement (current applet) to plasma-nm (new applet) and configured Lokalize to merge the strings. Sorry, I do not know the exact steps to do that in Lokalize.

Other translation teams can do the same to speed up translating Plasma NM to their languages. The same can be done when we create a new repository with code (or more precise, strings) copied from another repository. In Plasma NM case the new repository is a complete rewrite of the backend libraries and plasmoid from networkmanagement repository. However, the edit connection dialogs, which contain a lot of translatable strings, are very similar between the two repositories and share most of the strings with the current applet.

Thursday, June 20, 2013


After reading dfaure's blog post, specifically his complaint about libnm-qt requiring NetworkManager 0.9.8, I was compelled to write post. Firstly, I must say that today marks four months that NetworkManager was released, it should be packed by distributions already. NetworkManager is two weeks old now.

NetworkManagerQt (aka libnm-qt) is a work in progress library and I am working on to make it ready for its first release. There are some useful features in NetworkManager 0.9.8.x that does not exist in 0.9.6.x:

  • wifi ap-mode for more stable and secure wifi connection sharing. This is the main reason for using NetworkManager 0.9.8;
  • bridge support;
  • more connection states to correctly handle notifications about... guess what? Connection states.

Even Plasma NM now depends on NetworkManager 0.9.8.x because of bug 320533. Ok that 320533 is a small bug, if you do not want or cannot upgrade NetworkManager to 0.9.8.x you can still use Plasma NM, there is little difference between Plasma NM and However, I think it is reasonable that NetworkManagerQt depends on the latest stable NetworkManager version. After all NetworkManagerQt is not a stable library yet, we do not even keep binary compatibility for now. Sure we are going to keep binary compatibility from first NetworkManagerQt release on though.

I plan to keep NetworkManager as dependency for NetworkManagerQt (first release), so this problem should be mitigated as distributions continue to pack NetworkManager 0.9.8.x. Minimum NetworkManager required is going to be bumped only when really necessary, which was the case for the wifi ap-mode.

Sunday, June 16, 2013

Plasma NM

Plasma NM

SHA256Sum: d6a7603df2a48e14cef4c44dcaee5773d7ed3cad5b8780307b356df4639231ca

This version requires NetworkManager 0.9.8 for connection activation error notification to work properly. You can even compile it against NetworkManager 0.9.8 and run it with NetworkManager lower than 0.9.8 but the mentioned notification is not going to work properly if you do it.

This version is also bigger in size because the ModemManager backend was moved from kde-workspace's master branch to networkmanagement's nm09 branch. It will be installed as "ModemManager backend 0.5". For KDE <= 4.10.x users this means you will have to ModemManager backends installed (one from kde-workspace and another from Plasma NM). The one in Plasma NM should have higher priority by default. As long as you have not changed backend priorities using systemsettings -> Information Sources everything should work. If you have then make sure "ModemManager 0.5" has higher priority than "ModemManager 0.4".


320533: Fix connection failed notification triggered despite successful connection.
317700: Attempt to prevent crash when restarting NetworkManager.
319257: Fix updating gsm access technology and allowed mode.
320153: Add missing icons for kde-workspace >= 4.10.60 (future kde-workspace 4.11). This does not affect 4.10.x users.
. Show IPv4 gateway in interface details.
. Use UTF-8 for wifi SSIDs.

The following languages have more than 80% of strings translated:

bs ca cs da de el es et fi fr gl hu ia it kk km lt nb nds nl pl pt pt_BR ro ru sk sl sr sr@ijekavian sr@ijekavianlatin sr@latin sv tr uk zh_CN zh_TW

Also read some very usefull information about how to use and avoid problems when using Plasma NM in my past posts page.

Monday, June 10, 2013

My work in basysKom

As you probably already know I work for basysKom, a German company that also employ other KDE developers and strongly supports Plasma Active. You can even download Plasma Active live/installation images from basysKom's servers.

I work for basysKom since late 2011 and one of my first assignments was to contribute to Plasma Active, but some of my work for basysKom reached Plasma Desktop as well.

Another big contribution to KDE came last year when basysKom sponsored me and other developers to rewrite Ark (KDE's archive program). All the changes we did are in basyskom branch in Ark's repository. I will talk about the changes we implemented in another post.

Now you must be asking why those changes are not in Ark 4.10 already and even not merged into (the yet to release) Ark 4.11. Well, at least they are listed  in kdeutils 4.11's schedule. The fact is that reviewing all 284 commits in basyskom branch takes a lot of time. Ark's maintainer also asked us to edit several commits, which slowed down the reviewing process even further. Only today I have finished rewriting the commits according to Ark maintainer's comments (or most of the comments).

The new branch now contains 181 commits and:

  1. Comply with kdelibs's code style;
  2. Use the correct data structure names (QVariantList instead of QList);
  3. Do not generate compiler warnings;
  4. Use kDebug() instead of qDebug() and kDebug(1601), where 1601 is Ark's debug area;
  5. Removed unneeded empty lines;
  6. Most of the "undesired" massive text reformatting were removed as requested by Ark's maintainer;
  7. Several commits were squashed (merged) when it makes sense, then the total number of commits is now way smaller;
  8. Another reason for the smaller number of commits is that I removed of the features we (from basysKom) implemented: the "fix file name encoding" feature, which is an heuristic to guess the file name encoding and convert it to UTF-8. The heuristic works for German language only so I decided to remove it and rework it later to make it support other languages, if possible (guessing file name encoding is very error prone);
  9. Another reason for the smaller number of commits is that I removed/edited the commits that added/updated German translation files. This was a requirement by the time we implemented those changes. However, that was not according to KDE's policy so I removed them.
Unfortunately, I have not been able to do all the changes asked me to do, such as rewriting all the commit's messages in git-format. I am constantly rebasing the branch so I cannot edit the commit's messages or I would lose the only thing I can use to compare the original commit with the new commit in the rebased  branch. Another change I have not done yet is removing the copy of KNewPasswordDialog and KIO::RenameDialog classes that resides in kerfuffle/kdelibs. We needed to implement some UI changes in those dialogs, copying them were the fastestes approach. Now we need to discuss which of the changes in them can go to frameworks5.

By the way, the rebased branch is in one of my scratch repositories now. I must say that editing all those commits in the past months has been an extremely boring task :-/, it resumes to 0 features added, 1 feature removed and a lot of text editing, no developer likes that. Here I must give basysKom a big "thank you" for sponsoring part of that boring task and for sponsoring all the work we did in Ark last year.

I am not confident that the commits will make it to Ark 4.11. I have done part and now I need help to test the end result. If you want to test the new Ark you will need to clone the rebased branch and compile it yourself. The compilation process is:

  • git clone git://
  • cd ark2
  • git checkout ark2
  • mkdir ../ark2_build
  • cmake -DCMAKE_INSTALL_PREFIX= ../ark2
  • make
  • make install
The new Ark mainwindow looks like this:

When you open a file (or archive in Ark's jargon) it will look like this:

Yes, 7z support is one of the new features we implemented in Ark :-) We also implemented (read-only) support for split archives (AKA multi volume archives). All the new features are listed in the CHANGES file in the rebased branch. You can also see the list of all contributors to Ark in app/main.cpp file, including the four basysKom developers (me included) that worked in this project.

Stay tuned for more post about the new Ark.

Wednesday, June 5, 2013

I’m Going to Akademy 2013

After missed Akademy last year because of my daily work I am happy to say I'm going to Akademy 2013 :-) Today I have bought my flight tickets after two days trying (problem with by credit card). Damn those tickets are expensive and that two days delay made them even more expensive :-( The dollar climbing fast against the Brazilian Real does not help either. Well, now is waiting for the bill to come next month :-/

One of the things I want to do by Akademy date is releasing libnm-qt, libmm-qt and plasma-nm (new applet for network management). Unfortunately, due to personal issues in the past months I could not work on Plasma NM as much as I used to. I am still not pushing many commits to the new Plasma NM repo (git://, just testing, searching for bugs and warning other Plasma NM developers about the problems I find (specially regressions compared to the (now) old (new as in "not released yet") applet in git://'s master branch :-/

networkmanagement repo contains three applets now. One that I release from time to time (nm09 branch), a new applet still using QGraphicsView (NM/0.9.1 branch, never released and unmaintained) and a version of that last applet made in QML (master branch, used in Plasma Active for instance). Well, the code in all those three applets are large and complex to deal with, so some developers decided to create a new applet in git:// The new applet is almost all made in QML (even the applet in networkmanagement's master branch is mostly C++). It should also be easier to maintain and its source code is way smaller compared to the old applet. But we are still working on to port/polish features in the old applet to the new one.

I am running both applets at the same time in my notebook for several weeks now, it works for debugging, but that is not exactly a supported configuration. The secret agent in the new Plasma NM repo also is more complaint to NetworkManager's specification, but also not well tested. By the way, when reporting bugs to the new applet use one of the plasma-nm-* components instead of "Network Management".

Some distributions has started creating packages for the new applet, so you can try those packages or compile it yourself (libmm-qt and libnm-qt are required). NetworkManager is also required by libnm-qt and the new applet.

See you in Bilbao :-)

Saturday, May 25, 2013

Interesting apps for Samsung Galaxy S2

aCalendar: Works ok, no force close (fc), shows my contact's brithday's without any need to configure that (may it synchronized with my google's calender, do not know). Interesting app to have installed.
Advanced Task Killer: Quick way to close apps, helps preventing apps from wasting battery.
AirDroid: Control your Android from any browser. That is usefull to use a laptop's keyboard to type SMS or exchange files to/from the phone for instance.
AndChat (Free): For those who still use irc this is really good irc client.
Andro12C financial (free): If you need to calcule amortizations this is very handy calculator.
BusyBox: Command line for Android, very useful when used together with 'adb shell' command from a laptop.
CamScanner -Phone PDF Creator: Scanner app. I was not very faithful about this app before I tried it. It really did a good job in my tests, the app crops and tries to undo image distortions (because of shaking hand) so the final image is a perfect rectangle, I was not expecting it to do that. The final result is really good as long as you can make the camera to correctly focus the paper. In my case I enabled macro focus, anti-shake and configured the camera to focus on the part of the paper that has letters in it (if you try to focus a empty part of the paper the camera does not correctly focus).
Coffice: Calligra Office from KDE :-) I am a KDE developer so this is a bias review  hehe. However I am not a Calligra developer so do not ask me any details about its source code because I do not know. This apps reads OpenOffice/LibreOffice documents, I have not tried to open Word or Excel documents but I guess it is capable of it too. The installation takes more than usual space because it needs to download Qt libraries (Coffice is written in C++, so it is not a native Android app, which are usually written in Java).
ColorNote Notepad Notes: I had to find a new one after I installed Chameleon in my Samsung Galaxy S2 since Chameleon does not come with a note app.
CPU Spy Plus: Usefull for detecting if the CPU is not in deep sleep, which usually means some app is taking CPU and consequently battery power.
English Dictionary - Offline: English dictionary, handy.
GetRIL: Test if the modem driver (the one used for 2G/3G audio and data connections) matches (is suitable for) the library (called ril) Android uses to handle it. If they do not mach it can mean the modem may not be using some features to save power or even the modem is not working properly. My current ril does not match my modem's firmware and I have not seen any real issue yet, so do not take the words above as a garantee of problems if the modem and ril do not match.
File Manager: Advanced file manager for advanced users :-) Allows mounting /system as read-write if the firmware is rooted. Just do not mess with files in /system or you will have to re-install Android. In case you mess with /efs even re-installing Android will not be enough to make the phone works again with your operator's network. Be carefull.
Globo News: This one is for Brazilians or anyone that can listen to Brazilian Portuguese. This is an app that receives video streams from the biggest Brazilian news tv channel (kind of a CNN for Brazil).
GSam Battery Monitor: Shows how much battery each app or system component used, also estimates how long the battery is going to last until needs to be recharged. Very handy for battery hungry apps users or just to identify why the battery does not last long.
MoboPlayer: Video player. Plays mp4 and rmvb, which are the most interesting ones for me, probably plays other formats too.
Network Monitor Mini: Show download/upload speeds on the screen all the time (it is always visible). I like to see in real time how my operator network's speed varies, just for curiosity :-)
Network Signal Info: Another app just for curiosity hehe. Show signal strengh for wifi and cell radios with graph.
Nova Launcher: App launcher, I like this one better than the default aokp (Android Open Kang Project) one that comes with Chameleon.
Offline dictionaries: Offline translation dictionaries (includes English <-> Brazilian Portuguese).
Palmary Weather: Weather app with detailed weather information, such as hourly weather forecast. Very cool.
Pianist HD - Finger Tap Piano: Very cool piano app, try it.
Screen Filter: Creates a shadow to make the screen darker. Theoretically that helps saving battery for oled screens (does not work with TFT screens used in Sony's phones for instance). Another diagnostic tool, this one measures network speed and is probably well known by many people.
Titanium Backup ★ root: Very handy app to backup other apps and their configurations. Android already saves Android's apps list on your google account, but as far as I can tell it does not stores apps configurations, so this one does all the job you need to fully restore your apps after a firmware re-install for instance.
TrackID™: Play a small sample of any song with this app opened it will (if there is Internet available) detect which song is being played. Very cool.
Trainer PRO Run, walk & bike: I like riding a bike and as a curious person I wanted to know how much time, how far and how many calories I spent when doing my usual bike circuit.
TuneIn Radio: When I get bored with my in the air fm radio app I like to use this one to listen to other radios :-)
WiFi TXpower: Decrease (or increase) wifi card's tx power. Decreasing tx power helps saving power and if the access point is very close (a few meters without any wall in between) that also helps decreasing radio interference. Increasing tx power helps signal strength if there are obstacles between the phone and the access point.
Z - Device Test: Diagnostic tool, shows a lot of details about the device, very interesting.
ZEDGE™: Allows downloading wallpapers, ring tones and other stuff to customize your device. Very cool.

Chameleon v3.0.2 for Samsung Galaxy S2

Last month I decided to install a new firmware in my Samsung Galaxy S2. There is some time that I am watching the comments about Chameleon. What interested most about it is the fact that it preserve the fm radio receiver app from Samsung. In despite of what most people think I really like to read fm radio  when I am travelling and and online radio is very costly when I outside my country (Brazil) and 3G connection takes much more battery juice than in the air fm radio.

Reasons apart I installed Chameleon and I kind of miss or dislike some things compared the original Samsung firmware:

  • the ring and alarm tones that comes with Chameleon are not for my test. That is not nothing that Zedge could not fix.
  • the alarm app requires more taps to configure.
  • the message app uses white background. I like dark themes for oled screen devices (helps to save power).
  • I also does not like the Google seach/voice incorporated into the homescreens so I installed Nova launcher instead since there is not way to disable that.
  • Thanks for jazzk to add a option in Chameleon 3.0.2 to disable the crtoff effect. I really does not like it.
  • I rather prefer the swype keyboard than the default Google's one. The Google one is not as accurate as swype and show less keys.
  • it does not come with a note app by default. ColorNote Notepad Notes is a good one that I installed.
  • for some reason I think my secreen's minimum brightness is now greater than Samsung's original firmware, that means the battery lasts less then it used to be. I have not measured that to confirm.
Now the things I like in the firmware:

  • Fm radio support :-D .
  • it is smooth and fast.
  • I like the darker theme and icons compared to the original Samsung firmware.
  • I like romcontrol feature to change and reorder launchers in notification area (it could have more options like powertoggles has though).
  • the Samsung camera app is present in this rom. I am used to it so it is good that I do not need to learn how to use a different one.
Overall I think this is a great firmware and worth trying, specially if you want to get rid of the bloatware that comes with Samsung's firmware.

Friday, April 19, 2013

Solid Forge 2

Some of you may have noticed that there are some KDE sprints happening right now. One of them is Forge 2, the Solid sprint. If you do not know what Solid is you should be ashamed. Everytime you configure a network connection, change screen brightness, use a bluetooth device, insert a usb stick and Device Notifier pops up it is because Solid is working to make that happen for you. Solid abstracts the computer hardware and makes it simpler to create programs that helps the user to control their computer's hardware.

As the maintainer of network management in KDE I am really interested in making things work better and better in Solid, not only for network management. The sprint started last Thursday and I finally met the guys from RedHat, which by the way are hosting Forge this year. I was particularly interested in meeting them because they have been doing a good work in improving NetworkManagerQt library (yes, former libnm-qt changed its name again) and creating a new applet for NetworkManager. Both the current applet (in networkmanagement repository's master branch) and the new one (in plasma-nm repository) share NetworkManagerQt library. One of my wishes for NetworkManagerQt was to move the dbus parsing code from networkmanagement to it. Now that is a reality thanks to Jan Grulich (one of our RedHat hosts). I also need to thank Lukáš Tinkl and Daniel Nicoletti for their work on improving NetworkManagerQt.

The list of things to improve in the new applet and in network management in general includes several items. We are going to discuss those items and tackle them in the next months. It also good to know that there are some GSoC candidates interested in working in KDE's network management :-) This year looks promising for KDE's network managment.

PS: Today we finally removed Solid::Control from kde-workspace (yeah!!) One step ahead to simplify libsolid.

Migrating to kmail2

Ok, I know, migrating to kmail2 is old news now. But only today I decided to try migrating to kmail2. Gentoo is going to remove kmail1 from their repository in a few months so I did not have much of a choice.

My kmail1 configuration included one pop3 account, one gmail account and some local folders. The migration process finished and then nepomuk started indexing my e-mails (my laptop's fan screamed for several hours hehe). During the indexing process kmail2 exited with the message "Failed to fetch the resource collection". After some search on google I found this blog that explained how to fix that (it is simple, really). Then I had a problem with e-mails not being sent. The error message talked about mailfilteragent, which is installed by kmail2 itself but is started by akonadi. Restarting akonadi made it recognise the new agent and the problem was fixed.

After importing my local folders manually (the migration process did not do that) I configured my mail filters and waited until nepomuk finished indexing my e-mails.

So far so good using kmail2, no crashes and everything works almost like the old kmail1. One exception was the "go to the next unread message when opening a folder" option that is disabled by default. Alex Fistas helped me with that and now I can do with kmail2 everything I used to do with kmail1.

Update: well, the "so far so good" did not last a day :-/ I have found this really annoying bug and submitted a patch to reviewborad to fix it. With luck this will enter 4.10.3.

Sunday, March 17, 2013

Migrating to KDE Telepathy

Last Friday I decided to migrate from Kopete to Telepathy. Believe it or not it was Microsoft that convinced me to migrate. I explain, I used to use Kopete for gtalk, jabber, Windows Live Messenger (wlm), skype and icq. I have just a few contacts in the alternative (to gtalk) jabber server and icq and most of them I can contact using other protocols. Now that wlm contacts are migrating to skype and Kopete's skype support is kind of broken* I used to use Kopete only for gtalk, so there was no need to wait for the metacontact bug to be fixed anymore.

* I have migrated my wlm contacts to skype. It works ok in Skype 4.1 but Kopete is not able to see them. Besides Kopete is not able to change skype's status (online/offline/away, etc) anymore.

All KDE Telepathy (ktp) installation process went smooth in Gentoo, but then the contact list did not appear. After some time researching I saw in a log that telepathy-logger was complaining about some uninstalled schemas. Issuing the command "glib-compile-schemas /usr/share/glib-2.0/schemas" fixed this problem and the contact list works now. Well, I still would like it to disappear when I click on the systray icon but it seems  we I will have to wait for a solution for this problem. Update: we did not have to wait that much :-). Another bug that I would like to see fixed is the problem of showing groups with zero contacts in contact list.

All in all, I like ktp and it is working well here, except for one crash when I try to search a contact in the contact list :-/ I added a facebook account, which I never used in Kopete, and now I use ktp for gtalk/g+ and facebook.

One thing that I really miss in all communication programs in KDE is the ability to set a glogal available/away. Today I use ktp, skype and konversation and I would like to set my status in only one of them and the others follow it. Last year I tried to implement something like that but never finished my work. Today I tried again and implemented something simple that works for me. I know my patch is not ready for reviewboard yet, just wanted to know if somebody else is working on something like that. By the way, the patch applies against ktp-kded-module. Now when I set my status to available/away in ktp it will contact skype and konversation to do the same, pretty cool :-)

I know kpt supports to skype but Gentoo does not have an ebuild for telepathy's skype module, so when I have some spare time I will create one.

Saturday, March 16, 2013

Plasma NM

Plasma NM

SHA256Sum: c3b4458faf3bea75c5952ffe20b55724246c9cc3cd751a484b3e1832240d3ad6

The problem with missing password field in wpa2 password dialog if finally fixed. Everybody is advised to upgrade to this new version. Wireless ap-mode is also available for wifi firmwares that supports it.


. Show icon in systray when mobile's access technology and signal quality are unknown.
. Don't erase the input for the WEP key when it's not correct.
311705: Add support to wireless ap-mode.
316672: Handle new states of active connection due to some changes in the new version of NetworkManager (>= 0.9.7).
299868: Fix missing password field in wpa2 password dialog.
. Use correct interface name in InterfaceDetails.
314811: Fix crash when parsing IPv6 configuration from dbus and accept upper case hexadecimal digits in SimpleIpV6AddressValidator.
312964: Relay NetworkManager's secret request even when using plain text storage.

The following languages have more than 80% of strings translated:

bs ca cs da de el es et fi fr gl hu ia it kk km lt nb nds nl pl pt pt_BR ro ru sk sl sr sr@ijekavian sr@ijekavianlatin sr@latin sv tr uk zh_CN zh_TW

Also read some very usefull information about how to use and avoid problems when using Plasma NM in my past posts page.

Saturday, March 2, 2013

What is happening in QtNetworkManager (former libnm-qt)

Last year I wrote about some changes I would like to see happening in QtNetworkManager. One of the most important ones (Move the DBus parsing code to QtNetworkManager) is happening right now (just grab the code from settings branch from libnm-qt repository). Thanks Jan Grulich from RedHat for working on this issue.

Well, there are still other things to work on QtNetworkManager, just take a pick :-) If you are a student you can also take a look at my Google Summer of Code idea for improving the interface details panel in Plasma NM. Just write a proposal based on the idea and I will take a look it.

Update: I have just added a second idea for GSoC. It is about implementing SMS send/receive feature in Plasma NM.

Friday, March 1, 2013

Plasma NM: ap master mode for wifi shared connections

NetworkManager usually configures the wifi card in ad-hoc mode when activating a wifi shared connection. Unfortunately, ad-hoc mode is unstable in certain situations (specially when using WPA2 encryption). As a consequency most smartphones refuses to connect a WAP2 shared connection in ad-hoc mode.

There is a project in Fedora to make NetworkManager configure the wifi card in ap master mode (ap mode for short), which by the way is the mode access points run in. I have just pushed some commits to QtNetworkManager (former libnm-qt) and Plasma NM to add support to ap mode. I tried to test this but the firmware of my wifi card (Intel Ultimate-N 6300) does not support ap mode so I need someone else to test this for me.

Ap mode should solve the instability problems that usually people face when trying to activate shared connections in NetworkManager. It is a great improvement in NetworkManager, but it requires at least NetworkManager version, wpa_supplicant-1.1 and a suitable firmware for your wifi card. If your wifi card does not support ap mode then Plasma NM will set the shared connection to use adhoc mode instead.

Update: I forgot I have a second wifi card, a usb Ralink RT5370, which supports ap-mode (uhu!!!). After updating wpa_supplicant to version 1.1 now ap-mode works with Plasma NM :-) Now I can connect my Samsung Galaxy S2 to the Internet using my notebook as gateway. Well, I had to unload the intel wifi card's driver to prevent conflicts with the ralink card. Plasma NM support for more than one wifi card at the same time is not good, that is another point I need to work on, maybe during Solid Sprint in April.

Wednesday, January 30, 2013

Galaxy S2: Jelly Bean 4.1.2 XWLS8

Last weekend I updated my phone's firmware to Jelly Bean XWLS8 following the instructions in xda forum. It is better than the original 4.0.3 firmware because

  • there are more toggles in notification panel, the data connection one is what I like most;
  • you can also adjust brightness in notification area;
  • the graphical effects looks better;
  • you can see the notification panel from the screenlock (well, maybe not everybody likes this one);
  • you can alphabetically sort apps in grid view.
What I do not like:

  • I can no longer adjust brightness by holding the notification panel and moving left and right;
  • I can no longer disable some bloatware using native apps manager;
  • the battery time is still bad compared to my old Samsung i8910 :-(
  • When setting wallpapers Jelly Bean only use the center part of the .png/.jpg image. If your wallpaper is larger in the vertical axe (like mine) Jelly Bean will crop the upper and lower parts :-/
Yesterday I had one problem with phone rebooting after I had left it turned off charging all night. It worked for one minute, then freezed and rebooted a couple of minutes later. It did not tree times until I hooked up the USB cable to try to run logcat and see what was happening. By my suprise it stopped reboot and I could use the phone normally. I looked in the logcat I saw that Youtube app was crashing with the message

E/AndroidRuntime( 7635): java.lang.RuntimeException: Unable to create application java.lang.RuntimeException: Could not bind to Intent { }

The Youtube app was already showing a dialog before I turned the phone off, I tried to make it work with no avail. I also searched on the Internet if anybody had the some problem and have not found any explanation for that. After some minutes tring to make Youtube work I gave up and went to do something else. Some minutes later I tried Youtube again and guess what? It worked :-) and is still working. I really do not know what happened.

Sunday, January 27, 2013

Plasma NM

Plasma NM

SHA256Sum: 926e9bbbc848219ea6314cc84325216397732c8ad1b94ba41b5c9e53b54773b2

Because of bug 313291 I really recommend upgrading to this new version.


. fix version string (it is wrong in Plasma NM
311837: fix Metric edit box in VPN's routes window.
304466: add workaround to prevent crash when disabling wireless also disconnects the wifi card from motherboard.
313291: fix Ok button when adding/editing connections.
312305: add support to IPv6 Privacy Extension.
312656: quote file names when exporting openvpn configuration file in case they contain white spaces in their names.
. improve vpn import/export error handling.
311032: ignore "ghost" connections.
311348: workaround visual glitch in Back button in interface details window.
311894: fix disabling IPv4 configuration (usefull if you only use IPv6).

The following languages have more than 80% of strings translated:

bs ca cs da de el es et fi fr gl hu it kk km lt nb nds nl pl pt pt_BR ru sk sl sr sr@ijekavian sr@ijekavianlatin sr@latin sv uk zh_CN zh_TW

Also read some usefull information about Plasma NM in my past posts.

Sunday, January 6, 2013

New (old) toy 2: Samsung Galaxy i9100 (aka Galaxy SII)

Well, my old phone was in really back shape after more than three years so I decided to buy a new one.

I really do not like that big smartphones that are becoming common these days :-( I already own a tablet, so why buy an almost-tablet-sized smartphone? I searched for some months for smartphones with good features, like Galaxy SIII, HTC One S/X, Motorola RarZ (Maxx HD), etc. In all benchmarks I have read Galaxxy SIII would be the best choice, but I really do not like its size and the cracked screen problems made uneasy to buy one of them. I really try hard to preserve my phones (I still own all phone I have used so far, including an ancient Nokia 3320 from more than 10 years ago).

After consider all posibilities, size of the phone, battery size and price I decided to buy a Samsung Galaxy SII. It's is old phone, but still capable of running new Android versions and is has proven to be a very good phone. The best part is that it also cheap compared to SIII and one of the web sites I usually buy things from made a clearance sale and I could buy for a reasonable price and buying conditions :-D. The only thing I would really miss from Galaxy SIII is the bigger battery, but I can live with that and I already installed and configured some software that helps me increase the battery time.

Update: I have noticed that ICS is really really bad at connecting to my operator's 3G network. That is a known bug and there is no simple solution for it unfortunately :-( From time to time my 3G connection just disconnects and never comes back until I reboot the phone. Even when connected the performance is really poor compared to my old Samsung i8910.