From eb63fd55470eafd62bc245f61dd5fae1757c60b6 Mon Sep 17 00:00:00 2001 From: Ayush Agarwal Date: Fri, 18 Feb 2022 22:19:44 +0530 Subject: fix: parse config file options conditionally the pass and dmenu backends mentioned in the config file will be accepted only if they're not already set by the argparse menu which will be modified to run before the config file is parsed --- tessen | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tessen b/tessen index b6f006e..a6b5317 100755 --- a/tessen +++ b/tessen @@ -730,11 +730,15 @@ parse_config() { val="${idx#*\"}" val="${val%*\"}" # here comes the ladder - if [[ $key == "pass_backend" ]]; then + # the -p, -d, and -a options will be parsed and set only if they're not + # already set, i.e., from the argparse + if [[ $key == "pass_backend" ]] && [[ -z $pass_backend ]]; then validate_pass_backend "$val" - elif [[ $key == "dmenu_backend" ]]; then + readonly pass_backend + elif [[ $key == "dmenu_backend" ]] && [[ -z $dmenu_backend ]]; then validate_dmenu_backend "$val" - elif [[ $key == "action" ]]; then + readonly dmenu_backend + elif [[ $key == "action" ]] && [[ -z $tsn_action ]]; then validate_action "$val" readonly tsn_action elif [[ $key == "rofi_config_file" ]] && [[ -f ${val@P} ]]; then -- cgit v1.2.3