From 595359a884f349542c92cbedc168956033f1369c Mon Sep 17 00:00:00 2001
From: = <=>
Date: Sat, 9 Jan 2021 19:45:09 -0500
Subject: [PATCH] Add info display feature

---
 README.md | 19 +++++++++++--------
 pages     | 17 +++++++++++++++++
 prompt    | 12 ++++++++++++
 3 files changed, 40 insertions(+), 8 deletions(-)
 create mode 100755 pages

diff --git a/README.md b/README.md
index b8f44ca..fd3efc3 100644
--- a/README.md
+++ b/README.md
@@ -4,27 +4,30 @@ This is a collection of scripts I use to make managing files and processes easie
 Use it to automagically select and run terminal applications, send signals to daemons, execute arbitrary commands, search the web, grab passwords from a password manager, and more.
 
 ## Installing dependencies
-`sudo apt install enscript ghostscript ps2pdf zathura suckless-tools`
+`sudo apt install pass enscript dunst xclip scrot mpc mpd ghostscript zathura suckless-tools`
 
-## Prompt
-	mpc dmenu scrot xclip tmux vim lbry pass dunst
-They're all optional but missing commands may have unexpeted side effects. The scripts also assumes you have the common commands in GNU core utilities like sed, awk, etc.
+All of them are optional except suckless-tools. Many of the features aren't interdependent and are made up of 1 or 2 functions.
+
+## prompt
+It's the central script that gives the rest of the features interactivity. Read the source code for more details.
+### Usage
+	prompt [ launch | action | cmd | ddg | pass | manual ]
+	pages [ open ]
+
+## pages
+pages is a command for viewing /tmp/pages-{number} files with less or zathura. The files are the result of prompt commands like `prompt action` -> Go page or can be created from your own tools. I use it for viewing documentation.
 
 
 - [ dmenu ](http://tools.suckless.org/dmenu/) for the prompts. It can be changed to rofi or some other solution
 - scrot and xclip for screenshots
 - all scripts assume your prefered terminal is [ st ](http://st.suckless.org)
 - mpc is for media controls
-- the script assumes your passwords are in ~/Passwords/
 - commands that display information from man pages, godoc, logs, etc
   do it using `enscript -p - | ps2pdf - | zathura -`. I'm considering
   more minimal combinations like enscript and surf or st and less but
   they create their own set of problems. This solution makes future
   changes easy without becoming too complicated
 
-### Usage
-	prompt [launch | action | cmd | ddg | pass | manual]
-	edit-ini ...
 Use it to automagically select and run terminal applications, send signals to daemons, execute arbitrary commands, search the web, grab passwords from the password manager, and more.
 
 #### TODO
diff --git a/pages b/pages
new file mode 100755
index 0000000..edab1a3
--- /dev/null
+++ b/pages
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+pager() {
+	# st -e tail -F -n +1 "/tmp/pages-$1"
+	st -e less "/tmp/pages-$1"
+}
+
+pdf() {
+	st -e zathura "/tmp/pages-$1"
+}
+
+
+
+case $1 in
+	pager) pager "$2";;
+	pdf) pdf "$2";;
+esac
diff --git a/prompt b/prompt
index 7ae0e26..0be12da 100755
--- a/prompt
+++ b/prompt
@@ -36,17 +36,20 @@ action() {
 	action=$(printf "Play Music
 	Pause Music
 	Toggle Music
+	Go page
 	Command
 	Command to clipboard
 	Search github
 	Search ddg
 	Search godoc
+	Open page
 	Select VPN
 	Disable VPN
 	Enable VPN
 	VPN Status
 	Rebind Keys
 	Disable Bar
+	Man
 	Enable Bar" | tr -d '\t' |
 		dmenu -i -p "Actions")
 
@@ -60,8 +63,11 @@ case $action in
 	'Search github') github;;
 	'Search godoc') godoc;;
 	'Search ddg') ddg;;
+	'Open page') pages pager "$(printf "1\n2\n3\n" | dmenu -p 'page')";;
 	'Command') cmd;;
 	'Command to clipboard') cmd_clip;;
+	'Man') st -e man "$(printf "" | dmenu -p 'man')";;
+	'Go page') num=$(go_page); pages pager $num;;
 esac
 }
 
@@ -164,6 +170,12 @@ goinfo() {
 	result=$(go doc "$search"); notify-send -u low -t 0 "Go documentation" "$result";
 }
 
+go_page() {
+	name=$(printf "1\n2\n3\n4" | dmenu -p "page name")
+	go doc "$(printf "" | dmenu -p 'go doc search')" > /tmp/pages-$name
+	printf "$name"
+}
+
 infowindow() {
 	printf "$1" | enscript -p - | ps2pdf - | zathura -
 }