summaryrefslogtreecommitdiffstats
path: root/tools/gnome-shell-overrides-migration.sh
blob: a1b4cb6331be2a41e967a3a0a779f17f221ada2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/sh

PKG_DATA_DIR=${XDG_DATA_HOME:-$HOME/.local/share}/gnome-shell

MIGRATION_GUARD=$PKG_DATA_DIR/gnome-overrides-migrated
OVERRIDE_SCHEMA=

if [ -f $MIGRATION_GUARD ]; then
  exit # already migrated
fi

# Find the right session
if echo $XDG_CURRENT_DESKTOP | grep -q -v GNOME; then
  exit # not a GNOME session
fi

if echo $XDG_CURRENT_DESKTOP | grep -q Classic; then
  OVERRIDE_SCHEMA=org.gnome.shell.extensions.classic-overrides
else
  OVERRIDE_SCHEMA=org.gnome.shell.overrides
fi

mkdir -p $PKG_DATA_DIR

for k in `gsettings list-keys $OVERRIDE_SCHEMA`
do
  if [ $k = button-layout ]; then
    orig_schema=org.gnome.desktop.wm.preferences
  else
    orig_schema=org.gnome.mutter
  fi

  oldValue=`gsettings get $OVERRIDE_SCHEMA $k`
  curValue=`gsettings get $orig_schema $k`
  if [ $oldValue != $curValue ]; then
    gsettings set $orig_schema $k $oldValue
  fi
done && touch $MIGRATION_GUARD