Last active
May 31, 2017 10:33
-
-
Save metainfa/8a9c021d905bc3dd902ac1785c115259 to your computer and use it in GitHub Desktop.
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 | |
# | |
# Easily swap the functions of Esc and Caps keys on Ubuntu. | |
# Usage: | |
# $ swap-esc | |
initial_status=$(gsettings get org.gnome.desktop.input-sources xkb-options) | |
swapped="['caps:swapescape']" | |
capslock="['caps:capslock']" | |
if [ "$initial_status" == "$swapped" ]; then | |
gsettings set org.gnome.desktop.input-sources xkb-options $capslock | |
echo "Restored Caps and Escape to default layout" | |
echo "Current status: $capslock" | |
elif [ "$initial_status" == "$capslock" ]; then | |
gsettings set org.gnome.desktop.input-sources xkb-options $swapped | |
echo "Swapped Caps and Escape" | |
echo "Current status: $swapped" | |
else | |
echo "Nothing was changed! Exiting..." | |
fi | |
PATH='org.gnome.desktop.input-sources' | |
OPTION="'ctrl:nocaps'" | |
status=$(/usr/bin/gsettings get $PATH xkb-options) | |
if [[ "$status" == *"$OPTION"* ]]; then | |
echo "Already configured" | |
exit | |
fi | |
new_value="${status%]},'ctrl:nocaps']" | |
echo "$new_value" | |
/usr/bin/gsettings set $PATH xkb-options "$new_value" | |
if command -v gsettings >/dev/null 2>&1 | |
then | |
# Fix desktop background and right-click | |
gsettings set org.gnome.settings-daemon.plugins.background active true | |
# Disable annoying search on type thing | |
gsettings set org.gnome.nautilus.preferences enable-interactive-search false | |
# Enable delete contect menu action | |
gsettings set org.gnome.nautilus.preferences enable-delete true | |
# Don't autopopup nautilus window on USB (or phone) plugins | |
gsettings set org.gnome.desktop.media-handling automount-open false | |
# Caps lock to escape | |
gsettings set org.gnome.desktop.input-sources xkb-options "['caps:escape']" | |
else | |
>&2 echo "Skipping desktop setup, cannot find gsettings" | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment