macOS is my favourite operating system. Finder in column view with arrow keys to navigate, combined with space for file preview, is incredibly fast and intuitive. Trackpad integration also results in less hand movement. I’m building a Linux (Bazzite) desktop, though, and I’ve set my sights on the stars.
nnn looks to be an incredible file manager, and was a great recommendation. It looks even more capable than Finder, albeit without scrolling/zooming previews, thanks to macOS having unmatched trackpad functionality. Not to mention Spotlight, which makes opening apps trivial–especially with Alfred available as well. I want to go beyond mere file management, though.
File managenent, browsing, gaming, everything. Just how much can you configure a Linux system to eliminate mouse usage? Shortcut guides welcome (I already know the major ones). I also have a keen interest in tiling window managers, but I’ve not delved that deep yet. I don’t know how to set one up.
Guess I’m forced to learn Emacs/Vim/similar.
Step 1: open a terminal emulator of your choice. There’s no step 2 because you are already done. All features, 0 dependency on your mouse.
You’re welcome :)
“If you wish to make an apple pie from scratch, you must first invent the universe.”
You could use terminal for everything, but first you must learn to use terminal.
Even better, after your machine boots up, press ctrl+alt+F(3-6) to access TTY sessions and then there is no mouse at all. Plenty of TUI apps work just fine here too.
Don’t install a GUI and you can just skip this step
Difference being you can still do things like launch steam games as long as you have a DE installed even if you’re using TTY primarily.
I was mostly being tongue in cheek, but I think it might be possible to launch steam in big picture mode, rendered by Gamescope, from the TUI. No DE required.
Oooh fascinating! I’m gonna have to try that myself. Bring us back to DOS days of computing.
Yes this works but not with flatpak steam unfortunately.
Unfortunately there is often a use case for mouse that is hardly doable without, such as nondestructive video editing or image editing. I even use the mouse in Vim. Why is there this obsession not to touch the mouse??
Some people just don’t want to move their hands off the keyboard, it can be an incredibly productive workflow if you’re used to it.
My point is, it depends on the workflow and the tools. Try editing complex images with keyboard alone with GIMP or Inkscape. I’m a Vim user and used tiling window managers for years, so I know exactly what you mean with keyboard centric workflow being productive. But sometimes ignoring the mouse can make the workflow harder, not easier. Off course it always depends on what you actually do.
Edit: Guess I answered my … question (even though it wasn’t a question). Never mind.
It sounds like OP wants a “mouseless except for gaming” setup, no mention of image or video editing. Sounds like the slippery slope into ergo-mechs tbh
To achieve this you will need a tiling window manager like Sway, Hyprland, or i3 and try to use as many CLI-based programs as possible for everything else. For browsers, there are projects like Nyxt (and some others I can’t remember) that allow you to use vim or emacs like shortcuts to browse around.
However most GUI apps probably won’t support an all-keyboard workflow so you will still need one. Depending on what software you use, however, you could make the vast majority of your regular computing mouse-free
Additional browser option: https://www.qutebrowser.org/
luakit works similarly too
I use a firefox plugin on librewolf and i3 (since qubes doesnt support wayland). Mostly works but still some things that require mouse for other gui applications.
How is QubesOS these days?
A lot of fucking around getting it set up in a way i like. Modifying dom0 scripts live, injecting python themes to get dark mode in the qube manager, fucking around compiling dubious drivers from source and installing them in dom0, fuckig around with getting windows to behave itself (havnt got it working but i just have a drive partition i pass back and forth to tranfer data). Other than that its pretty good. I3 is a godsend for efficiency, have got ctr+shift+c/v as muscle memory now.
Am currently fucking around with getting split backend for keepass so i can use the keepassxc browser plugin and have it then requesting access to the keepass backend in a seperate qube. Got it working in 1 qube manually. Currently having systemd kicking my ass over a ncat socket in /run/user/1000/app/org.keepassxc… that doesnt exist untill the browser extension tries to access it but thats well after boot so systemd has already crashed the service.
Overall having lots of fun tinkering. And god do i love the ability to just blow up my os whenever i feel like it. I can sudo rm -rf / --no-preserve-root whenever i feel like it and my system is fine.
Nice to see what a power user can do with it. What hardware are you using and are you happy with the performance?
Im on a framwork 16 with the cheaper amd cpu, 64gb ram, no dedicated gpu yet tho waiting till that matures a bit (so i can run large llms locally) before i buy one. Performance is great especially with amd since they tend to have many cores. Most things require very little resources and those that dont i can just passthrough more resources. Once uve eaten the virtualization overhead (its surprisingly little) and the multiple instances of linux overhead (also minimal nowdays) the performance is pretty much no different from bare metal u just gotta pass through more resources where u need em (gaming/coding/cad qubes etc).
Qubes is pretty smart ie i can give a qube basicly no initial memory (as long as its enough to fit all monitors worth of pixels in memory) and then give it a large max memory allocation and it will only use what it needs it wont use the entire allocation if it doesnt need it. Same as disk everything (unless u configure otherwise) is a thin volume so u can allocated more storage to a vm than u even have available to the system as a whole.
Btw got split password managment working. God i hate systemd.
Thanks. Once I have a dedicated spare machine again I’ll give it a spin. Haven’t used it in many years.
I did mention tiling managers already. Other comment has me interested in NixOS, and I think I’ll be changing my plans to account for both. It’s a nerdier setup now, RIP Bazzite.
I love Mullvad browser, though. It’s a great “peace of mind” browser. I’ll stick with it for now, but I will be looking into Nyxt. Might take a while.
Thank you!
I would strongly recommend not to dive into NixOS yet.
It has its benefits and I think it’s awesome, but it has a bit of a learning curve and you already have plenty of learning to do with going mouseless and the whole interface stuff. You do not want to deal withbreakages in unstable NixOS, or broken Nvidia drivers in stable.
If Bazzite’s immutability is holding you back, just switch to another distro you are familiar with: Be that Fedora, Ubuntu, Debian, openSUSE, whatever.
Hyprland is the most complete and configurable tiling window manager today, so definitely start with that. You can install it in any Linux distro.
I have Arch familiarity already, and I’ll use it if all else fails. I’ll read into NixOS beforehand and decide, but I am a quick and determined learner. I want to expand my experience with this build. Won’t do anything stupid–promise!
I’d like to argue the other way: jump into whatever you find interesting and do stupid shit.
Unless this is a computer that your job relies on or whatever, then it doesn’t matter how much shit you break, as long as you’re learning what to not do next time.
It’s pretty much how everyone who is all ‘oh no! be very careful and take small steps!’ started, but they’ve just forgotten about having done that.
(I’ve broken so much shit both personally and professionally, but it just served to make me less stupid in the future. Or uh, at least unlikely to do the same stupid thing twice.)
I’m more of a fan of
:(){ :|:& };:
personally.(don’t run that unless you want to crash your shit)
Arch with i3/sway is what I’d recommend then. NixOS seems really cool, but I’ve heard it’s very difficult. Also it’s going to be much easier to test stuff out on Arch, then once you have a full setup you like, you could try Nix.
I’d recommend Neovim too, with some nice extensions. That’s what I’d start with, and you can start on MacOS. I wouldn’t feel at home in the terminal without it, and I think you’ll really want it for setting up everything else. I’d almost say that vim or emacs is a prerequisite for something like NixOS.
Between vim and a tiling wm, you’re going to have enough of a learning curve to start, I think.
Just avoid Nvidia to start with?
I am–I’ve gone with a Radeon 7900 XTX.
Damn, nice. That’s the card I keep telling myself I should upgrade to. I have a 5700 XT and I really like it but I kinda want something newer with more power
The build is comedy.
Ryzen 9 9950X
Radeon 7900 XTX
4TB SSD
64GB RAM
4k120hz TV. That’s something I didn’t mention–this is a living room build. The ultimate infodumping experience.
It’s important to note my current system is a MacBook (emulating retro), and a PS5/Steam Deck. My PC at work is an old desktop running Arch (I experiment in my free time). This is why I’m doing a build. If your card is only just starting to fall behind, I’d wait until next generation. It’ll save you in the long run, which I think matters more than anything.
Ooohh nice. That’s a beast of a system. Although mine isn’t a slouch it doesn’t quite compare to that. I have a 7950X, 10TB of total NVMe but with raid it’s only 5TB, 64GB of ram…and my 5700 XT.
I spent about a year in NixOS, and my main desktop still has it, though mostly out of laziness. I did end up switching back to Arch, mostly because if there’s anything you need that isn’t in the Nix repos it’s a pain to install. The other big issue I had was the lack of documentation, so you’ll be figuring a lot of stuff out completely on your own, because Nix works differently enough to everything else that a lot of general Linux resources just don’t apply.
If I had a recommendation for switching to nixos, I’d probably say use the Nix package manager on Arch for a while first, and just slowly switch everything to Arch. It’ll get you more familiar with everything, and then you can make the switch more easily.
Last I checked there’s a vim-ifying Firefox addon, don’t know if it’s maintained though
There is Tridactyl for Firefox, which let’s you use Firefox sithout a mouse and is actively developed.
In the Linux world we have this great training routine called broken updates that forces users to regularly rediscover the magic of text mode. If you’re lucky enough to run a specialized graphics card you get to experience this almost every update.
We have a similar program for training users how to cope without WiFi.
Not anymore if you run an immutable system
Lol on nixos I’ve broken my gui twice so far. Keeping old configurations is nice but I learned the hard way that I should have been keeping copies of my configuration.nix
I haven’t tried any ostree based distros yet.
Use git if you’re not already and you can easily roll back and forward and have feature branches for experimental stuff.
You can always break your GUI yourself, but I was talking about updates breaking it.
Ah yes that makes sense. I was changing things in the name of “upgrades”, not updates after all.
Don’t run a window manager and you don’t need a mouse at all. No problem.
Just don’t start X and your problem is solved.
So true, now how do I play Monster Hunter
On your Steam Deck?
Then what was the point of building the gaming rig–
It’s good practice!
$3,000 practice and I cannot afford weed anymore to cope
deleted by creator
It’s really easy to go mouseless on Linux/Unix. Just use as many TUI programs as possible since none of them will be mouse-oriented.
Also check out this list: https://github.com/erikw/vim-keybindings-everywhere-the-ultimate-list
A lot of people (myself included) like vim keybindings and want them in other programs, and of course using vim keybindings is inherently mouseless.
Off the top of my head, some software I use:
- river as my wayland compositor
- lf for a file browser
- imv for an image viewer
- Librewolf with Vimium-C to browse the web
- mpd + ncmpcpp for listening to music (you can also use cmus if you don’t want to use mpd)
I don’t use them, but you can also use something like Mutt, Neomutt, or Aerc for an email client, and use CLI bittorrent clients and password managers.
LibreWolf with Vimium-C? Could I do this with Mullvad?
EDIT: Upon second thought, I feel like this might be very easily identifiable, and break the entire purpose of Mullvad
Yes, exactly, installing additional add-ons for Mullvad browser (except noscript) defeats the purpose. I also find it annoying whenever I have to use Tor Browser or Mullvad Browser because I have to use the mouse.
I use Librewolf for my “normal”/fingerprintable/non-anonymous browsing, but I still try to reduce fingerprintability (don’t have too many add-ons installed, RFP is on ofc, I have letterboxing etc).
To be fair, if you want to reduce fingerprintability but still browse the web with just your keyboard, the TUI web browsers could work. Obviously they’re pretty uncommon, but I imagine you’d look like any other user of lynx/w3m/etc. So you’d be quite unique but I’m not sure if you’d be distinguishable from other users of the same browser.
Completely, if you look at tiling window managers.
If you’re a gnome user check out PaperWM as well as Search Light (which is like Spotlight or whatever its called on Mac).
And Vim really is that good. I started using it a few years back and I can’t imagine using anything else. There’s a bunch of Vim alternatives, like Helix or NeoVim if you want to explore.
Lot of great recommendations so far, but I will mention some of my favourites in case they were missed in the other comments:
hyprland
for a Wayland compositor / window manager, so you can easily set up keybinds for whatever you want,rofi
for launching programs (and much more, I even maderofi-games
so I can launch all my games from one place), andyazi
for the file manager (use a lot of TUIs in general though).You CAN go more extreme with the no mouse journey by using something like
qutebrowser
as your browser but I just use Firefox/librewolf withvimium c
and find that’s good enough for me.You can launch steam games from terminal pretty easily.
Browsing can be done with Vimium on Firefox.
Just tackle the times you touch your mouse one issue at a time and you could try putting the mouse in a different room to create a small barrier between you and using it.
XMonad would make that exceptionally easy. If you want to try it, I’d recommend doing it on NixOS and just forking a working config that uses a tiling window manager. This is a great config that I used as the foundation for my own: https://github.com/gvolpe/nix-config
Until a port to Wayland is made, I would avoid using this DE. X.Org is unmaintained legacy software. Maybe Sway would work as a replacement?
You’re right, and it’s such a bummer that Waymonad isn’t a thing. No other window manager or DE comes close to XMonad for me. i3/Sway are way off, IMO.
They’re working on Waymonad as we speak.
If OP didn’t notice, the config I linked also has a Hyprland option. Personally, I’m sticking to Xmonad until Waymonad is ready. Nothing comes close.
ps. I decided to start a sister community to my XMonad one for Waymonad. I will try to post updates there whenever possible.
That’s great! Last I checked, Waymonad was stalled indefinitely, so this is reassuring.
Should I just forego Bazzite entirely? NixOS seems fun. Might require more setup on the gaming end, but I’d like more UX freedom.
I’d go Hyprland if you’re looking for something similar to Xmonad for Wayland. It isn’t formally verified like Xmonad is, though.
For games, use Steam and Lutris Flatpaks. Should make it pretty simple.
Where? Have a link?
Very, I only really use my mouse for playing video games at this point. You don’t really NEED to use Emacs/Vim/etc, but they do help a lot. Ranger (file manager), cmus (music player), qutebrowser (web browser, full featured unlike Lynx, which I do still like, but I use eww in place of it most of the time), etc, etc. Tons of stuff that can make your setup far, far less mouse dependent. Starting with learning the terminal, then using a twm is how I got to the point where I am now where all non-necessary mouse functions are replaced by keyboard keys. Just note that it did take about ten years to get here, though that wasn’t me actively searching for ways to do it, more just naturally making my computer work how I wanted it to without the specific end-goal of zero mouse usage.
Edit: Forgot to include that I did most of this before learning Emacs at all. I’ve used nano for most of my time on Linux, only switching to Emacs last August. Only thing I didn’t have before that was cmus. It also works as an email client, but ehh… I don’t feel a strong need to switch away from Thunderbird at this point in time.
One of the early window managers was called Rat poison for this very reason.
As you’re doing a bazzite build, it’ll come with KDE/GS connect so you can use your phone.
We don’t have a window manager in the Ublue space yet other than community images, but fedora atomic offers a sway spin, it won’t be bazzite, but it’ll run games just as well for the most part.
Way back when we didn’t have X we just lived in the CLI console, text mode, no bitmap buffer. Then, when X came up you used the rodent to point at xterm windows. If you’re used to OS X, wait, MacOS, you’re going to try recreating equivalent functionality on Linux, which seems a lot of work. Have you looked into adding a trackpad?
I have done a lot to make my environment nearly 100% mouseless. The only exception is gaming. You just need a mouse for most modern gaming.
That said, it requires a large amount of personal customization. If you edit files/code, look into Vim/Neovim. Heck, just learn Vim Key bindings. Sorry, not sorry, it’s worth it.
Install vimium in your browser so you don’t have to use a mouse nearly at all while browsing the internet. Learn how to use it.
IMHO a tiling window manager is a must if you want to make your setup as keyboard centric as possible. i3 is a good starter. I currently use BSPWM, but there’s quite a few to choose from, and they all are roughly the same once you have your keyboard shortcuts in place. Make sure to combine it with an application launcher like dmenu or rofi. If you need a status bar like i3bar, use one (I personally go without).
Get very very familiar with the terminal. You’ll know you’re down the rabbit hole far enough when you can connect and troubleshoot a WiFi/Ethernet connection without using the mouse. Imho, you don’t really need a file manager, though it’s nice to have. I do have one on hand just in case, but just a terminal and the good ol’
ls
command is good enough for me.Also look into ortholinear keyboards (acronym is OLKB) if you truly want to fly. Pricy investment, but your hands will thank you later, and once you are comfortable with that, the combination of an OLKB with a tiling window manager WILL make you fast.
I became obsessed with foregoing the mouse from 99% of my day to day use of my computer a couple of years ago and it is very very satisfying. Learning curve is high. But IMHO totally worth it.
The only exception is gaming. You just need a mouse for most modern gaming.
See gyroaim
Can you provide a link? I just see what appears to be a standard game console controller with a touchpad? Maybe I’m not looking at the right device…
I have a confession. I was strongly considering making a Colemak or Workman keyboard. If there was ever a best way to do it, it would likely be with an ortholinear keyboard on my intended desktop. Might have to now?
This might be a controversial opinion, but I would stick with the QWERTY layout. There’s already a lot of cognitive overhead learning things like tiling window managers and Vim key bindings that I don’t think that switching up the keyboard layout is really worth it. What affects typing speed most, imho, is muscle memory, speed of thought, and lastly finger reach. Ortholinear keyboards help a lot with that last aspect, and there’s differing opinions on what is best.
I think a good place to start is learning to use the Preionic 60% or the Plank 40%. Keep the QWERTY layout, but memorize how to access symbols (and on the 40% numbers) using the additional layer keys.
You can think of layer keys like extra shift keys near the space bar that change not just to capital letters, but also numbers and symbols, that’s why you can get away with significantly less keys on the keyboard, and gain much faster reach of your fingers once you memorize these other layouts.
The order I would go is:
-
Learn Vim/Vimium on a regular keyboard. Learn how to use the terminal to do as many everyday tasks as you can.
-
Customize and learn to use a tiling window manager on a regular keyboard.
-
Buy, build, and learn to use an ortholinear keyboard with the tiling window manager.
After you’re comfortable with that, you can consider installing the different layouts like COLEMAK onto your ortho and try that out. But honestly I don’t think this last step is necessary. Instead I’d start to look at other ortho keyboards you might like more than the preionic or plank.
I now use the ZSA Voyager. My friend enjoys using a custom ortho with a curved surface for ergonomics. And there are typing devices called DataHands that basically completely upend the way one thinks about typing. Its a whole world. Good luck.
-
As others have suggested, getting more familiar with the terminal and using a tiling window manager will help a lot. And yeah it’s a great idea to learn Vim or other advanced terminal editors. I use Helix+Zellij for development, Vim for system configuration, and i3 or Sway for GUI stuff. Also check out w3m for simple web searches.
If you want to get rid of the mouse entirely, you can also try using a programmable keyboard with mouse support. I don’t use a physical mouse anymore because I do most things in the terminal, and when I do need a mouse I just use my keyboard to move the cursor. For super mouse-heavy tasks like image editing it’s good to keep one around or use a Wacom tablet
Coming at this from an accessibility… is there any reason the tab, arrow, scape, escape and enter keys would not suffice?
Is it about efficiency? Are Linux GUI apps not expected to be keyboard-only accessible by default?
Yes, but keyboard-only is not the “top priority”, now that everyone has a mouse, and everyone uses a GUI.
I’m on KDE Plasma. Dolphin is the file manager. F2 to rename. No shortcut to move selected files to a new folder, so I use the arrow keys, and that little key next to right Ctrl that I can guarantee you’ve never pressed. Eventually, the workflow breaks (when I have to go back to the web browser), if it wasn’t already clear that this isn’t how Dolphin was designed to be used.
I’m not necessarily trying to outright kill the mouse, but I’d like to keep to a workflow going when I’m using it–hence, why I’d need a fundamentally different setup. If I’m keyboard only for a portion of some task, I’d like to keep to that for other portions, if at all possible. It’s just faster and more consistent.
So, I’ve come for recommendations on software. I’ve already seen quite a few suggestions that I’ve never heard of, and I’ll be trying a lot of it.
KDE has a huge amount amount of configurable keyboard shortcuts, even many that are not assigned by default. Check out the keyboard shortcuts settings in each app, and in KDE Plasma Settings app.
For moving selected files in Dolphin (and any other file browser) I’ve always just used Ctrl+X Ctrl+V.
(Btw sounds like you’re talking about the “context menu” button, and it’s my personal pet peeve that this button is missing from many modern keyboards and laptops. On older Windows you used to be able to do Shift+F10 to get the context menu , but that doesn’t work anymore so my main use for the mouse is right-clicking…)
OK, tiling window managers are neat and so are TUIs, but web pages are also supposed to work with keyboard only. On Windows, F6 will jump between different panels in an application - give that a try.
The key you’re talking about is the menu key, by the way.
Using a modern OS and the modern web with the keyboard only is essentially a solved problem, not only motivated by efficiency, but also to allow access to people with motor disabilities.