Cimi’s Official Blog

Italians do it Better…

Just a Blog on Gtk+ Theming, Bleeding-Edge, Good Software...

Murrine 2.0? 20 July, 2010

What would you like to see in a Gtk+ 3.0 engine?

This blog post is the right place to discuss your dreams :)


Posted in English, GTK, Murrine |

35 Replies

  1. rms said:

    Cleanness, and no cows.

  2. fabioamd87 said:

    no graphic bug.

  3. Bob Hazard said:

    Resolution independent, like Cairo or similar, so that it still looks sharp on a 4K display.

    Hardware accelerated and multi-touch ready, naturally… and if we are dreaming why not a physics engine so that everything feels a bit more realistic. Springy buttons, panels with some give in them etc. The new Unity toolbar actually does this a little; when you drag an icon towards it they all shuffle up and make room.

  4. nablaoperator said:

    No visual clutter. As clean as possible.

  5. Carlos Garnacho said:

    Style-wise, not sure, code-wise, http://github.com/garnacho/gtk/tree/gtk-style-context, modelled upon http://live.gnome.org/CarlosGarnacho/ThemingProposal.

    In fact, it’d be great to get something appealing on top of that, I’m mostly taking care of the infrastructure, which is about 90% ready, so your help would be much appreciated here :)

  6. knocte said:

    - Beautiful (or, rather, not horrible) API, like fixing https://bugzilla.gnome.org/show_bug.cgi?id=324899 . (Other toolkits have beauty on parts of their API that should be straightforward.)

    - Fix main gtk+ features that are currently broken on Mac: drag n drop.

    - Good contextual features like the ones Windows user have in FileChooserLike dialogs (such as https://bugzilla.gnome.org/show_bug.cgi?id=609987 ).

  7. anonim said:

    is gtk3.0 theaming system going to be the same as the current gtk2 one?

  8. Izo said:

    1. Smooth animation transition between widget states so that a button, for example, glows when hovered and presses in when pressed. Just one example.

    2. Rounded corners on menus. Yes please, it’s about time.

    3. Built-in support for RGBA and configuration options available to determine the level of transparency on individual widgets.

    I may think of more.

  9. lassekongo83 said:

    - RGBA support for individual widgets - with an option to set the opacity. (Yeah, I’ve read that you didn’t want to add that.) I find that there is no reason not to have this as it would make it easier for us designers to create themes that can be used both in Gnome and Windows. :p (Well, look similar that is.) ;)

    - Instead of xthickness and ythickness it would be nice to set the padding and margin in pixels just like in CSS. (And if it’s Gnome shell I suppose that will already be available.)

    - A shadow setting that allows me to set the shadow color, opacity, radius + x and y positions. It would be nice to change the color of the shadow when the mouse hovers.

    - If gtk 3.0 uses CSS then I should be able to do anything that I can style in CSS 3. This Includes adding alpha-transparent PNG images and setting the opacity for individual items for example. ;)

  10. acidrums4 said:

    My dream is to see something very similar to e17 in gtk+3… But it doesn’t depend too much in a engine, but in GTK+ itself. I wish that GTK+ bring us with this new major release many new things…
    Excuse me for my bad english :D

  11. Joshua Simmons said:

    All of the above plus FAST and hardware accelerated.

  12. Cimi said:

    it should be already hardware accelerated trough cairo, because cairo is hardware accelerated trough xlib.
    if you need using the 3d gpu power to render the engine, maybe it will not be that faster because of the way the xorg server and gtk+ part work togheter, it will be even slower than now implementing an opengl backend (unless you rewrite gtk+ to use opengl)

  13. Bill said:

    why not merge QT and GTK, work together on building the worlds best framework!

  14. Andi said:

    I’d also _love_ to have RGBA support for individual widgets
    and rounded menus would be nice, too.

  15. Copycat said:

    Faster. Just make engine more faster

  16. sbillaudelle said:

    - Possibility to display scrollbar *on top* of e. g. ListViews
    - Clean listview headers (read: “no line on the right side”)
    - Animations
    - Shadows

  17. anon said:

    How about separating the graphic elements of each widget? IN a CSS-like manner, but without having to try to implement CSS exactly. For example:

    scrollbar {
    # legacy stuff. not used by murrine, but maybe chrome and non-gtk apps
    fg[NORMAL] = …

    engine “murrine” {
    face {
    color = …
    gradient = …
    gradient-style = linear / radial / none
    gradient-angle = for linear
    gradient-origin = {x,y}
    gradient-length = (radius for ‘radial’ and length for ‘linear’)
    text-color = …
    text-effect = none / inset / outset
    }

    face:selected {
    same options as above…
    }

    face:hover {
    }

    trough {

    }

    trough:hover {

    }

    border {
    line-width = …
    color = …
    gradient = …
    same options as above, except for text properties
    }

    shadow {
    same options as border
    }

    highlight {
    same options as border
    }
    }

    and so on ;)

    Also, the ability to more accurately specify spacing options, such as padding-left / padding-right / padding-top / padding-bottom instead of xthickness / ythickness would be *great*, but I think it would require some deep changes in GTK that are probably out of the question…

  18. Cimi said:

    thanks for all your feedback, please continue reporting your ideas. we are reading them

  19. BwackNinja said:

    I’d like some more refinement of rgba. Rgba widgets are see-through on windows that are not drawn with rgba but have rgba colormaps. This is most annoying on webpages with forms in a webkitgtk-based browser.

    I’d also like for no widgets to draw their background (aka the window or tab they are on, which should actually simplify drawing) as well as having the ability for the window to not draw its own background so you can see the background of reparenting window decorations like kwin with aurorae: http://blog.martin-graesslin.com/blog/2009/11/window-decoration-behind-translucent-windows/ or compiz 0.9 once they have a decorator that draws the background like that.

    Finally, I’d have to agree with per-widget (or rather per match) transparency, especially for cases where a widget is used in a way that is not normally expected, like in gconf-editor, the long description isn’t just a gtklabel, so when you are using rgba, it is opaque while it looks like it should be transparent.

    Though changes in Gtk+ will be necessary, I really hope that Gtk+3 theming will be more flexible and require less hacks to get things working exactly how we want them. Here’s hoping that a Murrine 2.0 will be loved even more than the current one.

  20. Thomas said:

    Don’t know enough about gtk engines, to be sure if this is the right place,
    But what I’d love for gtk theming, is an easy way to do custom widgets, and let them look like buttons, text fields or anything. That is the ability to use part of other widgets theming in a standardized way.

  21. Michael said:

    Separation of data from presentation. See what Qt is doing with QML. How a widget looks is completely separate from the underlying code.

  22. Matthew Holloway said:

    Make it as similar to web technology as possible. I want to be able to have a website and a GTK app sharing theme information. So I’d like CSS3 properties for all formatting. Where GTK supports things that aren’t in CSS3 then have a -gtk-* prefix on the CSS property. I also want CSS3 Selector support (e.g. patterns that match based on hierarchy of objects, their ids, and associated properties and data).

    In other words, the closer you can get toward http://live.gnome.org/ScratchPad/XUL while taking into consideration http://www.advogato.org/article/1042.html the better.

  23. Kingsley said:

    Merge GTK with QT! Let us settle this silly feud once and for all!

  24. foo said:

    Exactly like the existing Mist theme.

  25. lassekongo83 said:

    If any CSS3 will be used it would be nice if there were some addons to it that would make it possible to use sizing-margins on a pixmap that is supposed to stretch or tile. Any area within the x+y sizing-margin will not stretch or tile. (Windows uses this property.)

  26. Wout said:

    real time lighting effects. So real shadows for buttons and other objects. Real changes onClick. Preferably integrated with shadowing of the window manager. Make it look truly stunning.

    I think it would be great if linux really had a gui edge over OS X and Windows 7. It had it for a short period of time with Compiz and people thought it was stunning. I know that if you are coming from an underdog position being good enough is simply not good enough. Free Desktop’s need to:
    A) Beat the established on there own turf.
    and
    B) Be better at it by more then a margin.

    OS X got attention when it redid it’s gui to something new: hw accelerated graphics with a stunning theme. All other gui’s followed, first linux with compiz, microsoft was a little later with Aero Glass. What is the next step? Currently all Desktop os’s have hw accelerated gui’s using pixmaps of windows rendered by video cards. (Please excuse my simplification of it, I’m not a programmer.) This enables window effects (magic lamp, wobbly window, Aero peek like effects.)
    I think the next step is to enable these kinds of effects, uniformly, within the window. Things like theme based transitions when switching between tabs, real animated buttons. I really believe that eye candy truly is a feature. People base much of there choices on looks alone.
    Don’t make the next version look like just the next version of a gui for linux. Make it the feel like the first of the next generation of gui’s for all systems. Make it like compiz was, like Mac OS X was. Make it the Xerox Star of 2010!

    Unfortunately I’m not able to comply with “talk is cheap, show me code”. So, thank you to all who do program, I really enjoy using free, open source software.

  27. Zeke said:

    How about a Qt engine just like Qt does for Gtk+.

  28. Ralf Ebert said:

    Can Murrine already be used with GTK+-3.0 without any new features?
    I’m currently learning about Gnome development and building/using the current 3.0 versions of some projects via jhbuild. Having to settle for Clearlooks here is a bit taxing, especially because the Murrine look&feel made switching from OS X possible in the first place!

  29. GNAM said:

    C++

  30. Andrea coronese said:

    Css theming!!!

  31. k3ks said:

    I want menus which come directly out of the button. It’s hard to describe because i’m not a native speaker. Atm if you open a menu from a menu bar it’s like a little new window. (i guess technically it is but it shouldn’t look like that) the menu should be connected to the button without space in between or a border around the menu

  32. Jack said:

    1 more vote for widget specific opacity controls.

  33. SkiesOfAzel said:

    -Location aware widgets (the first tab of a notebook for example).

    - Full window gradients.

    - Softer shadows.

    - All widgets (GtkEntry i am looking at you) should have true transparency and not just inherit the bg color.

    - An xml syntax, or other kind of support that will enable us to insert our own svg graphics to the theme.

    - The menu highlight and the menu should integrate seamlessly (look like one object).

    - Round corners on menus.

    - Gradients on menus.

    - Animations.

    - This one is a gui and not a theme engine suggestion, but it would be nice if there was an option to remove the menubar from the window and be able to call it from a button on the toolbar.

    - Again not a theme engine suggestion, but now that the window manager is a compositor could we finally please get some alpha blending with round corners ???

  34. ubuntu-user333 said:

    There are two things I want most:

    Better tools for using the rbga feature :)

    The other thing I would want (I’m not sure applies to this) is that the gtkrc/murrine code would be more organized and easy to parse, like xml. Or maybe port murrine to have a css theming interface like gnome-shell.

  35. JimX said:

    GtkFrame please:

    1 > transparency of the frame line
    2 > rounded corners
    3 > full transparency

    In my opinion, many Gtk Applications have too many nested lines, which I think makes Applications look outdated (win95, etc) and not modern.

Leave a Comment

Attention: Moderation is enabled, and could cause a delay to the posting.

This blog is "Powered by Cimi"

Theme from: Kaushal Sheth | Modified by: Andrea Cimitan