pager: expose utilities

This commit is contained in:
tv 2023-02-07 14:34:51 +01:00
parent 1ce5e46e7b
commit e26b6d1f15

View File

@ -1,36 +1,42 @@
{ pkgs }:
pkgs.writeDashBin "pager" ''
# usage: pager {view,shift,shiftview}
#
# Environment variables
#
# PAGER_NAME (default: Pager)
# The environment variables specifies the application name under which
# resources are to be obtained. PAGER_NAME should not contain “.” or “*”
# characters.
#
set -efu
pkgs.symlinkJoin {
name = "pager-wrapper";
paths = [
(pkgs.writeDashBin "pager" ''
# usage: pager {view,shift,shiftview}
#
# Environment variables
#
# PAGER_NAME (default: Pager)
# The environment variables specifies the application name under
# which resources are to be obtained. PAGER_NAME should not contain
# “.” or “*” characters.
#
set -efu
pidfile=$XDG_RUNTIME_DIR/pager.lock
name=''${PAGER_NAME-Pager}
pidfile=$XDG_RUNTIME_DIR/pager.lock
name=''${PAGER_NAME-Pager}
if test -e "$pidfile" &&
${pkgs.procps}/bin/pgrep --pidfile="$pidfile" >/dev/null
then
${pkgs.procps}/bin/pkill --pidfile="$pidfile"
${pkgs.coreutils}/bin/rm "$pidfile"
exit
fi
if test -e "$pidfile" &&
${pkgs.procps}/bin/pgrep --pidfile="$pidfile" >/dev/null
then
${pkgs.procps}/bin/pkill --pidfile="$pidfile"
${pkgs.coreutils}/bin/rm "$pidfile"
exit
fi
echo $$ > "$pidfile"
echo $$ > "$pidfile"
exec ${pkgs.xterm}/bin/xterm \
-name "$name" \
-ti vt340 \
-xrm 'Pager*geometry: 32x10' \
-xrm 'Pager*internalBorder: 2' \
-xrm 'Pager*background: #050505' \
-xrm 'Pager*foreground: #d0d7d0' \
-e ${pkgs.haskellPackages.pager}/bin/pager "$@"
''
exec ${pkgs.xterm}/bin/xterm \
-name "$name" \
-ti vt340 \
-xrm 'Pager*geometry: 32x10' \
-xrm 'Pager*internalBorder: 2' \
-xrm 'Pager*background: #050505' \
-xrm 'Pager*foreground: #d0d7d0' \
-e ${pkgs.haskellPackages.pager}/bin/pager "$@"
'')
pkgs.haskellPackages.pager
];
}