@@ -328,8 +328,85 @@ show_theme_menu() {
328328}
329329
330330show_background_menu () {
331- background=$( omarchy-theme-bg-switcher)
332- [[ -n $background ]] && omarchy-theme-bg-set " $background "
331+ case $( menu " Background" " Static\n Dynamic" ) in
332+ * Static* )
333+ background=$( omarchy-theme-bg-switcher)
334+ [[ -n $background ]] && omarchy-theme-bg-set " $background "
335+ ;;
336+ * Dynamic* ) show_dynamic_bg_menu ;;
337+ * ) back_to show_style_menu ;;
338+ esac
339+ }
340+
341+ show_dynamic_bg_menu () {
342+ if ! command -v awww & > /dev/null; then
343+ omarchy-notification-send " awww is required for dynamic backgrounds" -u critical
344+ back_to show_style_menu
345+ return
346+ fi
347+
348+ local conf=" $HOME /.config/omarchy/dynamic-bg/dynamic-bg.conf"
349+ [[ -f $conf ]] && source " $conf "
350+
351+ local status=" Disabled"
352+ [[ $DYNAMIC_BG_ENABLED == " true" ]] && status=" Enabled"
353+
354+ local fullscreen=" Off"
355+ [[ $DYNAMIC_BG_STOP_ON_FULLSCREEN == " true" ]] && fullscreen=" On"
356+
357+ case $( menu " Dynamic Background" " Status: $status \n Interval: $DYNAMIC_BG_INTERVAL \n Transition Effect: $DYNAMIC_BG_TRANSITION_TYPE \n Transition Speed: ${DYNAMIC_BG_TRANSITION_DURATION} s\n Stop on Fullscreen: $fullscreen " ) in
358+ * Status* ) omarchy-dynamic-bg-toggle ; show_dynamic_bg_menu ;;
359+ * Interval* ) show_dynamic_bg_interval_menu ;;
360+ * " Transition Effect" * ) show_dynamic_bg_effect_menu ;;
361+ * " Transition Speed" * ) show_dynamic_bg_speed_menu ;;
362+ * Fullscreen* ) omarchy-dynamic-bg-toggle-fullscreen ; show_dynamic_bg_menu ;;
363+ * ) back_to show_style_menu ;;
364+ esac
365+ }
366+
367+ show_dynamic_bg_interval_menu () {
368+ case $( menu " Interval" " 15 seconds\n 30 seconds\n 1 minute\n 5 minutes\n 10 minutes\n 30 minutes\n 1 hour" ) in
369+ * " 15 seconds" * ) omarchy-dynamic-bg-set-interval 15sec ;;
370+ * " 30 seconds" * ) omarchy-dynamic-bg-set-interval 30sec ;;
371+ * " 1 minute" * ) omarchy-dynamic-bg-set-interval 1min ;;
372+ * " 5 minutes" * ) omarchy-dynamic-bg-set-interval 5min ;;
373+ * " 10 minutes" * ) omarchy-dynamic-bg-set-interval 10min ;;
374+ * " 30 minutes" * ) omarchy-dynamic-bg-set-interval 30min ;;
375+ * " 1 hour" * ) omarchy-dynamic-bg-set-interval 1h ;;
376+ * ) show_dynamic_bg_menu ; return ;;
377+ esac
378+ show_dynamic_bg_menu
379+ }
380+
381+ show_dynamic_bg_effect_menu () {
382+ local conf=" $HOME /.config/omarchy/dynamic-bg/dynamic-bg.conf"
383+ [[ -f $conf ]] && source " $conf "
384+
385+ case $( menu " Transition Effect" " Random\n Fade\n Wipe\n Grow\n Wave\n Outer" ) in
386+ * Random* ) omarchy-dynamic-bg-set-transition random " $DYNAMIC_BG_TRANSITION_DURATION " ;;
387+ * Fade* ) omarchy-dynamic-bg-set-transition fade " $DYNAMIC_BG_TRANSITION_DURATION " ;;
388+ * Wipe* ) omarchy-dynamic-bg-set-transition wipe " $DYNAMIC_BG_TRANSITION_DURATION " ;;
389+ * Grow* ) omarchy-dynamic-bg-set-transition grow " $DYNAMIC_BG_TRANSITION_DURATION " ;;
390+ * Wave* ) omarchy-dynamic-bg-set-transition wave " $DYNAMIC_BG_TRANSITION_DURATION " ;;
391+ * Outer* ) omarchy-dynamic-bg-set-transition outer " $DYNAMIC_BG_TRANSITION_DURATION " ;;
392+ * ) show_dynamic_bg_menu ; return ;;
393+ esac
394+ show_dynamic_bg_menu
395+ }
396+
397+ show_dynamic_bg_speed_menu () {
398+ local conf=" $HOME /.config/omarchy/dynamic-bg/dynamic-bg.conf"
399+ [[ -f $conf ]] && source " $conf "
400+
401+ case $( menu " Transition Speed" " 0.5s\n 1s\n 2s\n 3s\n 5s" ) in
402+ * " 0.5s" * ) omarchy-dynamic-bg-set-transition " $DYNAMIC_BG_TRANSITION_TYPE " 0.5 ;;
403+ * " 1s" * ) omarchy-dynamic-bg-set-transition " $DYNAMIC_BG_TRANSITION_TYPE " 1 ;;
404+ * " 2s" * ) omarchy-dynamic-bg-set-transition " $DYNAMIC_BG_TRANSITION_TYPE " 2 ;;
405+ * " 3s" * ) omarchy-dynamic-bg-set-transition " $DYNAMIC_BG_TRANSITION_TYPE " 3 ;;
406+ * " 5s" * ) omarchy-dynamic-bg-set-transition " $DYNAMIC_BG_TRANSITION_TYPE " 5 ;;
407+ * ) show_dynamic_bg_menu ; return ;;
408+ esac
409+ show_dynamic_bg_menu
333410}
334411
335412show_font_menu () {
0 commit comments