# Class Hierarchy

- `gtoolz.MenuBox` - purpose: sets up a menu selection box executes selected function and arguments quits (returns) on "Enter" "Q" or "q" arguments: bclr: box color eg "reb" "blue" "green" clines: number of lines to center in the box center: center menu default is True methods: add_selection(["selection_name", func, arg1, arg2,...
- `gtoolz.Spinner` - purpose: prints a spinner in place input: msg="": str style='bar': ellipsis, pipe, box, vbar, growing_bar, missing_box, solid_box, arrow, clock, bar, balloons, moon, dot, braille, pulse prog|progressive|progress: bool color: str txt_color: str elspsed: bool requires: import sys import threading import itertools return: none use: with Spinner("Working...
- `gtoolz.Transcript` - Transcript - direct print output to a file, in addition to terminal. It appends the file target Usage: import transcript transcript.start('logfile.log') print("inside file") transcript.
- `threading.Thread`
  - `gtoolz.ThreadWithReturn` - requires: import threading usage: run_cmd_threaded(cmd) which does this ... dbug("Just getting started...") cmd = "/home/geoffm/ofrd.sh" t1 = ThreadWithReturn(target=run_cmd, args=(cmd,)) t1...