75 lines
1.6 KiB
Bash
Executable File
75 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
BACKUP="$SCRIPT_DIR/gnome-shortcuts-backup.dconf"
|
|
|
|
SCHEMAS=(
|
|
"org.gnome.desktop.wm.keybindings"
|
|
"org.gnome.mutter.keybindings"
|
|
"org.gnome.mutter.wayland.keybindings"
|
|
"org.gnome.shell.keybindings"
|
|
"org.gnome.settings-daemon.plugins.media-keys"
|
|
"org.gnome.desktop.a11y.keyboard"
|
|
)
|
|
|
|
backup_all() {
|
|
echo "Guardando todos los atajos en $BACKUP..."
|
|
> "$BACKUP"
|
|
for schema in "${SCHEMAS[@]}"; do
|
|
echo "# $schema" >> "$BACKUP"
|
|
dconf dump "/$(echo $schema | tr . /)/" >> "$BACKUP"
|
|
echo "" >> "$BACKUP"
|
|
done
|
|
}
|
|
|
|
disable_all() {
|
|
backup_all
|
|
|
|
echo "Deshabilitando todos los atajos…"
|
|
|
|
for schema in "${SCHEMAS[@]}"; do
|
|
echo "→ Reset: $schema"
|
|
dconf reset -f "/$(echo $schema | tr . /)/"
|
|
done
|
|
|
|
echo "→ Deshabilitando overlay-key (Super)…"
|
|
gsettings set org.gnome.mutter overlay-key ''
|
|
|
|
echo "→ Forzando todos los atajos a vacío…"
|
|
for schema in "${SCHEMAS[@]}"; do
|
|
for key in $(gsettings list-keys "$schema"); do
|
|
gsettings set "$schema" "$key" "[]"
|
|
done
|
|
done
|
|
|
|
echo "Todos los atajos deshabilitados."
|
|
}
|
|
|
|
enable_all() {
|
|
if [ ! -f "$BACKUP" ]; then
|
|
echo "No existe el archivo de backup: $BACKUP"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Restaurando atajos desde $BACKUP…"
|
|
dconf load / < "$BACKUP"
|
|
|
|
echo "Restaurando overlay-key…"
|
|
gsettings reset org.gnome.mutter.overlay-key
|
|
|
|
echo "Atajos restaurados."
|
|
}
|
|
|
|
case "$1" in
|
|
disable)
|
|
disable_all
|
|
;;
|
|
enable)
|
|
enable_all
|
|
;;
|
|
*)
|
|
echo "Uso: $0 {disable|enable}"
|
|
exit 1
|
|
;;
|
|
esac
|