aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/lib_copy.sh
diff options
context:
space:
mode:
authorDon Williams <don.e.williams@gmail.com>2026-07-22 13:05:21 -0400
committerPinapelz <yukais@pinapelz.com>2026-08-29 21:40:35 -0700
commitfa4c93ed241a80571e2ea8efc4213542b4d494fb (patch)
tree9a888a05de900a69210caddd05e68a436b79c234 /scripts/lib_copy.sh
parent0a14326757112d9c0bb0fe68ce90e43eb88f2da0 (diff)
Fix kitty cfg restore, gated wallust preseve theme
Signed-off-by: Don Williams <don.e.williams@gmail.com> On branch development Your branch is up to date with 'origin/development'. Changes to be committed: modified: copy.sh modified: scripts/lib_copy.sh
Diffstat (limited to 'scripts/lib_copy.sh')
-rw-r--r--scripts/lib_copy.sh72
1 files changed, 72 insertions, 0 deletions
diff --git a/scripts/lib_copy.sh b/scripts/lib_copy.sh
index 4d46785b..a5ec8651 100644
--- a/scripts/lib_copy.sh
+++ b/scripts/lib_copy.sh
@@ -248,6 +248,78 @@ capture_upgrade_runtime_selection_state() {
export KOOLDOTS_PREV_ROFI_THEME_PATH
}
+capture_runtime_personal_state() {
+ local log="$1"
+ local cfg_home="${XDG_CONFIG_HOME:-$HOME/.config}"
+ local backup_dir
+ local state_dir
+ local src rel dest
+
+ backup_dir=$(get_backup_dirname)
+ state_dir="${XDG_CACHE_HOME:-$HOME/.cache}/kooldots-runtime-state-$backup_dir"
+ KOOLDOTS_RUNTIME_STATE_DIR="$state_dir"
+ KOOLDOTS_RUNTIME_THEME_RESTORED=0
+ export KOOLDOTS_RUNTIME_STATE_DIR
+ export KOOLDOTS_RUNTIME_THEME_RESTORED
+
+ rm -rf "$state_dir"
+ mkdir -p "$state_dir"
+
+ local files_to_capture=(
+ "$cfg_home/kitty/kitty.conf"
+ "$cfg_home/hypr/UserConfigs/kitty.conf"
+ "$cfg_home/hypr/wallpaper_effects/.wallpaper_current"
+ "$cfg_home/hypr/wallpaper_effects/.wallpaper_modified"
+ "$cfg_home/hypr/wallust/wallust-hyprland.conf"
+ "$cfg_home/rofi/wallust/colors-rofi.rasi"
+ "$cfg_home/waybar/wallust/colors-waybar.css"
+ "$cfg_home/kitty/kitty-themes/01-Wallust.conf"
+ )
+
+ for src in "${files_to_capture[@]}"; do
+ [ -f "$src" ] || continue
+ rel="${src#$cfg_home/}"
+ [ "$rel" != "$src" ] || continue
+ dest="$state_dir/$rel"
+ mkdir -p "$(dirname "$dest")"
+ cp -f "$src" "$dest" 2>/dev/null || true
+ done
+
+ echo "${INFO:-[INFO]} - Captured runtime personalization state." 2>&1 | tee -a "$log"
+}
+
+restore_runtime_personal_state() {
+ local log="$1"
+ local cfg_home="${XDG_CONFIG_HOME:-$HOME/.config}"
+ local state_dir="${KOOLDOTS_RUNTIME_STATE_DIR:-}"
+ local snapshot rel dest
+ local restored_theme=0
+
+ [ -d "$state_dir" ] || return 0
+
+ while IFS= read -r -d '' snapshot; do
+ rel="${snapshot#$state_dir/}"
+ dest="$cfg_home/$rel"
+ mkdir -p "$(dirname "$dest")"
+ if cp -f "$snapshot" "$dest" 2>&1 | tee -a "$log"; then
+ case "$rel" in
+ hypr/wallust/wallust-hyprland.conf | rofi/wallust/colors-rofi.rasi | waybar/wallust/colors-waybar.css | kitty/kitty-themes/01-Wallust.conf)
+ restored_theme=1
+ ;;
+ esac
+ fi
+ done < <(find "$state_dir" -type f -print0)
+
+ if [ -f "$cfg_home/kitty/kitty.conf" ] && [ ! -f "$cfg_home/hypr/UserConfigs/kitty.conf" ]; then
+ mkdir -p "$cfg_home/hypr/UserConfigs"
+ cp -f "$cfg_home/kitty/kitty.conf" "$cfg_home/hypr/UserConfigs/kitty.conf" 2>&1 | tee -a "$log" || true
+ fi
+
+ KOOLDOTS_RUNTIME_THEME_RESTORED="$restored_theme"
+ export KOOLDOTS_RUNTIME_THEME_RESTORED
+ echo "${INFO:-[INFO]} - Restored runtime personalization state." 2>&1 | tee -a "$log"
+}
+
restore_upgrade_runtime_selection_state() {
local log="$1"
local cfg_home="${XDG_CONFIG_HOME:-$HOME/.config}"
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage