profile
3 years agodot/Xdefaults: Find xterm's `vt100' widget on Cygwin.
Mark Wooding [Wed, 29 Jul 2020 17:35:11 +0000 (18:35 +0100)]
dot/Xdefaults: Find xterm's `vt100' widget on Cygwin.

I don't know whether this is Cygwin weirdness or upstream xterm, but the
`vt100' widget isn't toplevel here, and my resource settings are being
ignored -- including the font, which causes great sadness.  Fix this.

3 years agodot/profile: Reduce the default ulimit a smidge.
Mark Wooding [Wed, 26 Aug 2020 12:11:42 +0000 (13:11 +0100)]
dot/profile: Reduce the default ulimit a smidge.

The dash(1) shell has an awful bug on 32-bit systems.  Although the
limit is presented to the shell as a number of kilobytes, it's presented
to the setrlimit(2) syscall as a number of /bytes/.  It seems that
dash(1) performs this calculation using 32-bit integers on 32-bit
platforms, and, with the chosen default of 4194304, ends up with zero,
and nothing can start up.

Reduce the limit by a kilobyte to avoid frying dash(1)'s brain.

3 years agodot/a2psrc: Basic configuration for `a2ps', which is stupid by default.
Mark Wooding [Thu, 13 Aug 2020 14:22:42 +0000 (15:22 +0100)]
dot/a2psrc: Basic configuration for `a2ps', which is stupid by default.

3 years agoel/dot-emacs.el: Make Org mode put captions at the bottom of floats.
Mark Wooding [Tue, 11 Aug 2020 12:45:03 +0000 (13:45 +0100)]
el/dot-emacs.el: Make Org mode put captions at the bottom of floats.

3 years agoMakefile: Overwrite the resources by default, rather than merging.
Mark Wooding [Sun, 9 Aug 2020 03:34:04 +0000 (04:34 +0100)]
Makefile: Overwrite the resources by default, rather than merging.

Otherwise I can't tell what the effect of removing things is.

3 years agodot/lisp-init.lisp: Use `double-float' by default.
Mark Wooding [Sun, 9 Aug 2020 03:33:39 +0000 (04:33 +0100)]
dot/lisp-init.lisp: Use `double-float' by default.

Not sure what they were thinking.

3 years agodot/lisp-init.lisp: Spell `Swank''s name with a capital letter.
Mark Wooding [Sun, 9 Aug 2020 03:33:23 +0000 (04:33 +0100)]
dot/lisp-init.lisp: Spell `Swank''s name with a capital letter.

3 years agodot/Xdefaults: Make `xdvi' work properly with dark colours.
Mark Wooding [Sun, 9 Aug 2020 03:31:48 +0000 (04:31 +0100)]
dot/Xdefaults: Make `xdvi' work properly with dark colours.

By default it's now white on black, but you can tell it its name is
`xdvi-bow' to be black on white.

3 years agodot/Xdefaults: Delete some old generic Xt resources.
Mark Wooding [Sun, 9 Aug 2020 03:30:50 +0000 (04:30 +0100)]
dot/Xdefaults: Delete some old generic Xt resources.

I think these mainly serve to break things at the moment.

3 years agodot/Xdefaults: Make XScreenSaver look properly sensible with dark colours.
Mark Wooding [Sun, 9 Aug 2020 03:30:27 +0000 (04:30 +0100)]
dot/Xdefaults: Make XScreenSaver look properly sensible with dark colours.

3 years agodot/lisp-init.lisp: Get SBCL to ignore inconsistent package redefinition.
Mark Wooding [Fri, 24 Jul 2020 22:38:41 +0000 (23:38 +0100)]
dot/lisp-init.lisp: Get SBCL to ignore inconsistent package redefinition.

This is all very unpleasant.  Sorry.

3 years agodot/lisp-init.lisp: Make ABCL shut up about redefinition.
Mark Wooding [Fri, 24 Jul 2020 22:37:20 +0000 (23:37 +0100)]
dot/lisp-init.lisp: Make ABCL shut up about redefinition.

I've tried muffling warnings, but that doesn't seem to work because of
the bizarre way ABCL's compiler works.

3 years agodot/Xdefaults: (Partially) un-break XScreenSaver's password prompt.
Mark Wooding [Fri, 24 Jul 2020 22:35:53 +0000 (23:35 +0100)]
dot/Xdefaults: (Partially) un-break XScreenSaver's password prompt.

My darkening of Xt-based programs seems to have confused XScreenSaver
into being very ugly.  This is not a complete fix, but it's less bad
than it was.

3 years agodot/Xdefaults: Delete bogus trailing blank line.
Mark Wooding [Fri, 24 Jul 2020 22:35:18 +0000 (23:35 +0100)]
dot/Xdefaults: Delete bogus trailing blank line.

3 years agoel/dot-emacs.el: Work-in-progress support for Fortran!
Mark Wooding [Fri, 10 Jul 2020 19:45:22 +0000 (20:45 +0100)]
el/dot-emacs.el: Work-in-progress support for Fortran!

3 years agodot/emacs, el/dot-emacs.el: Reindent using the new rules.
Mark Wooding [Fri, 10 Jul 2020 19:44:32 +0000 (20:44 +0100)]
dot/emacs, el/dot-emacs.el: Reindent using the new rules.

Some occasional reflowing is necessary, but honestly much less than I
expected.

3 years agoel/dot-emacs.el: Indent `setf' and related forms properly.
Mark Wooding [Fri, 10 Jul 2020 19:42:13 +0000 (20:42 +0100)]
el/dot-emacs.el: Indent `setf' and related forms properly.

In both Emacs and Common Lisp.

3 years agoel/dot-emacs.el: Indent `funcall' properly in Emacs Lisp too.
Mark Wooding [Fri, 10 Jul 2020 19:41:17 +0000 (20:41 +0100)]
el/dot-emacs.el: Indent `funcall' properly in Emacs Lisp too.

Fortunately, not much hacking is required.

3 years agodot/lisp-init.lisp, dot/shell-rc: Support CCL and ABCL as Lisp systems.
Mark Wooding [Fri, 10 Jul 2020 19:38:02 +0000 (20:38 +0100)]
dot/lisp-init.lisp, dot/shell-rc: Support CCL and ABCL as Lisp systems.

3 years agodot/lisp-init.lisp: Add the `HOME:' logical-pathname host on ECL.
Mark Wooding [Fri, 10 Jul 2020 19:37:10 +0000 (20:37 +0100)]
dot/lisp-init.lisp: Add the `HOME:' logical-pathname host on ECL.

3 years agodot/lisp-init.lisp: Explain why the shebang support is there.
Mark Wooding [Fri, 10 Jul 2020 19:33:33 +0000 (20:33 +0100)]
dot/lisp-init.lisp: Explain why the shebang support is there.

I nearly deleted it thinking it was useless and then realized what its
actual purpose was.

3 years agodot/lisp-init.lisp: Set `CL:' logical-pathname independently of `HOME:'.
Mark Wooding [Fri, 10 Jul 2020 19:28:43 +0000 (20:28 +0100)]
dot/lisp-init.lisp: Set `CL:' logical-pathname independently of `HOME:'.

There's no good reason why these should have been dependent before.

The need for circumlocution on CLisp is just gratuitously annoying.

3 years agodot/lisp-init.lisp: Really don't try to set `HOME:' on CMU CL.
Mark Wooding [Fri, 10 Jul 2020 19:25:49 +0000 (20:25 +0100)]
dot/lisp-init.lisp: Really don't try to set `HOME:' on CMU CL.

It's already excluded by the outer `#+...' guard, but there was a little
`#+cmu' dropping inside anyway.  Delete this, and extend the commentary
to explain why there's this lacuna.  (In more detail, CMU CL objects if
I try to establish a logical-pathname host when there's already a search
list with the same name.)

3 years agoel/dot-emacs.el: Fix indentation of `loop'.
Mark Wooding [Wed, 1 Jul 2020 18:52:49 +0000 (19:52 +0100)]
el/dot-emacs.el: Fix indentation of `loop'.

This one has been annoying me for years.

3 years agoel/dot-emacs.el: Indent `funcall' in a fancy way.
Mark Wooding [Wed, 1 Jul 2020 18:51:45 +0000 (19:51 +0100)]
el/dot-emacs.el: Indent `funcall' in a fancy way.

I generally want to see the actual arguments lined up, leaving the
function name clear.  Of course, if things don't fit then we have a
single column.

3 years agoel/dot-emacs.el: Use plain `setq' rather than `setq-default'.
Mark Wooding [Wed, 1 Jul 2020 18:49:53 +0000 (19:49 +0100)]
el/dot-emacs.el: Use plain `setq' rather than `setq-default'.

I can't see anything trying to make these buffer-local.

3 years agoel/dot-emacs.el: Move the indentation settings further down.
Mark Wooding [Wed, 1 Jul 2020 18:48:22 +0000 (19:48 +0100)]
el/dot-emacs.el: Move the indentation settings further down.

There's more of this to come.

3 years agodot/swank.lisp: Actually delete the Swank contrib clobbering.
Mark Wooding [Wed, 1 Jul 2020 18:43:33 +0000 (19:43 +0100)]
dot/swank.lisp: Actually delete the Swank contrib clobbering.

This was introduced in b5bf344506d856bb6d35931354fbb211de847022 because
Swank's presentation-streams machinery broke compatibility of FASL files
between Swanky and plain Lisp systems.  But that was over a decade ago,
and my testing hasn't shown a problem, so let's try without that for
now.

3 years agodot/swank.lisp: Put the right number of `;;;' in the Emacs header.
Mark Wooding [Wed, 1 Jul 2020 19:27:47 +0000 (20:27 +0100)]
dot/swank.lisp: Put the right number of `;;;' in the Emacs header.

3 years agodot/swank.lisp: Add stanza headings.
Mark Wooding [Wed, 1 Jul 2020 18:43:07 +0000 (19:43 +0100)]
dot/swank.lisp: Add stanza headings.

3 years agodot/swank.lisp: Rewrite the Swank `contribs' hacking.
Mark Wooding [Wed, 1 Jul 2020 18:42:20 +0000 (19:42 +0100)]
dot/swank.lisp: Rewrite the Swank `contribs' hacking.

Now the list items are individually per-Lisp-system, rather than it
being all or nothing.

3 years agodot/swank.lisp: If my `lisp-init.lisp' has run, use its package.
Mark Wooding [Wed, 1 Jul 2020 18:41:37 +0000 (19:41 +0100)]
dot/swank.lisp: If my `lisp-init.lisp' has run, use its package.

This tries to keep `cl-user' free for the actual session.

3 years agodot/swank.lisp: Delete the debugging cruft.
Mark Wooding [Wed, 1 Jul 2020 18:41:15 +0000 (19:41 +0100)]
dot/swank.lisp: Delete the debugging cruft.

3 years agodot/lisp-init.lisp, dot/shell-rc: Suppress Lisp heralds; use `rlwrap'.
Mark Wooding [Wed, 1 Jul 2020 18:39:01 +0000 (19:39 +0100)]
dot/lisp-init.lisp, dot/shell-rc: Suppress Lisp heralds; use `rlwrap'.

Add shell aliases -- and, in one case, some awful Lisp-level hacking --
to suppress Lisp system heralds.

The hacking for ECL is unusually terrible, because it breaks
`*standard-output*' until the prompt is ready to appear, so inhibit it
if there are any command-line arguments which might, for example, want
to print something.

3 years agodot/lisp-init.lisp: Get CLisp to save and restore its REPL history.
Mark Wooding [Wed, 1 Jul 2020 18:38:17 +0000 (19:38 +0100)]
dot/lisp-init.lisp: Get CLisp to save and restore its REPL history.

This is much more painful than it ought to be, but it seems to work.

3 years agodot/lisp-init.lisp: Partially mitigate CMU CL's daft EOF behaviour.
Mark Wooding [Wed, 1 Jul 2020 18:37:24 +0000 (19:37 +0100)]
dot/lisp-init.lisp: Partially mitigate CMU CL's daft EOF behaviour.

One still needs two `^D's before it quits, but that's much better than
20.

3 years agodot/lisp-init.lisp: Also squelch `*require-verbose*' on CMU CL.
Mark Wooding [Wed, 1 Jul 2020 18:36:33 +0000 (19:36 +0100)]
dot/lisp-init.lisp: Also squelch `*require-verbose*' on CMU CL.

3 years agodot/lisp-init.lisp: Group related `setf's together.
Mark Wooding [Wed, 1 Jul 2020 18:35:44 +0000 (19:35 +0100)]
dot/lisp-init.lisp: Group related `setf's together.

I think I bounce back and forth on this, but at the moment I prefer them
this way.

3 years agodot/lisp-init.lisp: Add missing Emacs header.
Mark Wooding [Wed, 1 Jul 2020 19:28:10 +0000 (20:28 +0100)]
dot/lisp-init.lisp: Add missing Emacs header.

3 years agodot/lisp-init.lisp: Add a missing stanza heading.
Mark Wooding [Wed, 1 Jul 2020 18:35:13 +0000 (19:35 +0100)]
dot/lisp-init.lisp: Add a missing stanza heading.

3 years agodot/lisp-init.lisp: Place toplevel read-time conditionals on their own lines.
Mark Wooding [Wed, 1 Jul 2020 18:33:06 +0000 (19:33 +0100)]
dot/lisp-init.lisp: Place toplevel read-time conditionals on their own lines.

I've found that this looks better.  Also, it makes it possible to run
them easily from Emacs independently of the conditional using `slime-
eval-defun' or `slime-compile-defun'.

3 years agodot/lisp-init.lisp: Silence Lisp before loading ASDF.
Mark Wooding [Wed, 1 Jul 2020 18:30:36 +0000 (19:30 +0100)]
dot/lisp-init.lisp: Silence Lisp before loading ASDF.

3 years agodot/lisp-init.lisp: Use a single ASDF rune everywhere.
Mark Wooding [Wed, 1 Jul 2020 18:27:59 +0000 (19:27 +0100)]
dot/lisp-init.lisp: Use a single ASDF rune everywhere.

The ASDF3 maintainers have done an excellent job of persuading everyone
to support loading ASDF in the same way.

3 years agodot/lisp-init.lisp: Scatter the `export' declarations.
Mark Wooding [Wed, 1 Jul 2020 18:21:10 +0000 (19:21 +0100)]
dot/lisp-init.lisp: Scatter the `export' declarations.

3 years agodot/profile: Set a memory limit so leaky programs don't case swapdeath.
Mark Wooding [Tue, 4 Aug 2020 20:49:46 +0000 (21:49 +0100)]
dot/profile: Set a memory limit so leaky programs don't case swapdeath.

3 years agoel/dot-emacs.el: Arrange for Slime to name me better.
Mark Wooding [Tue, 4 Aug 2020 09:48:38 +0000 (10:48 +0100)]
el/dot-emacs.el: Arrange for Slime to name me better.

3 years agobin/disorder-notify (watch_and_notify0): Mention when we stop.
Mark Wooding [Mon, 22 Jun 2020 14:52:19 +0000 (15:52 +0100)]
bin/disorder-notify (watch_and_notify0): Mention when we stop.

It's rather difficult to figure out when we've stopped due to lack of
selected tracks when random play is disabled, so, err... I don't bother.
I think the server should send a specific message in its log.

3 years agobin/disorder-notify (watch_and_notify0): Track state while logging.
Mark Wooding [Mon, 22 Jun 2020 14:52:02 +0000 (15:52 +0100)]
bin/disorder-notify (watch_and_notify0): Track state while logging.

3 years agobin/disorder-notify: Insert missing space.
Mark Wooding [Mon, 22 Jun 2020 14:51:48 +0000 (15:51 +0100)]
bin/disorder-notify: Insert missing space.

3 years agobin/disorder-notify: Hoist `get_now_playing' above `format_now_playing'.
Mark Wooding [Mon, 22 Jun 2020 14:39:46 +0000 (15:39 +0100)]
bin/disorder-notify: Hoist `get_now_playing' above `format_now_playing'.

3 years agoel/dot-emacs.el: Indent string literals correctly, e.g., in Lisp mode.
Mark Wooding [Sun, 26 Jul 2020 21:46:17 +0000 (22:46 +0100)]
el/dot-emacs.el: Indent string literals correctly, e.g., in Lisp mode.

I had formed the impression that my indentation machinery worked
correctly on Common Lisp docstrings, but this turns out to be completely
wrong.

Of course, my life would be better if it did work, and now it does.

3 years agoel/dot-emacs.el: Make fill-prefix patterns much fancier.
Mark Wooding [Sun, 26 Jul 2020 21:45:50 +0000 (22:45 +0100)]
el/dot-emacs.el: Make fill-prefix patterns much fancier.

Now we can call out to Lisp to make decisions about where point is.

3 years agoel/dot-emacs.el (mdw-examine-fill-prefixes): Rewrite to be iterative.
Mark Wooding [Sun, 26 Jul 2020 21:44:56 +0000 (22:44 +0100)]
el/dot-emacs.el (mdw-examine-fill-prefixes): Rewrite to be iterative.

Emacs Lisp is hopelessly deficient in terms of control flow, but this
seems like the best choice available.

3 years agoel/dot-emacs.el (mdw-examine-fill-prefixes): Sink below functions it uses.
Mark Wooding [Sun, 26 Jul 2020 21:41:32 +0000 (22:41 +0100)]
el/dot-emacs.el (mdw-examine-fill-prefixes): Sink below functions it uses.

It leans on `mdw-do-prefix-match', which is a terrible name, but is
positioned above it.

3 years agodot/lisp-init.lisp: Actually invoke the loader.
Mark Wooding [Sat, 27 Jun 2020 17:20:30 +0000 (18:20 +0100)]
dot/lisp-init.lisp: Actually invoke the loader.

Maybe this has changed since I wrote it.  It's obviously been broken for
a long time.

3 years agodot/lisp-init.lisp: Use actual variable names rather than gensyms.
Mark Wooding [Sat, 27 Jun 2020 17:19:53 +0000 (18:19 +0100)]
dot/lisp-init.lisp: Use actual variable names rather than gensyms.

This is OK now we're not fouling up the user's package.

3 years agodot/lisp-init.lisp: Work in the `mdw-hacks' package rather than `cl-user'.
Mark Wooding [Sat, 27 Jun 2020 17:13:42 +0000 (18:13 +0100)]
dot/lisp-init.lisp: Work in the `mdw-hacks' package rather than `cl-user'.

3 years agodot/emacs: Turn on `winner-mode' to keep track of window configuration.
Mark Wooding [Sat, 27 Jun 2020 11:59:22 +0000 (12:59 +0100)]
dot/emacs: Turn on `winner-mode' to keep track of window configuration.

3 years agoel/dot-emacs.el: Prevent Emacs from resizing my windows without permission.
Mark Wooding [Sat, 27 Jun 2020 11:58:55 +0000 (12:58 +0100)]
el/dot-emacs.el: Prevent Emacs from resizing my windows without permission.

Again.  Maybe this time it will take.

3 years agoel/dot-emacs.el: Highlight underlining as italics in news.
Mark Wooding [Sat, 27 Jun 2020 11:58:28 +0000 (12:58 +0100)]
el/dot-emacs.el: Highlight underlining as italics in news.

3 years agoel/dot-emacs.el: Spell-check comments and string literals while hacking.
Mark Wooding [Sat, 27 Jun 2020 11:57:40 +0000 (12:57 +0100)]
el/dot-emacs.el: Spell-check comments and string literals while hacking.

3 years agodot/swank.lisp: Fix the right margin to 77 columns in SLIME.
Mark Wooding [Sat, 27 Jun 2020 11:56:27 +0000 (12:56 +0100)]
dot/swank.lisp: Fix the right margin to 77 columns in SLIME.

3 years agodot/swank.lisp: Add missing final newline.
Mark Wooding [Fri, 26 Jun 2020 18:08:33 +0000 (19:08 +0100)]
dot/swank.lisp: Add missing final newline.

3 years agodot/profile: Use control sequences rather than overstriking in man pages.
Mark Wooding [Mon, 22 Jun 2020 10:42:21 +0000 (11:42 +0100)]
dot/profile: Use control sequences rather than overstriking in man pages.

The traditional overstriking is ambiguous regarding `_^H_', which may be
underlined (italics) or bold.  Pages like less(1) typically guess based
on the surrounding context, but this seriously screws up some fiddly
cases which switch between bold and underlining exactly at the boundary
between a non-underscore and an underscore.

The main Groff documentation is fairly adamant that this is the default
behaviour, but the Debian `/etc/groff/{man,mdoc}.local' files override
this unless `GROFF_SGR' is set nonempty in the environment.  This is
mentioned in the `changelog.Debian' file and nowhere else.

3 years agoel/dot-emacs.el (Man-getpage-in-background): Don't try to split atoms.
Mark Wooding [Mon, 22 Jun 2020 10:41:12 +0000 (11:41 +0100)]
el/dot-emacs.el (Man-getpage-in-background): Don't try to split atoms.

In particular, the symbol `nil' isn't a string, so check for this
specially.  Conveniently, `nil' is exactly the right list.

3 years agoel/dot-emacs.el (Man-getpage-in-background): Save match-data around loop.
Mark Wooding [Mon, 22 Jun 2020 10:40:30 +0000 (11:40 +0100)]
el/dot-emacs.el (Man-getpage-in-background): Save match-data around loop.

Rather than for each item we check.

3 years agofirefox/stylus/salsa.debian.org.css: Suppress rule under subsection heads.
Mark Wooding [Fri, 19 Jun 2020 11:04:45 +0000 (12:04 +0100)]
firefox/stylus/salsa.debian.org.css: Suppress rule under subsection heads.

The section and subsection styles aren't very clearly distinguished.
This helps, and also declutters the page.

3 years agofirefox/stylus/salsa.debian.org.css: Use `.md' rather than ...
Mark Wooding [Fri, 19 Jun 2020 11:04:00 +0000 (12:04 +0100)]
firefox/stylus/salsa.debian.org.css: Use `.md' rather than ...

`.blob-viewer[data-type="rich"]'.  Maybe this is a mistake.

3 years agofirefox/stylus/salsa.debian.org.css: Squash the `body' styling.
Mark Wooding [Fri, 19 Jun 2020 11:03:31 +0000 (12:03 +0100)]
firefox/stylus/salsa.debian.org.css: Squash the `body' styling.

3 years agofirefox/stylus/: Some more style overrides.
Mark Wooding [Fri, 19 Jun 2020 09:16:42 +0000 (10:16 +0100)]
firefox/stylus/: Some more style overrides.

3 years agofirefox/explode-stylus: Suppress a final blank line in output sections.
Mark Wooding [Fri, 19 Jun 2020 09:16:18 +0000 (10:16 +0100)]
firefox/explode-stylus: Suppress a final blank line in output sections.

3 years agofirefox/explode-stylus: Don't fail if the output directory already exists.
Mark Wooding [Fri, 19 Jun 2020 09:12:08 +0000 (10:12 +0100)]
firefox/explode-stylus: Don't fail if the output directory already exists.

3 years agobin/mdw-build, etc.: Add option to suppress tests during Debian build.
Mark Wooding [Fri, 19 Jun 2020 08:40:23 +0000 (09:40 +0100)]
bin/mdw-build, etc.: Add option to suppress tests during Debian build.

3 years agobin/mdw-build: Reflow the negated options list.
Mark Wooding [Fri, 19 Jun 2020 08:38:50 +0000 (09:38 +0100)]
bin/mdw-build: Reflow the negated options list.

I haven't been very principled about this.

3 years agobin/mdw-sbuild, bin/mdw-sbuild-server: Update `usage' messages.
Mark Wooding [Fri, 19 Jun 2020 08:37:03 +0000 (09:37 +0100)]
bin/mdw-sbuild, bin/mdw-sbuild-server: Update `usage' messages.

Missing the `-k', `-p', and `-A' options.

3 years agodot/e16-bindings: Define a key to highlight the mouse cursor.
Mark Wooding [Fri, 19 Jun 2020 08:33:58 +0000 (09:33 +0100)]
dot/e16-bindings: Define a key to highlight the mouse cursor.

A little embarrassing: on spirit's vast screen, I sometimes lose track
of where the cursor is.

3 years agofirefox/stylus/outlook.office.com.css: Override `min-width'.
Mark Wooding [Thu, 11 Jun 2020 12:36:45 +0000 (13:36 +0100)]
firefox/stylus/outlook.office.com.css: Override `min-width'.

Why is this even there?  Everything works fine without.  Is it just
to say `fuck you' to people who like narrow columns?

3 years agodot/e16-bindings: Snap `.disorder/passwd' symlink when running Disobedience.
Mark Wooding [Wed, 10 Jun 2020 15:47:30 +0000 (16:47 +0100)]
dot/e16-bindings: Snap `.disorder/passwd' symlink when running Disobedience.

Nowadays, Disobedience will pass its user-configuration file name on to
`disorder-playrtp'.  This has the effect that each Disobedience session
is correctly linked to its `own' matching `disorder-playrtp'
instance(s).

3 years agofirefox/: Add some Firefox configuration stuff.
Mark Wooding [Wed, 10 Jun 2020 15:06:29 +0000 (16:06 +0100)]
firefox/: Add some Firefox configuration stuff.

3 years agoMakefile: Make `all' be phony. and add empty `clean'.
Mark Wooding [Wed, 10 Jun 2020 15:06:05 +0000 (16:06 +0100)]
Makefile: Make `all' be phony. and add empty `clean'.

3 years agobin/disorder-notify: Add a proper command-line parser, and support `-u'.
Mark Wooding [Wed, 10 Jun 2020 15:05:46 +0000 (16:05 +0100)]
bin/disorder-notify: Add a proper command-line parser, and support `-u'.

3 years agobin/disorder-notify: Stop reading when we reach end-of-file.
Mark Wooding [Wed, 10 Jun 2020 15:05:16 +0000 (16:05 +0100)]
bin/disorder-notify: Stop reading when we reach end-of-file.

Just a stupid bug.

3 years agopl/DisOrder.pm, etc.: Split `load_config' from `connect_to_server'.
Mark Wooding [Wed, 10 Jun 2020 15:03:56 +0000 (16:03 +0100)]
pl/DisOrder.pm, etc.: Split `load_config' from `connect_to_server'.

Now we can read the configuration once and use it throughout the
program.  This is most useful for `disorder-notify watch', which no
longer unexpectedly tracks changes to the password-file symlink when it
reconnects.

3 years ago.gitignore: Arrange a place for generated files which can't be installed.
Mark Wooding [Wed, 10 Jun 2020 15:02:04 +0000 (16:02 +0100)]
.gitignore: Arrange a place for generated files which can't be installed.

3 years agogit/gitignore: Ignore `.mdw-build.conf' files.
Mark Wooding [Sat, 6 Jun 2020 12:30:41 +0000 (13:30 +0100)]
git/gitignore: Ignore `.mdw-build.conf' files.

3 years agobin/disorder-notify: Keep the log connection alive by sending bytes back.
Mark Wooding [Tue, 2 Jun 2020 10:11:01 +0000 (11:11 +0100)]
bin/disorder-notify: Keep the log connection alive by sending bytes back.

This was, if it's not already clear, the main objective to the
`select'-based log loop.

3 years agobin/disorder-notify: Improve error handling in the `select' loop.
Mark Wooding [Tue, 2 Jun 2020 10:09:36 +0000 (11:09 +0100)]
bin/disorder-notify: Improve error handling in the `select' loop.

Don't crash out on read errors.  Report the problem in the `lost
connection' message.

3 years agobin/disorder-notify: Use `select' to read the log in non-blocking mode.
Mark Wooding [Tue, 2 Jun 2020 10:06:44 +0000 (11:06 +0100)]
bin/disorder-notify: Use `select' to read the log in non-blocking mode.

This involves handling the line splitting ourselves, but this is quite
straightforward in Perl.

3 years agobin/disorder-notify: Don't fork on an explicit `watch' request.
Mark Wooding [Tue, 2 Jun 2020 09:58:48 +0000 (10:58 +0100)]
bin/disorder-notify: Don't fork on an explicit `watch' request.

3 years agobin/disorder-notify: Print the current play position in `now-playing' output.
Mark Wooding [Tue, 2 Jun 2020 16:13:00 +0000 (17:13 +0100)]
bin/disorder-notify: Print the current play position in `now-playing' output.

3 years agobin/disorder-autoplay: Restructure into a two-pass arrangement.
Mark Wooding [Tue, 2 Jun 2020 10:42:51 +0000 (11:42 +0100)]
bin/disorder-autoplay: Restructure into a two-pass arrangement.

One command to fetch a server's current settings; another to update them
to match an input file.

3 years agobin/disorder-notify: New operation to cycle through configurations.
Mark Wooding [Sat, 30 May 2020 15:14:11 +0000 (16:14 +0100)]
bin/disorder-notify: New operation to cycle through configurations.

3 years agobin/disorder-notify: Rewrite and take over the functionality of `media-keys'.
Mark Wooding [Sat, 30 May 2020 12:16:10 +0000 (13:16 +0100)]
bin/disorder-notify: Rewrite and take over the functionality of `media-keys'.

3 years agopl/DisOrder.pm: Extract and enhance the DisOrder protocol machinery.
Mark Wooding [Sat, 30 May 2020 12:12:57 +0000 (13:12 +0100)]
pl/DisOrder.pm: Extract and enhance the DisOrder protocol machinery.

3 years agodot/profile: Publish local Perl and Python directories.
Mark Wooding [Sat, 30 May 2020 12:11:40 +0000 (13:11 +0100)]
dot/profile: Publish local Perl and Python directories.

3 years agodot/profile: Add a new function to export a variable only if it's defined.
Mark Wooding [Sat, 30 May 2020 12:10:32 +0000 (13:10 +0100)]
dot/profile: Add a new function to export a variable only if it's defined.

This is useful for pathish variables: if they're exported then they're
set to empty, which implies the current directory.

3 years agodot/profile: Fix `__mdw_addto' if variable is initially empty.
Mark Wooding [Sat, 30 May 2020 12:09:01 +0000 (13:09 +0100)]
dot/profile: Fix `__mdw_addto' if variable is initially empty.

Previously it would leave an empty path component, which programs tend
to interpret (unhelpfully) as the current directory.

3 years agoMakefile: Add a facility for general symlinks.
Mark Wooding [Sat, 30 May 2020 12:07:03 +0000 (13:07 +0100)]
Makefile: Add a facility for general symlinks.

Not used yet.

3 years agodot/emacs: Add a binding to open a file in `view-mode'.
Mark Wooding [Sat, 30 May 2020 09:43:31 +0000 (10:43 +0100)]
dot/emacs: Add a binding to open a file in `view-mode'.

Why isn't there one of these already?

3 years agodot/emacs: Use loopback pinentry if we get a choice.
Mark Wooding [Tue, 26 May 2020 23:40:11 +0000 (00:40 +0100)]
dot/emacs: Use loopback pinentry if we get a choice.

Alas, Emacs 24 doesn't understand this setting.  Worse, Emacs and
`pinentry-curses' (or the `curses' mode of other pinentries) fight over
the terminal in a rather disastrous way.