If you are averse to using `org-super-agenda` you can go with the below recipe ... *(Note that there is no harm in using `org-super-agenda-mode` though)* *(Note that this "pollutes" `org-tags-history`. So, refine the recipe further if this "pollution" confuses you. You may want to periodically do `(setq org-tags-history nil)` just to be sure that there is ZERO pollution)* To get this [![enter image description here][1]][1] followed by [![enter image description here][2]][2] ```lisp ;; Recipe for `emacs -Q` (require 'subr-x) (require 'map) (setq package-user-dir "~/.emacs.d/elpa/") (package-initialize) (global-set-key (kbd "C-c h") 'consult-history) (custom-set-variables '(vertico-mode t) '(org-agenda-files '("/tmp/ox-odt.org" "/tmp/ox-ods.org"))) (require 'org-agenda) (setq my-org-agenda-prop-filters (thread-last org-agenda-files (seq-mapcat (lambda (it) (with-current-buffer (find-file-noselect it) (thread-last (org-element-map (org-element-parse-buffer) 'property-drawer #'identity) (seq-mapcat (lambda (it) (org-element-map it 'node-property #'cadr))) (seq-map (pcase-lambda ((map :key :value)) (cons key value))) (seq-group-by #'car) (seq-map (pcase-lambda (`(,prop . ,prop-and-values)) (cons prop (thread-last prop-and-values map-values)))) (seq-mapcat (pcase-lambda (`(,prop . ,values)) (thread-last values (seq-map (lambda (it) (format "%s=\"%s\"" prop it)))))))))))) ;; '("PROJECT=\"odt\"" ;; "PROJECT=\"odt\"" ;; "URL=\"https://github.com/kjambunathan/org-mode-ox-odt/issues/251\"" ;; "URL=\"https://github.com/kjambunathan/org-mode-ox-odt/issues/261\"" ;; "PROJECT=\"ods\"" ;; "PROJECT=\"ods\"" ;; "URL=\"https://github.com/kjambunathan/org-mode-ox-odt/issues/235\"" ;; "URL=\"https://github.com/kjambunathan/org-mode-ox-odt/issues/253\"" ;; ) (setq org-tags-history (append my-org-agenda-prop-filters org-tags-history)) ``` [1]: https://i.sstatic.net/jyL0R.png [2]: https://i.sstatic.net/LI0px.png