XRandR 1.2 support for Gnome - Progress Report



Hi everyone,

Here is the blog version: http://www.pascals.ca/node/86

And the plain text one for you mutt fans :)


Progress this week was mainly academic. I learned a lot about how gdk
works. I am getting ever better at reading glib/gobject code; I'm
starting to not have to think about it! Also, I've been experimenting
with glade, python, and gnomecanvas. That's the short version, details
below.

Over the last week, I have finished familiarizing myself with gdk (the
parts that are of interest to me, anyways). It seems that not many
changes will have to be made there for RandR 1.2 support. Really, the
only thing that needs to be added is a signal to indicate that an
output/crtc has changed, so applications can respond accordingly. A
few other details may be exposed as well, such as monitor dimensions
and name, as there might be some situations where this information
could be useful. Of course, any application that needs this
information can also use RandR directly. It was kind of amusing; I
spent two days reading code and figuring this stuff out, then writing
a nice little report to my mentor to see what he thought of it.
However, he wasn't online when I wanted to chat about it, and later on
he gave me this link:

http://bugzilla.gnome.org/show_bug.cgi?id=439588

This is our bug, which outlines the changes that should be made to
gdk. It was exactly what I was thinking, almost word for word, even
for the function names! Great minds think alike?

I also messed about a bit more with the Nouveau drivers. I got nouveau
to detect my other outputs and even determine the correct modeline for
an external LCD I had connected. However, while X started, the screens
were blank. There is no fix at the moment. Nouveau is extremely
experimental, but the RandR1.2 stuff isn't even merged into the main
branch yet, so it's even worse. I think I will give up on this bit for
now. I've got plenty of other stuff to do, which will give the Nouveau
team some time to get things sorted.

I have also started playing around with Glade and PyGtk. I've gotten
the hang of GUI style programming, I believe, as I have never done it
before. I have been playing with GnomeCanvas. Currently, I am just
experimenting with things like zooming. The idea here is that if I can
manage to do it in a nice, user-friendly, non-clunky way, I would like
to have the graphical tool for rearranging the monitors in the screen
config caplet adjust its zoom automatically. This way, there should
always be enough room to move all available monitors around, without
wasting any. I am also looking into how to implement edge detection.

That's it for now.

Pascal



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]