jd:/dev/blog

Soulmates never die.

Aller au contenu | Aller au menu | Aller à la recherche

dimanche, avril 27 2008

Extending pango markup attributes

I'm currently facing a problem I just can't solve, involving pango and GMarkup's glib API.

I currently use pango markup in awesome, but I'd like to extend it to support more attributes.

Pango markup uses GMarkup API to parse the formatted string. The problem is that there's no way to extend what is parsed, and if a tag is unknown in the pango parser, it will just fail.

I've tried to implement my own parser with GMarkup, but… When I encounter a tag I don't know but that pango does, I just can't pass it to the pango parser function for this tag, since this pango function is private.

There was a try to extends the markup parser 2 years ago, but the patch was crappy since it exposed the private elements of pango markup parsing, which is the bad way to solve this.

So for now, I've no idea how to do this. I was first using the bad parsing method with string.h's functions which I for now reverted, because I do not really like that.

lundi, avril 7 2008

awesome: from 2 to 3

Last week I sent a mail about the upcoming developement strategy for awesome.

Long story short; we begin to work on awesome 3, dropping Xlib in favor of XCB, bringing out the first window manager using this bindings (if you do not count the demo one in the source repository ;-)).

Thanks to the amazing grunt work of Arnaud Fontaine, we already have a working version of awesome using XCB, and it works very very well. Better API, better code, and even faster code. That is awesome.

awesome 2.3-rc1 was released this morning so we'll begin shortly to work on the 3 branch and merge it into the master one.

mardi, mars 4 2008

The sloppy focus

While most of you people and readers are doing quick and great works in Python, Ruby, or any modern language, there's still people like me fighting with The Low Level.

I like that, but the X architecture is just the proof of concept of an architecture which wrongly evolved because it was not designed to. Xlib and all concepts it is based upon where probably fun and sufficient in the 80's, but nowaday, it can really be a joke. I really hope that somedays Xorg will break things and start a new fresh X design (at least from Xlib point of view).

It's not that I think Xorg people are doing bad stuff, but there are mostly bailling out from a long code and design history IMHO.

So, last weeks I was trying to fix the sloppy focus in awesome. I've found a real interesting Web page from Alex Hioreanu about various issues that we encountered too. I've been trying ahwm hack, but it's not really reliable.

And then I've been trying a lot of things, and this morning I figured out something which works pretty well. It just fails in some corner case with GTK+ apps that are not reporting XMotionEvent when the pointer move, and I don't know why and how get them.

Let's see.

mercredi, janvier 9 2008

First RC version for awesome 2.1

And here we are. awesome 2.1 is coming! And it's really really nice.

It got a brand new set of widgets (icons, text, progress bar, tasklist, etc) for the statusbar, which is very configurable.

It also has a better EWMH support, which brings things like stick or fullscreen state support.

I still have to write the changelog between 2.0 and 2.1, but git log shows near 400 commits, it's gonna be a bit long.

jeudi, décembre 27 2007

EWMH and XRandR

Today I decided to add some EWMH support to awesome. It now supports a bunch of this extensions quite nicely.

However, while reading the spec and writing the code, it appears that this forces a window manager to behave in only one way: have a poor desktop support, and no multi-head/XRandR/Xinerama support at all.

The main caveats are that in Xinerama/XRandR mode, you'll have only one root window. And the root window is where you must store the NET_WM X properties… So you cannot handle screens in a independant way like awesome does. That's really a shame.

There's also a big problem for window managers like awesome which are happy to draw several desktops at the same time. There's no support for stuff like that.

So far, I think EWMH is nice but is really too narrow-minded for softwares and people who want to think window management in a different way.

samedi, décembre 22 2007

Christmas gifts for awesome users

I was ill since several days, and totally unable to work and even more on awesome.

Today I tried to hack a little and so I've add 2 new widgets using the new widget system Aldo wrote last week.

First we have a iconbox widget which can draw any PNG you want it to: C

And then.. the support for the so legen... wait for it.... wait a little more... dary! NET_WM_ICON: awesome NET_WM_ICON

jeudi, novembre 29 2007

Second release candidate for awesome 2.0 released

Hopla, awesome 2.0-rc2 released.

Cool. Happy me.

vendredi, novembre 16 2007

awesome 2.0-rc1

awesome 2.0-rc1 released and waiting in Debian NEW queue. :-)

lundi, octobre 29 2007

awesome developement

awesome developement is in a very good shape.

We're now more than half way on the 2.0 road. The contributors base is increasing, since there's now 2-3 people regularly sending patches, so this is very good, and the (still small) users base is increasing smoothly.

The awesome core code is step by step rewritten in a better and more generic way. The next big work is tabs implementation, that I am still postponing right now because of the core which is not ready to handle. It needs to become even more generic to not break everything by adding such a feature.

I still hope to release awesome 2.0-rc1 by the end of november.

mercredi, septembre 26 2007

awesome 1.2: guided tour

Today I finally released awesome 1.2. I also wrote a guided tour which presents some of the functionalities of awesome.

jeudi, septembre 20 2007

awesome

Then, I did it finally, I wrote my own window manager. \o/