Linux The Road to KDE and Qt Development

yup its highly possible i am delusional/hallucinating and there is some plausible explanation for the fake speed boost :D so you're right i need to test/measure actual results... (btw the download limit in the code should be just under (for me) my speed so it should be 60 not 40 as i specified... that defeats the purpose of it right now)
 
Well, on the road to KDE development, I'm taking a stopover this week for Ubuntu development :ohyeah:

What do I mean?

See Announcing Ubuntu Developer Week - Ubuntu Forums

So I made preparations to attend some of the sessions after having missed them many times before, by upgrading my 512 kbps UL net connection to 8 mbps with 50 GB limit and getting ready to attend the initial sessions, which I did.

The first two sessions which walked through actually fixing a couple of small real bugs were super cool. I hit a few problems in between which prevented me from following in real time and it inspired me to followup today since it's a holiday.

So I went ahead and attempted a linux kernel patch after reading the various wiki pages and, voila! What do we have? My very own PPA!

See: https://launchpad.net/~vishalrao

PPA: https://launchpad.net/~vishalrao/+archive/kernels

Problem: http://www.techenclave.com/open-source-and-linux/the-ssds-with-linux-thread-157152.html

I had signed up for a launchpad account nearly 5 yrs ago but really didn't do too much with it. Today, signed the Ubuntu code of conduct, uploaded an OpenPGP key, created a PPA called "kernels", and thanks to my fast link was able to download lots of stuff, make the patch, build the source packages and upload to PPA!

Started compilation but ran out of disk space on my small partitions but luckily noticed that launchpad automatically schedules a build for i386 and amd64 which is currently in progress!

The stuff is not tested or reviewed yet (there are some obvious noob problems with it) which I will get in touch on the forums/mailing lists to get it checked/fixed. Assuming the build succeeds I will install from my own PPA and test if the amd64 linux kernel patch works or not.

What a "rush" ! Nice warm feelings inside :D
 
Update on some older posts quoted below:

I was initially encouraged to see some early info about KDE 4.4 UI animations/smoothness including my favourite progress-bar movements, but then soon found out that it was not fully/properly implemented and got disappointed.

But you can't just sit there and stay disappointed with Free software, can you? :ohyeah:

So dug into latest code once again, and asked in the kde-devel IRC channel where Aaron "aseigo" (Plasma lead developer) himself suggested I also contact KWin developer Hugh Pereira Da Costa. Hugo gave me some pointers and also suggested I work on getting pageup/pagedown scrolling smoothly animated if I can - and I am certainly motivated to help get this done!

Now from my last attempt at progressbar animation (really crude stuff) I know the code is lying in "trunk/KDE/kdebase/runtime/kstyles/oxygen" source repository and I am working with Kubuntu packages - created a "KDE" PPA for myself.

I have identified potential issues in the current broken KDE code and blockers/limitations with Qt progressbar itself which may be problematic.

But I've made some progress, got more smooth animations working for progressbar, still testing a little. I have not implemented this myself - it is already available with Qt's latest Animation Framework! So I just have to plug it in to the progressbar in a clean way. :)

Will post the initial results here and also show it to Hugo for review later on... STAY TUNED!

vishalrao said:
So Darky, what are the standard/recommended tools for KDE/Qt development? I'm assuming they are KDevelop and QtCreator so I will install these and play around with them.

My next weekend project is related to another KDE brainstorm idea I'd posted: [KDELibs] Use motion dynamics for progress bar movement - KDE Community Forums

Using "motion dynamics" for smooth progress bar movements like you have in other GUIs (Vista/Win7 that I have seen) :D

I'll have to wade through the source code to figure out where (KDE library, Qt library or KDE themes etc.) to make any changes. Plus there is current KDE 4.3 codebase then there is upcoming KDE 4.4 codebase which I believe will start using Qt Kinetic features to already implement such stuff! Let's see how it goes...

BTW, the KDE forum has a nice developer section and there is also this nice Qt community site which also has a forum: Qt Centre

See this old blog: Qt Labs Blogs Welcome to Kinetic

vishalrao said:
Since the weekend is here I downloaded QtCreator IDE and sources for Qt library itself. Download took under just 1 hour on my 512 kbps connection and compiling the library also took just under 1 hour on my quad core desktop :D

First wrote a simple Qt dialog app with a progress bar with buttons to increase/decrease the progress using the Qt library I downloaded.

Result:

[youtube]x_GmgFVVCuM[/youtube]

Then I modified the Qt library qprogressbar.cpp file to try to add "smooth effects" well simple/crude step-scrolling - yet to add real motion dynamics (im totally useless at physics/math here so will take me time - or i can steal code online).

Result:

[youtube]uLV6OEwb32Q[/youtube]

Captured the videos with recordmydesktop package (you can see the code in the left side heh) which youtube accepts the .ogv files. The QtCreator IDE is pretty slick if a little unstable/slow... is fun working with it :)

edit: of course you need to add " -j 4 " to the call to "make" if you want to use all 4 cores so "make -j 4" when building code generally.

Update: OK got something working, check out the youtube video:

[youtube]zrvCprVHqag[/youtube]

Unfortunately it looks like there may be limitations with Qt's QProgressBar used in KDE as-is and there will be a need to write a "KProgressBar" wrapper/decorator class to enable proper animation. The code for the above video has severe caveats which I'll post to the KWin KDE mailing list for discussion...
 
oh crap, did it a while back, done remember the size, few hundred MBs to download and few GBs in build files, it will take hours to download and compile not to worry :D
 
vishalrao said:
oh crap, did it a while back, done remember the size, few hundred MBs to download and few GBs in build files, it will take hours to download and compile not to worry :D
Okay, I am checking out Trunk via svn. Instead of whole, I am getting kdelibs,kdepimlibs & kdebase only.
Since you said, you did it before. any pointers to resource with will help me?
btw, I submitted a silly patch. This happens to be my first patch ever, before that I never created any patches:ashamed:
 
i believe you also need "kdesupport"... plus i took separate QT git checkout and built it locally...

bah they seemed to have made fresh website... but this link should help: Getting Started/Build/KDE4 - KDE TechBase

btw, just checked my disk, its 1.2 GB for KDE and 3.6 GB for QT folders - of course this includes the compiled object files etc :D otherwise sources should be few hundred MBs "only"
 
vishalrao said:
i believe you also need "kdesupport"... plus i took separate QT git checkout and built it locally...

bah they seemed to have made fresh website... but this link should help: Getting Started/Build/KDE4 - KDE TechBase

btw, just checked my disk, its 1.2 GB for KDE and 3.6 GB for QT folders - of course this includes the compiled object files etc :D otherwise sources should be few hundred MBs "only"

Cool. Seems checkout will take complete night on my 256kbps connection. anyways, I don't want to loose my current KDE 4.4.2 stable which i have installed on ArchLinux.

What is best way to get trunk running side by side? I am thinking of running it in VirtualBox by installing OpenSuse or Kbuntu etc. What you say? what method should I adopt
 
is it really worth compiling from sources unless you want to modify the code?

otherwise, sure virtualbox is good idea. or while compiling you can configure it to go to alternate location like /opt/custom/kde and the set your PATHs / startkde script etc to point to that location...

this is why i multi boot with CLI debian squeeze specially for this :)
 
vishalrao said:
is it really worth compiling from sources unless you want to modify the code?
Yes, I want to start with Devel work.
while compiling you can configure it to go to alternate location like /opt/custom/kde and the set your PATHs / startkde script etc to point to that location...
How?
Code:
# The It asks me to checkout the svn repo
svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs
# change dir
cd kdelibs
# and start build
cmakekde

where to specify alternate location?
 
Back
Top