More flexible dconf-dump specifics

This commit is contained in:
Sage Vaillancourt 2024-02-19 01:25:44 -05:00
parent aa95c7a9fe
commit 1b437e6671
1 changed files with 19 additions and 7 deletions

View File

@ -76,17 +76,29 @@ source ~/.shell_aliases
source ~/.zsh_local
function dconf-dump {
local current_section=""
local ignore_section=false
# Ignores certain values/sections that shouldn't be synced
dconf dump / | grep -v "gtk-theme='" | while read -r line; do
if [[ "$line" == "[org/gnome/desktop/background]" ]] || [[ "$line" == "[org/gnome/shell/extensions/gsconnect"* ]]; then
ignore_section=true
elif [[ "$line" == "["* ]]; then
dconf dump / | while read -r line; do
if [[ "$line" == "["* ]]; then
current_section="$line"
ignore_section=false
fi
case "$current_section" in
"[org/gnome/desktop/background]" | "[org/gnome/shell/extensions/gsconnect*")
ignore_section=true
;;
"[org/gnome/desktop/interface]")
if [[ "$line" != "gtk-theme='"* ]]; then
echo "$line"
fi
;;
*)
if ! $ignore_section; then
echo "$line"
fi
;;
esac
done
}