#!/bin/sh if [ "$(cat /sys/devices/virtual/dmi/id/product_name)" = "Latitude 7490" ] then # Leave commented for light mode, or uncomment for dark mode. _acp_dark_mode=1 fi test -x /usr/bin/gsettings || (echo "gsettings not found" && exit 1) set_favorites_bar () { if [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/favorite-apps.conf" ] then gsettings set org.gnome.shell favorite-apps "$(cat "${XDG_CONFIG_HOME:-$HOME/.config}/favorite-apps.conf")" else gsettings set org.gnome.shell favorite-apps "['org.gnome.Terminal.desktop', 'org.gnome.Ptyxis.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Epiphany.desktop', 'com.vivaldi.Vivaldi.desktop', 'org.keepassxc.KeePassXC.desktop']" fi } set_favorites_bar set_keyboard_and_language () { gsettings set org.gnome.desktop.input-sources show-all-sources true gsettings set org.gnome.desktop.input-sources xkb-options "['']" gsettings set org.gnome.desktop.wm.keybindings switch-applications "['Tab']" gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "['Tab']" gsettings set org.gnome.desktop.wm.keybindings switch-windows "['Tab']" gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['Tab']" # https://acperkins.com/keyboard gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'acp'), ('xkb', 'us')]" # Set the thumb button on the Logitech MX Master mouse to 'toggle-overview'. Defaults are: # gsettings set org.gnome.desktop.wm.keybindings switch-panels "['Tab']" # gsettings set org.gnome.desktop.wm.keybindings switch-panels-backward "['Tab']" # gsettings set org.gnome.shell.keybindings toggle-overview "['s']" gsettings set org.gnome.desktop.wm.keybindings switch-panels "['']" gsettings set org.gnome.desktop.wm.keybindings switch-panels-backward "['']" gsettings set org.gnome.shell.keybindings toggle-overview "['s', 'Tab']" # Set custom keybindings. if [ -x /usr/bin/ptyxis ] then _acp_term="/usr/bin/ptyxis --new-window" else _acp_term=/usr/bin/gnome-terminal fi gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch-terminal/']" gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch-terminal/ command "$_acp_term" gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch-terminal/ name 'Launch Terminal' gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch-terminal/ binding 'Return' unset _acp_term } set_keyboard_and_language set_nautilus_preferences () { gsettings set org.gnome.nautilus.list-view default-zoom-level 'small' gsettings set org.gnome.nautilus.preferences default-folder-viewer 'list-view' gsettings set org.gtk.Settings.FileChooser sort-directories-first true gsettings set org.gtk.gtk4.Settings.FileChooser sort-directories-first true } set_nautilus_preferences set_gnome_terminal_preferences () { gsettings set org.gnome.Terminal.Legacy.Settings menu-accelerator-enabled false gsettings set org.gnome.Terminal.Legacy.Settings shortcuts-enabled false if [ -n "$_acp_dark_mode" ] then gsettings set org.gnome.Terminal.Legacy.Settings theme-variant 'dark' else gsettings set org.gnome.Terminal.Legacy.Settings theme-variant 'light' fi _acp_terminal_profile="org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d \')/" gsettings set "$_acp_terminal_profile" audible-bell false gsettings set "$_acp_terminal_profile" default-size-columns 132 gsettings set "$_acp_terminal_profile" default-size-rows 43 gsettings set "$_acp_terminal_profile" font 'Monospace 11' gsettings set "$_acp_terminal_profile" palette "[ '#2E3436', '#CC0000', '#4E9A06', '#C4A000', '#3465A4', '#75507B', '#06989A', '#D3D7CF', '#555753', '#EF2929', '#8AE234', '#FCE94F', '#729FCF', '#AD7FA8', '#34E2E2', '#EEEEEC' ]" gsettings set "$_acp_terminal_profile" preserve-working-directory 'always' gsettings set "$_acp_terminal_profile" use-theme-colors false gsettings set "$_acp_terminal_profile" use-system-font true if [ -n "$_acp_dark_mode" ] then gsettings set "$_acp_terminal_profile" background-color '#101010' gsettings set "$_acp_terminal_profile" foreground-color '#C0C0C0' else gsettings set "$_acp_terminal_profile" background-color '#EEEEEC' gsettings set "$_acp_terminal_profile" foreground-color '#2E3436' fi unset _acp_terminal_profile } set_gnome_terminal_preferences set_ptyxis_preferences () { gsettings set org.gnome.Ptyxis interface-style 'system' gsettings set org.gnome.Ptyxis restore-session false gsettings set org.gnome.Ptyxis restore-window-size false gsettings set org.gnome.Ptyxis default-columns 132 gsettings set org.gnome.Ptyxis default-rows 43 gsettings set org.gnome.Ptyxis audible-bell false _acp_ptyxis_profile="org.gnome.Ptyxis.Profile:/org/gnome/Ptyxis/Profiles/$(gsettings get org.gnome.Ptyxis default-profile-uuid | tr -d \')/" gsettings set "$_acp_ptyxis_profile" preserve-container 'never' gsettings set "$_acp_ptyxis_profile" preserve-directory 'never' gsettings set "$_acp_ptyxis_profile" palette 'tango' unset _acp_ptyxis_profile # Remove all shortcuts. for key in $(gsettings list-keys org.gnome.Ptyxis.Shortcuts) do gsettings set org.gnome.Ptyxis.Shortcuts $key '' done } set_ptyxis_preferences set_gnome_text_editor_preferences () { if gsettings list-schemas | grep '^org.gnome.TextEditor$' > /dev/null then gsettings set org.gnome.TextEditor restore-session false fi } set_gnome_text_editor_preferences set_gnome_extensions () { gnomeextcmd=/usr/bin/gnome-extensions if ! [ -x $gnomeextcmd ] then # gnome-extensions not installed. return fi # Disable all extensions. for ext in $($gnomeextcmd list --enabled) do $gnomeextcmd disable -q $ext done $gnomeextcmd enable -q appindicatorsupport@rgcjonas.gmail.com } set_gnome_extensions set_misc_preferences () { # Disable alert sounds. gsettings set org.gnome.desktop.sound event-sounds false # Turn on natural scrolling. gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll true # Enable Tap to Click. gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click 'false' # Configure the top bar and calendar. gsettings set org.gnome.desktop.interface clock-format '24h' gsettings set org.gnome.desktop.interface clock-show-date true gsettings set org.gnome.desktop.interface clock-show-seconds false gsettings set org.gnome.desktop.interface clock-show-weekday true gsettings set org.gnome.desktop.interface show-battery-percentage true gsettings set org.gnome.desktop.calendar show-weekdate false # Remove minimise and maximise buttons from the window title bars. gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu:minimize,maximize,close' # Stop dialogue boxes from 'sticking' to their parent windows. gsettings set org.gnome.mutter attach-modal-dialogs false # Enable hot-corners. gsettings set org.gnome.desktop.interface enable-hot-corners true # Configure fonts. if test -r /usr/share/fonts/redhat/RedHatText-Regular.otf then gsettings set org.gnome.desktop.interface document-font-name 'Red Hat Text Regular 11' gsettings set org.gnome.desktop.interface font-name 'Red Hat Text Regular 11' else gsettings reset org.gnome.desktop.interface document-font-name gsettings reset org.gnome.desktop.interface font-name fi gsettings reset org.gnome.desktop.wm.preferences titlebar-font gsettings set org.gnome.desktop.interface monospace-font-name 'Monospace 10' # Always show the Accessibility menu. gsettings set org.gnome.desktop.a11y always-show-universal-access-status true # Set Gnome Clocks locations. # America/Seattle; America/Halifax; Etc/UTC; Europe/London; Europe/Berlin. gsettings set org.gnome.clocks world-clocks "[{'location': <(uint32 2, <('Halifax', 'CYHZ', true, [(0.78336194011902394, -1.1082840750163994)], [(0.77928951101546806, -1.1100294042683936)])>)>}, {'location': <(uint32 2, <('Coordinated Universal Time (UTC)', '@UTC', false, @a(dd) [], @a(dd) [])>)>}, {'location': <(uint32 2, <('London', 'EGWU', false, [(0.89971722940307675, -0.007272211034407213)], [(0.89971722940307675, -0.007272211034407213)])>)>}, {'location': <(uint32 2, <('Berlin', 'EDDB', true, [(0.91426163401859872, 0.23591034304566436)], [(0.91658875132345297, 0.23387411976724018)])>)>}, {'location': <(uint32 2, <('Vancouver', 'CYVR', false, [(0.85841109795478021, -2.1496638678574467)], [(0.85841109795478021, -2.1496638678574467)])>)>}]" # Enable Night Light. gsettings set org.gnome.settings-daemon.plugins.color night-light-enabled 'false' gsettings set org.gnome.settings-daemon.plugins.color night-light-schedule-automatic 'false' # Remove the wallpaper. gsettings set org.gnome.desktop.background color-shading-type 'solid' gsettings set org.gnome.desktop.background picture-options 'zoom' gsettings set org.gnome.desktop.background picture-uri "file://$XDG_DATA_HOME/wallpaper-light.svg" gsettings set org.gnome.desktop.background picture-uri-dark "file://$XDG_DATA_HOME/wallpaper-dark.svg" if [ -n "$_acp_dark_mode" ] then gsettings set org.gnome.desktop.background primary-color '#101010' gsettings set org.gnome.desktop.background secondary-color '#101010' else gsettings set org.gnome.desktop.background primary-color '#008080' gsettings set org.gnome.desktop.background secondary-color '#008080' fi if [ -n "$_acp_dark_mode" ] then gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark' else gsettings set org.gnome.desktop.interface color-scheme 'prefer-light' gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita' fi if [ "$(cat /sys/devices/virtual/dmi/id/product_name)" = "Latitude 7490" ] then # Put the screen to sleep early without a password (to avoid image # retention on this crappy laptop screen). gsettings set org.gnome.desktop.session idle-delay 'uint32 60' gsettings set org.gnome.desktop.screensaver lock-enabled false else gsettings set org.gnome.desktop.session idle-delay 'uint32 0' gsettings set org.gnome.desktop.screensaver lock-enabled true fi # Reset the app picker layout. Will take effect after a gnome-shell restart # (log off and on again). gsettings reset org.gnome.shell app-picker-layout # Set the AccountsService icon file to ~/.face via dbus. busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User$(id -u) org.freedesktop.Accounts.User SetIconFile "s" "$HOME/.face" if $(flatpak info org.gnome.Epiphany 2>/dev/null >/dev/null) then _acp_gsettings="flatpak --user run --command=/usr/bin/gsettings org.gnome.Epiphany" $_acp_gsettings set org.gnome.Epiphany homepage-url 'about:newtab' $_acp_gsettings set org.gnome.Epiphany restore-session-policy 'crashed' $_acp_gsettings set org.gnome.Epiphany.ui tabs-bar-visibility-policy 'always' $_acp_gsettings set org.gnome.Epiphany.web:/org/gnome/epiphany/web/ ask-on-download true $_acp_gsettings set org.gnome.Epiphany.web:/org/gnome/epiphany/web/ remember-passwords false unset _acp_gsettings fi } set_misc_preferences if [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/reset-gnome-setup.local" ] then . "${XDG_CONFIG_HOME:-$HOME/.config}/reset-gnome-setup.local" fi if [ -n "$_acp_dark_mode" ] then unset _acp_dark_mode fi