branch: externals/marginalia
commit 43cf0455f93fb3c7901e2d2609302326584f40a7
Author: Daniel Mendler <[email protected]>
Commit: Daniel Mendler <[email protected]>

    marginalia-annotate-frame: Handle frame-id
---
 CHANGELOG.org |  2 +-
 marginalia.el | 10 +++++++---
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 21f48db97f..f5945e2b71 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -4,7 +4,7 @@
 
 * Development
 
-- Add ~marginalia-annotate-frame~ for ~select-by-frame-name~.
+- Add ~marginalia-annotate-frame~ for ~select-by-frame-name~ and 
~select-frame-by-id~.
 - Fix ~marginalia-annotate-embark-keybinding~.
 
 * Version 2.8 (2026-01-17)
diff --git a/marginalia.el b/marginalia.el
index f710f5057c..dc29d7dd3e 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -1183,9 +1183,13 @@ These annotations are skipped for remote paths."
 
 (defun marginalia-annotate-frame (cand)
   "Annotate frame named CAND with window and buffer information."
-  (when-let* ((frame (cl-loop for f in (frame-list)
-                              if (equal cand (frame-parameter f 'name))
-                              return f)))
+  (when-let* ((frame (cl-loop
+                      for f in (frame-list)
+                      if (or (equal cand (frame-parameter f 'name))
+                             ;; `frame-id' is an Emacs 31 addition
+                             (when (fboundp 'frame-id)
+                               (equal cand (number-to-string (frame-id f)))))
+                      return f)))
     (let ((wins (window-list frame)))
       (marginalia--fields
        ((length wins) :format "win:%s" :face 'marginalia-size)

Reply via email to