Very Late Progress Report - RandR



Hi Everyone,

Sorry for the lateness of this report.

I have decided how I will implement the display config capplet, so I
will describe that first. To allow the system to respond automatically
to display setup changes, and to support binding profiles to hotkeys,
some sort of daemon will be required. This will be done in the way of
a gnome-settings-daemon module. This module will be very small, and
serve only three purposes:
 1) listen for hotkeys
 2) listen for changes
 3) launch the "engine" (described below) and manage its lifecycle.

The "engine" will be the majority of the code. It will be responsible
for the storing, loading, and managing user profiles in GConf, and for
interfacing with the Xrandr library directly to apply changes. It will
also be responsible for writing changes to the xorg.conf file, when
necessary.

The engine will be a dynamically loaded by the gsd-module, via
GModule. Whenever an even occurs, or the user asks for the gui, the
gsd-module will launch the engine. If the engine has been idle for a
set period of time and the GUI is closed, the gsd-module will unload
the engine to save memory. This setup should allow for a persistent
daemon, with a very minor resource hit. I would imagine gsd would only
increase by size by a few kilobytes.

As to status, well, I have a gsd module compiled and running on my
system at the moment. It is able to do lifecycle management and can
accept communication over dbus (GUI will be launched by a little
executable that sends a command over dbus to the gsd-module). By the
end of today, it should be listening for hotkeys and screen events.

Next thing to do will be the engine, which will really be the most
complicated part of the whole project.

On another note, for those who aren't aware of this, I have been in
Scotland for the last year with my girlfriend, though I live in
Canada. In 6 days I am going back home, so I can continue with my
university work in the fall. Also, I am going back two weeks before my
girlfriend, so I wll have completely uninterrupted hacking time!

That's all for now. Please let me know what you think of the design.
Is it needlessly complicated? I quite like it myself...

Pascal



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