From 65eca3fddc0352d2c59f1051c871baeda49c95aa Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Sun, 11 Feb 2024 17:48:27 +0100 Subject: Wrestle in the mud with ERC 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. --- .emacs | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) (limited to '.emacs') diff --git a/.emacs b/.emacs index b126177..99771bf 100644 --- a/.emacs +++ b/.emacs @@ -736,24 +736,37 @@ (erc-log-write-after-send t) (erc-notifications-icon (concat data-directory "images/icons/hicolor/scalable/apps/emacs.svg")) - (erc-notifications-mode t) (erc-prompt-for-nickserv-password nil) (erc-prompt-for-password nil) (erc-use-auth-source-for-nickserv-password t) (erc-user-full-name 'user-full-name) + ;; Timestamps are a mess. + ;; + ;; The default `left-and-right' tries to keep timestamps flush right + ;; either with hard-spacing or with :align-to; both cause jank when + ;; splitting windows or rescaling faces. The default `left' does + ;; not do the separate-date-and-time thing. + ;; + ;; It may be possible to define my own function to do the + ;; date-if-changed-then-time-if-changed thing, but that would + ;; require a lot of cargo-culting of erc-stamp.el which, as of + ;; 30.0.50, makes this look more complex than I have patience for: + ;; an obsolete variable (`erc-stamp-prepend-date-stamps-p'), an + ;; internal minor mode (`erc-stamp--date-mode'), lots of text + ;; properties ('field, 'invisible)… + ;; + ;; The options below seem like the least bad compromise, even though + ;; they yield a huge left margin interrupted by continuation lines; + ;; `erc-fill-wrap' _should_ help with those, except it causes + ;; impromptu recentering. `visual-wrap' could help here. + (erc-insert-timestamp-function 'erc-insert-timestamp-left) + (erc-timestamp-format "[%F %H:%M] ") :config - (if (version< erc-version "5.6-git") - (my/setopt - erc-modules - (my/list-update erc-modules '(log notifications) '(fill))) - (my/setopt - erc-fill-function 'erc-fill-wrap - erc-log-filter-function 'erc-stamp-prefix-log-filter - erc-modules (my/list-update erc-modules '(log notifications)))) (my/setopt + erc-modules + (my/list-update erc-modules '(log notifications stamp track) '(fill)) erc-track-exclude-types - (my/list-update erc-track-exclude-types - '("JOIN" "PART" "QUIT")))) + (my/list-update erc-track-exclude-types '("JOIN" "PART" "QUIT")))) (use-package generic-x :demand t -- cgit v1.2.3