Author Topic: vsido console app launcher menu: clapps  (Read 4952 times)

Digit

  • Techno Hippie
  • Posts: 295
  • savant (alegedly), polymath (wannabe)
    • View Profile
    • wastedartist.com
vsido console app launcher menu: clapps
« on: January 10, 2014, 05:31:59 PM »
Regarding a console menu, y'all that want it ... build it and I will implement it...

here's a start... just something quick n simple to get the ball rolling... this was my notion of what it could be like... albeit with a considerably shorter, n more slap-dash list and ordering of options to choose from.

i have called it "clapps"
as in "command line apps"... i know it's not really all strictly "command line" apps, n more "terminal user interface" apps... but i couldnt pass up the name "clapps"

Code: [Select]
#! /bin/bash

clappsmenu() {
#top menu of clapps, first question
echo "what do you want to run?
1) aptitude     #tui package manager
2) archey       #nicely shows what you're running
3) screenfetch  #also nicely shows the same
4) inxi -wx     #your timezone's weather
5) inxi -F      #everything you ever wanted to know about your computer
6) ncdu         #where the big stuff is clogging up your storage     
7) htop         #what's running, n what's it doing, n how much it chewing
8) other

enter number preference of preference:"


read CLAPPSCHOOSE
case $CLAPPSCHOOSE in
        1)
                echo "Choice was $CLAPPSCHOOSE"
                aptitude               
                ;;
        2)
                echo "Choice was $CLAPPSCHOOSE, now making it so."
                archey               
                ;;
        3)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                screenfetch
                ;;
        4)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                inxi -wx
                ;;
        5)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                inxi -F
                ;;
        6)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                ncdu
                ;;
        7)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                htop
                ;;
        8)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                echo "idkwtf goes here...  something, surely."
                sleep 1
                echo "come help write more, here:"
                sleep 1
                echo "http://vsido.org/index.php?topic=667.0"
                ;;
        *)
                echo "Valid Choices are 1,2,3,4,5,6,7,8"
                exit 1
                ;;
esac
}

clappsmenu


so, please, do feel free to pitch in and populate/re-order it, spruce it up with whatever nice clean bells n whistles will make it better. :)

VastOne

  •      v-ger
  • Posts: 3961
    • View Profile
    • VSIDO Community
Re: vsido console app launcher menu: clapps
« Reply #1 on: January 10, 2014, 05:43:13 PM »
Brilliant...

I hope to see others involved with this

Well done savant!
VSIDO      VSIDO Twitter     VSIDO FB     VSIDO Google+   

I dev VSIDO

VastOne

  •      v-ger
  • Posts: 3961
    • View Profile
    • VSIDO Community
Re: vsido console app launcher menu: clapps
« Reply #2 on: January 10, 2014, 05:53:51 PM »
BTW,

Code: [Select]
inxi -Wxxxxx

x = zip code, postal code; city,[state/country]; latitude,longitude

shows specific location weather
VSIDO      VSIDO Twitter     VSIDO FB     VSIDO Google+   

I dev VSIDO

PackRat

  • Posts: 1965
    • View Profile
Re: vsido console app launcher menu: clapps
« Reply #3 on: January 10, 2014, 06:20:03 PM »
^ I didn't know inxi provided weather info; not to hijack the thread, but how could that info be piped to awk to only get the weather without the time? I can't get it to work.

an ncurses apps -

cdw #cd burning tool, installable from repos
I am tired of talk that comes to nothing.
-- Chief Joseph

...the sun, the darkness, the winds are all listening to what we have to say.
-- Geronimo

VastOne

  •      v-ger
  • Posts: 3961
    • View Profile
    • VSIDO Community
Re: vsido console app launcher menu: clapps
« Reply #4 on: January 10, 2014, 06:30:58 PM »
^ HA

Already done it... last night... after discovering inxi did weather for the first time

Here is how I have it in my top conky line

Code: [Select]
${color 7D8C93}My City ${color 55688A} ${execi 60 inxi -Wxxxxx | cut -c31-34}°
You might have to work on the cut parameters to get yours lined up correctly
VSIDO      VSIDO Twitter     VSIDO FB     VSIDO Google+   

I dev VSIDO

Digit

  • Techno Hippie
  • Posts: 295
  • savant (alegedly), polymath (wannabe)
    • View Profile
    • wastedartist.com
Re: vsido console app launcher menu: clapps
« Reply #5 on: January 10, 2014, 07:36:55 PM »
added a sub-menu, to show one possible direction we could go with this, leaving a shorter list of featured commands on the top level that you'd want to get folks (especially new users) educated about.
Code: [Select]
#! /bin/bash

clappsmenu() {
#top menu of clapps, first question
echo "what do you want to run?
1) aptitude     #tui package manager
2) archey       #nicely shows what you're running
3) screenfetch  #also nicely shows the same
4) inxi stuff   #inxi can tell you lots
5) cdw          #ncurses cd writer (if you installed it)
6) ncdu         #where the big stuff is clogging up your storage     
7) htop         #what's running, n what's it doing, n how much it chewing
8) other

enter number preference of preference:"


read CLAPPSCHOOSE
case $CLAPPSCHOOSE in
        1)
                echo "Choice was $CLAPPSCHOOSE"
                aptitude               
                ;;
        2)
                echo "Choice was $CLAPPSCHOOSE, now making it so."
                archey               
                ;;
        3)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                screenfetch
                ;;
        4)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                inximenu
                ;;
        5)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                cdw
                ;;
        6)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                ncdu
                ;;
        7)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                htop
                ;;
        8)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                echo "idkwtf goes here...  something, surely."
                sleep 1
                echo "come help write more, here:"
                sleep 1
                echo "http://vsido.org/index.php?topic=667.0"
                ;;
        *)
                echo "Valid Choices are 1,2,3,4,5,6,7,8"
                exit 1
                ;;
esac
}

inximenu() {
#inxi menu of clapps, first question
echo "what do you want inxi to do?
1) inxi -F         #show me information overload about my system.
2) inxi -wx    #some weather info (timezone based)
3) inxi -wxxxx    #lots more weather info
4) more...
enter the number corresponding to the command you want:"

read INXICHOOSE
case $INXICHOOSE in
     1)
echo "since you chose $INXICHOOSE, you clearly want the moon on a stick"
inxi -F
;;
     2)
echo "have at, with $INXICHOOSE"
inxi -wx
;;
     3)
echo " $INXICHOOSE selected."
echo "what aint no country i ever heard of.  they have weather in what?"
echo "in \"inxi -wxxxx\":"
echo "x = zip code, postal code; city,[state/country]; latitude,longitude"
echo "so now you know.   :)"
inxi -wxxx
;;
     4)
echo "if you know more about inxi than this, please help:"
echo "http://vsido.org/index.php?topic=667.0"
;;
     *)
echo "i dont know what you tried to press, or what you want.  taking you back to the top level clapps menu..."
sleep 1
clappsmenu
;;
esac

}

#it all starts here.  this launches the top level menu.
clappsmenu

additionally...
i shant go too mad on it yet.  see what other grand wizards of bash come along n add.   like vasty mentioned to me
Quote
the old many heads better than 2 idea
but i do want to at least make a quick note of some of the other ideas bouncing around:



* yad'ify it to make selections that way also
* smxi stuff added in too, with
  - sudo / gksu
  -- "if"ed to determine if run from gui, or tty, and
  --- exit out of x, with warning "are you sure", to run it.
* marked out for -v/-q for verbose/quiet   (cos i was gettin rather lippy)
* add a -h/--help ~er, if that's really all that needed... maybe if more options (like -v/-q and more) are added.
* option to remaster your own vsido backup iso
* option to re-run the vsido-welcome script
* have the options have "clapps" again after (some of) the command(s)... so the user effectively stays in clapps, for easier further exploring.
* other useful n informative stuffs.  ;)

VastOne

  •      v-ger
  • Posts: 3961
    • View Profile
    • VSIDO Community
Re: vsido console app launcher menu: clapps
« Reply #6 on: January 10, 2014, 08:28:14 PM »
With the right amount of user base knowledge and input, I can see this developing into an application... I can see a SandBox area created and even more apps getting created

I can hear the silly ghost telling the silly farmer ... 'If you build it, they will come'
VSIDO      VSIDO Twitter     VSIDO FB     VSIDO Google+   

I dev VSIDO

PackRat

  • Posts: 1965
    • View Profile
Re: vsido console app launcher menu: clapps
« Reply #7 on: January 11, 2014, 05:31:50 PM »
^ HA

Already done it... last night... after discovering inxi did weather for the first time

Here is how I have it in my top conky line

Code: [Select]
${color 7D8C93}My City ${color 55688A} ${execi 60 inxi -Wxxxxx | cut -c31-34}°
You might have to work on the cut parameters to get yours lined up correctly

Thanks; I was thinking of dropping it into conky too, but I wanted to use awk to get all the "Conditions" so that if it was "sunny" or "scattered thundershowers" it would get the whole field.

back on topic -

tmux #also installable from repos

handy if you also set one of your terminals (like xterm) to be maximized or full screen in the ~/.fluxbox/apps file, then -

Code: [Select]
xterm -e tmux
starts full screen tmux session.
I am tired of talk that comes to nothing.
-- Chief Joseph

...the sun, the darkness, the winds are all listening to what we have to say.
-- Geronimo

Snap

  • Posts: 474
    • View Profile
Re: vsido console app launcher menu: clapps
« Reply #8 on: August 05, 2015, 05:48:54 PM »
Forum necromancy, sorry... I think it worths it.

FYI, I don't know how inxi -w works out there, but here in Spain is not very useful unless you live in Guadalajara. (I happen to live 60 Km away from there). When you install the system and you are prompted to select the time zone for your country, here we are offered two choices: Mainland, Baleares Islands, Ceuta & Melilla, or the Canary Islands (Two time zones for Spain). It seems that only two default servers are used for ntp. The mainland one apparently located in Guadalajara for the whole time zone (UTC +1) and another server for the Canaries (UTC). So, if not living in Guadalajara inxi -w gives a not very useful info, like being in Barcelona (600 Km away) or Melilla (in a different continent - Africa).

If that's your case it might be useful to include a more precise weather script in clapps. IIRC, VastOne planned to include hackerdefo's pmwf in future releases.

https://github.com/hakerdefo/pmwf

I'm working a bit in clapps. Hope to post an upgraded/increased version soon.

Snap

  • Posts: 474
    • View Profile
Re: vsido console app launcher menu: clapps
« Reply #9 on: August 05, 2015, 06:53:25 PM »
Here's the current state

-EDIT: Updated

- Added pmytd and an exit option.
- archey and screenfetch are now part of a submenu.
- lynx added.
- scrot added.
- cleanup: my poor editing leftover crap corrected.

Code: [Select]
#! /bin/bash

clappsmenu() {
#top menu of clapps, first question
echo "what do you want to run?
1) aptitude     #tui package manager
2) pmytd        #poorman's youtube downloader
3) scrot #screenshot or it never happened
4) fetch info   #nicely shows what you're running
5) inxi stuff   #inxi can tell you lots
6) cdw          #ncurses cd writer (if you installed it)
7) ncdu         #where the big stuff is clogging up your storage     
8) htop         #what's running, n what's it doing, n how much it chewing
9) lynx #off you go to surf the web
10) other
11) exit

enter number preference of preference:"


read CLAPPSCHOOSE
case $CLAPPSCHOOSE in
        1)
                echo "Choice was $CLAPPSCHOOSE"
                aptitude               
                ;;
        2)
                echo "Choice was $CLAPPSCHOOSE, now making it so."
                pmytd               
                ;;
3)
      echo "Choice was $CLAPPSCHOOSE so that is what you get"
                scrotmenu
                ;;
        4)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                fetchmenu
                ;;
        5)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                inximenu
                ;;
        6)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                cdw
                ;;
        7)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                ncdu
                ;;
        8)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                htop
                ;;
9)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                lynx https://startpage.com/eng/
                ;;
        10)
                echo "Choice was $CLAPPSCHOOSE so that is what you get"
                echo "idkwtf goes here...  something, surely."
                sleep 1
                echo "come help write more, here:"
                sleep 1
                echo "http://vsido.org/index.php?topic=667.0"
                ;;
11)
clear
echo ""
echo -e "   Good bye!"
echo ""
sleep 1
clear
exit 0
;;
        *)
                echo "Valid Choices are 1 to 11"
                exit 1
                ;;
esac
}

scrotmenu() {
#scrot menu of clapps, first question
echo "choose an option
1) now
2) in 5 seconds...
3) in 10 seconds...
4) focused window
5) selected area

enter the number corresponding to the command you want:"

read SCROTMENU
case $SCROTMENU in
     1)
scrot '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/scrots/ && mirage ~/images/scrots/$f'
;;
     2)
scrot -d 5 '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/scrots/ && mirage ~/images/scrots/$f'
;;
     3)
scrot -d 10 '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/scrots/ && mirage ~/images/scrots/$f'
;;
     4)
scrot -u '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/scrots/ && mirage ~/images/scrots/$f'
;;
     5)
scrot -s '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/scrots/ && mirage ~/images/scrots/$f'
;;
     *)
echo "i dont know what you tried to press, or what you want.  taking you back to the top level clapps menu..."
sleep 1
clappsmenu
;;
esac

}

fetchmenu() {
#fetch menu of clapps, first question
echo "choose an option to show the info
1) archey          #nicely shows what you're running
2) screefetch    #also nicely shows the same
enter the number corresponding to the command you want:"

read FETCHMENU
case $FETCHMENU in
     1)
echo "Choice was $FETCHMENU, now making it so."
archey
;;
     2)
echo "Choice was $FETCHMENU, so that is what you get"
screenfetch
;;
     *)
echo "i dont know what you tried to press, or what you want.  taking you back to the top level clapps menu..."
sleep 1
clappsmenu
;;
esac

}

inximenu() {
#inxi menu of clapps, first question
echo "what do you want inxi to do?
1) inxi -F         #show me information overload about my system.
2) inxi -wx    #some weather info (timezone based)
3) inxi -wxxxx    #lots more weather info
4) more...
enter the number corresponding to the command you want:"

read INXICHOOSE
case $INXICHOOSE in
     1)
echo "since you chose $INXICHOOSE, you clearly want the moon on a stick"
inxi -F
;;
     2)
echo "have at, with $INXICHOOSE"
inxi -wx
;;
     3)
echo " $INXICHOOSE selected."
echo "what aint no country i ever heard of.  they have weather in what?"
echo "in \"inxi -wxxxx\":"
echo "x = zip code, postal code; city,[state/country]; latitude,longitude"
echo "so now you know.   :)"
inxi -wxxx
;;
     4)
echo "if you know more about inxi than this, please help:"
echo "http://vsido.org/index.php?topic=667.0"
;;
     *)
echo "i dont know what you tried to press, or what you want.  taking you back to the top level clapps menu..."
sleep 1
clappsmenu
;;
esac

}

#it all starts here.  this launches the top level menu.
clappsmenu

Working on adding some more default vsido goodies.

Snap

  • Posts: 474
    • View Profile
Re: vsido console app launcher menu: clapps
« Reply #10 on: August 06, 2015, 07:42:39 AM »
I don't think this is the more convenient way of using scrot. I much prefer it on menu to have it all just a right click away, but according to this:

Quote
leaving a shorter list of featured commands on the top level that you'd want to get folks (especially new users) educated about.

I guess it fits here.

hakerdefo

  • Posts: 520
    • View Profile
    • Looking at Linux through the Windows of Life
Re: vsido console app launcher menu: clapps
« Reply #11 on: August 06, 2015, 06:05:33 PM »
Snap,
Thanks for reviving this Snap! And a great start too!
Cheers!!!
You Can't Always Git What You Want

Snap

  • Posts: 474
    • View Profile
Re: vsido console app launcher menu: clapps
« Reply #12 on: August 08, 2015, 09:42:33 AM »
Been lurking at the BBQ tools lately. Some nice scripts there but this one got all my attention. It might be a nice reference for clappsmenu or a more global Vsido tool. have a peek:

Code: [Select]
#!/bin/bash

# The BBQ CLI Menu
# May-July 2013 <bacon@linuxbbq.org>
# this time only depending on dialog

# set fancy colors
# using .dialogrc

# set var
INPUT=/tmp/menu.sh.$$

# set function for upgrade warning
function upgrade(){
#wget http://linuxbbq.org/feed_format.txt -O /tmp/feed_format.txt
#dialog --backtitle "LinuxBBQ - Bork Your Own" --title "Upgrade warnings" --textbox /tmp/feed_format.txt 0 0
#rm /tmp/feed_format.txt
newsbeuter
}

# bbq system hospital
function bbqfix(){
dialog --backtitle "LinuxBBQ - Start" --title "System Hospital" --menu " \n" 0 0 0 \
1 "Configure network" \
2 "Install APT listbugs" \
3 "Update and Upgrade" \
a "Set timezone" \
k "Set keymap" \
l "Set localization" \
c "Reset and fix soundcard" \
C "Fix Maestro and ESS soundcards" \
d "Edit sources.list" \
e "Update GRUB2" \
f "Repair GRUB" \
g "Remove unused kernels" \
A "Get kernels" \
B "Frenchmaid System Cleaner" \
i "Reconfigure all packages through dpkg" \
j "Update application alternatives" \
m "Configure and check network" \
n "Edit HOSTS file" \
o "Add adblocking to HOSTS file" \
p "Run testdisk to repair hard drives" \
r "Install nVidia drivers" \
s "Edit Sources List" \
t "Edit GRUB file" \
u "Change Distro Defaults" \
v "Install localepurge and remove unused locales" \
w "Remove orphaned packages" \
S "Create a snapshot of the running system" \
b "Back to Main" \
x "Exit BBQ Menu" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
2) sudo apt-get update && sudo apt-get install apt-listbugs ;;
3) sudo apt-get update && sudo apt-get dist-upgrade ;;
A) get-kernel ;;
B) frenchmaid ;;
D) sudo chkrootkit && read ;;
S) sudo bbqsnapshot;;
1) sudo ceni;;
w) sudo orphaner;;
v) sudo apt-get install localepurge && sudo localepurge;;
h) bbqcups;;
i) sudo dpkg-reconfigure --all;;
j) sudo update-alternatives --all;;
k) sudo dpkg-reconfigure keyboard-configuration;;
l) sudo dpkg-reconfigure locales;;
m) sudo service networking restart && service network-manager restart;;
n) sudo nano /etc/hosts;;
o) sudo adblock-host;;
p) sudo testdisk;;
q) bbqasian;;
r) sudo bbqnvidia;;
s) sudo nano /etc/apt/sources.list.d/bbq.list;;
t) sudo nano /etc/default/grub;;
u) sudo bbq-distro-defaults;;
a) sudo dpkg-reconfigure tzdata;;
b) sudo ntpdate 0.nl.pool.ntp.org;;
c) fixsnd;;
C) fixess;;
d) sudo nano /etc/apt/sources.list.d/bbq.list;;
e) sudo update-grub;;
f) sudo grubrepair;;
g) sudo kernel-remover -F text;;
b) main;;
x) exit 0;;
esac
bbqfix
}

# set function for the office menu
function office(){
dialog --backtitle "LinuxBBQ - Start" --title "Office" --menu " \n" 0 0 0 \
W "Word Processor" \
S "Spreadsheet" \
N "Newsreader" \
a "Address Book" \
d "Calendar" \
c "Calculator" \
t "To Do" \
p "Personal Information Manager" \
b "Back to Main" \
x "Exit BBQ Menu" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
W) mcedit;;
S) sc;;
E) mutt;;
N) newsbeuter;;
A) alsamixer;;
r) bbqradio;;
m) mocp -T slob;;
T) tv;;
l) shell-fm;;
a) abook;;
c) bc;;
t) calcurse;;
p) tina;;
d) wyrd;;
b) main;;
x) exit 0;;
esac
office
}

# media menu
function media(){
dialog --backtitle "LinuxBBQ - Start" --title "Multimedia" --menu " \n" 0 0 0 \
A "Alsamixer" \
r "Radio" \
R "Raffles Radio Player" \
c "CPlay" \
p "PMS" \
b "Back to Main" \
x "Exit BBQ Menu" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
p) pms;;
R) raffles;;
A) alsamixer;;
r) bbqradio;;
c) cplay;;
T) tv;;
b) main;;
x) exit 0;;
esac
media
}

# Network Menu
function network(){
dialog --backtitle "LinuxBBQ - Start" --title "Network" --menu " \n" 0 0 0 \
d "Network Usage Monitor" \
o "ctorrent" \
w "Browser" \
i "IRC Client" \
n "Newsreader" \
t "iftop NIC Viewer" \
b "Back to Main" \
x "Exit BBQ Menu" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
o) man ctorrent;;
w) links2 www.startpage.com ;;
i) irssi;;
t) sudo iftop;;
c) centerim;;
e) mutt;;
n) newsbeuter;;
b) main;;
x) exit 0;;
d) nload;;
esac
network
}

function secsys(){
dialog --backtitle "LinuxBBQ - Start" --title "Security and System" --menu " \n" 0 0 0 \
p "passwux" \
S "bbqsnapshot" \
I "bbqinstaller !!!run in LIVE session ONLY!!!" \
        b "Back to Main" \
        x "Exit BBQ Menu" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
p) passwux && read n ;;
S) sudo bbqsnapshot;;
I) sudo bbqinstaller;;
c) cpm;;
a) man aircrack-ng;;
j) man john;;
s) man sucrack;;
b) main;;
x) exit 0;;
esac
secsys
}

function hobby(){
dialog --backtitle "LinuxBBQ - Start" --title "Hobby" --menu " \n" 0 0 0 \
n "nut nutrition" \
h "notebook" \
c "piano reference" \
d "Debian Administrators Handbook" \
b "Back to Main" \
x "Exit BBQ Menu" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
d) links2 http://debian-handbook.info;;
c) chords;;
n) nut-nutrition;;
h) hnb;;
        b) main;;
        x) exit 0;;
esac
hobby
}


# accessories
function acc(){
dialog --backtitle "LinuxBBQ - Start" --title "Accessories" --menu " \n" 0 0 0 \
B "bbqqit Grillers Hub" \
m "Midnight Commander" \
r "Ranger" \
p "Powertop" \
h "htop Process Monitor"\
t "Multitail Log Viewer" \
d "Disk Usage" \
b "Back to Main" \
x "Exit BBQ Menu" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
B) bbqgit;;
u) hexcurse;;
j) joe;;
f) vifm;;
p) sudo powertop;;
t) multitail;;
m) mc;;
g) glances;;
r) ranger;;
v) vi;;
e) nano;;
h) htop;;
d) ncdu;;
b) main;;
x) exit 0;;
esac
acc
}

# games
function games(){
dialog --backtitle "LinuxBBQ - Start" --title "Games" --menu " \n" 0 0 0 \
G "Curse of War" \
b "Cavez Of Phear" \
C "Scribble" \
a "bastet" \
A "empire" \
F "rogue" \
c "ninvaders" \
d "freesweep"\
e "pacman" \
f "adventure" \
g "phantasia" \
h "worm" \
i "cribbage" \
j "snake" \
k "wargames" \
l "sail" \
m "robots" \
n monop \
o boggle \
p hangman \
q hack \
r backgammon \
s mille \
t canfield \
u wump \
v tetris \
w gomoku \
y trek \
z battlestar \
B "Back to Main" \
x "Exit BBQ Menu" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
G) curseofwar;;
C) scribble;;
b) phear;;
a) bastet;;
F) rogue;;
A) empire;;
c) ninvaders;;
d) freesweep;;
e) pacman;;
f) adventure;;
g) phantasia;;
h) worm;;
i) cribbage;;
j) snake;;
k) clear && wargames && read ;;
l) sail;;
m) robots;;
n) monop;;
o) boggle;;
p) hangman;;
q) hack;;
r) backgammon;;
s) mille;;
t) canfield;;
u) wump;;
v) tetris;;
w) gomoku;;
y) trek;;
z) battlestar;;
B) main;;
x) exit 0;;
esac
games
}

# main selection
function main(){
dialog --backtitle "LinuxBBQ - Start" --title "Main Menu" --menu " \n" 0 0 0 \
f "Fix your system" \
u "Upgrade Warnings" \
a "Accessories" \
n "Network and Chat" \
o "Office" \
m "Multimedia" \
h "Hobby" \
s "Security and System" \
l "Screensaver" \
9 "Reboot" \
0 "Power off" \
x "Exit BBQ Menu" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in
r) clear && cat /etc/motd | dialog --programbox 40 80;;
s) secsys;;
e) emu;;
l) termsaver sysmon;;
p) programming;;
f) bbqfix;;
u) upgrade ;;
a) acc ;;
n) network;;
o) office;;
m) media;;
h) hobby;;
g) games;;
9) systemctl reboot;;
0) systemctl poweroff;;
q) clear &&exit 0;;
x) clear &&exit 0;;
esac
main
}

main
clear &&
exit 0

Then I remembered this other one from PCLinuxOS. Another cool reference this time using zenity for a GUI. Got it some time ago but was too lazy to tweak it. Maybe it's time for it.  :P

Code: [Select]
#! /bin/bash
Encoding=UTF-8

# PCLinuxOS SysTools
#
# Based on the original script available at http://pclosmag.com/html/Issues/200910/page21.html

FILE1=/etc/apt/sources.list
FILE2=/root/.Xresources
FILE3=/boot/grub/menu.lst
FILE4=/etc/sudoers
FILE5=/etc/fstab
FILE6=/etc/rc.local
FILE7=/root/.bashrc
FILE8=~/.Xresources
FILE9=~/.zshrc
FILE10=~/.bashrc
FILE11=~/.conkyrc
FILE12=~/.mpd/mpd.conf
FILE13=/root/.zshrc
FILE14=/etc/X11/xorg.conf
FILE15=~/.mrxvtrc
FILE16=/root/.mrxvtrc

export MAIN_DIALOG='
<window window_position="1" title="PCLinuxOS SysTools" icon-name="applications-system">

<vbox>
  <hbox homogeneous="True">
    <frame Terminal Processes>
    <hbox homogeneous="True">
      <hbox>
        <button>
          <input file>/usr/share/icons/Faenza/apps/48/utilities-terminal.png</input>
          <action>lxterminal --geometry=100x30 &</action>
        </button>
      </hbox>

      <vbox homogeneous="True">
        <button>
          <label>TOP</label>
          <action>lxterminal --geometry=100x30 -e top &</action>
        </button>

        <button>
          <input file>/usr/share/icons/Faenza/apps/24/htop.png</input>
          <action>gksu "lxterminal --geometry=100x30 -e top" &</action>
        </button>
      </vbox>
    </hbox>
    </frame>

    <vbox>
      <frame Kernel Messages>

        <button>
          <label>View Messages</label>
          <action>dmesg | zenity --text-info  --width=700 --height=500 --title "View Kernel Messages" &</action>
        </button>

        <entry><variable>VAR</variable></entry>

        <hbox>
          <button>
            <label>Search</label>
            <input file>/usr/share/icons/Faenza/apps/16/catfish.png</input>
            <action>dmesg | grep $VAR | zenity --text-info  --width=700 --height=300 --title "$VAR in Kernel Messages" &</action>
          </button>

          <button>
            <label>Search & Save</label>
            <input file>/usr/share/icons/Faenza/actions/16/document-save.png</input>
            <action>dmesg | grep $VAR > '$HOME'/Documents/dmesg_output_$VAR.txt &</action>
            <action>leafpad '$HOME'/Documents/dmesg_output_$VAR.txt</action>
          </button>
        </hbox>
        </frame>
      </vbox>
    </hbox>

    <frame Command Information>
    <hbox>
      <text><label>Command:</label></text>
      <entry><variable>VAR1</variable></entry>
    </hbox>

    <hbox>
      <button>
        <label>Help</label>
        <action>$VAR1 --help | zenity --text-info --width=700 --height=600 --title "Help" &</action>
      </button>

      <button>
        <label>Where</label>
        <action>whereis $VAR1 | zenity --text-info  --width=500 --height=20 --title "Where" &</action>
      </button>

      <button>
        <label>Which</label>
        <action>which $VAR1 | zenity --text-info --width=300 --height=200 --title "Which" &</action>
      </button>

      <button>
        <label>Version</label>
        <action>$VAR1 --version | zenity --text-info --width=500 --height=200 --title "Version" &</action>
      </button>

      <button>
        <label>Manpage</label>
        <action>manpdf $VAR1</action>
      </button>
    </hbox>
    </frame>
    <hbox homogeneous="True">

    <frame Hardware>
      <vbox>
        <button>
          <input file>/usr/share/icons/Faenza/apps/16/hardinfo.png</input>
          <label>Sensors</label>
          <action>sensors | zenity --text-info  --width=400 --height=200 --title "Sensors" &</action>
        </button>

        <button>
          <input file>/usr/share/icons/Faenza/places/16/network-workgroup.png</input>
          <label>Network Interfaces</label>
          <action>ifconfig | zenity --text-info  --width=500 --height=500 --title "Current Network Interfaces" &</action>
        </button>

        <button>
          <input file>/usr/share/icons/Faenza/status/16/nm-signal-100.png</input>
          <label>Wireless Interfaces</label>
          <action>iwconfig | zenity --text-info  --width=500 --height=500 --title "Current Wireless Networks" &</action>
        </button>

        <button>
          <input file>/usr/share/icons/Faenza/apps/16/hardinfo.png</input>
          <label>Hardware Information</label>
          <action>gksu "lshw | zenity --text-info  --width=700 --height=500 --title "Information-About-The-Hardware"" &</action>
        </button>

        <button>
          <input file>/usr/share/icons/oxygen/16x16/devices/media-flash.png</input>
          <label>BIOS Information</label>
          <action>gksu "dmidecode | head -15 | zenity --text-info  --width=400 --height=500 --title "BIOS-Information"" &</action>
        </button>

        <button>
          <input file>/usr/share/icons/oxygen/16x16/devices/audio-card.png</input>
          <label>PCI Devices</label>
          <action>lspci | zenity --text-info  --width=800 --height=500 --title "PCI Devices" &</action>
        </button>

        <button>
          <input file>/usr/share/icons/Faenza/categories/16/gnome-control-center.png</input>
          <label>PCLos Control Center</label>
          <action>pcc &</action>
        </button>

      </vbox>
    </frame>

    <frame System>
      <vbox>
        <hbox>
          <pixmap>
            <input file>/usr/share/icons/Faenza/categories/16/applications-other.png</input>
          </pixmap>

          <menubar>
          <menu>
            <menuitem>
              <label>Running Kernel</label>
              <action>uname -a | zenity --text-info  --width=700 --height=20 --title "Current Running Kernel" &</action>
            </menuitem>

            <menuitem>
              <label>KDE Version</label>
              <action>kde4-config --version | grep KDE | zenity --text-info  --width=300 --title "KDE Version" &</action>
            </menuitem>

            <menuitem>
              <label>Show Path</label>
              <action>echo '$PATH' | zenity --text-info  --width=700 --height=10 --title "System Path" &</action>
            </menuitem>
          <label>System Information</label>
          </menu>
          </menubar>
        </hbox>

        <hbox>
          <pixmap>
            <input file>/usr/share/icons/Faenza/mimetypes/16/rpm.png</input>
          </pixmap>

          <menubar>
          <menu>
            <menuitem>
              <label>View Installed Applications</label>
              <action>rpm -qa | sort | zenity --text-info  --width=400 --height=600 --title $"Installed RPMs" &</action>
            </menuitem>

            <menuitem>
              <label>Open List of Installed Applications</label>
              <action>zenity --info --text "I will open a list of the installed RPMs in a temporary text file.\nIf you want to keep it, save it in a different location, since the temporary file will be removed.\nPress OK to continue."</action>
              <action>rpm -qa | sort >> '$HOME'/tmp/installed_rpms.txt</action>
              <action>leafpad '$HOME'/tmp/installed_rpms.txt</action>
              <action>rm -f '$HOME'/tmp/installed_rpms.txt</action>
            </menuitem>

            <menuitem>
              <label>Search in List of Installed Applications</label>
              <action>KeyRPM=(`zenity --entry --title="RPM Search" --text "Enter search word:"`) ; rpm -qa | grep "$KeyRPM" | zenity --text-info  --width=400 --height=600 --title $""$KeyRPM" in installed RPMs" &</action>
            </menuitem>

          <label>Installed Applications</label>
          </menu>
          </menubar>
        </hbox>

        <hbox>
          <pixmap>
            <input file>/usr/share/icons/Faenza/apps/16/hardinfo.png</input>
          </pixmap>

          <menubar>
          <menu>
            <menuitem>
              <label>Hard Drive Partitions</label>
              <action>gksu "fdisk -l | zenity --text-info  --width=700 --height=500 --title "Hard-Drive-Partitions"" &</action>
            </menuitem>

            <menuitem>
              <label>Hard Drive UUID</label>
              <action>gksu "blkid | zenity --text-info  --width=700 --height=300 --title "Hard-Drive-UUID"" &</action>
            </menuitem>

              <menuitem>
              <label>Current Mount Points</label>
              <action>mount | zenity --text-info  --width=700 --height=300 --title "Current Mount Points" & </action>
            </menuitem>

            <menuitem>
              <label>Available Disk Space</label>
              <action>df -h | zenity --text-info  --width=700 --height=200 --title "Available Disk Space"  &</action>
            </menuitem>

            <menuitem>
              <label>Connected USB Devices</label>
              <action>lsusb | zenity --text-info  --width=700 --height=300 --title "Connected USB Devices" &</action>
            </menuitem>

          <label>Devices</label>
          </menu>
          </menubar>
        </hbox>

        <hbox>
          <pixmap>
            <input file>/usr/share/icons/Faenza/apps/16/xterm.png</input>
          </pixmap>

          <menubar>
          <menu>
            <menuitem>
              <label>X-Server Information</label>
              <action>xdpyinfo | zenity --text-info  --width=700 --height=500 --title "Information About The X-Server" &</action>
            </menuitem>

            <menuitem>
              <label>GLX/OpenGL Information</label>
              <action>glxinfo | zenity --text-info  --width=700 --height=500 --title "Information About GLX And OpenGL" &</action>
            </menuitem>

          <label>X-Server</label>
          </menu>
          </menubar>
        </hbox>

        <hbox>
          <pixmap>
            <input file>/usr/share/icons/Faenza/emblems/16/emblem-people.png</input>
          </pixmap>

          <menubar>
          <menu>
            <menuitem>
              <label>Group Memberships</label>
              <action>groups | zenity --text-info  --width=700 --height=100 --title "View Group Memberships" &</action>
            </menuitem>

            <menuitem>
              <label>Groups</label>
              <action>cat /etc/group | zenity --text-info  --width=300 --height=500 --title "View Groups" &</action>
            </menuitem>

          <label>Groups</label>
          </menu>
          </menubar>
        </hbox>

        <button>
          <input file>/usr/share/icons/Faenza/apps/16/synaptic.png</input>
          <label>Synaptic Logs</label>
          <action>gksu "pcmanfm /root/.synaptic/log" &</action>
        </button>

        <button>
          <input file>/usr/share/icons/Faenza/categories/16/applications-system.png</input>
          <label>Loaded Modules</label>
          <action>lsmod | zenity --text-info  --width=700 --height=500 --title "View Loaded Modules" &</action>
        </button>

        <button>
          <input file>/usr/share/icons/Faenza/categories/16/applications-system.png</input>
          <label>System Services</label>
          <action>chkconfig --list | zenity --text-info  --width=600 --height=600 --title "View Services" &</action>
        </button>

      </vbox>
    </frame>
    </hbox>

    <hbox>
      <frame Edit Files>
        <hbox>
          <button><label>sources.list</label><action>zenity --title='"$FILE1"' --text-info --width 900 --height 400 --filename='"$FILE1"' &</action></button>
          <button><input file>/usr/share/icons/Faenza/apps/16/gksu-root-terminal.png</input><action>gksu "leafpad '"$FILE1"'" &</action></button>
        </hbox>

        <hbox>
          <button><label>menu.lst</label><action>gksu "zenity --title='"$FILE3"' --text-info --width 700 --height 400 --filename='"$FILE3"'" &</action></button>
          <button><input file>/usr/share/icons/Faenza/apps/16/gksu-root-terminal.png</input><action>gksu "leafpad '"$FILE3"'" &</action></button>
        </hbox>

        <hbox>
          <button><label>sudoers</label><action>gksu "zenity --title='"$FILE4"' --text-info --width 700 --height 400 --filename='"$FILE4"'" &</action></button>
          <button><input file>/usr/share/icons/Faenza/apps/16/gksu-root-terminal.png</input><action>gksu "leafpad '"$FILE4"'" &</action></button>
        </hbox>

        <hbox>
          <button><label>xorg.conf</label><action>zenity --title='"$FILE14"' --text-info --width 700 --height 400 --filename='"$FILE14"' &</action></button>
          <button><input file>/usr/share/icons/Faenza/apps/16/gksu-root-terminal.png</input><action>gksu "leafpad '"$FILE14"'" &</action></button>
        </hbox>
      </frame>

      <frame Edit Files>
        <hbox>
          <button><label>fstab</label><action>zenity --title='"$FILE5"' --text-info --width 700 --height 400 --filename='"$FILE5"' &</action></button>
          <button><input file>/usr/share/icons/Faenza/apps/16/gksu-root-terminal.png</input><action>gksu "leafpad '"$FILE5"'" &</action></button>
        </hbox>

        <hbox>
          <button><label>rc.local</label><action>zenity --title='"$FILE6"' --text-info --width 700 --height 400 --filename='"$FILE6"' &</action></button>
          <button><input file>/usr/share/icons/Faenza/apps/16/gksu-root-terminal.png</input><action>gksu "leafpad '"$FILE6"'" &</action></button>
        </hbox>

        <hbox>
          <button><label>.Xresources</label><action>leafpad '"$FILE8"' &</action></button>
          <button><input file>/usr/share/icons/Faenza/apps/16/gksu-root-terminal.png</input><action>gksu "leafpad '"$FILE2"'" &</action></button>
        </hbox>

        <hbox>
          <button><label>mpd.conf</label><action>zenity --title='"$FILE12"' --text-info --width 700 --height 400 --filename='"$FILE12"' &</action></button>
          <button><input file>/usr/share/icons/Faenza/apps/16/utilities-terminal.png</input><action>leafpad '"$FILE12"' &</action></button>
        </hbox>
      </frame>

      <frame Edit Files>
        <hbox>
          <button><label>.mrxvtrc</label><action>leafpad '"$FILE15"' &</action></button>
          <button><input file>/usr/share/icons/Faenza/apps/16/gksu-root-terminal.png</input><action>gksu "leafpad '"$FILE16"'" &</action></button>     
        </hbox>

        <hbox>
          <button><label>.zshrc</label><action>leafpad '"$FILE9"' &</action></button>
          <button><input file>/usr/share/icons/Faenza/apps/16/gksu-root-terminal.png</input><action>gksu "leafpad '"$FILE13"'" &</action></button>     
        </hbox>

        <hbox>
          <button><label>.bashrc</label><action>leafpad '"$FILE10"' &</action></button>
          <button><input file>/usr/share/icons/Faenza/apps/16/gksu-root-terminal.png</input><action>gksu "leafpad '"$FILE7"'" &</action></button>       
        </hbox>

        <hbox>
          <button><label>.conkyrc</label><action>zenity --title='"$FILE11"' --text-info --width 700 --height 400 --filename='"$FILE11"' &</action></button>
          <button><input file>/usr/share/icons/Faenza/apps/16/utilities-terminal.png</input><action>leafpad '"$FILE11"' &</action></button>
        </hbox>
      </frame>
    </hbox>

    <frame>
    <hbox homogeneous="True">
      <button>
        <input file>/usr/share/icons/Faenza/status/24/dialog-question.png</input>
        <action>zenity --question --text "To be able to perform all the operations, check if the following apps are installed: \\n\\nchkconfig dmidecode faenza leafpad lm-sensors lshw \nlxterminal mesa-utils mupdf oxygen pcmanfm xdpyinfo\\n\\nDo you want to install them if they are not already installed?"; if [ "$?" = 0 ]; then gksu "xterm --noclose -e apt-get install chkconfig dmidecode faenza-icon-theme leafpad lm_sensors lshw lxterminal mesa-demos mupdf oxygen-icon-theme pcmanfm xdpyinfo"; fi</action>
      </button>

      <text use-markup="true"><label>"<span color='"'black'"' font-family='"'Droid Sans'"' weight='"'bold'"' size='"'large'"'><small>PCLinuxOS SysTools</small></span>"</label></text>

      <button>
        <input file>/usr/share/icons/Faenza/actions/24/application-exit.png</input>
        <action type="exit">exit 0</action>
      </button>
    </hbox>
    </frame>
  </vbox>
  </window>
  '
gtkdialog --program=MAIN_DIALOG

hudson

  • Posts: 35
    • View Profile
Re: vsido console app launcher menu: clapps
« Reply #13 on: August 10, 2015, 01:56:04 AM »
here's a function you might consider adding:

checkout boot

    systemd-analyze plot > /tmp/plot.svg
    mirage /tmp/plot.svg
    rm -f /tmp/plot.svg


Snap

  • Posts: 474
    • View Profile
Re: vsido console app launcher menu: clapps
« Reply #14 on: August 10, 2015, 08:55:53 AM »
Thanks for pointing out. I'm still trying to plan a road route for this and going through all the yad documentation I could find (though actually a bit distracted re-discovering spacefm in depth).

Zenity is ok, but not specially developed (if any) and gtkdialog is not even a Debian package or a Vsido default. Yad seems to be the right option. This is obviously a too ambitious project for me due to my very limited/minimal scripting abilities, but want to try it anyway. And frankly... hope that hackerdefo or anyone else with real knowledge rips this off my hands for better results!  :D