|
|
|
@ -3,12 +3,19 @@
|
|
|
|
|
# https://www.youtube.com/user/gotbletu
|
|
|
|
|
# DESC: generate a script for your last w3m session then you can run script to restore all urls in new tabs
|
|
|
|
|
# DEMO: https://youtu.be/qYhNJ3itqWw
|
|
|
|
|
# DEPEND: coreutils sed gawk
|
|
|
|
|
# DEPEND: coreutils gawk
|
|
|
|
|
# CLOG: 2021-04-17 first draft, no option to jump to tab 1 at the moment
|
|
|
|
|
# REQD: 1. Allow executable permissions and put script in ~/.w3m/cgi-bin/restore_session.cgi
|
|
|
|
|
#
|
|
|
|
|
# 2. Add binding to ~/.w3m/keymap
|
|
|
|
|
# keymap Q COMMAND "EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; READ_SHELL ~/.w3m/cgi-bin/restore_session.cgi ; ABORT"
|
|
|
|
|
#
|
|
|
|
|
# ############################ Quit with confirmation request (QUIT)
|
|
|
|
|
# keymap :q QUIT
|
|
|
|
|
# keymap ZZ QUIT
|
|
|
|
|
# ############################ Quit at once (EXIT)
|
|
|
|
|
# keymap ZQ EXIT
|
|
|
|
|
# ############################ Quit at once and save session
|
|
|
|
|
# keymap Q COMMAND "EXTERN 'echo %s > ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; NEXT_TAB ; EXTERN 'echo %s >> ~/.w3m/RestoreSession.txt' ; READ_SHELL ~/.w3m/cgi-bin/restore_session.cgi ; EXIT"
|
|
|
|
|
#
|
|
|
|
|
# 3. Add to ~/.bashrc or ~/.zshrc $PATH variable
|
|
|
|
|
# [ -d "$HOME/.w3m/bin" ] && PATH="$HOME/.w3m/bin:$PATH"
|
|
|
|
@ -24,9 +31,8 @@ RESTORE_SESSSION="$HOME/.w3m/bin/w3mlastsession"
|
|
|
|
|
echo "#!/usr/bin/env sh" > "$RESTORE_SESSSION"
|
|
|
|
|
echo "w3m \\" >> "$RESTORE_SESSSION"
|
|
|
|
|
# remove dupes without sorting, add -N flag at beginning and append trailing slash to each url
|
|
|
|
|
awk '!x[$0]++' "$HOME/.w3m/RestoreSession.txt" | while read -r line ; do echo "-N '"$line"' \\" >> "$RESTORE_SESSSION" ; done
|
|
|
|
|
# delete last trailing slash at the last line
|
|
|
|
|
sed -i '$ s-.$--' "$RESTORE_SESSSION"
|
|
|
|
|
awk '!x[$0]++' "$HOME/.w3m/RestoreSession.txt" | while read -r line ; do echo "-N '$line' \\" >> "$RESTORE_SESSSION" ; done
|
|
|
|
|
echo "2>/dev/null" >> "$RESTORE_SESSSION"
|
|
|
|
|
chmod +x "$RESTORE_SESSSION"
|
|
|
|
|
|
|
|
|
|
## OUTPUT SCRIPT FILE EXAMPLE ~/.w3m/bin/w3mlastsession
|
|
|
|
@ -38,5 +44,6 @@ chmod +x "$RESTORE_SESSSION"
|
|
|
|
|
## -N 'https://www.reddit.com/r/linux/.mobile' \
|
|
|
|
|
## -N 'http://lite.cnn.com/en' \
|
|
|
|
|
## -N 'https://raw.githubusercontent.com/tats/w3m/master/ChangeLog' \
|
|
|
|
|
## -N 'https://github.com/gotbletu/shownotes'
|
|
|
|
|
## -N 'https://github.com/gotbletu/shownotes' \
|
|
|
|
|
## 2>/dev/null
|
|
|
|
|
## --------------------------------------------------
|
|
|
|
|