#!/bin/bash # Configure Stormux # A script to configure the system for new users. # # Copyright 2020, Storm Dragon, # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free # Software Foundation; either version 3, or (at your option) any later # version. # # This software is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this package; see the file COPYING. If not, write to the Free # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # #--code-- # UI code starts here. # Settings to improve accessibility of dialog. export DIALOGOPTS='--insecure --no-lines --visit-items' inputbox() { # Returns: text entered by the user # Args 1, Instructions for box. # args: 2 initial text (optional) dialog --backtitle "Stormux" \ --clear \ --inputbox "$1" 0 0 "$2" --stdout } passwordbox() { # Returns: text entered by the user # Args 1, Instructions for box. # args: 2 initial text (optional) dialog --backtitle "Stormux" \ --clear \ --passwordbox "$1" 0 0 "$2" --stdout } msgbox() { # Returns: None # Shows the provided message on the screen with an ok button. dialog --clear --msgbox "$*" 10 72 } infobox() { # Returns: None # Shows the provided message on the screen with no buttons. local timeout=3 dialog --infobox "$*" 0 0 read -n1 -t $timeout continue # Clear any keypresses from the buffer read -t 0.01 continue } yesno() { # Returns: Yes or No # Args: Question to user. # Called in if $(yesno) == "Yes" # Or variable=$(yesno) dialog --clear --backtitle "Stormux" --yesno "$*" 10 80 --stdout if [[ $? -eq 0 ]]; then echo "Yes" else echo "No" fi } menulist() { # Args: List of items for menu. # returns: selected tag local menuList for i in "${@}" ; do menuList+=("$i" "$i") done dialog --backtitle "Stormux" \ --clear \ --no-tags \ --menu "Please select an option" 0 0 0 "${menuList[@]}" --stdout return $? } show_doc() { # Displays file in w3m using pager mode # Args: path to file. # Returns: none. fold -sw $cols "$1" | w3m -o keymap_file=~/.w3m/pager }