aboutsummaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2023-11-18 23:23:40 +0100
committerMattias Andrée <maandree@kth.se>2023-11-18 23:23:40 +0100
commit0f1df0db903ba576fd17b08197d3066af7a61e5f (patch)
treea59c04307b1382257afa3c3512ec3abadf7e0e47 /man
parentUse losetup -d instead of --detach and add clean up (diff)
downloaddotfiles-0f1df0db903ba576fd17b08197d3066af7a61e5f.tar.gz
dotfiles-0f1df0db903ba576fd17b08197d3066af7a61e5f.tar.bz2
dotfiles-0f1df0db903ba576fd17b08197d3066af7a61e5f.tar.xz
A lot of changes
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'man')
-rw-r--r--man/Makefile18
-rwxr-xr-xman/colourised-less-for-man22
-rwxr-xr-xman/man44
3 files changed, 84 insertions, 0 deletions
diff --git a/man/Makefile b/man/Makefile
new file mode 100644
index 0000000..726047c
--- /dev/null
+++ b/man/Makefile
@@ -0,0 +1,18 @@
+.POSIX:
+
+install:
+ ../check-installed-shebang colourised-less-for-man
+ ../check-installed-shebang man
+ ../check-in-path dmenu
+ ../check-in-path sed
+ ../check-in-path isfg
+ ../check-in-path less
+ mkdir -p -- ~/.local/bin
+ ln -sf -- ~/.dotfiles/man/man ~/.local/bin/
+ ln -sf -- ~/.dotfiles/man/colourised-less-for-man ~/.local/bin/
+
+uninstall:
+ +! ../check-installed man
+ +! ../check-installed man-db
+ -unlink -- ~/.local/bin/man
+ -unlink -- ~/.local/bin/colourised-less-for-man
diff --git a/man/colourised-less-for-man b/man/colourised-less-for-man
new file mode 100755
index 0000000..e57fa18
--- /dev/null
+++ b/man/colourised-less-for-man
@@ -0,0 +1,22 @@
+#!/bin/dash
+
+colourise () {
+ if test -n "$2"; then
+ from="$(printf "$1"'\n' | sed 's/\[/\\[/g')"
+ to="$(printf '%s\n' "$2" | sed 's/\[/\\[/g')"
+ shift 2
+ sed "s/$from/$to/g" | "$@"
+ else
+ shift 2
+ "$@"
+ fi
+}
+
+sed 's/\x1B\[\(.\)m\x1B\[2\(.\)m/\x1B\[2\2m\x1B\[\1m/g' | \
+colourise "\033[4m" "${LESS_TERMCAP_us}" \
+colourise "\033[24m" "${LESS_TERMCAP_ue}" \
+colourise "\033[1m" "${LESS_TERMCAP_md}" \
+colourise "\033[22m" "${LESS_TERMCAP_me}" \
+colourise "\033[7m" "${LESS_TERMCAP_so}" \
+colourise "\033[27m" "${LESS_TERMCAP_se}" \
+less "$@"
diff --git a/man/man b/man/man
new file mode 100755
index 0000000..bcd9481
--- /dev/null
+++ b/man/man
@@ -0,0 +1,44 @@
+#!/bin/dash
+
+# Browse with dmenu if no page has been specified
+if test $# = 0; then
+ manpage="$(/usr/bin/man -k '' | dmenu -l 40 | sed 's/^\([^ ]*\) (\([^)]*\)).*$/\2 \1/')"
+ if test -z "$manpage"; then
+ exit 1
+ fi
+ set $manpage
+fi
+
+
+# Bold
+export LESS_TERMCAP_md="$(printf '\033[01;34m')"
+export LESS_TERMCAP_me="$(printf '\033[0m')"
+
+# Italic
+export LESS_TERMCAP_us="$(printf '\033[01;04;32m')"
+export LESS_TERMCAP_ue="$(printf '\033[0m')"
+
+# Reverse video
+if test "$TERM" = linux; then
+ export LESS_TERMCAP_so="$(printf '\033[07m')"
+else
+ export LESS_TERMCAP_so="$(printf '\033[07;01m')"
+fi
+export LESS_TERMCAP_se="$(printf '\033[0m')"
+
+# The above stopped working
+if test -z "$MANPAGER"; then
+ export MANPAGER=colourised-less-for-man
+fi
+
+
+# Display, open new terminal if in the background
+if isfg; then
+ exec /usr/bin/man "$@"
+elif test -x /usr/bin/terminator; then
+ exec terminator -e "/usr/bin/man $*"
+elif test -x /usr/bin/st; then
+ exec st -e /usr/bin/man "$@"
+else
+ exec xterm -e /usr/bin/man "$@"
+fi