summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-24Beef up program-running helpersKévin Le Gouguec
* .emacs (my/run-strip-newline): New escape hatch, to let my/run DTRT most of the time and spare most callers the cognitive load. (my/run): Heed it. Document. (my/kill-command): New helper; meant for programmatic use where arglists are manipulated as lists, and and no shell escaping is required. (my/kill-date, my/describe-revision): Use it. (my/kill-shell): Document, to disambiguate with my/kill-command.
2024-03-24Add command to kill the current dateKévin Le Gouguec
Comes up often enough, e.g. to add a stamp to a filename; probably was the original motivation for my/kill-shell. Gave a honest attempt at using a transient for this, but got bogged down second-guessing whether I should define my arguments as shorthands inside my transient-define-prefix form, or as dedicated transient-define-argument forms; gave up while trying to figure out whether the shorthand form could use transient-read-date.
2024-03-17Double-down on macros to reduce customization boilerplateKévin Le Gouguec
2024-03-17Fix broken macroKévin Le Gouguec
IIUC the previous version ran customizations immediately during expansion (ultimately expanding to the last customize-set-variable value), instead of generating forms that would run those customizations at appropriate times. Guess I never run Emacs <29 😐
2024-03-17Add helper to guess the correct fill-column for commit messagesKévin Le Gouguec
Also move more customizations to use-package forms.
2024-03-13Eliminate stressorKévin Le Gouguec
Been using that for literal years at $DAYJOB; no idea why it's taken me this long to port to my personal config.
2024-03-03Fix HTML-detection "logic"Kévin Le Gouguec
The previous code failed to detect some HTML emails, perhaps because the text/html part was nested inside a multipart/alternative? Lucked onto debbugs-gnu.el by asking xref for occurrences of gnus-article-mime-handles in the Emacs tree; not sure if M-? showing results from ~/.emacs.d/elpa was intended, but it sure helped here.
2024-03-02Add helper to run Emacs testcaseKévin Le Gouguec
It's probably more idiomatic to run a testcase you are developing in your own session, using 'M-x ert' commands? I figure starting a fresh Emacs cannot hurt.
2024-03-02Fixup wrap heuristicKévin Le Gouguec
gnus-article-prepare-hook is _not_ run in the article buffer. No idea why things fall into place on my desktop; probably some ill-defined buffer-switching plumbing. Also clarify nearby comment.
2024-02-11Wrestle in the mud with ERCKévin Le Gouguec
Unhappy with those timestamps, but somewhat less unhappy than when I started. Also * remove erc-fill-wrap: as mentioned in the comments, it causes intempestive recentering; * remove erc-notifications-mode; redundant with 'notifications' in erc-modules.
2024-01-28Un-fill format=flowed emailsKévin Le Gouguec
Letting visual-line-mode take care of wrapping.
2024-01-28Improve display of HTML emailsKévin Le Gouguec
By tricking shr into treating tables like regular blocks.
2024-01-10Use current directory as default for emacs sourcesKévin Le Gouguec
Matches my usage pattern better.
2024-01-10Always set visual-line-mode to the intended stateKévin Le Gouguec
Since the article buffer is re-used, visual-line-mode will keep its previous state if not explicitly set. So before the patch 1. I display article 1, which should be wrapped: the hook sets visual-line-mode to t, 2. I display article 2, which should not be wrapped: truncate-lines is set to t, but visual-line-mode remains t (not a biggie, truncate-lines "wins"), 3. I decide I want to wrap article 2, so I call the visual-line-mode toggling command: visual-line-mode is set to nil; seemingly nothing happens. This patch dispels the confusion.
2024-01-08Make Gnus leverage visual-line-modeKévin Le Gouguec
Set shr-fill-text to nil; this automatically causes eww to enable visual-line-mode. For Gnus, the dance is a bit more involved. Not 100% happy with where I landed, but at least I gave myself an escape hatch by rebinding C-c d v in summary buffers. Also, * lift size restriction when fontifying citations: it mostly only ever causes fontification failures when people review big patches, * tweak header order slightly, * align shr heading faces with eighters-title-* faces.
2024-01-03Whack a styling mole on LWNKévin Le Gouguec
2024-01-01Prevent percent characters from messing up my/kill commandsKévin Le Gouguec
2023-11-30Theme new transient facesKévin Le Gouguec
I like that I can get more info about transient commands via faces; wary of unleashing fruit salads though so keeping it subtle for now.
2023-11-26Keep chipping away at custom-set-variablesKévin Le Gouguec
And finally get around to setting calendar-intermonth-text. Re-implement the docstring's example using functions I actually understand.
2023-11-12Stop building --with-gconfKévin Le Gouguec
GConf is OBE; GSettings is the replacement, and the configure enables it by default. What the heck Past Kévin 🤨
2023-11-12Theme magit-diff-base facesKévin Le Gouguec
2023-10-29Stir HTML-yanking function a bitKévin Le Gouguec
2023-10-29Tone down faces for message metadataKévin Le Gouguec
2023-10-08Move generic-x configuration to use-packageKévin Le Gouguec
That package is unusual in that it requires… requiring it, in order to activate its settings. So it's a good candidate for use-package's :demand t. It's also a good candidate because something changed in Emacs's Lisp pretty-printing code, and now customizing anything changes how this variable is serialized, generating a spurious diff. Can't wait to have completely moved away from that auto-generated form.
2023-08-20Wordsmith .gnus commentaryKévin Le Gouguec
2023-08-20Cleanup project-related commandsKévin Le Gouguec
* Remove provisions for Emacs<28. * Move Magit command to my/magit-map.
2023-07-30Make "shortish" group names more informativeKévin Le Gouguec
This option defaults to 1, which is sub-optimal for groups such as: nntp+news.gmane.io:gmane.linux.suse.opensuse.devel nntp+news.gmane.io:gmane.org.misc.sourcehut.general nntp+news.gmane.io:gmane.comp.gcc.devel nntp+news.gmane.io:gmane.emacs.help nntp+news.gmane.io:gmane.emacs.bugs nntp+news.gmane.io:gmane.emacs.devel
2023-07-30Add command to toggle between author/commit datesKévin Le Gouguec
2023-07-30Chip away at Custom fileKévin Le Gouguec
Move Python settings to use-package. Tweak a couple of knobs while in there.
2023-07-02Add support for out-of-tree buildsKévin Le Gouguec
2023-06-21Bring shortdoc headings into the foldKévin Le Gouguec
2023-06-21Jot down some more notes re. GnusKévin Le Gouguec
2023-06-21Set a couple of Org ergonomics optionsKévin Le Gouguec
* "Extra keys" are advertised for non-graphical configurations; as it happens, they are also useful to provide substitutes for bindings based on arrow keys. * Speed commands are nice. Might tweak the predicate some day, but the default is already useful.
2023-06-21Tone down Org footnotesKévin Le Gouguec
2023-06-21Add revert function for palette showcaseKévin Le Gouguec
Also rename theme commands.
2023-06-21Tweak palette some moreKévin Le Gouguec
* "Regular" backgrounds need to pop out more against "dim" ones: this makes refinements easier to spot within "focused hunks" in Magit. * Also make dim & subtle foregrounds more saturated. That gives "poorer" contrast, but it's still legible, and "poorer" contrast is sort of a design goal for the "dim" variant.
2023-06-21Make matches more legibleKévin Le Gouguec
2023-06-21Tune theme colorsKévin Le Gouguec
… I should go back to Modus.
2023-06-21Enforce some theming consistencyKévin Le Gouguec
* magenta/red is "the current thing" * cyan is "other things elsewhere that match the thing"
2023-06-21Introduce "metadata" common faceKévin Le Gouguec
For stuff that's interesting, but not the main event.
2023-06-21Add "place" setter for theme paletteKévin Le Gouguec
This came in handy in the revamp soon to be committed.
2023-06-21Fixup function name for theme helperKévin Le Gouguec
This declines a hue for both background and foreground use.
2023-06-21Switch to default completion UIKévin Le Gouguec
Mostly to avoid icomplete jank (bug#40152). Inspired by: <https://www.scss.tcd.ie/~sulimanm/posts/default-emacs-completion.html> Rationale for the customizations: C-M- chord for navigation Because I found myself missing C-n/C-p in a couple of situations. auto-help 'visible The feedback is not as immediate as icomplete, but it's good enough. Tried 'always, but there's a sit-for somewhere that causes a weird pause if you happen to RET before bringing up completions. auto-select 'second-tab M-v? M-g M-c?? show-help nil "Click on a selection to select it" 😏 format 'one-column Where have you been all my life. max-height 10 More often than not I'm typing something inspired by the content from another buffer, so limit how much context *Completions* can hide. auto-choose icomplete never clobbered the minibuffer until I asked it to (with e.g. C-M-i). Since C-u M-RET is a thing, keep candidates off the minibuffer unless I pull them in, in case I change my mind and start typing something entirely different from the currently highlighted candidate.
2023-06-04Convert diff-hl tweaks to use-packageKévin Le Gouguec
Puzzled by this problem I have with :hook. "(use-package) Hooks" suggests that if package X defines function X-foo to be used by package Y in Y-bar-hook, then the idiomatic thing to do is… (use-package X :hook ((Y-bar . X-foo))) … but empirically, if Y.el contains… (defcustom Y-bar-hook '(Y-quux Y-corge)) (add-hook 'Y-bar-hook #'Y-grault) … then Y-bar-hook will be set to '(X-foo Y-grault): it will be missing the functions added in the defcustom form. Since add-hook does this: (or (boundp hook) (set hook nil)) I am assuming that the problem happens when use-package runs X's :hook additions before Y is loaded. No idea (a) if I can reproduce from -Q (b) if this is a SNAFU from setting always-defer (c) if this could be solved by sprinkling :after or :requires.
2023-06-04Add command to show --help for CLI commandsKévin Le Gouguec
2023-06-04Tweak selection facesKévin Le Gouguec
Make region cyan rather than blue, so that the selection remains visible over added hunks from diff or Magit buffers. Make Magit selections cyan to follow suit. Make magit-blame headers blue to fit the "intangible UI" motif. Look longingly at Modus 4.2 announcement and wonder if this is all worth it.
2023-05-18Use default ElDoc echo area settingsKévin Le Gouguec
Recent ElDoc & Eglot developments have made the defaults much more tolerable (the echo area height does not oscillate as much) & useful (linter warnings are no longer preempted by symbol documentation).
2023-04-19Add more facesKévin Le Gouguec
2023-04-19Show gravatars in Magit buffersKévin Le Gouguec
'cause why not.
2023-04-19Tweak new ERC 5.6 knobsKévin Le Gouguec