this post was submitted on 30 Nov 2024
209 points (96.4% liked)
Linux
48677 readers
436 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
From Windows
Low-latency VRR that works correctly
It does not feel quite right in kwin and the rather new "proper" support in Hyprland doesn't feel right either.
In hyprland you actually have to enable a special option and set a lower bound for VRR because it doesn't handle LFC with cursors, so a game running at 1fps will make your cursor jump around once per second which is totally unusable. With LFC that would typically result in at least e.g. 90Hz.
VRR in other apps works quite well though. I'm not sure how intended it is but it allows for some nice power savings on my Framework 16; when it's just a terminal refreshing a few times a second, the screen goes all the way down to 48Hz and when I actually scroll some content or move the cursor it's still buttery smooth 120Hz.
Sway feels very good w.r.t. VRR but it cannot handle cursors at all (visible or invisible): whenever you move the mouse, VRR is deactivated and you're at full refresh rate until you stop moving the cursor. It might also not be fine because I could only test a racing game due to the mouse issue and it's so light that it always ran at a constant rate, so that's not a great test as what differentiates good VRR from bad VRR is how varying refresh rate is handled of course.
Xorg VRR also never felt right; it felt super inconsistent. Xorg is also dead.
VRR is fundamental for a smooth gaming experience and power efficient laptops.
From macOS
Mouse pad scroll acceleration.
If you've ever used a modern macbook for a significant amount of time, you'll know that its touchpad is excellent. I'd actually prefer a macbook touchpad over a mouse for web browsing purposes.
On Linux however, it's a complete shitshow and the most significant difference is not hardware but software. You might think that, surely, it can't be that bad. Let me tell you: it is.
Every single application is required to implement touch pad scrolling on its own; with its own custom rules on how to interpret finger movement across the touch pad. I can't really convey how insane that is. There is no coordination whatsoever. Some applications scroll more per distance travelled, some less. Some support inertial scrolling, some don't. Some have more inertial acceleration, some less.
Configuring scrolling speed (if your compositor even allows that, isn't that right Mutter?) to work well in e.g. Firefox will result in speeds that are way too quick for the dozens of chromiums you have installed and cannot reasonably configure while making it right for chromiums will make it impossible to use forwards/backwards gestures in Firefox and applications that don't implement inertial scrolling at all (of which there are many) will scroll unusably slowly.
It's actually insane and completely fucked beyond repair. This entire system needs to be fundamentally re-done.
There needs to be exactly one place that controls touch pad (and mouse for that matter) scrolling speed and intertial acceleration, configurable by the user. Any given application should simply receive "scroll up by this much" signals by the compositor with no regard for how those signals come to be. My browser should never need to interpret the way my fingers move across the touch pad.
Accel key
Command/super is just a better accel key than control. Super is almost entirely unused in Linux (and Windows for that matter). Using it for most shortcuts makes it trivially possible to make the distinction between e.g. copy and sending SIGTERM via
^C
in a terminal emulator. No macOS user has ever been confused about which shortcut to use to copy stuff out of a terminal becauseCMD-c
works like it does in any other program.It also makes it possible to have e.g. system-wide emacs-style shortcuts (commonly prefixed with control) and regular-ass CUA shortcuts without any conflicts.
C-f
is one char forwards andCMD-f
is search; easy.Unified Top bar/global menu
Almost every graphical application has some sort of menu where there's a button for about, help, preferences or various other application-specific actions. In QT apps aswell as most fringe UI frameworks, it's placed in a bar below the top of each window as is usual on Windows. In GTK apps, it's wherever the fuck the developer decided to put it because who cares about consistency anyways.
For the uninitiated: On macOS there is one (1) standardised menu for applications to put and sort all of their general actions into. It is part of the system UI: almost the entire left side of the top bar is dedicated to this global menu; populated with the actions of the currently focussed application.
If you're used to each application having this sort of menu in the top of its window, having this menu inside a system UI element that is not connected to the application instead will be confusing for all of 5 seconds and then it just makes sense. It's always in that exact place and has all the general actions you can perform in this application available to you.
There is always a system-provided "Help" category that, along with showing macOS help and custom help items of the application, has a search function that allows you to search for an action in the application by name. No scouring 5 different categories with dozens of actions each to find the one you're looking for, you just simply search for the action's name and can directly execute it. It even shows you where it's located; teaching you where to find it quickly and allowing for easy discovery of related functions.
When you press a shortcut to execute some action in the app, the system UI highlights the category into which the executed action is organised; allowing you to find its name and (usually) related actions.
Speaking of shortcuts: When you expand a category, it shows the shortcut of every action right next to the name. This allows for trivial discovery of shortcuts; it says it right there next to the name of the action every time you go and use it.
This is how you design a UI that is functional, efficient, consistent and, perhaps even more importantly, accessible. Linux should take note.
I've personally always loathed the global menu bar paradigm of macOS. Having a menu bar that's wholly detatched from the currently open window that is context-aware based on which window has focus always felt like an irritating speed bump to me. My mind feels like the OS itself is hiding things from me by only allowing me to see a single app's menu bar at a time.
But then again, I have no objective qualms with it. I'm sure I could adapt to it. When have I realistically needed to see more than one menu bar at once? I can't name a time. I'm probbably just pearl-clutching at the perceived arresting of my agency to do things when in fact I'm losing effectively nothing.
At any rate, we agree it's a sure sight better than the shitshow that is GTK. "Hm? Window decorators and shit? Nahhh, those are your problem. Go roll your own." For the flagship windowing toolkit of the GNOME Project, the DE I'd consider the closest in philosophy to what macOS has going on, that was a rather strange position to take.
The forced menubar becomes absurd on an ultrawide monitor. Nobody needs a 49" wide menu or task bar
Well, I also tend to consider ultrawide monitors a mistake in their own right. Why would you want a 49" wide literally anything if it's not some kind of immersive media experience where menus are irrelevant anyway?
Of course, if that is in fact exactly what you bought it for, I have no complaints. Even if I disagree with having one for other purposes, that's still no reason for the OS to punish you for having one when you try to use it that way when that problem is completely avoidable.
It's also great when programming. I usually have an IDE/text editor, documentation/browser, email/teams and a couple of terminals open at all times and being able to see all of them at once is really helpful.
Granted, you could get the same with two 27" monitors, but add ultrawide gaming to that and it's pretty much a no-brainer for me.
I'd rather have multiple monitors so I have the more intuituve window snapping. But to each their own.
I'm firmly in both camps. Window snapping is much more flexible on a single monitor- I can't really do quarters on a side-by-side setup, but I can on an ultrawide. However, I love having a second monitor in portrait.
Until they make T shaped displays that I can mount sideways, to get the best of both worlds, I guess my best option is a single massive screen, where I only use a thin strip of one half.
Were you also a proud owner of an LG Wing? 😉
Honestly, ultrawide for spreadsheets is awesome.
A 49" ultrawide is just two 27" bezel-less basically. And games that support 5120 horizontal resolution look amazing.
I use the Super key on Gnome DE all day long. Moving windows around the Desktop, moving to other desktops, going to the overview, etc. Its all configurable shortcuts in keyboard and tweaks.
Wish I knew what half these acronyms stand for.
Edit: Actually it's not that many.
Two video terms: Variable Refresh Rate and Low Framerate Compensation (adjusting the refresh rate for the framerate of a slower video source). Both pertain mostly in gaming and entertainment software.
CUA is Common User Access, which just means standards such as universally implementing Ctrl-C and Ctrl-V for copy/paste in apps. Linux devs do tend to follow common conventions, they just aren't as strictly enforced as when a corporation has near-total control over the software.
VRR is variable refresh rate. Not sure about the others
Kinto can replace shortcut with super one. It use xkeysnail to grab all key input and change on fly. Also has some default shortcut change for some program to make feel like macos.
Actually can use for modify all input on system and move accel key around on keyboard.
That's only an option if you want to be stuck with Xorg. That's not really a realistic option in 2024.
cannot even restart wayland session in gnome. wayland is not a realistic option in 2024.