Wednesday, June 10, 2009

Kwin : tree based tiling


In the quest to implement tiling in KWin, I've decided to use binary trees as an internal representation. This morning, I hacked on it to produce a decent prototype, just to check if the idea would work well enough, without introducing too much complexity in the code. At the moment, it does tend to crash or have repaint issues once in a while. But it works, and it does what tiling is supposed to do. Of course there is a lot to do yet. Moving and Resizing remain particularly icky because so many choices about what is good as a default, what is expected, how to implement it, will have to be made. If you are adventurous enough to try the kwin-tiling branch, do not move the windows, or basically abuse it in anyway :)

5 comments:

  1. Oh wow, nice work....:)

    Btw, looks like they've feature-freezed KDE 4.3 at the moment... but i sure do hope your stuff gets into 4.3.1 !!

    Also, have you implemented a plugin system in any of your programs?
    I really need some help here.

    Btw, does blogger work properly on konqueror on your side? I'm having a lotta rendering problems here... including this comment page.

    ReplyDelete
  2. hey, thanks a lot

    it won't be in 4.3.1, the minor versions are only for bug fixes. such a major feature will have to wait for 4.4, assuming it is implemented in time.

    as for the plugin system. There isn't really much to it. basically enforcing some standards and having some reflective capabilities ( functions as first class objects, or eval, or dynamic library loading ). I've never implemented a full plugin system, but something similar is done in ColourCode ( choose which language handler to use ) and in Pixelframe ( dynamically delegate actions ), which is basically what a plugin is at the core.

    I don't know about konqueror

    ReplyDelete
  3. Maybe it wont get into 4.3, but i think if its gud enough, packagers might backport it....

    and eval nd first-class r not there in c++ (AFAIK)... and im not using pyqt rt now...:P

    Perhaps ill try using dynamic libraries.

    ReplyDelete
  4. I am so unbelieveably exicted about the possibility of tiling for 4.4 - have wanted this feature in KDE since 3.something. Your work is apprecated, and will only become more appreciated when it's picked up in an official release.

    Cheers!

    ReplyDelete
  5. thanks andrew, it is extremely likely that tiling will indeed be in KDE 4.4. So you should be able to use it in 6 months max.

    ReplyDelete