Commit graph

154 commits

Author SHA1 Message Date
Henrik Lissner
771fccc52b
nit: minor reformatting & revision
Also corrects the version string of obsolete variable `+mu4e-backend`.
2024-09-11 19:46:14 -04:00
Henrik Lissner
fcf8b0f8a1
fix(mu4e): treat *mu4e-main* as real 2024-09-10 20:38:01 -04:00
Henrik Lissner
45310f1c3e
fix(mu4e): "no such file or directory: ~/.mbsyncrc"
In c647957 "~/.mbsyncrc" was passed to mbsync quoted, preventing ~ from
being expanded into $HOME. Now, I've chosen to omit the whole --config
option if $XDG_CONFIG_HOME/isyncrc isn't present, since mbsync will fall
back to ~/.mbsyncrc on its own.

Amend: c6479574e6
Fix: #8048
2024-09-05 15:30:22 -04:00
Henrik Lissner
424b7af45f
fix(mu4e): duplicate "view in browser" actions
These are already present in newer versions of mu4e. By making them
match, `add-to-list` won't add a duplicate.

Fix: #6328
2024-09-05 04:27:20 -04:00
Henrik Lissner
c6479574e6
feat(mu4e): respect XDG for mbsync config file
Support for this was only added in isync 1.5, but this way, users on
older can benefit from it through Emacs.

Ref: cf13630a00/
2024-09-05 04:21:58 -04:00
Henrik Lissner
139591172e
fix(mu4e): add mu4e-debug to doom-debug-variables 2024-09-05 04:21:58 -04:00
Henrik Lissner
5c0211d635
refactor(mu4e): mu4e config
In preparation for all the work I have in store for this module.
2024-09-05 04:21:58 -04:00
Henrik Lissner
60e94479a7
feat(mu4e): add mu4e-compat package
(And remove vestigial ref to mu4e-alert in docs)

Fix: #6906
Fix: #7860
2024-09-05 04:21:57 -04:00
Henrik Lissner
48a6b30f48
refactor(mu4e): replace +mu4e-backend w/ +offlineimap/+mbsync flags
`+mu4e-backend` is now deprecated and will be removed in v3.0.
2024-09-05 04:20:28 -04:00
Henrik Lissner
f3ad08c4cd
refactor(mu4e): org-msg config
- Simplify advice.
- Fix load-order of org-msg and :config (which use-packages' :after
  convolutes).
- Remove dummy functions (and guard where they were formerly relied on;
  this is a stopgap solution though).
2024-09-05 04:20:14 -04:00
Sean Farley
1176aaae0b feat(mu4e): use built-in notifications instead of mu4e-alert
Now that mu4e has its own notification feature since 1.10 (and as of
this commit version 1.12 is already out), we can just use that. Much
less code to maintain.

Closes: https://github.com/doomemacs/doomemacs/issues/6896
2024-04-01 13:31:49 -04:00
Henrik Lissner
659f7bfc71
refactor!: deprecate IS-* OS constants
BREAKING CHANGE: This deprecates the IS-(MAC|WINDOWS|LINUX|BSD) family
of global constants in favor of a native `featurep` check:

  IS-MAC      ->  (featurep :system 'macos)
  IS-WINDOWS  ->  (featurep :system 'windows)
  IS-LINUX    ->  (featurep :system 'linux)
  IS-BSD      ->  (featurep :system 'bsd)

The constants will stick around until the v3 release so folks can still
use it -- and there are still some modules that use it, but I'll phase
those uses out gradually.

Fix: #7479
2024-02-04 17:54:29 -05:00
Sean Farley
5df41be02b nit(mu4e): remove underline for blank space
Previously, this was a bit confusing and didn't look quite right.
Instead, just pad the space in the temp buffer instead of fontifying it
into a button.
2023-10-06 22:37:43 +02:00
Sean Farley
ce8c2af08c fix(mu4e): set popup rules for mu4e
I'm not sure how this works for anyone without setting these rules. By
setting them here, users will have a good out-of-box experience of using
mu4e.
2023-10-06 22:37:43 +02:00
StrawberryTea
531a8bdfeb fix(mu4e): remove broken pretty bullets advice 2023-09-20 20:23:44 +02:00
StrawberryTea
a02b4ddfe3 fix(mu4e): replace obsolete/removed functions
This commit fixes several Doom mu4e functions which are broken on later
versions of mu4e due to the variable prefix change from mu4e~ to mu4e--.
I also added them to the forwards-compatibility aliases.
2023-09-20 20:23:44 +02:00
Ellis Kenyő
9787022b83
refactor!: replace all-the-icons with nerd-icons
BREAKING CHANGE: This commit replaces all-the-icons with nerd-fonts. Any
all-the-icons-* function calls or variable references in your private
config will break and should be replaced with their nerd-icons-*
equivalent. That said, Doom will continue to install all-the-icons for
a while, so feel free to load it if you don't want to fully commit to
the change yet.

This change is happening because nerd-icon has wider support for GUI and
TUI Emacs; has a larger, more consistent selection of symbols; plus unicode
coverage.

Fix: #7368
Close: #6675
Close: #7364
2023-09-14 01:03:55 +02:00
TEC
f2d62acaad tweak(mu4e): try harder to attach files in order
In 4d9ea6853b I reacted to a either a change that I presume occurred
in org-msg at some point, or behaviour originally unnoticed, that led to
bulk-selected files being attached in reverse. Further investigation has
indicated that this isn't actually making attachment order work as
expected, just hiding the reverse behaviour from bulk-attachment. The
better approach is to keep the dired mark reversal, and change
org-msg-attach-attach to add new files to the end, not the start, of the
list of attachments.
2022-09-30 22:44:39 +02:00
TEC
2662d68ae8 fix(mu4e): only widen the mu4e headers frame
It's a bit silly to just unconditionally widen the current frame when
you could have the mu4e headers view in another frame entirely. Instead
we can look for the mu4e headers buffer, and only widen frames where it
is the active buffer.
2022-09-21 00:56:20 +02:00
tecosaur
01bb743c6c
tweak(mu4e): set last-child thread symbol
Also tweak the line order and whitespace while I'm at it, to show the
overall styling more clearly.
2022-09-10 23:52:36 +02:00
Henrik Lissner
ad6a3d0f33
refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
Henrik Lissner
3239ab8b2e
nit(mu4e): neutralize comments
Some of our comments/docs can come off as disparaging or snide. They're
glimpses of unfiltered frustration or snarky rubber ducking gone too
far, something I can totally sympathize with, as a scatterbrained
tinkerer, unwittingly made responsible for a lot of work that isn't mine
because of Doom's position as a middleman. But now that Doom has a
veritable userbase, I'd like to hold it to a higher standard.

Light-hearted banter and aired grievances in our source code,
documentation, or community are fine if focused on the problem or the
personal/shared experiences of the community (things that offer value or
amusement to others), but it is never acceptable to attack people or
their efforts. Especially not the very people on whose shoulders Doom
stands.

I sincerely apologize if these have offended you.

Amend: b07614037f
2022-08-14 20:36:42 +02:00
TEC
b07614037f fix(mu4e): support mu 1.8
Thanks to some combination of ignorance and obstinance, mu4e has thrown
compatibility to the wind and completely ignored the exitance of
define-obsolete-function-alias. Coupled with the inconsistent/partial
function renaming, this has made the mu4e 1.6⟶1.8 change particularly
annoying to deal with.

By suffering the pain of doing the mu4e author's work for them, we can
use defalias to give backwards compatibility a good shot for about 60
functions. Some mu4e~x functions are now mu4e--x, others are unchanged,
and then you've got a few odd changes like mu4e~proc -> mu4e--server and
mu4e-search-rerun. The form of message :from entries has also changed,
and a new (mu4e) entrypoint added supplanting mu4e~start.

Fix: #6511
Close: #6549
Co-authored-by: Rahguzar <aikrahguzar@gmail.com>
2022-07-23 14:02:59 +02:00
Yaman Qalieh
bc32e2ec4c
tweak(mu4e): increase human-date to fit full time
Messages from the current day do not fit with the current width since
they are formatted as times (Ex: "05:17:23 PM"). The increase to 12
matches the mu4e defaults.

Amend: d1ba626a2a
2022-06-28 00:06:05 +02:00
Yaman Qalieh
d1ba626a2a tweak(mu4e): increase human-date width to fit year 2022-06-17 20:05:10 +02:00
TEC
0b6e63a6d1 feat(mu4e): more helpful headers mode-line symbols 2022-02-23 17:49:03 +01:00
Dominik Schrempf
d49693da91 fix(mu4e): only bind h when workspaces loaded 2021-11-18 19:08:51 +01:00
Henrik Lissner
3b0eeb104b revert: fix(mu4e): reflect upstream naming changes (#5620)
Revert 390fd1a7b0
Ref #5620
2021-10-18 14:53:32 +02:00
Dylan Barker
390fd1a7b0
fix(mu4e): reflect upstream naming changes (#5620) 2021-10-18 01:36:21 +02:00
SukBeom Kim
8e285177d9
fix(mu4e): invalid bookmark error
Adding 'Flagged messages' to mu4e-bookmarks with attributes results in
mu4e loading failure. Change the line not to use attributes.

error in process filter: mu4e-error: [mu4e] Invalid bookmark in
mu4e-bookmarks error in process filter: [mu4e] Invalid bookmark in
mu4e-bookmarks
2021-10-10 18:36:23 +02:00
TEC
3ced11e7cb fix(mu4e): make alerts work again
At some point in the original PR alerts stopped working. I've finally
tracked down why and found three components to the problem:
- I'm calling `start-process` incorrectly
- `truncate-string-to-width` is called on `nil` when no from name is
  given
- mu4e-alert uses :docid to check for duplicates, which is not provided
  in mu 1.6, and so :message-id must be used instead.
2021-10-05 02:30:36 +02:00
TEC
86a69ecf62 tweak(mu4e): change org-msg ch units to em
Because Outlook interprets 90ch as 90px ... nice job Outlook.

I also adjusted text size and padding with code snippets while we're
tweaking.

Close #5439
2021-10-03 12:49:04 +02:00
TEC
9fa122cc31 feat(mu4e): prompt for subject when absent
Give the user a chance to set the subject when about to send a message
without a subject line.
2021-09-23 11:40:44 +02:00
TEC
4373109721 feat(mu4e): more precise attachment detection rx 2021-09-23 11:40:44 +02:00
TEC
083c81e44b
refactor(mu4e): use doom-call-process to check XDG
This is a bit safer than shell-command-to-string, and we also now check
that the command exited successfully, and fall back if not.
2021-09-15 02:43:40 +08:00
TEC
7ab825157f
feat(mu4e): make the unicode bullet customizable
By popular demand.

Close #5452.
2021-09-15 02:43:40 +08:00
TEC
4fee7cf953
refactor(mu4e): extract part pickers duplication
Both the attachment and part selection functions generate string
representations of the parts. No need to do the same thing twice.
2021-09-15 02:43:40 +08:00
TEC
b489ae6452
feat(mu4e): show size in part/attachment picker 2021-09-15 02:43:40 +08:00
TEC
b05d8e8082
feat(mu4e): use file icons in part/attachment pick
Along with some other improvements and refactoring to the part picker
for a generally nicer experience, improved readability, and more
flexibility.
2021-09-15 02:43:40 +08:00
TEC
ea53ab9ef1
tweak(mu4e): end default attachment-dir with "/"
Having "/" at the end allows for a single backspace to remove the
directory, instead of just the last character - making it easier to
select a different location in a completing read.
2021-09-15 02:43:40 +08:00
TEC
6d1e86affc
tweak(mu4e): be consistent with mu4e naming style 2021-09-15 02:43:40 +08:00
TEC
c4aba242a3
feat(mu4e): improve part selection experience
It's not nice having to think of the index of the MIME part you want to
look at, it's much nicer to get a completing read with information about
those parts.
2021-09-15 02:43:40 +08:00
TEC
251705149b
feat(mu4e): reimplement attachment opening command
This can be done via 'a', but it's a nice convenience to have,
particularly as it filters out non-attachment MIME parts.

Closes #5027.
2021-09-15 02:43:39 +08:00
TEC
47be8e292e
feat(mu4e): reintroduce A and p view keybindings
When viewing a message, in mu4e < 1.6 'A' gives actions that can be
performed on the attachments, and 'p' / 'P' save attachments. The
functions are removed in 1.6, and their nearest replacements are not
bound. I think it makes sense to actually bind them.
2021-09-15 02:43:39 +08:00
Henrik Lissner
f74debdea8 fix(mu4e): remove forced dependency on doom-themes
Fix #5340
2021-08-04 01:53:12 -04:00
Henrik Lissner
06392a723f refactor: rename orig-fn arg in advice to fn
A minor tweak to our naming conventions for the first argument of an
:around advice.
2021-08-04 01:53:12 -04:00
TEC
181f17a6f4
fix(mu4e): account for signature change in v1.6
Mu4e 1.6 changes the signature of `mu4e-draft-open'. Since we don't care
about the args replace funcall with apply to make sure it's happy no
matter how many args it expected.
2021-08-03 03:36:57 +08:00
TEC
3fd6b2df1d
Mu4e: Ensure composing buffers are writable
This should always be the case, yet it doesn't seem like it always is.
Just to be safe we will ensure that the buffer is not read-only.
2021-07-31 01:13:43 +08:00
TEC
6915490d21
Mu4e: Better adhere to Doom naming conventions 2021-07-31 01:10:54 +08:00
Liam Hupfer
95971d2dc7
Mu4e: Add xdg-user-dir directory finding method 2021-07-30 23:44:50 +08:00