From 5fb5b5b108af6ed6f0725b5d5f34ad92c1bd926b Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Sat, 8 Jul 2023 18:53:37 -0400 Subject: [PATCH] Allow multiple lines of text before presenting radio options Former-commit-id: 46751c0b67133a277612c46086b21f5c2477cf48 Former-commit-id: db8800da451d469e1d42dae19a4ca77bf657c947 --- lib/stweak.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/stweak.py b/lib/stweak.py index c175c10..0fa3950 100644 --- a/lib/stweak.py +++ b/lib/stweak.py @@ -32,7 +32,7 @@ def curses_radio(_options, _pretext): stdscr.clear() stdscr.addstr(0, 0, _pretext) for _i, _option in enumerate(_options): - _y = _i + 2 + _y = _i + _pretext.count('\n') + 2 if _i == _selected: stdscr.addstr(_y, 0, "[*] " + _option, A_REVERSE) else: @@ -206,13 +206,14 @@ def quick_unlock_config(_default): if _default: _enabled = 'false' else: - _quick_unlock_sel = curses_radio(('no', 'yes'), 'enable quick-unlock?\n\n\n\n\nquick-unlock allows you to use ' - 'a shorter version of your gpg key passphrase and\nrequires a ' - 'constant connection to your sshyp server to authenticate\n\n' - 'WARNING: quick-unlock is only as secure as the environment' - ' you use it in\n\na compromised program on your computer could' - ' scan the process list in the\nbrief period during decryption ' - 'to retrieve the necessary information to decrypt your entries') + _quick_unlock_sel = curses_radio(('no', 'yes'), 'WARNING: quick-unlock is only as secure as the environment you' + ' use it in\n\nquick-unlock allows you to use a shorter version' + ' of your gpg key passphrase and\nrequires a constant ' + 'connection to your sshyp server to authenticate\n\na ' + 'compromised program on your computer could scan the process ' + 'list in the\nbrief period during decryption to retrieve the ' + 'necessary information to decrypt your entries\n\nenable ' + 'quick-unlock?') if _quick_unlock_sel == 1: _enabled = 'true' else: @@ -229,10 +230,9 @@ def refresh_encryption(): _directory = sshyp_data.get('SSHYNC', 'local_dir').rstrip('/') # warn the user of potential data loss and prompt to continue - _proceed = curses_radio(('no', 'yes'), "are you sure you wish to re-encrypt all entries?\n\n\n\n\nWARNING: " - "proceeding with this action will remove/overwrite any directories matching" - " the following:\n\n" - f"{home}/.local/share/sshyp.old\n{home}/.local/share/sshyp.new\n\n") + _proceed = curses_radio(('no', 'yes'), "WARNING: proceeding with this action will remove/overwrite any directories" + f" matching the following:\n\n{home}/.local/share/sshyp.old\n{home}/.local/" + "share/sshyp.new\n\nare you sure you wish to re-encrypt all entries?") if _proceed != 1: return 3