10 ms·
Using those kind of Unix tools is like having a time travel machine to understand what kind of mistakes you should never do when Iyou design a software. Not ha
by anonyme-honteux 4y ago
Using those kind of Unix tools is like having a time travel machine to understand what kind of mistakes you should never do when Iyou design a software.
Not having system wide keyboard shortcuts is one of them: vim, emacs, nano etc all have a different shortcut to quit the app
Worse still, every software invents his own configuration format.
Thinking that being ultra configurable is a good excuse for not doing the right thing by default is another big one. Syntax highlighting should just work, not only sort of work when you learn a configuration syntax and install little known third party packages
- europeanguy 4y agoOn the other hand, having system wide keyboard shortcuts will almost certainly impose unwanted constraints on how an app can behave.
- deleted 4y ago[deleted]
- spdionis 4y agoPlease do impose those unwanted constraints thank you!
- moffkalast 4y agoExactly, that's the whole damn point. It's to constrain those app devs from making stupid UI choices.
- wiseowise 4y agoDon’t use them if you don’t like them.
- allarm 4y agoI use vim keys everywhere I can, so from my standpoint “stupid” UI choices are the ones that don’t support modality. I would really prefer having vim keys optional built ins everywhere. Your situation is simpler though - you can just avoid using vim or whatever, there’s plenty of other options available. Also calling personal preferences of lots of people “stupid” is far from reasonable. I’ve met a lot of smart folks who used vim and emacs, so from my personal experience it’s not correct.
- palata 4y agoBut that's the thing: in my opinion, this is exactly not the Linux philosophy. Maybe the majority of Linux users want it to behave like macOS and it will go there someday. And at this point I will move to the next thing closest to what I believe is the Linux philosophy. But right now, I would say simply: "if you want the macOS philosophy, use macOS". And don't get me wrong: macOS is great.
- hulitu 4y ago> Not having system wide keyboard shortcuts is one of them: vim, emacs, nano etc all have a different shortcut to quit the app Not even Microsoft has system wide keyboard shortcuts. And copy paste on Microsoft has become a game of luck.
- wongarsu 4y agoalt+f4, ctrl+s, ctrl+x/c/v, ctrl+z, ctrl+p all work near universally on windows. Up until Windows XP that was also true for F1, but shipping help files somehow got out of fashion. Of course there are exceptions, like conhost, but generally you don't have to think about how to save or quit something on windows
- boccaff 4y agoexcept when you have a different locale and language, and half your office suite have the original shortcuts, and the other half is translated like: ctrl + a (abrir, open in Portuguese) instead of select all, that is moved to ctrl + t (tudo, all in Portuguese), and many others. So, universally for English/US I guess.
- kergonath 4y agoMy pet peeve is ctrl+g to put some text in bold in French Office. It annoys me to no end. But then, things like ctrl-o still work as it should. Even ctrl-a, now that I think of it, and I can’t see where the a would come from.
- hulitu 4y agoYou shall see the German version. (bangs head)
- jstimpfle 4y agoYou can kill windows using alt+f4 on your typical Linux Desktop (Gnome, KDE, etc). Same for ctrl+x/c/v. It's different for programs running in terminals / terminal emulators for technical reasons. Terminals are not GUIs, they are simple devices with a single byte stream for input (displayed on screen) and output (sent from keyboard) that are interpreted quite literally. E.g. the byte ASCII 'A' will normally result in an 'A' being displayed whereever the terminal cursor happens to be. Typing 'A' on the keyboard will result in 'A' being sent out to the OS. Ctrl+(A-Z) will send the byte values 1 through 26. E.g. Ctrl+C will result in ASCII 3 (0b00000011), aka ETX (End of Text), which will normally be converted by the OS's terminal subsystem into a SIGINT signal that is sent to the "foreground" process running in the terminal. Or, if the terminal is in raw mode, the byte 3 will be read as-is by whoever reads the terminal keyboard. Same goes for ctrl+z (normally SIGSTOP is sent) etc. Terminal apps can't expect a running clipboard service. There may not be a display or graphics environment running on that machine. The app might run on remote machine. Etc. Notice how Windows Cmd isn't entirely intuitive about those basic cut&past things, either.
- palata 4y agoRight. So everyone should use system-wide keyboard shortcuts. Preferably your favourites, right? At least they should work well for your favourite window manager, I suppose? Because those who like different shortcuts and different window managers are weird and don't understand UX. /s My preference is to start with a minimalistic system that works on most platforms, and where I can install what I want. If I wanted a system with "sane defaults from someone else's point of view" and working only on a handful of platforms, I would use macOS.
- smarkov 4y ago> Preferably your favourites, right? System-wide does not imply unconfigurable, it just means that all programs derive some of their behavior from an external source. If I want Ctrl+P to paste text across every single application that accepts text and I only have to configure it once in one place, I see that as a win.
- palata 4y ago> If I want Ctrl+P to paste text across every single application that accepts text and I only have to configure it once in one place, I see that as a win. Ok, so let's say I write a video game. Should my game have reasonable defaults, or should it ask you to go to your system-wide settings and setup all the bindings for my game? For instance, I have a "jump" action. Can I bind it to the spacebar, or should I go check in your system settings what you have assigned to "jump"? What if you have not assigned anything to "jump", should I choose a free shortcut somehow (say using the first available from a list like [spacebar, j, right-shift]) or should I ask the player to go setup the bindings first? Say people are happy having exactly one configuration for all their programs. What if my game has special controls, and instead of using "awsd" to move, I would like to use "qweasd", but "q" is generally assigned to "quit". Should I give up on having a reasonable UX using the keyboard (because the system-wide shortcuts don't work for my game) and sell my game with an external controller then? That's the whole thing with standards. It's perfect if you want to do exactly what the standard specifies. It's terrible if you don't. Freedom generally doesn't go well with standard, and somehow it feels like a tradeoff: macOS has a better user experience than linux, at the cost of some freedom. And that's perfectly fine IMO: I don't expect macOS to give me more freedom, or Linux to give me a macOS UX. I just choose between them.
- nulbyte 4y agoIs is typically the case that there are system-wide in most popular GUIs, like GNOME and KDE. It's even the case in something like i3 or sway. In a GUI environment, you get GUI-wide shortcut keys. On the command-line, there is no GUI. Yet there are still a number of system-wide shortcuts, but things are a little different, because you are interacting with text. And often, you're only interacting with one program at a time. In most places, ^C, ^D, ^I, and ^Z work the same way. In Bash and other shells and programs that use readline, several Emacs-style shortcuts also work the same, notably ^A, ^E, and ^K. There are probably others, but you'll notice that few of them have anything to do with copy and paste, because that is often meaningless between programs without a GUI to show multiple programs at once, in which case the GUI, not the CLI, would implement something. There just aren't that many needs for more shortcuts when you have only one program in front of you.