Slashdot Mirror


Xr Renamed to Cairo

Charles Goodwin writes "Xr, the vector graphics extension for XFree86 that Keith Packard, Carl Worth, and a few others have been hard at work on, has been renamed and is now officially called Cairo. Keith and Carl recently gave a detailed presentation on Cairo (then known as Xr) which should be a useful read for those wishing to understand it a little better. There is already a useful Gtk+ rendering backend that uses Cairo, as well as an SVG test suite. This, along with Gnome2's subtle adoption of SVG and the inception of Xouvert (which now has goals for both the short term and long term, and an initial plan which includes coexisting with XFree86), spells a bright future for the eye candy of an X desktop."

11 of 216 comments (clear)

  1. Cairo? Bill Gates will be contacting them. by Anonymous Coward · · Score: 4, Funny

    This is the code name for Windows NT. This is a blantant and illegal DMCA violation, and a dilution and sullying of Windows NT's good name. They will be served.

  2. Re:Well now, that's just great. by Rooktoven · · Score: 4, Insightful

    In some ways almost transparent is easier on the eyes. I know when I have 4 or 5 mac terminals open the overlay can be confusing-- not to mention if (assuming a dark background) a light colored application ends up behind a terminal.

    I know it's nice for the "see what is possible" factor, but pseudo-transparency has it's place. I might even opt for it at times if I had the choice.

    --

    Acquiescence leads to obliteration
  3. KDE3? by SHEENmaster · · Score: 4, Informative

    QT3 has translucent menu items and such. I haven't checked to see if they cheat by reading from the screen, or if they have implimented an alpha layer.

    The big issue with an alpha layer is that someone has to have the authority to impliment such a change in the X11 protocol, it can't be done as an extension. Anyone who uses the fucked up protocol won't be able to display their app on a different X server. This breaks compatibility with thin clients.

    What I want is complete revamping of the X protocol with backward compatibility maintained (permanently), such that new apps can take advantage of new server-side widgets without breaking compatibility. Wouldn't it be sweet if GTK+ apps could run as well over a 256kb/s line as XAW apps do?

    --
    You can't judge a book by the way it wears its hair.
    1. Re:KDE3? by IamTheRealMike · · Score: 4, Informative

      They do cheat, yes. There is no need to break backwards compatability, in fact the protocol already has what's needed, it's mostly a matter of XFree engineering and getting it effecient enough to not kill performance. If you want GTK apps to run sweet over a modem even, look into NX compression. Again, no need to break X.

  4. This might even turn out better than expected by justsomebody · · Score: 5, Informative

    According to publications they are going to contact as many organisations and support as many standards as possible. That's something that XFree never did.

    They even plan to contact Freedesktop.org.

    --
    Signature Pro version 1.13.2-3 release 83.5 beta3try7 after-breakfast edition
  5. Not eye candy!!! by G3ckoG33k · · Score: 4, Interesting

    "right future for the eye candy of an X desktop"

    This is essentially untrue. Accepting vector graphics as the default in computers may alter our perception of what is eye candy completely. As far as I'm concerned the Fresco/Berlin project was the right way already several years ago. Today, the hardware has caught up and there is nothing to be lost in user space with vector graphics everywhere.

    In fact, we have no idea what kind of possibilities may open up here. If we're unlucky, yes, it might be a can of worms... ;)

    1. Re:Not eye candy!!! by penguin7of9 · · Score: 5, Informative

      As far as I'm concerned the Fresco/Berlin project was the right way already several years ago. Today, the hardware has caught up and there is nothing to be lost in user space with vector graphics everywhere.

      X11 doesn't support "vector graphics" any more or less than it used to. What has changed is that X11 now has an imaging model similar to PostScript (subpixel addressing, antialiasing, etc.) in addition to its older bitblit model (pixel-accurate, using boolean operations for drawing).

      (Subpixel addressing also allows you to do zoomable or "resolution independent" graphics, while the bitblit model is resolution dependent. However, the term "resolution independent" is somewhat of a misnomer--even if your imaging model supports arbitrary zooming, you can't just zoom user interfaces up and down and expect them to be usable.)

      When people talk about "vector graphics" in the context of window systems, that usually means the use of display lists: you give the server a list of "objects" to display (lines, triangles, rectangles, etc.), and the server takes care of displaying them when needed. But they might mean something else as well.

      Display lists in X11 are still handled the way it has always been handled: by client-side libraries. Eventually, there may be a server-side extension for handling display lists and perhaps even the ability to transfer display lists and structured graphics in the form of SVG data. That would give you Quartz-like redrawing and rescaling, although while that looks nice it has few real advantages.

      Now, what about Berlin vs. X11? First of all, one big thing in Berlin is the incorporation of GUI components into the server. That is an anathema to X11 designers. Also, while resolution-independent graphics is nice (the same thing X11 now supports with Cairo), it is a poor choice as the only graphics model: well-designed application for low-resolution and/or low-depth screens (e.g., a 160x160 Palm) must be able to draw with pixel-accurate drawing operations and precisely predictable results on every bit on the screen.

      I don't think Berlin "got it right". Berlin concentrated on the obvious, convenient, clean, high-level stuff. Berlin would give you slick-looking OS X-like desktops if it ever caught on, but the Berlin designers have neglected the other imaging models that are really important to real window systems, and they have put way too much policy into the server.

      Fortunately, the way X11 is evolving, we won't have to make a choice: you can have all the slick antialiased, structured graphics you like, and yet still have pixel-accurate drawing in a bounded memory X11 implementation. The only difference will be that X11 still won't enforce policy on the server side, and that's a good thing as far as I am concerned. But the market will decide that issue.

      In fact, we have no idea what kind of possibilities may open up here. If we're unlucky, yes, it might be a can of worms... ;)

      There is no "can of worms". We have had window systems with antialiased drawing, structured graphics, and all that at least since the 1980s; maybe you remember NeXT and NeWS. The feature is nice, but it doesn't radically change what people do with GUIs.

  6. Finally, buffering. by TheRaven64 · · Score: 4, Insightful
    From the short term goals:

    Provide an option to force backingstore on all windows.
    This is the one I've been waiting for for a while. When RAM was $500 for 64K it made sense not to buffer windows, but now it is insane not to, forcing redraws which drain CPU and networt bandwidth (on remote displays).
    --
    I am TheRaven on Soylent News
  7. Here is what I think the Linux GUI needs. by HanzoSan · · Score: 4, Interesting



    I think the whole friggin GUI should be vectors. The Icons should be vectors, and these vectors should be manipulated in realtime via the video card/hardware.

    Forget software rendering, we need hardware rendered GUI, using SVG for the interface and icons.

    We also need to somehow maybe via OpenGL or some technique, to get the special effects of the video card applied to the GUI.

    Then someone can write KDE4 or whatever, and the eyecandy/special effects should be plugins, a person should be able to code an effect via a scripting or programming language, someone should be able to download say, the motion blur or sparkle plugin, and then I click it and suddenly my menus motion blur or sparkle with fairy dust when I move them.

    You could break the effects up into groups.

    Scaling effects
    Trails for cursor
    Trails for menu
    Icon effects/animations

    etc, and when this is done, then people can write themes easily etc and we can innovate.

    The key should be a system that allows a newbie who isnt a coding genius to actually manipulate a video card either via scripting, or some high level interface.

    What I want is complete revamping of the X protocol with backward compatibility maintained (permanently), such that new apps can take advantage of new server-side widgets without breaking compatibility. Wouldn't it be sweet if GTK+ apps could run as well over a 256kb/s line as XAW apps do?

    I dont care so much about backward compatibility and I dont think most desktop users do. Servers sure as hell wont be running this. But if back compatbility is so important that can be handled to.

    QT3 has translucent menu items and such. I haven't checked to see if they cheat by reading from the screen, or if they have implimented an alpha layer.


    Fake translucency is not what people want, we want alpha channeling. This will only happen when the whole interface changes from pixel based to SVG based and then an OpenGL backend to access the video cards.

    I think Evas has the right idea here, now its just time to have X catch up to it.

    --
    If you use Linux, please help development of Autopac
  8. Who names these things? by IntelliTubbie · · Score: 4, Interesting

    Whatever happened to descriptive naming? Who would instinctively associate "Cairo" with "vector graphics for XFree86"? Why not name it something sensible, like "XVector" (if that's not already taken)?

    In all seriousness, I think that poor name choices hurt the adoption of free software. Think about "Photoshop" vs. "The GIMP," or "Internet Explorer" vs. "Mozilla." Rather than something simple, descriptive, and catchy, we usually opt for indecipherable codenames, stupid recursive acronyms, or lame in-jokes that few people but the developers themselves will get.

    Poor naming limits the spread of the software meme to those who are already in the know, especially when the names are designed to enforce an only-the-anointed-get-it, us-vs-them mentality.

    Cheers,
    IT

    --

    Power corrupts. PowerPoint corrupts absolutely.

  9. X r == "Cairo" by musselm · · Score: 5, Informative

    Pronounce the Greek letters.

    X == Chi

    r == Rho

    Okay