From 216cd98c0a5c62b50cef73e106f531d0de76ad3c Mon Sep 17 00:00:00 2001 From: rootzoll Date: Mon, 16 Aug 2021 16:41:23 +0200 Subject: [PATCH] dynamic menu HEIGHT & CHOICE_HEIGHT --- home.admin/00mainMenu.sh | 2 +- home.admin/00parallelChainsMenu.sh | 20 +++----------------- home.admin/00settingsMenuBasics.sh | 5 +++-- home.admin/99clnMenu.sh | 12 ++++-------- home.admin/99connectMenu.sh | 8 ++------ home.admin/99lndMenu.sh | 14 ++++---------- home.admin/99systemMenu.sh | 10 ++++------ home.admin/99updateMenu.sh | 4 +--- 8 files changed, 22 insertions(+), 53 deletions(-) diff --git a/home.admin/00mainMenu.sh b/home.admin/00mainMenu.sh index 27d4f501..dfbf46a9 100755 --- a/home.admin/00mainMenu.sh +++ b/home.admin/00mainMenu.sh @@ -178,7 +178,7 @@ OPTIONS+=(REBOOT "Reboot RaspiBlitz") OPTIONS+=(OFF "PowerOff RaspiBlitz") -CHOICE_HEIGHT=$(("${#OPTIONS[@]}")) +CHOICE_HEIGHT=$(("${#OPTIONS[@]}/2+1")) HEIGHT=$((CHOICE_HEIGHT+6)) CHOICE=$(dialog --clear \ --backtitle "$BACKTITLE" \ diff --git a/home.admin/00parallelChainsMenu.sh b/home.admin/00parallelChainsMenu.sh index d1a1bb90..223f760e 100644 --- a/home.admin/00parallelChainsMenu.sh +++ b/home.admin/00parallelChainsMenu.sh @@ -37,9 +37,7 @@ fi source <(/home/admin/config.scripts/internet.sh status local) # BASIC MENU INFO -HEIGHT=10 WIDTH=64 -CHOICE_HEIGHT=3 BACKTITLE="${CHAIN} options" TITLE="" MENU="Choose one of the following options:" @@ -59,56 +57,44 @@ if [ $chain = test ]&&[ "$trtlWebinterface" = "on" ]||\ [ $chain = sig ]&& [ "$srtlWebinterface" = "on" ]||\ [ $chain = main ]&&[ "$rtlWebinterface" = "on" ]; then OPTIONS+=(RTL "RTL Web Node Manager for LND ${CHAIN}") - HEIGHT=$((HEIGHT+1)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+1)) fi if [ $chain = test ]&&[ "$tlnd" = "on" ]||\ [ $chain = sig ]&& [ "$slnd" = "on" ]||\ [ $chain = main ]&&[ "$lnd" = "on" ]; then OPTIONS+=(LND "LND options for ${CHAIN}") - HEIGHT=$((HEIGHT+1)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+1)) fi if [ "$chain" = "test" ]&&[ "$tcrtlWebinterface" = "on" ]||\ [ "$chain" = "sig" ]&& [ "$scrtlWebinterface" = "on" ]||\ [ "$chain" = "main" ]&&[ "$crtlWebinterface" = "on" ]; then OPTIONS+=(cRTL "RTL Web Node Manager for C-lightning ${CHAIN}") - HEIGHT=$((HEIGHT+1)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+1)) fi if [ "$chain" = "test" ]&&[ "$tcln" = "on" ]||\ [ "$chain" = "sig" ]&& [ "$scln" = "on" ]||\ [ "$chain" = "main" ]&&[ "$cln" = "on" ]; then OPTIONS+=(CLN "C-lightning options for ${CHAIN}") - HEIGHT=$((HEIGHT+1)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+1)) fi OPTIONS+=(INFO "RaspiBlitz Status Screen for ${CHAIN}") if [ "$testnet" == "on" ]; then -OPTIONS+=(SERVICES "Additional Apps & Services on ${CHAIN}") - HEIGHT=$((HEIGHT+1)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+1)) + OPTIONS+=(SERVICES "Additional Apps & Services on ${CHAIN}") fi OPTIONS+=(SYSTEM "Monitoring & Configuration") #TODO OPTIONS+=(CONNECT "Connect Apps & Show Credentials") if [ $nonDefaultLNtype = 1 ];then OPTIONS+=(SWITCHLN "Make ${LNTYPE} the default lightning wallet") - HEIGHT=$((HEIGHT+1)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+1)) fi if [ $nonDefaultChain = 1 ];then OPTIONS+=(MKDEFAULT "Make ${CHAIN} the default chain") - HEIGHT=$((HEIGHT+1)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+1)) fi +CHOICE_HEIGHT=$(("${#OPTIONS[@]}/2+1")) +HEIGHT=$((CHOICE_HEIGHT+6)) CHOICE=$(dialog --clear \ --backtitle "$BACKTITLE" \ --title "$TITLE" \ diff --git a/home.admin/00settingsMenuBasics.sh b/home.admin/00settingsMenuBasics.sh index 69f9604f..a6c3a619 100755 --- a/home.admin/00settingsMenuBasics.sh +++ b/home.admin/00settingsMenuBasics.sh @@ -105,8 +105,9 @@ if [ ${chain} = "main" ];then fi fi -CHOICE_HEIGHT=$(("${#OPTIONS[@]}")) -CHOICES=$(dialog --title ' Node Settings & Options ' --checklist ' use spacebar to activate/de-activate ' $CHOICE_HEIGHT 45 $CHOICE_HEIGHT "${OPTIONS[@]}" 2>&1 >/dev/tty) +CHOICE_HEIGHT=$(("${#OPTIONS[@]}/2+1")) +HEIGHT=$((CHOICE_HEIGHT+6)) +CHOICES=$(dialog --title ' Node Settings & Options ' --checklist ' use spacebar to activate/de-activate ' $HEIGHT 45 $CHOICE_HEIGHT "${OPTIONS[@]}" 2>&1 >/dev/tty) dialogcancel=$? clear diff --git a/home.admin/99clnMenu.sh b/home.admin/99clnMenu.sh index a8d66e84..a58a4787 100644 --- a/home.admin/99clnMenu.sh +++ b/home.admin/99clnMenu.sh @@ -11,9 +11,7 @@ source <(/home/admin/config.scripts/network.aliases.sh getvars cln $1) source <(/home/admin/config.scripts/internet.sh status local) # BASIC MENU INFO -HEIGHT=14 WIDTH=64 -CHOICE_HEIGHT=8 BACKTITLE="RaspiBlitz" TITLE="C-Lightning Options" MENU="" @@ -32,20 +30,18 @@ ln_channels_online="$(echo "${ln_getInfo}" | jq -r '.num_active_channels')" 2>/d cln_num_inactive_channels="$(echo "${ln_getInfo}" | jq -r '.num_inactive_channels')" 2>/dev/null openChannels=$((ln_channels_online+cln_num_inactive_channels)) if [ ${#openChannels} -gt 0 ] && [ ${openChannels} -gt 0 ]; then -OPTIONS+=(SUEZ "Visualize channels") -OPTIONS+=(CLOSEALL "Close all open Channels on $CHAIN") - HEIGHT=$((HEIGHT+2)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+2)) + OPTIONS+=(SUEZ "Visualize channels") + OPTIONS+=(CLOSEALL "Close all open Channels on $CHAIN") fi if [ ${#LNdefault} -gt 0 ]&&[ $LNdefault = lnd ];then OPTIONS+=(SWITCHLN "Use C-lightning as default") - HEIGHT=$((HEIGHT+1)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+1)) fi OPTIONS+=(CASHOUT "Withdraw all funds from C-lightning on $CHAIN") +CHOICE_HEIGHT=$(("${#OPTIONS[@]}/2+1")) +HEIGHT=$((CHOICE_HEIGHT+6)) CHOICE=$(dialog --clear \ --backtitle "$BACKTITLE" \ --title "$TITLE" \ diff --git a/home.admin/99connectMenu.sh b/home.admin/99connectMenu.sh index bdbb35f0..e7f6abf9 100644 --- a/home.admin/99connectMenu.sh +++ b/home.admin/99connectMenu.sh @@ -9,9 +9,7 @@ source /mnt/hdd/raspiblitz.conf source <(/home/admin/config.scripts/internet.sh status local) # BASIC MENU INFO -HEIGHT=12 WIDTH=64 -CHOICE_HEIGHT=6 BACKTITLE="RaspiBlitz" TITLE="Connect Options" MENU="" @@ -20,13 +18,9 @@ OPTIONS=() OPTIONS+=(MOBILE "Connect Mobile Wallet") if [ "${ElectRS}" == "on" ]; then OPTIONS+=(ELECTRS "Electrum Rust Server") - HEIGHT=$((HEIGHT+1)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+1)) fi if [ "${BTCPayServer}" == "on" ]; then OPTIONS+=(BTCPAY "Show LND connection string") - HEIGHT=$((HEIGHT+1)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+1)) fi OPTIONS+=(${network}RPC "Connect Specter Desktop or JoinMarket") OPTIONS+=(BISQ "Connect Bisq to this node") @@ -34,6 +28,8 @@ OPTIONS+=(EXPORT "Get Macaroons and TLS.cert") OPTIONS+=(RESET "Recreate LND Macaroons & tls.cert") OPTIONS+=(SYNC "Sync Macaroons & tls.cert with Apps/Users") +CHOICE_HEIGHT=$(("${#OPTIONS[@]}/2+1")) +HEIGHT=$((CHOICE_HEIGHT+6)) CHOICE=$(dialog --clear \ --backtitle "$BACKTITLE" \ --title "$TITLE" \ diff --git a/home.admin/99lndMenu.sh b/home.admin/99lndMenu.sh index 6350b675..e202a434 100644 --- a/home.admin/99lndMenu.sh +++ b/home.admin/99lndMenu.sh @@ -11,9 +11,7 @@ source <(/home/admin/config.scripts/internet.sh status local) source <(/home/admin/config.scripts/network.aliases.sh getvars lnd $1) # BASIC MENU INFO -HEIGHT=13 WIDTH=64 -CHOICE_HEIGHT=7 BACKTITLE="RaspiBlitz" TITLE="Lightning Options" MENU="" @@ -29,27 +27,23 @@ if [ "${chain}" = "main" ]; then OPTIONS+=(lnbalance "Detailed Wallet Balances") OPTIONS+=(lnchannels "Lightning Channel List") OPTIONS+=(lnfwdreport "Lightning Forwarding Events Report") - HEIGHT=$((HEIGHT+3)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+3)) fi OPTIONS+=(NAME "Change Name/Alias of Node") openChannels=$($lncli_alias listchannels 2>/dev/null | jq '.[] | length') if [ ${#openChannels} -gt 0 ] && [ ${openChannels} -gt 0 ]; then -OPTIONS+=(SUEZ "Visualize channels") -OPTIONS+=(CLOSEALL "Close all open Channels on $CHAIN") - HEIGHT=$((HEIGHT+2)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+2)) + OPTIONS+=(SUEZ "Visualize channels") + OPTIONS+=(CLOSEALL "Close all open Channels on $CHAIN") fi OPTIONS+=(CASHOUT "Withdraw all funds from LND on $CHAIN") if [ ${#LNdefault} -gt 0 ]&&[ $LNdefault = cln ];then OPTIONS+=(SWITCHLN "Use LND as default") - HEIGHT=$((HEIGHT+1)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+1)) fi +CHOICE_HEIGHT=$(("${#OPTIONS[@]}/2+1")) +HEIGHT=$((CHOICE_HEIGHT+6)) CHOICE=$(dialog --clear \ --backtitle "$BACKTITLE" \ --title "$TITLE" \ diff --git a/home.admin/99systemMenu.sh b/home.admin/99systemMenu.sh index 81703102..e3688265 100644 --- a/home.admin/99systemMenu.sh +++ b/home.admin/99systemMenu.sh @@ -9,9 +9,7 @@ source /mnt/hdd/raspiblitz.conf source <(/home/admin/config.scripts/network.aliases.sh getvars cln $1) # BASIC MENU INFO -HEIGHT=12 # add 6 to CHOICE_HEIGHT + MENU lines WIDTH=64 -CHOICE_HEIGHT=6 # 1 line / OPTIONS BACKTITLE="RaspiBlitz" TITLE="${CHAIN} System Options" MENU="" # adds lines to HEIGHT @@ -25,18 +23,18 @@ OPTIONS+=(LNDCONF "Edit the lnd.conf for ${CHAIN}") if grep "^${netprefix}cln=on" /mnt/hdd/raspiblitz.conf;then OPTIONS+=(CLNLOG "Monitor the CLN log for ${CHAIN}") OPTIONS+=(CLNCONF "Edit the CLN config for ${CHAIN}") - HEIGHT=$((HEIGHT+2)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+2)) fi if [ "${runBehindTor}" == "on" ]; then OPTIONS+=(TORLOG "Monitor the Tor Service with Nyx") OPTIONS+=(TORRC "Edit the Tor Configuration") - HEIGHT=$((HEIGHT+2)) - CHOICE_HEIGHT=$((CHOICE_HEIGHT+2)) fi + OPTIONS+=(CUSTOMLOG "Monitor a custom service") OPTIONS+=(CUSTOMRESTART "Restart a custom service") + +CHOICE_HEIGHT=$(("${#OPTIONS[@]}/2+1")) +HEIGHT=$((CHOICE_HEIGHT+6)) CHOICE=$(dialog --clear \ --backtitle "$BACKTITLE" \ --title "$TITLE" \ diff --git a/home.admin/99updateMenu.sh b/home.admin/99updateMenu.sh index b2382633..387560fd 100755 --- a/home.admin/99updateMenu.sh +++ b/home.admin/99updateMenu.sh @@ -373,9 +373,7 @@ if [ "$1" == "github" ]; then fi # Basic Options Menu -HEIGHT=10 # add 6 to CHOICE_HEIGHT + MENU lines WIDTH=55 -CHOICE_HEIGHT=4 # 1 line / OPTIONS OPTIONS=() OPTIONS+=(RELEASE "RaspiBlitz Release Update/Recovery") OPTIONS+=(PATCH "Patch RaspiBlitz v${codeVersion}") @@ -417,7 +415,7 @@ if [ "${runBehindTor}" == "on" ]; then OPTIONS+=(TOR "Update Tor from the source code") fi -CHOICE_HEIGHT=$(("${#OPTIONS[@]}")) +CHOICE_HEIGHT=$(("${#OPTIONS[@]}/2+1")) HEIGHT=$((CHOICE_HEIGHT+6)) CHOICE=$(dialog --clear \ --backtitle "" \