Remix.run Logo
frameset 6 hours ago

> I opened Slack on macOS, the icon kept bouncing in the dock for a few seconds. I got impatient, switched to Ghostty, and started typing. Just then, the Slack window appeared, stole focus from Ghostty and the git pull command was sent to the group chat.

One of my absolute favourite features on KDE Plasma with Wayland is the global setting to control what can steal focus. It works wonderfully, and I always miss it when I have to use my work mac or windows computers.

See here for docs, under "Focus stealing prevention" - https://docs.kde.org/trunk_kf6/en/kwin/kcontrol/windowbehavi...

ndriscoll 4 hours ago | parent | next [-]

Yeah the obvious answer to software getting worse is to switch to FOSS. Use Linux/KDE. It's been great for a long time and only ever gets better. It's as if Windows 7 just continued to slowly iterate and add useful polish.

NixOS has a longstanding issue where library loading (and therefore program start, particularly GUI programs that load a lot) is n^2, but programs still all start in ~1 second or less on my n100 minipc. I still found that to be annoying enough to look into why it seemed so slow (and learned about the loading issue). Can't imagine things taking so long that you actually switch to another task. The same minipc can easily handle my 4k 240hz HDR monitor as well, and the whole experience is completely smooth.

The computer also just obeys me. It does exactly what I tell it to, and nothing more.

noir_lord 4 hours ago | parent | next [-]

> It's as if Windows 7 just continued to slowly iterate and add useful polish.

That's a pretty good description of it, I even have KDE laid out the same way I did on Windows 7 (or more accurately I guess on KDE going back even further since Linux has been my main OS since the 90's with Windows relegated to gaming).

To this day - Taskbar shows window titles, only shows window titles for windows on that screen, there is no grouping, there is no ordering except order opened etc.

I think autonomously in terms of which physical screen a window is on and when it was opened relative to others so I know exactly where to look/it'll be - the Mac style (and Linux/Windows style at least out the box) defaults of hiding all windows for an application behind it's icon in the dock never made sense to me, I have widescreens why do I want a doc that only takes up 40-50% of the horizontal space?.

pjmlp 42 minutes ago | parent | prev | next [-]

The problem is that I can't still buy a laptop at Media Markt, or similar consumer store, with a Linux distro pre-installed, and if I could, it would be OEM Linux, just like they do with Android, WebOS, Netbooks, whatever.

Outside Internet places like HN, most consumers aren't going to Tuxedo, System 76, or building their own Linux PC.

Thus commercial OS platforms keep winning, and the owners are anyway the ones that sponsor most FOSS projects.

Miss Windows 7 by the way, it was when I gave up on The Linux Desktop.

bitmasher9 4 hours ago | parent | prev | next [-]

KDE has a much older and richer history than windows 7. It’s been trying to be a safe harbor for Windows users to land in Linux for a long time.

inigyou 2 hours ago | parent [-]

What they really meant is it's like Windows if Windows didn't enshittify.

I don't understand the plasma desktop though. Why can't I just drag a shortcut to the desktop.

marcosdumay an hour ago | parent [-]

Plasma has very strong opinions about what the desktop is. So strong that it probably disagrees with every single person.

The other side of the news is that the desktop abstraction has been made more and more useless on every OS for a couple of decades already. In any other OS your life will only improve if you abandon it too.

ToucanLoucan 2 hours ago | parent | prev | next [-]

I actually had to backpedal on my gaming PC from Kubuntu recently, I'm sad to say. The support for the RTX 5080 is just too rough. Every game install was chased by an hour of debugging with Claude to figure out which version of proton to use, which launch arguments to use, which between-system-and-gpu shim profile to use.

I grant: The process is much more enjoyable than doing similar things on Windows. Kubuntu treats you like an adult and will tell you what's going on, and being able to copy the sometimes esoteric nonsense in those logs into Claude and get actionable information while not remotely understanding the underlying tech is fan-bloody-tastic.

That said it was death by a thousand cuts. Some friends I hadn't heard from in awhile asked if I wanted to get on Warhammer Space Marine 2 and luckily, I had it installed! ... and was able to play after a mere 35 minutes listening to other people have fun on the call, while I was trying to figure out why the game would only launch to a black screen.

So yeah, I wussed out and went back to Windows. I'll probably try again in a few months, and hope the GPU support is better. But that's also explicitly riding on nvidia to do, and they're busy selling shovels to the AI gold-rushers.

pixard 2 hours ago | parent | next [-]

Hey may I suggest CachyOS + KDE? It’s very gaming oriented and you have a lot of great built in features. Everything just works.

So far in 6 months I ran into a single issue: On day 1 of the new Subnautica early access I had to do some debugging and downgrade nvidia drivers to a previous release. But this was fixed after about a week.

No other game gave any issue what so ever. I run everything on the cachy proton version. 4090, 5070 Ti, 5090. All work perfectly. DLSS, Frame gen, older titles too.

If you want to there’s convenience flags to auto upgrade things like DLSS to latest versions etc. It’s not something you have to use, but I found it really nice compared to the Windows equivalents.

I’m so beyond happy to have zero Windows left in the house. :)

BoxOfRain 31 minutes ago | parent | next [-]

Another vote of confidence for CachyOS + KDE! This is my setup and literally the only issue I've had which presented a problem to me is that OpenRGB doesn't like my mobo at all, it's stuck in 'unicorn vomit' mode when I wanted tasteful accent lighting. Games work with minimal farting about, the desktop is great out of the box and customisable in plenty of ways, and it generally treats you like an adult.

ToucanLoucan 2 hours ago | parent | prev [-]

Oooooo. Does it support HDR? Because that seemed to be entirely broken in KDE despite using Wayland.

alexjplant 2 hours ago | parent | prev | next [-]

> Kubuntu treats you like an adult and will tell you what's going on

This means so much to me in the modern era. Contrast with the SaaS approach that's also been leaking into Electron apps, etc:

- "Something went wrong"

- "It's not you - it's us :-("

- "An error occurred"

- "Uh-oh..."

- "Too many penguins are in the defrobulator" [or whatever "lol so random" 2010 corporate mascot in-joke is applicable]

People used to make jokes about cryptic error messages with alphanumeric codes but cryptic beats cutesy and completely uninformative every day of the week. The days of people being intimidated by computers have been over for a while now so I'm sure I'm not the only one who feels this way.

klez an hour ago | parent | next [-]

> The days of people being intimidated by computers have been over for a while now so I'm sure I'm not the only one who feels this way.

Oh, I wish...

We have a couple of applications where we used to show useful error messages that users could copy-paste to us when they opened a ticket. We had to remove them because they scared some users. Now, per our customer's request, we sometimes only show "ERROR". Yeah, that's better...

Also, in the ticketing system we have to hide technical messages when passing the ticket between teams because the user would interject telling us they don't understand (which is ok, to a point: they have all the context they need to understand we're not talking to them, but ok...) but some would get really angry and frustrated and complain to our customer's IT that they don't want to see the technical stuff.

Also, my parents that get scared if something in red with numbers shows up on their screens.

2b3a51 29 minutes ago | parent [-]

Perhaps 'Error' in tasteful smoked glass overlay, but with a QR code that encodes an error number?

(Spent some time last year supporting students online - noone was going to take a screen shot of their laptop so we ended up with them emailing photos off their phones)

ratelimitsteve 40 minutes ago | parent | prev [-]

I think it was Woz that said something along the lines of 'the problem with making a computer that stupid people can use is that only stupid people will want to use it'. arrogant, no doubt, but also also rather prophetic now that we're in the era of "Whoopsydingdangdoodle, we made a booboo with your request" meaninglessness. I think we've traded being intimidated by computers for being completely agnostic as to how they work and just not caring. They've gotten easier and more reliable, sure, but they've also gotten more opaque, less transparent, less extensible and less fixable because of it. Those of us who grew up in the era where you had to become pretty intimate with the details of how a computer worked in order to get it to do anything at all developed a lot of skills for dealing with issues and now those skills are being intentionally obsoleted by design decisions that remove our ability to actually fix things ourselves by hiding everything about the apps we run except the interface.

skydhash 2 hours ago | parent | prev [-]

May not be applicable to most, but this can be solved by multiple devices. I have three laptops (my work mbp, my personal mba and my daily driver which runs OpenBSD) and two mini computers (one is a server for file and misc. stuff and the other also runs OpenBSD).

I just switch devices depending on context and needs. If it were me, I'd just use the gaming PC as a console.

lostmsu 3 hours ago | parent | prev | next [-]

I've spent 6 months in KDE after years on Windows, and KDE is crap in both UX and number of bugs. I love the idea of open source, but there's a long journey ahead to even match the state of Windows 2000.

cosmic_cheese an hour ago | parent [-]

KDE has improved a lot in recent years, but yes I would agree that it still has plenty of rough edges and little unexpected (as in slightly jarring) differences in behavior from major commercial desktops.

I still prefer it over the bloated pile of upsells that Windows has become, but I think there’s still space in the Linux desktop world for a legally-distinct clone of Windows (sans the bad parts). KDE isn’t that, it’s its own thing and is best fit for long time Linux veterans.

deaton 3 hours ago | parent | prev [-]

It is interesting how Linux and FOSS in general is just providing a better UX these days. I have to think its because without profit motives, people do things for passion and maybe that leads people to write code the right way instead of the "it works" way.

cmiller1 3 hours ago | parent | prev | next [-]

I think this is less a "macOS lacks the feature to prevent focus stealing" and more they never even imagined the scenario where it takes time for the app to open. Instead of even considering that a user may add inputs while waiting for launch, potentially signaling that they are no longer requesting focus from the program they clicked on, they simply designed for the optimistic case where there never IS time for the user to give these inputs before their intention of opening the program is completed. Not saying it's any less bad from a user's perspective, but I think there's a difference in mindset here.

SoftTalker 2 hours ago | parent | next [-]

In my experience (admittedly a bit dated now) Mac apps always take a few "bounces" to launch and be ready. There are a lot of nice things about MacOS but snappy application launches isn't one that stands out for me.

trentor 2 hours ago | parent | prev | next [-]

Focus management has never been Quartz's strong suit.

ghusto 2 hours ago | parent | prev [-]

As always, Apple has designed for the happy flow, and nothing else. Mac apps have never opened instantly, this is nothing new.

cosmic_cheese 41 minutes ago | parent | next [-]

They can open nearly instantly, but they need to be well-built native apps. Lumbering behemoths like Adobe CC or anything Chrome-based is going to be a bit slow, and even smaller apps that pull in a big foreign UI toolkit are going to take a tick or two longer to start.

It’s too bad that the art of building lightweight applications is becoming a lost art.

cmiller1 2 hours ago | parent | prev [-]

On the current M series hardware, in my experience, it's rare for the icon to land from its first bounce before the software is up and ready.

stronglikedan an hour ago | parent | prev | next [-]

This doesn't happen on Windows. Slack loads in the background and the taskbar icon just pulses when it's ready. I have to switch to it manually from whichever app I'm working in as Slack loads.

DicIfTEx 4 hours ago | parent | prev | next [-]

A fantastic feature, but unfortunately currently broken (as in over- rather than under-zealous) for prevention levels other than 'Low': https://bugs.kde.org/show_bug.cgi?id=509990

Lord-Jobo 3 hours ago | parent [-]

This is the absolute perfect encapsulation of the Linux problem and the Linux appeal:

Yes, it has the magical setting to fix all of your problems and frustrations, and yes it’s a finicky broken bitch to actually get working for your use case.

I say this with love.

anonzzzies 6 hours ago | parent | prev | next [-]

That is definitely needed. On Mac it is really infuriating how stuff (auto update etc) just take focus/pop up crap. I am literally never interested in it and am confused why I cannot just say [x] Force apps to mind their own business. We have f’ing notifications for this; why does it need a dialog window?

frameset 6 hours ago | parent [-]

Maybe it's a hazy memory, but from 2007-2011 my main computer was a MacBook Pro. I swear in that era, when an app wanted attention it would bounce in the dock endlessly.

That was annoying, but it let you finish doing what you were doing until you were ready to switch focus.

jagged-chisel 5 hours ago | parent [-]

I think you’re right - macOS changed this behavior at some point.

cosmic_cheese 32 minutes ago | parent | next [-]

I’m not sure that macOS changed as much as developer practices did.

Dock icons bouncing are usually the result of the app opening a modal alert window. Those can’t foreground the host app and they used to be what devs reached for 9 times out of 10.

These days though everybody and their dog has a menubar item or daemon running in the background (whether such a thing is actually necessary or not) and the only way windows spawned by apps like that (which have no Dock icon) can get the user’s attention and not have the windows they spawn get lost in the shuffle is for the app to call the foregrounding API, and so that’s exactly what they do.

Contrast this to years ago when almost no apps had menu items or daemons and were standalone.

There’s also been a staggering loss of decorum when it comes to these things. Companies have become shameless about pestering the user’s attention, and so there’s probably some regular Dock-icon-having apps that call the foregrounding API when they shouldn’t be too.

In my opinion menubar items, daemons, and foregrounding are all being abused by devs and Apple needs to get them under control. Apps shouldn’t be able to add menu items or daemons without the user’s explicit permission and foregrounding should he treated similarly to push permissions.

anonymars an hour ago | parent | prev [-]

People say Microsoft has no UI taste, but they used to be decent. They had sensible guidelines and behaviors

For example for this case, the taskbar icon would blink three times and then remain highlighted. So it would grab your attention, but not hold it, and then you could still easily see at a glance which app it was

At some point, like many other things, it looks like this either was changed or broke/doesn't work consistently. But I thought it was a nice design

ratelimitsteve an hour ago | parent | prev | next [-]

I am doing my best to implement a rule with apps where the third time in a single session you bother me about something that has absolutely nothing to do with the workflow I opened to app for, I uninstall the app. I don't want to update my spreadsheet app, I want to work on this spreadsheet. I don't want to tour the new features from the last update, I want to work on this spreadsheet. I don't want to sign in in order to access an AI companion (which I also don't want), I want to work on this spreadsheet. I damn sure don't want to leave a review in the app store for you and at this point you don't want me to either. You want me to work on this spreadsheet.

Between that and this insane thing MacOS does where when I click an app in the dock any random app opens up (and, per above, begins barraging me with things designed to "direct" my attention) I'm ready to switch to something whose primary feature is not acting like the dev team spent the last ten years trying to arbitrarily bump the number of features up and ending up with a giant pile of buggy features that nobody asked for.

And for my final gripe, at least for the next 15 minutes, trying to teach a computer how to do what I mean instead of what I say was a mistake. I learned computers back in the day where there was no attempt at interpretation of intent and instead the machine did exactly what I told it to, and that's how I prefer it because it simplifies the problem space when the machine is misbehaving. I told it to do the wrong thing. That's the only possible answer. But now there seem to be so many layers attempting to interpret meaning from actions that the problem space expands to make room for the idea that I told it to do the right thing, but it guessed that I meant something different and then did that instead. As an example, just trying to highlight something in my Mac's terminal app so that I can copy/paste it. I click the terminal app on the dock, and focus switches to that terminal app but also docker desktop, which is on top of the terminal and doesn't go away when I click into the terminal. Instead I have to interact with docker desktop. So I minimize the app I never asked for, and actually have access to the terminal. I'm using the built-in touchpad and have to select an entire line, so I start from the right with one finger, click and drag. But another finger, or perhaps the heel of my hand, gets close to the touchpad and MacOS is SO EXCITED TO HELP that it decides to interpret that as a right click which results in my selection getting interrupted halfway to bring up the right click menu, whereupon I'm presented with the option to do several things with this approximately 40% of a CLI command including: search for it in webster's dictionary, convert it to spoken word, convert it to Chinese (my choice of traditional or simplified), or try to open it in finder despite it being a portion of a command and not a file.

All of this points to a Goodhart's Law situation where someone decided the size of the pile of features was the measure of the quality of a piece of software, rather than how elegantly it does the job the user bought it for. AI has also significantly increased the speed with which a feature that no one asked for and that doesn't work correctly can be delivered.

prmoustache 5 hours ago | parent | prev | next [-]

I never understood the OSes/desktop environments that stole focus by default. So many secrets/credentials have been shared because of that. Just give me a blinking notification that the app/window is available in the notification/taskbar/appdock area ffs. Yes that is one more click/alt-tab but that is much better imho. At least ask for preference on first ever login.

eviks 5 hours ago | parent | prev [-]

How would that global app ban help? You do want the application to steal focus when necessary. It's just in this case the user has made the decision to not wait for startup and switch to another app. Aggravating step - he was typing.

Is this workflow part of the Kwin settings? It's not interrupting typing part of the settings?

jagged-chisel 5 hours ago | parent | next [-]

Any app should be ready to accept focus. It should never steal focus. When I start an app, and wait for it to launch, I am attempting to give it focus. I can withdraw that intent at any time by doing something else (e.g. switching apps) and the launching app should finish launching and wait in the background.

eviks 5 hours ago | parent [-]

Your specific example is just repeating what I've said, but your generic point is wrong: let's say you have an important task in an app with unavoidable interruptions, during which you switch to your browser to mindlessly scroll.

You most likely want to return to the main task as soon as possible because that scrolling is just a time filler because you can't do anything productive. So you don't need any notification and extra action, just switch back asap and continue work with as little interruption as possible.

But even in the specific example that depends entirely on what you're switching from and to and for what reason. If it's for something quick non-interactive (I don't know, switch to a file browser to check the file name or something), then yes, you'd prefer to seamlessly be switched back to the main app to do the thing you launched it for.

But if it's not an important app, then yeah, you just want it to be ready for you and switch to it whenever you decide to avoid the launching delay later

piguin 5 hours ago | parent | next [-]

Your example is wrong because the people who write apps always think they are the important work that should steal focus. The user on the other hand knows how to give focus to what they want to use when they want to use it and doesn't benefit from nondeterministic behavior.

jamesnorden 5 hours ago | parent | prev | next [-]

He's saying the setting exists and does what he wants, how can you say his example is "wrong"?

kajaktum 5 hours ago | parent | prev | next [-]

I can count with 0 hands when this is useful. You can make a noise sure but never, ever, ever, ever pop up and interrupt me.

eviks 3 hours ago | parent [-]

I can also count with 0 hands when this is useful

ghusto 2 hours ago | parent | prev | next [-]

So many strange assumtions, but the most striking is that you're presuming the user doesn't know what they want to happen.

"you'd prefer to seamlessly be switched back to the main app to do the thing you launched it for"

Would I? How do you know? Why do yo think so? This is such an odd thing to be sure about.

eviks 2 hours ago | parent [-]

My real presumption is that the user knows exactly what they want to happen, but can't encode that knowledge into OS configuration because people have no imagination for trivial use cases, so demand blanket bans. While another group is just as limited and encoded blanket allows

> Would I?

You would

> How do you know?

By being the omniscient being that came up with the conditions in the first place

ghusto 36 minutes ago | parent [-]

Thank goodness you'll never be allowed anywhere near software anyone uses.

jagged-chisel 5 hours ago | parent | prev | next [-]

Nope. I never want my front task just interrupted like that. Let's take your "check the filename or something" example, and while you're there, you realize you also need a new directory, so while you're typing the name, the other task steals focus and the character you're typing cancels the task - and now you have to start it again. This exact situation has happened so many times, and it's why focus stealing focus of any kind is a problem.

I don't care how important the app's developers think their app is. It's my computer, it's my decision how "important" something is.

eviks 5 hours ago | parent [-]

> so while you're typing the name

Let's take the real example I've made up (which is also a situation that happened many times to warrant an automated solution to limit distraction), not a totally different one you've made up because you can't point how the original fails withotu changing the conditions. Also, I've specifically mentioned typing as a different workfow/use case because that obviously requires different handling.

3 hours ago | parent | next [-]
[deleted]
jagged-chisel 5 hours ago | parent | prev [-]

Fine. I'm checking the files as you say, focus changes while I'm still checking, now I have to switch back to finish checking. No. Do not want.

Also, no one else needs to be deciding how my "distractions need limiting" on my computer. I can handle that myself. Provide settings, an extension framework, whatever to allow people to manage their distractions, but don't force that on me and my device.

eviks 3 hours ago | parent [-]

> while I'm still checking

No, you're committing the exact same error again. You stopped checking in the first 0.5 sec while the app took 1 sec to start. If you're not capable of imagining a situation where this happens like some other commenters, that's ok, but that's a different argument.

> I don't get it, are you not capable of imagining a situation where

You're the one deciding that!!! That's what a properly designed system would allow you to do. But the system you advocate for does NOT. If decides for you that you'll never need it. Just like the current dumb systems decide for you that you always need it

> Provide settings

So we agree again?

1718627440 3 hours ago | parent | prev | next [-]

> You most likely want to return to the main task as soon as possible

For that it suffices if the window comes to the foreground, but it does not need to steal the focus.

eviks 2 hours ago | parent [-]

So you want to continue typing, but in an invisible field hidden by a different foreground app?

1718627440 2 hours ago | parent [-]

It's not what I would call invisible, but yeah that's the behaviour I would expect. That's also similar, to what already happens when I type in one window, while I scroll in another.

inigyou 2 hours ago | parent | prev [-]

Windows XP has a solution to this: the taskbar flash

eviks 2 hours ago | parent [-]

That "solution" is just as bad as the Mac's bouncing icons described in the article - while it doesn't steal keyboard focus, it does steal user focus

inigyou an hour ago | parent [-]

What else do you expect though? You launched a long running task. It is done. Microwave goes ding.

eviks an hour ago | parent [-]

My expectation is described in the comment you replied to and side comments

Microwave's ding is also bad UI, especially when it's repetitive as it's just useless noise. But even the first ding - what value does it have if you already have exactly the same notification category - audio cue - built right there in the process: the machine noise disappears when it stops working.

frameset 5 hours ago | parent | prev | next [-]

> How would that global app ban help? You do want the application to steal focus when necessary

Maybe you do. I don't. With this setting we can both be hapopy.

eviks 5 hours ago | parent [-]

We can't both be happy because the setting does nothing for me.

frameset 5 hours ago | parent [-]

What? You can set it to let apps steal the focus you want. I can set it to not allow any apps to steal focus. How are we not both satisfied?

waisbrot 5 hours ago | parent | next [-]

I want the setting to steal YOUR focus

eviks 5 hours ago | parent | prev [-]

That! I don't want apps to steal focus in some conditions. I can't set it like that because the settings are too primitive. Why would I be satisfied with a primitive binary toggle when I want workflow-dependent conditions?

frameset 4 hours ago | parent [-]

Did you read the documentation I linked? There's also high/medium/low settings that use XDG signals to determine if focus should change.

eviks 3 hours ago | parent [-]

Did you read my comment? Which of these 3 settings allows focus steal, but not during typing?

etdznots 2 hours ago | parent [-]

Turing complete focus filter policy language and evaluator

ghusto 2 hours ago | parent | prev [-]

I can not think of a single scenario where stealing focus would be desirable.

Also, the presumption that I'm going to wait around for 5+ seconds whilst an opens is unrealistic.