summaryrefslogtreecommitdiff
path: root/.w3m/cgi-bin
diff options
context:
space:
mode:
Diffstat (limited to '.w3m/cgi-bin')
-rwxr-xr-x.w3m/cgi-bin/fzf_surfraw.cgi42
-rwxr-xr-x.w3m/cgi-bin/fzf_surfraw_tmux.cgi40
-rwxr-xr-x.w3m/cgi-bin/magnet.py23
-rwxr-xr-x.w3m/cgi-bin/treat_as_url.cgi36
4 files changed, 141 insertions, 0 deletions
diff --git a/.w3m/cgi-bin/fzf_surfraw.cgi b/.w3m/cgi-bin/fzf_surfraw.cgi
new file mode 100755
index 0000000..00921cc
--- /dev/null
+++ b/.w3m/cgi-bin/fzf_surfraw.cgi
@@ -0,0 +1,42 @@
+#!/usr/bin/env bash
+### _ _ _ _
+### __ _ ___ | |_| |__ | | ___| |_ _ _
+### / _` |/ _ \| __| '_ \| |/ _ \ __| | | |
+###| (_| | (_) | |_| |_) | | __/ |_| |_| |
+### \__, |\___/ \__|_.__/|_|\___|\__|\__,_|
+### |___/
+### https://www.youtube.com/user/gotbletu
+### https://twitter.com/gotbletu
+### https://github.com/gotbletu
+### gotbletu@gmail.com
+###
+### Author : gotbletu
+### Name : fzf_surfraw.cgi
+### Version : 0.2
+### Date : 2020-04-27
+### Description : interactive surfraw smart prefix search engine (mainly use within w3m web browser)
+### Depends On : surfraw fzf xsel gawk coreutils grep procps-ng
+### Video Demo : https://youtu.be/p5NZb8f8AHA
+### References : https://github.com/felipesaa/A-vim-like-firefox-like-configuration-for-w3m
+
+### Setup
+# vim ~/.w3m/keymap
+# keymap xs COMMAND "SHELL ~/.w3m/cgi-bin/fzf_surfraw.cgi ; GOTO /usr/lib/w3m/cgi-bin/goto_clipboard_primary.cgi"
+# keymap XS COMMAND "SHELL ~/.w3m/cgi-bin/fzf_surfraw.cgi ; TAB_GOTO /usr/lib/w3m/cgi-bin/goto_clipboard_primary.cgi"
+# keymap xs COMMAND "SHELL ~/.w3m/cgi-bin/fzf_surfraw.cgi ; GOTO /usr/lib/w3m/cgi-bin/goto_clipboard.cgi"
+# keymap XS COMMAND "SHELL ~/.w3m/cgi-bin/fzf_surfraw.cgi ; TAB_GOTO /usr/lib/w3m/cgi-bin/goto_clipboard.cgi"
+
+clear
+
+# select your elvi
+PREFIX=$(surfraw -elvi | grep -v 'LOCAL\|GLOBAL'| fzf -e | awk '{print $1}')
+
+# exit script if no elvi is selected (e.g hit ESC)
+if [ "$PREFIX" = "" ]; then exit; fi
+
+# get user input
+read -r -e -p " $PREFIX >> Enter Your Search Keyword: " INPUT
+
+# print proper url and copy to primary clipboard (aka highlighted clipboard) and tmux clipboard
+surfraw -browser=echo "$PREFIX" "$INPUT" | xsel -p
+# pidof tmux >/dev/null && tmux set-buffer "$(surfraw -browser=echo "$PREFIX" "$INPUT")"
diff --git a/.w3m/cgi-bin/fzf_surfraw_tmux.cgi b/.w3m/cgi-bin/fzf_surfraw_tmux.cgi
new file mode 100755
index 0000000..7813c7c
--- /dev/null
+++ b/.w3m/cgi-bin/fzf_surfraw_tmux.cgi
@@ -0,0 +1,40 @@
+#!/usr/bin/env bash
+### _ _ _ _
+### __ _ ___ | |_| |__ | | ___| |_ _ _
+### / _` |/ _ \| __| '_ \| |/ _ \ __| | | |
+###| (_| | (_) | |_| |_) | | __/ |_| |_| |
+### \__, |\___/ \__|_.__/|_|\___|\__|\__,_|
+### |___/
+### https://www.youtube.com/user/gotbletu
+### https://twitter.com/gotbletu
+### https://github.com/gotbletu
+### gotbletu@gmail.com
+###
+### Author : gotbletu
+### Name : fzf_surfraw_tmux.cgi
+### Version : 0.2
+### Date : 2020-04-27
+### Description : interactive surfraw smart prefix search engine (mainly use within w3m web browser)
+### Depends On : surfraw fzf tmux gawk coreutils grep procps-ng
+### Video Demo : https://youtu.be/p5NZb8f8AHA
+### References : https://github.com/felipesaa/A-vim-like-firefox-like-configuration-for-w3m
+
+### Setup
+# vim ~/.w3m/keymap
+# keymap xs COMMAND "SHELL ~/.w3m/cgi-bin/fzf_surfraw_tmux.cgi ; GOTO /usr/lib/w3m/cgi-bin/goto_tmux_clipboard.cgi"
+# keymap XS COMMAND "SHELL ~/.w3m/cgi-bin/fzf_surfraw_tmux.cgi ; TAB_GOTO /usr/lib/w3m/cgi-bin/goto_tmux_clipboard.cgi"
+
+clear
+
+# select your elvi
+PREFIX=$(surfraw -elvi | grep -v 'LOCAL\|GLOBAL'| fzf -e | awk '{print $1}')
+
+# exit script if no elvi is selected (e.g hit ESC)
+if [ "$PREFIX" = "" ]; then exit; fi
+
+# get user input
+read -r -e -p " $PREFIX >> Enter Your Search Keyword: " INPUT
+
+# print proper url and copy to primary clipboard (aka highlighted clipboard) and tmux clipboard
+# surfraw -browser=echo "$PREFIX" "$INPUT" | xsel -p
+pidof tmux >/dev/null && tmux set-buffer "$(surfraw -browser=echo "$PREFIX" "$INPUT")"
diff --git a/.w3m/cgi-bin/magnet.py b/.w3m/cgi-bin/magnet.py
new file mode 100755
index 0000000..72b51d4
--- /dev/null
+++ b/.w3m/cgi-bin/magnet.py
@@ -0,0 +1,23 @@
+#!/usr/bin/python2
+# coding=utf-8
+
+import sys
+import os
+import subprocess
+
+uri = os.environ.get('QUERY_STRING')
+referer = os.environ.get('HTTP_REFERER')
+
+if not uri:
+ print
+ print "Error: No URI"
+ sys.exit()
+
+cmd_list = ("transmission-remote", "-a", uri)
+
+subprocess.call(cmd_list)
+
+if referer:
+ print "HTTP/1.1 303 See Other"
+ print "Location: %s" % referer
+
diff --git a/.w3m/cgi-bin/treat_as_url.cgi b/.w3m/cgi-bin/treat_as_url.cgi
new file mode 100755
index 0000000..98307ce
--- /dev/null
+++ b/.w3m/cgi-bin/treat_as_url.cgi
@@ -0,0 +1,36 @@
+#!/bin/bash -
+#===============================================================================
+#
+# FILE: treat_as_url.sh
+#
+# USAGE: ./treat_as_url.sh
+#
+# DESCRIPTION: Make w3m treat all plain text urls as real clickable urls
+#
+# OPTIONS: ---
+# REQUIREMENTS: This script has to be located in the root path /usr/lib/w3m/cgi-bin/treat_as_url.cgi
+# BUGS: ---
+# NOTES: Install:
+# chmod +x treat_as_url.cgi
+# sudo cp treat_as_url.cgi /usr/lib/w3m/cgi-bin
+#
+# Newsboat:
+# vim ~/.newsboat/config
+# pager "w3m /usr/lib/w3m/cgi-bin/treat_as_url.cgi %f"
+#
+# w3m mark regular files:
+# w3m /usr/lib/w3m/cgi-bin/treat_as_url.cgi filename.txt
+#
+# w3m mark url:
+# w3m /usr/lib/w3m/cgi-bin/treat_as_url.cgi <URL>
+#
+# AUTHOR: Hola Mundo (https://www.youtube.com/channel/UCK9HlJ89Bzf7VwwMnv1w)
+# Reference: http://w3m.sourceforge.net/MANUAL#LocalCGI
+# ORGANIZATION:
+# CREATED: 19/10/18 15:05:30
+# REVISION: ---
+#===============================================================================
+
+printf "%s\r\n" "W3m-control: PREV";
+printf "%s\r\n" "W3m-control: MARK_URL";
+