From a1147531b04b1108d06f054adf203067e8794008 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Tue, 9 Feb 2021 17:36:40 -0500 Subject: Use flags for pbd client behaviour --- bin/.gitignore | 3 --- bin/Makefile | 13 ++----------- bin/man1/pbd.1 | 41 ++++++++++++++++++++++++----------------- bin/pbd.c | 19 +++++++++---------- 4 files changed, 35 insertions(+), 41 deletions(-) diff --git a/bin/.gitignore b/bin/.gitignore index a52982b3..0bf030a8 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -18,11 +18,8 @@ htmltags modem mtags nudge -open order -pbcopy pbd -pbpaste pngo psf2png psfed diff --git a/bin/Makefile b/bin/Makefile index 7fc0ad0c..11e73078 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -43,10 +43,6 @@ BINS += up BINS += when BINS += xx -LINKS += open -LINKS += pbcopy -LINKS += pbpaste - BINS_BSD += ever BINS_LINUX += bri BINS_LINUX += fbatt @@ -57,7 +53,7 @@ BINS_TLS += relay BINS_ALL = ${BINS} ${BINS_BSD} ${BINS_LINUX} ${BINS_TLS} MANS_ALL = ${BINS_ALL:%=man1/%.1} -any: meta ${BINS} ${LINKS} +any: meta ${BINS} bsd: meta ${BINS_BSD} @@ -90,9 +86,6 @@ hilex: ${OBJS.hilex} ${OBJS.hilex}: hilex.h -open pbcopy pbpaste: pbd - ln -f pbd $@ - fbatt.o fbclock.o: scheme.h psf2png.o scheme.o: png.h @@ -103,7 +96,7 @@ scheme.h: scheme tags: *.[chly] ctags -w *.[chly] -IGNORE = *.o *.html ${BINS_ALL} ${LINKS} scheme.h tags htmltags +IGNORE = *.o *.html ${BINS_ALL} scheme.h tags htmltags .gitignore: Makefile echo config.mk '${IGNORE}' | tr ' ' '\n' | sort > .gitignore @@ -119,12 +112,10 @@ link: install -d ${PREFIX}/bin ${MANDIR}/man1 ln -fs ${BINS_ALL:%=${PWD}/%} ${PREFIX}/bin ln -fs ${MANS_ALL:%=${PWD}/%} ${MANDIR}/man1 - ln -fs ${LINKS:%=${PWD}/%} ${PREFIX}/bin unlink: rm -f ${BINS_ALL:%=${PREFIX}/bin/%} rm -f ${MANS_ALL:%=${MANDIR}/%} - rm -f ${LINKS:%=${PREFIX}/bin/%} HTMLS = index.html ${BINS_ALL:=.html} png.html WEBROOT = /usr/local/www/causal.agency diff --git a/bin/man1/pbd.1 b/bin/man1/pbd.1 index bbc7b785..f0665891 100644 --- a/bin/man1/pbd.1 +++ b/bin/man1/pbd.1 @@ -1,20 +1,13 @@ -.Dd September 7, 2018 +.Dd February 9, 2021 .Dt PBD 1 .Os . .Sh NAME -.Nm pbd , -.Nm pbcopy , -.Nm pbpaste , -.Nm open +.Nm pbd .Nd macOS pasteboard daemon . .Sh SYNOPSIS -.Nm -.Nm pbcopy -.Nm pbpaste -.Nm open -.Ar +.Nm Op Fl s | c | p | o Ar url . .Sh DESCRIPTION .Nm @@ -30,12 +23,7 @@ sent over TCP port 7062. .Pp The socket can be forwarded through .Xr ssh 1 -and the stub implementations of -.Nm pbcopy , -.Nm pbpaste -and -.Nm open -can be used remotely +and the flags can be used remotely to access the local pasteboard and open URLs. . @@ -44,11 +32,30 @@ Forwarding can be configured with: .Pp .Dl RemoteForward 7062 127.0.0.1:7062 . +.Pp +The arguments are as follows: +.Bl -tag -width Ds +.It Fl c +Behave as +.Xr pbcopy 1 . +.It Fl o Ar url +Behave as +.Xr open 1 . +.It Fl p +Behave as +.Xr pbpaste 1 . +.It Fl s +Run the server. +This is the default. +.El +.Pp +ACAB. +. .Sh EXAMPLES .Bd -literal -offset indent pbd & ssh -R 7062:127.0.0.1:7062 tux.local -pbpaste +pbd -p .Ed . .Sh SEE ALSO diff --git a/bin/pbd.c b/bin/pbd.c index 58326053..9f47b63e 100644 --- a/bin/pbd.c +++ b/bin/pbd.c @@ -138,15 +138,14 @@ static int open1(const char *url) { } int main(int argc, char *argv[]) { - (void)argc; - if (strchr(argv[0], '/')) { - argv[0] = strrchr(argv[0], '/') + 1; - } - switch (argv[0][0] && argv[0][1] ? argv[0][2] : 0) { - case 'd': return pbd(); - case 'c': return pbcopy(); - case 'p': return pbpaste(); - case 'e': return open1(argv[1]); - default: return EX_USAGE; + for (int opt; 0 < (opt = getopt(argc, argv, "co:ps"));) { + switch (opt) { + case 'c': return pbcopy(); + case 'o': return open1(optarg); + case 'p': return pbpaste(); + case 's': return pbd(); + default: return EX_USAGE; + } } + return pbd(); } -- cgit 1.4.1 =195c2f650b1c657c6542d394f078fac83045696a&follow=1'>Set XTerm*charClass to select URLsJune McEnroe By double-clicking. 2021-02-15Add xdimmer to "Using OpenBSD"June McEnroe 2021-02-14Publish "Using OpenBSD"June McEnroe 2021-02-14Set font size back down to 11June McEnroe I don't know. 11 is definitely big enough, there's something else. Perhaps just how macOS renders everything with a slightly heavier stroke. 2021-02-10Add install targets to binJune McEnroe Motivated by OpenBSD's default rules not setting copied shell scripts executable. install(1) does. 2021-02-10Colour battery level red when criticalJune McEnroe 2021-02-10Set LC_CTYPE=en_US.UTF-8June McEnroe As much as I dislike en_US, this is the recommended setting, and the part before the dot doesn't actually do anything. 2021-02-09Add ~/.local/share/man to MANPATHJune McEnroe I'm not sure this won't screw something up on macOS or elsewhere. Hopefully other man(1) implementations behave the same way around leading/trailing colons in MANPATH. 2021-02-09Fix adding /usr/games to PATHJune McEnroe I forgot that my own function only takes one parameter oops. 2021-02-09Show battery level while charging, time while dischargingJune McEnroe Also fix initial sleep calculation when seconds has a leading zero, and limit the length of time left for when it initially says "unknown". 2021-02-09Install sctJune McEnroe My eyes are so much happier with sct 4500 oh my god. 2021-02-09Show minutes left instead of battery percentageJune McEnroe 2021-02-09Set antialiasing and unhinting globallyJune McEnroe 2021-02-09Open youtube and twitch with mpvJune McEnroe 2021-02-09Add volume control bindings to cwmJune McEnroe sndioctl is nice and easy. 2021-02-09Use w3m to open other URLsJune McEnroe 2021-02-09Disable mouse mode in xtermJune McEnroe I do not ever want to use this feature. 2021-02-09Add pbcopy, pbpaste, open dispatch scriptsJune McEnroe 2021-02-09Use flags for pbd client behaviourJune McEnroe 2021-02-08Add macOS-like copy and paste to xtermJune McEnroe 2021-02-08Only update clock script every minuteJune McEnroe 2021-02-08Use 4M- for window resizing in cwmJune McEnroe 2021-02-08Tweak trackpad scaling, mouse accelerationJune McEnroe This feels more comfortable. 2021-02-08Use xsel in up and add it do install.shJune McEnroe 2021-02-07Swap root window coloursJune McEnroe 2021-02-07Add -X flag to install X stuff on OpenBSDJune McEnroe 2021-02-07Adjust brightness by smaller incrementsJune McEnroe 2021-02-07Fix cwm window cycling, move big by defaultJune McEnroe 2021-02-07Use class names for Foreground, Background, BorderColorJune McEnroe I'm not really sure what difference this makes, but it seems like the right thing to do to be generic? 2021-02-07Add simple battery status and clock to xsessionJune McEnroe I love how simple this is. 2021-02-07Set cursor theme and sizeJune McEnroe 2021-02-07Use scrot for up -s if no screencaptureJune McEnroe Still missing putting the URL in an X selection. 2021-02-07Enable mouse acceleration in XJune McEnroe 2021-02-07Set colours for Xt and cwmJune McEnroe And increase XTerm internalBorder. 2021-02-07Set urgency on bell in xtermJune McEnroe 2021-02-07Add bindings for brightness controlJune McEnroe Weirdly the Fn key doesn't change how the F row registers... I wonder if I can do something about that. 2021-02-07Set X key repeat rateJune McEnroe 2021-02-07Bump font size to 12June McEnroe 11 is what I use on macOS, but I feel like my eyes are working harder here. 2021-02-07Fully configure and rebind cwmJune McEnroe This is sort of a mix of trying to emulate macOS somewhat for my muscle memory and just rebinding some of the cwm defaults to use 4- rather than M-. 2021-02-07Add BintiJune McEnroe 2021-02-07Finish configuring xtermJune McEnroe 2021-02-06Enable tapping, reverse scroll, set scaling in wsconsctlJune McEnroe 2021-02-06Set root window to black on purple snowJune McEnroe 2021-02-06Add xmodmap configurationJune McEnroe 2021-02-06Add initial OpenBSD X configurationJune McEnroe cwm still needs a lot more rebinding, and I need to actually look at its other options. xterm definitely still needs some configuration, but I at least managed to get it to use a decent looking font. Very happy that OpenBSD includes Luxi Mono, which is what my usual font, Go Mono, is based on anyway. Still missing is xmodmap and such. 2021-02-06Add xterm output to schemeJune McEnroe