summaryrefslogtreecommitdiff
path: root/mu4e
diff options
context:
space:
mode:
authorDirk-Jan C. Binnema <djcb@djcbsoftware.nl>2026-02-14 10:25:32 +0200
committerDirk-Jan C. Binnema <djcb@djcbsoftware.nl>2026-02-14 12:10:47 +0200
commitd40daf9189790bc1ebd39de34a4aa9bdba7df7fe (patch)
tree32b7bbc8a2b405d8d1f9dcfff4f00ca816cd2e79 /mu4e
parenta031b271dfb426560b92a63628d58ecd2c435902 (diff)
mu4e: update transient support
We can now rely on transient being available.
Diffstat (limited to 'mu4e')
-rw-r--r--mu4e/meson.build5
-rw-r--r--mu4e/mu4e-transient.el41
-rw-r--r--mu4e/mu4e.el1
-rw-r--r--mu4e/mu4e.texi9
4 files changed, 38 insertions, 18 deletions
diff --git a/mu4e/meson.build b/mu4e/meson.build
index 0c2be13..a0142bf 100644
--- a/mu4e/meson.build
+++ b/mu4e/meson.build
@@ -1,4 +1,4 @@
-## Copyright (C) 2022-2025 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
+## Copyright (C) 2022-2026 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -94,8 +94,7 @@ endif
#
#... so let's not do that!
-# byte compile the sources that can be byte-compiled. This may exclude mu4e-transient.el and
-# mu4e-dbus.el
+# byte compile the sources that can be byte-compiled. This may exclude mu4e-dbus.el
foreach src : mu4e_bc_srcs
target_name= '@BASENAME@.elc'
target_path = join_paths(meson.current_build_dir(), target_name)
diff --git a/mu4e/mu4e-transient.el b/mu4e/mu4e-transient.el
index 8dd0636..1f432b4 100644
--- a/mu4e/mu4e-transient.el
+++ b/mu4e/mu4e-transient.el
@@ -1,13 +1,32 @@
-;;; mu4e-transient.el --- -*- coding: utf-8; lexical-binding: t -*-
-;;
-;; Copyright (C) 2025 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
+;;; mu4e.el --- Mu-based mua for emacs -*- lexical-binding: t -*-
+
+;; Copyright (C) 2025-2026 Dirk-Jan C. Binnema
+
+;; Author: Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
+;; Maintainer: Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
+
+;; This file is not part of GNU Emacs.
+
+;; SPDX-License-Identifier: GPL-3.0-or-later
+
+;; mu4e is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; mu4e is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with mu4e. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;;
-;;; Define "transients" for some mu4e functionality.
+;;; Define a "transient" menu for some mu4e functionality.
;;; Code:
-(require 'mu4e)
(require 'mu4e-bookmarks)
(require 'mu4e-compose)
(require 'mu4e-draft)
@@ -20,6 +39,9 @@
;; Helpers.
+
+(declare-function mu4e "mu4e")
+
(defun mu4e--toggle-description(name val)
"Return a string for a transient toggle with NAME.
Show On/Off based on value VAL."
@@ -137,6 +159,9 @@ toggle-function is created."
;;("a" "archive")
]])
+
+
+;;;###autoload(autoload 'mu4e-transient-menu "mu4e-transient" nil t)
(transient-define-prefix mu4e-transient-menu()
"Mu4e main menu."
[["Main"
@@ -150,9 +175,9 @@ toggle-function is created."
(format "Context %s"
(if ctx (propertize (mu4e-context-name ctx)
'face 'transient-value) "")))))
- ("d" "Docs & links" mu4e--prefix-docs-links)
- ("D" "Debug/tweaks..." mu4e--prefix-debug-tweaks)
- ("M-q" "Quit" mu4e-quit)]
+ ("d" "Docs & links" mu4e--prefix-docs-links)
+ ("D" "Debug/tweaks..." mu4e--prefix-debug-tweaks)
+ ("M-q" "Quit" mu4e-quit)]
["Search"
("b" "Bookmark" mu4e-search-bookmark)
("j" "Maildir" mu4e-search-maildir)
diff --git a/mu4e/mu4e.el b/mu4e/mu4e.el
index a172f75..75e3ed2 100644
--- a/mu4e/mu4e.el
+++ b/mu4e/mu4e.el
@@ -45,6 +45,7 @@
(require 'mu4e-notification)
(require 'mu4e-server) ;; communication with backend
+(require 'mu4e-transient)
(when mu4e-speedbar-support
(require 'mu4e-speedbar)) ;; support for speedbar
(when mu4e-org-support
diff --git a/mu4e/mu4e.texi b/mu4e/mu4e.texi
index 12e8387..483ec85 100644
--- a/mu4e/mu4e.texi
+++ b/mu4e/mu4e.texi
@@ -3624,13 +3624,8 @@ the counts to latest known ones. When in the main-view, you can use
@section Transient
@cindex transient
-@code{mu4e} has experimental support for the ``transient'' menus, as per
-@ref{(transient) Top}. Because ``transient'' is not automatically available in
-all Emacs version that @code{mu4e} support, you need to manually enable it:
-@lisp
-(when (require 'mu4e-transient nil 'noerror)
- (global-set-key (kbd "C-c m") mu #'mu4e-transient-menu))
-@end lisp
+@code{mu4e} has support for the ``transient'' menus, as per @ref{(transient)
+Top}, through @kbd{M-x mu4e-transient-menu}, or bind it to some key.
@node Desktop notifications
@section Desktop notifications