SCRIPTLINKS += fixsub
SCRIPTLINKS += check-debsyms
SCRIPTLINKS += check-blkdev-size
+SCRIPTLINKS += xremote
+SCRIPTLINKS += remote-disorder
+SCRIPTLINKS += remote-slideshow
## Random odds and ends.
DOTLINKS += .infokey .sqliterc
signal))))
(fset 'message original-message)))
+;; No.
+(setq kill-emacs-hook nil)
+
;;;--------------------------------------------------------------------------
;;; Utilities.
;;;--------------------------------------------------------------------------
;;; Look up a string and find its URL in the Hyperspec.
+(defmacro some-var (&rest vars)
+ (let ((v (gensym)))
+ `(let ((,v (find-if #'boundp ',vars)))
+ (if ,v (symbol-value ,v)
+ (error "huh")))))
+
(defun hyperspec-urls (key)
"Return a list of hyperspec URLs corresponding to KEY."
(let ((urls nil)
(lookups (list (list (downcase key)
- common-lisp-hyperspec-symbols
+ (some-var common-lisp-hyperspec--symbols
+ common-lisp-hyperspec-symbols)
#'(lambda (values)
(mapcar (lambda (value)
(concat common-lisp-hyperspec-root
value))
values)))
(list (downcase key)
- common-lisp-hyperspec-issuex-symbols
+ (some-var common-lisp-hyperspec--issuex-symbols
+ common-lisp-hyperspec-issuex-symbols)
#'(lambda (value)
(list (concat common-lisp-hyperspec-root
"Issues/"
value)))))))
(when (= (aref key 0) ?~)
(push (list (substring key 1)
- common-lisp-hyperspec-format-characters
+ (some-var common-lisp-hyperspec--format-characters
+ common-lisp-hyperspec-format-characters)
#'(lambda (values)
- (mapcar #'common-lisp-hyperspec-section values)))
+ (mapcar #'common-lisp-hyperspec-section
+ values)))
lookups))
(dolist (lookup lookups)
(let* ((name (car lookup))
- (obarray (cadr lookup))
+ (table (cadr lookup))
(format (car (cddr lookup)))
- (symbol (intern-soft name obarray)))
- (when (and symbol (boundp symbol))
- (setq urls (nconc urls
- (funcall format (symbol-value symbol)))))))
+ (value (cond ((vectorp table)
+ (let ((symbol (intern-soft name table)))
+ (and symbol
+ (boundp symbol)
+ (symbol-value symbol))))
+ ((hash-table-p table)
+ (gethash name table))
+ (t
+ (error "what even?")))))
+ (when value
+ (setq urls (nconc urls (funcall format value))))))
urls))
-(defun good-symbols (obarray &optional filter)
- "Return the list of bound symbols in OBARRAY for which FILTER returns
+(defun good-symbols (table &optional filter)
+ "Return the list of bound symbols in TABLE for which FILTER returns
non-nil; FILTER defaults to always-true if unspecified."
(let ((syms nil))
- (mapatoms (lambda (sym)
- (when (and (boundp sym)
- (or (not filter)
- (funcall filter sym)))
- (setq syms (cons sym syms))))
- obarray)
+ (cond ((vectorp table)
+ (mapatoms (lambda (sym)
+ (when (and (boundp sym)
+ (or (not filter)
+ (funcall filter sym)))
+ (push (symbol-name sym) syms)))
+ table))
+ ((hash-table-p table)
+ (maphash (lambda (key value)
+ (when (or (not filter) (funcall filter key))
+ (push key syms)))
+ table))
+ (t
+ (error "what even?")))
(sort syms #'string<)))
(defun hyperspec-keys ()
"Return the list of all valid hyperspec lookup keys. Useful for
completion."
- (nconc (good-symbols common-lisp-hyperspec-symbols)
+ (nconc (good-symbols (some-var common-lisp-hyperspec--symbols
+ common-lisp-hyperspec-symbols))
(mapcar #'(lambda (name)
- (format "~%s" name))
- (good-symbols common-lisp-hyperspec-format-characters
- #'(lambda (sym)
- (= (length (symbol-name sym)) 1))))
- (good-symbols common-lisp-hyperspec-issuex-symbols)))
+ (format "~%c" (aref name 0)))
+ (good-symbols (some-var common-lisp-hyperspec--format-characters
+ common-lisp-hyperspec-format-characters)
+ #'(lambda (name)
+ (and (>= (length name) 3)
+ (= (aref name 2) ?-)
+ (let ((ch (aref name 0)))
+ (= ch (downcase ch)))))))
+ (good-symbols (some-var common-lisp-hyperspec--issuex-symbols
+ common-lisp-hyperspec-issuex-symbols))))
;;;--------------------------------------------------------------------------
;;; Parse the command line.
}
: ${checkout=yes} ${checkoutrev=HEAD}
: ${build=test}
-: ${setup=yes} ${setupcmd=mdw-setup}
+: ${setup=yes} ${setupcmd=!guess}
: ${distcheck=yes}
: ${debian=yes}
: ${clean=yes}
checkout=*) checkout=yes checkoutrev=${opt#*=} ;;
release) build=release ;;
norelease) build=test ;;
- setup) setup=yes setupcmd=mdw-setup ;;
+ setup) setup=yes setupcmd=!guess ;;
setup=*) setup=yes setupcmd=${opt#*=} ;;
upload) maybe_set upload uploadpath ;;
upload=*) upload=yes uploadpath=${opt#*=} ;;
## Maybe refresh the build machinery.
case "$setup" in
yes)
+ case $setupcmd in
+ !guess)
+ if [ -f .links ]; then setupcmd=mdw-setup
+ elif [ -x autogen.sh ]; then setupcmd=./autogen.sh
+ elif [ -x setup ]; then setupcmd=./setup
+ elif [ -f configure.ac ]; then setupcmd="autoreconf -is"
+ else setupcmd=mdw-setup
+ fi
+ ;;
+ esac
run $setupcmd
;;
esac
--- /dev/null
+#! /bin/sh -e
+case $# in 1) ;; *) echo >&2 "usage: $0 HOST"; exit 2 ;; esac
+host=$1; shift
+case $host in
+ *[!-a-zA-Z0-9]*) echo >&2 "$0: bad host name \`$host'"; exit 2 ;;
+esac
+cd "$HOME/.disorder"
+if ! [ -f "passwd.$host" ] ||
+ ! grep -q "^connect -unix /.*/\.disorder/sock/disorder@$host" \
+ "passwd.$host"
+then echo >&2 "$0: unknown disorder host \`$host'"; exit 2; fi
+if [ -S "sock/ssh@$host" ]; then
+ ssh -oControlPath="sock/ssh@$host" -Oexit "$host"
+fi
+rm -f "sock/disorder@$host"
+ssh -oControlMaster=yes -oControlPath="sock/ssh@$host" -fnN \
+ -L"sock/disorder@$host:/var/lib/disorder/socket" \
+ "$host"
--- /dev/null
+#! /bin/sh -e
+
+case $#,$2 in
+ 0,* | 1,*) ok=nil ;;
+ *,*:*) ok=t ;;
+ *) ok=nil ;;
+esac
+case $ok in
+ nil) echo >&2 "usage: $0 DIR,... HOST:DISP [CMD ARGS ...]"; exit 2; ;;
+esac
+dirs=$1 host=${2%:*} dpy=${2##*:}; shift 2
+case $#,$1 in
+ 0 | 1,:slideshow)
+ set -- /usr/lib/xscreensaver/glslideshow -duration 60 -pan 10 \
+ -xrm "'*desktopGrabber: ./getimg %s'"
+ ;;
+ 1,:photopile)
+ set -- /usr/lib/xscreensaver/photopile -no-titles -no-polaroid -shadows \
+ -xrm "'*desktopGrabber: ./getimg %s'"
+ ;;
+esac
+
+t=$(mktemp -d "${TMPDIR-/tmp}/remote-slidesshow.XXXXXXXX")
+mkfifo "$t/pipe"
+exec 3<>"$t/pipe"
+rm -rf "$t"
+
+ssh -ax "$host" "
+ set -e
+ tmp=\$(mktemp -d \"\${TMPDIR-/tmp}/remote-slideshow.XXXXXXXX\")
+ trap 'cd / && rm -rf \$tmp' EXIT INT TERM HUP
+ cd \$tmp
+ IMAGEFILE=\$tmp/img; export IMAGEFILE
+ DISPLAY=:$dpy; export DISPLAY
+ exec 3<&0 4>&1
+ cat >getimg <<'EOF'
+#! /bin/sh -e
+rm -f img
+echo \"\$IMAGEFILE\" >&4
+xscreensaver-command -deactivate >/dev/null 2>&1 || :
+IFS= read -r f <&3
+exec xscreensaver-getimage -directory \"\${IMAGEFILE%/*}\" -file img \"\$@\"
+EOF
+ chmod +x getimg
+ $*" <&3 |
+while IFS= read -r rdir; do
+ set -- \( -false
+ for e in jpg jpeg pjpeg pjpg png gif tif tiff xbm xpm; do
+ set -- "$@" -o -name "*.$e"
+ done
+ set -- "$@" \) -type f -print -o -type d \( -false
+ dd=$dirs
+ while :; do
+ case $dd in
+ "") break ;;
+ *,*) d=${dd##*,} dd=${dd%,*} ;;
+ *) d=$dd dd= ;;
+ esac
+ for i in $(find "$d" -name .slideshow-ignore -type f -print); do
+ while IFS= read -r line; do
+ case $line in \#*) continue ;; esac
+ set -- "$@" -o -path "${i%/*}/$line"
+ done <"$i"
+ done
+ set -- "$d" "$@"
+ done
+ set -- "$@" \) -prune
+ f=$(find "$@" | shuf -n1)
+ echo "$f"
+ scp "$f" "$host:$rdir" >/dev/null 2>&1
+ echo done >&3
+done
--- /dev/null
+#! /bin/sh -e
+
+case $#,$1 in
+ 0,* | 1,*) ok=nil ;;
+ *,*:*) ok=t ;;
+ *) ok=nil ;;
+esac
+case $ok in
+ nil) echo >&2 "usage: $0 HOST:RDPY/LDPY PROG ARGS ..."; exit 2 ;;
+esac
+host=${1%:*} dpy=${1##*:}; rdpy=${dpy%%/*} ldpy=${dpy#*/}; shift 1
+
+ssh -L"/tmp/.X11-unix/X$ldpy:/tmp/.X11-unix/X$rdpy" -Nafx "$host"
+sleep 1
+trap 'trap - INT QUIT HUP EXIT; ssh -Oexit "$host"; rm -f "/tmp/.X11-unix/X$ldpy"' INT QUIT HUP EXIT
+DISPLAY=:$ldpy "$@"
;; Postscript printing.
(setq ps-paper-type 'a4
- ps-print-color-p nil
- ps-landscape-mode t
- ps-number-of-columns 2
- ps-font-family 'Courier
- ps-font-size 6.5)
+ ps-print-only-one-header t
+ ps-print-color-p t
+ ps-landscape-mode t ps-number-of-columns 4
+ ps-line-number t ps-line-number-step 5 ps-line-number-start 5
+ ps-zebra-stripes nil ps-zebra-stripe-height 5
+ ps-spool-duplex t ps-spool-tumble nil ps-spool-config 'setpagedevice
+ ps-top-margin (* 12 (/ 72 25.4))
+ ps-bottom-margin (* 16 (/ 72 25.4))
+ ps-header-offset (* 8 (/ 72 25.4))
+ ps-left-margin (* 12 (/ 72 25.4))
+ ps-right-margin (* 12 (/ 72 25.4))
+ ps-inter-column (* 4 (/ 72 25.4))
+ ps-font-family 'CourierCondensed ps-font-size '(4.5 . 5.16)
+ ps-line-number-font 'Palatino ps-line-number-font-size 3
+ ps-header-font-family 'Helvetica
+ ps-header-title-font-size '(8 . 10)
+ ps-header-font-size '(6 . 8))
;; Splash screen stuff.
(pad . ,(or mat 2))))))
;;;--------------------------------------------------------------------------
+;;; Printing.
+
+;; Teach PostScript about a condensed variant of Courier. I'm using 85% of
+;; the usual width, which happens to match `mdwfonts', and David Carlisle's
+;; `pslatex'. (Once upon a time, I used 80%, but decided consistency with
+;; `pslatex' was useful.)
+(setq ps-user-defined-prologue "
+/CourierCondensed /Courier
+/CourierCondensed-Bold /Courier-Bold
+/CourierCondensed-Oblique /Courier-Oblique
+/CourierCondensed-BoldOblique /Courier-BoldOblique
+ 4 { findfont [0.85 0 0 1 0 0] makefont definefont pop } repeat
+")
+
+;; Hack `ps-print''s settings.
+(eval-after-load 'ps-print
+ '(progn
+
+ ;; Notice that the comment-delimiters should be in italics too.
+ (pushnew 'font-lock-comment-delimiter-face ps-italic-faces)
+
+ ;; Select more suitable colours for the main kinds of tokens. The
+ ;; colours set on the Emacs faces are chosen for use against a dark
+ ;; background, and work very badly on white paper.
+ (ps-extend-face '(font-lock-comment-face "darkgreen" nil italic))
+ (ps-extend-face '(font-lock-comment-delimiter-face "darkgreen" nil italic))
+ (ps-extend-face '(font-lock-string-face "RoyalBlue4" nil))
+ (ps-extend-face '(mdw-punct-face "sienna" nil))
+ (ps-extend-face '(mdw-number-face "OrangeRed3" nil))
+
+ ;; Teach `ps-print' about my condensed varsions of Courier.
+ (setq ps-font-info-database
+ (append '((CourierCondensed
+ (fonts (normal . "CourierCondensed")
+ (bold . "CourierCondensed-Bold")
+ (italic . "CourierCondensed-Oblique")
+ (bold-italic . "CourierCondensed-BoldOblique"))
+ (size . 10.0)
+ (line-height . 10.55)
+ (space-width . 5.1)
+ (avg-char-width . 5.1)))
+ (cl-remove 'CourierCondensed ps-font-info-database
+ :key #'car)))))
+
+;; Arrange to strip overlays from the buffer before we print . This will
+;; prevent `flyspell' from interfering with the printout. (It would be less
+;; bad if `ps-print' could merge the `flyspell' overlay face with the
+;; underlying `font-lock' face, but it can't (and that seems hard). So
+;; instead we have this hack.
+;;
+;; The basic trick is to copy the relevant text from the buffer being printed
+;; into a temporary buffer and... just print that. The text properties come
+;; with the text and end up in the new buffer, and the overlays get lost
+;; along the way. Only problem is that the headers identifying the file
+;; being printed get confused, so remember the original buffer and reinstate
+;; it when constructing the headers.
+(defvar mdw-printing-buffer)
+
+(defadvice ps-generate-header
+ (around mdw-use-correct-buffer () activate compile)
+ "Print the correct name of the buffer being printed."
+ (with-current-buffer mdw-printing-buffer
+ ad-do-it))
+
+(defadvice ps-generate
+ (around mdw-strip-overlays (buffer from to genfunc) activate compile)
+ "Strip overlays -- in particular, from `flyspell' -- before printout."
+ (with-temp-buffer
+ (let ((mdw-printing-buffer buffer))
+ (insert-buffer-substring buffer from to)
+ (ad-set-arg 0 (current-buffer))
+ (ad-set-arg 1 (point-min))
+ (ad-set-arg 2 (point-max))
+ ad-do-it)))
+
+;;;--------------------------------------------------------------------------
;;; Other common declarations.
;; Common mode settings.
(statement-cont . +)
(statement-case-intro . +)))
-(mdw-define-c-style mdw-trustonic-basic-c (mdw-c)
+(mdw-define-c-style mdw-trustonic-c (mdw-c)
(c-basic-offset . 4)
- (comment-column . 0)
(c-indent-comment-alist (anchored-comment . (column . 0))
(end-block . (space . 1))
(cpp-end-block . (space . 1))
(other . (space . 1)))
(c-offsets-alist (access-label . -2)))
-(mdw-define-c-style mdw-trustonic-c (mdw-trustonic-basic-c)
+(mdw-define-c-style mdw-trustonic-alec-c (mdw-trustonic-c)
+ (comment-column . 0)
(c-offsets-alist (arglist-cont-nonempty . mdw-c-indent-arglist-nested)))
(defun mdw-set-default-c-style (modes style)
(current-column))))
;; Don't really care about this.
- (when (and (eq lisp-indent-backquote-substitution-mode 'corrected))
+ (when (and (boundp 'lisp-indent-backquote-substitution-mode)
+ (eq lisp-indent-backquote-substitution-mode 'corrected))
(save-excursion
(goto-char (elt state 1))
(cl-incf loop-indentation
(setq ad-return-value
(list
- (cond ((not (lisp-extended-loop-p (elt state 1)))
+ (cond ((condition-case ()
+ (save-excursion
+ (goto-char (elt state 1))
+ (forward-char 1)
+ (forward-sexp 2)
+ (backward-sexp 1)
+ (not (looking-at "\\(:\\|\\sw\\)")))
+ (error nil))
(+ baseline-indent lisp-simple-loop-indentation))
((looking-at "^\\s-*\\(:?\\sw+\\|;\\)")
(+ baseline-indent lisp-loop-keyword-indentation))
}
blockquote { padding-inline-start: 30px !important; }
p, li { padding: 0 !important; }
+
+ code {
+ margin: 0 !important;
+ padding: 0 !important;
+ border-radius: 0 !important;
+ }
+
+ h1, h2, h3, h4 { font-family: sans-serif; !important; }
}
@-moz-document url-prefix("about:blank") {
--- /dev/null
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>Google (.com, TLS)</os:ShortName>
+<os:Description>Google Search (com hack)</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16" height="16">data:image/x-icon;base64,AAABAAIAEBAAAAEAIABoBAAAJgAAACAgAAABACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAASCwAAEgsAAAAAAAAAAAAA9IVCSvSFQuf0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hULk9IVCSvSFQub0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQuf0hUL/9IVC//SFQv/0hUL/9Y1O//rIq//+7+f//eXX//vUvf/7z7X/96Fu//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//vYwv/97OH/9ZRZ//SFQv/0hUL/9IhG//zbx//3om7/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/97uX/+buW//SFQv/0hUL/9IVC//SFQv/5upT/+9O6//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/+b6b//zezP/0iEf/9IVC//SFQv/1klf//ezh//vPtP/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/3qXr/+siq//m8lv/5wqD//vTu//3t4//1klb/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0h0b//vbx//zi0//1j1H/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/2nmn/+bmS/////v/4sIX/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/5uJH///v5//eoef/1jU//+82y//afav/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL//vXw//vOs//0hUL/9IVC//ekcf/96+D/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//728v/4sIX/9IVC//SFQv/4s4n///v4//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/6yKn/+byX//SFQv/0hkT//eTV//vWv//0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IZE//m6lP/5u5b//OHQ///+/f/6y6//96d3//SFQv/0hUL/9IVC//SFQv/0hULm9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hULm9IVCSfSFQub0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hULm9IVCSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABACAAAAAAAAAQAAASCwAAEgsAAAAAAAAAAAAA9IVCAPSFQif0hUKt9IVC8vSFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQvL0hUKt9IVCJ/SFQgD0hUIo9IVC7/SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hULv9IVCKPSFQq30hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUKt9IVC8fSFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQvP0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9YtL//i2jv/828f//vLr///7+P///Pv//vTu//3n2v/6zbH/96Nw//SFQ//0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//ekcv/+8+z////////////+9fD/+9K5//m9mf/4to7/+buV//vSuf/++PT//OPT//aYYP/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/2l13///r3/////////fv/+b2Z//SIRv/0hUL/9IVC//SFQv/0hUL/9IVC//WNT//84M///vXv//aZYf/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//vPtP////////////i0i//0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//WQUv///Pr//OPU//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL//eTV///////+9O7/9IVD//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//3m2P//////9ppi//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/718H///////3s4f/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL//vDn///////4soj/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//erff////////38//WTWP/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//iziv////////////iwhf/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//rMsP///////eXW//WSVv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/4sYb///z7/////////Pv/9ZFV//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//ixhv/+8Of//vn1//rMsP/4rH//9plh//WQUv/1j1L/+s2x//////////////////m9mf/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SGQ//2nmn/+buW//vNsv/82sb//e3j/////////////////////v/5wZ//9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/83Mj////////////++fb/+K+C//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9ZRZ/////////////vTt//aaYv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/1lFr////////////6xqf/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//ehbf/70bj//end//3o2////v3///////3l1//0iEb/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/5wqD////////////96t7/96Z2//WOUP/2nWf//NvH//zcyP/1i0z/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/96l6/////////////vLr//WPUf/0hUL/9IVC//SFQv/0h0b//end//3k1f/0iUn/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/8387////////////4sYf/9IVC//SFQv/0hUL/9IVC//SFQv/6w6L///////nBn//0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC///69////////vj1//SIR//0hUL/9IVC//SFQv/0hUL/9IVC//m+mv///////e3j//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL///r3///////8387/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/+syw///////++fb/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/95NX///////vUvP/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/97OH///////7y6//0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//i2jv///////N/O//SFQv/0hUL/9IVC//SFQv/0hUL/96Nx////////////+s2x//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IdF//zh0P//+/j/9ZJW//SFQv/0hUL/9IVC//SKSv/96t7///////738v/1k1f/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9YxN//vUvf/96+D/96Z0//WNT//3om///ebY/////////Pv/+LKI//WVW//0h0X/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//agbP/7zbL//enc//749P////////////////////////////3r4P/3p3f/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hULx9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC8/SFQq30hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUKt9IVCJ/SFQu/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC7/SFQif0hUIA9IVCJfSFQq30hULx9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC//SFQv/0hUL/9IVC8fSFQq30hUIl9IVCAIAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAB</os:Image>
+<os:Url type="application/x-suggestions+json" method="GET" template="https://www.google.com/complete/search?client=firefox&q={searchTerms}" resultDomain="google.com">
+</os:Url><os:Url type="text/html" method="GET" template="https://www.google.com/search" resultDomain="google.com">
+ <os:Param name="q" value="{searchTerms}"/>
+ <os:Param name="ie" value="utf-8"/>
+ <os:Param name="oe" value="utf-8"/>
+ <os:Param name="aq" value="t"/>
+ <os:Param name="gws_rd" value="cr"/>
+</os:Url><os:Url type="text/html" method="GET" template="https://www.google.com/" rel="searchform" resultDomain="google.com">
+</os:Url>
+</SearchPlugin>
\ No newline at end of file
--- /dev/null
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>Wikipedia (en, TLS)</os:ShortName>
+<os:Description>Wikipedia, the free encyclopedia</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16" height="16">data:image/x-icon;base64,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</os:Image>
+<SearchForm>https://en.wikipedia.org/wiki/Special:Search</SearchForm>
+<os:Url type="application/x-suggestions+json" method="GET" template="https://en.wikipedia.org/w/api.php" resultDomain="en.wikipedia.org">
+ <os:Param name="action" value="opensearch"/>
+ <os:Param name="search" value="{searchTerms}"/>
+</os:Url><os:Url type="text/html" method="GET" template="https://en.wikipedia.org/wiki/Special:Search" resultDomain="wikipedia.org">
+ <os:Param name="search" value="{searchTerms}"/>
+</os:Url>
+</SearchPlugin>
\ No newline at end of file
.navbar-gitlab { position: relative; }
/* Fix the fonts. */
-body { font-size: inherit; font-family: sans-serif; }
-.md { font-family: serif; }
-.md h1, .md h2, .md h3 { font-family: sans-serif; }
-.md h2, .md h3 { border-bottom: none; }
+body {
+ font-size: inherit;
+ font-family: sans-serif;
+}
+.blob-viewer[data-type="rich"] { font-family: serif; }
+.blob-viewer[data-type="rich"] h1,
+.blob-viewer[data-type="rich"] h2,
+.blob-viewer[data-type="rich"] h3
+ { font-family: sans-serif; }
/*@END*/
.p-ia__sidebar_header__user__name,
.p-ia__view_header .p-classic_nav__model__title__name,
.c-message_list__unread_divider__label,
-.p-rich_text_block
+.p-rich_text_block, .c-message_attachment__body,
+.c-pillow_file__description,
+.p-section_block, .p-call_subtype__title,
+.p-call_subtype__status, .p-call_subtype__description,
+.c-button
{ font-size: 11px !important; }
+.c-pillow_file__title { font-size: 12px !important; }
body { font-family: sans-serif !important; }
code, pre {
font-family: monospace !important;
font-size: 9px !important;
+ border: none;
+ padding: 0;
+ tab-size: 8; -webkit-tab-size: 8; -moz-tab-size: 8;
}
/*@END*/
--- /dev/null
+/* -*-css-*- */
+/*@ domains: stackoverflow.com, stackexchange.com, superuser.com */
+html, body, .post-text, .wmd-preview, .comment-copy, .question-status, .excerpt
+ { font-family: inherit; }
+h1, h2, h3, h4, .post-menu, .user-info, .question-hyperlink, .mdhelp, .nav-links
+ { font-family: sans; }
+/*@END*/
.tablet-on.inline { display: inline-block !important; }
.tablet-off { display: none !important; }
#main-header-logoButton { margin-left: 20px; }
+
+body >#user-prefs.night-vision ~ #main-container #main-content,
+body >#user-prefs.night-vision ~ #main-container #main-entry .article-content {
+ color: #fff !important;
+ background-color: #111;
+}
/*@END*/
--- /dev/null
+/* -*-css-*- */
+/*@ domains: wikimedia.org, wikipedia.org, wiktionary.org, rationalwiki.org */
+html, body { font-family: serif; }
+.mw-body-content { font-size: 1em; }
+.mw-body h1, .mw-body-content h1,
+.mw-body-content h2,
+.mw-body-content h3,
+.mw-body-content h4,
+.mw-body-content h5,
+.mw-body-content h6 {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+/*@END*/