summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Smith <luke@lukesmith.xyz>2019-05-03 20:11:37 -0400
committerLuke Smith <luke@lukesmith.xyz>2019-05-03 20:11:37 -0400
commitd9575acb88455977b16852360fed597d9415855f (patch)
tree29a5f62b6e599fd3665ce36172553d7010c61c88
parente196d09b86326ffc2b8cb73e2747365504885e1a (diff)
copy urls with alt-y
-rw-r--r--README.md1
-rw-r--r--config.h7
-rw-r--r--st.13
3 files changed, 10 insertions, 1 deletions
diff --git a/README.md b/README.md
index b101fb5..0c9b374 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,7 @@ The [suckless terminal (st)](https://st.suckless.org/) with some additional feat
+ Copy is alt-c, paste is alt-v or alt-p pastes from primary selection
+ Alt-l feeds all urls on screen to dmenu, so they user can choose and
follow one (requires dmenu installed).
+ + Alt-y does the same as above, but copies the url with xclip.
+ Zoom in/out or increase font size with Alt+Shift+k/j or u/d for larger intervals.
+ Hold alt and press either ↑/↓ or the vim keys k/j to move up/down in the terminal.
+ Shift+Mouse wheel do the same.
diff --git a/config.h b/config.h
index b6c405f..9f1a6ec 100644
--- a/config.h
+++ b/config.h
@@ -207,7 +207,11 @@ MouseKey mkeys[] = {
};
static char *openurlcmd[] = { "/bin/sh", "-c",
- "sed 's/.*│//g' | tr -d '\n' | grep -aEo '((http|https)://|www\\.)[a-zA-Z0-9./?=_-]*' | uniq | sed 's/^www./http:\\/\\/www\\./g' | dmenu -l 10 | xargs -r xdg-open",
+ "sed 's/.*│//g' | tr -d '\n' | grep -aEo '((http|https)://|www\\.)[a-zA-Z0-9./?=_-]*' | uniq | sed 's/^www./http:\\/\\/www\\./g' | dmenu -p 'Follow which url?' -l 10 | xargs -r xdg-open",
+ "externalpipe", NULL };
+
+static char *copyurlcmd[] = { "/bin/sh", "-c",
+ "sed 's/.*│//g' | tr -d '\n' | grep -aEo '((http|https)://|www\\.)[a-zA-Z0-9./?=_-]*' | uniq | sed 's/^www./http:\\/\\/www\\./g' | dmenu -p 'Copy which url?' -l 10 | tr -d '\n' | xclip -selection clipboard",
"externalpipe", NULL };
static Shortcut shortcuts[] = {
@@ -242,6 +246,7 @@ static Shortcut shortcuts[] = {
{ MODKEY|ShiftMask, XK_U, zoom, {.f = +2} },
{ MODKEY|ShiftMask, XK_D, zoom, {.f = -2} },
{ MODKEY, XK_l, externalpipe, { .v = openurlcmd } },
+ { MODKEY, XK_y, externalpipe, { .v = copyurlcmd } },
};
/*
diff --git a/st.1 b/st.1
index 8cf4265..6d1a128 100644
--- a/st.1
+++ b/st.1
@@ -149,6 +149,9 @@ Paste/input primary selection.
.B Alt-l
Show dmenu menu of all URLs on screen and choose one to open.
.TP
+.B Alt-y
+Show dmenu menu of all URLs on screen and choose one to copy.
+.TP
.B Break
Send a break in the serial line.
Break key is obtained in PC keyboards