Skip to content

Instantly share code, notes, and snippets.

@metainfa
Last active January 11, 2024 10:37
Show Gist options
  • Save metainfa/14c050afab023ba75422f695aa904520 to your computer and use it in GitHub Desktop.
Save metainfa/14c050afab023ba75422f695aa904520 to your computer and use it in GitHub Desktop.
#!/bin/bash
# watching while changing
# $ dconf watch /
# list all schemas
# $ gsettings list-schemas
# check keys in a schema
# $ gsettings list-recursively org.gnome.Terminal.Legacy.Settings
# "Schema '...' is relocatable (path must be specified)"
# use org.whatever.schema:/org/path/to/key/ -- see for example Disable F1 in Terminal
# silence the extension version nonsense
gsettings set org.gnome.shell disable-extension-version-validation true
# fix scrolling on touchpad
gsettings set org.gnome.settings-daemon.peripherals.touchpad scroll-method "edge-scrolling"
# unset annoying default keybindings
gsettings set org.gnome.desktop.wm.keybindings switch-applications "['<Alt>Tab', '<Alt>Tab']"
gsettings set org.gnome.desktop.wm.keybindings switch-group "['<Alt>Above_Tab', '<Alt>Above_Tab']"
gsettings set org.gnome.desktop.wm.keybindings cycle-windows "[]"
gsettings set org.gnome.desktop.wm.keybindings minimize "['']"
gsettings set org.gnome.shell.keybindings focus-active-notification "['']"
gsettings set org.gnome.shell.keybindings toggle-message-tray "['']"
gsettings set org.gnome.settings-daemon.plugins.xrandr active false
# restrict Alt-Tab to current workspace
gsettings set org.gnome.shell.app-switcher current-workspace-only true
# mime association
xdg-mime default zathura.desktop application/pdf
# fcitx
gsettings set org.gnome.settings-daemon.plugins.keyboard active false
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
# Terminal
gsettings set org.gnome.Terminal.Legacy.Settings menu-accelerator-enabled false
gsettings set org.gnome.Terminal.Legacy.Settings default-show-menubar false
# Disable F1 in Terminal
gsettings set org.gnome.Terminal.Legacy.Keybindings:/org/gnome/terminal/legacy/keybindings/ help 'disabled'
# Desktop
gsettings set org.gnome.shell always-show-log-out true
gsettings set org.gnome.nautilus.desktop home-icon-visible false
gsettings set org.gnome.nautilus.desktop trash-icon-visible false
gsettings set org.gnome.desktop.background show-desktop-icons true
gsettings set org.gnome.desktop.interface clock-show-date true
gsettings set org.gnome.desktop.privacy show-full-name-in-top-bar false
gsettings set org.gnome.desktop.interface clock-show-seconds true
# Nautilus
gsettings set org.gnome.nautilus.preferences sort-directories-first true
gsettings set org.gtk.settings.file-chooser sort-directories-first true
gsettings set org.gnome.nautilus.icon-view default-zoom-level 'small'
gsettings set org.gnome.nautilus.list-view default-zoom-level 'small'
# Power
gsettings set org.gnome.settings-daemon.plugins.power button-power 'interactive'
gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'nothing'
# Caps Lock -> Ctrl
# Ctrl-Alt-Backspace kills X
gsettings set org.gnome.desktop.input-sources xkb-options "['caps:ctrl_modifier', 'terminate:ctrl_alt_bksp', 'ctrl:nocaps']"
## Cinnamon
#gsettings set org.nemo.desktop computer-icon-visible false
#gsettings set org.nemo.desktop home-icon-visible false
#gsettings set org.nemo.desktop trash-icon-visible false
#gsettings set org.cinnamon.muffin overlay-key ''
#gsettings set org.cinnamon desktop-effects false
#gsettings set org.cinnamon desktop-layout 'flipped'
# disable animations
gsettings set org.gnome.desktop.interface enable-animations false
# Windows
gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu:minimize,maximize,close'
gsettings set org.gnome.desktop.wm.keybindings show-desktop "['<Super>d']"
gsettings set org.gnome.desktop.wm.keybindings panel-main-menu "['']"
gsettings set org.gnome.desktop.wm.keybindings toggle-maximized "['<Alt>F1']"
gsettings set org.gnome.desktop.wm.preferences action-middle-click-titlebar 'none'
# Workspace
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "['<Super>h']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-2 "['<Super>j']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-3 "['<Super>k']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-4 "['<Super>l']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-5 "['<Super>semicolon']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-6 "['<Super>apostrophe']"
# screenshot
gsettings set org.gnome.settings-daemon.plugins.media-keys screenshot '<Super>Print'
# lock screen
gsettings set org.gnome.settings-daemon.plugins.media-keys screensaver '<Primary><Alt>l'
# Launchers
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/']"
# help on gsettings: http://blogs.gnome.org/fmuellner/2011/11/22/gnome-shell-gsettings-and-keybindings/comment-page-1/#comment-128
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ binding '<Super>grave'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ command 'gnome-terminal'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ name 'Gnome Terminal'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ binding '<Super>e'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ command 'nautilus'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ name 'Nautilus'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/ binding '<Super>c'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/ command 'gnome-calculator'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/ name 'Calculator'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/ binding '<Super>v'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/ command 'gvim'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/ name 'GVim'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/ binding '<Super>n'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/ command 'gedit'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/ name 'Gedit'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/ binding '<Super>x'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/ command 'latex-to-unicode.sh'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/ name 'LaTeX to Unicode'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/ binding '<Super>z'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/ command 'zeal'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/ name 'Zeal'
# check firefox config
DOTFILES=`cd "$(dirname "${BASH_SOURCE[0]}")" && pwd` # http://stackoverflow.com/a/246128
if [ `find -L $HOME/.mozilla/firefox -xtype l -samefile $DOTFILES/firefox/user.js | wc -l` -eq 0 ]; then
echo -e "\e[1;31mPlease create a symlink for $DOTFILES/firefox/user.js\e[0m"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment