I know that I am going to generate hate for this one, but I have left my Hyprland tiling window manager for the pastures of Gnome. I’ll give you a few moments for everyone to post their hate comments below.
Alright, now that that is done with, let’s get into my rationale for why I hopped off the customization train.
I built out a Zen workstation earlier this year which was an integrated environment with hyprland, waybar, rofi, kitty terminal, and all the CLI’s and TUI’s one could think of.
I liked it, and the workflow is one that is professionally used by various developers in. However, I learned after posting my Why I Left Emacs video how much I had left on the table by swapping out emacs for neovim, and saw an opportunity to build out a completely OS agnostic workflow with emacs as the program I spend 90% of my time in. In tandem with firefox and some video/audio editing software, my computing can essentially be handled in this workflow, so I started to ask if I wanted to maintain the configuration of my tiling window management system.
Gnome has been fairly intuitive and easy to use in the past, so I figured I should give it another look. It has always been the “back up” DE on every single linux installation I have made in the last 5 years, simply because I can hop into it, connect to some wayward wifi network that I couldn’t in my esoteric WM, and it just worked.
So, I clicked on “Gnome” in GDM, and threw myself into it.
A few weeks later, I think I have a workflow that is essentially comparable to my hyprland one, with some enhancements that gnome has as defaults, and I really don’t see myself returning.
Let’s talk about it.
Integration #
My battery lasts about 2x longer than it was lasting in Hyprland. This is probably user error, however this is by default in gnome simply because power management is really solid, hybernation/sleep just kicks on when I need it to, and I really like the night light turning itself on, the system tray for managing devices and..
Extensions #
I don’t think I’ve ever really looked at the gnome extensions, but they are really good. While there are good stand alone linux apps, these integrate well with gnome shell, are polished, and work well. I talk about them below.
“It just works” #
Gnome just works.
There is not really any screen tearing, issues with configuring monitors, jank around my wallpaper settings, and I don’t have to fight with a status bar. I actually quite like the activity center, where you can do everything from launch apps to pick emojis, ssh into my servers, browse the web and search, it really is good.
My Emacs Workflow #
I have been working on fully moving to an emacs workflow, where I can entirely and fully work within the system and get “agnostic” of the window management - this is the biggest reason I am making the swap. Because I am entirely and utterly throwing myself into the emacs computing method, this has allowed me to get even agnostic of the underlying operating system.
Seamless monitor support #
As I move away from my desktop to a laptop only workflow (I value portability and simplicity a ton more these days), the monitor support that (we’ll get tired of saying it) just works when plugging an hdmi or thunderbolt cable in is really nice. I plug/unplug my laptop into a monitor numerous times a day and I don’t want to fiddle with things. You’re noticing a theme of “simplicity is the ultimate sophistication”, I’m sure.
What I changed from default #
Note: this is a running list of changes I have made to my Gnome DE for posterity’s sake
Exentensions #
User themes x #
- easily change themes from .themes directory
Dash to Dock #
- Dock similar to mac. I don’t use it, just looks pretty for screenshots
Blur my shell #
- Blurred shell when opening up the actions menu, looks good.
Impatience #
- Speed up transitions/animations to nonexistence, I brought animation time down to 0.25
Transparent top bar (adjustable) #
- Appearance I like on the top bar
Media controls #
- Add playing song to the statusbar, works with spofify, youtube, most media.
Status Area Horizontal Spacing #
- Tweak spacing in status area so the elements aren’t so spaced.
Date Menu Formatter #
- Change the date to my ideal (Sunday, December 1 HH:MM)
Weather or Not #
- Weather and temperature in the status bar
Grand Theft Focus #
- Gets rid of the “window is ready” notification and pushes you to the affected window. So when opening links in emacs, this pushes me right to firefox with zero delay
Notification Banner Reloaded #
- Change notifications to right side instead of the middle of the screen
SSH search provider reborn #
- allows sshing into .ssh/config servers from the menu
Extension manager #
- Easily add gnome extensions
- Installed with flatpak
Auto move windows #
- Puts windows into selected workspaces for organization. Firefox always in 2, Thunderbird always in 4, etc.
Removable Drive Menu #
- Adds removeable drives and easy unmounting to status bar.
Color Picker #
- Easy way to pick hex codes from on the screen. I bound it to Alt+C and kicked the tray icon off the statusbar because we are not clicking things these days
Keyboard Shortcut additions: #
Launchers #
-
Launch email client: Alt+M
-
Launch web browser: Alt+W
-
Search: Alt+Space
Navigation #
-
Move window one monitor down: Shift+Alt+Down
-
Move window one monitor up: Shift+Alt+Up
-
Move window to workspace 1-4: Shift+Alt+1-4
-
Switch to workspace 1-4: Alt+1-4
-
Switch windows directly: Alt+Esc (this is a default, I like it)
-
Switch windows of an application: Alt+Control+Tab (in the case there is multiple instances of an app running)
Sound and Media #
-
Volume Up: Ctrl+Shift+Up
-
Volume Down: Ctrl+Shift+Down
System #
- Lock Screen: Ctrl+Alt+L
Windows #
-
Maximize Window: Alt+Up
-
Close Window: Alt+Q
-
Hide Window: Super(Meta)+H
-
Resize Window: Ctrl+Alt+R
-
Fullscreen Mode: Ctrl+Alt+F
-
Split Left/Right: Alt+Left/Right
Custom #
-
Elfeed: Alt+Z
emacsclient -c -n -a “” –eval “(progn (select-frame-set-input-focus (selected-frame)) (elfeed))”
-
Emacs: Alt+E
emacsclient -c
-
emacs-everywhere: Shift+Alt+E
emacsclient –eval “(emacs-everywhere)”
-
emacs pass: Alt+P
emacsclient -c -n -a “” –eval “(progn (select-frame-set-input-focus (selected-frame)) (pass))”
-
terminal: Alt+Ret
kitty
-
thunar: Alt+F
thunar
-
Playerctl next/previous: Ctrl+shift+right/left
A couple window customizations: #
I don’t need the title bar, so I use the dconf-editor to remove it. My emacs by default doesn’t have the title bar.
Conclusion #
I may return to a tiling workflow, but truthfully, this has been a nice change of pace where everything is integrated, there is less fanangaling, and things just work. I have thought about using mac as my workstation in order to get a portable davinci resolve machine online, but gnome really is better and far more customizable than mac, and I then don’t have to sell out to a company I don’t really enjoy.
I thought gnome was far too “mouse driven” but truthfully I haven’t touched my mouse in hours here, and I don’t need it to get by in my day to day, and with emacs as my “everything box” I don’t need much window management these days!
What DE/WM are you using? Post in the comments below, or email me.
As always, God bless, and until next time.