* AutoHotKey. Alt/Capslock + IJKL is a universal way to get arrowkeys - e.g. it works in Chrome/a note taking app/Terminal. I'm not against getting a QMK keyboard, but I'm not aware of any laptop keyboards which support QMK. Switching between the two will get real annoying real fast.
* 7+ Taskbar Tweaker. My taskbar hides window names for programs like Spotify/Outlook/Slack (programs which usually have 1 window), but shows window names for programs like Chrome/Terminal/VSCode (programs which usually have multiple windows).
* Logitech software. My mouse has buttons hooked up to F13-F20 (yeah, there's more past F12), which AutoHotKey listens for and does specific stuff depending on what program is currently in focus.
The above are relatively important for my computing happiness, and I'm not entirely sure what I'll gain from moving to Linux.
If you can can address any of these points, please LMK! My reasons not to move to Linux have been growing fewer and fewer, but I've yet to find reasons to move to Linux.
Edit: Actually now that I think about this... I can just setup the mouse on a Windows box and it should just keep sending F13 etc. to a Linux box. So now I only have 2 reasons keeping me on Windows: AutoHotKey and an easily customizable Taskbar. The latter reason will also likely prevent me from upgrading to Win11.
Your first and last points can be trivially achieved by mapping those keys via xmodmap - for instance:
! keycodes of your right and left alt keys
keycode 108 = Mode_switch
keycode 64 = Mode_switch
! remap the i key to emit Up when pressing Alt+i
keysym i = i I Up Up
You can use the 'xev' utility to quickly find out the keycodes of keys on your system (just hover the window, press your button, and read the keycode). But all that is only necessary if your desktop environment doesn't ship with key mapping functionality already.If you're on wayland instead of Xorg, then you'll have to use xkb to set this up.
There's also a bunch of AutoHotkey-like tools, but they're probably not necessary for something as simple as you're describing. The first that come to mind are AutoKey, SikuliX and IronAHK (a cross-platform rewrite of AutoHotkey, but I think it's discontinued).
Most desktop environments ship with functionality to (at least) run a command when you press a certain key. Others, like AwesomeWM, are way more powerful.
My AHK stuff is a bit more complicated - my scripts total about 5000 LOC, but a lot of that is inflated cause it also doubles as a window manager. It does a bunch of other minor stuff, e.g. Alt-IJKL also combos with Shift for selection and Ctrl for word skipping, but I'm sure xmodmap and other tools you mentioned can handle that.
Alt-IJKL, when remapped at a low level like that, should behave exactly like arrow keys and combo with Ctrl/Shift like you would expect. You don't have to do anything extra.
- AHK is kinda tough to replace on Linux, since you're kinda stealing the display manager's job. Since there are now two display managers in use (the older x11 and newer Wayland), you'd need to find a solution that works for you. It seems to be pretty easy on x11 though[0], and if Wayland doesn't offer similar functionality I'll be quite surprised.
- Taskbar manipulation is handled by your window manager, and you can typically get pretty granular with it. I don't have the exact same setup as you, but I do have a second taskbar on my second display specifically for Spotify/IRC.
- AFAIK, Linux was the progenitor of the extended function row :)
In conclusion, your sticking points are probably going to continue to be sticking points for the foreseeable future. I hope that doesn't discourage you from enjoying Linux though, even through WSL.
[0] https://wiki.archlinux.org/title/X_keyboard_extension#Caps_h...
Now I just need to learn Vim :D
Where Linux suffers is support for many big commercial applications (MS Office for obvious reasons, Adobe software, etc.) and hardware support (which can be hit and miss, depending on your luck).
But if you're thinking: "how could I automate whatever desktop action operation?" Linux for sure can do it. I have no idea right now how you'd it, but I'd be shocked if it couldn't. There's sooo much configurability.
Now, whether it's worth it to you, who has already learned autohotkey's syntax, to move to Linux, I can't say. Linux is a game of differently confusing config files from Windows and sometimes it's about the devil you know vs the one you don't.
I'm currently looking for a new mouse and trackball that I would use with AutoHotKey (yeah I'm windows fangirl - what can I say, it's just way more productive than Linux)
I read good things here about the Logitech MX Anywhere S2 so I'm thinking about getting one.
The more buttons, the merrier!
The thumb buttons do stuff like CtrlW/AltF4 (depending on the program), toggle between maximize/restore, minimize, media play/pause, and summon media player. Pretty basic stuff:
#IfWinActive ahk_exe chrome.exe
F14::
WinGet MX, MinMax, A
If MX
WinRestore A
Else WinMaximize A
Return
F13::SendInput ^+t
F15::WinMinimize,A
F16::SendInput ^+{Tab}
F17::SendInput ^{Tab}
F18::SendInput !{Right}
F19::SendInput !{Left}
F20::SendInput ^w
F21::Media_Play_Pause
Oh, and one of my more favorite AHK things: RButton & WheelUp::Send {Volume_Up 1}
RButton & WheelDown::Send {Volume_Down 1}
RButton & F17:: Send {Volume_Mute} ;; aka right click + mousetilt = muteIf you add the qualifier "than you", yes, it's not a very risky prediction given the difference between genders in the hand size distribution and the demographics of HN users: https://geogebraintheclassroom.blogspot.com/2015/11/introduc...
Objectively, I usually get glove size 6 to 6.5, but I do consider my hand quite big. I guess I could plug the numbers from http://www.fownesbrothers.com/press/2016/5/10/glove-size-doe... in the distribution above to compute my percentile and see if my perception is accurate.
All this to say, I'll have to be careful to adjust the recommendation by size, as mouse (or trackball) size is an important factor in comfort, and my perception may not be accurate.
> Oh, and one of my more favorite AHK things:
Chording!!! Yes!!! Extending the idea to mouse keys is very inspiring!!
FWIW, like many people I have Caps and Enter using that: Caps and Enter are respectively Esc and Enter when used alone, or Left and Right control when used with other keys.
But wait, it goes further:
- my Shift keys behave as Page Up and Page Down when used alone,
- my Alt keys behave as Home and End when used alone,
- my Control keys behave as Insert and Delete when used alone
In practice, this puts the edit keys very close to my fingers, even on laptop-style keyboards.
I don't always use these alternatives, but I've noticed a tendency for modern keyboard to remove these edit keys, so I want to have a solution ready for when I can't find good keyboards anymore.
> I've noticed a tendency for modern keyboard to remove these edit keys...
The teeny tiny arrow keys on modern laptops is actually part of the reason why I have Caps+IJKL be arrow keys. I have a lot of opinions/feelings about arrow keys. (Why are the most commonly used keys so small??? /rage)
For me Caps + H and semicolon are home/end, Y/P are PgUp/Down, U/O are 4lefts/4rights, and 8/, are 4ups/4downs. The 4's are surprisingly useful, especially when navigating. Home and End combo with Ctrl to yield beginning/end of document, which is also nice. (so like Ctrl+Caps+H = beginning). Everything combos with Ctrl and Shift for wordskipping/selection which is really nice.
I haven't tried making modifiers do different things when used alone - that's a neat idea.
My prediction wasn't very risky given the demographics of HN :)
> The teeny tiny arrow keys on modern laptops is actually part of the reason why I have Caps+IJKL be arrow keys.
I'm currently back to Lenovo, mostly for the wonderful keyboards that still have decent sized arrow keys and Page Up / Page Down nearby on both side of the up arrow, so I don't feel this need, but the modern trend of teeny up/down next tothe HUGE left/right is concerning.
I might end up doing like just you. In fact, I might start adding shortcuts right now.
I'm thinking of doing a mapping with Alt, as my Caps key is chorded as Control, and I can't imagine doing without Ctrl-K or Ctrl-L, but. Did you have any specific reason to go with IJKL instead of WASD?
> Everything combos with Ctrl and Shift for wordskipping/selection which is really nice.
It's wonderful to meet fellow minded people :)
My AHK scripts work the same: to go to the beginning of a webpage, I press and hold right Alt, then press on left Alt to send a Home. To to go the end, I use the same keys, but in the opposite order!
It quickly gets into muscle memory!
> I haven't tried making modifiers do different things when used alone - that's a neat idea.
Here's my current implementation which still leaves much to be desired but mostly perform acceptably. Try it for yourself and see if you like it! I've found using less chording whenever possible made sense, and I find myself often scrolling down page by using the Shift key instead of space, as it's just more conveniently placed as a big button right where my thumb rests while holding my laptop
~LShift::
KeyWait, LShift
If (A_TimeSinceThisHotkey < 300 and A_PriorKey = "LShift") {
if (GetKeyState("RAlt", "P") || ( GetKeyState("LAlt", "P") && !(GetKeyState("CapsLock", "P") || GetKeyState("Enter", "P") ) ) ) {
SendInput !{PgUp}
} else {
SendInput,{PgUp}
}
}
return~RShift::
if (GetKeyState("RAlt", "P") || ( GetKeyState("LAlt", "P") && !(GetKeyState("CapsLock", "P") || GetKeyState("Enter", "P") ) ) ) {
SendInput !{PgDn}
} else {
SendInput {PgDn}
}
}
return*LAlt::
KeyWait, LAlt
If (A_TimeSinceThisHotkey < 300 and A_PriorKey = "LAlt") {
if (GetKeyState("LShift", "P") || ( GetKeyState("RShift", "P") && !(GetKeyState("CapsLock", "P") || GetKeyState("Enter", "P") ) ) ) {
SendInput +{Home}
} else {
SendInput {Home}
}
}
return*RAlt::
KeyWait, RAlt
If (A_TimeSinceThisHotkey < 300 and A_PriorKey = "RAlt") {
if (GetKeyState("RShift", "P") || ( GetKeyState("LShift", "P") && !(GetKeyState("CapsLock", "P") || GetKeyState("Enter", "P") ) ) ) {
SendInput +{End}
} else {
SendInput {End}
}
}
returnReplace CapsLock and Enter by your own chording keys if needed, to allow composition.
If you end up improving on that, please send me your improved AHK script! My email is my username at outlook dot com.
My own scripts are hardly prettier. AHK is not a great language, and I've put very little effort into learning its syntax. Here's my implementation Alt IJKL & friends: https://pastebin.com/F0xgWHH9 Same invitation to you. If you find a way to improve it, email me at my HN handle at gmail :D Note that it has explicit stuff to work with the AltTab window.
I daily drive a Thinkpad X1, but honestly these days Alt+IJKL is so ingrained into my muscle memory that I make grumbly noises when I try to use them on another coworker's machine and fail. Well at least I used to precovid.
> Did you have any specific reason to go with IJKL instead of WASD?
Ergonomics, primarily. I didn't want to twist the fingers of my left hand to try to hit Ctrl/Shift/Alt WASD while my right hand is sitting snickering. Oh. And I just realized I could have used the right alt + WASD. I went with LeftAlt because Caps is also on the left. You can certainly choose to go with RightAlt, though I would encourage you to try ESDF so you get to leave your fingers on the homerow. Also means you have a bit more room for QAZ if you wanna do anything fancy with them.
I suppose I could try and make RightAlt+ESDF mouse movement... but TrackPoint. Might be useful for when I'm at the desktop though. Anyway, being able to left click from the keyboard is surprisingly useful. (CtrlCaps for me.) Often times my mouse is exactly where I want it to be. Happens multiple times a day.
> To to go the end, I use the same keys, but in the opposite order!
That is fantastic.
I also have I think 6 g700s'!!
My favorite was the old Logitech MX with the autoswitching hyperscroll. But I couldn't live without hyperscroll at all anymore.
AHK is also super useful but I've only done a couple of things so far.
idk if they actually work with QMK, but they use the same configurator as their custom keyboard for desktops, which can run QMK
The Plasma desktop environment lets you modify window behavior on a per-application or per-window basis OOTB, including having them skip the taskbar.
- Work, all of the servers and workstations we have are Windows, management tools are Windows only.
- Microsoft Office and Adobe Acrobat are just some of the programs that won't run on Linux. Our remote access tool won't run on Mac or Linux. I can technically RDP to a server but at that point I might as well be running Windows.
- It just works. I'm running a Surface Laptop 4 but we can buy any computer on the market and guarantee that Windows 10 will run flawlessly on it. Driver support is first class, and backwards compatibility is amazing. We can run 20 year old CAD software on 10 with no issues.
I must be the luckiest user in the world, using Windows 10 on all my devices and I've never had the issues other people report. My files have never deleted themselves, it's rock solid and fast, never crashes.
You and me both: I tried very hard to use Linux, but I couldn't find any compelling reason to stick to it. Having zfs snapshots would be nice, but not given the various pains Linux entails on the UI.
AutoHotKey has no serious match on Linux, but it's not the main reason I stick to Windows: it's the terminal support.
I'm a heavy terminal user, and I found my experience seriously worse on Linux than on Windows, with no way to replicate something as good as mintty.
I seriously considered finding a way to make mintty work on wine, before giving up.
When Windows Terminal achieves sixel support, maybe we'll see a port of WT to Linux? That'd be fun :)
Like with Edge on Linux that may incentivize me to try Ubuntu again!
I never imagined that mintty would support Tektronix graphics, much less the dual-color storage tubes!
People who think FOSS is a positive force in the world and want an OS that aligns with their values.
Would you like to describe what happened in more detail?
I personally had very good luck, all of the random laptops I have tries ran the current Linux well, and on desktop I had even fewer problems, especially because I have checked Linux compatibility before buying.
This may already be the problem for many. On windows this tends to work without worry.
WebDevs are not the only developers in the world.
But a lot of small things added up:
* full-disk encryption in combination with dual-boot is doable, but not easy
* most of the software is either late with updates, or worse. For many vendors Linux support is an afterthought, and it shows. Teams is almost unusable (at least was in April 2021).
* every system update carries the risk of the OS not booting up any more. These days it's easy to restore back, but still, it's a risk of wasting time that is not easy to accept in a professional environment.
Kinda. You can't configure it during install, but I think it would be pretty easy to set up LUKS afterwards.
> most of the software is either late with updates, or worse
It really depends on your distro. Many of the 'stable' options will try to hold back updates in order to prevent breakage, which is why I personally prefer a more cutting-edge, rolling-release design. To each their own, though.
> every system update carries the risk of the OS not booting up any more
Ironically, the thing that got me to switch to Linux was having my entire PC bricked by a Windows update. The bootloader and partition table appeared to have completely erased itself off my drive, so I pulled the trigger and just switched to Arch. I haven't had my computer refuse to boot since, but I have gotten some surprises when my desktop updates behind my back. YMMV, but I feel like every OS is horribly unstable these days. At least Linux obeys my commands when I ask them.
I bought a new Dell XPS 13” with Ubuntu preinstalled. It was still a nightmare. Some of the hardware/driver issues I encountered:
- Laptop would constantly get stuck in suspend, often when plugging or unplugging my thunderbolt docking station. The only way out of this was to hold the power button for 10 seconds, which I had to do almost daily.
- Sometimes the laptop would randomly wake from sleep in my backpack, resulting in a burning hot laptop.
- The battery seems to drain very quickly even while in sleep mode. Possibly related to previous point but it seems to lose charge in sleep mode even if it doesn’t not spontaneously wake.
- Doesn’t seem possible in Gnome to run an external display at a different DPI from the laptop display. This meant I had to constantly switch DPI when I moved from external display to laptop mode.
- Couldn’t get my jabra Bluetooth headset to work. I could get sound, but it required switching the Bluetooth profile every time I connected them, and I couldn’t find a way to get it to remember the correct setting despite hours of searching. I also couldn’t get the mic to work whatsoever.
- Doesn’t seem possible to configure keyboard remapping on certain keyboards only (e.g. swap modifier keys on my external keyboard).
- Couldn’t get scrolling to work with my apple Magic Mouse, had to buy a new mouse. Maybe a minor issue but it works fine on Windows.
- Not a hardware issue but I had a weird issue where google chrome tabs could not be repositioned without the tab becoming “detached” and creating a new window. This was incredibly frustrating.
I don’t think Linux is ready to be used as a daily driver for people who care about getting work done and not tinkering. Maybe if you use a desktop with a couple years old hardware it will work, but latest gen hardware, laptops, or external devices are a recipe for pain.
Whenever i put the machine to sleep I do a check always assuming the risk that the app states I have, might never be accessible again. I still can't get hibernate working on it to make it all just work for me. But each rabbithole into making my life a little easier comes at a cost of so much time that I just don't find reasonable.
Windows has it's pain points but having WSL running makes life so much easier.
I recently spent days testing 'random' kernel parameters and config settings from various forums in a desperate attempt to get my Ryzen APU to run stably without tearing. I still can't get it to reliably wake from sleep.
For a semi-recent example, a lone Debian developer decided that Which should longer be used, and a huge fight ensued ( https://lwn.net/SubscriberLink/874049/bf89a969ed3dde87/ )
In a large corporation, their boss would swing by and tell them customers need that tool, and it can't be removed willy-nilly.
And I won't move to Mac, because of the missing link in Apple's product lineup. I'd move over in a heartbeat, if they had a midrange tower, beefier than an Mini, less expensive than a Pro, and sans monitor (iMac)
I also totally didn't notice the Debian thing, but I have moved a couple scripts I use to have `command` instead of which for detecting whether a given executable is available or not (those scripts need to run unmodified on Linux and macOS) and `command` is the POSIX way to do it.
I'd strongly suggest flagging avoidable non-POSIX approaches whenever possible. POSIX still is the standard and, if you play nice, you'll be able to run a script everywhere, from MINIX to AIX to zOS's POSIX environment (an EBCDIC Unix!). So far, shellcheck has been ruthlessly teaching me to write better shell scripts.
"The script you wrote last week for Debian no longer runs on Debian, but if you follow this guide, you can run it on an PDP-11!"
Yay..
Software needs to be durable.
Also, there are Linux distros that are maintained by large corporations, like Oracle Linux. Not every distro is governed the same way.
“How much time would a $4,000, top-of-the market machine like the M1 shave off from each build? How much total time over 2 years? How much “value” does this time mean per engineer?
With the M1, the answer is a no-brainier. The $4,000 per engineer spent will bring back so much more productivity versus top-of-the-market Intel ones, including the 2021 one.“
https://9to5mac.com/2021/11/08/heres-why-twitter-uber-and-mo...
Vastly more arbitrary and intrusive changes routinely occur in large corporations, where community complaints are often ignored rather than addressed by quickly reverting the offending change.
There's been some rumours of such a model, although not too frequently, although it's unknown to what price point it'd set.
https://www.macrumors.com/2021/03/01/fan-favorite-power-mac-...
I imagine they will release a Mac Mini (Pro) at some point with the same M1 Pro/Max internals at the new MacBook Pro, except inside a desktop computer. There's no doubt that it'd be beefier, but it might lack some of the Mac Pro features such as internal expandability (although it's still a question mark as to how internal expandability will work when the Mac Pro becomes an ARM machine).
As for the MacPro, my guess is Apple will keep the chip count to one, but add more performance cores while moving some accelerators outside the CPU package. Video encoders/decoders aren't as bandwidth-hungry as GPUs.
Didn't the bosses at Microsoft recently[1] nerf an already-implemented free/community .Net feature (edit: Hot Reload) so it could be a Visual Studio exclusive? Yes, they reversed course after a getting blowback, but I don't think your assumption about bosses championing for (all) customers is correct.
1. https://www.theverge.com/2021/10/22/22740701/microsoft-dotne...
2. https://www.thurrott.com/dev/258605/microsoft-backs-down-fro...
Its the best of all worlds. The only friction now is that Microsoft has been making the UX for Windows gradually worse with every patch in Win10. Some of it got better in Win11. If I could get a Win7-esque UX, but with the features of recent versions and with WSL2, it would be the perfect OS for me.
Now instead I bounce between all 3.
I suppose that's a long-winded way of saying that running Windows on a laptop is just way more practical for me. But I do all of my development on a workstation.
I liked the keyboards that came before the Magic Keyboard line (the one you mention on the early Intel). OTOH, I also liked the butterfly (shame it's so unreliable), so it may be that the short travel of the Magic ones is mitigated by the good tactile feedback of the butterfly.
> To get a laptop with decent key travel, I usually end up with a Lenovo
That's true. Unfortunately, around here (Ireland), the intersection of good keyboard feel, US ANSI layout, and no deliberately Linux-hostile dGPU (looking at you, Nvidia) is a very small set.
This is kind of why I asked - there is nothing in Windows that calls my attention in a "Oh wow! This is good!" way. Quite the contrary - the upper crust of Windows 10 is polished, but every now and then I see dialogs that render text differently, with different widgets that don't quite work the same way as the rest. It's a bit like running xedit on a Gnome desktop.
1. The Linux kernel virtually enforces all drivers will be upstreamed into the kernel itself. That means that if I want new drivers, I need to update my kernel. If that leads to other things breaking (perhaps even other drivers), that's going to annoy me greatly. On Windows, I can update each driver in isolation.
2. The Linux ecosystem heavily favors centralized updating. If there's a critical security update for systemd (and let's face it, when is there not), I have to pick it out of a huge list of software updates for software I barely use. I rarely use Firefox and yet, when there's a critical system update, I have to expressly un-check the box or I'm in for a big Firefox update.
3. Most distros have a manual, "nag-based" update model, while I prefer the system to intelligently auto-update for me, during off-peak hours. I mostly use modern software which saves to the cloud, so if my PC reboots to install the latest Windows updates in the middle of the night, it's not a big deal. All of my browser tabs are still open, my AutoCAD files are auto-saved, etc.
4. It's very difficult to figure out if specific hardware will support Linux until you buy it. Obviously, Nvidia is a no-no. But even certain Asus gaming motherboards will have wifi issues depending on which sub-model you pick. Often someone says that a piece of hardware works, but they didn't notice slow wifi or something, but I will.
5. I like the power of money. By being a paying customer, I know that companies are competing to make a good product for my purposes. The Linux community heavily favors open-source software, so there's no profit in porting software to Linux. I realize I'm in the minority on this, but what can I do other than stick with Windows and Mac?
- Linux - love this system (command line especially), but it tends to have some weird issues from time to time that I need to handle, also doesn't have that great app support that I would have (also: games)
- OSX - for some time I've been in love with this OS, but then something happened in my mindset and its close nature and customization boundaries makes me hate it. Also lack of gaming is bad for me.
- Windows - until WSL happened I wouldn't even consider using it full time. But since we've got it I'm in love - can use my beloved terminal, apps and games. I've also bought a Surface Book 2 device that I've fell in love with (design, performance (at least for my needs), keyboard etc.)
The window manager in osx is just terrible for me, resizing and laying out windows is awful compared to Windows in my experience.
The 4 finger swipe thing is great, but Windows has that now as well, and recent Linux desktops.
I like the flat square design of win 10, I love how well wsl2 works, I love how easy my complex multi monitor setup is to configure, and how great the auto window layout stuff works across monitors and then also works when I unplug and carry the laptop away.
99% of the development I do is for Linux, it's vastly superior for hosting web servers, etc...
But for a productive and enjoyable desktop experience, nothing beats Windows.
(I also do a lot of development on mac M1 - super fast nice little machine, but the window manager is still sub par for me).
I ran Windows -> Hackintosh for 2yrs (until it exploded after an update) -> Linux for 2yrs (until it exploded because of NVIDIA drivers ruining my stability) -> back to Windows after they released WSL2.
Without specifying some boot parameters I can't even boot an installation USB stick on Linux, there are some mode settings issues or something like that. And while that is fixable I couldn't get fractional scaling to work well on Linux, and I absolutely need that with my new display.
I would like to use Linux more, but I'm not very motivated to play around with hardware issues. This obviously can vary a lot depending on the exact hardware you use.
Would be worth mentioning the specific model so that a) we can avoid buying it and b) maybe shame the manufacturer into fixing it.
But on all my laptops, I find things to just be to much of a PITA. Eg: hibernate, is way too buggy to depend on. Half the time something prevents hibernate, and my laptop is dead and/or over heated when I pull it out of my bag. The other half the time everything is bugged out when it comes out of hibernate.
I found that when I'm traveling, I'm happier with a very underpowered laptop, which has great battery life. I don't even use wsl. GitHub codespaces has been working well enough.
MS Office also to a degree, it wouldn't be a deal-breaker if the rest of the company wasn't also using MS Office (I've never purchased it for personal use), but the MS Office experience tends to be more polished, especially if you are dealing with documents originally written for MS Office.
The way you shift windows around on two seperate 27" monitors is vastly inferior without multiple widgets is vastly inferior to the other two.
I actually would have to spend far, far more time having to customise OSX when I start up at a new place on contract now WSL has landed.
WSL also serves a very important purpose in corporate IT.
You just don't always get a choice, company often only supports one OS. WSL helps a ton with pain points related to VM provisioning in a "no OSX" shop.
As for Linux, it's terrible for anything else besides programming. Lack or low quality software and generally stuff just not working.
Or, to pull it back another level: every business uses Windows. Those are our customers.
1. In fairness, it was my first paid job and I didn't know what I was doing, but it worked(tm)
As a business I work with clients that run Windows for their own reasons I have no control over. I've found it easiest to develop on Windows for those clients and I welcome the option to have easy access to some tools I like via WSL2.
Linux has point blank bad hardware support and UI/UX and missing parts of software here and there.
Windows is just working out of box on almost any hardware.