GNOME has no thumbnails in the file picker and my toilets are blocked
jayfax.neocities.org
jayfax.neocities.org
Here's a trivial to reproduce and obvious issue that's been there for several years now:
1. Open a directory that loads slowly (e.g. one with thousands of files on a smb3 mount)
2. While the list is loading, select a file (but do not open it)
3. Wait for the whole list to load
Once the list finishes loading, the file on the very top of the list gets automatically selected (discarding your selection).
Thus, if you select a file and click open, in the time between you select and click open, the selection can auto-change and you'll end up opening something else than what you've selected.
It is this bad.
On the plus side it should be an easy fix?
There is a lag when hitting <enter> and the last <down arrow> is processed out of order :/
Edit: Alright, alright, forget the old computer. My new ones get it right too. All of which is a red herring, because the point is this behavior is ridiculous and never should’ve shipped.
It's relatively simple: the picker executes file-opening asynchronously, and only checks which file was selected at some indeterminate point after enter is pressed. In the meantime, the down arrow input in the main GUI changes the selection. The keypresses are always in order.
Whether or not that's the correct decision, it's not an inconceivable design. That example is probably one of the only times it would matter, since you would need async code that cares about some part of the file picker state.
The only potential downside would be if people expected to be able to cancel the <enter> action. But that would be unusual, I think.
In this case, the async logic is not advanced. In fact, I'm willing to bet that this is what happened: at first, the file-opening was synchronous in the GUI. People complained that opening certain files locked up the file picker, so a developer sticks the file-opening code in a background thread. This produces the above bug, without complicating the input design - in fact, preventing the bug requires making additional changes to the code in some way.
I have never looked at the code in question, but it almost sounds like the developers went out of their way to create these ridiculous bugs, because the simplest solution definitely would not have something like that happen: The handler for Enter gets the current selection (which will definitely be the correct one) and opens it.
The actual opening can be slow, so that can be done asynchronously. But to interpret "Enter opens the current selection" as anything other than the current selection at the time the Enter key event was received is definitely in the realm of rookie mistake if not worse.
If getting the current selection of a UI control somehow needs to be done asynchronously, then something is seriously wrong.
As a long-time Win32 programmer, the manifestations of these bugs are definitely hard to conceive.
What makes you think this is the case? X11 has an ordered event queue and there is no reason an application can't process the keystrokes in the correct order.
> Another issue is, there's no mapping of pid <-> X11 window. It's simply impossible with the current design of client-server.
What do you need this for? There is _NET_WM_PID [0] which can be set by clients.
[0] https://specifications.freedesktop.org/wm-spec/wm-spec-1.3.h...
> What makes you think this is the case? Many other ways in which async behavior happens on X11, on any machine I've tried, with the mouse cursor lagging to register a click event, for example.
Frankly, it is completely fucking unacceptable for software to miss keystrokes or read them out of order. This is basic programming 101. Any code which exhibits such a problem has a shit design and needs to be rebuilt from scratch.
This sort of thing is exactly what drove me away from the mainstream Linux distros, to create my own from scratch. If and when I ever happen to boot up something like Linux Mint and use it, (shudder,) the sluggishness of gnome3/cinnamon/whatever and all the other bloatware running on the system is readily apparent. My system is always FAST and snappy. Input lag or missed keystrokes? Not on your life.
Reading through the HN comments on articles having to do with speed, snappiness, responsivness of a UI, and excessive bloat of software, it occurred to me one day that these kids (here's the root of the problem) don't actually have a clue that things could be any different than they are. And that's why we're stuck here.
They have literally grown up with slow, bloated shitware for their entire lives, so they actually think all the bloat and slowness is normal and necessary.
Notice how the GP blames X11? They grasp for excuses rather than exercising deep thought, while demonstrating low standards, complacency, and laziness. This is what happens when the common masses take over anything. Shallow thinking and low standards prevail.
These kids have a false conception that doing away with the bloat would mean losing a bunch of features. But in reality we could indeed have fast, responsive, light weight systems, with all of the same features and even more, if only programmers cared enough, or were talented enough to write good software.
Just like how the entire purpose of a certain very Gimped graphics editor was probably to occupy and exploit people who could have worked on some better project. It seems to have worked for a long time; only now after many years do we finally have Krita, but it's KDE only.
It's obvious microcomputer UNIX has been under assault for a long time by those who don't want the dream of a free, open desktop to be realized.
There is a standard window property that anyone can set and that any halfway sane UI framework sets. I ran into maybe one that didn't and even then it was five lines of copy/paste code to add it.
I'm having trouble with the part of the design where we recognize that a file is selected (such that pressing <enter> causes a file to open), see the <enter> keypress, and then fire an event saying "open any file, whichever one you feel like" as opposed to "open this file right here, the one we can see is selected".
If, as you maintain, the keystrokes are processed in order, then at the time <enter> is processed, we specifically take notice of which file is selected. (Because, as I said above, we only know that <enter> should open a file at all because we see that a file is selected.) We fire the file-opening event after that. This isn't a mistake we can make by accident; we'd have to be making it on purpose.
I can see where the assumption that the keystrokes are being reordered comes from; it's much less insane than what you're proposing.
I don't find such a design that surprising. If you like simplicity, you would be tempted to go for it, because it doesn't involve duplicating data (namely, the selected filepath) between the main GUI state and the event handler for opening the selected file. If you're writing in a memory-managing language like C, it's even more tempting - by not copying data, you don't risk forgetting to free it later.
Having said that, I meant it more generally in the sense of their respective architecture design paradigms than details of a particular implementation.
It's easy to imagine. Someone kept a variable for the current selection and instead of copying it during the enter event they just read it when the delayed action happens. It often takes time for a second window to open or a page to load. If that new window references the current selection you are going to run into bugs.
It's a design that has caused many video game exploits. You can do impossible things like disassemble a Fat man barrel and put it on a pistol in Fallout. You will get a rocket launcher that has the fire rate of a pistol except it shoots nukes and only uses bullets as ammo.
It's almost a classic TOCTOU issue.
https://en.m.wikipedia.org/wiki/Time-of-check_to_time-of-use
(Which is also, why applications like Photoshop on Windows weren't a viable option for professional users for some time, until hardware became faster. How do you draw or paint, if the events representing your gestures are not synchronized, as they are subject to system load?)
The slowness is only caused by the GIO's G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE and g_file_info_get_content_type. Wherever they are used, there will be a slowdown because the contents of files, that lack extensions, should be read for finding their mimetypes. Almost all the time is taken by that; the other operations are done pretty fast — particularly, the Qt GUI takes no time in comparison.
So maybe I'm not right about GIO as such. But Nautilus is also excruciatingly slow despite being more fully asynchronous.
However the most disturbing thing is that events might get to be processed our of order. Even if you stored current state in a proper Model, there is nothing you can do if your event queue ends up being "<down>, <down>, <enter>".
I guess that's why Qt prefers to do all UI event processing exclusively in a single thread. The event queue will always be serviced in order.
In fact I have never since directly uploaded anything from my own personal file directories, instead I make a copy of it under /tmp for the upload process.
Not sure if this is the same bug you are talking about
Here's the thing that convinced me, a while back: https://wiki.gnome.org/Attic/GnomeScreensaver/FrequentlyAske...
I'm sure there's people here who are long-time contributors and/or supporters. Just ignore me, I'm not your target audience. ... I'm really not sure who your target audience is, though.
We should ask Havoc Pennington about this, he must have names for all the personas that he came up with, after reading "The Inmates Are Running the Asylum": https://mail.gnome.org/archives/desktop-devel-list/2002-Dece...
I actually have a copy of the book, and it is indeed a good book. The problem is that it somehow empowers GNOME developers to keep creating/maintaining/rewriting broken software, all in the name of "usability".
And it is exactly to let themselves yell that, they work hard to alienate few normal devs left in the project.
I understood now that Gnome 3.0 was from the start Redhat's fully intentional attempt to appropriate the project, and is not dissimilar to Microsoft's embrace, extend, extinguish.
1. Get command of some more abandoned parts of the project.
2. Push a series of guaranteedly unpopular sharp direction changes which will lead to loss of devs.
3. As devs leave, you get more reinforcement to your casus belli, saying that "nobody maintains this pile of garbage, so now I am taking it over too"
4. Rinse, and repeat.
they'd be the only left able to offer (paid) support?
I think, in their view, all comes after taking hold of the project. But here, they got that, and now what? Now, all lofty plans have to meet the cold reality.
It's like a mutunineers on a ship throwing officers overboard, just to realise hours later that they are in the middle of an ocean, and they have no idea how to sail a ship without skilled crew.
I saw that happening in public companies: a single asshole activist with puny few percents of the company keeps throwing big radical decisions onto every shareholder meeting, until he gets everybody so discombobulated, or the company so disfunctional that others either leave the company to him for taking, or he gets a legal casus belli to sue the company to try to wreck it further, and then seize it.
For such people, it doesn't matter if the company in question dies, as long as they come out with gain. Some are plainly idiots with too much legal education, and some are genuine degenerates doing it with full knowledge of consequences.
There fewer people contributing because programming in C is no longer fun or hip. It is not Gnome problem but the whole Linux ecosystem. Gnome is slowly adopting rust but the core framework is still C. There is plenty of active forks of Gnome2 people can contribute there.
I would tell the same to Poettering, Clasen, and co.
There is really nobody who obligates them to work on their "innovations" in GNOME with religious zeal if the rest of the project showed no interest, speaking lightly.
If nobody wants to work on their stuff, they can't claim "victimhood" as if that happens as a result of somebody's ill intents.
I have to reference Torvalds vs. SystemD here as an example how Sievers, Poettering, and co. instantly drew up a picture of kernel community being some kind of a bullying ring when the only thing they did to them was to ignore their (bad quality) patches.
Again, if you are a developer and you disagree with someone's choices, you are free to take it in your own direction. You do not have to work on anybody else's stuff if you don't want.
That would be best said to persons named above.
They were free to fork GNOME into their touchscreen based imaginary future, and experiment with it even more freely as a minority group, rather than trying to hijack the project, and getting stalled half-way because of popular pushback.
Again, please do not spread these unfounded conspiracy theories. I can explain more what I mean by this, but it seems unlikely you are willing to hear what I have to say. I can tell you if you're trying to convince me to be hostile towards any specific developers for any specific project, I will have to decline to get involved with that. You don't have to resort to character assassination, if you have some ideas on a good technical direction for a project, just make the argument and write the code: people will listen if your arguments are sound and your code works.
GNOME 2 was a project of 100+ developers.
TOPAZ was a half-baked tablet UI tech demo from a dozen Red Hat employed devs, later dropping to 7-9 regularly active ones.
Tell me what is more to explain about this?
> The reason is simple: Nokia. Nokia (and to a much lesser extent, Intel) built up a lot for Maemo and Meego. Just for KOffice/Calligra, at least twenty people were paid to work on the documents application. For all of Maemo/Meego, the total number of people Nokia funded was enormous.
> And then Elop, and the burning platform, and Windows, and well, that was 2012.
> By 2014, my company was dead, amongst others, and, yeah, the peak had peaked, and the big chance for free software had gone.
Is this advice meant to be applied against all people, or just other developers? I certainly wouldn't apply this standard to RIAA lawyers suing kids. I judge them to be worms even though I never worked with them. And don't even get me started on politicians, I've never worked with one but I certainly feel entitled to have harsh opinions about some of them.
If the advice is limited in scope to professional peers, then I have to disagree with it; having double standards for people like yourself isn't great advice.
If we are trying to be good open source citizens and avoid unnecessary fights, you can apply it just to that.
I respect that you are willing to admit you don't know the full history and implore others to understand why for example, certain decisions were made. It seems as if many people love to theorize about what these are, making correlations which are usually driven more by their feelings than reality.
I feel like character assassination was a phrase that I feel aptly describes how I've seen a lot of people treat people like Lennart Poettering. I feel as if some people are unable to separate person from their opinions. Not considering that person like they are more likely to do so if they were in person.
I sometimes feel like this attitude is more strongly felt by some people in a community where there is freedom to take a project in another direction if they desired (I know that not everyone has this option).
I do think however that the article of this thread expresses their opinion on an issue in a way that it explains how it effects them without resorting to emotional attacks towards the project and it's something I really liked about reading it.
In such case disjoint between users and developers is even further. I am professional developer, yet I have zero contributions to my framework and just a few contributions to libraries. After 10 years my contributions to Linux community limited to bug reports, few patches and manuals.
In reality there is not enough community support to maintain existing systems. "Freedom to take a project in another direction if they desired" by individual is overrated, that's TempleOS.
EDITED: Some bragging about making a difference
There are a lot of projects with less corporate influence. No systemd on BSD, but hardware support is not as good. Generic distributions is something that works for most of the users. There are a lot of niche distributions and projects (Void Linux runit!). Current state is just a reflection of users priorities.
These developers do not wield power over anyone and they are not filing lawsuits. They are developing code, either as their job, or as volunteers. And in either case, contributing their work as open source.
It might help to take a little perspective before publicly passing judgement on _individuals_ and what you imagine their intentions to be rather than merely judging the merit of their contributions. Those are completely different things.
I get that the two things have some overlap and aren't cleanly divisible. What we do is a major part of who we are.
But I mean, it's one thing to say "I think it [his architecture] is awful", or even "I think his architecture had a negative impact on people/society/cherished values/whatever" but quite another to say "I think he sought the ruination of everything good and decent because he was a demented and feeble mind." Because, yes, I do think the last one would only be appropriate if you actually knew something about the guy...
Edit: And yeah, of course, I'm not trying to censor anyone's opinions. Of course you can _have_ the opinion, you can even express it. I just think that it's not what engaging in productive/civil discourse looks like and, depending on the venue, people may call that out or whatever.
I suspect that, in many instances, people who do that are not trying to convince anybody of anything. If they expected to be greeted everywhere with agreement then they would not go around saying things which they know perfectly well are not likely to result in a vigorous and healthy debate if they were said to strangers in the street :)
You can literally take millions of lines of code that they may have written wholesale, and change a single word in it that you don’t like.
In open source, they have nowhere to hide. If you disagree with a certain decision they have made, you are welcome to take the effort they have put in to implement the hundreds and thousands of other decisions they have made that you do agree with, with a simple “git clone”.
Worse yet, its developers consciously make design decisions that make it hard to write applications that play well with GNOME without taking a dependency on it - their take on it seems to be that GNOME is a platform, and their main interest is supporting "GNOME apps", even to the detriment of all the rest.
Between these two things, deficiencies in GNOME affect a lot of people who didn't necessarily choose to be affected.
https://trac.transmissionbt.com/ticket/3685
"I guess you have to decide if you are a GNOME app, an Ubuntu app, or an XFCE app unfortunately ... It is my hope that you are a GNOME app."
And because I have to keep saying this, that is a non-issue now anyway. XFCE supports the new app indicator protocol, and since Ubuntu dropped unity their support for it is available as a standard GNOME extension: https://extensions.gnome.org/extension/615/appindicator-supp...
If you sincerely believe that it's okay to have a single DE be a self-contained app platform with no interop, that's up to you - but do understand that this is a very debatable premise, and people who don't agree with it have very good reasons to be annoyed with GNOME.
The GTK file chooser dialog is easily the most garbage piece of fucking shit. Honestly, sometimes, if I want to post something online I just copy the file to my Mac first just to avoid dealing with the fucking piece of shit GTK file chooser. If I need to sort through a bunch of files, easier to run Samba and sort through them on my Mac, because Nautilus was scooped out of the same fucking pile of shit than the GTK file chooser was scooped from.
As far as I can tell, the last time that browsing files on macOS really changed was 2007, when 10.5 came out and had Quick Look. Since then, browsing files on Linux has somehow gotten worse. Do you know what it’s like on macOS? Every once in a while, Apple quietly adds support for previewing a couple more formats.
If it is so, then I must consider switching! (At the moment I am using Xfce.)
Additionally, programs may rely on different GTK versions, which also makes things confusing. For example, Visual Studio Code and Firefox use GTK3.
edit: extended with programs explanation
I actually like background textures for my file manager, so i'm happy this stayed.
But there is also tabbed and two pane view which got axed from Nautilus too.
For complex paths, I found that this is the quickest way to open the file I want.
Nautilus is pretty, and for the most part fairly nice. But lacking typeahead just makes it unusable.
One of the thing I loved about the Amiga was that because of how the API was structured, it was easy to replace things like this, as you could patch every API endpoint. As a result, it took very little time before more advanced replacements for the standard file requester appeared. You "just" had to patch (via OS-provided functions) a couple of library calls.
I must have installed a Linux distribution 100 times with the intent of using it as a desktop and lasted less than a day every time. I’ve been doing it since 1998. Literally something that horrible punches me in the face every time.
I refer back to my comment here: https://news.ycombinator.com/item?id=25678434
I bought a Mac now. I’m too old for the fight.
Everything I do server side is on Linux but the desktop is vile and I want no part of it any more.
I said the same a decade ago. As of last week, I'm back on X11... chipping away at configs for hours and hours and hours.
But I have libnotify popups now. :D
At least now I only have to put up with a slightly dated and crufty interface but I can use my PC to full potential - gaming AND work AND working bluetooth. Crazy huh?
In my case, I also managed to notice that my computer is much faster than it ever was on Linux, which is nice. If I had an old Core 2 Duo Linux would make it fly, but alas, I can afford a modern PC.
The compromise for me before migrating to Mac was using Windows on the desktop with Ubuntu VMs in Virtualbox. I had whole clusters running on my desktop.
Windows 10 is fairly decent on most hardware I have found. If they finished off all the little quality issues, had a decently integrated mobile ecosystem and stopped all the telemetry bullshit I'd be there now. I had some hope back in 2015ish when I was full time windows desktop dev with WP handset etc. Alas the world moved on so I dug the old Unix hat out.
So in that case, Windows is the best compromise. And while I'm still in the proprietary world, I'm outside the walled garden.
In any case, I haven't hit any WSL2 bug or corruption in these 6 months (nor blue screen), so fingers crossed.
I wish you continued fortune with WSL2.
You are not allowed to complain about "Linux" when your beef is really about Gnome.
Linux itself is fine. It's the layers of shit smeared on top that are not.
pFileOpen->SetOptions(FOS_PICKFOLDERS | FOS_PATHMUSTEXIST | FOS_ALLOWMULTISELECT);
https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_...Reference photo: https://en.wikipedia.org/wiki/File_dialog#/media/File:An_%22...
In this, a full path can be pasted in to both the top bar where it says "This PC > WINDOWS (C:)" and also into the blank "File name: | |" box.
I'm pretty sure I remember this dialogue being available since NT days. It seems fairly discoverable to me, clicking in the empty space of the current working directory path changes it to show the text path of the directory. The "File name" box offers autocomplete if you did something like "C:" as a file name, or started typing a folder name of the current working directory.
So many times I would go to a folder, start typing the name of a file/sub folder that I knew was there and it was like “nope! Let’s instead search whatever default directory instead. Apparently this behaviour is by design and alternatives won’t be considered. (This was when I was using Ubuntu 18/19?) at some point they changed a bunch of default things in the UI interface (including getting rid of what I considered was the far superior previous lock screen manager).
You could type /tmp/a. and it would autocomplete it to /tmp/a.png
It is a good idea, but I type too fast. So I would write /tmp/a.png and then the autocompletion triggered and replace it with /tmp/a.pngpng
This is so sad.
Autocompletion of filenames should work perfectly no matter the conditions. If "ls" can list tens of thousands of files in a fraction of a second, there's no reason that autocomplete has some delay. I can see why this happens, maybe you have a thousand images in /tmp and the file picker is opening them all to compute their thumbnails (which in my opinion is useless, but whatever). Then it uses quite a few kernel threads and it clogs the system, making the completion to fail. But it sounds like this problem should was already solved many years ago, and that modern "improvements" of the file picker made it fail.
This, other UX and even performance (!) issues that have been mentioned in siblings as well as TFA makes the Gtk file pickers easily one of the TOP10 reasons to avoid Gtk and Gnome for anything.
The interaction design of these dialogs is simply shit. Windows (and also KDE, which has been using a copy of the Windows dialog for about 20 years) show how to do it correctly.
(I actually asked someone more knowledgable about this once and was told that it's my fault for using the file picker incorrectly and I simply need to stop doing that.)
The past 5 years though have been a nightmare, MS has really messed their UI up, and various applications/toolkits or whatever the problem no longer properly support the CUA guidelines which in the past were the one assured way of doing an operation cross applications and various OSs (windows+linux/kde).
Maybe its time to start going to a few developer conferences and giving talks about how useful system wide shortcuts that work across multiple OSs really are.
Control click seems to work.
Some other Gnome apps also work correctly so I think it's fixed in Gnome but not whatever GIMP is using.
That's a degradation from 2.10, or 2.16, from time even before the 3.0.
KDE is the best desktop experience available.
I agree that KDE still feels better though.
One of the most frustrating experiences is related to the OP; reflow in browsers as new elements load making it impossible to click on the right thing until the whole page finishes loading. Popups are also nearly as bad but maybe less avoidable.
When you click next page nothing happens long enough to make you think your click hasn't been registered, then right as you click again the page loads with ads right where the button was
I remember the first time I encountered the epiphany that "woah, typing too fast can break my textbox/inputs" and coming to the realization that in order to accommodate the faster users you often have to be very careful thinking out your UI flow.
Hence why I hate UI's. Sometimes feels like they are nothing more than a fight between me and another developer.
That websites and volunteer ui projects get it wrong is understandable- the problem domain is huge. But dragging an app onto a folder is a rather constrained problem that should be easier to solve.
Yet...
When you're past the stage of first impressions, it's a death by a thousand cuts.
Windows is not better in lots of these details, but at least users already know its tricks due to Microsoft's years of desktop dominance. I'd argue the effort of changing platforms should be about improving the experience, not about swapping a list of UX issues with a set of different ones, otherwise the change isn't really worth it for most users.
EDIT: oops I meant to write this comment as a reply to the sibling that talks about how difficult it is to select a parent directory in the file picker dialog (https://news.ycombinator.com/item?id=25721368)
1. System boots up and starts some apps which are creating windows. This may take some time.
2. While all of that loading, I am seeing some of the apps of no use, I am quickly switching to one, capturing focus, and pressing the quit shortcut.
3. Between my reaction and actual button press, some other app loads, and focus is switched to its window.
4. My keypress goes into another focused window, which gets closed instead of original one. Tada.
Why OS focus has a priority over user focus?
Hit cmd+new window pops up with search highlighted, start typing after a split second the window pops behind the other and all the key presses are then fed into the previous window.
Try to split a window pane on Windows, or right-click and create a file in Mac. In either, try to open an SFTP folder as if it is local, or integrate Git status icons into finder (all easy to do on KDE and Gnome). Good Luck.
The number of copy+paste bugs and QuickLook hanging issues on Mac is not even funny.
Just look at all the enhancers like Norton Commander and Path Finder, and you can see that even calling the OS Windows didn't make MS put too much effort into their windows.
File pickers are one of the things I don't like on GNU/Linux unfortunatelly, saying that as someone who daily uses it as a primary platform.
MacOS and Windows file pickers work better.
For me personally, I wonder why mouse wheel/scroll acceleration is still not implemented. I implemented it a while ago for Xorg, which is outdated now, and also the maintainer was not happy with my approach. It's now a long outstanding proposal for libinput, https://gitlab.freedesktop.org/libinput/libinput/-/issues/7 / https://gitlab.freedesktop.org/xorg/xserver/-/issues/405 (original bug report from 2010: https://bugs.freedesktop.org/show_bug.cgi?id=29905).
Anyway, I guess there are actually not too much people caring about this feature. And the intersection of those who do and those who have enough free time and knowledge to implement this is just empty.
Btw, I don't quite understand the comment about KDE. It sounds like the the author claims that KDE lacks other relevant features. But comparing Gnome vs KDE, it is quite clear that KDE has much more features. This is never a complaint I heard about KDE.
Don't know that I agree there.
I actually really like GNOME's workflow on laptop, especially with Pop OS's extensions.
that might be subjectively correct to a lot of people, but I find that they are usually set to sane defaults and a lot is disabled by default. Also, I would like to emphasis that the choice of disto kinda matters here as they sometimes change defaults.
I've tested comparing Gnome/KDE on old hardware (eg, 2 GB of RAM and CPUs built for power conservation), and subjectively I found KDE to be a lot snappier (Gnome Shell always choked for me when hitting Activities) and, after a few hours of uptime, found it used less memory than Gnome. On the same box, it even gave Xfce a run for its money, which was surprising.
Although, when it comes to peddling Linux to other people, I'm hesistant to install KDE for anyone because it's a bit too configurable. I'm always afraid of getting asked for help because of someone accidentally messed up their UI and losing their taskbar or something like that. KDE's came a long way in recent years, but that "you can configure everything" core will always probably be there. And on the flip-side, if I install Gnome, people often find it outlandish and barebones...
I think Kubuntu did more harm than good for people’s perception of KDE.
I wish there was the option of not installing Akonadi, but apparently it's not possible any more to run sticky notes and feed reader without it.
I have nothing against KDE, but come on. Many of us really do prefer GNOME despite its perceived deficiencies. This is just a matter of personal preference.
For instance, margins and paddings seem to be all over the place [1]. At least Gnome gets that part right.
... it has been feeling like that for the few years I've been following it.
I personally like KDE and it's Breeze Dark theme a lot.
> This week (KWin’s compositing code was almost totally rewritten...)
I then instinctively went on to the top of the article to check on the date, to get an idea of when was "this week" for the author... but there is no date. Oh, well :-)
Opening the post itself (instead of reading from the main page) does indeed change the UI and it now happens to show the date.
Loved the irony...
This all shows that even for people dedicated to it, getting UI/UX right is hard.
Everything is so LARGE and padding between elements is YUGE. The tech is cool and everything seems to work fine, but something about the UI just grates me.
Also, KDE is the most customizable DE of them all, and it has the most powerful features of them all (by far). Given that, all these "but it looks kinda bad!" comments sound insane. It's like choosing a push mower over a motorized because you like the finish on the handle.
IMO, one aspect where Gnome excels is its tight integration of alternative input methods. I remember it being controversial that Gnome blessed ibus over alternative engines, but as a result, setting up CJK input is simple and foolproof. Although I prefer KDE in every other way, I have never managed to get ibus working correctly in that environment.
I have nothing against KDE by any means (I love it, and also really appreciate their initatives like KDEnlive, etc.), but I don't think I've ever gotten Japanese/Chinese input to work in it before. Maybe once, but then I gave up on finding a sane way to easily cycle between the different input types (eg, WinKey+Space).
I use windows-key and start typing to launch things all the time, and after reading your comment at first I thought I might have developed a habit to pause, but nope. I wonder what the difference is.
My biggest KDE gripe is that popups from the system-tray disappear if you move the cursor outside of them. Maybe pro gamers can manage to keep the cursor in every time, but for me I often take 2 or 3 tries to click on something.
This looks like a bug or you changed the default setting, just to be sure in System Setting -> Window Management -> Window Behavior -> is the Window Activation Policy set to click to focus?
"This week Plasma also saw a new Kickoff menu that is a complete rewrite, which is also coming with Plasma 5.21. There have also been many bug fixes, performance improvements, and other ongoing UI refinements."
https://www.phoronix.com/scan.php?page=news_item&px=KDE-KWin...
https://www.reddit.com/r/elementaryos/comments/gs86hj/thumbn...
https://medium.com/elementaryos/a-new-native-file-chooser-19...
Went with Plasma first - did not go well. I simply cannot get comfortable with it and general look and feel is not working for me (I prefer defaults and I avoid much tweaking and any 3rd party customization). I settled on Cinnamon, but it was close tie with GNOME which was actually quite refreshing experience for me.
So, to each his own, but I just do not see KDE as "the sanest" default.
> Debunking: lInUx Is JuSt A kErNeL
Ah yes, countering a meme with another meme. Good one.
There are a huge variety of laptops with different size trackpads, different positions, varying levels of palm rejection etc but there's zero customisability around this seemingly simple behaviour.
My Windows dualboot has no such issue and macOS of course (using a MacBook) works fantastically without this limitations.
https://www.freedesktop.org/wiki/Software/libinput/
https://wayland.freedesktop.org/libinput/doc/latest/touchpad...
I'd file a bug though, and see if whatever's wrong can be fixed for every trackpad of that same make/model.
My "issue" is described as expected behaviour in this documentation: https://wayland.freedesktop.org/libinput/doc/latest/palm-det... (the "A" event).
Fortunately source is there and it is easy to patch (try to set 0%). That's quite common, for example there are several patched libinput on AUR [5].
Does your hardware has firmware palm detection mechanism? Current bug [6] (Palm exclusion zones are not worth it on some hardware).
[1] https://wayland.freedesktop.org/libinput/doc/latest/palm-det...
[2] https://gitlab.freedesktop.org/libinput/libinput/-/blob/f2ba...
[3] https://gitlab.freedesktop.org/libinput/libinput/-/issues/19...
[4] http://who-t.blogspot.com/2016/04/why-libinput-doesnt-have-l...
[5] https://aur.archlinux.org/packages/?O=0&K=libinput
[6] https://gitlab.freedesktop.org/libinput/libinput/-/issues/43...
The touchpad is about 7 fingers in width and the palm exclusion zones are a little more than one finger on each side; this is roughly 30% of the trackpad, or 15% each side, certainly bigger than 8% and even that would be too much.
Additionally, although the documentation does state that rejections should only happen for a vertical like movement, it also happens for a completely horizontal one.
My Dell Latitude E7440 follows description and I believe same is true for most of the users. I have to start movement at least diagonally, once it catches further direction does not matter.
It produces no output when running `libinput debug-events`. I've recompiled my version with 0% just to check.
/* palm edges are 8% of the width on each side */
- mm.x = min(8, width * 0.00);
+ mm.x = min(8, width * 0.08);
edges = evdev_device_mm_to_units(device, &mm);
tp->palm.left_edge = edges.x;
- mm.x = width - min(8, width * 0.00);
+ mm.x = width - min(8, width * 0.08);
edges = evdev_device_mm_to_units(device, &mm);
tp->palm.right_edge = edges.x;
Disabled. I like how it is easy Arch allows such experiments: $ yay -G libinput
$ cd libinput
$ makepkg -so
==> Verifying source file signatures with gpg...
libinput-1.16.4.tar.xz ... FAILED (unknown public key E23B7E70B467F0BF)
==> ERROR: One or more PGP signatures could not be verified!
$ gpg --recv-key E23B7E70B467F0BF
$ makepkg -so
$ vim src/libinput-1.16.4/src/evdev-mt-touchpad.c
$ makepkg -feiUltimately, I would prefer that this kind of feature is configurable in userland. Wayland's documentation page mentions that "Data from touchpads showed that almost all palm events during tying on a Lenovo T440 happened in the left-most and right-most 5% of the touchpad. The T440 series has one of the largest touchpads", and this may have been true several years ago, but it's quite common now to have larger and wider form-factor touchpads.
Which "Linux" desktop are you referring to?
Personally, I see this change as a regression from the highly configurable synaptics driver.
As you've asked, distribution wise I typically run an Ubuntu LTS with Gnome 3 but rolling releases such as Manjaro and lightweight DE like XFCE are also very nice.
My guess is that the author prefers Gnome because yes, it has fewer features, but those feel more polished. KDE is powerful but some less frequently used features felt more like functional prototypes that were thrown somewhere into the nth level of the system settings.
Then again the last time I tried it Gnome had a lot of issues as well, so maybe I'm completely wrong nowadays.
This came up recently with SolveSpace. Two developers spent an amazing amount of time getting scroll wheel zoom right. Discussion here: https://github.com/solvespace/solvespace/pull/825
Love these guys, they give a crap about usability. BTW next release soon - after a bit more polish. Polish take time and work, but do you really care about the software if you don't spend some time unclogging the toilet?
I noticed Ubuntu have switched to KDE (or, alternatively, LXDE) as DE for their "Studio" variant. I'm guessing that's mostly because the minimal window decorations for resizing etc makes gnome hard to use, and Studio is for large notebooks or desktops anyway. I think the exercise of patience that was resizing windows on gnome2 has slightly improved, but I'm still speechless as to the loss of the global menu to be replaced by ... a centered clock accompanied by a minimal dot that I found out to display notifications after a while, and nothing else.
I mean I'm glad that F/OSS for desktops still exists at all, but gnome3 is really just a big regression for no reason at all, and I'm starting to get a bit concerned where gnome is heading. It's not that we have a wealth of new desktop apps anyway. Maybe Ubuntu is testing the waters to switch to KDE as well.
The decision by the Ubuntu Studio variants was made by the Ubuntu Studio developers and not by Canonical. The developers are also maintaining Fedora Jam with KDE installed by default too. Unfortunately all the big commercial distros are using GNOME as default DE because RedHat is providing the commercial support for GNOME already and it's easier for them to just make the same choice. So I don't think Ubuntu will switch to KDE anytime soo, even if GNOME developers don't like Ubuntu and make their opinion very public.
For those interested on why artists like Plasma so much, David Revoy made a nice summary: https://www.davidrevoy.com/article783/kubuntu-linux-20-04-fo....
Alas, my white whale is focus-follows-mouse, and I just... can't have it. Not worth abandoning the Mac over, not for me, but.. arrgh.
This maybe would be solved by a window manager that enforces never allowing windows to stack depthwise? Which OSX doesn't have of course. Just size-and-position-hotkey workarounds
In real, XWin-style focus-follows-mouse, the window you mouse over gets the focus, but, isn't pulled to the front. If you click, it gets the front and the focus.
I use Moom, a semi-tile snap-style window wrangler, and a widescreen with three panels. What I want to do is just slide the cursor over and start typing, but I have to remember to click, and often enough I just don't.
The One True Wiki has a nice discussion of the subject: https://wiki.c2.com/?FocusFollowsMouse
Alt-tab didn’t work because its mru usually gets spoiled by other (browser) windows. If only there was a setting that fixed alt-tab mru into a stack. Alt-tab-tab to switch to app which started second may be much better than mru for some workflows, because you can always predict what it does with certainty of 1.
Ended up taking it back for a refund and getting a g703 instead.
Honestly if the "2s Anywhere" had had the setup you described I would have kept it. Logitech tried to explain that middle slick was still there, on the button further back towards the palm rest, but it felt so unnatural and inconvenient. The 502 looks like a nice piece of kit.
"Be the change you want to see in the world" - ghandi
That said, you can't do that with windows or macosx.
Now capitalism works, so apple and microsoft apply the money they make to hard/unsexy things like sleep-wake bug fixes and APIs and sane defaults.
But they also bake advertising into their codebase and leech data home to the mothership and prevent you from running all the programs you'd like.
So look at linux as an opportunity.
https://slated.org/the_poetterisation_of_gnu_linux
The more you know.
EDIT: nope, it's more direct: https://en.wikipedia.org/wiki/Lennart_Poettering
a connection the article didn't make clear.
I'm not sure using someone's surname is such a great idea for this purpose. But I now at least understand why. Also their anger at the added complexity being done to Linux and surrounding structures including but not limited to systemd.
But these structures are still in flux. Even if it means a mess along the way.
I'm not as sure with Macs (and the surrounding culture isn't really eager on such things anyway), but there's a long history of people modding Windows in various ways, that goes back to the DOS days. Of course your customisation is highly unlikely to make it back to MS, but things like WindowBlinds were extremely popular.
> "Be the change you want to see in the world" - ghandi
Gandhi (spelled thus) never said that. What he did say (in an article about first-aid treatments for snakebites, weirdly enough), was this:
> We but mirror the world. All the tendencies present in the outer world are to be found in the world of our body. If we could change ourselves, the tendencies in the world would also change. As a man changes his own nature, so does the attitude of the world change towards him. This is the divine mystery supreme. A wonderful thing it is and the source of our happiness. We need not wait to see what others do.
-- The Collected Works of Mahatma Gandi, vol. 13, p. 241 (http://www.gandhiashramsevagram.org/gandhi-literature/mahatm...)
Not quite as snappy, admittedly.
This is the absolute CORE of the problem with open-source software. Someone becomes the "maintainer" of a project, often through no skill of their own (they just showed up at the right time), which effectively makes them BDFL with infinite veto power. Hard-forks of popular projects are politically unpopular (for good reason), so that isn't an option. Instead, the whole world of software that relies on a package is broken or fixed at the whim of one dude.
That’s a bit unnuanced, isn’t it?
Nobody randomly becomes the maintainer of a big/popular project without having a history of contributing. They were the ones willing to pick up the task of doing free labour for everyone after the last guy didn’t want the job anymore.
As maintainer of a project, their job is to try to respond to bugs, maintain it, improve it and keep it working. All for free.
If somebody submits a low quality or low effort patch which goes against the projects conventions or general strategies or patterns which will over time increase the maintainer’s burden, he is under no obligation to accept that patch.
On the contrary, whoever submits the patch is the one who wants to benefit from all that time invested into the project so far, for his own good. I think it’s absolutely fair to expect/demand that they are also willing to put up some effort when they send in patches and receive feedback.
Usability is not about how many features a program has. Usually more features make it harder to have good usability.
If anyone wonders, here are three from Mac last I used it:
- fn took the place of ctrl on the laptop (but not the full keyboard). Unlike on Dell and Lenovo who also has this problem it could not be remapped neither at boot nor in the OS.
- CMD - tab forced me to think ahead of time if I want to change to the last application or the last window of the same application. I.e. switching between two Safari instances takes a different key combination than switching between Safari and IntelliJ.
- modifier keys worked differently between applications, e.g. selecting to the end of a word was either ctrl-shift, alt-shift or CMD-shift depending on application.
That’s a feature, not a bug. I personally hate having to tab through a million browser windows to find the application I need, or having to tab through unrelated applications when looking for a browser window, which is what I have to put up with when using Windows.
KDE does this perfectly however. It defaults to Windows/classic Gnome 2 behaviour but can easily be configured however one wants it.
I don't appreciate the Mac/Gnome way.
Things that annoy me on windows: - No tabs in explorer. Imagine having a web browser that didn't have tabs, that's how bad this is. - No preview in explorer. Mac has this awesome feature where you press space and it gives a quick overview of most files (not only images but also pdfs, .docx, ...). - No column view. Column view makes it much easier to navigate across directories, and back and forth between subdirectories of a root directory.
- "Looks great. But there are no mirrors. Isn't that dangerous?"
- "Yeah, but that's not a bug, it's a missing feature. Besides, we don't like mirrors because in all cars they need to be cleaned all the time."
- "Really? Apparently the KDE cars also have mirrors but different technology, and they don't need to be cleaned at all. Also, what's the difference between a bug or missing feature if a lot of people complain about it?"
- "Oh yeah. But honestly we really don't like that people have to clean their mirrors, so we prefer not to have them."
I'm not saying that it's not a nice feature to have, but it's also definitely non-trivial - it's not only thumbnails for images, if you do that people will also demand thumbnails for videos (including, of course, all ancient formats), PDF files, Word/Excel/PowerPoint documents, HTML pages etc. etc. etc.
I do care about this feature just like the author and though I don't have any evidence supporting my thinking, I think nobody enjoys trawling through bunch of weirdly named files (which is typical of how downloaded image files get named by default) looking for that specific picture/icon. After the Gnome 3 debacle where they basically refused to listen to the users and even removed not-so-obscure features like tabbed windows in nautilus (which I noticed is back now), I just didn't have the confidence that raising a feature request would amount to much.
Now, typing the filename initiates a contextual search within the current directory.
Clicking in the filename textbox and starting to type doesn’t work either. You have to highlight the base (not the extension or “.”) of the filename. At that point, you can finally start typing the name of the file you want to save.
The same problem occurs if the file chooser happens to already be in the directory where you want to save the file.
If I could just “accio my black jeans” I wouldn’t bother organizing my closet.
I think the OP was talking in the context of saving, where searching during the "save" process seems a much less frequent occurrence than giving the name to the file you are trying to save (which presumably you have to do 100% of the time).
And I still don't get this trend in some newer software to make tab switching via Ctrl-[Shift]-Tab feel like the lottery instead of just going to the one on the left or right. There's a reason we can reorder tabs by dragging them around, and a reason our keyboards have more than just those three keys, and "fidget cube replacement" is not it.
Sometimes I wonder if the UI designers never use their own products or just aren't aware that building habits for chains of workarounds should not be the normal way to interact with computers. /rant
I'm not sure I have this issue, but ctrl-L (or equivalently, ctrl-K) focuses the address bar. Less mouse usage.
I've seen many other downgrades with gtk updates. The UI for Deluge, one of my favourite pieces of software, got pretty ruined by the gtk3 uptick.
Another related issue: when saving something from Firefox, the file picker opens into _a random directory_ each time. Like maybe 50% of the time, it will be the most-recently-used directory, but the rest of the time it is a random directory that I had saved something to at some point in the distant past.
It boggles the mind how these bugs can persist for years upon years, but my occasional forays into the GNOME bugtracker indicate that the developers just don't seem to care one bit about this stuff. They often seem downright hostile and defensive and dismissive of the bug reports, either closing them as WONTFIX or ignoring them until they rot.
If you saved something from http://foo.bar.com/ to /whatever in the past, future visits-and-saves to *.bar.com (or maybe just foo.bar.com) will use /whatever as the default location.
To achieve this features and configuration options are removed left and right.
Now we have half the software, no manual and often it still confuses users :-)
Edit: and I don't have a good, inexpensive solution to it.
I was going through the contents of a storage unit and came across one of those old digital executive day planner things from the 80's, still bundled with the manual.
I cannot describe the sudden surge of childlike happiness. I loved reading about how to use things as a kid, and the little fold out pamphlets giving you a roadmap into efficiently using a device/software filled me with many hours of happiness and confidence as a child.
I now do my best to WTFM (Write The Frigging Manual) where I work. It's amazing how quick something can be picked up with a little bit of guidance.
Perhaps we should stop whining and start fixing them. And then if the developers refuse to accept things people have been wanting for well over a decade then we can fork it and simply abandon them like any other archaic unusable thing of the past. We've all asked very politely long enough.
This is open source, we don't have to put up with this, that's the whole idea behind it. Closed source solutions from 23 years ago shouldn't still be running circles around the current stuff. We should all be embarrassed.
Sorry, I don't buy that.
It's worth studying the case of OpenOffice.org and MySQL. Both of these weren't satisfactory to the community for <reasons>, so the community forked them and did all the high-demand feature implementation on the fork. Now the original projects that were forked from are near-ghost towns.
I used to contribute bugfixes to Gnome2 in months before Gnome 3 was released. I observed product plan for Gnome 3 and was joking Gnome 3 will be just a red button that farts.
So many functionalities removed, slower response time, regressions and defects everywhere, broken user experience worse than what Window 10 gave us later. I moved to XFCE and then to Plasma.
"At one particularly frustrating moment, I offered the following: “Bill, a shower, a toilet, and a water fountain all have mechanisms to control water flow, places where the water comes out, some sort of porcelain basin to hold the water, and a drain, but we don’t combine them into one thing to reduce their learning curve. We don’t merge them into one object because each of them are in use in fundamentally different ways at different times.”
Then the pause.
Then Bill’s verdict. ["That's just rude."]
Ouch.
As I saw my career disintegrate before me, I started to question just how “beautiful” my analogy really was. To his credit, Bill was forgiving, and met with me many times after that, giving me numerous opportunities to get him on board with all manner of ideas coming from my team (with varying degrees of success on my part). Ultimately, I never did succeed in making Bill really comfortable with a more emotional approach to software design. But the real lesson of the day was learned. In the software industry, as long as the engineering-minded run the show, the notion of subtle and textured user experience design that balances the emotional and functional aspects of a software experience will always struggle to take root."
--
I keep a running list of little workflows and experiences I generally love on macOS and see if alternatives exist here: https://docs.google.com/spreadsheets/d/148zTJUwfVv9xfDcpSoH3...
>”But engineers (like everyone) see the world through their lens. Engineers look at code all day. And when they see two pieces of code doing roughly the same thing, they immediately think about ways they could eliminate the wasted effort by combining them into one piece of code that performs both functions”.
I shudder when thinking of all the times I have wasted time trying to generalize something only to end up with code that is harder to understand, awkward to use, more complex, more prone to bugs, or all of the aforementioned, just because there is a stupid voice in my head going “do not repeat yourself”.
With maturity comes the insight that not repeating yourself is good. But sometimes avoiding it makes things worse and costs a lot more.
The latter should be collapsed, but might not be duplicate code at all. Automated code analyzers will often not even see these.
And the former must be kept duplicate. Unless you can make it functionally duplicate too. Automated code analyzers will often flag these wrong.
Don't get me wrong: I love automated analysis in a CI or my workflow. But it is not binary like a linter: pass or fail. It requires context and interpretation; I see e.g. CodeClimate as suggestions, not laws.
I wasn't thinking of the things a compiler will tend to optimize. It was more the times when I have tried to do too much with some higher level abstraction and suddenly you find that the abstraction isn't a good fit for everything you need to do inside it and that you may even be writing code that becomes very awkward (hard to understand, "abuses" the abstraction, or just very slow).
These things tend to hit in the "oh shit" phase when you have enthusiastically convinced yourself (and your team members) that this is the way to do it, you have written a lot of code where the abstraction still fits and then you stumble upon the cases where it doesn't fit and things get awkward.
DRY is a good principle, but duplication of code that does nearly the same thing may have significantly lower cognitive overhead, be easier to maintain and easier to evolve in some cases. (The trick is to silence that little OCD voice in your head when you come across those cases).
My programming life has improved for the better when my threshold to generalise and DRY is not when I need to use some piece of code in two different places, but when I need to use it in three different places.
I am not joking, that was life changing advice for me.
Basically you can actually do the things you often need to do. Conversely on MacOS if you need to do any of those things your only option is to use Finder which really sucks because you then have navigate to wherever you were in the app
And of course you can set the icon size in Windows file dialogs, something you can't do in MacOS file open/save dialog
So in this case, thank god the engineering mindset won out in Windows, at least for this particular feature. Whatever UX designer on MacOS decided to neuter the file dialogs failed UX class apparently and chose based on some random airfairy idea then users actually getting work done.
- "Basically you can actually do the things you often need to do. Conversely on MacOS if you need to do any of those things your only option is to use Finder which really sucks because you then have navigate to wherever you were in the app" - I'm having trouble understanding what you mean here.
- Don't get me started on sizes for accessibility reasons, that was partly why I had to switch elder friends to a mac after watching them suffer on windows. Things may have improved over the past few years though.
- I really want to see Microsoft or the FOSS community figure these things out, I dip my toe in once in a while but I think there's an evolution in cultural/governance/funding needed. Maybe the popularity of videoconferencing may help the FOSS world actually see how people work rather than just posting pictures of 'screenshots' and battlestations.
That said, I'm not sure what this has to do with repurposing Windows Explorer? It uses the same widget to browse files, but the File Open window is not actually an Explorer window.
This is even more useful when saving files than opening files.
While I don't disagree that it would be nice to be able to do more of the same things in file picker as in finder, there is the possibility to right-click -> open in Finder
Filepicker also supposrt Finders "go to" (cmd+shift+g) that let's you type paths, with autocomplete and support for ~, which is a super nice feature.
> Concept reduction, consistency, skill portability, were all core to how to make a great UI. Why have 17 different ways to pop up (or drop down) a menu? Why have 17 different graphical treatments? With “one menu to rule them all,” users could learn how to use the menu once and then apply this knowledge anywhere they saw this affordance. That way, developers don’t have to reinvent the wheel, and users don’t need to relearn the wheel.
was taken too far, and argues for dialing it down a notch or two. But the industry did exactly that, and the resulting UX is worse than what we had in early 00s - and keeps getting worse every year.
So, perhaps Bill was right?
When I want to use the bog, I’ll use the bog. When I want to clean my bum, I’ll use a bidet. When I want to wish my hands, I’ll use a hand basin.
The way Windows does it feels like crapping in the bath tub, at least to me. Wrong tool for the job. “If all you have in a hammer” kind of deal.
On the other hand, I’m sure Windows users who defend the mini-Explorer think of it more like using one of those fancy Japanese toilets with a bidet and music player to hide the sound of your ablutions.
I just can't understand how anyone could defend GNOME 3. Their own staff have to use extensions (that break every update), even Fedora (!!!) has to patch GNOME packages now.
They kept fighting that their workflow is superior and now they are going to change it all over next release. They keep butchering their toolkit, I can only use Qt applications now. Hell I'll take even Electron over GTK.
For me the Linux desktop with a WM is the perfect balance of exposing the internals and UX. It could be better but that's true to every OS, at least here I have my freedom. I'm keeping my eye on KDE, seems like they rewrote their less than ideal compositor (legacy X11 is a burden) and maybe in a year I could be using that.
I've once heard someone say that GNOME is Microsoft's favorite DE. You can guess why.
(I say modern era; it’s more or less just recompiled. Still comes with some of the yuckiness of days gone by, like aRtsd for audio.
https://projects.linuxmint.com/cinnamon/
I've been running Cinnamon on a few machines for years, and it mostly works fine, which for a Linux desktop is high praise. The file picker has thumbnails (although it only has a list view, so they're ant-size).
I haven't used MATE. My understanding is that MATE started life as Gnome 2, whereas Cinnamon started life as Gnome 3 reskinned to look like Gnome 2. Both have grown considerably from their starting points.
My overall impression was that it was definitely and surprisingly usable for non-technical people like my mom, grandma, etc. who don't use their computer for anything sophisticated but also don't have the time/energy/wherewithal to debug and configure things.
I can't speak highly enough about the Mint Cinnamon experience, and I recommend that everyone involved in the "Desktop Linux" world try it (at least in a VM) so they can get a sense of what "good defaults" actually look and feel like.
This was also my experience.
The only customisation i've done is:
1. Moving the panel, depending on what my feelings about proper panel placement are at the time.
2. Removing all the default shortcuts, because they collide with IntelliJ and/or are useless, and defining a few of my own
3. Setting up custom compose key sequences
Removing the shortcuts was done in the UI, but i really wish i could do it in a config file instead, because it's a pain to spend ten minutes clicking around. I had to hit the command line to set up compose keys, although i think this is an X problem, not a Cinnamon problem.
You mean like the ability to put things on the desktop? There's even a desktop folder, but well....
I use gnome and I agree with you.
I remember thinking "what on earth were they thinking" the first time I realized that none of the usual way of putting things on the desktop worked on modern Gnome. Absolutely baffling. Breaking such a well established convention is pure hubris in my book.
I'd be perfectly fine if this was a niche DE that you'd have to go out of your way to install but this is bloody Gnome, the de-facto standard DE for Linux. Absolute insanity.
Up until 2020, I didn't use screen sharing all that much, so the lack of support for that wasn't a big deal with using Wayland.
Now days though... this is a problem. I feel sorry for the folks running some Linux desktop that don't know why the option to start screen sharing just doesn't exist in various apps. I can imagine another Linux user saying "but it is right there!" to them, also not understanding why they have it but the person they're talking to does not have screen sharing.
Btw, if you work on MacOS (which has been a while for me now), you get very used to hitting space everywhere to get previews. What a feature!
It’s truly absurd.
Edit: Folks, instead of downvoting, how about pointing out that I apparently have an additional bug going on in my desktop setup? This is exactly the problem with Gnome.
I guess I have a different bug happening _in addition_ to what the article is talking about. Lovely.
Edit: Also the new GTK API for file pickers to work better with sandboxing and platform integration, lacks the ability to add preview widgets altogether.
They refuse since over a decade to implement some generic way to open the file-picker native to the running DE. They force their garbage usability on everybody, even people that would prefer not to use "anything Gnome". Same issue with CSDs, by the way.
Like I said: They can have their broken stuff at their place if they prefer it like that. But it's utterly antisocial to force that stuff on everybody without any opt-out possibility. They even actively and deliberately break and remove configuration options. That's just not OK.
Maybe someone else could confirm? This would be progress! (Even it uses some parts of Flatpak under the hood, which is less nice).
I'm a little bit skeptical as Firefox had to add support for the desktop-portal before it started to work.
KDE has own sins as well - they removed ability of running Dolphin as root giving some vague arguments about security and users protection, while other DE allows running their file managers with highest rights without any walkarounds nor weird acrobatics. I've seen some Plasma addons restoring this feature but it seems it doesn't work on my Manjaro at all.
On the plus side, unlike many other FMs, Dolphin has a built-in terminal (hit F4) that's sync'd to whatever dir it's at, and you can `sudo` your operation there. xP
Last time I checked this feature was in progress by KDE devs, polkit or something like that, that allowed you to do that kind of operation without root.
But it was in a limbo because it was huge and hard to merge. They were trying again last time I checked. They would probably help you or anyone who would like that feature implemented to get started.
Are we sure GNOME developers aren't some kind of agents provocateurs working against free software?
Because the issue would be solved, "this is why we can't have nice things"
(From scrolling offer the discussion I can in parts see the architectural constraints they have and can image they have other priorities ...)
GIMP still runs GTK 2. The version from ~10 years ago.
On Windows, when you drag a file into an Open or Save panel, the dragged file is moved from its original location to the panel’s current directory. It is a destructive action!
That may be one little thing but it’s part of a whole number of reasons why I dislike using Windows. Alas, all the counter arguments to any and all reason I might give for preferring macOS do sound like toilet-plunging family members.
Note that on windows there are at least 3 generations of save dialogs. Which one you see depends on which generation of the api is used.
The most common one is the more modern which is basically just an explorer window. Dragging a file into an explorer window works that same regardless of whether it’s an open/save dialog or not. It’s a move/copy operation (depending on e.g modifier keys).
I didn’t quite get the point of dragging a file to a save dialog at all though? (Assuming that’s what you meant by panel) is it that you wanted to use it for navigate+set-name? That to me as a windows user seems alien. I expect it to work as an explorer window! Expectations are everything. The principle of least surprise doesn’t really work cross platform I guess.
> I don’t quite get the point of dragging a file to a save dialog at all though?
On macOS (since forever) and iOS (since 11), there is a heavy focus on drag. You should be able to drag anything from any app to any other app and something should happen.
This is facilitated both by system-level frameworks (so that all apps can gain correct drag-handling behaviour out of the box) and can be further enhanced by an app’s developer.
That begins with behaviour you might ordinarily expect from most apps: drag a image file from Finder into a Word, it should embed the picture; drag an audio file from iTunes into an open Audacity project, it should add the audio as a new track; or, drag highlighted text from a text field to the desktop and it will create a text snippet file containing that text.
On Windows, apps need to implement this behaviour manually. Figuring out how to deal with certain file types is not built into every app out of the box.
On macOS and iOS, it’s not just built into every app, it’s built into the operating system itself. It’s a fundamental feature of Cocoa, open which all native apps are built, so every app gets the correct behaviour for free. Dragging and dropping is super powered on Apple platforms.
For example, proxy icons: on any given document window (a window for an open document, like a Word document, Photoshop document, Final Cut project, etc), the name of the document is preceded by an icon that represents the document. You can actually drag that icon off the window’s title bar to any other on-screen element that supports receiving dragged objects — an open document, a Finder window, an email, a text field, etc.
I say all of this to cement one point: dragging and dropping is a key interface metaphor on macOS and iOS/iPadOS.
So, imagine I have a browser window open asking me to upload a file. If I have that file open, why should I navigate the directory hierarchy in the open panel? I can just drag the proxy icon for that document straight into the open panel. Bam, the open panel is pointing at the correct location.
Or perhaps I’ve just downloaded an image from the web that I want to share with my friend. Again, I can open up my favourite messaging program, click on the Add Attachment button, and drag the image in from my Dock’s Downloads stack.
(Although, that’s a slightly odd example; I wouldn’t bother with the Add Attachment button, I’d actually just drag the file directly from the Downloads stack on to the app and expect it to figure out what I want to do)
For save panels, I might already have a folder open in Finder where I want my document to be saved. When I save the document for the first time and the save panel appears, I can either drag that folder or its proxy icon from Finder straight into the save panel — bam, the save panel is pointing to the correct place.
Or perhaps I want to save a file into the same place as an open document. Again, I would just drag the proxy icon of an already-open document into the save panel, bam, we’re looking at the right folder.
Notice: these actions are non-destructive. Non-destructive actions follow the principle of least surprise. All I’m doing is telling an open/save panel where I want to be.
> That to me as a Windows user seems alien. I expect it to work as an Explorer window!
Ask yourself what the basic function of an open/save panel is: to select a location for a file (and in the case of a save panel, give it a name). Of the four CRUD operations, only C and R are directly relevant.
Something shouldn’t act as something else, especially if it’s destructive. That, in my opinion, violates the principle of least surprise — an interface to C or R should not U or D.
The only thing I expect to act as an Explorer window is … an Explorer window.
Sadly, due to the ever-increasing number of non-Cocoa apps (primarily Electron ones), these features are getting the boot.
As per the comment to which I replied asked (although I believe GP asked in good faith): “why would you want to do that anyway?”
Because that’s how we do it on macOS. That could be why we use macOS. If you care so much about letting macOS users access your app that you went with Electron rather than writing something Windows-only, it shouldn’t be hard to learn to respect the Mac platform and, more importantly, its users.
> For example, proxy icons
The way they are buried in Big Sur, and often invisible unless you mouse over where they are by accident is my biggest gripe with the update. This is fundamental in how we interact with documents on that platform, and one of its great features. What were they thinking?
But I agree, those icons coming and going can make using them something of a pain. It also makes less clear what apps actually have them. An option in System Preferences to make proxy icons show all the time would be lovely.
> The only thing I expect to act as an Explorer window is … an Explorer window.
One thing I wanted to add from my perspective (software engineer, use Linux and Windows): if I observed that the “save” button had created a literal Explorer window, then I think I would expect it to function as a Explorer window. I’m not surprised by that because I can recognize that Microsoft has taken the approach of implementing everything they can using Explorer. This gets back to what was discussed in the article actually!
Overall I think I prefer the approach Apple takes on this problem.
To me, thinking of file picker dialogs as literal Explorer windows is as contrived as file picker dialogs not offering full CRUD abilities — except one approach is vastly friendlier and safer.
I understand the technical decision, too, but there’s nothing that could prevent Windows from making file picker dialog behaviour non-destructive.
On Windows you can drag the file right onto the 'Browse...' button on the web page. (this does require some precision, as otherwise you'll open the file in the browser)
> Something shouldn’t act as something else, especially if it’s destructive. That, in my opinion, violates the principle of least surprise — an interface to C or R should not U or D.
Perhaps I'm too used to Windows's idiosyncrasies, but an open/save dialog is an Explorer window (at least in a functional sense). When you drag a file onto it, it does the same thing as an Explorer window. This does not seem that surprising to me.
I know, but I was illustrating a point about how the open/save panels work. That’s why in the following example, I mentioned that I’d just drag straight into the app.
> Perhaps I’m too used to Windows’s idiosyncrasies
Yes, you are. If you want an Explorer window, you should open Explorer. When you see a file picker dialog, you don’t see an extra Explorer process spawn nor does that dialog get added to Explorer’s list of windows.
> This does not seem surprising to me
Because you’re looking at it from a technical level, not a user interaction level.
At the interaction level, what is the goal of an open/save panel? To pick a location. It doesn’t fundamentally need to do or be anything more than that. That its default behaviour is destructive is classifiable as ‘surprising’.
This isn't true. It is true that it's built into the development tools and toolkits that Apple provide and expect you to use when writing software for their platform.
But it's not particularly hard to avoid. Google "nibless development mac" and you'll find some links that reveal how to develop full GUI apps on macOS that do not rely on this infrastructure. Regardless of whether or not you think this is a good idea, please rest assured that an application developed in this way does not share the "OS-level" drag behavior that you describe above. For it to behave in this way requires explicit code to handle notifications delivered by the OS.
Why does this matter? Because those Apple SDKs that make all this happen "seamlessly" are hard to use if you want to do cross-platform development. Qt (and GTK) work at trying to take care of this for you, but its not 100%, precisely because (as you note) this concept doesn't exist on other platforms.
So yes, from a user perspective this is a "universal" feature of apps on macOS. But it does not come with the OS - it comes from only developing apps using Apple SDKs and tools, which makes it harder for people doing cross-platform development to correctly play the game in the expected way.
‘Native’ on Apple platforms isn’t just a technical description, it’s also about UI and, more importantly, UX. Of course, Apple are starting to muddy the waters with UIKit for Mac — but even then, the fact that iOS apps can now run ‘natively’ on macOS goes a long way to showing that just because an app links against the relevant frameworks compiled for the right processor architecture, that doesn’t make it native in the Apple-y sense.
Apps made using cross-platform frameworks like Qt and GTK certainly don’t register to me as native. They don’t just work differently, they even look odd. I don’t think this fazes Windows and Linux users/developers as much because there has never been any level of consistency remotely close to what Cocoa and macOS offers — if an app puts a few buttons in a slightly odd place, that’s not seen an a problem.
So I agree with your point on a technical basis that my assessment wasn’t 100% technically true — but I think from the point of view of what ‘native apps’ means when discussing Apple platforms, I don’t think I’m too far off the mark.
Sure. But two things:
1) I wasn't saying that an app that use nib-less techniques couldn't do the right thing - it could. It could appear totally native if someone just does the work.
2) There are several pro creativity apps (Logic, Mainstage being the biggest) that are actually Apple products but they do not adhere to Apple guidelines. They use non-standard widgets, do not fully follow desktop interactivity guidelines, use the keyboard in non-standard ways. So even within the set of Apple's own applications, there are things that are about as different as a Qt or GTK application might be.
Apple’s Pro-apps are very alien. I expect that’s because they appeal to an audience that spends almost all their time in them, not moving much between a whole bunch of apps.
Lastly: Nothing’s ever as non-native as a GTK app. :D Qt and Wx apps do an infinitely better job than any GTK app I’ve seen for macOS, even if I don’t think they come very close aside from tapping into Cocoa’s control drawing.
I can't see how it's any more part of "the OS" in MacOS than in Windows?
> On Windows, apps need to implement this behaviour manually. Figuring out how to deal with certain file types is not built into every app out of the box.
Every app on both Windows and MacOS have to implement most drag & drop handling themselves. You get notified that the user has dropped some data, and you implement it. Some controls are basically miniature apps and can handle some of it (e.g. a text control could as default accept dropping text into it) but that's a rare edge case and in most situtaions you are obviously going to have to implement it yourself. If you are the audacity developer you'll be notified that someone dropped an mp3 on the surface of your window. You'll have to take it from there. That's 100% the same thing in windows.
> drag a image file from Finder into a Word, it should embed the picture; drag an audio file from iTunes into an open Audacity project, it should add the audio as a new track; or, drag highlighted text from a text field to the desktop and it will create a text snippet file containing that text.
File drag events work like that on windows. Text selections aren't objects in that sense (dragging just changes the selection) so that's typically not a draggable entity. A picture is, and behaves like you expect (e.g. insert into a word document).
> I’d actually just drag the file directly from the Downloads stack on to the app and expect it to figure out what I want to do
Of course, a chat app has drag and drop for pictures into chat messages on both windows and mac. Otherwise it would be a pretty terrible chat app. Any cat app could of course be terrible, and there is every chance that more chat apps are terrible on windows - but that doesn't change the point. If you launch Teams or Slack or whatever and drag a picture from a word document into it, it will add it to your chat message. On both windows and mac.
> So, imagine I have a browser window open asking me to upload a file. If I have that file open, why should I navigate the directory hierarchy in the open panel? I can just drag the proxy icon for that document straight into the open panel. Bam, the open panel is pointing at the correct location.
As a windows desktop developer myself (who struggle a LOT with drag & drop) I can see myself implementing something like this. But it's always a question of user expectation. First of all, there is no proxy icon! I'd love to see those in windows, but it's not currently part of the UX. As such, you don't have a "drag source" for open documents. To get anywhere to drag from for an open document you'd need to open explorer and browse to the location. But that's the exact same effort as doing it in the file dialog, so what's the point? As you can see, the mistake wasn't "poor handling of drag & drop" here, the missing capability I think is the proxy icon.
> All I’m doing is telling an open/save panel where I want to be.
I want to repeat - and this is important. The windows save panel isn't special. It's a full explorer file list, plus a file name textbox. One can argue that this is a poor choice - but that's what it is. It has different areas (a filename textbox, a file listing view etc). The file listing view is just like any file listing view in any explorer window. As such it has all the capabilities you expect. If you select a file and hit delete, it's deleted. If you want to create a new folder - perhaps the most common operation for a SaveAs dialog, it does that. So here microsoft had a choice: if you drag a file onto this area of the dialog, should it work like all the other explorer file listing areas in the OS, or should the Open/Save dialogs have special treatment? I think you could argue both ways there, but there are definite drawbacks to both. It's absolutely not a clear cut case of "Well that dialog should be non-destructive so dropping should do navigation! case closed!". This doesn't mean you can't have that functionality anyway. You could just make a drop of any file elsewhere on the dialog (such as on the path-section of the dialog) initiate a navigation, for example.
> The only thing I expect to act as an Explorer window is … an Explorer window.
I think this is merely a UX choice not a clear case of "well this way is better". As I said there are several types of file dialogs in windows, and some are more like what you describe and not "Just an explorer window".
Perhaps if windows had proxy icons, there would never had been a thought to make the latest gen file dialogs be full explorer views, because then the proxy icons would have made drag to navigate work?
I use both windows and mac today, but growing up on windows, I use MacOS less and I use it like I would use windows. Which means it's extremely frustrating. For example, I had no idea whatsoever that the little icons in menubars (I just learned they were called proxy icons) were draggable. I always launch finder like I would launch explorer and drag things around, even documents I already had open... It sounds to me you have a few such discoveries to make on windows which would make the experience less frustrating.
> I can’t see how it’s any more part of “the OS” in MacOS than in Windows?
Think of “the OS” as the whole package, not just “system components and software other than user-installed applications”.
Because it’s implemented at the system framework level, and there’s basically only three system frameworks for developing macOS apps — Cocoa, UIKit for Mac, and SwiftUI — and two of them call into the other.
That means practically every application (well, maybe not every; the number of UIKit for Mac apps is on the rise) shipped with macOS is a good macOS citizen, compared to Windows which is a mish-mash of apps built with all the many various application frameworks that have shipped with Windows.
Some parts of Windows are UWP. Some are Win32. Some are WPF. None of them can be expected to behave identically. Many of them don’t behave the same way as basic system apps. Explorer behaves nothing like Settings.
> Every app on both Windows and MacOS have to implement most drag & drop handling themselves.
On macOS, only custom handling is required. When an app is built from standard components, Cocoa does it for them. These are not rare edge cases — these are buttons, text fields, text areas, image wells, and all the other basic components that make up the majority of apps.
> If you are the audacity developer you’ll be notified that someone dropped an mp3 on the surface of your window. You’ll have to take it from there. That’s 100% the same thing in windows.
I’m aware of that. Actually, I mentioned Audacity in a section where I illustrated three examples of where one would expect an application to accept something that has been dragged in. That wasn’t an example of anything exceptional to macOS.
> File drag events work like that on windows.
Again, you’re on a section where I’m illustrating standard, expected behaviour for drag-and-drop.
I don’t start really talking about anything macOS-specific until the section where I mention proxy icons, so I’ll respond to the next section.
> First of all, there is no proxy icon!
I explained proxy icons as an illustration of why a Mac user might want to drag-and-drop into open/save panels as a means to directly answer your question on that very point.
> the missing capability is the proxy icon
You got a bit hung up on the proxy icon. It was just one way that a Mac user might want to drag and drop. I mention a couple of other ways that a person might want to drag and drop something into an open/save panel.
The lack of proxy icons in Windows is orthogonal to the point of open/save panels being needlessly destructive.
> I want to repeat - and this is important. The windows save panel isn’t special.
That’s a technical detail. That has nothing to do with the merit of whether or not it should be that way.
> One can argue that this is a poor choice
Yes.
> but that’s what it is
Yes. That doesn’t make it good.
Microsoft has demonstrated an affinity for reinventing their own user interface elements with breaking changes in each iteration. There was nothing stopping them fixing this behaviour then, there’s nothing stopping them doing it now — there is absolutely no reason an application should depend on destructive behaviour.
> It’s absolutely not a clear cut case of “Well that dialog should be non-destructive so dropping should do navigation! Case closed!”
That slightly misrepresents my argument. I don’t believe it’s necessary that Windows open/save panels should behave as on macOS.
I just believe user interfaces whose purposes only cover two of four letters in CRUD (specifically [C]reate for saving a file and [R]ead for opening one) should avoid being destructive.
That could even be fixed with a simple confirmation dialogue.
> there are several types of file dialogs in windows, and some are more like what you describe
Why are there non-destructive and destructive file dialogs? Why are destructive ones the most common?
> Perhaps if windows had proxy icons
Irrelevant. Protecting user data doesn’t necessitate proxy icons. Microsoft simply chose to reuse a control with zero affordances for use-case; they made the choice not to protect user data.
> because proxy icons would have made drag to navigate work?
You’re stuck on the proxy icons. They were just one thing you could drag.
> It sounds to me you have a few such discoveries to make on windows which would make the experience less frustrating
I’ve been using Windows for the past 25 years. I still use it today, every day.
I don’t have any sudden discoveries to make, I know it back to front. With every release, it deviates worse from its own standards than any UIKit for Mac app ever could from regular Cocoa.
Fundamentally, Windows is composed of several incompatible technologies that all work completely differently from each other because of historical internal competitiveness from a fractured company. That legacy lives on today — and worsens with each release as Microsoft continues to pour efforts into other application frameworks (WPF is deprecated; UWP is unloved; WinUI is supposed to unify them; but React Native is more likely to have an impact), creating massive schisms in the consistency of the user experience.
When Windows’ absolute basic components, the user interface elements you encounter in every app, are clearly the product of some technical desire for standardisation on a single control rather than any real desire to protect user data, I’m inclined to think the user experience is not at the forefront of Microsoft’s design philosophy.
But that’s not because of a lack of proxy icons.
As far as I know there is only one one system for drag & drop so while it's certainly true that apps look like a mix of of every framework on earth, I don't think this makes drag & drop any less a core OS feature on Windows. Dragging from UWP to WPF to WinUI to Win32 works just as well as between two apps of the same kind (As far as I'm aware). Of course since there ARE no "standard drag & drop" thing - e.g. because text snippets aren't draggable so it's only app-specific objects that can be dragged.
> These are not rare edge cases — these are buttons, text fields, text areas, image wells, and all the other basic components that make up the majority of apps.
Maybe there are interaction modes I'm not aware of but apart from dropping text into text fields which basic components actually give meaningful default interactions? Dropping text or images into a document needs a per-app implementation just like the mp3 in Audacity. Can you give an example that isn't just a text field? For example what's the typical use case for dropping something on a button?
> just believe user interfaces whose purposes only cover two of four letters in CRUD (specifically [C]reate for saving a file and [R]ead for opening one) should avoid being destructive.
The topic of this post is "why are there no thumbnails in the gtk filepicker"? The anwer is that there is a thumbnail system in the explorer (nautilus) but the developers chose NOT to use the explorer component in the file picker. So the capabilities for browsing files diverged and would require duplicated effort to do what people expect from Nautilus, inside the filepicker. This had also happened in Windows - and this I assume is why explorer is now part of the FileDialogs in Windows. I don't mind it being a full file browser experience (I like it) and I also think it's pretty easy to rationalize the decision to make use of the system wide file browsing experience here. No windows user ever expected anything else. I'd always want my file open dialog to accept a dragged file to mean "move/copy file there". But I'd also gladly take a drop on the path part to mean "change location".
> Why are there non-destructive and destructive file dialogs? Why are destructive ones the most common?
There are older and newer APIs, even within the same frameworks since Win32 2020 is different from Win32 1990. A new app showing a file dialog would typically get the "new" one. An old app making a call to show a file dialog will always get the old one - even on a new version of windows. The reason they can't just redirect those calls to show the new one, is because these are objects that the app can also modify/customize the dialog with code that doesn't make sense for the next gen dialog. So all generations of the APIs and all the appearances of the dialogs must remain available otherwise those apps would risk breaking. E.g. a 90's AutoCad would hijack the window area and render a preview of the drawing to the right of the file list. In the modern dialog such previews are handled by explorer plugins instead of a hack to draw a picture in the dialog surface itself. But obviously that 90's AutoCad program isn't changing, and must continue to run forever. So it gets the old dialog. And obviously between different toolkits the dialogs could change just like between Cocoa and something else.
Of course, ALL file dialogs allow selecting any file and deleting/renaming it - so they are all 100% "destructive" and all have both "U" and "D" in CRUD if you want, apart from handling the job of selecting a file name. I'm not sure whether the older ones handle drag-drop or not (good question). If they do, I'm pretty sure they do exactly what the new one does, i.e. actually move/copy a file into the filesystem at the shown location.
You can also choose to Show in Finder.
What I currently use is Listary, which automatically switches open/save modals to the last used Explorer window location. However, I’d rather switch to something that offers this functionality exclusively.
You can also see this AHK script which I found in a comments section here a few days ago - https://pastebin.com/cmLVFdbB
They are different. Their purpose is different. It is the purpose of an open panel to let me pick a file/folder location. It is the purpose of a save panel to let me pick a folder to save a file.
User interfaces and user experiences go hand in hand. A user interface should be purposeful. It creates a better experience.
Sure, you can get used to an open/save panel having destructive behaviour and it can be handy — but that doesn’t make it a better user experience. It puts destructive actions front-and-centre, violating the element of least surprise and potentially endangering user data.
> Although perhaps Apple has patented it
Doubtful. It’s just a consequence of Microsoft using the same Explorer control throughout the operating system without making any adjustments for behaviour.
For my photo editor Filmulator I resolved to not add features that haven't had the UI fully thought through. For a while it meant it was definitely subpar capability-wise, but now that it's approaching feature completeness it means that it's actually intuitive and streamlined to use.
I use Inkscape regularly and have issues with its UI. If I click and drag an object fast enough, often the object beneath the one I want is selected and dragged. It’s absolutely frustrating but I eventually learned to click, pause briefly, then drag to get around it. I’ve invested too much time learning the tool to move onto something else at this point.
I was always wondering why Gnome is so weird and broken. Why does it exist? Who uses it? I found out when I got my hands on first Macbook in my life. While KDE mirrors Windows, Gnome mirrored some version of MacOS. Using MacOS was as horrible for me as using Gnome. A lot of basic features that I took for granted in Windows and KDE were missing or hidden so weirdly that I couldn't find them without googling. And I had to google each time I needed them because placement was so weird that my brain just refused to remember something this stupid. And yet some people used Macs, liked Macs, adjusted their daily routines to work with something that for me was missing basic functionality. And praising it! "Of course! That's how it works! That's what the plunger is for! That's completely intuitive!"
M1 chip might be all the rage but I refuse to touch Mac again till their os gets decent free window manager and file manager as alternative. Same way I'm not touching Gnome.
I have switched between enough systems to know, that there is always some friction before you discover advantages.
I have also used Windows and Mac in parallel long enough to know that you are objectively wrong.
Okay just kidding - such things are, of course, to a certain level, subjective. But you didn't go into any details, so there's nothing to argue against.
I spent way to long with macos because the computer belong to my SO. She was an artist (used mostly Adobe) and wanted it for the aesthetics and was adamant to learn to use it and I had to guide her though tear-filled painful year long process of adjusting to macos ... 'quirks'
Just to clarify, tears weren't induced by me. I was coming when the tears started flowing to offer solutions and emotional support.
She persevered but I think she never was as efficient with mac as she was with windows previously. And I never stopped being occasionally called to task of researching and resolving some inanity.
For me personally macos was terrible until I found Terminal. Then I just concluded it's just kind of linux with very bad gnome-like gui window and file managers.
I know it's just my preference but learning gui with windows and then moving to macos for some advanced users is sheer pain that never subsides and some things just don't work (for some definitions of "work" like in the article we are commenting).
As for the details I remember that on MacOS when you drag and dropped a folder somewhere where folder of the same name already existed, then sub-folders were not merged. Just replaced. So you were loosing files in target location that were not present in source location. That behavior is highly unexpected and destructive for someone coming from windows.
If you select 100 files and right-click > show info, you get 100 popups ... hardly desirable.
Yeah but when you go to the downstairs toilet you can't bring in your favourite newspaper because the paper its printed on isn't compatible with the light bulb and you can't read it.
Firefox on KDE uses the GTK filepicker. No thumbnails.
Not true. Firefox on current Arch/Plasma works fine with the KDE filepicker.
now that I think about it I remembered a little trick https://askubuntu.com/questions/1100261/how-do-i-make-firefo... Have to try it again.
Anyway, a distro released in 2018 and still supported until 2023 and 2028 for extender support can't be "a bit too old" for something like the file picker. I mean, people were making fun of me when I told them I was using that ubuntu distro that had no mp3 support by default but it was 15 years ago.
Not if you set the GTK_USE_PORTAL environment variable.
$ GTK_USE_PORTAL=1 firefox
The above will make Firefox use the KDE filepicker.What’s the point of doing a whole upgrade of the GTK toolkit while ignoring this problem?
An unfortunate consequence of the incessant trendchasing that has taken hold of the software industry, closed and open source alike. Frankly, I am as puzzled as the article author how solving existing problems is somehow shunned in favour of ignoring them and making "new things"... which usually tends to just create more new problems instead. No one seems to value stability and the strive toward perfection anymore. This phenomenon has been ascribed to "resume driven development", but I'm not sure if that is completely responsible for it.
Addendum: I'm not arguing icon view is not a great feature though.
It seems like the opposite. It's the tight integration of the toolkit with applications that causes this issue. If there was loose integration between the file picker and the application and its toolkit, like with the newer xdg-deskop-portal protocol, it would be simpler for someone to create a better file picker witout risking breaking anything else, and for applications to be made to use it.
XFCE and KDE both do a better job than GNOME in this regard. And also Windows Explorer was and is much much better in this area.
Also why are folders sometimes cluttered all over the place and shorts cuts so weird?
Well I fixed it all with Forklift but I also grew up with Norton Commander ;)
They actually responded a few years later and said that this is the intended functionality.
Maddening.
It's probably annoying to learn a new paradigm, but you could make the argument that it's worth it to learn something that isn't lying to you.
Alternatively hold Option when opening the Edit menu.
This doesn't change the Edit menu for me. Does it work for you today on latest macOS?
It is the existing convention, the Mac Finder convention. And yes, it's effectively the same as cut and paste.
I think the point is this doesn't match the convention in the rest of the macOS. A convention of one is a poor convention!
On files, if you cut a file on Windows for example, nothing happens. Until you paste, no operation is done. So it's not the same thing, and I think the way Finder handles it makes more sense.
Because cutting-and-pasting is a destructive action that can lead to data loss.
Under the conventional implementation of cut-and-paste, it's easy for a user to inadvertently cut-and-paste a file, when they meant to copy-and-paste said file, either through a misclick or, by hitting the wrong keyboard combination. This is because:
1. The menu option for cut is right above the menu option for copy
2. The keyboard shortcut for cut (command-c) is just one key away from the keyboard shortcut for copy (command-c) on a QWERTY keyboard
Cutting and pasting deletes the file from its original directory, however under a traditional cut-and-paste operation, the system does not ask for confirmation. Consequently, if a user mistakenly cuts a file or directory without immediately noticing their mistake, their files could be rendered unrecoverable (and keep in mind that there's no particular reason why they would notice... the UI provides no special indication when a file or directory is deleted via cut-and-paste). This is arguably a very bad user experience.
The equivalent action to cutting-and-pasting on OS X is copying, pasting and then deleting the original file. By adding in this extra step, the UI has forced users to acknowledge that their action is potentially destructive and unrecoverable.
Also notice that the command-x shortcut in Finder copies a file. It does not cut the file. Again, this protects the user from inadvertent data loss if they use the wrong keyboard shortcut.
It's a rather unusual move Apple has made here by breaking convention, but I think they've made a wise wager that users would rather be annoyed by a small extra step, then be faced with the loss of important data.
Thinking about this design choice, I now wonder how many times I've had files mysteriously go missing on Windows and other operating systems simply because I used CTRL+X when I meant to use CTRL+C
Isn't this the same for all cut-and-paste? It's expected.
What's special about files that mean they need special protection?
Pop them in the Bin until they're pasted if you want.
It's not as unfathomable as you make out.
If I accidentally cut-and-paste a file or directory, the damage could be immense. Years worth of important documents, records, photos, etc... could be gone, because the user's finger slipped and pressed CTRL+X, rather than CTRL+C.
Whether or not the operating system should be protecting users in this manner is fully debatable and a matter of opinion, but Apple's approach here is definitely safer (at the cost of being a bit more annoying)
And you always have undo, just as with text.
a) you could argue that cutting text isn't as destructive as deleting a file, although they could be one and the same if you happen to have an entire file's text selected
b) mechanisms for undo'ing text operations tend to be more sophisticated than undo'ing filesystem operations; I might argue that's a separate problem to be resolved
I'd be perfectly happy if this were an option, buried in some obscure preference panel somewhere, labelled "yes, I really want to shoot myself in the foot" but, as it stands, I don't even get that.
I would have said the same thing. But then again, I'm sure there's been times where files have gone "missing" on my computer. Did I misplace them? Accidentally deleted them? Accidentally cut-and-paste? Who knows.
>I'd be perfectly happy if this were an option, buried in some obscure preference panel somewhere, labelled "yes, I really want to shoot myself in the foot" but, as it stands, I don't even get that.
Yeah, no argument from me there. I'd appreciate an option buried in the OS X CLI at a bare minimum.
Zero. If one CTRL+Xs accidentally, Windows and most Linux Desktop pickers change the highlight colour before the copy. At worst you can CTRL+Z it after or copy it back. It's not a 'destructive' operation since you always have one copy of the file.
It's a typical case of Apple deciding users are stupid and therefore should be limited, combined with the typical 'just everything Apple does' syndrome.
Other file managers don't really cut and paste. They have a weird modified cut that doesn't exist anywhere else.
And for the clutter, you can configure Finder to be more militant in how it displays/orders things.
The only gripe I have with Finder is needing to set up a million QLPreview things to do better spacebar peeking. Otherwise, it's fine - it "just works" and isn't fancy.
Cmd+C: Put file to Clipboard
Cmd+V: Copy file in Clipboard
Cmd+Option+V: Move file in Clipboard (aka Cut)
Tested on El Capitan through to Mojave.
If I open my laptop after being logged in, I can just start typing my password and the login manager does the right thing: "Hey, he's probably typing a password. Let's throw it into the password widget and see what happens..."
I'm on an XPS running Ubuntu 20.04.
Who implemented that feature? It's a great ergonomic feature and improves the UX of logging in so much.
I sit at my Mac desktop, press any key on my keyboard to wake the machine or tap the touchpad and I’m logged in.
Being impressed with the very small changes is a symptom that there are lots of small problems. The most important change for me is I rarely if ever have to enter a password now while at the same time, no random joe can sit at my computer and use it.
Because when the watch isn't on my wrist, I have to either enter my password or hit TouchID, waking up the computer gets me to the password dialog box. Which, to be fair, I can start typing the password directly because the cursor is in the correct place.
And this is what you would want, if waking it up meant no authentication then J Random Badguy could in fact walk up and pwn my computer.
> Being impressed with the very small changes is a symptom that there are lots of small problems.
This is directly contradicted by my use case on my XPS under Ubuntu 20.04. I no longer have "Gnu anxiety" on my laptop-- the overarching fear that the values for the next default behavior I run into were chosen at random by troglodytes.
Suspend/resume just works. I haven't fiddled with a single touchpad setting and it works the way you'd expect on a Chromebook. Camera works, audio is fine, battery life is decent, and so on.
I did get a tinge of anxiety when clicking the desktop scaling setting, but it seems to have worked perfectly so far.
TouchID is a second place to that. My T495s has the sensor to do that but it doesn’t work on Linux. Again a typical Linux desktop outcome.
Would love to know more about both cases.
I'm at least somewhat with the author in general, but this is a case of "grass is always greener" syndrome. I made a full switch to Linux from Windows in no small part because of issues just like this, I got tired of OneNote completely breaking on my Surface. Even on much more polished operating systems -- Mac's window snapping is still inexplicably awful for, as far as I can tell, no reason at all except that Apple refuses to copy the simple model that both Windows and Gnome adopted. We tolerate it. I purchased a 3rd-party program to replicate the functionality, and it sometimes works.
A more drastic example, my proprietary router won't let me set a custom DNS server at the router level. It has an option to do so, but it doesn't do anything, and this is an open bug that people complained about for years that was just... ignored. And eventually they pushed a fix for it that broke everyone's routers and required manual rollback.
If something isn't a showstopper, sometimes it just gets ignored in general. Has nothing to do with whether or not it's free software, and everything to do with whether or not somebody somewhere cares enough to fix it.
It's such a shame, because fixing most of these small bugs is far less work than building new features. Nobody wants to put the work in though... Nobody has the overarching vision of a consistent UX that just works out of the box without oddities, quirks and workarounds.
I agree, this is the problem. GUI OS developers like to work on big features and eye candy but forget to fix the basics. I have yet to find a Window system that:
1. Works without glitches in HiDPI setups. Especially mouse pointer glitches.
2. Comes out of the box with fonts that don't feel like thorns in the eyes, including the browser.
Developers frequently hate it when "product people" get a say in the direction of the product, but the alternative is commonly to have developers prioritize perceived code purity over actual user interests. And emphasis on "perceived", because usually the codebase is a hot mess but maintainers want it to be their hot mess, not someone else's.
I think "use KDE" is perfectly valid advice here too. The toilet analogy doesn't really hold, your satisfaction of software that works for you shouldn't be at all affected by the existence of software you don't like and don't use, that's just silly.
It is the imagined promise that Free Software is done for our benefit that lends us the delusion that things should be the way we want them.
In fact, Free Software things are much more likely to actually work, in the way that somebody wants, than Apple's or MS's. Just, not you. In the case of Apple and MS, there is typically no living individual who wants it to do what it does, but changing it would require initiative whose attempt at exercise would severely punished.
As for not wanting to upload the wrong one, doesn't the file picker show a preview of the selected file? Sure, not as good as thumbnails, but it should be enough to avoid the problem.
Some of the GTK filepickers on my system do show previews (e.g. Signal) but others do not (Mozilla - since fixed by the incantations needed to have them use KDE's).
There are still some keyboard navigation issues with File Explorer which can sometimes make it act in unreliable ways, there is a strange bug with system tray context menus still to this day and don't even get me started on the dumpster fire that is Windows 10's entire Start Menu design and implementation.
The commonality is not the details, which differ, but the attitude. "This is our thing, not your thing, so we will do what we like, not what you like." This is most evident in cases when a shiny new release, with hundreds of new singing, dancing penguins, breaks a thing that used to work.
"The old release was better." "But look, dancing penguins!" "Dancing penguins do nothing for me." "But look, dancing penguins!" "I want a way to switch back." "NO. Dancing Penguins!"
Apple's great achievement is getting their customers to believe that they always and only ever cared about the dancing penguins, and to forget instantly about each thing that had once worked, once it is gone. Gnome aspires to that, but lacks Apple's reality distortion field, so must make do with contempt.
The difference is that GNOME can be fixable with a few settings tweaks and patches, the same can't be said about MacOS.
Take for example the scaling issue. It has been now almost half a decade with 4k Displays, and Linux still does not know how to deal with it other than 100% or 200%. Currently Linux is unusable for anyone with a modern display.
I appreciate the work that all the contributors put -for free- in projects like gnome and kde, but unfortunatelly, it is not enough. You need a Giant with financial incentives to drive this, like Google did with Android.
A few examples:
https://askubuntu.com/questions/1253744/inconsistent-resolut...
https://forum.kde.org/viewtopic.php?f=309&t=164736
https://pointieststick.com/category/high-dpi/
Probably there are workarounds, kernel patches, magic scripts that might solve the above, but honestly I don't have time to spend on these. It should just work. I use an OS to get work done, not to fix the OS.
Suffice to say, that this isn't a solved problem everywhere else.
Fractional scaling works fine on KDE, and it's worked for over a year since I first started using it.
I've learned to just use the downstairs toilet. I move the mouse to the bottom right corner of the screen before I log in.
I just had to manually increase the mouse cursor size, and in Firefox change layout.css.devPixelsPerPx to the scaling factor.
I've been using fractional scaling for years. I had to learn how to use xrandr, but it works great. Better than windows or macos in the end, I can specify exactly what I want where.
Try not having any way to set up or interact with system tray icons in a toolkit that purports to be a "cross-platform GUI toolket". It gets better when you learn that system tray support was only removed recently by GTK developers because GNOME doesn't have one anymore. The worst part of this is that even if I submitted a patch that implements system tray support, they would just reject it. I know this because I asked them.
These days, GTK and GNOME seem to be designed only for gnome developers and no one else. All 5 or 6 of them.
For example, I like XMPP, but many clients seem to have quality issues. So I could start writing tests for them and therefore find and fix bugs?
I think the difference between an okay piece of software and a great piece of software is how cognizant the designers and developers are of these things. It's partially why I use an iphone now over android. Even if I disagree with how something is done it's usually evident that Apple at least _thought_ about it. It's not perfect, there's still the occasional interaction that's just plain bad, but those moments are much rarer than I encounter on my PCs (Xubuntu/MX Linux).
If I ever have the resources to retire I think I'd dedicate a solid chunk of my time to just work on those quality issues.
Just to preempt the replies, this is how most of these conversations go:
Alice: I dislike [x] because I can't do [a].
Bob: Oh, why are you trying to do [a]? You can accomplish that by doing [b], [c], and then [d]. [a] doesn't really make sense, let me explain the model behind how this all works.
Alice: Thanks for explaining the model to me, but I still just want to do [a]. Could we expand the model, or handle this as an edge case?
Bob <any of the following replies>
: No! [a] breaks the model! Things are much simpler if you just embrace the model.
: If you want to do [a] go use this other product that's broken in other slightly annoying ways.
: If you want to do it, you can open a PR adding it. But we probably won't add it because it doesn't fit the current model, and we consider that 'bloat'.
It's difficult to get into contributing to some of these projects because you come in with a change you want to make, but you have no standing in the project to effect that change (or are out of your depth and need to convince a more established dev to help you). Which makes perfect sense, a project with random contributors adding their own preferences is anarchy.It really seems like the best projects have a very strong guideline/interactions framework, or a BDFL (benevolent dictator for life) who takes UX very personally. Most open-source projects are founded with a strong technical vision, but not a strong UX one.
The closest I can think of in the open-source desktop space is ElementaryOS. Which is lovely, but I dislike a few of their core decisions enough that using it is a pain.
The dream is a DE that enforces strict UX paradigms...but also lets you customize them easily. But I'm not sure if that's even possible. Even Apple isn't perfect and they're just trying to enforce one 'Apple way' to do things.
The fact that it sometimes is being used by racists gives me a little pause (that's basically how semantic shift happens, and there comes a point where the new meaning eclipses the old), but I have never come across it in that context, whereas I see it used in it's original meaning commonly (and in professional contexts).
If someone tries to cast a comment of mine in a technical thread as racist I don't think changing my language is going to help.
Similarly I'm not so invested in my imaginary internet points that being flagged by such a poor future algorithm concerns me. If HN got to that point, I would probably have lost interest in it long before.
I'm here for interesting, technical discussion. Not for the zeitgeist's culture wars that are engulfing all the other platforms. With the exception of recent threads (which considering the tumultuous events that are happening, I understand), I find HN to be a lovely corner of the old web where users try to read each other's content in good faith.
I know personally I'm not a fan of Ubuntu or that it's the LTS version too but I know that you can use Pantheon, it's desktop environment, on other distros (something I have been considering myself).
I completely understand and even vaguely agree with their reasoning, I stopped putting icons on my desktops maybe 10 years ago?
But sometimes I just want to put a temporary file on my desktop as a visual reminder to finish something up later.
In this case it's not the same class of 'bug' as the missing thumbnails in gnome's file picker, it was a deliberate design decision, and I respect that the project thought about the experience they want to create and executed on that vision. It's just not the experience for me.
Not a day too soon, it makes thunar a lot easier to recommend to others. And saves me some time when looking for things in my downloads directory!
Thunar is to Dolphin what a slingshot is to an M16. I never understood how people settle for such barebones file managers (i.e., less featureful than Windows Explorer).
Well, not really. Anymore.
Recently (give or take few years), toolkits and applications started to use desktop portal - mainly as a preparation for sandboxing (i.e. putting the app inside flatpak & co). The application, optionally inside sandbox, doesn't use the framework's common dialog - because that would not give it access to files outside sandbox - but talks to the desktop provided one via dbus.
That desktop provided one does not have to be implemented by the framework that the application uses. It is implemented by the DE that the user chooses.
From the site: >If you use GNOME and this is a revelation to you, it’s because you’re used to mediocrity. If you think your experience all this time was normal, you’re completely mistaken—and it’s not least because you’re using a specific desktop environment that’s available only on Free operating systems that account for only a fraction of a percent of desktop computer usage anyways.
I like the author just sarcastically points it out, because I remember reading years ago the same on both GNOME and elementary OS subreddits "it's because people are used to mediocrity". Or, you know, maybe people find it super helpful to being able to see the images without extra steps so they can choose whatever they want.
And then it all just spirals down into:
"Have you tried X/Y/Z?" no? Sucks for you buddy I guess you are stuck with mediocre people making design decisions. But as crud as I put it, I might not be wrong.
That said, I have completely given up on all the nonsense someone would have to follow to file a enhancement report and discuss it just to be stuck on discussion for 10 years. There's just no time and energy for that, and at the end people would just ditch the desktop environment because it's just too much of a hassle to use.
It is not intuitive and bad experiemce. There could be a toolbar button for that or a permanently-visible address box or it could read clipboard and suggest something, be smarter.
[1] No, the window previews aren't really useful because their positions are non-deterministic and it's hard to rapidly distinguish mostly white, unlabeled windows anyway.
I agree GNOME-3 is blocked toilet, but Windows 10 is also a blocked toilet. I have a file that I would like to open on my Windows 10 computer "passport.pdf", I hit the winkey and type "passport [enter]" to open the file. Windows launched a Bing search on Edge for the word "passport", but Edge has to go through its welcome dialog because I've never opened it before. This is only one example; all in all using Windows 10 is like taking a hike with a rock in your shoe.
Windows WAS a monopoly because of its usability, but now it's ubiquitous because we're path dependant. Having to use Windows 10 for me is having to walk downstairs to use the bathroom in the middle of the night. I wish I could stay on Windows 7 forever, but I'm very happy with Mint Cinnamon DE for now.
To be honest, so far Win7 is winning, it is the OS that gives me the least headaches.
Win7 problems: occasionally something doesn't work because it is Win10 only and Wine can't emulate it. Also recently I had an issue trying to use hardware that was intended for Win98 but that is kind of expected.
Win10: randomly updates without permission, reboots itself, break stuff that I need working (for example one time its unexpected updates broke the software my company use to generate invoices, meaning Windows10 update managed to singlehandedly shut down my company income for a couple days until we reinstalled our bank invoice software on Win7), has telemetry, insists in re-enabling telemetry after we disabled it, has ads, has games without permission, insists that we use Cortana, but then complains Cortana is not available in my country, and the list goes on.
Ubuntu issues: the default interface is weird, there is no way to type file paths on filepickers, and this is quite maddening, it requires command line to do basic stuff too often, even native Ubuntu games might have bizarre issues with Fullscreen or random notification software hijacking the focus, and weirdly, it crashes more often than Win7, usually because of out of ram issues.
Everything that came later has turned into crap
Also, I use the Lazarus Pascal IDE. After updating from Kubuntu 20.04 to Ubuntu 20.10, it has started crashing every other time I open a file with its GTK2 file chooser.
KDE Fixed this.
As usual, regular old stuff is broken as hell in GNOME and has been working for years in KDE.
Nothing new under the sun.
I desperately want to pay, like, $100/month to get some guarantee of cleanup work on the free software I’m using (FF, GNOME, and Emacs in particular)
Lots of software projects do fundraising for lots of auxiliary stuff but I really want maintainers to be paid
What's worse is that windows seems to find some sneaky way to turn it back on for some folders. Have multiple registry tweaks to show every folder in "details" mode that I have to run every couple of months for some reason to keep it that way!
Also it's a more generic problem - say for poorly named documents or other files that don't have thumbnails. Right click -> open seems to solve most of those times.
So it does happen to me, but I still don't use it.
Free OSs have been doing very well. The ultimate reason I 100% switched to Free OSs was because I couldn't stand software crashing at random points in time anymore. With Windows (especially 98 like in the article) anything can crash, during boot, Explorer, Word, the Desktop, and in the past it did. Maybe part of the reason Free OSs did better at this is that they did solve things differently and didn't implement every single feature. That said, Free OSs offer other features: focus follows mouse, configurable window behavior, virtual screens etc. I think this is why I will never be able to use Windows again because it feels just too constrained.
Nowadays I use macOS for Desktop though but only because they make such nice hardware. It's only a question of time until I either install Linux or get a new Laptop with Linux.
I think 10K file names should fit in cache on any processor made in the last 10 years. readdir isn't that slow.
Though I do find the various ways you adapt your work flow to tools amusing. Like the file picker thumbnail rarely bothers me, because I have a habit (hard won) of using clear naming for files. Though it does annoy me that Sushi doesn't seem to work in the file picker.
That said, what really annoys me, every day, is the breadcrumb bar. Damn that to hell. If you are serious about naviagtion, why not just show me the whole tree? And I have to press Ctrl-L to revert to a text directory imput, and then, or otherwise click fifteen times to navigate to another directory.
Been trying to point this out for years. I love Gnome (not sure why, I guess because it used to be lighter than Qt?) but it's gotten really tired-looking. I think back to when I used to use Enlightenment on top of Gnome and everything was super-configurable and it looked way ahead of other UIs. Some things are still better, like semi-transparent terminal windows. But I can't remember the last time I looked at Linux desktop environment and thought 'wow.' A lot of things are...pretty clunky.*
But when I went to share a photo this evening, I found that the Chrome file picker in Windows is actually much worse! Not only does it not show previews for thumbnails, it doesn't even show the image in the detail pane. It just shows the registered application icon. So, you get a sea of big blue (E) Internet Explorer icons.
Not sure if this is a Chrome or a Windows thing, or if there's a setting for it. But as a user, I clicked about a bunch and couldn't find a way to see the actual images.
A dialog that opens every file in the directory to read the image and show it, won’t be very popular.
So implementing this feature isn’t a change to a dialog but an implementation of something akin to the windows thumbnail cache https://en.m.wikipedia.org/wiki/Windows_thumbnail_cache
It very clearly explains why you want to choose to base every file listing tool on the single file navigation tool. Any effort that goes into one is reflected in the other. If that means a surprising UX at times - that's probably worth it.
That is bad.
As an aside right now I’m designing a part in the free version of the commercial software OnShape and I just discovered it does not support scaling a sketch. There is a long support thread going back 5 years of people asking how to do this and recommendations for elaborate workarounds. I decided to export the sketch as a drawing, open it in the free and open source program QCAD, select everything and choose the “scale” option, scale as desired, save, then upload to OnShape.
FLOSS needs to be better than this but as someone else said commercial software has issues like this too. The reality I think is that we need to look at how to better fund open source, as time strapped teams aren’t super functional in general.
If you managed to mouse over that one single pixel in the corner you were allowed to resize the window...
As for a lack of system tray icons, the practical upshot is that my system bar isn't littered with multiple special snowflake applications, each with their own unique icon art style and mismatching proportions.
Plasma Desktop's System Tray widget that lets you hide icons you don't want to see. You can disable the widget, or configure it to show no icons at all.
With default being off, it is applications that have to be careful. They can use it, when they detect it is present, but cannot assume it anymore.
System trays exist on most platforms, and apps, especially cross-platform apps, will sometimes assume that they exist. I prefer to use a system that can handle those apps.
I prefer when applications do not assume that it is available at all; if they do, they are broken. Applications, that force themselves on the user upon startup, then sit in the systray and are resisting the user that is trying to close them are outright black UI pattern.
Now, due to another bug in Windows, the overflow menu has remained open and must be manually closed. The third bug here is when I alt-tab out of LastPass, it doesn't take me back to the most recent application; instead it dumps me on the desktop or some other program at random (why is the desktop even there in the alt-tab menu?)
I'm not against apps running in background, just that monolithic implementation with systray is the wrong approach. Android has shown a good model: background service that cannot talk to UI, but can send notifications or communicate with separate UI app. With this model, user has control over what is running in background or what started on login time by system (not app-specific!)-provided tools, like systemd user units under Linux or LaunchAgents under macOS. When the user wants something off, it will be turned off in one place, with no ors or buts or other black patterns that prevent user turning the application off.
Looks like there are still tray icons, they just need to be implemented differently?
You have to scroll through that keyhole of a window that you can't resize and it starts with the Desktop, so it's "Desktop - Computer - C:\ - Users - Me - Documents - Images - ..." every time.
> It stands though that KDE seemed to have this feature working for ages, and they’re doing it for free too. Also, operating systems from the olden times also had it too—Windows 98, as you see at the top of this HTML document.
I'm sure this will upset NN but it is 100% the truth.
How much are you willing to offer?
Start Microsoft Windows, open up File Explorer, remove the ever-present 'Type' column (because if you're old school you'll have suffixes enabled), then go to Options and say 'Save this view format for ALL Explorer instances'.
Within an hour you'll have a Type column back in some new Explorer window, to inform you that your file.pdf is a PDF file type.
Any and every version of Microsoft Windows file explorer has done, and continues to do, this. It's hugely frustrating.
If you're using Gnome then it's a relatively easy (free, ethically sound, painless, etc) process to switch to, say, KDE, and enjoy pleasant file explorer/pickers.
If you're forced to use Microsoft Windows (say for work) then you are stuck with this particular broken toilet.
I agree with most of what they say, and I think the point is that we're uniquely bad at addressing these issues in the open-source world.
We accept a degraded UX experience (which I think this unarguably is from a normal user's point of view) because at least it's not proprietary lock-in. But it's a big reason why desktop GNU/Linux doesn't crack 2% usage. Inversely, I think this is _the_ core value proposition of Apple's ecosystem. They pay particular attention to consistent, unsurprising integration, and the Apple experience offsets their iron-grip over your device for most users. It's easier to convince someone to change how they do a task if you consistently deliver pleasant UX.
I recently had the opportunity to help a _very_ 'normal' user with their computing, and it was remarkably eye-opening watching them interact with their machine (Windows at the time, but they also use a Mac). Indeed, they hated Windows because it wasn't as consistent as a Mac, but Windows was dealing with their ambiguous interaction remarkably well I thought. Much better than a GNU/Linux DE would have.
If we want a world where normal people can use free software for their everyday computing needs this is something we need to get much better at. Forget 'normal' users even, these projects (and threads on HN) are full of _developers_ arguing back and forth that they find it infuriating/unusable. And unfortunately not many of us have the time and money to contribute code or fork projects to increase competition and spur improvements.
(also, hi again Jedd :) )
Cue contra-example.
I've used Gnome perhaps for a dozen hours in the past twenty years - none of those (the dozen hours, not the two decades) were especially pleasant, but not because of this missing feature enhancement. So perhaps I'm not well positioned to cast judgement there.
Anyway, any claim that an operating system is intuitive is subject to much discussion. I endorse the early 90's (perhaps predating even then) claim that the only intuitive interface is the nipple, beyond that the necessary interactions are learned.
And - hello again, yes - I'll weigh in on the somewhat plaintive 'if we want normal people to use free software' rejoinder with a marginally cynical observation. Normal people can understand how computers work, and adjust their expectations, behaviour, and workflows to suit - worst case they'll acquire the necessary skills to file bug reports or fix it themselves.
Average people, on the other hand, are less likely to be satisfied.
And unfortunately this will change nothing, because of the immense amount of protectionism and self righteousness of these idealistic projects.
I wish it was different, but with so many stakeholders it's really hard to reach a decision.
At least they managed to tame their DE to be not a resources hungry hog.
Just today, once again, I tried doing the hack to make programs use the kdialog instead of the GTK filepicker. kdialog works, however none of the thumbnails are showing! Only the icons showing the filetype. I don't use a desktop environment, only a tiling window manager, so that's probably it. But what pains me is as much as I search, I don't know what the hell to install that will make the thumbnails work in the filepicker even though thumbnails work everywhere else.
Every time I must go through this, I want to cry. The linux community thinks they are so superior, yet they cannot implement this one little thing.
I don't use the Linux desktop often, so perhaps this is an ignorant comment, but doesn't not using a DE require a certain amount of elbow grease anyway? If you wanted a more polished/less DIY experience, it seems to me that you should be using a DE.
The first few paragraphs of "rant" on his toilets are just brilliant. I wasn't sure I was going to read the whole thing, but after reading these, I decided that this blog post deserved my time.
But how extensible is it? Would it require a recompile of GTK? Or perhaps a shared library plugin? Realistically, the likelihood of me actually diving into this is low due to life keeping me too busy.
I was all the time thinking of this since "I've had a thought in the back of my mind to write a replacement".
https://www.jwz.org/doc/cadt.html
> I report bugs; they go unread for a year, sometimes two; and then (surprise!) that module is rewritten from scratch -- and the new maintainer can't be bothered to check whether his new version has actually solved any of the known problems that existed in the previous version.(No clickable link because he doesn’t like Hacker News as a referrer.)
Because it’s not important enough to them to force a fix. Hard to believe, in this day and age, but some developers have other priorities, especially when working with free software.
I question if this is actually a bug. It seems to be working as intended, just not the way the author wants. Seems like the quickest solution would be for the author to either take on the job themself, or absent the time or expertise, pay someone else to do it.
If Windows does anything better than MacOS this is one tiny area. I don't understand who at Apple thinks not being able to have large thumbnails is a good design.
Is the problem that Gnome is mostly funded by Redhat, and Redhat mostly focuses on enterprise usecases, as that's how they make money?
I remember years ago Ubuntu had their 100 papercuts initiative, which seems like exactly the sort of initiative to fix a bunch of smaller desktop usability items that enterprises might ignore.
I guess it's extremely important for some people and not important at all for others.
This is just the nature of FOSS. Those that are smart enough to fix it are also smart enough to find a "good enough" workaround - and that requires far less effort than fixing it.
I don't deal with image files on disk, mind. I use various media databases to handle those (and audio and video) with tagging, timestamps, previews, thumbnails etc. in a dedicated UI.
"This is why Free desktop operating systems are a joke and haven’t been popularly adopted. It’s little things like this that add up. Why was there a Windows monopoly? I think it’s a stretch to just blame it on OEM bundling. No, it’s legit because there isn’t anything else."
The thesis is incorrect. There was Mac, OS/2, BeOS, Amiga, DEC, Solaris. It was the OEM bundling and the illegal anti competitive behaviour for which Microsoft was found guilty. This was quite plainly the reason why Microsoft became dominant on the desktop.
If it were about quality, surely everyone's favourite UX would have been dominant. But it isn't; it sits around the same usage stats as Linux.
And while bugs exist in GNOME and Gtk, I'm not personally moved by a chan board user's gripes about being unable to quickly find their favourite anime memes to post since all their images are `[1-9][0-9]*.png`
OS/2 was a mess for a ton of technical reasons, like the decision to support the 286, market reasons, like its price tag, and strategic mistakes like the decision to try and make money from development tools.
BeOS? Sure, blame Microsoft.
I don’t think I can be in a room with five people without getting five different explanations for why Amiga failed—it appeared after the Mac, competed directly with both the Mac and Atari ST, and was mismanaged by Commodore. It didn’t have much of a software library, compared to its competitors. In some ways it was seen as more of a “toy” than its competitors.
DEC’s business strategy was unsuited for the 80s and 90s. Making good processors isn’t enough, it turns out.
Solaris got eaten by Linux, if anything, not Windows.
> This was quite plainly the reason why Microsoft became dominant on the desktop.
To be clear, I’m not saying that that isn’t the main reason—just that there are lots of reasons to go around. Microsoft did a ton of things right. They made new operating systems that consumers wanted to buy. They kept backwards compatibility with a large library of legacy software. They ran on cheap hardware with tons of suppliers. They tried to make it as easy as possible for developers.
Like, hindsight is 20/20 and all that but Microsoft sure seemed to understand the market in the 1980s and 1990s.
The unfortunate reality is that because Windows was so dominant for so long you either have to
a) conform to their interaction paradigms to not frustrate users
or
b) create something incredibly polished and simple that it 'Just Works' how users expect it to (ie Apple).
Once you have people on-boarding to your platform you can distinguish yourself and build out your own paradigms, but it takes a long time, and users are unforgiving.
GNU/Linux is fantastic for power users, but the moment a 'normal' user has to edit a text config file, or open a terminal, we've lost them. When they try to do something that they're use to doing (see thumbnails of their files when choosing them) and it's not possible, GNU/Linux stops being a valid alternative.
> I'm not personally moved by a chan board user's gripes about being unable to quickly find their favourite anime memes to post since all their images are `[1-9][0-9]*.png`
You're uncharitably trivialising the author's point. A common user task is selecting an image file from your device (to upload/edit/share). A user will often have many images in a folder and they want to quickly select the one they're thinking of.
There is an almost universally accepted solution (or 'best practice') to this problem, which is rendering each image visually so that the user can select the correct one at a glance (either as a thumbnail view in a file picker, or a literal grid of images as in iOS). GNOME and Gtk have not implemented this widely accepted (in fact, expected) behaviour, despite it being raised as an issue nearly 17 years ago.
Instead you (and others) argue points like "well they should rename and manage their files", "it's just an extra click", "it's not that important or else it would exist already", "its just one inconvenient thing, get over it". And there are conversations to have around those points, but at the end of the day people are going to have a negative experience with the product because "it can't even render thumbnails".
And the point is that this _isn't_ an isolated issue. Every project has something like this (Apple and Microsoft still have these issues), but we're particularly bad at addressing the issue, or even admitting it exists.
It is a deep and complex topic and it wasn't 'heres a bug I don't like'. Microsoft had a monopoly on the sneakernet: file formats like xls, doc, and the like needed windows computers. They had an amazing sales force. They did the illegal partnering I mentioned. Loads of aspects. Quality is not a primary component here. Just like the inherent quality of javascript doesn't drive it. It's the platform and the platform effects and so on.
I find it much easier these days to get people to consider trying a non-Windows environment but it never goes well because of these small issues.
Of course people expect things to behave in certain ways because Microsoft had an anti-competitive monopoly and most people learned about computing using their platform.
It's an unfair, shitty situation.
But the point remains that desktop GNU/Linux has a lot of these little UX bugs, and we're not even paying attention to them. The experience isn't as smooth as Windows because we don't have dedicated UI/UX designers thinking over these issues and trying to come up with cohesive solutions.
When's the last time a new consumer-facing UX paradigm that 'just worked' came out of the open-source world? Apple churns them out, oftentimes created from scratch, and it extends to their physical hardware design (ie the ipod scroll wheel was amazing for its time, airpods are a joy to use).
The open source world makes amazing things but the UX quality _is_ a major issue in the uptake of new users today.
What is smooth in Windows 10?
The GUI is a chaos in every conceivable way. Have you used it in mixed-dpi fractional scaling setting lately? Even the builtin software is plagued with legacy apps that are unable to scale well and are aesthetically alien to the modern platform. Font sizes range from ridiculously small (file explorer) to ridiculously large (Edge location bar) and there is no font scaling factor that fits them all... that is when they even honor it. Most third-party apps look ancient. Installers are often blurry and unreadable. All Qt 5.x apps show scaling problems also, this is acknowledged as an important issue in Qt bug tracker. The task view (Win-Tab) has many visual glitches: it often flickers and reaccommodates itself after the initial rendering, it's not even smooth.
Some of these problems are often attributed to their compromise to maintain backwards compatibility. Well, it's just the oposite, they are mostly the result of the schism they themselves created with Windows 8 and UWP (that not even Microsoft uses for their important apps). Now they are trying to fix it with XAML Islands, WinUI 3, Project Reunion and whatnot, they throw so many names that nobody really knows what is the platform they are developing to.
There is nothing smooth in Windows 10. There are some great ideas and implementations lost in a rage of hubris and incompetence that started ten years ago and it's yet to see how much damage control they manage to do now.
In Gtk 4 the limitation is lifted, so this might be a matter of someone implementing it.
Occasionally the two (needs) overlap and then great piece of feee software is born...
And because there is no warranty and typically the top devs are also (sorry) somewhat narcissistic - they would seldom enquire end users about the perceived usability of UIs.
Take arbitrary open source appliance targeted at end-users and you can easily argue that it’s somewhat broken from usability pont of view.
Sad but it is what free software is.
jk, where are you? what do you have to say for yourself!
That's it. That sums up what's wrong with the Linux desktop. It's the little annoying, arbitrary and broken things. It's that constant denial (the 2 decades old GNOME bug report is the perfect example), that it's not broken, people are just using it wrong mentality among Linux desktop developers that breaks Linux desktop.
I know, desktop is hard. I know we should be thankful to GNOME developers no matter what. I am thankful! I just don't want to use their broken software anymore. GNOME is dead to me since a decade. I just could not appreciate it as much as I wished to.
Thanks guys and gals!
UI design is an iterative affair and compile debug cycles just never seem to end. It is why you get all this meaningless requests to remove this tiny feature or that tiny feature. Apparently every little thing affects compile times and you have all these so called "developers" trying to gain attention or make some name for themselves by proposing insignificant things all the time.
As for Javascript UIs - well they are all built on C++.
If you can't get the C++ right, how can you get Javascript that depends on it right.
Says Joe Amstrong - "I think the only computer languages one needs are C and Erlang, don't you think so?
I frequently open files in projects that have tens of thousands of files scattered across thousands of directories. Any process for opening a file that involved navigating that directory hierarchy by clicking with a mouse would waste an enormous amount of time.
But most file transfers are done through shares.
Uh, what?
Spoiler alert, there isn't such end.
It wasn't until the arrival of Nautilus with 1.4 that the requirements jumped and the performance tanked.
I’m sure they’re accepting pull requests.
Most of the time there's a deliberate reason the picker was designed this way, and the GNOME team won't accept your patch.
I personally stopped contributing to GTK very late in the GTK 2 series with very similar problems, and stopped using GTK in my projects since GTK 3.
GTK used to be my favorite toolkit back in the day.
It doesn't matter that they've made the UI harder to use for those with ability concerns, or that their market share is dwindling, or that they've steadily lost developers for most of a decade.
Everyone should give up and move on; I use MATE and am happy, others like Plasma and Xfce. There's plenty of vastly superior DEs with healthier developer attitudes.
You can jump in and implement it. The last few comments are basically "here's a patch that works", "ok, open a PR then" (and no follow up)
Design isn't just art, design of functional objects needs to be functional. That means that there is an objective criterion for wrong design: if it isn't functional, it's wrong.
Patches get dismissed.
I don't know where the problem is. It's as if the GNOME team had a vision, but didn't actually try to see how this vision plays out using the tools they're making.
The problem is nobody's gonna get fired for not solving the problem in GNOME. Nobody is accountable, and nobody has to cooperate on and solve the user's problem. One person can be a blocker for 10 years and nobody can do anything about it.
The second thing Leadership is useful for is forcing people to do the right thing. That seems to be missing here.
Interestingly I checked a few apps I have installed through Flatpak, and they generally didn't have thumbnails for the same dialogues, although sometimes did for the "recents".
Unless this has been recently added as a feature, it sounds more like he has another issue affecting his desktop rather than outright missing functionality. Or could this be a Debian applied patch? I couldn't find any details after a quick google.
The underlying complaint is that people want this to be bigger.
Older builds of Gnome only seemed to use the generic icon for the file type, so it does sound like there has been progress here - if not enough to satisfy the OP.
But we need some good funding model to pay someone to fix them. Good funding models are something the opensource world has been missing for a while...
Here's a better structure for the post "This is an issue that really impacts me and I care a lot about. See existing bug / discussion links. I can't solve it myself, but it's important enough that I'm willing to put up bounty for that work." I don't think anyone would complain about it.
The author is trying to point out a process problem in the hope that some of us here at HN can help solve it.
No need to single out a specific one.
The way I see it, maintainers like these are why users of open source software are burning out and switching to macOS.
- Because it comes preinstalled in their computers.
- Because that is what schools and workplaces use.
- Because MS Office is the de-facto office suite (although now you have Google Docs, LibreOffice, FreeOffice, etc)
- Because most games are released for Windows.
All these reasons are pretty sad.
So what? Neither are desktops! The question is that the total number of terminal users is certainly increasing year after year.
Perhaps, but the proportion of them is certainly decreasing (especially if we include devices like tablets and phones in "computing interfaces").
What does that even have to do with this article, which is about a file picker?
Several years ago, I started turning desktop icons off (both GNOME and Windows make this easy) and it really helped my organization, as I was then forced to competently organize files into Downloads, Documents, Pictures, Videos directories instead of vomiting everything onto the desktop. Simply _knowing_ where files are located is faster than scanning a cluttered desktop.
As a bonus I don't ever have to worry about the positions of my desktop icons changing.
File picker definitely needs thumbnails though.