Bragging rights (QtCentre Programming Contest 2008)
Well, the QtCentre Programming Contest 2oo8 is finally over and the winners are announced. OK, we all knew we are winners a month ago, but at that time we were called just finalists
developer and free/libre software enthusiast
Well, the QtCentre Programming Contest 2oo8 is finally over and the winners are announced. OK, we all knew we are winners a month ago, but at that time we were called just finalists
Brainstorming
I must say that the Lancelot brainstorm topic on KDE forums is a success. Thanks to everyone who decided to get involved, and a special thanks goes to Aaron for twitting about it (I guess that it brought a fair share of visitors).
Updates
As of today, Lancelot can (again) be considered stable enough (the trunk version that is) for daily usage. We are nearing KDE 4.2, which in Lancelot’s terms mean that we are nearing the 1.5 version. Although it is a .x upgrade to 1.0 that was released for KDE 4.1 in September this year, it is far from being a minor update. I can freely say that it now has all the features that I need*
. Now, there is only a matter of getting used to being able to use it without the mouse at all (I’ve got used to having to click on the search result to activate it instead of just pressing Enter).
* this is one of the reasons i decided to create the brainstorm topic – it is easier just to ask you what you want, than to guess
Issues
I said ‘stable enough’, not perfect, so there are a couple of items I need to fix. For example, the scrollbars in the application browser sometimes show up in a wrong place (no, I’ll restrain myself of commenting on QGV layouting mechanisms and quirks).
The second is a problem related to theming of the parts applet – the scrollbars are not shown in the part applet (that is, they are shown as 1 pixel wide lines) because there is no theme for them yet. I will probably use the default scrollbars from the Plasma theme for the parts applet (not for the menu though).
I’ve started a topic on KDE forums where you can enter all your wishes related to Lancelot. I think it is far better place than the comments section in blog posts.
Although this is not much related to KDE, or at all in fact, I decided to post it on my KDE development blog simply because there are so many KDE (and other) developers using Vim as their main (and only) IDE.
As I said earlier, I am a Vim fan, and I can not see that it will change in the foreseeable future. But, I have to say that, although I don’t find it a complete replacement of Vim’s Project plugin, that Quick Browser of Qt Creator is a very nifty feature.
So, I decided to start writing a Vim script which will emulate the Quick Browser behaviour. And so it started. The first version was a proof of concept one and it was designed so that the quick browser showed its results in a side panel (just as the Project plugin does).
And it worked quite fast.
The problem was that the Project, Code Navigator and my Quick Browser couldn’t work together very well – each one wanted it’s own window/buffer. So, I decided to start writing a simple Python (yes, Vim now supports Python scripting) framework that allows multiple plugins (called runners – took the name from Plasma/KRunner and I’m not ashamed) which are based on that framework to work together in harmony.
The project waits approval at SourceForge under the name Vide (obviously short for Vim – IDE). Currently only Quick Browser runner exists, but I’ll add more later.
Project management
And, that’s not all. There will be project meta-data which will allow you to define different build tools (cmake and qmake come to mind), …, and everything else I come up with… Since I’m bored and have to take my dog for a walk, this is all for now. So stay tuned.
I just wanted to thank every developer person who ever helped KDE.
Why just now? Well, first I saw the new list view in KMail which is rather awesome, and makes KMail even better than the former best* mail application – KMail without the new list view.
Beside that, I saw one of the tiny changes in Plasma related to the taskbar/icon tooltips. You’ll know what I’m talking about by moving your mouse from one icon to another.
Every now and then, KDE gets some, at first glance, totally insignificant feature (like this tooltip effect), but to be honest these little things really make a big difference. And such things really make me say “Wow, how neat!”.
So, everybody, rock on!
* Personal opinion, not a flamebait
You’ve heard it right, I’ve still got it! I still got the KDE mug we received (amongst other things) last year at aKademy! It is amazing, you can pour boiling tea in it and hold it with your whole hand without being burnt. Really amazing technology. And it is pretty, and has a nice logo on it.
Ok, I hear you saying “You dragged us here to listen just about a mug!?”. Well, I didn’t, but nevertheless, it is a really super-awesome mug, and it is an insult that you said “just a mug”!
Lately, I haven’t had much time that I could spend on Lancelot due to some other projects and the fact that I was to see Brian May (PhD) and Roger Taylor live here in Belgrade. But, than again, that’s a completely different story.
Keyboard support
The only thing from the (unwritten) Lancelot 2.0 roadmap that will be finished on time for 4.2 is the new ActionListView. You may recall mentioning the ActionListView2 in relation to the scrollbars that replaced the dreaded scroll buttons. Apart from the new scrolling mechanism, something else was weaved into the structure of the new lists. Ability to use them with the keyboard. So, that part is mostly finished in the current SVN version. The only thing left is to scroll the list to always show the selected item which will be trivial to do.
After that, the only thing left is to implement some fancy focus switching in the menu itself – for example, when you are in the search bar, and press the down arrow, to switch the focus to the first list etc. I hope I’ll be able to finish this in the week to come, so that after that I could focus only on bug fixing and stability (not that I’ve introduced a larger instability factor than the old ActionListVew was, but some bugs are to be expected).
Well, that is all for now… see you soon.
Addition: Junior Jobs
* Since I have received a few requests to sort the application list by name or description, and I haven’t got the time to do it now (it is a low priority task from my POV), if there is anyone willing to do that, you are more than welcome. Developing data models for L is as easy as it can be.
* The same goes for the thunderbird/evolution/whatever, pidgin/whatever support. If you know how to get online contacts or unread mails from the specified programs, feel free to use your knowledge and make a bridge between your favourite e-mail or IM program and Lancelot.
Well, since everybody is doing it, I too wanted to share my wisdom about the technology preview version of Qt Creator.
I will not write about the Qt Creator vs KDevelop relationship since KDevelop was never my scene. Tried the KDE3 edition once (a long time ago), and it just didn’t work for me (not only because of all the crashes). After that, I turned to Eclipse for C++ development because of its plugins, mainly the Subversion browser. I even set it to work with CMake properly, and to run KDE4 applications in their own environment. But, after awhile, I got tired of the slowness and of compilation errors related to ‘:w’ everywhere in the code, so I decided to return to Vim and to make an IDE out of it, but that is another story.
Qt Creator
At first I just downloaded it, started, and closed it almost immediately. Why? It looks too fancy for a real developer’s tool. Shiny run, debug and build buttons, etc. and a large Nokia logo. Why do I need that, I really don’t know.
Then, I decided to give it a second chance and start a small, but real project. The interface, although too fancy for me (remember, I use Vim) isn’t all that bad at all. It is pleasant and fast (unlike most IDEs today). I will not repeat Aaron’s stances on the subject – I mostly agree with him – I’ll just point a few other things that I did or did not like.
Pros
Well, I have nothing to add what was not already said – UI is clean, it is fast, it has a quite a few nifty features…
Cons
If this sounds too harsh or rude, I apologize, it wasn’t my intention, just trying to say what I find peculiar about the IDE.
I like keeping my code organized. I like having subdirectories, and subdirectories of those subdirectories etc. How to do that in Qt Creator? Well, to be honest, there is no way (at least not yet). You can organize your files the way you want, but Qt Creator will show all of them in a list. So, what is the point of organizing them? And what is the point of the Project browser if you get a list of a (potentially) few hundred files?
Then, you want to add a class to your project. You right-click the project in the project browser, and get an option to add a new file. OK, lets go for that. Here you get to create a ‘C++ Header file’ and ‘C++ Source file’ (amongst other non-relevant options for this task). OK, so we need to create them separately… but I know I saw somewhere an option to create a C++ Class… huh… let’s try this: File > New… Oh we get the SAME dialogue as the one we had earlier, only now we get to create a C++ Class as well. Strange.
Epilogue
I don’t want to sound like I hate the software, because I don’t – it is really cool, but I wanted to take it a bit more seriously than just ‘uh, a new toy, I must try it’. It has a potential to become a really good development environment, but has a really long way to go before it does.
And for the end, Trolls*, good job so far, now just finish it
.
* Hmmm, since it is no more Trolltech but Qt Software, should we start calling them Qties (Cuties) instead of Trolls?