diff --git a/install/desktop/set-dock.sh b/install/desktop/set-dock.sh index a0275ea..27152b9 100644 --- a/install/desktop/set-dock.sh +++ b/install/desktop/set-dock.sh @@ -47,3 +47,6 @@ favorites_list="[${favorites_list%,}]" # Set the favorite apps gsettings set org.gnome.shell favorite-apps "$favorites_list" + +# Define the behavior of the app-hotkey binding +gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'focus-minimize-or-previews' diff --git a/install/desktop/set-gnome-hotkeys.sh b/install/desktop/set-gnome-hotkeys.sh index 02e3569..32e2e6f 100644 --- a/install/desktop/set-gnome-hotkeys.sh +++ b/install/desktop/set-gnome-hotkeys.sh @@ -17,16 +17,21 @@ gsettings set org.gnome.desktop.wm.keybindings toggle-fullscreen "['F11'] gsettings set org.gnome.mutter dynamic-workspaces false gsettings set org.gnome.desktop.wm.preferences num-workspaces 6 +set_per_digit() { + # shellcheck disable=SC2068 + # Replace every "#" with the value of $n + for n in {1..9}; do gsettings set ${@//\#/$n}; done +} + # Use alt for pinned apps -gsettings set org.gnome.shell.keybindings switch-to-application-1 "['1']" -gsettings set org.gnome.shell.keybindings switch-to-application-2 "['2']" -gsettings set org.gnome.shell.keybindings switch-to-application-3 "['3']" -gsettings set org.gnome.shell.keybindings switch-to-application-4 "['4']" -gsettings set org.gnome.shell.keybindings switch-to-application-5 "['5']" -gsettings set org.gnome.shell.keybindings switch-to-application-6 "['6']" -gsettings set org.gnome.shell.keybindings switch-to-application-7 "['7']" -gsettings set org.gnome.shell.keybindings switch-to-application-8 "['8']" -gsettings set org.gnome.shell.keybindings switch-to-application-9 "['9']" +# +# Either show or launch the n-th dock application +set_per_digit org.gnome.shell.extensions.dash-to-dock app-hotkey-# "['#']" +# Launch a new n-th dock application +set_per_digit org.gnome.shell.extensions.dash-to-dock app-ctrl-hotkey-# "['#']" +set_per_digit org.gnome.shell.extensions.dash-to-dock app-shift-hotkey-# "['#']" +# Prevent the default # bindings of switch-to-application from colliding with switch-to-workspace +set_per_digit org.gnome.shell.keybindings switch-to-application-# "[]" # Use super for workspaces gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "['1']" @@ -37,7 +42,7 @@ gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-5 "['5 gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-6 "['6']" # Reserve slots for custom keybindings -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/']" +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/']" # Set ulauncher to Super+Space gsettings set org.gnome.desktop.wm.keybindings switch-input-source "@as []" @@ -49,13 +54,3 @@ gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/or gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ name 'Flameshot' gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ command 'sh -c -- "flameshot gui"' gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ binding 'Print' - -# Start a new alacritty window (rather than just switch to the already open one) -gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/ name 'alacritty' -gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/ command 'alacritty' -gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/ binding '2' - -# Start a new Chrome window (rather than just switch to the already open one) -gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/ name 'new chrome' -gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/ command 'google-chrome' -gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/ binding '1'