Created
October 31, 2019 00:18
-
-
Save JeremyOttley/da726c81ab015445e308a9f4f3c78395 to your computer and use it in GitHub Desktop.
Make Gnome more like macOS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -v | |
set -euo pipefail | |
trap "echo 'error: Script failed: see failed command above'" ERR | |
# Disable many keybindings that manage windows to free them up for VSCode, | |
# except for a few ones I also had on macOS | |
dconf write /org/gnome/desktop/wm/keybindings/maximize "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/move-to-monitor-down "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/move-to-monitor-left "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/move-to-monitor-left "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/move-to-monitor-right "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/move-to-monitor-up "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/move-to-workspace-down "['<Super><Ctrl>Right','<Super><Ctrl>Down']" | |
dconf write /org/gnome/desktop/wm/keybindings/move-to-workspace-left "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/move-to-workspace-right "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/move-to-workspace-up "['<Super><Ctrl>Left','<Super><Ctrl>Up']" | |
dconf write /org/gnome/desktop/wm/keybindings/switch-applications "['<Ctrl>Tab','<Alt>Tab']" | |
dconf write /org/gnome/desktop/wm/keybindings/switch-applications-backward "['<Shift><Alt>Tab','<Shift><Ctrl>Tab']" | |
dconf write /org/gnome/desktop/wm/keybindings/switch-group "['<Ctrl>Above_Tab','<Alt>Above_Tab']" | |
dconf write /org/gnome/desktop/wm/keybindings/switch-group-backward "['<Shift><Ctrl>Above_Tab','<Shift><Alt>Above_Tab']" | |
dconf write /org/gnome/desktop/wm/keybindings/switch-input-source "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/switch-input-source-backward "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/switch-panels "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/switch-panels-backward "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-down "['<Super>Right','<Super>Down']" | |
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-left "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-right "['disabled']" | |
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-up "['<Super>Left','<Super>Up']" | |
dconf write /org/gnome/desktop/wm/keybindings/unmaximize "['disabled']" | |
dconf write /org/gnome/mutter/keybindings/switch-monitor "['XF86Display']" | |
dconf write /org/gnome/mutter/keybindings/toggle-tiled-left "['<Super><Ctrl><Alt>Left']" | |
dconf write /org/gnome/mutter/keybindings/toggle-tiled-right "['<Super><Ctrl><Alt>Right']" | |
dconf write /org/gnome/shell/keybindings/toggle-overview "['<Super>Space','<Ctrl>Space']" | |
dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:escape']" | |
# ^-- to swap vs map both to escape: "['caps:swapescape']". | |
# More macOS-like tab navigation in the terminal | |
# Find all possible config keys via: gsettings list-recursively |grep Terminal | |
gsettings set org.gnome.Terminal.Legacy.Keybindings:/org/gnome/terminal/legacy/keybindings/ next-tab '<Primary>braceright' | |
gsettings set org.gnome.Terminal.Legacy.Keybindings:/org/gnome/terminal/legacy/keybindings/ prev-tab '<Primary>braceleft' | |
gsettings set org.gnome.Terminal.Legacy.Keybindings:/org/gnome/terminal/legacy/keybindings/ move-tab-left '<Primary><Shift>Left' | |
gsettings set org.gnome.Terminal.Legacy.Keybindings:/org/gnome/terminal/legacy/keybindings/ move-tab-right '<Primary><Shift>Right' | |
gsettings set org.gnome.Terminal.Legacy.Keybindings:/org/gnome/terminal/legacy/keybindings/ close-tab '<Primary>w' | |
gsettings set org.gnome.Terminal.Legacy.Keybindings:/org/gnome/terminal/legacy/keybindings/ new-tab '<Primary>t' | |
# Make the Dock more macOS-like | |
gsettings set org.gnome.shell.extensions.dash-to-dock extend-height false | |
gsettings set org.gnome.shell.extensions.dash-to-dock dock-position BOTTOM | |
gsettings set org.gnome.shell.extensions.dash-to-dock transparency-mode FIXED | |
gsettings set org.gnome.shell.extensions.dash-to-dock dash-max-icon-size 32 | |
gsettings set org.gnome.shell.extensions.dash-to-dock unity-backlit-items true | |
# ^-- to reset e.g.: $ gsettings reset org.gnome.shell.extensions.dash-to-dock dash-max-icon-size | |
# Activate Gnome Activities Overview on hot corner <-- careful you may find this annoying | |
gsettings set org.gnome.shell enable-hot-corners true | |
# As of Ubuntu 19.10 this is: | |
gsettings set org.gnome.desktop.interface enable-hot-corners true | |
# (as of 19.10) Dark tabs for the Terminal to me look better regardless of the system theme | |
gsettings set org.gnome.Terminal.Legacy.Settings theme-variant 'dark' | |
# Disable left super overview, bind to Super Up (use <Alt>F1 or hot corner) | |
gsettings set org.gnome.mutter overlay-key "" | |
# Alt left click to move windows (without dragging the titlebar) | |
gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Alt>" | |
# Alt right click to resize windows (without dragging the titlebar) | |
gsettings set org.gnome.desktop.wm.preferences resize-with-right-button true | |
# Disable Alt-Ctrl-S minimizing windows (and freeing it up for VsCode Save-All) | |
gsettings set org.gnome.desktop.wm.keybindings toggle-shaded "['disabled']" | |
# Show directories above files | |
dconf write /org/gtk/settings/file-chooser/sort-directories-first true | |
gsettings list-recursively org.gnome.Terminal | |
gsettings list-recursively org.gnome.shell | |
gsettings list-recursively org.gnome.desktop.interface | |
# Bring back capslock/escape mapping to default behavior | |
#### dconf reset /org/gnome/desktop/input-sources/xkb-options | |
killall -9 orca \ | |
; sudo apt purge orca \ | |
; gsettings set org.gnome.settings-daemon.plugins.media-keys screenreader "['disabled']" | |
# Fix ENOSPC when watching many files | |
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p | |
# Remove Amazon launcher | |
sudo rm /usr/share/applications/ubuntu-amazon-default.desktop | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment