I use a Linux distro with kde, so I have a lot of customization available. I like trying other distros in VMs, but stuff like windows (no need to copy really kde is similar by default) and Mac is a pain in the ass to use that way. so, I want to know what your os does that you think I should copy using kde's customization. I'm looking for Mac in particular (bc I haven't used it before) but any OS or desktop environment is fair game.
super+u shows a wofi menu allowing me to fuzzy find a credential from my password manager and copy its username
super+p same thing but for passwords
super+o same thing but for TOTP codes
super+t allows me to select an area of the screen, take a screenshot, run it through OCR, translate it to English via the deepl API, and then pop up the result as a desktop notification and also copy it to the clipboard. (I’m not fluent in the language of the country I live in)
”lock” and „request” based suspend management, so my backup scripts or other long running jobs can keep the computer from sleeping until they are done.
Grim, slurp, tesseract, and apparently the deepl SDK for Ruby? That was an interesting choice, younger me.
#! /bin/zsh
# Select an area of the screen, Screenhot, OCR, and translate it to english.
temp_image=$(mktemp --suffix '.png')
grim -g "$(slurp)" "$temp_image"
# DPI of 120 seems to work OK for screenshots.
source_text=$(tesseract "$temp_image" - --dpi 120 -l pol+deu)
translated_text=$(~/scripts/translate "$source_text")
wl-copy $translated_text
notify-send 'Translation: ' "$translated_text" --expire-time=60000 --category 'translation'
rm $temp_image
if you ever feel like trying it, Linux is easy to try in a virtual machine or on real hardware (do not install it to your main machine when you first try it except in a vm, which does not change your system). I'd recommend trying fedora workstation and fedora kde because they are decent examples of the best two desktop environments. mint exists as well, but I personally wouldn't recommend it. btw, there is no "best" distro, just find one that works for you and ignore the tribalism.
Caps Lock remapped to compose. Much more useful, especially for those of us who sometimes need to type "other" letters, but prefer US dvorak keyboard layout.
While I agree with the general premise that Caps Lock is in a terrible place on standard US English keyboards -- that's prime real estate and people just don't use it that much -- I swap Caps Lock and Control and have Menu remapped to Compose. If you're typing in English, you're gonna use Control a lot more than Compose. If you use emacs, that's doubly true. And that's about where Compose has been on some keyboards.
Basically, hitting compose causes the next two keystrokes to "combine". For example, / + o = ø, as well as the other letters that are useful to us with extra letters in the alphabet. In addition to that it provides a myriad of other characters such as copyright, trademark, just to name a few.
Yes, love the compose key. My native language (Dutch) uses accents occasionally, but typing on a regular Dutch layout with dead keys is awful, especially as a software dev who uses loose quotes a lot.
It's also great for symbols. No more ddg'ing "euro symbol" and copying from Wikipedia, just type compose, e, =.
Also, noggie keyboard is alright for normal typing, but once you get into more geeky computery, some characters are awfully placed. ' " / { > just to name a few. That's why I started using US layout to begin with, and I later migrated to YS Dvorak because I'm that guy (PS: You should totally switch to Dvorak, bro)
On Linux Mint I can resize windows by hitting super+z, close windows with super+c, and move them around with super+left drag. There are others too, but I use these constantly. I was worried when I switched from Windows that I'd lose my shortcuts, but it turned out that there even more options on Mint.
I used to quite like the Unity desktop for all its quirks and how the panel would merge with maximised title bars. I do that with KDE Plasma, a global menu, active window controls, and a bunch of command output widgets for CPU usage and things like that. libadwaita-without-adwaita and gtk3-classic help to theme the stuff Gnome tries to force the look and feel of to be consistent with everything else. Another tweak that I have grown accustomed to is editing the Firefox userchrome.css. It means I can even make that fit in with every other application too. Search Github and you will find loads.
Fullscreen or maximized windows always are -1 px on the right of the screen.
My cursor rests on the right of the screen so that a swipe changes workspaces and a right click opens a dropdown-launcher to navigate to apps not used frequently.
It is gnome, but https://aylur.github.io/astal/showcases/ is pretty awesome if you've done any React development. Pretty much coded up my own desktop environment with typescript and tsx for layout stuff. Lot's of fun widgets.
Note that I use nixos so pretty much everything is hand picked instead of a prebuilt ready to go environment. Hyprland for the basic desktop, Astal for my desktop shell with widgets, toolbars, etc.
Pretty snappy. All the gnome APIs are written in C. It doesn't run on node, it runs on gnome-javascript (gjs) which exposes all the C APIs through JavaScript. If you use the Astal wrappers its pretty painless but using the gnome APIs directly in gjs is a little weird since you have to consider things like memory management.
kde kinda just comes like that, taskbar and important apps (system stuff, browser, etc.) only. I've added some stuff but only things I use or anticipate using.
I meant more like not taking up shit tons of hard drive space, memory, or CPU, not having a billion dependencies, starting instantaneously, low cognitive load, etc.
It was kindof a sarcastic dig at KDE. I deserve downvotes.
I have a manual screen-lock key combination. I have DPMS (auto power off when idle) on the monitor disabled when it's unlocked and set to a short period when it's locked. Powers on when I'm typing to unlock.
I haven't touched KDE for a long time, but last I did, I believe that it was a stacking system. Back when I used a stacking window manager, I had the fourth mouse button set up to act as a "drag window" button. Could click anywhere on the window. I did like that.
I have a key combination set up to open a terminal with tmux with a shell, a web browser, and one of those dmenu text-based launcher clones (can't remember which). Those are the things that I most frequently want access to.
I currently hide the status bar unless the Super key is held down. I'm not completely sure that this is the right way to go -- it does mean that any important stuff needs to notify the user via the notification manager system. But it does provide a maximum of usable screen space.
No animations. They delay the time taken until what I just did is visually complete.
I have multiple numbered workspaces. I hit Super-q and then a number to jump to them, Super-c and then a number to move the focused window to one, and Super-1 and Super-2 to cycle forward and backward through them. There weren't chosen to be mnemonic, but convenient to reach, as they're operations that I do a fair bit.
Background is just a flat color (low-saturation medium blue, so not super-high contrast). I use sway, a tiling compositor, so I rarely see the background, so your mileage may vary. That being said, I started doing that years before I started using tiling. Background images were just more visual noise for me.
Killed window decorations (titlebar, close button, etc). This may not be reasonable for a stacking environment. They eat screen space and don't display anything very useful. I use a tiling environment, so resizing and dragging isn't necessary. I have a key combination to kill the currently-focused window, so I don't need a close box. I don't minimize windows -- I do switch workspaces, which has some functional overlap -- so I don't need controls for that.
I have my mouse pointer auto-hide systemwide if I'm not moving the mouse or clicking its buttons for a few seconds.
I have a keystroke (Super-`) to dismiss notification manager messages from the keyboard. This may be the norm in desktop environments -- I haven't played with them since before notification managers were a thing.
The one thing that I'd kind of like to do that I don't currently is to have a toroidal workspace model. Someone's done this for emacs with buffer switching, which is where I saw it and thought "wow, that's an excellent idea", but it hasn't been done for sway workspaces. Basically, normally you have a "ring" of workspaces that you can cycle through. I'd like to have a "ring of rings" (which in 3D, is a torus), since I normally I'm working on one project and have several workspaces (usually 1-4) associated with that project. I'd like to have a "ring" for each project, with different keystrokes to switch projects and switch workspaces within those projects. Sway probably could support that with just scripting, no core modifications, but I haven't gotten around to it.
I use Easy Effects to normalise volume so that I don't have to adjust the volume so often when watching YouTube videos and stuff. Just google for a preset.
Only downside is you'll have to make exceptions for real time communication apps like Discord because they crackle. But everything else is perfect without any noticeable lag.
One more: super + q to change cooling/cpu/gpu schema. Quick way of swapping between "nice and quiet under the couch laptop, streaming to the TV" and "ultra-hurricane GeForce 8000 cataclysm gaming-mode for playing Tetris", or when I want something in between and/or portable.
well my distro (tuxedo os) is mostly rolling release except for the Ubuntu base, but I haven't really looked into it's documentation. generally if I need documentation the Ubuntu stuff works (obviously because it's Ubuntu based).
I made a launcher inspired initially by kde's krunner, tries to do everything with a launcher, keeps the keyboard shortcuts to minimum, but having almost everything within a few keystrokes. Most things are os/de/wm agnostic. Since the write up, I have added a bluetooth device selector, network connections, vpns, and more stuff.
it is not really "code" - it is a fancy shell script stringing a launcher like thing (if you have seen people use dmenu or rofi to launch applications and make menus, it is just that, but repurposed to do more). I just realised i forgot to add link the article (the said write up in the original comment) https://sga.codeberg.page/articles/Launcher/Launcher_for_Everything.html. Since then I have made many changes, and here is the script
Although I was actually considering a rust rewrite, because I am learning it, and 150ms is way to long for me
A scrolling tiling window manager.
When you open one window, it's full screen, no title bar or window decorations.
When you open another one, they're tiled side by side.
When you open a third one, it extends the desktop and you can scroll horizontally between your windows with the mouse, touchpad or key combo. This can go as wide as you want (or vertically, if you prefer).
I'm an older (in my 50s) macOS and Mint/Cinnamon user but I also know after testing it I would love to use KDE (it's a great DE) if it was not for its billion of settings one needs to navigate through in order to turn off the many visual effects and whatever I don't need that are activated by default, and the few things I need to activate that aren't ;)
Not sure when you last tried KDE, but recently with the update to KDE 6 the settings got reorganised. It's still not great, but a lot better than it was.
Also, iirc, a lot of the visual effects settings are in one panel, though I can't remember what it's called right now.
the settings could definitely use some reorganization. the fact that it's searchable helps but you can definitely tell a lot of that layout predates the current function of some of the settings.
I've looked at that, but I decided against it because I prefer to have apps not allowed to have focus unless I choose them. I also keep kde's focus stealing prevention on medium.
I don't have anything I could back up to rn bc dorms, but setting up something like that is definitely in the plans and the way kde's built in backup stuff works it should be pretty easy when I get around to it.