6 ms·
I'm a little nervous about client-side window decorations. One of the nice things about window-system controlled decorations is that updates in function, policy
by krakensden 15y ago
I'm a little nervous about client-side window decorations. One of the nice things about window-system controlled decorations is that updates in function, policy and style can be done unilaterally. I'm worried that few years after the Wayland transition there will be a cluster of ugly legacy apps that will never be upgraded and don't work right- think xmms, not Google Chrome.
- gue5t 15y agoI'm apprehensive about the same things. Toolkit cooperation on Linux is bad enough now and I see no indication that any work is being done to even mitigate worsening as these changes give toolkits more control over user experience. Google Chrome is just as bad if not worse than xmms because it's so loved; I'm a firm believer that user interface improvements should be shared between programs rather than implemented as one-off exceptions to the system setup. If it's a real improvement I'm bound to want it elsewhere, and if not, the loss of consistency isn't worth the small gain for that particular application.
- thristian 15y agoGoogle Chrome is much better than xmms because you can turn the client-side window decoration and custom colour schemes off. Still not as attractive as Firefox, to my mind, but that's opinions for you.
- exDM69 15y ago> Google Chrome is much better than xmms because you can turn the client-side window decoration and custom colour schemes off. How? I didn't know this was possible and tried it (after some googling). Basically I have two choices: bad and worse. The default has the tabs on top. If I enable "hide system title bar", it adds a frame with close, minimize, maximize buttons. I use a window manager with no decorations, just 1px border around active window. I'd like to get rid of the Chromium custom ugly tab bar.
- krakensden 15y agoI don't get it- if you have "hide system title bar" off, there's just tabs, and then your window manager takes over and draws a 1px border. Do you want chromium to enable some mode where it /never/ has tabs, and /always/ spawns new windows? Or do you just want a different theme for the tab bar?
- exDM69 15y agoI'd like to get rid of all the remaining visible UI widgets in Chromium. That would be the address bar and the tab bar. Web page with 1 px border, no decorations or buttons, that's what I want. I still want my tabs inside the browser (my wm doesn't have tabs for every window like ion3 or kde kwin). However, I don't want the tab bar to be visible unless I'm in the process of changing tabs with ctrl-tab. Same goes for the address bar, I'd like to see it only when I'm typing to it. I used a browser called Luakit for a while. It's a WebKit-based browser that has a user interface that's built with Lua and has a Vim-like default setup. It worked quite well but I changed back to a conventional browser when I couldn't get a proxy set up with good ad blocking, etc (luakit has no proxy or ad blocking, it relies on you installing polipo+privoxy or another http proxy setup). So these days I use Chromium but I would love to get that minimal UI look and feel from luakit.
- ZenPsycho 15y agoI think this is a people problem- it's rather separate from the low level technical details of how pixels get pushed to the screen. Linux is inconsistent precisely because its community has rejected the notion of strong centralised leadership, and inconsistency is simply the natural consequence of that philosophy. It's different with something like android, that has something like a canonical organisation that can set interface standards. Vanilla linux has no entity with that much credibility.
- wmf 15y agoA "Canonical" organization, you say?
- ZenPsycho 15y agoI see what you did there. As soon as Ubuntu disallows non Ubuntu designed software from running, you might see some consistency. But what would the reaction in the linux community be to such a move?
- wmf 15y agoUbuntu has already been flamed to a crisp over Unity, so they might as well go all the way and remove all non-Unity apps. Fedora aka GNOME OS may beat them to it, though.
- hollerith 15y agoThey do not have to disallow anything to make Ubuntu more consistent: Apple does not disallow anything from being installed on OS X (even now that the Mac App Store exists) and yet OS X is a lot more consistent than any currently existing Linux distro.
- ZenPsycho 15y agoI don't think you can compare Mac OSX to Ubuntu in this way. The mac developer culture is different from the linux developer culture, due to the strong presence of the original UI design and human interface guidelines. When something doesn't match the OSX experience, its easy to notice- because you have that strong baseline, and there's a strong motivation to write software that matches that baseline experience. software that runs in OSX's x11 is obviously not as good as "real" os x software. There is no base for linux, so any widget set or toolkit is just as good as another, and there's no strong reason to pick one or another language, or "platform" or library. You're invited to install this runtime or that scripting language to get arbitrary programs to run. And linux people like it that way. That's what freedom looks like.
- sciurus 15y agoFor the curious, here are arguments on both sides of this: http://blog.martin-graesslin.com/blog/2010/05/why-you-should-not-use-client-side-window-decorations/ http://blog.martin-graesslin.com/blog/2010/05/why-you-should... http://www.hadess.net/2010/05/client-side-windows-and-misconceptions.html http://www.hadess.net/2010/05/client-side-windows-and-miscon...
- bratsche 15y agoI'm the one who started working on client-side decorations for gtk+ originally, just as an experiment (but with encouragement from Kristian Høgsberg). After I quit Canonical I never heard that anyone else had picked up the branch, but every once in awhile I hear something about it when people start talking about Wayland. Anyway, I was never really worried about the things that you're worried about. xmms proves that anyone who wants to write a shitty, completely custom UI with shitty window decorations is perfectly capable of doing it already. In fact, the gtk+ client-side decorations branch didn't make it easier for someone to do that the way everyone seemed to think it did.
- cdi 15y agohttps://github.com/krh/gtk/tree/csd https://github.com/krh/gtk/tree/csd GTK+ client side decoration branch
- rayiner 15y agoServer-side window decorations make smooth (buffered with no tearing) resize behavior much more difficult than it has to be. I spent a decent chunk of time years ago trying to get better resize behavior in Qt/Kwin, and the necessary synchronization between the window manager and the app makes it a PITA.
- colanderman 15y agoHow much of that is actually due to a server-side model, and how much is due to brokenness of X? With a well-specified server model (say using temporal logic), there should be no problem attaining pixel- and frame-perfect rendering.
- fmoralesc 15y agoThat's sounds like a plan! I suppose you have a tech demo of something like that?
- colanderman 15y agoYou're an ass. Check out some of the latest research into functional reactive programming. They're pretty far along that track. Edit: if you want a hint at an actual solution, one need only send logical local timestamps along with each request, and introduce a timestamp handshake. The server very simply then need not swap in the backing store until it and the client have acknowledged that the logical timestamp should increment. Your convo then looks like this: U - user / S - server / C - client U->S: resize to 800x600 S->C: resize to 800x600, timestamp 12345 C->S: GL commands, timestamp 12345 C->S: more GL commands, timestamp 12345 C->S: more GL commands, timestamp 12345 C->S: OK, I'm done with timestamp 12345 S: render window decorations on C's backing buffer S: push C's backing buffer from 12345 to the front S->C: OK, it's now timestamp 12346
- fmoralesc 15y agoWell, I agree I was an ass there. When I read your comment I thought you were pushing something in the lines of "well, the problem is simple if you treat it with [insert hight-concept mechanism here]", which always gets a bit on my nerves. You know, like none has thought of the problem domain before? Anyway, I think I might have been mistaken.
- mixmastamyk 15y agoI also hope it doesn't break window manipulation when the app is locked up. The difference is that you generally can minimize a non-responsive app under X while on Windows it is trapped on screen.
- rwmj 15y agoI'm afraid I've got bad news for you. In current Wayland they're still trying to work out how the close button will work when the app is non-responsive.
- mixmastamyk 15y agoI suppose if I could minimize it from a task bar or alt+rightclick it would be acceptable.