Corregit gestor-atajos.sh

This commit is contained in:
2026-03-09 19:55:55 +01:00
parent 45e3bd3090
commit a6bef5c5f0
+47 -12
View File
@@ -1,20 +1,55 @@
#!/bin/bash
# Ruta del propio script
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
BACKUP="$SCRIPT_DIR/gnome-shortcuts-backup.txt"
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() {
echo "Guardando atajos actuales en $BACKUP..."
dconf dump /org/gnome/settings-daemon/plugins/media-keys/ > "$BACKUP"
backup_all
echo "Deshabilitando todos los atajos de GNOME..."
dconf reset -f /org/gnome/settings-daemon/plugins/media-keys/
echo "Deshabilitando todos los atajos"
echo "Deshabilitando la tecla Super para abrir Actividades..."
# Reset completo de los esquemas
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 "Todo deshabilitado."
echo "→ Forzando a vacío solo las claves que son listas…"
for schema in "${SCHEMAS[@]}"; do
for key in $(gsettings list-keys "$schema"); do
type=$(gsettings range "$schema" "$key" | head -n 1)
# Solo modificar claves tipo array (listas de atajos)
if [[ "$type" == "array" ]]; then
echo " $schema.$key → []"
gsettings set "$schema" "$key" "[]"
fi
done
done
echo "Todos los atajos deshabilitados."
}
enable_all() {
@@ -23,13 +58,13 @@ enable_all() {
exit 1
fi
echo "Restaurando atajos desde $BACKUP..."
dconf load /org/gnome/settings-daemon/plugins/media-keys/ < "$BACKUP"
echo "Restaurando atajos desde $BACKUP"
dconf load / < "$BACKUP"
echo "Restaurando la tecla Super..."
echo "Restaurando overlay-key…"
gsettings reset org.gnome.mutter overlay-key
echo "Todo restaurado."
echo "Atajos restaurados."
}
case "$1" in