
theme:widget:add symbol

XTW_symbol_user='$'
XTW_symbol_ws='$'
XTW_symbol_root='#'
XTW_symbol_style_true=green
XTW_symbol_style_false="bold red"

___x_cmd_theme_widget_symbol(){
    [ $# -lt 3 ] || XTW_symbol_ws="$3"
    [ $# -lt 2 ] || XTW_symbol_root="$2"
    [ $# -lt 1 ] || XTW_symbol_user="$1"

    local x_=;  theme:feature:get symbol
    if [ -n "$x_" ]; then
        case "$x_" in
            auto)
                ;;
            custom*)
                # Notice for PERFORMANCE: eclist dosn't load by default during x-cmd startup.
                ___x_cmd eclist read "${x_#custom}" XTW_symbol_root XTW_symbol_user XTW_symbol_ws
                ;;
            *)
                eval "
                XTW_symbol_root=\"\$___X_CMD_THEME_SYMBOL_ROOT_${x_}\"
                XTW_symbol_user=\"\$___X_CMD_THEME_SYMBOL_USER_${x_}\"
                XTW_symbol_ws=\"\$___X_CMD_THEME_SYMBOL_WS_${x_}\"
                "
                ;;
        esac
    fi

    if [ "$UID" = "0" ]; then       X_symbol="$XTW_symbol_root"
    else                            X_symbol="$XTW_symbol_user"
    fi

    local style="${XTW_symbol_style_true}"
    theme:comp exitok
    [ -n "$x_exitok" ] || style="${XTW_symbol_style_false}"
    x_="";  ___x_cmd_theme_style_ "%${style}%" "${X_symbol}"
    X_symbol="$x_"
}
