mirror of https://github.com/djcb/mu.git
mu4e-contrib: remove bookmark support, cleanup a bit
Bookmark support was broken (and has been for a while). Remove it.
This commit is contained in:
parent
36f4813d01
commit
8720310679
|
@ -1,6 +1,6 @@
|
||||||
;;; mu4e-contrib.el -- part of mu4e -*- lexical-binding: t -*-
|
;;; mu4e-contrib.el -- part of mu4e -*- lexical-binding: t -*-
|
||||||
|
|
||||||
;; Copyright (C) 2013-2021 Dirk-Jan C. Binnema
|
;; Copyright (C) 2013-2022 Dirk-Jan C. Binnema
|
||||||
|
|
||||||
;; This file is not part of GNU Emacs.
|
;; This file is not part of GNU Emacs.
|
||||||
|
|
||||||
|
@ -28,11 +28,8 @@
|
||||||
(require 'bookmark)
|
(require 'bookmark)
|
||||||
(require 'eshell)
|
(require 'eshell)
|
||||||
|
|
||||||
;; Contributed by sabof
|
|
||||||
(defvar bookmark-make-record-function)
|
|
||||||
|
|
||||||
;;; Various simple commands
|
;;; Various simple commands
|
||||||
|
|
||||||
(defun mu4e-headers-mark-all-unread-read ()
|
(defun mu4e-headers-mark-all-unread-read ()
|
||||||
"Put a ! \(read) mark on all visible unread messages."
|
"Put a ! \(read) mark on all visible unread messages."
|
||||||
(interactive)
|
(interactive)
|
||||||
|
@ -48,7 +45,7 @@
|
||||||
(mu4e-mark-execute-all t))
|
(mu4e-mark-execute-all t))
|
||||||
|
|
||||||
(defun mu4e-headers-mark-all ()
|
(defun mu4e-headers-mark-all ()
|
||||||
"Mark all headers for some action,
|
"Mark all headers for some action.
|
||||||
Ask user what action to execute."
|
Ask user what action to execute."
|
||||||
(interactive)
|
(interactive)
|
||||||
(mu4e-headers-mark-for-each-if
|
(mu4e-headers-mark-for-each-if
|
||||||
|
@ -56,63 +53,8 @@ Ask user what action to execute."
|
||||||
(lambda (_msg _param) t))
|
(lambda (_msg _param) t))
|
||||||
(mu4e-mark-execute-all))
|
(mu4e-mark-execute-all))
|
||||||
|
|
||||||
;;; Bookmark handlers
|
|
||||||
;;
|
|
||||||
;; Allow bookmarking a mu4e buffer in regular emacs bookmarks.
|
|
||||||
|
|
||||||
(defun mu4e--view-set-bookmark-make-record-fn ()
|
|
||||||
"Make a bookmar record function (view)."
|
|
||||||
(set (make-local-variable 'bookmark-make-record-function)
|
|
||||||
'mu4e-view-bookmark-make-record))
|
|
||||||
|
|
||||||
(defun mu4e--headers-set-bookmark-make-record-fn ()
|
|
||||||
"Make a bookmar record function (headers)."
|
|
||||||
(set (make-local-variable 'bookmark-make-record-function)
|
|
||||||
'mu4e-view-bookmark-make-record))
|
|
||||||
|
|
||||||
;; Probably this can be moved to mu4e-view.el.
|
|
||||||
(add-hook 'mu4e-view-mode-hook #'mu4e--view-set-bookmark-make-record-fn)
|
|
||||||
;; And this can be moved to mu4e-headers.el.
|
|
||||||
(add-hook 'mu4e-headers-mode-hook #'mu4e--headers-set-bookmark-make-record-fn)
|
|
||||||
|
|
||||||
(defun mu4e-view-bookmark-make-record ()
|
|
||||||
"Make a bookmark entry for a mu4e buffer.
|
|
||||||
Note that this is an Emacs bookmark, not to be confused with
|
|
||||||
`mu4e-bookmarks'."
|
|
||||||
(let* ((msg (mu4e-message-at-point))
|
|
||||||
(maildir (plist-get msg :maildir))
|
|
||||||
(date (format-time-string "%Y%m%d" (plist-get msg :date)))
|
|
||||||
(query (format "maildir:%s date:%s" maildir date))
|
|
||||||
(docid (plist-get msg :docid))
|
|
||||||
(mode (symbol-name major-mode))
|
|
||||||
(subject (or (plist-get msg :subject) "No subject")))
|
|
||||||
`(,subject
|
|
||||||
,@(bookmark-make-record-default 'no-file 'no-context)
|
|
||||||
(location . (,query . ,docid))
|
|
||||||
(mode . ,mode)
|
|
||||||
(handler . mu4e-bookmark-jump))))
|
|
||||||
|
|
||||||
(defun mu4e-bookmark-jump (bookmark)
|
|
||||||
"Handler function for record returned by `mu4e-view-bookmark-make-record'.
|
|
||||||
BOOKMARK is a bookmark name or a bookmark record."
|
|
||||||
(let* ((path (bookmark-prop-get bookmark 'location))
|
|
||||||
(mode (bookmark-prop-get bookmark 'mode))
|
|
||||||
(docid (cdr path))
|
|
||||||
(query (car path)))
|
|
||||||
(call-interactively 'mu4e)
|
|
||||||
(mu4e-search query)
|
|
||||||
(sit-for 0.5)
|
|
||||||
(mu4e~headers-goto-docid docid)
|
|
||||||
(mu4e~headers-highlight docid)
|
|
||||||
(unless (string= mode "mu4e-headers-mode")
|
|
||||||
(call-interactively 'mu4e-headers-view-message)
|
|
||||||
(run-with-timer 0.1 nil
|
|
||||||
(lambda (bmk)
|
|
||||||
(bookmark-default-handler
|
|
||||||
`("" (buffer . ,(current-buffer)) .
|
|
||||||
,(bookmark-get-bookmark-record bmk))))
|
|
||||||
bookmark))))
|
|
||||||
|
|
||||||
|
|
||||||
;;; Bogofilter/SpamAssassin
|
;;; Bogofilter/SpamAssassin
|
||||||
;;
|
;;
|
||||||
;; Support for handling spam with Bogofilter with the possibility
|
;; Support for handling spam with Bogofilter with the possibility
|
||||||
|
@ -170,6 +112,7 @@ For example for bogofile, use \"/usr/bin/bogofilter -Sn < %s\"")
|
||||||
(shell-command command))
|
(shell-command command))
|
||||||
(mu4e-view-mark-for-something))
|
(mu4e-view-mark-for-something))
|
||||||
|
|
||||||
|
|
||||||
;;; Eshell functions
|
;;; Eshell functions
|
||||||
;;
|
;;
|
||||||
;; Code for `gnus-dired-attached' modified to run from eshell,
|
;; Code for `gnus-dired-attached' modified to run from eshell,
|
||||||
|
|
Loading…
Reference in New Issue