+++ /dev/null
-alias daddy Dr. Hartmut Krafft <krafft@gestion.de>
-alias ruth Ruth Krafft <ruth@krafftwerk.de>
-alias tombo Thomas Krafft <thomas@krafftwerk.de>
-alias andy Andreas Krafft <andreas@krafftwerk.de>
-alias brüder tombo andy
-alias eltern daddy ruth
-alias familie eltern brüder
-
-alias penny Penny Krafft <penny@mjollnir.org>
-
-alias pius Prof. Dr. Pius Baschera <bascpiu@hilti.com>
-
-alias lesser Andreas Lesser <andreas.lesser@toni-kg.de>
-
-alias wiedemann Prof. Dr. Andreas Wiedemann <wiedemann@hennerkes.de>
-
-alias alex Alexander Grüter <alexander.grueter@mtfk.de>
-
-alias wolfgruber Dr. Matthias Wolfgruber <matthias.wolfgruber@gmx.de>
-alias meyrat Marco Meyrat <marco.meyrat@hilti.com>
-alias fd Nicola Fortmann-Drühe <ardex@fortmann-druehe.de-DRAFT>
-alias krauch Dr. Tilman Krauch <tilman.krauch@freudenberg.de>
-alias fd Nicola Fortmann-Drühe <ardex@fortmann-druehe.de-DRAFT>
-alias beirat fd wolfgruber krauch meyrat
-
-alias eslam Mark Eslamlooy <mark.eslamlooy@ardex.de>
-alias eslam1 Mark Eslamlooy <eslamlooy1@ardex.de>
-
-alias distler Renate Distler <renate.distler@m.pkf.de>
-
-alias wirtz Markus Wirtz <mw@opensourcepress.de>
-
-alias pohlmann Peter Pohlmann <peter.pohlmann@tripos-gmbh.de>
-alias kohorst Stephan Kohorst <skohorst@draco.de>
-alias burmester Dr. Helmut Burmester <dhburmester@aol.com>
-alias bästlein Dr. Hanno Bästlein <hanno.baestlein@oneequity.com>
-alias iwu pohlmann kohorst burmester bästlein
-
-alias weg WEG Hanfstaenglstrasse 15/17 <weg@hanfstaenglstrasse.de>
-alias wegbr WEG-Beirat Hanfstaenglstrasse 15/17 <weg-beirat@hanfstaenglstrasse.de>
-
-alias freya Freya Oehle <f.oehle@spottster.com>
-alias tobi Tobias Kempkensteffen <t.kempkensteffen@spottster.com>
-alias stroeher Jan-Hendrik Ströher <jh.stroeher@mithril-holding.de>
-alias forum Roland Hradek <hradek@doldemedien.de>
-alias saule Sabrina Saule <saule@jochen-schweizer.de>
-alias spottster-gv freya tobi stroeher forum saule
-
-alias mario Mario Witte <mario@ri.de>
-alias zeifang Nico Zeifang <nico@ri.de>
-alias wiegard Stefan Wiegard <stefan@ri.de>
-alias ri mario zeifang wiegard
-
-alias moe Maximilian Möhring <max@keyp.io>
-alias mang Simon Mang <simon@keyp.io>
-alias jonathan Jonathan Berroth <jonathan@keyp.io>
-alias keyp moe mang jonathan
-alias rahul Rahul Watson Govindan <rahulgovindan@hotmail.com>
-alias harry Harry Strasser <strasser@digitalconvergence.eu>
-alias chenxi Chenxi Wang <chenxi@raincapital.vc>
-alias freddy Freddy Dezeure <freddy@freddydezeure.eu>
-alias keyp-board rahul harry chenxi
-
-alias fabian Fabian Eckert <fabian.eckert@recup.de>
-alias florian Florian Pachaly <florian.pachaly@recup.de>
-alias christian Christian Vilsmaier <christian@myidkeeper.com>
-alias iris Iris Vilsmaier <iris.vilsmaier@recup.de>
-alias chicco Christian Kohlhof <kohlhof@chicco-di-caffe.com>, Ralf Meyer <meyer@chicco-di-caffe.com>
-alias recup fabian florian steffen christian iris chicco
-
-## FAMILY-ELGER
-#alias ini christine wenninger <iniwenn@web.de>
-#alias bigi brigitte wenninger <bbas.wenninger@web.de>
-#alias bernie bernward wenninger <bernward.wenninger@audi.de>
-#alias kathi-privat katharina wenninger <kathi@madduck.net>
-#alias kathi-compuware katharina wenninger <katharina.wenninger@de.compuware.com>
-#alias kathi kathi-privat
-#alias peti petra wenninger <petrawenn@web.de>
-#alias karsten karsten beckmann <karsten@thebeckmanns.de>
-#alias ingo ingo ludwig <ingo.ludwig@aramark.de>
-#alias isabelelger isabel elger <isabel.elger@stud.uni-muenchen.de>
-#alias wenninger ini bigi bernie kathi peti karsten
-#
-## FAMILY-KRAFFT
-#alias uwe uwe soltesz <uwe.soltesz@t-online.de>
-#alias stefan stefan soltesz <stefansoltesz@gmx.de>
-#alias ulli ulli soltesz <so@gleisslutz.com>
-#alias till till soltesz <soltesz@gmx.de>
-#alias juergenwaage juergen waage <ritaundjuergen@aol.com>
-#alias ecki eckart waage <ewaage@studio-b-music.de>
-#alias gerrit gerrit waage <wa.ge@gmx.de>
-#alias gert gert soltesz <ggsol@t-online.de>
-#alias inga inga soltesz <ingasz@aol.com>
-#alias soltesz uwe stefan ulli till
-#alias waage ecki juergenwaage gerrit
-
-# LISTS
-alias slug slug <slug@sccs.swarthmore.edu>
-alias debian-user debian users <debian-user@lists.debian.org>
-alias debian-project debian project list <debian-project@lists.debian.org>
-alias debian-devel debian developers <debian-devel@lists.debian.org>
-alias debian-mentors debian mentors <debian-mentors@lists.debian.org>
-alias debian-curiosa debian curiosa list <debian-curiosa@lists.debian.org>
-alias debian-firewall debian firewall list <debian-firewall@lists.debian.org>
-alias debian-ipv6 debian ipv6 <debian-ipv6@lists.debian.org>
-alias debian-isp debian isp list <debian-isp@lists.debian.org>
-alias debian-events debian events <debian-events@lists.debian.org>
-alias debian-events-eu debian events in europe <debian-events-eu@lists.debian.org>
-alias debian-muc muenchner debianers <area-muc@teams.debian.net>
-alias debian-ch swiss debian community <community@lists.debian.ch>
-alias debian-vote debian vote list <debian-vote@lists.debian.org>
-alias debian-private debian private list <debian-private@lists.debian.org>
-alias debian-books debian books <debian-books@lists.debian.org>
-alias debian-release debian release team <debian-release@lists.debian.org>
-alias debian-research debian research discussions <debian-research@lists.debian.org>
-alias mutt-users mutt users <mutt-users@mutt.org>
-alias mutt mutt-users
-alias postfix-users postfix users <postfix-users@postfix.org>
-alias postfix postfix-users
-alias cypherpunks cypherpunks <cypherpunks@cpunks.org>
-alias buffy buffy developers list <buffy-devel@lists.alioth.debian.org>
-alias netconf netconf developers list <netconf-devel@lists.alioth.debian.org>
-alias debconf-discuss debconf discussion list <debconf-discuss@lists.debconf.org>
-alias debconf-team debconf team list <debconf-team@lists.debconf.org>
-alias dc-team debconf-team
-alias debconf debconf-discuss
-alias debconf-sponsors-team debconf sponsorship team list <debconf-sponsors-team@lists.debconf.org>
-alias dc-sponsors debconf-sponsors-team
-alias dc15-team dc15 team discussion list <debconf15-team@lists.debian.org>
-alias dc15 dc15 team mailbox <debconf15@debconf.org>
-alias dc16-team dc16 team discussion list <debconf16-team@lists.debian.org>
-alias dc16 dc16-team
-alias debconf-kids debconf kids mailing list <debconf-kids@lists.debian.org>
-alias dc-kids debconf-kids
-alias vim vim help list <vim@vim.org>
-alias dovecot dovecot mailing list <dovecot@dovecot.org>
-alias vcs-home home in vcs discussion list <vcs-home@lists.madduck.net>
-alias vcs-pkg vcs distro packaging discussion list <vcs-pkg-discuss@lists.alioth.debian.org>
-alias offlineimap offlineimap list <offlineimap@complete.org>
-alias mailtags mailtags discussion list <mailtags@lists.madduck.net>
-alias asterisk asterisk users mailing list <asterisk-users@lists.digium.com>
-alias unbound unbound users list <unbound-users@unbound.net>
-alias foo foo camp discussion list <campers@groups.baacamp.org>
-alias rsyslog rsyslog list <rsyslog@lists.adiscon.com>
-alias salt salt users list <salt-users@googlegroups.com>
-alias ansible ansible project list <ansible-project@googlegroups.com>
-alias libvirt libvirt users list <libvirt-users@redhat.com>
-alias vmm vmm users list <vmm-users@lists.sourceforge.net>
-alias osmand osm android users list <osmand@googlegroups.com>
-alias libreoffice libreoffice users list <users@global.libreoffice.org>
-alias lkml linux kernel mailing list <linux-kernel@vger.kernel.org>
-alias django django users list <django-users@googlegroups.com>
-alias django-devel django developers list <django-developers@googlegroups.com>
-alias openssh OpenSSH development mailing list <openssh-unix-dev@mindrot.org>
-alias unison unison users lists <unison-users@yahoogroups.com>
-alias unison-hackers unison hackers lists <unison-hackers@lists.seas.upenn.edu>
-alias sogo sogo users list <users@sogo.nu>
-alias systemd systemd devel list <systemd-devel@lists.freedesktop.org>
-alias odoo odoo community discussion list <community@mail.odoo.com>
-alias munin-users munin users list <munin-users@lists.sourceforge.net>
-alias awesome awesome window manager list <awesome@naquadah.org>
-alias fsfe.de FSFE Koordinationsliste Deutschland <germany@lists.fsfe.org>
-alias zsh-users zsh users list <zsh-users@zsh.org>
-alias zsh-workers zsh workers list <zsh-workers@zsh.org>
-alias zsh-devel zsh-workers
-alias gnupg-users gnupg users list <gnupg-users@gnupg.org>
-alias gpg gnupg-users
-alias gnupg gnupg-users
-alias ccc-muc µC3 talk Liste <talk@lists.muc.ccc.de>
-alias lca lca chat list <lca2021-chat@lists.lca2021.linux.org.au>
-alias openedu-parents OpenEDU parents list <openedu-parents@lists.openstem.com.au>
-alias stafford Stafford & Port Streets neighbourhood <staffordstreet@lists.madduck.net>
-alias tigervnc-users TigerVNC users list <tigervnc-users@googlegroups.com>
-alias netfilter netfilter users list <netfilter@vger.kernel.org>
-
-alias btsc Debian bug tracker control bot <control@bugs.debian.org>
-
-# vim:tw=0:ft=muttrc
+++ /dev/null
-#!/bin/sh
-#
-# edit-header - helper script to append/replace/remove headers with mutt
-#
-# Based on an idea by David Champion <dgc at uchicago.edu>
-#
-# Copyright © 2008 martin f. krafft <madduck@madduck.net>
-# Released under the terms of the Artistic Licence 2.0
-#
-set -eu
-
-if [ ! -x "$(command -v formail)" ]; then
- echo E: formail not installed. >&2
- exit 1
-fi
-
-header="${1:-}"
-if [ -z "$header" ]; then
- echo "E: no header specified" >&2
- exit 1
-fi
-
-get_header_contents()
-{
- local contents
- printf "Enter ${1:-header} contents: " >/dev/tty
- read contents </dev/tty
- echo "$contents"
-}
-
-script="${0%/*}/${2:-}"
-if [ -f "$script" ] && [ -x "$script" ]; then
- if [ -z "${__RLWRAPPED:-}" ] && [ -x $(command -v rlwrap) ]; then
- __RLWRAPPED=true exec rlwrap "$0" "$@"
- fi
-
- contents_source="$script"
- shift
-else
- contents_source=get_header_contents
-fi
-
-editor=
-case "$0" in
- *append-header|*supersede-header|*replace-header)
- contents="${2:-}"
- [ -n "$contents" ] || contents="$(eval $contents_source $header)"
- case "$0" in
- *append-header) flag=-A;;
- *supersede-header) flag=-i;;
- *replace-header) flag=-I;;
- esac
- editor="${0%/*}/filter-proxy formail $flag \'$header: $contents\'"
- ;;
-
- *remove-header)
- editor="${0%/*}/filter-proxy formail -I \'$header:\'"
- ;;
-
- *)
- echo "E: unknown invocation: ${0##*/}" >&2
- exit 1
- ;;
-
-esac
-
-echo "set my_editor=\"\$editor\""
-echo "set my_filter=\"$editor\""
-echo -n "push '"
-echo -n "<enter-command>set editor=\"\$my_filter\"<enter>"
-echo -n "<edit>"
-echo -n "<enter-command>set editor=\"\$my_editor\"<enter>"
-echo -n "<enter-command>unset my_filter<enter>"
-echo -n "<enter-command>unset my_editor<enter>"
-echo "'"
--- /dev/null
+edit-header
\ No newline at end of file
+++ /dev/null
-#!/bin/sh
-
-#exec 2>> /tmp/bgrun.stderr
-#set -x
-
-SELF="${0##*/}"
-
-TEMPDIR=
-TEMPRUNDIR=.tempdir-run.d
-cleanup() {
- if [ -d $TEMPRUNDIR ]; then
- local TEMPDIR; TEMPDIR="$PWD"
- notify_output
- cd /
- rm -rf "$TEMPDIR"
- fi
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-}
-trap cleanup 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-
-enter_tempdir() {
- if [ -d $TEMPRUNDIR ]; then
- return
-
- else
- if [ -z "${TMPDIR:-}" ]; then
- TMPDIR=/tmp
- fi
- for i in $LOGNAME volatile; do
- if [ -d "${TMPDIR}/$i" ]; then
- TMPDIR="${TMPDIR}/$i"
- break
- fi
- done
- cd $(mktemp -dp "$TMPDIR" mutt.XXXXXXXXXX)
- mkdir $TEMPRUNDIR
- fi
-}
-
-notify() {
- if [ -x "$(command -v awesome-client)" ]; then
- local stdout stderr escaped output
- stdout="${2:-}"
- stderr="${3:-}"
- for i in stdout stderr; do
- if eval test -s $TEMPRUNDIR/output.$i; then
- escaped=$(eval sed -e 's,\",\\\",g' $TEMPRUNDIR/output.$i)
- output="${output:+$output
-}${i}:
-$escaped"
- fi
- done
- [ -n "${escaped:-}" ] || return
- awesome-client <<-_eof
- local naughty = require("naughty")
- naughty.notify({ preset = naughty.config.presets.low,
- title = "${1:-Output from mutt/$SELF}",
- text = [[$output]]
- })
- _eof
- fi
-}
-
-notify_output() {
- [ -d $TEMPRUNDIR ] || return
- local stdout stderr anything
-
- for i in stdout stderr; do
- if [ -s "$TEMPRUNDIR/output.$i" ]; then
- eval $i="'$TEMPRUNDIR/output.$i'"
- else
- eval $i=/dev/null
- fi
- done
-
- notify "Output from mutt/$SELF" $stdout $stderr
-}
-
-guess_extension() {
- python3 -c "import mimetypes; print(mimetypes.guess_extension('$1'))"
-}
-
-get_file() {
- local t
- if [ -z "$1" ]; then
- t=$(mktemp -p "$PWD" tmp.XXXXXXXXXX$(guess_extension "$MIMETYPE"))
- cat > "$t"
- echo "$t"
- else
- t="$(echo -n ${1##*/} | sed -re 's![^[:alnum:],.@%^+=_-]!_!gi')"
- ln "$1" "$t" 2>/dev/null || cp "$1" "$t"
- echo "$PWD/$t"
- fi
-}
-
-MIMETYPE= FILENAME= VIEWER= DELAY=1
-state=
-for arg in "$@"; do
- case "$state/$arg" in
-
- (/-t) state=t;;
- (t/*) MIMETYPE="$arg"; state=;;
-
- (/-f) state=f;;
- (f/*) FILENAME="$arg"; state=;;
-
- (/-d) state=d;;
- (d/*) DELAY="$arg"; state=;;
-
- (/-v) state=v;;
- (v/*) VIEWER="$arg"; state=;;
-
- (*)
- echo >&2 "E: Invalid argument: $i"
- exit 1
- ;;
-
- esac
-done
-
-launch_viewer() {
- local filename; filename="$1"
- if [ -z "$VIEWER" ]; then
- [ -n "${2:-}" ] && filename="${2}:${1}"
- run-mailcap "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
- else
- $VIEWER "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
- fi
-}
-
-case "$SELF" in
- (bgview)
- # make a copy of the file, then launch a shell process in the background
- # to divert to run-mailcap, after which the temporary directory gets
- # cleaned up.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- (
- ts=$(($(date +%s) + $DELAY))
- launch_viewer "$FILE" "$MIMETYPE"
- while [ $(date +%s) -lt $ts ]; do sleep 1; done
- cleanup
- ) &
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
- ;;
- (bgview-fifo)
- # hack to stay around until the viewer has read the file: make a fifo and
- # wait for the cat process to finish writing to it, which means that it
- # must have been consumed on the other end.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- FIFO="fifo-${FILE##*/}"
- mkfifo "$FIFO"
- cat "$FILE" > "$FIFO" &
- # For some reason, we do have to write a tempfile and cannot seem to
- # redirect stdin directly to the fifo, i.e. this does not work instead of
- # the previous three lines:
- ## cat > "$FIFO" &
- launch_viewer "$FIFO" "$MIMETYPE"
- wait
- cleanup
- ;;
- (bgview-delay)
- # hack to stay around until the file hasn't been accessed for a few
- # seconds, so that we can clean up. This is for cases when the FIFO method
- # doesn't work, because e.g. Firefox randomly chooses it needs to read
- # HTML files twice.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- touch "$FILE"
- (launch_viewer "$FILE" "$MIMETYPE") &
- (
- while [ $(($(stat -c%X "$FILE") + $DELAY)) -gt $(date +%s) ]; do
- sleep 1
- done
- cleanup
- ) &
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
- ;;
-esac
--- /dev/null
+bgrun
\ No newline at end of file
+++ /dev/null
-#!/bin/sh
-
-#exec 2>> /tmp/bgrun.stderr
-#set -x
-
-SELF="${0##*/}"
-
-TEMPDIR=
-TEMPRUNDIR=.tempdir-run.d
-cleanup() {
- if [ -d $TEMPRUNDIR ]; then
- local TEMPDIR; TEMPDIR="$PWD"
- notify_output
- cd /
- rm -rf "$TEMPDIR"
- fi
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-}
-trap cleanup 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-
-enter_tempdir() {
- if [ -d $TEMPRUNDIR ]; then
- return
-
- else
- if [ -z "${TMPDIR:-}" ]; then
- TMPDIR=/tmp
- fi
- for i in $LOGNAME volatile; do
- if [ -d "${TMPDIR}/$i" ]; then
- TMPDIR="${TMPDIR}/$i"
- break
- fi
- done
- cd $(mktemp -dp "$TMPDIR" mutt.XXXXXXXXXX)
- mkdir $TEMPRUNDIR
- fi
-}
-
-notify() {
- if [ -x "$(command -v awesome-client)" ]; then
- local stdout stderr escaped output
- stdout="${2:-}"
- stderr="${3:-}"
- for i in stdout stderr; do
- if eval test -s $TEMPRUNDIR/output.$i; then
- escaped=$(eval sed -e 's,\",\\\",g' $TEMPRUNDIR/output.$i)
- output="${output:+$output
-}${i}:
-$escaped"
- fi
- done
- [ -n "${escaped:-}" ] || return
- awesome-client <<-_eof
- local naughty = require("naughty")
- naughty.notify({ preset = naughty.config.presets.low,
- title = "${1:-Output from mutt/$SELF}",
- text = [[$output]]
- })
- _eof
- fi
-}
-
-notify_output() {
- [ -d $TEMPRUNDIR ] || return
- local stdout stderr anything
-
- for i in stdout stderr; do
- if [ -s "$TEMPRUNDIR/output.$i" ]; then
- eval $i="'$TEMPRUNDIR/output.$i'"
- else
- eval $i=/dev/null
- fi
- done
-
- notify "Output from mutt/$SELF" $stdout $stderr
-}
-
-guess_extension() {
- python3 -c "import mimetypes; print(mimetypes.guess_extension('$1'))"
-}
-
-get_file() {
- local t
- if [ -z "$1" ]; then
- t=$(mktemp -p "$PWD" tmp.XXXXXXXXXX$(guess_extension "$MIMETYPE"))
- cat > "$t"
- echo "$t"
- else
- t="$(echo -n ${1##*/} | sed -re 's![^[:alnum:],.@%^+=_-]!_!gi')"
- ln "$1" "$t" 2>/dev/null || cp "$1" "$t"
- echo "$PWD/$t"
- fi
-}
-
-MIMETYPE= FILENAME= VIEWER= DELAY=1
-state=
-for arg in "$@"; do
- case "$state/$arg" in
-
- (/-t) state=t;;
- (t/*) MIMETYPE="$arg"; state=;;
-
- (/-f) state=f;;
- (f/*) FILENAME="$arg"; state=;;
-
- (/-d) state=d;;
- (d/*) DELAY="$arg"; state=;;
-
- (/-v) state=v;;
- (v/*) VIEWER="$arg"; state=;;
-
- (*)
- echo >&2 "E: Invalid argument: $i"
- exit 1
- ;;
-
- esac
-done
-
-launch_viewer() {
- local filename; filename="$1"
- if [ -z "$VIEWER" ]; then
- [ -n "${2:-}" ] && filename="${2}:${1}"
- run-mailcap "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
- else
- $VIEWER "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
- fi
-}
-
-case "$SELF" in
- (bgview)
- # make a copy of the file, then launch a shell process in the background
- # to divert to run-mailcap, after which the temporary directory gets
- # cleaned up.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- (
- ts=$(($(date +%s) + $DELAY))
- launch_viewer "$FILE" "$MIMETYPE"
- while [ $(date +%s) -lt $ts ]; do sleep 1; done
- cleanup
- ) &
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
- ;;
- (bgview-fifo)
- # hack to stay around until the viewer has read the file: make a fifo and
- # wait for the cat process to finish writing to it, which means that it
- # must have been consumed on the other end.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- FIFO="fifo-${FILE##*/}"
- mkfifo "$FIFO"
- cat "$FILE" > "$FIFO" &
- # For some reason, we do have to write a tempfile and cannot seem to
- # redirect stdin directly to the fifo, i.e. this does not work instead of
- # the previous three lines:
- ## cat > "$FIFO" &
- launch_viewer "$FIFO" "$MIMETYPE"
- wait
- cleanup
- ;;
- (bgview-delay)
- # hack to stay around until the file hasn't been accessed for a few
- # seconds, so that we can clean up. This is for cases when the FIFO method
- # doesn't work, because e.g. Firefox randomly chooses it needs to read
- # HTML files twice.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- touch "$FILE"
- (launch_viewer "$FILE" "$MIMETYPE") &
- (
- while [ $(($(stat -c%X "$FILE") + $DELAY)) -gt $(date +%s) ]; do
- sleep 1
- done
- cleanup
- ) &
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
- ;;
-esac
--- /dev/null
+bgrun
\ No newline at end of file
+++ /dev/null
-#!/bin/sh
-
-#exec 2>> /tmp/bgrun.stderr
-#set -x
-
-SELF="${0##*/}"
-
-TEMPDIR=
-TEMPRUNDIR=.tempdir-run.d
-cleanup() {
- if [ -d $TEMPRUNDIR ]; then
- local TEMPDIR; TEMPDIR="$PWD"
- notify_output
- cd /
- rm -rf "$TEMPDIR"
- fi
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-}
-trap cleanup 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-
-enter_tempdir() {
- if [ -d $TEMPRUNDIR ]; then
- return
-
- else
- if [ -z "${TMPDIR:-}" ]; then
- TMPDIR=/tmp
- fi
- for i in $LOGNAME volatile; do
- if [ -d "${TMPDIR}/$i" ]; then
- TMPDIR="${TMPDIR}/$i"
- break
- fi
- done
- cd $(mktemp -dp "$TMPDIR" mutt.XXXXXXXXXX)
- mkdir $TEMPRUNDIR
- fi
-}
-
-notify() {
- if [ -x "$(command -v awesome-client)" ]; then
- local stdout stderr escaped output
- stdout="${2:-}"
- stderr="${3:-}"
- for i in stdout stderr; do
- if eval test -s $TEMPRUNDIR/output.$i; then
- escaped=$(eval sed -e 's,\",\\\",g' $TEMPRUNDIR/output.$i)
- output="${output:+$output
-}${i}:
-$escaped"
- fi
- done
- [ -n "${escaped:-}" ] || return
- awesome-client <<-_eof
- local naughty = require("naughty")
- naughty.notify({ preset = naughty.config.presets.low,
- title = "${1:-Output from mutt/$SELF}",
- text = [[$output]]
- })
- _eof
- fi
-}
-
-notify_output() {
- [ -d $TEMPRUNDIR ] || return
- local stdout stderr anything
-
- for i in stdout stderr; do
- if [ -s "$TEMPRUNDIR/output.$i" ]; then
- eval $i="'$TEMPRUNDIR/output.$i'"
- else
- eval $i=/dev/null
- fi
- done
-
- notify "Output from mutt/$SELF" $stdout $stderr
-}
-
-guess_extension() {
- python3 -c "import mimetypes; print(mimetypes.guess_extension('$1'))"
-}
-
-get_file() {
- local t
- if [ -z "$1" ]; then
- t=$(mktemp -p "$PWD" tmp.XXXXXXXXXX$(guess_extension "$MIMETYPE"))
- cat > "$t"
- echo "$t"
- else
- t="$(echo -n ${1##*/} | sed -re 's![^[:alnum:],.@%^+=_-]!_!gi')"
- ln "$1" "$t" 2>/dev/null || cp "$1" "$t"
- echo "$PWD/$t"
- fi
-}
-
-MIMETYPE= FILENAME= VIEWER= DELAY=1
-state=
-for arg in "$@"; do
- case "$state/$arg" in
-
- (/-t) state=t;;
- (t/*) MIMETYPE="$arg"; state=;;
-
- (/-f) state=f;;
- (f/*) FILENAME="$arg"; state=;;
-
- (/-d) state=d;;
- (d/*) DELAY="$arg"; state=;;
-
- (/-v) state=v;;
- (v/*) VIEWER="$arg"; state=;;
-
- (*)
- echo >&2 "E: Invalid argument: $i"
- exit 1
- ;;
-
- esac
-done
-
-launch_viewer() {
- local filename; filename="$1"
- if [ -z "$VIEWER" ]; then
- [ -n "${2:-}" ] && filename="${2}:${1}"
- run-mailcap "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
- else
- $VIEWER "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
- fi
-}
-
-case "$SELF" in
- (bgview)
- # make a copy of the file, then launch a shell process in the background
- # to divert to run-mailcap, after which the temporary directory gets
- # cleaned up.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- (
- ts=$(($(date +%s) + $DELAY))
- launch_viewer "$FILE" "$MIMETYPE"
- while [ $(date +%s) -lt $ts ]; do sleep 1; done
- cleanup
- ) &
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
- ;;
- (bgview-fifo)
- # hack to stay around until the viewer has read the file: make a fifo and
- # wait for the cat process to finish writing to it, which means that it
- # must have been consumed on the other end.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- FIFO="fifo-${FILE##*/}"
- mkfifo "$FIFO"
- cat "$FILE" > "$FIFO" &
- # For some reason, we do have to write a tempfile and cannot seem to
- # redirect stdin directly to the fifo, i.e. this does not work instead of
- # the previous three lines:
- ## cat > "$FIFO" &
- launch_viewer "$FIFO" "$MIMETYPE"
- wait
- cleanup
- ;;
- (bgview-delay)
- # hack to stay around until the file hasn't been accessed for a few
- # seconds, so that we can clean up. This is for cases when the FIFO method
- # doesn't work, because e.g. Firefox randomly chooses it needs to read
- # HTML files twice.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- touch "$FILE"
- (launch_viewer "$FILE" "$MIMETYPE") &
- (
- while [ $(($(stat -c%X "$FILE") + $DELAY)) -gt $(date +%s) ]; do
- sleep 1
- done
- cleanup
- ) &
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
- ;;
-esac
--- /dev/null
+bgrun
\ No newline at end of file
body, .signature, #signature {
font-family: Lato, Calibri, Tahoma, sans-serif;
max-width: 32em;
- margin: 0 auto;
}
p {
margin: 0;
font-style: italic;
border-left: 2px solid #666;
- color: #666;
- font-size: 80%;
}
.admonition blockquote {
font-size: inherit;
border-left: inherit;
+ color: #666;
}
table, th, td {
subscribe django-users@googlegroups.com
+subscribe unbound-users@lists.nlnetlabs.nl
+
subscribe (alteherren|info)@sudetia\.de
subscribe ip@(v2.)?listbox.com
subscribe cypherpunks@cpunks.org
-subscribe thorndon-c@lists.madduck.net
-
subscribe staffordstreet@lists.madduck.net
subscribe .+@r2e\.madduck\.net
set pager_format="<%a> %* %J (%P)"
set my_markdown_extensions="admonition,codehilite,sane_lists,smarty,pymdownx.extra,pymdownx.highlight,pymdownx.critic,pymdownx.keys,pymdownx.magiclink,pymdownx.mark,pymdownx.saneheaders,pymdownx.smartsymbols,nl2br"
-macro compose y "<enter-command> source '$my_confdir/buildmimetree.py --extensions $my_markdown_extensions --tempdir $tmpdir --only-build --css-file $my_confdir/htmlmail.css|'<enter><enter-command> source \$my_mdwn_postprocess_cmd_file<enter>" "Convert message into a modern MIME tree with inline images"
-bind compose Y send-message
+macro compose y "<enter-command> source '$my_confdir/buildmimetree.py --extensions $my_markdown_extensions --tempdir $tmpdir --css-file $my_confdir/htmlmail.css|'<enter><enter-command> source \$my_mdwn_postprocess_cmd_file<enter>" "Convert message into a modern MIME tree with inline images"
+++ /dev/null
-#!/bin/sh
-#
-# edit-header - helper script to append/replace/remove headers with mutt
-#
-# Based on an idea by David Champion <dgc at uchicago.edu>
-#
-# Copyright © 2008 martin f. krafft <madduck@madduck.net>
-# Released under the terms of the Artistic Licence 2.0
-#
-set -eu
-
-if [ ! -x "$(command -v formail)" ]; then
- echo E: formail not installed. >&2
- exit 1
-fi
-
-header="${1:-}"
-if [ -z "$header" ]; then
- echo "E: no header specified" >&2
- exit 1
-fi
-
-get_header_contents()
-{
- local contents
- printf "Enter ${1:-header} contents: " >/dev/tty
- read contents </dev/tty
- echo "$contents"
-}
-
-script="${0%/*}/${2:-}"
-if [ -f "$script" ] && [ -x "$script" ]; then
- if [ -z "${__RLWRAPPED:-}" ] && [ -x $(command -v rlwrap) ]; then
- __RLWRAPPED=true exec rlwrap "$0" "$@"
- fi
-
- contents_source="$script"
- shift
-else
- contents_source=get_header_contents
-fi
-
-editor=
-case "$0" in
- *append-header|*supersede-header|*replace-header)
- contents="${2:-}"
- [ -n "$contents" ] || contents="$(eval $contents_source $header)"
- case "$0" in
- *append-header) flag=-A;;
- *supersede-header) flag=-i;;
- *replace-header) flag=-I;;
- esac
- editor="${0%/*}/filter-proxy formail $flag \'$header: $contents\'"
- ;;
-
- *remove-header)
- editor="${0%/*}/filter-proxy formail -I \'$header:\'"
- ;;
-
- *)
- echo "E: unknown invocation: ${0##*/}" >&2
- exit 1
- ;;
-
-esac
-
-echo "set my_editor=\"\$editor\""
-echo "set my_filter=\"$editor\""
-echo -n "push '"
-echo -n "<enter-command>set editor=\"\$my_filter\"<enter>"
-echo -n "<edit>"
-echo -n "<enter-command>set editor=\"\$my_editor\"<enter>"
-echo -n "<enter-command>unset my_filter<enter>"
-echo -n "<enter-command>unset my_editor<enter>"
-echo "'"
--- /dev/null
+edit-header
\ No newline at end of file
+++ /dev/null
-#!/bin/sh
-#
-# edit-header - helper script to append/replace/remove headers with mutt
-#
-# Based on an idea by David Champion <dgc at uchicago.edu>
-#
-# Copyright © 2008 martin f. krafft <madduck@madduck.net>
-# Released under the terms of the Artistic Licence 2.0
-#
-set -eu
-
-if [ ! -x "$(command -v formail)" ]; then
- echo E: formail not installed. >&2
- exit 1
-fi
-
-header="${1:-}"
-if [ -z "$header" ]; then
- echo "E: no header specified" >&2
- exit 1
-fi
-
-get_header_contents()
-{
- local contents
- printf "Enter ${1:-header} contents: " >/dev/tty
- read contents </dev/tty
- echo "$contents"
-}
-
-script="${0%/*}/${2:-}"
-if [ -f "$script" ] && [ -x "$script" ]; then
- if [ -z "${__RLWRAPPED:-}" ] && [ -x $(command -v rlwrap) ]; then
- __RLWRAPPED=true exec rlwrap "$0" "$@"
- fi
-
- contents_source="$script"
- shift
-else
- contents_source=get_header_contents
-fi
-
-editor=
-case "$0" in
- *append-header|*supersede-header|*replace-header)
- contents="${2:-}"
- [ -n "$contents" ] || contents="$(eval $contents_source $header)"
- case "$0" in
- *append-header) flag=-A;;
- *supersede-header) flag=-i;;
- *replace-header) flag=-I;;
- esac
- editor="${0%/*}/filter-proxy formail $flag \'$header: $contents\'"
- ;;
-
- *remove-header)
- editor="${0%/*}/filter-proxy formail -I \'$header:\'"
- ;;
-
- *)
- echo "E: unknown invocation: ${0##*/}" >&2
- exit 1
- ;;
-
-esac
-
-echo "set my_editor=\"\$editor\""
-echo "set my_filter=\"$editor\""
-echo -n "push '"
-echo -n "<enter-command>set editor=\"\$my_filter\"<enter>"
-echo -n "<edit>"
-echo -n "<enter-command>set editor=\"\$my_editor\"<enter>"
-echo -n "<enter-command>unset my_filter<enter>"
-echo -n "<enter-command>unset my_editor<enter>"
-echo "'"
--- /dev/null
+edit-header
\ No newline at end of file
#
set -eu
-CHECKLIST="$HOME/.config/mutt/ack-recipients"
+CHECKLIST="${0%/*}/../ack-recipients"
HEADER=X-Acked
ACKED_RCPTS=$(formail -czx ${HEADER}: < $1 | sed -re 's/,\s*/ /g' | tr '[[:upper:]]' '[[:lower:]]')
MAILFILE="$1"; shift
+++ /dev/null
-#!/bin/sh
-#
-# edit-header - helper script to append/replace/remove headers with mutt
-#
-# Based on an idea by David Champion <dgc at uchicago.edu>
-#
-# Copyright © 2008 martin f. krafft <madduck@madduck.net>
-# Released under the terms of the Artistic Licence 2.0
-#
-set -eu
-
-if [ ! -x "$(command -v formail)" ]; then
- echo E: formail not installed. >&2
- exit 1
-fi
-
-header="${1:-}"
-if [ -z "$header" ]; then
- echo "E: no header specified" >&2
- exit 1
-fi
-
-get_header_contents()
-{
- local contents
- printf "Enter ${1:-header} contents: " >/dev/tty
- read contents </dev/tty
- echo "$contents"
-}
-
-script="${0%/*}/${2:-}"
-if [ -f "$script" ] && [ -x "$script" ]; then
- if [ -z "${__RLWRAPPED:-}" ] && [ -x $(command -v rlwrap) ]; then
- __RLWRAPPED=true exec rlwrap "$0" "$@"
- fi
-
- contents_source="$script"
- shift
-else
- contents_source=get_header_contents
-fi
-
-editor=
-case "$0" in
- *append-header|*supersede-header|*replace-header)
- contents="${2:-}"
- [ -n "$contents" ] || contents="$(eval $contents_source $header)"
- case "$0" in
- *append-header) flag=-A;;
- *supersede-header) flag=-i;;
- *replace-header) flag=-I;;
- esac
- editor="${0%/*}/filter-proxy formail $flag \'$header: $contents\'"
- ;;
-
- *remove-header)
- editor="${0%/*}/filter-proxy formail -I \'$header:\'"
- ;;
-
- *)
- echo "E: unknown invocation: ${0##*/}" >&2
- exit 1
- ;;
-
-esac
-
-echo "set my_editor=\"\$editor\""
-echo "set my_filter=\"$editor\""
-echo -n "push '"
-echo -n "<enter-command>set editor=\"\$my_filter\"<enter>"
-echo -n "<edit>"
-echo -n "<enter-command>set editor=\"\$my_editor\"<enter>"
-echo -n "<enter-command>unset my_filter<enter>"
-echo -n "<enter-command>unset my_editor<enter>"
-echo "'"
--- /dev/null
+edit-header
\ No newline at end of file