I agree with ~ew on the value of tiling window managers. I've used them everyday for probably 16 years or more now. I started with StumpWM (Common Lisp) and later moved to XMonad (Haskell). However, since I'm such a heavy Emacs user, it was always pretty frustrating for me to have to constantly context switch between XMonad keybindings for controlling the desktop windows and Emacs keybindings for controlling Emacs windows. Then I discovered the holy grail of tiling window managers (for me anyway): EXWM, the Emacs X Window Manager. I've been using this as my daily driver for almost a decade now, and I absolutely love it. My desktop basically boots into multi-monitor, full screen Emacs. There's just one set of keybindings (because Emacs is already a tiling window manager by itself), and the EXWM package allows me to open arbitrary X applications (like Firefox or QGIS) in Emacs windows. Problem solved.