Wednesday, December 10, 2008

Net in KDE4 works finally

After a total recompile of Qt4, KDE4 apps can finally access the internet.
Too bad the weather plasmoid can't find my city :))

Monday, December 8, 2008

KDE4 got a lot better

After I installed Debian, I wanted a KDE4 desktop, just to play with it.
My first option would have been installing the kde 4.1.3 packages from the experimental repository. This would remove my kde3, which I wanted to avoid.
My other option would have been to use this tutorial to make a chroot environment in which I could install these packages without removing kde3.
I did this, it worked, but chroots aren't notorious about their comfort, besides KDE 4.2 beta was out. So I decided that I'll build the current SVN snapshot.
I followed this techbase article. But, you can use kdesvn. My friend, DjDarkman, has written a nice tutorial for Intrepid, although this one is good too.

After resolving many dependencies, getting optional packages, checking out from svn, stuff like that, I was ready to compile a subset of my choice of kde4 modules. Again, I have to give credit to Debian, most of the dependencies can be easily installed from apt and if you need something very new (like the last version of cmake), you can install it from the experimental repository.

After a few hours of compiling KDE4 was ready to use, it still needed some configuring and fine tuning though. Now it's up and running as my default desktop environment.
My desktop:

Dolphin is looking nice too:

As you can see, the look and feel of the desktop is very nice and professional, a bit mac like, but still original.
Mostly everything runs fast and smooth. The desktop effects are light years faster than compiz. They are very subtle, they don't attract my attention, but I'm sure I'd miss them if I would turn them off.
Amarok 2 looks very promising too.

I have some problems with kopete kde4, but it's better than the last time I tried it. It's too buggy for me. I did report some of those bugs. So ,for the time being, I'm using kopete kde3. I installed a nice kde4 like theme for kde3, so the apps blend in. Also, there is a nice theme for firefox. The gtk-qt engine takes care of gtk apps. So the desktop is pretty much uniform.

My biggest problem is that kde4 apps except kopete kde4, can't access the net.
I can ping from konsole kde4, but amarok can't retrieve lyrics, the weather plasmoid can't get data from it's servers, gethotnewstuff can't access it's serverlist and krusader kde4 can't connect to my favorite ftp servers.
I tried asking everywhere on irc and it seems that only I have this problem.
I tried recompiling kdebase with the networkmanager backend, but no results.
I simply don't have net in kde4 apps (except a few of them). Not even in konqueror.
kde-devel@debian:~$ solid-network query status
solid-network(8683)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from "/var/tmp/kdecache-kde-devel/ksycoca4"
solid-network(8683)/Solid (NetworkManager) NMNetworkManagerPrivate::fillNetworkInterfacesList: Got device list
solid-network(8683)/Solid (NetworkManager) NMNetworkManagerPrivate::fillNetworkInterfacesList: adding: "/org/freedesktop/NetworkManager/Devices/eth0"
solid-network(8683) Solid::Control::ManagerBasePrivate::loadBackend: Backend loaded: "NetworkManager"
solid-network(8683)/Solid (NetworkManager) NMNetworkManager::isNetworkingEnabled:
solid-network(8683)/Solid (NetworkManager) NMNetworkManager::isNetworkingEnabled: got state: 3
networking: is enabled
solid-network(8683)/Solid (NetworkManager) NMNetworkManager::isNetworkingEnabled:

As I saw in many cases, the net should work regardless of the network management backend in solid, so I guess that's not the problem.
I'm sure that I set kde to connect directly, without proxies.
I use pppoe, and the internet works in every non kde app, in konsole kde4 and in kopete kde4, so I have no idea what causes this problem.
Anyway, I'm sure it will be fixed till the release. But if anyone has any idea please leave me comments.

Yesterday, I decided that it's time I tried writing software with the KDE api.
So I headed to the kde techbase programming tutorials. After doing a few variations of the Hello World! application, I decided to write the application that I write every time I learn a new language/toolkit/api, the BMI calculator application. I used Qt-designer for the ui. I quickly familiarized myself with cmake and the guys from freenode #kde-devel helped me when I got stuck.
So here it is, along with the other BMI calculators, the KBMICalc application:

Top-left : Qt, top-right: Java (Eclipse RCP, SWT) , bottom-left: Java (Swing), bottom-right: KDE.

It is pretty nice for a first app, the KDE api is a great complement of the Qt toolkit.
The last year of high school is pretty rough on me, so I doubt I'll have time for any serious kde app. Also I would like to see how KDE4 works on Windows, it will be a very nice cross platform development framework.
So in conclusion, my faith in KDE4 is restored, I'm excited again about this project and I can't wait till January for a truly stable and functional release, aimed at the masses.

P.S. : Tomorrow I'll have an exam to obtain the Cambridge University Certificate in Advanced English (CAE), so wish me luck :).