Releases for XFCE
simon.shimmerproject.org
simon.shimmerproject.org
Applications should have title bars. This is how it's been done everywhere since pretty much the first Xerox GUI. Monitors are bigger than ever today. I promise, people can spare 10 pixels of vertical space so that they can see the name of the application being run (and the name of documents open in said application), and have a very easy area to click on to move the window around with. GTK3 CSDs also break the user's ability to choose a window manager theme. It also removes the possibility to disable the toolbar area from certain applications, eg text editors. They also tend to result in applications that lack traditional menubars, which are very useful for complex programs.
I have already dropped every last Gnome 3 application over this nonsense. This is going to be horrendous to have to stop using Xfce now, too.
Sorry, I know HN doesn't like negativity, but this "change for the sake of it" stuff is getting really old. I just want to keep using my computer the way that's worked just fine for me for the past 25 years. This really is a step backward in usability. I don't want to have to target tiny slivers between widgets, or hold down Alt to move windows around. And for applications I want an actual toolbar in, I don't like how most of the toolbar icons disappear so that things can be merged into the titlebar area.
I agree with you on CSDs, though; they're horrible and take control away from me, and make windows drawn by different toolkits look different... why would I ever want that?
Before: https://simon.shimmerproject.org/wp-content/uploads/sites/3/...
After: https://simon.shimmerproject.org/wp-content/uploads/sites/3/...
The old title bar plus toolbar combined took up 56 pixels of vertical space. The new version takes up 46 pixels, loses the title display, two of the toolbar buttons, and two of the dropdown arrows. And you're not going to be able to simply turn off the toolbar anymore, like you often could in traditional applications (I often do this in text editors, for instance.)
> Or do I misunderstand that these two things are in fact coupled?
This part is really tricky. GTK3 itself does not mandate CSDs, although it does force them onto all of its common dialogs. Gnome 3 tends to take this to the extreme and is trying to remove any and all title bars from every application of theirs. I can live with my file open/save dialog not having a title bar, but I don't want my main windows to lack them as well =(
If it's just the task manager, then I can fall back to 'top' in a terminal window until I can write my own replacement. But if they start doing it to Thunar, Mousepad, xfce4-terminal, the settings control panel, etc ... then I'll have to abandon ship :(
Evince for example now seems to use more vertical space for its header but with much less use, thanks to huge, flat, cryptic icons. Luckily there is a light version available that uses gtk 2.
I also want to use my scrollwheel to scroll dropdown menus without opening them, or be able to select folders in an 'open' dialog without that stupid thing directly descending into them just because they were highlighted. Hrrrgahnng!
Agree.
I sense I am getting old and grumpy but there is something to learn here: there seems to be an increasing number of people, even in open source, who just want stuff to work.
I just want Ubuntu, dropline gnome, updated drivers, backed by a commercial vendor that I can pay a reasonable amount to to make sure they never let designers, ux people, product managers etc experiment with my desktop. Polishing it like Ubuntu originally did was totally ok though.
I don't want "spatial navigation" in Gnome. I don't want to have to think application or document" when I hit alt-tab, or having to wait for a (IMO, I know some people love this feature, but bear with my rant here) retarded alt-tab to understand that I want to switch to a document under the app I have switched to, then wait again for it to slide out nicely.
No! I want alt tab to switch through my last used windows. If it looks really nice, bonus.
I want my drivers to work. Etc.
And most of all: I don't want Linux to copy Mac! If I want a Mac I can get my boss to get me one!
The sad part is that the DE boys keep thinking that more eyecandy and bling will bring in the users and thus the third party software (apps? bah!) devs.
But as JWZ put it, Gnome (and most of the XDG related stuff) is beset with CADT. They fail to see that the one thing that has kept Windows where it is right now is that some company can still run their bespoke business code that was written back in the Windows 3.11 days.
Damn it, they can't even manage to do minor updates to glib and related without introducing subtle breakages.
And no, Flatpak and related is not a fix. That will just bring the specter of DLL hell to Linux.
Maybe you and I just aren't the target demographic (and the source demographic I guess) any more? Back in the day from what I remember, the Linux Desktop was trying to copy Windows because that's what people knew. Certainly worldwide there were a lot more OSS devs that started using computers with a copy of Windows, than there were devs that started computing on one of the research systems in MIT. Windows was what people knew, Windows was what they grew up with, Windows was what they wanted to recreate. Now Macs are the choice du jour among the young crowd. While you can objectively say that there has been a drop in features and an uptick in useless(?) bling, I'm not sure it's the result of an actual shift in the base paradigm.
> Maybe you and I just aren't the target demographic (and the source demographic I guess) any more?
I wouldn't expect them to throw out their userbase just for fun?
I suspect ux experts with good intentions, having read the latest studies on usability which told everyone including Microsoft (back before Windows 8) that everything should be optimized for touch and for users who have no clue about the desktop.
They really want to create an awesome desktop for everyone but forget that for a number of their current users their current desktop is more or less exactly what they want.
KDE hits a middle ground by providing (again IMO) sensible defaults and infinte possibilities for styling and tweaking.
Edit: weirdly enough one distro I like is Elementary, who managed to copy the looks of Mac OSX without bringing along stuff like the (IMO) broken alt-tab. I'd still like if they could give me my menus back but at least I find that DE tolerable compared to Unity.
Thanks for explaining!
When Ubuntu shipped KDE5, normal usability stuff broke horribly again. Nowadays I have two kids and a job managing a large IT organisation. I simply can't defend spending the time any more. So I switched to xfce for the time being. Of that breaks the UI in any comparable way, I give in to the hordes that keep ridiculing me for not using a Mac. :(
What do yo mean by "normal usability stuff broke horribly again"?
I'm using Neon now and it is one of the least annoying distros and DEs I have ever worked with.
Also I was bit by the bug that somebody else mentioned here: the panels would disappear with sweet reliability. If I remember correctly, this was a bug that would hide the existing dock. So if you simpy recreated it, you'd have two running side by side, and so on.
There was more but I don't remember specifics. The screen issues were enough to be a big practical problem for me.
Edit: speeling
I don't use docking and rarely use multiple monitors so that might explain a bit of the difference in experience.
Except the music player! It's pretty broken on a hidpi screen.
I would however expect it to work well on my 5 year old laptop.
Right now there are two major toolkits for DEs, GTK and Qt. And the former is under the control of Gnome, and thus more and more Gnome-isms will make their way into it.
So either the already notoriously understaffed XFCE has to fork GTK2, or move to Qt.
Effectively we are learning that there is yet another way to hijack freedoms that the FSF do not consider, code churn. Or if one want to be a bit conspiratorial, code churn is what the FSF relies upon to maintain its other freedoms.
CSDs are still optional in GTK3. True, they are forced on for the common dialogs, so if you use GTK's file chooser or font picker, then you're going to end up with them. But at least then they're child modal dialogs to a parent application.
The Gnome 3 desktop team decided to move every application possible to them, but there's no reason Xfce has to follow suit there.
Again, at least for now. It's certainly possible the GTK team will decide to enforce this and remove the option for window manager decorations in a future release.
I would really love to see a maintained fork of GTK2, however.
If XFCE wanted to stabilize GTK, they could try to do that with a fork, but there was no bait and switch - it has always been the Gnome ToolKit. You should probably consider that before building desktops based off it that are not Gnome - its future developments are by Gnome, for Gnome.
If the fragmented ecosystems on the fringes of GTK - Elementary, XFCE, and Mate - were united, they could have easily forked GTK2 or 3 and maintained their own independent stable toolkit. Hell, the Gnome developers might have appreciated a wider swathe of developers working on it and switched to the fork with a transition to a plugin model for all the Gnome extras than constant churn in the toolkit.
Code churn for the sake of it can definitely be a hostile tactic, but GTK churns because Gnome is constantly changing at the whims of its developers in their pursuit of their own ideal desktop. Unless you are paying them for their time or contributing code yourself to their projects, why should you have higher priority over their own desires or those of their immediate users of their whole software suite?
To be fair, to the extent that GTK has ever been an acronym, it is the "GIMP ToolKit".
For very long, the focus was ambiguous, and for some devs it was intended as a cross-platform toolkit (that's why there are Mac and Windows ports). Only "recently" (a few years) the focus has been on Gnome only.
> they could have easily forked GTK2 or 3 and maintained their own independent stable toolkit.
They could have, but almost nobody wants that. There is little utility in making yet another toolkit for a couple of new apps. What people want is to keep certain features in the mainline GTK, so mainline GTK apps retain them (non-CSD titlebars[1], icons in menus, stock actions, window-resize grippers, ...[2])
About code churn; I find the new versioning scheme of GTK particularly frustrating and backwards. Now they do have "stable" versions, but what they do is once they declare a version as stable, they break ABI, change the version number, and move all development to a new version. I think this is a useless definition of stable: People can already just throw the .so files in with their app if they want something frozen in time, there is no need for that kind of "stable" release.
What they used to do (in the late Gtk 2 days) was to keep backwards compatibility (within reasonable bounds) while adding new features. This is what I'd call stable - write code against 2.18, and it still runs against 2.28 a few years later, supporting new features and bugfixes. Now, that mode of development is harder, I understand, and they have no obligation to go that route. But it would be really beneficial if they want GTK to succeed. And I really want to like and use GTK (I prefer it and Gnome to some extent over Qt and KDE), this is why I get a bit worked up about the state of GTK...
[1] The titlebars are a bad example, AFAIK you can still get server side titlebars in the latest GTK. [2] There are so many lost features, I actually made a list and at one point wanted to make a "Gnome Feature Graveyard" website in protest.
I was absolutely certain this was a parody when it was announced. I thought it was brilliant, and showed a great deal of self-concious humour.
I think the schism was that this was a change of behavior, because like you said, GTK2 was pretty much toolkit first desktop second. The focus was on the toolkit that enabled the desktop, rather than the toolkit being along to complete the vision of the desktop. Back then I would definitely have considered GTK the premiere product of the Gnome developers.
A similar thing is happening, I would say, in reverse from KDE - long ago the applications and the desktop were the star, and the libraries were just there to enable the desktop. Then in KDE 5 the libraries were split up, dependencies were mapped, and documentation was improved - along with significant upstream contributions from KDE into qt5 to make that better - to make their libraries generic C++ libraries for general use. Today, I may not say the frameworks are the premier (Plasma Desktop and the applications suite are still huge) but they are at least equal in importance in terms of development effort - just consider how Kirigami and Plasma Mobile were announced - a library for development and a desktop component.
But it really should just demonstrate with these desktops its at the discretion of the developers themselves, rarely paid, volunteering their time, to spend it how they think it would be most valuable. If they don't move in the direction you want, you can be disappointing, but it is not the death of a product by misdirection - it is a realigning of objectives.
I would definitely not recommend anyone use GTK for anything but Gnome specific software within the Gnome project. Qt and the KDE Frameworks are just so good now its not even close in my mind, especially with versioning. But the Gnome developers still produce a fantastic desktop that I can easily showcase along side others and it shows its polish over alternatives like Plasma or Unity, and they make a valuable contribution for it.
You can mourn the loss of portable GTK, you can even suggest it be like that again, but in the face of a conscientious effort by its developers to deviate from that history, you have to respect that they are doing it intentionally and Internet complaints aren't going to change their minds, nor should they. I respect them for their contributions to free software too much to harp on them for not doing what I want.
It's not even a conspiracy, at least in the case of gcc. rms has said outright that gcc's code is deliberately terrible, to keep people from building proprietary frontends on it. Hooray for freedom to tinker.
Your only real use for the title bar is a drag zone. Effectively a button to hold down. It doesn't need to occupy the entire horizontal width of your screen to do that. Gnome applications still show the same text information, they just have added buttons there as well to waste less space. You still have ample drag room.
If a program doesn't have enough room for buttons or makes their CSD menu buttons obscure that is a design failure distinct from the bar itself. It is just a space saving measure. While screens are bigger, the vertical area is the premium, and wasting a 15px+ of it on an average of 20 characters of text and two buttons should be somewhere to look for improvement in.
(Certainly, that could be solved with a different them, if a different theme would work for more than three frickin' months...)
It also doesn't help that the menubar-toolbar-titlebar mix works great for full-screen windows, and anything but if you're running several non-maximized windows side by side. It's like someone shoved several small iPads on my desktop.
It's pretty difficult to even make a decent case that window decorations were broken; I find it much, much harder to make a case that this is the proper way to fix it.
Edit: it's also going to be so "fun" to get a desktop where some applications have CSDs and some don't, which is pretty much what we're heading to. Just like back in the days when Xlib and Athena widgets were a thing, I am so totally nostalgic for that.
And if you were to turn off toolbars (which you can't with these title-toolbars), then it's actually a 30 pixel INCREASE in window height.
I have two debian installs. One with old and the other with new debian/xfce/gnome. And although I probably prefer the older debian/xfce combo to alternatives - I can't say I'm particularly smitten.
Can I recommend LXQt? I used to work on it and I still use it today. Simple DE that gets out of your way and has no CSDs.
I use a tiling WM, so I don't need to click to move windows:-)
Which makes client-side decorations even more evil: I've explicitly decided that I don't want to waste pixels on decorations, and yet programs are now deciding to do so on my behalf anyway.
I run emacs without a menubar, toolbar or scrollbar; I run a terminal without any of that cruft. Why would I want all that drek added back? Give me an interface I can use, and a good info system to learn about it; don't give me an interface with training wheels.
All gnome3 apps on my current xfce desktop have these huge non-titlebar titlebars with massive amounts of whitespace and big buttons that may or may not be menus, all the while trying to optimize for bogus density; to wit:
However, it also features a new (round) style for GtkSwitches, which makes them take up less space. Sweet!
> I promise, people can spare 10 pixels of vertical space so that they can see the name of the application being run (and the name of documents open in said application), and have a very easy area to click on to move the window around with.
Well-developed apps still have relevant titles. [1]
Others, like gnome-calculator, don't, but that's developer's fault, not GTK3's. I use speedcrunch instead.
> They also tend to result in applications that lack traditional menubars, which are very useful for complex programs.
Applications are not at all forced to use CSDs. Sublime has a menu bar, and so do VSCode and Atom.
> This is going to be horrendous to have to stop using Xfce now, too. > Sorry, I know HN doesn't like negativity, but this "change for the sake of it" stuff is getting really old
Ironically, I find people overreact to changes all the time. Remember the reaction of people when Google changed their logo?
With GTK2 going obsolete, there isn't really much of a choice for xfce.
If they are using the other gnome-isms, there seems to be quite an ample (grey) area to use to drag drag the window. Quite a bit easier to click than most traditional openbox themes' titles.
Personally I have disabled both title bars and borders – I have no use for them. For me they are actually a little too small to be comfortable target zones; I much prefer alt+drag to move (and alt+right-drag to resize, and alt+middle to send to back), whenever I'm in mood to arrange things around.
(I actually have one mouse key mapped for alt, but I haven't got around to learn to use it, as I have a hand on keyboard nearly all the time I'm into playing a window manager, and old habits die hard.)
P.S. Do not try this if you often have to use other people's computers for non-trivial tasks. The old way feels so clunky to use it hampers you from the actual task at hand.
I had to figure out how to not render their own shadow, and to disable the "Close" and "Maximize" buttons and edit the Gtk/DecorationLayout property to taste, but I really appreciate the nice simplified menus they bring, and the removal of the bloated menu bars. They are more usable, specially on a small screen when the window is not full screen (on a tile on the side).
I also like CSD when I have to use Gnome itself for the bigger dragging area. Traditional menu bars and title bars is poor UX just to enable certain programming decoupled. Now the the abstractions have evolved and we have widget toolkits and the abstraction is provided without compromising the UX.
I am sorry you got used to that. You may still use KDE or something else. But some of us really like what GTK and GNOME people are doing. I know the noisiest voices are the critical ones, so here is a reminder: there are plenty of happy users that love the work you are doing. Thanks a lot, I love you for making my computer work better every day, and with Free Software!
The points I listed aren't just "harumph I don't like change!" complaints, they're actual usability issues for me. I will agree the CSD approach is nicer for tablets and for "less bloat"; but I like the "more power" of a proper menu and toolbar more.
It's too bad we can't both be happy. I don't have the resources to develop an entire desktop environment on top of all the projects I'm already working on =(
Now that Xfce is being Gnome-ized, have you considered this: http://lxde.org/?
Maybe it suits your taste (lightweight, no CSD).
But it should, whenever negativity describes reality...
I use FVWM. I've been using it back in 1990ties. It worked. It works. It is invisible - I really don't require pah-nels and blinks, so I reduced it (editing config files in real editor, heh) to just virtual desktop, few useful shortcuts and some icons. For some sensory stuff I use gkrellm - it gives me a clock, too.
I was using Afterstep, Gnome (2? and 3?) and KDE. All started to fail after one upgrade or another. Unity is a bit too unbearable to me. Came back to FVWM, undusted old configs, all good now. About two months ago I replaced kdeterm with roxterm, which starts about two or three times faster. I guess I am mostly kde- and gnome- free at the moment.
I realize I am in some kind of diminishing minority. As long as I can recompile the source I am not going to complain (too much). Strange times. Who would have imagined I would start thinking of game against open source using older version of it?
BTW, if there are any FVWM devs here, thank you a lot. And please, I beg you on my knees - do not improve. But just in case, I will stash a source code somewhere.
I guess I have to go back to a custom setup with openbox.
Do you guys have any tips on contributing to XFCE? As far as I've heard, they mostly use C/C++ and Python, the two languages I'm more experienced with.
MATE came from Arch originally, as it happens.
There's a bounty program: https://www.bountysource.com/teams/xfce/issues
I feel exactly the same way! I never really got used to KDE's looks; I've always had a preference for the look Gnome 2.x had, and when that ended, Xfce filled the gap brilliantly. So much so, that MATE hasn't replaced it since (eventhough I have it installed also), especially since I started using Whisker Menu. I have many nice things to say about Xfce, so I hope it stays. :)
Besides that KDE is fuckin' great, imo.
Anyway, I sincerely wish you the best of luck! You should probably get it working if you don't try to overcomplicate it like I did :) The source code is available at [1] and each library or component gets its own git repo. Building instructions can be found here [2] on the wiki. They are mostly up to date but you might need some help from the IRC [3] if you run into trouble.
[1] https://git.xfce.org/ [2] https://docs.xfce.org/xfce/building [3] #xfce on irc.freenode.net
I mostly pair XFCE with XMonad to get some creature comforts plus automatic window tiling. I've thought about trying to patch XFWM to add automatic tiling--the one and only "power feature" I can't live without in XFCE.
I remember when XFCE was billed mainly as a CDE clone and thus got lumped in with other "nostalgia desktop recreation" projects for a lot pf folks. Since that time it's really come into its own.
Thunar is an absolutely gorgeous file manager that does what it should, no less, no more. It embodies the essence of what I like the most about XFCE: it is living proof that simplicity and elegance are compatible with treating your users as adults.
Guess I should put my foot where my mouth is and code one up.
https://blueprints.launchpad.net/ubuntu/+spec/topic-y-xubunt... https://blueprints.launchpad.net/ubuntu/+spec/topic-x-xubunt...