Commit Graph

159 Commits

Author SHA1 Message Date
fb0dc4cc85 refactor(lib): doom-debug-mode: make verbosity selective
Now `doom-debug-mode` manipulates `doom-log-level` if you activate it
with a prefix arg, setting it to 1 by default, reducing its verbosity
and cutting down on noise in the logs.
2025-04-11 12:17:44 -04:00
dac6e05b87 refactor: deprecate appendq!, prependq!, & delq! macros
In the interest of slimming down Doom's core (as we near v3), I've
deprecated these macros. They doesn't really need to exist. Sure, the
alternatives aren't as ergonomic or elegant, but they're good enough
that we don't need these trivial wrappers. Their local uses have been
refactored out as well.
2025-03-25 14:16:56 -04:00
0a715cc3f2 refactor: (if|when)-let -> (if|when)-let*
With the former macros' future in the air (and likely to be targeted in
future, potentially breaking changes), I'll deal with this now than have
it bite me later.

Ref: https://lists.gnu.org/archive/html/emacs-devel/2024-10/msg00637.html
2025-01-08 19:33:37 -05:00
dc387bc486 fix(mu4e): org-msg: toggle behavior
Toggle behavior:

The `(integerp current-prefix-arg)` check didn't appropriately catch
`C-u`/`SPC u` prefixes. This attempts to use `(prefix-numeric-value
current-prefix-arg)` instead to normalize these cases.

Variable naming:

I'm not sure if this was supposed to continue to be called
`+mu4e-compose-org-msg-toggle-next` or if the rename to private
`+mu4e--compose-org-msg-toggle-next` was intentional and the usage
wasn't updated accordingly. I see the `mu4e` README still mentions it,
so I would guess the former and this was a typo.

Ref: #8073
Amend: a78237cc01
2024-10-03 00:45:35 -04:00
a78237cc01 fix(mu4e): org-msg: type error w/ prefix arg
Fix: #8073
2024-09-14 15:22:09 -04:00
771fccc52b nit: minor reformatting & revision
Also corrects the version string of obsolete variable `+mu4e-backend`.
2024-09-11 19:46:14 -04:00
fcf8b0f8a1 fix(mu4e): treat *mu4e-main* as real 2024-09-10 20:38:01 -04:00
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
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
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
139591172e fix(mu4e): add mu4e-debug to doom-debug-variables 2024-09-05 04:21:58 -04:00
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
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
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
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
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
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
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
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
531a8bdfeb fix(mu4e): remove broken pretty bullets advice 2023-09-20 20:23:44 +02:00
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
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
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
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
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
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
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
d49693da91 fix(mu4e): only bind h when workspaces loaded 2021-11-18 19:08:51 +01:00
3b0eeb104b revert: fix(mu4e): reflect upstream naming changes (#5620)
Revert 390fd1a7b0
Ref #5620
2021-10-18 14:53:32 +02:00
390fd1a7b0 fix(mu4e): reflect upstream naming changes (#5620) 2021-10-18 01:36:21 +02:00
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
f74debdea8 fix(mu4e): remove forced dependency on doom-themes
Fix #5340
2021-08-04 01:53:12 -04:00