Make GNOME not suck
Jump to navigation
Jump to search
Background
GNOME defaults across Fedora Core/Ubuntu are fine for casual use, but start to fall down (for me) when productivity needs to increase. Some basics include being able to alt+click+drag to move windows around, fixed number of isolated workspaces (and quick keybindings to move between them), etc. This is an attempt at capturing scriptable settings change commands for this.
WM Preferences
Enable alt+drag windows in Gnome
$ gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier '<Alt>'
Fixed number of workspaces (12)
$ gsettings set org.gnome.mutter dynamic-workspaces false $ gsettings set org.gnome.desktop.wm.preferences num-workspaces 12
Isolate apps to workspaces
$ gsettings set org.gnome.shell.app-switcher current-workspace-only true $ gsettings set org.gnome.shell.window-switcher current-workspace-only true
WM Keybindings =
Fix/unset conflicting bindings
gsettings set org.gnome.desktop.wm.keybindings panel-run-dialog "[]" gsettings set org.gnome.desktop.wm.keybindings panel-main-menu "[]" gsettings set org.gnome.desktop.wm.keybindings close "[]" gsettings set org.gnome.desktop.wm.keybindings unmaximize "['<Super>Down']" gsettings set org.gnome.desktop.wm.keybindings toggle-maximized "[]" gsettings set org.gnome.desktop.wm.keybindings begin-move "[]" gsettings set org.gnome.desktop.wm.keybindings begin-resize "[]" gsettings set org.gnome.desktop.wm.keybindings cycle-group "[]"
Switch-to-workspaces keybindings
This adds Alt+F# to switch, Super+Alt+F# to move windows.
for i in $(seq 1 12); do gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-${i} "['<Alt>F${i}']"; done for i in $(seq 1 12); do gsettings get org.gnome.desktop.wm.keybindings switch-to-workspace-${i}; done for i in $(seq 1 12); do gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-${i} "['<Super><Alt>F${i}']"; done for i in $(seq 1 12); do gsettings get org.gnome.desktop.wm.keybindings move-to-workspace-${i}; done
Custom Keybindings
NOTE/TODO: this method does not seem to universally work? Seemed ok on Fedora Core 38-40(?), does not work on fresh Ubuntu 24.04.
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name "'Launch new terminal window'" dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command "'gnome-terminal --window --geometry=160x43'" dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding "'<Alt>v'" dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/name "'Launch new maximized terminal window'" dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/command "'gnome-terminal --window --maximize'" dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/binding "'<Shift><Alt>v'"