Forgot your password?
typodupeerror
GNOME GUI Graphics Programming Software IT Technology

WebKit For Metacity/Mutter CSS Theming? 124

Posted by kdawson
from the future-proofing dept.
An anonymous reader writes "As Metacity (the GNOME window manager) evolves into Mutter, the question of CSS themes and how to implement them has come up. One of the proposals was WebKit, which the author asked more specifically about on his blog. It seems that WebKit, being a very fast rendering engine, would allow Mutter to have unprecedented power, not to mention being nearly future-proofed. As a major bonus, going this way could allow GNOME to share themes with KDE, which is apparently already headed towards a dependency on WebKit. Many people will reflexively recoil at the idea of a browser being mixed with a window manager. But it's important to remember that WebKit is not a browser — it's just a rendering engine, and it's not where all the security issues come from. So, what are the real technical issues at stake here? What are the pros and cons of using WebKit underneath GNOME rendering?"
This discussion has been archived. No new comments can be posted.

WebKit For Metacity/Mutter CSS Theming?

Comments Filter:
  • by DavidRawling (864446) <<hulk_> <at> <yahoo.com>> on Sunday July 19, 2009 @10:19PM (#28752089)

    Yes, yes it is. And a lot of vocal people whinge about how removing IE doesn't remove Trident, which shouldn't be part of the OS, because god dammit, people MUST BE ABLE TO CHOOSE, and now you're not letting me choose not to have WebKit, because my 2 user fork of Gecko is better because it lets me do X, Y and Z.

    Sounds like a double standard to me. Either integrating the HTML engine with the window manager is bad (Trident/Windows) or it's good (WebKit/Mutter). It's not both at the same time because you want to be an individual and hate Microsoft, just like everyone else does.

  • Re:Lets see... (Score:1, Interesting)

    by Darkness404 (1287218) on Sunday July 19, 2009 @10:22PM (#28752109)
    Because of a few things. For one, WebKit powers Safari, Chrome and a whole host of other browsers. Because of this, and the fact that the code is open, its going to be a lot easier for flaws to be discovered (just look at the Firefox zero day exploit that came out today). There are going to be a ton more crackers wanting to find ways to exploit Safari and Chrome than there will ever be wanting to find flaws in a WM. Because of this large volume, there are going to be a lot more pre-made scripts available to your generic script kiddy. One of them realizes that GNOME now uses WebKit and uses that and a pre-made rootkit to gain access.

    While security by obscurity never is a good permanent solution, it works pretty well when dealing with things with a (generally speaking) small userbase. Basically, without WebKit GNOME is just another DE, interesting, but not worth the work to exploit. On the other hand, with a ready-made script, it wouldn't take too long for someone with no skills to exploit it.
  • No more CSS (Score:5, Interesting)

    by intx13 (808988) on Sunday July 19, 2009 @10:27PM (#28752129) Homepage
    CSS barely functions on the platform for which it was intended, and now you want to bring it to a platform that has well-established, functional, themeable rendering engines already in existence?

    CSS was intended to let designers seperate from function from form - how is that lacking in current themeing environments? The linked blog contains a laundry list of features that are in CSS that are not applicable to desktop themes and features that are not in CSS that are necessary for desktop themes. What I don't see is a list of features that CSS brings to desktop themes that are impractical in existing systems.

    Let's see: a system that barely works on its intended platform that contains functionality not applicable to the new, suggested platform and is missing functionality necessary on the new, suggested platform. Gee, sounds like the right technology for the job!
  • No problem.. (Score:3, Interesting)

    by msimm (580077) on Sunday July 19, 2009 @10:31PM (#28752151) Homepage
    But let the rendering engine strip or blobify the skin/theme files. Who cares what the underlying descriptive language is, let it be something people are already familiar with. Imagine if every time a new software project was started we first created a new language, that's what we generally ask of our theme/skin designers. I guess someone's thinking outside that box! :P
  • by SanityInAnarchy (655584) <ninja@slaphack.com> on Sunday July 19, 2009 @11:20PM (#28752525) Journal

    I have no idea why you're modded insightful. I'm tempted to mod you down, but I'll reply, instead:

    I know its fashionable these days to do everything over HTTP and inside a browser but it's just a fad.

    Yeah, the Web is "just a fad". OK, I'll get off your lawn.

    Oh, and what does HTTP have to do with this? Or a browser? This is just a rendering engine, nor is it the first app to do this -- Firefox itself does its UI in XUL, as does Thunderbird, Songbird, and several other apps.

    Everybody knows it sucks from a design / efficiency point of view

    Design, you may have a point. I'd be interested to hear it.

    Efficiency is actually getting quite good, especially for what this is.

    I'm not going to waste my time writing a detailed rant about why you shouldn't use a freaking browser rendering engine to draw your GUI for you because thanks to the openness of Linux I will just be able to load one of 10's of other, infinitely faster window managers.

    Good. But if you'd written a longer rant, there might actually be more to discuss.

    But let's go back to your original point:

    Would it not be better to use a compiled, binary version of CSS for this sort of thing to reduce the overhead.

    So... Why would we want to use a "compiled, binary" version of anything we don't have to? Your startup scripts are in Bash. If you're on Ubuntu, a fair amount of your upgrade scripts are in Python.

    For efficiency's sake, you say. Ok, but why would you want it stored that way? Web browsers are proof that it really doesn't take that long to parse CSS, HTML, and Javascript. There's no reason the runtime can't store them in some binary/bytecode format, but why would you complicate the on-disk format?

    For space? Those things compress well. And again, browsers are proof that compression is fast enough for people to not notice or care.

    For boot time? Again, browsers prove that's kind of a non-issue -- most websites I view are massively more complex than some borders around a window. Turn on Flashblock, and tell me you wouldn't love for a computer to boot as fast as a typical website loads.

    Now, I understand where you're coming from. I used Fluxbox for a long time. Then I realized that KDE4 loads in about two seconds on my machine, and zero seconds vs two seconds to load a GUI isn't enough of a difference for me to care, considering the functionality I get out of it. (Actually, I realized this with KDE3...)

    And as for the functionality, I don't know the first thing about skinning a window manager. I do, however, know how to build HTML and CSS. So, me suddenly knowing how to build themes, easily, I call that a useful feature.

  • by SanityInAnarchy (655584) <ninja@slaphack.com> on Monday July 20, 2009 @12:45AM (#28752997) Journal

    Are you... FUKING MAD?

    I'm sane enough to know how to spell 'fucking'.

    A whole desktop using a HTML engine to render the entire desktop?

    I don't know that I suggested that. Doesn't have to be pure HTML, nor did anyone suggest that it be the entire desktop. Oh, and the original proposal was apparently for CSS and XML -- so more like XUL.

    Are you using Firefox? Its entire UI is done in XUL, and rendered by Gecko.

    You know the nigthmare to create and respond to events using html and javascript?

    It's actually like some beautiful dream...

    Ok, yes, could be better. Has also been beaten into submission by frameworks. I can create and respond to an event nearly with a one-liner -- and I'm doing it not just with callbacks, but with callbacks that are also closures. Javascript is actually a good language -- I am not insane, I'm not being sarcastic, and if you really disagree, I suspect you don't know it very well.

    And the ridiculous performance against a normal window manager like KDE or the actual GNOME?

    KDE4 already uses Ecmascript (Javascript) for a few things. I wouldn't be surprised to find HTML and Webkit in there somewhere.

    And for what it's worth, browser speeds are actually to the point where they occasionally double between releases. The fact that you think this would be slow mostly means you've dealt with slow, unoptimized implementations.

    Or, in other words: Have you seen Chrome?

    You maybe like to use a US$2000 machine to simply get the GUI usable

    Actually, the machine cost more, but it does hell of a lot more than "simply get the GUI usable". KDE4 also runs on a five year old machine -- not particularly fast, but works fine, and better than the XP that was there.

COMPASS [for the CDC-6000 series] is the sort of assembler one expects from a corporation whose president codes in octal. -- J.N. Gray

Working...