From 546afee39da09616d7eefb9151ea28e7f9f66d21 Mon Sep 17 00:00:00 2001 From: vdbewout Date: Fri, 11 Aug 2023 14:59:51 +0200 Subject: [PATCH 1/2] feat(tmux): remove sed dependency for theme loading --- catppuccin.tmux | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/catppuccin.tmux b/catppuccin.tmux index bb3f930..0dbdf12 100755 --- a/catppuccin.tmux +++ b/catppuccin.tmux @@ -225,7 +225,16 @@ main() { # NOTE: Pulling in the selected theme by the theme that's being set as local # variables. # shellcheck source=catppuccin-frappe.tmuxtheme - source /dev/stdin <<<"$(sed -e "/^[^#].*=/s/^/local /" "${PLUGIN_DIR}/catppuccin-${theme}.tmuxtheme")" + # https://github.com/dylanaraps/pure-sh-bible#parsing-a-keyval-file + while IFS='=' read -r key val; do + # Skip over lines containing comments. + # (Lines starting with '#'). + [ "${key##\#*}" ] || continue + + # '$key' stores the key. + # '$val' stores the value. + local "$key"="${val:1:-1}" + done < "${PLUGIN_DIR}/catppuccin-${theme}.tmuxtheme" # status set status "on" From 11a92b95fdf9c47035e8d1c58db6e92a6a5e5b4f Mon Sep 17 00:00:00 2001 From: vdbewout Date: Fri, 11 Aug 2023 14:50:23 +0200 Subject: [PATCH 2/2] feat(tmux): remove sed dependency for custom icons --- catppuccin.tmux | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/catppuccin.tmux b/catppuccin.tmux index 0dbdf12..6b4de06 100755 --- a/catppuccin.tmux +++ b/catppuccin.tmux @@ -44,7 +44,8 @@ build_window_icon() { if [ "$window_status_icon_enable" = "yes" ] then - local show_window_status="#(printf '%%s\n' '#F' | sed 's/*/${custom_icon_window_current}/; s/-/${custom_icon_window_last}/; s/#/${custom_icon_window_activity}/; s/~/${custom_icon_window_silent}/; s/!/${custom_icon_window_bell}/; s/M/${custom_icon_window_mark}/; s/Z/${custom_icon_window_zoom}/')" + # #!~[*-]MZ + local show_window_status="#{?window_activity_flag,${custom_icon_window_activity},}#{?window_bell_flag,${custom_icon_window_bell},}#{?window_silence_flag,${custom_icon_window_silent},}#{?window_active,${custom_icon_window_current},}#{?window_last_flag,${custom_icon_window_last},}#{?window_marked_flag,${custom_icon_window_mark},}#{?window_zoomed_flag,${custom_icon_window_zoom},}" fi if [ "$window_status_icon_enable" = "no" ]