From d9575acb88455977b16852360fed597d9415855f Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Fri, 3 May 2019 20:11:37 -0400 Subject: [PATCH] copy urls with alt-y --- README.md | 1 + config.h | 7 ++++++- st.1 | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) 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