[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ement 645537c07f 3/3: Add: (ement-directory-define-key
From: |
ELPA Syncer |
Subject: |
[elpa] externals/ement 645537c07f 3/3: Add: (ement-directory-define-key people-p) |
Date: |
Fri, 15 Sep 2023 00:57:48 -0400 (EDT) |
branch: externals/ement
commit 645537c07f23e7d173047971e56c8e8c78fe5236
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>
Add: (ement-directory-define-key people-p)
And use in ement-directory-default-keys.
---
README.org | 4 ++++
ement-directory.el | 15 ++++++++++++++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/README.org b/README.org
index 3a9368c874..8d4e3324f4 100644
--- a/README.org
+++ b/README.org
@@ -294,6 +294,10 @@ Ement.el doesn't support encrypted rooms natively, but it
can be used transparen
** 0.13-pre
+*Additions*
+
++ Group joined direct rooms in directory buffers.
+
*Fixes*
+ Name for direct rooms in directory buffers.
diff --git a/ement-directory.el b/ement-directory.el
index d5802179b8..8a3fb1954b 100644
--- a/ement-directory.el
+++ b/ement-directory.el
@@ -85,8 +85,21 @@
(when (equal "m.space" type)
"Spaces")))
+(ement-directory-define-key people-p ()
+ (pcase-let (((map ('room_id id) ('room_type type)) item)
+ ((map session) ement-directory-etc))
+ (pcase type
+ ("m.space" nil)
+ (_ (when-let ((room (cl-find id (ement-session-rooms session)
+ :key #'ement-room-id :test #'equal))
+ ((ement--room-direct-p room session)))
+ (propertize "People" 'face 'ement-room-list-direct))))))
+
(defcustom ement-directory-default-keys
- '((joined-p)
+ '((joined-p
+ (people-p)
+ (and :name "Rooms"
+ :keys ((not people-p))))
(space-p)
((size :> 10000))
((size :> 1000))