Yay! A new progress report on RANDR!



Hi everyone,

It must be almost 4 weeks since I last did one of these! I went on a
backpacking trip about 5 days after my last report, which was 2 weeks
long. I got back on a Monday, but didn't write a report because I just
got back - I hadn't done anything yet! My trip was great; I went to
Croatia and Slovenia. You can read the travel blog and (eventually,
when I upload them) see pictures on my website, www.pascals.ca.

Since I've been back, I've continued working on the patch for GDK.
Basically, I've got it mostly written. It compiles, and most of the
functions are implemented. One thing I am still stuck on is the new
signal stuff. I'm not entirely sure where I should subscribe to
crtc/output change events, and where I should catch them. I know it
would be somewhere in gdkevents-x11.c. Once that is sorted, the patch
should (hopefully) be ready.

I got a bit frustrated with that, so I decided to move on to actually
working on the control panel, which is really the main part of this
SOC project anyways. I've been playing with glade for the last day or
two, working on an interface. I've looked at the windows and mac
tools, as well as all of the various linux config tools out there, and
tried to come up with an interface that, while not in anyway
dramatically different or new, is simple to use, easy to understand,
and functional.

I will include a screenshot next time, once I have polished it up a
bit. Basically, there will be a profile section at the top of the
window, with a drop-down list of profiles, and a "Save As", "Edit",
and "Delete" button. Save As and Delete should be straight forward.
The edit button will allow you to change the name of the profile, and
to assign a hot-key to it.

Below will be a notebook, with two tabs: Display Settings, and Display
Positioning. The Settings tab will have a list of outputs - I have yet
to decide whether that should include all outputs, even unused ones
with the option of enabling them, or just active ones. Any ideas? When
an output is selected, you will be able to choose res, refresh rate,
rotation, and mode (clone or independent). You will also be able to
"Make Primary" a screen, which will hopefully move all the gnome menus
onto that device. I will probably also have a "Color and Brightness"
button, which should open a dialog to adjust brightness and, you
guessed it, color settings.

I am also trying to make some decisions on how this will be
implemented. Maybe I can get some suggestions here too. The idea is
that this project will consist of 1) the capplet, and 2) An optional
tray icon which provides quick access to resolutions and cloning
options. Here's my question:

When a monitor is added or removed, the computer should react
automatically. This means that some process will need to subscribe to
signals from xrandr. Also, to allow hotkeys for profiles, something
will need to monitor those too. Is there a preferred/standard way to
do hot-keys in gnome, which doesn't involve having a daemon running at
all times? Or is it maybe worthwhile to run a daemon, for both of the
reasons above, and to act as the backend for both the tray icon and
the capplet? If so, should the daemon, capplet, and tray icon be
seperate programs communicating by dbus, or all part of the daemon?

Perosnally, I would like to avoid the daemon if possible. It's just
one more program running at all times. Maybe gnome-settings-daemon can
be helpful here? this is just a guess, as I don't really know much
about it. I'm going to research that now.

I look forward to hearing your suggestions!

Pasca;



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