unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* announce: my fork of alot
@ 2021-05-16 10:19 Anton Khirnov
  2021-05-16 11:15 ` Michael J Gruber
  2021-05-16 22:09 ` Johannes Larsen
  0 siblings, 2 replies; 22+ messages in thread
From: Anton Khirnov @ 2021-05-16 10:19 UTC (permalink / raw)
  To: notmuch

Hi,

Thought I'd share with the people here the fork of alot I've been
hacking on for the past ~1.5 years, see if there is any interest in it.
The code can be found at git://git.khirnov.net/alot.

There are many changes in various places, the most user-visible ones in
the thread view mode. Specifically
- quoted blocks in the email body can now be colored and folded (this
  was probably my main motivation for starting all this)
- in upstream the thread mode shows a tree of messages, each node in the
  tree is a rendered message, that can be collapsed into a single-line
  summary;
  in my fork the thread mode is split-window - upper window for the tree
  with the thread structure, lower window for the currently selected
  message; no collapsing of messages
- attachments can be rendered inline, possibly colored with pygments
- git patches are colored with pygments
- all the parts are rendered for multipart/mixed messages, as per the
  RFCs
- encrypted/signed parts are now wrapped in a frame that indicates which
  bits of the message are actually encrypted or signed
- various architectural restructurings which were needed for the above
  or to allow for future changes (I have a large TODO list left)

The code is currently alpha quality - I am using it as my main MUA and
it works for my workflow, but any features I don't use regularly may be
broken. There is a general lack of "UX" polish (appearance and
documentation). I didn't bother updating the test suite to keep up with
all the architectural changes (plan to get to that once I consider the
code more stable). I removed some features which I considered an
impediment to progress and not worth the maintenance effort - YMMV.

Why did I not submit all this as PRs to upstream alot? The main reasons
were my lack of time and disagreement with the upstream about project
status. From what I can tell, alot maintainers consider the project to
be mature, so they prioritize stability and small incremental changes.
From my perspective, alot is lacking some critical features -- some
implemented in my fork already, some planned -- which makes it
borderline-unusable for me. As implementing those features required
large-scale architectural changes and my free time was quite limited, I
prioritized quickly implementing the things I cared about over
progressing in small incremental stable easily-reviewable steps.

At this point my tree has over 200 new commits and some ~4k changed
lines, so it's looking increasingly unlikely that I'll ever find the
free time and motivation to upstream it -- especially given alot's
glacial pace of development recently. If people are interested in using
this, I'll probably fork it "properly" under a new name.

Any comments or questions are very much welcome. I can also be reached
on IRC as elenril.

-- 
Anton Khirnov

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2021-05-17 19:03 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-16 10:19 announce: my fork of alot Anton Khirnov
2021-05-16 11:15 ` Michael J Gruber
2021-05-16 14:42   ` Anton Khirnov
2021-05-16 15:41   ` Patrick Totzke
2021-05-16 17:47     ` Anton Khirnov
2021-05-16 18:23       ` Patrick Totzke
2021-05-17  7:08         ` Patrick Totzke
2021-05-17  7:33           ` Michael J Gruber
2021-05-17  7:54             ` Michael J Gruber
2021-05-17  8:25             ` Anton Khirnov
2021-05-17  8:19           ` Anton Khirnov
2021-05-17  8:28             ` Patrick Totzke
2021-05-17  8:39               ` Anton Khirnov
2021-05-17  9:02         ` Anton Khirnov
2021-05-16 22:09 ` Johannes Larsen
2021-05-16 22:32   ` Felipe Contreras
2021-05-16 23:13     ` Johannes Larsen
2021-05-17  0:23       ` Felipe Contreras
2021-05-17  8:54   ` Anton Khirnov
2021-05-17 12:32     ` Johannes Larsen
2021-05-17 12:55       ` Anton Khirnov
2021-05-17 19:03         ` Johannes Larsen

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).