Re: Progress Report - Pascal Schoenhardt - XRandR Display Configuration



Here it is:

So, progress. Well, I'm learning a lot, but I haven't really coded
anything yet. The more I read into this project, the more I realize it
will probably be a lot harder than I would have thought. While it's
not too difficult in principle, there are lots of issues and minor
details that need attention.

I've been in contact with Sebastian Heinlein, who has previously
started on a GTK display configuration applet written in Python
[https://wiki.ubuntu.com/DisplayConfigGTK]. His project is quite
similar to mine, so in order to avoid duplicate efforts, we will
probably be working together. The main problem with the current
application is that it still uses the whole "set you stuff here, then
we dump them to xorg.conf, then you restart X" style of configuration.
The whole idea behind this Summer of Code project is to do dynamic,
on-the-fly configuration using XRandR 1.2. I would, however, like to
base my capplet on Sebastian's, since a lot of the ground work has
already been done. Here are some of the questions/problems I am trying
to answer or solve:

- Sebastian's applet is written in Python, which I love. However, I
don't know whether Python has any good bindings to XRandR. There is a
PyRandR [http://linux.mikeasoft.com/pyrandr.php] package available
under the GPL, but I don't think it's been updated to RandR 1.2. On
the other hand, the code is dead simple; I could easily add 1.2
functionality, which I may well do.

- GTK is RandR aware. However, that needs to be updated to support the
new features of 1.2. So, if GTK supports RandR 1.2, and there is a
PyGTK package, will I have access to RandR 1.2 functionality through
PyGTK, rather than needing to use PyRandR?

Below is a preliminary idea of how I see the configuration applet
looking and functioning:

The applet will follow the general layout of Sebastian's applet (see
link above). However, for multi-screen support, I will be relying of
XRandR, rather than Guidance, which only supports dual-monitors. Since
most people use only two monitors, and configuration of dual displays
is much easier, the "Multi-Screen Mode" tab will have a different
interface depending on the number of monitors:

- Single Monitor – Tab greyed out, inaccessible.

- Dual-Monitor – Layout as in screenshots. Clear and concise.

- Multi-Monitor – Entire area becomes a canvas, in which screens can
be alligned via drag and drop. A "Identify Screens" button, similar to
that in That Other Operating System, will be in the bottom-left
corner, which will label the screens.

The only problem I see with the above layout is that the "Screens"
section, currently under the "Dual Screen Mode" tab, will need to be
moved to the "Display Mode" tab since having a canvas in Multi-Monitor
mode will not leave any room for that. This isn't really a problem, I
think, but it will leave the "Dual Screen Mode" tab a bit bare looking
when there are only two screens.

I have also been considering how to handle default resolutions, and
getting information on what resolutions are supported by a monitor.
EDID information is a good start, but it has several weaknesses. In
particular, EDID can not properly represent resolutions that are not
4x3 or 16x9, and there are lots of 16x10 screens out there. Also, EDID
doesn't specify what the native resolution of an LCD is. I think a
database of monitors and capabilities is in order. However, that type
of thing takes a lot of time and effort to create. In this case,
however, I think that we can take advantage of the fact that most
monitor manufacturers create Windows drivers in the form of .inf files
for their screens. These are nothing more than a plain-text file that
describes the capabilities of the device.

I'll leave it hear for now. I could keep going, but I really don't
have any concrete answers yet.

Cheers!

Pascal

On 5/7/07, Raphaël Slinckx <raphael slinckx net> wrote:
On Mon, 2007-05-07 at 11:40 +0100, Pascal Schoenhardt wrote:
> Hi everyone,
>
> Here is my Monday progress report. I have posted it on my blog on my website.
>
> http://www.pascals.ca/node/80

Could you also paste the content of your blog in the email, for archival
purposes, and for those who read their emails in a terminal :P

Thanks a lot !
Raf

_______________________________________________
gnome-soc-list mailing list
gnome-soc-list gnome org
http://mail.gnome.org/mailman/listinfo/gnome-soc-list




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