Skip to content
Matthew edited this page Dec 20, 2019 · 3 revisions

Snippets to integrate with Helm

Categorize eaf bookmarks

The following adds sources for browser and pdf app to `helm-filtered-bookmarks` command:

(defvar helm-bookmark-preds+
  '(helm-bookmark-org-file-p
    helm-bookmark-addressbook-p
    helm-bookmark-gnus-bookmark-p
    helm-bookmark-w3m-bookmark-p
    helm-bookmark-woman-man-bookmark-p
    helm-bookmark-info-bookmark-p
    helm-bookmark-image-bookmark-p
    helm-bookmark-file-p
    helm-bookmark-helm-find-files-p
    helm-bookmark-addressbook-p))

(define-advice helm-bookmark-uncategorized-bookmark-p (:override (bookmark) customize)
  "Return non--nil if BOOKMARK match no known category.

This uses `helm-bookmark-preds+' to make it easier to add categories."
  (cl-loop for pred in helm-bookmark-preds+
           never (funcall pred bookmark)))


(with-eval-after-load 'helm-bookmark
  (push 'helm-bookmark-eaf-p+ helm-bookmark-preds+)

  (defun helm-bookmark-eaf-p+ (bookmark)
    "Check if bookmark is an eaf bookmark."
    (eq (bookmark-get-handler bookmark)
        'eaf--bookmark-restore))


    (dolist (app '("browser" "pdf-viewer"))
      (push
       (helm-make-source (format "Bookmark %s" app) 'helm-source-filtered-bookmarks
         :init (lambda ()
                 (bookmark-maybe-load-default-file)
                 (helm-init-candidates-in-buffer
                     'global
                   (helm-bookmark-filter-setup-alist
                    (lambda (bookmark)
                      (equal (bookmark-prop-get bookmark 'eaf-app)
                             app))))))
       helm-bookmark-default-filtered-sources)))
Clone this wiki locally
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy