On 26.03.2012 10:30, Julien Danjou wrote:
On Sun, Mar 25 2012, Uli Schlachter wrote:

Wow. It's been three years and now our overlord jd wants to make people unhappy
with their broken configs again. :-)

Maybe we could limit that this time? :)

Too late. I will get lots of hate mails for the new widget layouts. :-)

AFAIR it was you who taught me that titlebars are our big release blocker. Now
that Emmanuel is working on that (thanks!), I guess we could start thinking
about what we need.

Cool.

 From the top of my head, I remember that the current "--no-argb" stuff is an
ugly hack to hide the fact that my X11 driver is buggy with ARGB visuals.
https://awesome.naquadah.org/bugs/index.php?do=details&task_id=837&project=1

Can I have a explanation/pointer to this all ARGB stuff? I always hear
about it but I've no idea of what this is about. :)

Nah, you really don't want to know too much about this. Anyway:

So first, what's a visual: X11 comes from the last century, thus has to support lots of weird displays. A visual says how the bits from a pixel value should be interpreted as a color. For example it could be an index into a color palett or a 16 bit 0x00rrggbb-value.

Then, the cool kids wanted to add transparency to X11. The composite extension was born. But to have transparent windows, we need a new visual. This new visual is what I call the argb-visual. It added an alpha part to pixel values and we now have 0xaarrggbb. However, with X11-core requests, there is no way to actually allocate such a color, because everything just expects red, green and blue. The "prefered way" to use these ARGB-visuals is through the RENDER-extension which supported alpha values since the dawn of time.

Now why does a WM care? When a window wants to have a transparent background (which mostly is just urxvt), it will use an ARGB visual and have some translucent pixels. However, to make this display properly, the (reparenting) WM has to use an ARGB visual for the parent window that it creates, too. A non-reparenting WM will have to properly handle windows which dont use the default visual, the ARGB-visual is just a special case of that. AFAIK no non-reparenting WM out there does that (and the wmii-guys just did something for the ARGB-visual special case, hence I don't like their solution).

Now what I did for awesome: I didn't feel like adding a special case for ARGB visual windows, hence I made the WM always use an ARGB visual for its window (and the special case disappeared!). However, now I hit bugs in my video driver where parts of the screen wheren't repainted properly after a tag switch. So I made awesome use the default visual again and opened FS#837 to remind me of how much failure X11 is made of. :-(

The good thing about wayland is that it is invented now and not 30 years ago. It doesn't need any visuals because no sane person uses color paletes anymores. :-)

And since you asked for some pointer: Nope, no pointers.
X11 is terribly underdocumented. I figured all this out from reading other WM's code (that's why I know the WM has to use an ARGB visual for translucent windows), asking questions on e.g. stackoverflow (no helpful answers, but I figured out that a colormap, background color and border color is needed to avoid the BadMatch error when creating a window with an argb visual) and some experimenting.

So I guess I'd be fine with a release "soon". (Where "soon" depends on when I
can get my bachelor thesis done)

You don't need that! :)

Yes I do.

P.S.: Where does this sudden release interest come from? Could it have anything
to do with me turning cairo-xcb into a supported cairo backend?

No, I even didn't know about that, that's a terribly great news. Is it
official yet?

The switch was switched (duh, what a sentence) almost a year ago:

http://cgit.freedesktop.org/cairo/commit/configure.ac?id=9e7ce0c3525064aa32da90be89e805aff6829c9b

The release was released just a couple of days ago:

http://cairographics.org/news/cairo-1.12.0/

Uli

P.S.: My current xcb pet-project is beating some sense into qt5's xcb backend. XCB really does need better docs, so that I have less stuff to fix up. Also, how come no one checks if the X server supports an extension before using it? Meh

--
To unsubscribe, send mail to awesome-devel-unsubscr...@naquadah.org.

Reply via email to