;ELC   
;;; Compiled
;;; in Emacs version 29.3
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\207" [require button rx persist svg-lib taxy taxy-magit-section ement-lib] 2)#@191 Define a command that calls COMMAND interactively with point at mouse event.
COMMAND should be a form that evaluates to a function symbol; if
a symbol, it should be unquoted..

(fn COMMAND)
(defalias 'ement-room-list-define-mouse-command '(macro . #[257 "\300\301\"\302\300\303\"!\304\305\306\307\310\311\nDD\257\207" [format "Call command `%s' interactively with point at EVENT." intern "ement-room-list-mouse-%s" defun (event) (interactive "e") (mouse-set-point event) call-interactively function] 12 (#$ . 262)]))
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\211$\207" [defalias ement-room-list-section-p eieio-make-class-predicate ement-room-list-section ement-room-list-section--eieio-childp eieio-make-child-predicate ement-room-list-section-child-p make-obsolete "use (cl-typep ... 'ement-room-list-section) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (magit-section) nil] 6)#@80 Create a new object of class type `ement-room-list-section'.

(fn &rest SLOTS)
(defalias 'ement-room-list-section #[128 "\300\301\302#\207" [apply make-instance ement-room-list-section] 5 (#$ . 1278)])
(byte-code "\300\301\302\303#\300\207" [function-put ement-room-list-section compiler-macro ement-room-list-section--anon-cmacro] 4)#@26 

(fn WHOLE &rest SLOTS)
(defalias 'ement-room-list-section--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\304\211@%\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity nil] 8 (#$ . 1619)])
(cl-generic-define-method 'magit-section-ident-value nil '((section ement-room-list-section)) nil #[257 "\305\306\"\307!>\203 \307!	>\204 \310\311\312D\"\210\211\313H\207\314!\203\300 \211G\211\315=\203\265 \316H\307!\n>\203\252 \313H\307!>\203\237 \317\307\211!>\204T \310\311\320D\"\210\313H!\f>\204v \310\311\321\307!>\204p \310\311\320D\"\210\313HD\"\210\307!>\204\205 \310\311\320D\"\210\313H\313H\307!\n>\204\232 \310\311\322D\"\210\313H\"\207\204\245 \323\207\324\325\"\207\204\260 \323\207\324\325\"\207\204\273 \323\207\324\325\"\207\211\204\306 \323\207\324\325\"\207" [cl-struct-taxy-magit-section-tags cl-struct-taxy-tags cl-struct-ement-room-tags cl-struct-ement-session-tags cl-struct-ement-user-tags eieio-oref value type-of signal wrong-type-argument taxy 1 vectorp 2 0 vector ement-session ement-user ement-room nil error "No clause matching `%S'"] 13 "Return ident value for `ement-room-list-section' SECTION.\nUsed for caching section visibility.\n\n(fn SECTION)"])#@78 Keymap for `ement-room-list' buffers.
See also `ement-room-list-button-map'.
(defvar ement-room-list-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311\312\313\"#\210\301\314\311\315\316\"#\210\301\317\320#\210\301\321\322#\210\207" [make-sparse-keymap define-key "" ement-room-list-RET " " ement-room-list-next-unread [tab] ement-room-list-section-toggle [mouse-1] defalias ement-room-list-mouse-ement-room-list-RET #[257 "\300!\210\301\302!\207" [mouse-set-point call-interactively ement-room-list-RET] 3 "Call command `ement-room-list-RET' interactively with point at EVENT.\n\n(fn EVENT)" #1="e"] [mouse-2] ement-room-list-mouse-ement-room-list-kill-buffer #[257 "\300!\210\301\302!\207" [mouse-set-point call-interactively ement-room-list-kill-buffer] 3 "Call command `ement-room-list-kill-buffer' interactively with point at EVENT.\n\n(fn EVENT)" #1#] "k" ement-room-list-kill-buffer "s" ement-room-toggle-space] 7) (#$ . 2894))#@58 Keymap for buttonized text in `ement-room-list' buffers.
(defvar ement-room-list-button-map (byte-code "\300 \301\302\303\304\305\"#\210\301\306\303\307\310\"#\210\207" [make-sparse-keymap define-key [mouse-1] defalias ement-room-list-mouse-ement-room-list-RET #[257 "\300!\210\301\302!\207" [mouse-set-point call-interactively ement-room-list-RET] 3 "Call command `ement-room-list-RET' interactively with point at EVENT.\n\n(fn EVENT)" #1="e"] [mouse-2] ement-room-list-mouse-ement-room-list-kill-buffer #[257 "\300!\210\301\302!\207" [mouse-set-point call-interactively ement-room-list-kill-buffer] 3 "Call command `ement-room-list-kill-buffer' interactively with point at EVENT.\n\n(fn EVENT)" #1#]] 7) (#$ . 3883))#@97 List of colors used for timestamps.
Set automatically when `ement-room-list-mode' is activated.
(defvar ement-room-list-timestamp-colors nil (#$ . 4611))#@57 Applied to `magit-section-visibility-cache', which see.
(defvar ement-room-list-visibility-cache nil (#$ . 4770))
(byte-code "\300\301\302\211#\210\303\304\302\305\306\307\306\310&\210\303\307\302\311\306\312%\210\313\314\315\316\317DD\320\321\322%\210\313\323\315\316\324DD\325\321\322%\210\313\326\315\316\327DD\330\321\322%\210\313\331\315\316\332DD\333\321\334%\207" [persist--defvar-1 ement-room-list-visibility-cache nil custom-declare-group ement-room-list-faces "Faces for room list buffers." :group ement-room-list ement-faces "Options for room list buffers." ement custom-declare-variable ement-room-list-auto-update funcall function #[0 "\300\207" [t] 1 #1=""] "Automatically update the taxy-based room list buffer." :type boolean ement-room-list-avatars #[0 "\300 \207" [display-images-p] 1 #1#] "Show room avatars in the room list." ement-room-list-avatar-generation #[0 "\300\301!\207" [image-type-available-p svg] 2 #1#] "Generate SVG-based avatars for rooms that have none." ement-room-list-space-prefix #[0 "\300\207" ["Space: "] 1 #1#] "Prefix applied to space names." string] 8)
(custom-declare-face 'ement-room-list-direct (progn (copy-face 'font-lock-constant-face 'ement--font-lock-constant-face) (set-face-attribute 'ement--font-lock-constant-face nil :weight 'unspecified) '((t (:inherit (ement--font-lock-constant-face ement-room-list-name) :underline nil)))) "Direct rooms." :group 'ement-room-list-faces)
(custom-declare-face 'ement-room-list-favourite '((t (:inherit (font-lock-doc-face ement-room-list-name)))) "Favourite rooms." :group 'ement-room-list-faces)
(custom-declare-face 'ement-room-list-invited '((t (:inherit (italic ement-room-list-name)))) "Invited rooms." :group 'ement-room-list-faces)
(custom-declare-face 'ement-room-list-left '((t (:strike-through t :inherit ement-room-list-name))) "Left rooms." :group 'ement-room-list-faces)
(custom-declare-face 'ement-room-list-low-priority '((t (:inherit (font-lock-comment-face ement-room-list-name)))) "Low-priority rooms." :group 'ement-room-list-faces)
(custom-declare-face 'ement-room-list-name '((t (:inherit (font-lock-function-name-face button) :underline nil))) "Non-direct rooms." :group 'ement-room-list-faces)
(custom-declare-face 'ement-room-list-space '((t (:inherit (font-lock-regexp-grouping-backslash ement-room-list-name)))) "Space rooms." :group 'ement-room-list-faces)
(custom-declare-face 'ement-room-list-unread '((t (:inherit (bold ement-room-list-name)))) "Unread rooms." :group 'ement-room-list-faces)
(custom-declare-face 'ement-room-list-recent '((t (:inherit font-lock-warning-face))) "Latest timestamp of recently updated rooms.\nThe foreground color is used to generate a gradient of colors\nfrom recent to non-recent for rooms updated in the past 24\nhours but at least one hour ago." :group 'ement-room-list-faces)
(custom-declare-face 'ement-room-list-very-recent '((t (:inherit error))) "Latest timestamp of very recently updated rooms.\nThe foreground color is used to generate a gradient of colors\nfrom recent to non-recent for rooms updated in the past hour." :group 'ement-room-list-faces)
(byte-code "\300\301\300\302\303#\210\304\305\306\307\310\"B\"\210\311\305\312\313#\210\314\305\315\316#\266\317\320M\210\32111 \322\323\317\302$0\210\2028 \210\324\323\317#\325\326M\210\3271K \322\330\325\302$0\210\202R \210\324\330\325#\331\332M\210\3331e \322\334\331\302$0\210\202l \210\324\334\331#\335\336M\210\3371 \322\340\335\302$0\210\202\206 \210\324\340\335#\341\342M\210\3431\231 \322\344\341\302$0\210\202\240 \210\324\344\341#\345\346M\210\3471\263 \322\350\345\302$0\210\202\272 \210\324\350\345#\351\352M\210\3531\315 \322\354\351\302$0\210\202\324 \210\324\354\351#\355\356M\210\3571\347 \322\360\355\302$0\210\202\356 \210\324\360\355#\361\362M\210\3631\322\364\361\302$0\210\202\210\324\364\361#\365\366M\210\3671\322\370\365\302$0\210\202\"\210\324\370\365#\371\372M\210\37312\322\374\371\302$0\207\210\324\374\371#\211\207" [ement-room-list-keys defvar-1 nil "Alist mapping key aliases to key functions.\nThis instance is defined with the macro:\n`ement-room-list-define-key'." defalias ement-room-list-define-key macro make-closure #[642 "\301\302\303\304#!\305\306\307BBBD\310\311\312DE\313\314\300\312\nDE\312DEE\207" [V0 intern format "%s-%s" "ement-room-list-key" cl-function lambda item progn fset quote setf map-elt] 12 "FIXME: Docstring.\n\n(fn NAME ARGS &rest BODY)"] function-put lisp-indent-function defun put edebug-form-spec (&define symbolp listp &rest def-form) ement-room-list-key-membership #[385 "\301\302\"A@\301\303\"A@\211\203B \211@\304>\203+ \211A\204# \305\306@\"\210\211AA\262\202 \307>A@\2039 \310\262\202 \305\311@\"\210\202 \210\312\313!\210G\314H\315!>\210\211\316H\317H\310\203p \232\205s \206s !\207!\207" [cl-struct-ement-room-tags plist-member :name :status (:name :status . #1=(:allow-other-keys)) error #2="Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:name :status)" #[257 "\211\300\267\202\f \301\207\302\207\303\207\304\207" [#s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (join 6 invite 8 leave 10)) "Joined" "Invited" "[Left]" nil] 3 "\n\n(fn MEMBERSHIP)"] vectorp 0 type-of 14 1] 12 "\n\n(fn ITEM &key NAME STATUS)"] (map-not-inplace) map-put! membership map-insert ement-room-list-key-alias #[385 "\301\302\"A@\301\303\"A@\211\203B \211@\304>\203+ \211A\204# \305\306@\"\210\211AA\262\202 \307>A@\2039 \310\262\202 \305\311@\"\210\202 \210\312!\210G\313H\314!>\210\211\315H\316H\310\205n \310\317\320$\266\203\205n \207" [cl-struct-ement-room-tags plist-member :name :regexp (:name :regexp . #1#) error #2# :allow-other-keys nil "Keyword argument %s not one of (:name :regexp)" vectorp 0 type-of 12 1 string-match t] 17 "\n\n(fn ITEM &key NAME REGEXP)"] (map-not-inplace) alias ement-room-list-key-buffer #[257 "\301!\210\211G\302H\303!>\210\211\304H\305!\210\306\307\"\310H\311\205# \312\207" [cl-struct-ement-room-tags vectorp 0 type-of 18 mapp map-elt buffer 1 nil #("Buffers" 0 7 (help-echo "Rooms with open buffers"))] 8 "\n\n(fn ITEM)"] (map-not-inplace) buffer ement-room-list-key-direct #[257 "\300!\210\211G\301H\302H\303\"\205 \304\207" [vectorp 0 1 ement--room-direct-p "Direct"] 7 "\n\n(fn ITEM)"] (map-not-inplace) direct ement-room-list-key-people #[257 "\300!\210\211G\301H\302H\303\"\205 \304\305\306\307\310\307%\207" [vectorp 0 1 ement--room-direct-p propertize "People" face ement-room-list-direct font-lock-face] 10 "\n\n(fn ITEM)"] (map-not-inplace) people ement-room-list-key-space #[385 "\303\304\"A@\303\305\"A@\211\203B \211@\306>\203+ \211A\204# \307\310@\"\210\211AA\262\202 \311>A@\2039 \312\262\202 \307\313@\"\210\202 \210\314!\210G\315H\316H\317!>\210\211\320H\211\317!	>\210\321H\322H\323!\210\324\325\"\326\327\"	\203\344 	\235\204\230 	\317	!	>\204\220 \330\331\332D\"\210\316H\232\203\244 \n\206\211\n!\202\333\232\205	\317	!	>\204\275 \330\331\332D\"\210\316H\232\205\n\206\n\317	!	>\204\334 \330\331\332D\"\210\334HP\202G\211\335\267\202\367 \312\202@!\202\336\"\337\340\341#\266\202\262\211\205\342\343\344\345\344%\207" [cl-struct-ement-session-tags cl-struct-ement-room-tags ement-room-list-space-prefix plist-member :name :id (:name :id . #1#) error #2# :allow-other-keys nil "Keyword argument %s not one of (:name :id)" vectorp 0 1 type-of 5 15 18 mapp map-elt parents make-closure #[257 "\303\300\304\305\306\307&\211\203\" \310!	>\204 \311\312\313D\"\210\211\314H\202# \nP\207" [V0 cl-struct-ement-room-tags ement-room-list-space-prefix cl-find :key ement-room-id :test equal type-of signal wrong-type-argument ement-room 2] 8 "\n\n(fn ID)"] signal wrong-type-argument ement-room "m.space" 2 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 236 1 240)) mapcar ", " mapconcat identity propertize face ement-room-list-space font-lock-face] 20 "\n\n(fn ITEM &key NAME ID)"] (map-not-inplace) space ement-room-list-key-space-p #[257 "\301!\210\211G\302H\303H\304\305!>\210\306H\211\307\232\205 \310\207" [cl-struct-ement-room-tags vectorp 0 1 nil type-of 15 "m.space" "Spaces"] 8 "Groups rooms that are themselves spaces.\n\n(fn ITEM)"] (map-not-inplace) space-p ement-room-list-key-name #[385 "\300\301\"A@\300\302\"A@\211\203B \211@\303>\203+ \211A\204# \304\305@\"\210\211AA\262\202 \306>A@\2039 \307\262\202 \304\310@\"\210\202 \210\311!\210G\312H\313H\307\314!\211\205k \307\315\316$\266\203\205k \206k \207" [plist-member :name :regexp (:name :regexp . #1#) error #2# :allow-other-keys nil "Keyword argument %s not one of (:name :regexp)" vectorp 0 1 ement--room-display-name string-match t] 17 "\n\n(fn ITEM &key NAME REGEXP)"] (map-not-inplace) name ement-room-list-key-latest #[385 "\301\302\"A@\301\303\"A@\301\304\"A@\211\203H \211@\305>\2031 \211A\204) \306\307@\"\210\211AA\262\202 \310>A@\203? \311\262\202 \306\312@\"\210\202 \210\313!\210G\314H\315H\311\316!>\210\317H\311\205\246 \320\311\321\"\322\245Z\262\203\206 \211X\205\246 \206\246 \323\324	\"\207\203\235 \211Y\205\246 \206\246 \323\325	\"\207\211\326X\203\245 \327\207\330\207" [cl-struct-ement-room-tags plist-member :name :newer-than :older-than (:name :newer-than :older-than . #1#) error #2# :allow-other-keys nil "Keyword argument %s not one of (:name :newer-than :older-than)" vectorp 0 1 type-of 10 time-convert integer 1000 format "Newer than %s seconds" "Older than %s seconds" 86400 "Last 24 hours" "Older than 24 hours"] 14 "\n\n(fn ITEM &key NAME NEWER-THAN OLDER-THAN)"] (map-not-inplace) latest ement-room-list-key-freshness #[385 "\301\302\"\206 \303A@\211\203@ \211@\304>\203) \211A\204! \305\306@\"\210\211AA\262\202 \307>A@\2037 \310\262\202 \305\311@\"\210\202 \210\312!\210G\313H\314H\310\315!>\210\316H\310\205r \317\310\320\"\321\245Z\262\322\310\211\323%\206r \324\207" [cl-struct-ement-room-tags plist-member :intervals (nil ((86400 . "Past 24h") (604800 . "Past week") (2419200 . "Past month") (31536000 . "Past year"))) (:intervals . #1#) error #2# :allow-other-keys nil "Keyword argument %s not one of (:intervals)" vectorp 0 1 type-of 10 time-convert integer 1000 alist-get > "Older than a year"] 15 "\n\n(fn ITEM &key (INTERVALS \\='((86400 . \"Past 24h\") (604800 . \"Past week\") (2419200 . \"Past month\") (31536000 . \"Past year\"))))"] (map-not-inplace) freshness ement-room-list-key-session #[513 "\302!\210G\303H\304H\305!>\210\211\304H\305!	>\210\211\304H\306\204& \207\232\205/ \207" [cl-struct-ement-session-tags cl-struct-ement-user-tags vectorp 0 1 type-of nil] 10 "\n\n(fn ITEM &optional USER-ID)"] (map-not-inplace) session] 7)
(byte-code "\301\302M\210\3031 \304\305\301\306$0\210\202 \210\307\305\301#\310\311M\210\3121- \304\313\310\306$0\210\2024 \210\307\313\310#\314\315M\210\3161G \304\317\314\306$0\210\202N \210\307\317\314#\320\321M\210\3221a \304\323\320\306$0\210\202h \210\307\323\320#\324\325\326\327\330DD\331\332\333%\210\334\335\324\336\326\327\337DD\340\332\341%\210\324\342\326\327\343DD\344\332\341%\210\345\334\306\346#\210\345\335\306\347#\210\350\351\352\353\354#B\"\210\355\351\356\357#\266\207" [ement-room-list-keys ement-room-list-key-topic #[385 "\301\302\"A@\301\303\"A@\211\203B \211@\304>\203+ \211A\204# \305\306@\"\210\211AA\262\202 \307>A@\2039 \310\262\202 \305\311@\"\210\202 \210\312!\210G\313H\314!>\210\211\315H\316H\310\205n \310\317\320$\266\203\205n \207" [cl-struct-ement-room-tags plist-member :name :regexp (:name :regexp :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:name :regexp)" vectorp 0 type-of 11 1 string-match t] 17 "\n\n(fn ITEM &key NAME REGEXP)"] (map-not-inplace) map-put! topic nil map-insert ement-room-list-key-unread #[257 "\300!\210\211G\301H\302H\303\"\205 \304\207" [vectorp 0 1 ement--room-unread-p "Unread"] 7 "\n\n(fn ITEM)"] (map-not-inplace) unread ement-room-list-key-favourite #[257 "\300!\210\211G\301H\302H\303\304!\205 \305\306\307\310\311\310%\207" [vectorp 0 1 nil ement--room-favourite-p propertize "Favourite" face ement-room-list-favourite font-lock-face] 11 "\n\n(fn ITEM)"] (map-not-inplace) favourite ement-room-list-key-low-priority #[257 "\300!\210\211G\301H\302H\303\304!\205 \305\207" [vectorp 0 1 nil ement--room-low-priority-p "Low-priority"] 7 "\n\n(fn ITEM)"] (map-not-inplace) low-priority custom-declare-variable ement-room-list-default-keys funcall function #[0 "\300\207" [(((membership :status 'invite)) ((membership :status 'leave)) (favourite) (buffer) (unread) (low-priority space) ((and :name "Spaced" :keys ((not space-p) (not people) space)) freshness space) ((and :name "Spaces" :keys (space-p)) space) ((and :name "Unspaced" :keys ((not space) (not people))) freshness) (people freshness space))] 1 #1=""] "Default keys." :type sexp ement-room-list-columns ement-room-list-column-formatters ement-room-list-level-indent #[0 "\300\207" [2] 1 #1#] "Indentation applied to each level of depth for `ement-room-list' columns." integer ement-room-list-item-indent #[0 "\300\207" [2] 1 #1#] "Indentation applied to each item for `ement-room-list' columns." defvar-1 "Columns defined by `ement-room-list-define-column'." "Column formatters defined by the macro:\n`ement-room-list-define-column'." defalias ement-room-list-define-column macro make-closure #[642 ";\204 \302\303\304\305E\"\210\306\307\227P!\310!\210\311\312\"\311\313\"\306\314\315Q!\316\317\"\320\321\313\"\205= \322\323BBBB\324\325\326\304\320BDC\320\n\205c \327\n\330\331\332\333\304\334BBBDD\335BBE\f\205\202 \f9\204w \302\303\336\337E\"\210\340\304\341\304\342\343DFE\327\344\345\346DE\330\347\350\351\352\353\354E\355E\356BBDC\357BBE\360BBBB\361BBBF\340\362\363\362\300\364BBBE\365\nDE\340\362\366\362\300\367BBBE\370\371\"E\372\373\374\343\301D\375BBE\340\374\343\301D\376BB\377\374\343\301D\201@ BB\201A DEEE\201B \374\343\301D\201C BB\201D BBB\257\207" [V0 V1 signal wrong-type-argument string name intern "ement-room-list-column-format-" mapp map-elt :face :max-width "ement-room-list-column-" "-max-width" format "Maximum width of the %s column." progn plist-member defcustom (:type '(choice (integer :tag "Maximum width") (const :tag "Unlimited width" nil))) defun (item depth) if-let when let (old-string string) new-string truncate-string-to-width (nil nil t) ((unless (equal old-string new-string) (put-text-property 0 (length new-string) 'help-echo old-string new-string) (setf string new-string))) ":face must be a face symbol" face setf propertize 'face quote equal car ement-room-list-columns indentation make-string + * depth ement-room-list-level-indent ement-room-list-item-indent (32) ((setf string (concat indentation string))) (string) (#1#) alist-get 'formatter (nil nil #'equal) function 'align (nil nil #'equal) plist-get :align unless member get ('standard-value) ('standard-value) append ('standard-value) list cl-pushnew ('custom-type) (:test #'equal)] 27 "Define a column formatting function with NAME.\nNAME should be a string.  BODY should return a string or nil.  In\nthe BODY, `item' is bound to the item being formatted, and `depth' is\nbound to the item's depth in the hierarchy.\n\nPLIST may be a plist setting the following options:\n\n  `:align' may be `left' or `right' to align the column\n  accordingly.\n\n  `:face' is a face applied to the string.\n\n  `:max-width' defines a customization option for the column's\n  maximum width with the specified value as its default: an\n  integer limits the width, while nil does not.\n\n(fn NAME PLIST &rest BODY)"] function-put lisp-indent-function defun] 9)#@19 

(fn ITEM DEPTH)
(defalias 'ement-room-list-column-format-🐱 #[514 "\306!\210G\307H\310H\311\312!>\210\313H\314H\315H\316!\210\317\320\"	\203\266 \211\206\267 \203B \321\322\323\324\325\307\323\n#\311\326 ##\202| \n\203{ \206N \327!\310\330\331\332#\333\334\"\203b \310\311O\262\321\322\323\335\307\310O\311\336\337\332\340\307&#)\266\202\202| \322\312!>\204\215 \341\342\343\nD\"\210\320\315H\236\211\203\236 \211\241\210\202\256 \315\320B\211\262\315HBI\210\262\262\202\267 \322\262\266\203\262\266\202\262\211\203\333 \f@\344\232\203\332 \345_(\\\346\"\211P\266\202\207\347\207" [cl-struct-ement-room-tags ement-room-list-avatars ement-room-list-avatar-generation ement-room-prism-minimum-contrast ement-room-list-columns ement-room-list-level-indent vectorp 0 1 nil type-of 13 2 18 mapp map-elt room-list-avatar propertize " " display ement--resize-image get-text-property frame-char-height ement--room-display-name ement--prism-color :contrast-with "white" string-match "\\`[!#@]" svg-lib-tag :background :foreground :stroke signal wrong-type-argument ement-room #("🐱" 0 1 (help-echo "Avatar")) make-string 32 "" ement-room-list-item-indent] 24 (#$ . 20718)])
(byte-code "\301\302\303#\304A\236\211\203 \211\305\241\266\2025 \304\305B\211\262AB\203* \241\266\2025 \302B\211\262B\266\301\302\303#\306A\236\211\203J \211\307\241\266\202j \306\307B\211\262AB\203_ \241\266\202j \302B\211\262B\266\302\310\311N\235\204~ \312\310\311\313\310\311N\302C\"#\210\312\310\314\310\314N\302\235\203\216 \211\202\221 \302B\262#\210\315\316\317\320\321DD\322\323\324%\207" [ement-room-list-column-formatters assoc #("🐱" 0 1 (help-echo "Avatar")) equal formatter ement-room-list-column-format-🐱 align right ement-room-list-columns standard-value put append custom-type custom-declare-variable ement-room-list-column-Name-max-width funcall function #[0 "\300\207" [25] 1 ""] "Maximum width of the Name column." :type (choice (integer :tag "Maximum width") (const :tag "Unlimited width" nil))] 6)#@19 

(fn ITEM DEPTH)
(defalias 'ement-room-list-column-format-name #[514 "\306!\210G\307H\310H\311!>\210\312H\313!\314\203L\315\316!\262\317\"\203H \320\321\322\314#B\3231@ \324\322\314$0\266\202H \210\325\322#\266\202\326\232\203m \327\321\322\314#B\3301e \324\322\314$0\266\202m \210\325\322#\266\202\331\"\203\223 \332\321\322\314#B\3331\213 \324\322\314$0\266\202\223 \210\325\322#\266\202\334!\203\270 \335\321\322\314#B\3361\260 \324\322\314$0\266\202\270 \210\325\322#\266\202\337!\203\335 \340\321\322\314#B\3411\325 \324\322\314$0\266\202\335 \210\325\322#\266\202\311!>\204\355 \342\343\344D\"\210\345H\211\346\267\210\202<\347\321\322\314#B\3501\324\322\314$0\266\202<\210\325\322#\266\203\202<\351\321\322\314#B\35210\324\322\314$0\266\202<\210\325\322#\266\203\202<\210\353\354\355\356\357	\360	&	\206M\361\266\202\262\266\202\262\211\203\217\n\203z\211\362\n\314\211\363%\232\204x\364\307G\365%\210\211\262\266@\366\232\203\216\367\f_\\\370\"\211P\266\202\207\361\207" [cl-struct-ement-room-tags ement-room-list-button-map ement-room-list-column-Name-max-width ement-room-list-columns ement-room-list-level-indent ement-room-list-item-indent vectorp 0 1 type-of 15 ement--room-display-name nil cl-copy-list (:inherit (ement-room-list-name)) ement--room-unread-p ement-room-list-unread map-elt :inherit (map-not-inplace) map-put! map-insert "m.space" ement-room-list-space (map-not-inplace) ement--room-direct-p ement-room-list-direct (map-not-inplace) ement--room-favourite-p ement-room-list-favourite (map-not-inplace) ement--room-low-priority-p ement-room-list-low-priority (map-not-inplace) signal wrong-type-argument ement-room 14 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (invite 247 leave 281)) ement-room-list-invited (map-not-inplace) ement-room-list-left (map-not-inplace) propertize face mouse-face highlight keymap font-lock-face "" truncate-string-to-width t put-text-property help-echo "Name" make-string 32] 18 (#$ . 22800)])
(byte-code "\301\302\303#\304A\236\211\203 \211\305\241\266\2025 \304\305B\211\262AB\203* \241\266\2025 \302B\211\262B\266\301\302\303#\306A\236\211\203J \211\307\241\266\202i \306C\211\262AB\203^ \241\266\202i \302B\211\262B\266\302\310\311N\235\204} \312\310\311\313\310\311N\302C\"#\210\312\310\314\310\314N\302\235\203\215 \211\202\220 \302B\262#\207" [ement-room-list-column-formatters assoc "Name" equal formatter ement-room-list-column-format-name align nil ement-room-list-columns standard-value put append custom-type] 6)#@19 

(fn ITEM DEPTH)
(defalias 'ement-room-list-column-format-unread #[514 "\304!\210G\305H\306!>\210\211\307H\310H\311\312!\210\313\314\"\313\315\"\2032 \305=\2038 \211\305=\2038 \266\316\202[ \211\305U\203B \317\202C \320\321\322!\323\324%\262\325\321\322!\324\326\323\326%Q\266\202\262\266\202\262\262\211\203| 	@\327\232\203{ \330\n_\\\331\"\211P\266\202\207\316\207" [cl-struct-ement-room-tags ement-room-list-columns ement-room-list-level-indent ement-room-list-item-indent vectorp 0 type-of 9 1 nil mapp map-elt notification_count highlight_count "" default ement-room-mention propertize number-to-string font-lock-face face ":" highlight #("Unread" 0 6 (help-echo "Unread events (Notifications:Highlights)")) make-string 32] 17 (#$ . 25458)])
(byte-code "\301\302\303#\304A\236\211\203 \211\305\241\266\2025 \304\305B\211\262AB\203* \241\266\2025 \302B\211\262B\266\301\302\303#\306A\236\211\203J \211\307\241\266\202j \306\307B\211\262AB\203_ \241\266\202j \302B\211\262B\266\302\310\311N\235\204~ \312\310\311\313\310\311N\302C\"#\210\312\310\314\310\314N\302\235\203\216 \211\202\221 \302B\262#\207" [ement-room-list-column-formatters assoc #("Unread" 0 6 (help-echo "Unread events (Notifications:Highlights)")) equal formatter ement-room-list-column-format-unread align right ement-room-list-columns standard-value put append custom-type] 6)#@19 

(fn ITEM DEPTH)
(defalias 'ement-room-list-column-format-latest #[514 "\305!\210G\306H\307!>\210\211\310H\311H\312\203\203 \313 \314\245Z\211\247\2039 \211\306Y\2039 \211\315X\2039 \316\317\245!\202b \211\247\203T \211\320Y\203T \211\321X\203T \322\316\320\245!\\\202b 	G\323\245\324\316\325\321\326#!\\^\327	\234D\330\331\"\332\333\"\210\334\335\306\"\336\337\340&\266\204\202\204 \341\262\266\202\262\262\211\203\245 \n@\342\232\203\244 \343_\f\\\344\"\211P\266\202\207\341\207" [cl-struct-ement-room-tags ement-room-list-timestamp-colors ement-room-list-columns ement-room-list-level-indent ement-room-list-item-indent vectorp 0 type-of 10 1 nil float-time 1000 3599 truncate 600 3600 86400 6 2 24 / 7 :foreground ement--human-format-duration abbreviate string-match "[[:digit:]]+[[:alpha:]]\\{1\\}" propertize match-string face help-echo font-lock-face "" "Latest" make-string 32] 19 (#$ . 26869)])
(byte-code "\301\302\303#\304A\236\211\203 \211\305\241\266\2025 \304\305B\211\262AB\203* \241\266\2025 \302B\211\262B\266\301\302\303#\306A\236\211\203J \211\307\241\266\202i \306C\211\262AB\203^ \241\266\202i \302B\211\262B\266\302\310\311N\235\204} \312\310\311\313\310\311N\302C\"#\210\312\310\314\310\314N\302\235\203\215 \211\202\220 \302B\262#\210\315\316\317\320\321DD\322\323\324%\207" [ement-room-list-column-formatters assoc "Latest" equal formatter ement-room-list-column-format-latest align nil ement-room-list-columns standard-value put append custom-type custom-declare-variable ement-room-list-column-Topic-max-width funcall function #[0 "\300\207" [35] 1 ""] "Maximum width of the Topic column." :type (choice (integer :tag "Maximum width") (const :tag "Unlimited width" nil))] 6)#@19 

(fn ITEM DEPTH)
(defalias 'ement-room-list-column-format-topic #[514 "\305!\210G\306H\307!>\210\211\310H\311H\312H\313\203( \314\315\316\317\320%\262\321\267\202L \322\323\324\325\326\325%\316Q\266\205\202S \322\327\324\330\326\330%\316Q\266\205\202S \206Q \331\266\205\262\262\211\203\221 	\203| \211\332	\313\211\333%\232\204z \334\306G\335%\210\211\262\266\n@\336\232\203\220 \337_\f\\\340\"\211P\266\202\207\331\207" [cl-struct-ement-room-tags ement-room-list-column-Topic-max-width ement-room-list-columns ement-room-list-level-indent ement-room-list-item-indent vectorp 0 type-of 11 14 1 nil replace-regexp-in-string "\n" " " fixedcase literal #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (invite 46 leave 61)) propertize "[invited]" face ement-room-list-invited font-lock-face "[left]" ement-room-list-left "" truncate-string-to-width t put-text-property help-echo "Topic" make-string 32] 15 (#$ . 28635)])
(byte-code "\301\302\303#\304A\236\211\203 \211\305\241\266\2025 \304\305B\211\262AB\203* \241\266\2025 \302B\211\262B\266\301\302\303#\306A\236\211\203J \211\307\241\266\202i \306C\211\262AB\203^ \241\266\202i \302B\211\262B\266\302\310\311N\235\204} \312\310\311\313\310\311N\302C\"#\210\312\310\314\310\314N\302\235\203\215 \211\202\220 \302B\262#\207" [ement-room-list-column-formatters assoc "Topic" equal formatter ement-room-list-column-format-topic align nil ement-room-list-columns standard-value put append custom-type] 6)#@19 

(fn ITEM DEPTH)
(defalias 'ement-room-list-column-format-members #[514 "\304!\210G\305H\306!>\210\211\307H\310!\210\311\312\"\313H\314\203( \315!\202) \316\262\266\202\262\262\262\211\203L 	@\317\232\203K \320\n_\\\321\"\211P\266\202\207\316\207" [cl-struct-ement-room-tags ement-room-list-columns ement-room-list-level-indent ement-room-list-item-indent vectorp 0 type-of 4 mapp map-elt m.joined_member_count 1 nil number-to-string "" "Members" make-string 32] 10 (#$ . 30191)])
(byte-code "\301\302\303#\304A\236\211\203 \211\305\241\266\2025 \304\305B\211\262AB\203* \241\266\2025 \302B\211\262B\266\301\302\303#\306A\236\211\203J \211\307\241\266\202j \306\307B\211\262AB\203_ \241\266\202j \302B\211\262B\266\302\310\311N\235\204~ \312\310\311\313\310\311N\302C\"#\210\312\310\314\310\314N\302\235\203\216 \211\202\221 \302B\262#\207" [ement-room-list-column-formatters assoc "Members" equal formatter ement-room-list-column-format-members align right ement-room-list-columns standard-value put append custom-type] 6)#@19 

(fn ITEM DEPTH)
(defalias 'ement-room-list-column-format-notifications #[514 "\303!\210G\304H\305H\306\"\211\307\267\202* \310\202+ \311\202+ \312\202+ \313\202+ \314\202+ \315\262\266\202\262\211\203J @\316\232\203I \317	_\n\\\320\"\211P\266\202\207\321\207" [ement-room-list-columns ement-room-list-level-indent ement-room-list-item-indent vectorp 0 1 ement-room-notification-state #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 22 all-loud 26 all 30 mentions-and-keywords 34 none 38)) "default" "all (loud)" "all" "mentions" "none" nil #("Notifications" 0 5 (help-echo "Notification state")) make-string 32 ""] 8 (#$ . 31270)])
(byte-code "\301\302\303#\304A\236\211\203 \211\305\241\266\2025 \304\305B\211\262AB\203* \241\266\2025 \302B\211\262B\266\301\302\303#\306A\236\211\203J \211\307\241\266\202i \306C\211\262AB\203^ \241\266\202i \302B\211\262B\266\302\310\311N\235\204} \312\310\311\313\310\311N\302C\"#\210\312\310\314\310\314N\302\235\203\215 \211\202\220 \302B\262#\207" [ement-room-list-column-formatters assoc #("Notifications" 0 5 (help-echo "Notification state")) equal formatter ement-room-list-column-format-notifications align nil ement-room-list-columns standard-value put append custom-type] 6)#@19 

(fn ITEM DEPTH)
(defalias 'ement-room-list-column-format-b #[514 "\304!\210G\305H\306!>\210\211\307H\310!\210\311\312\"\313H\314\203& \315\202' \316\262\266\202\262\262\262\211\203J 	@\315\232\203I \317\n_\\\320\"\211P\266\202\207\321\207" [cl-struct-ement-room-tags ement-room-list-columns ement-room-list-level-indent ement-room-list-item-indent vectorp 0 type-of 18 mapp map-elt buffer 1 nil #("B" 0 1 (help-echo "Buffer exists for room")) " " make-string 32 ""] 9 (#$ . 32583)])
(byte-code "\301\302\303#\304A\236\211\203 \211\305\241\266\2025 \304\305B\211\262AB\203* \241\266\2025 \302B\211\262B\266\301\302\303#\306A\236\211\203J \211\307\241\266\202i \306C\211\262AB\203^ \241\266\202i \302B\211\262B\266\302\310\311N\235\204} \312\310\311\313\310\311N\302C\"#\210\312\310\314\310\314N\302\235\203\215 \211\202\220 \302B\262#\207" [ement-room-list-column-formatters assoc #("B" 0 1 (help-echo "Buffer exists for room")) equal formatter ement-room-list-column-format-b align nil ement-room-list-columns standard-value put append custom-type] 6)#@19 

(fn ITEM DEPTH)
(defalias 'ement-room-list-column-format-session #[514 "\305!\210G\306H\307H\310!>\210\211\307H\310!	>\210\211\307H\311\262\262\262\266\202\262\211\203C \n@\312\232\203B \313_\f\\\314\"\211P\266\202\207\315\207" [cl-struct-ement-session-tags cl-struct-ement-user-tags ement-room-list-columns ement-room-list-level-indent ement-room-list-item-indent vectorp 0 1 type-of nil "Session" make-string 32 ""] 9 (#$ . 33690)])
(byte-code "\302\303\304#\305A\236\211\203 \211\306\241\266\2025 \305\306B\211\262AB\203* \241\266\2025 \303B\211\262B\266\302\303\304#\307A\236\211\203J \211\310\241\266\202i \307C\211\262AB\203^ \241\266\202i \303B\211\262B\266\303\301\311N\235\204} \312\301\311\313\301\311N\303C\"#\210\312\301\314\301\314N\303\235\203\215 \211\202\220 \303B\262#\210	\204\237 \315\301\211\311N\"\210\316\317!\207" [ement-room-list-column-formatters ement-room-list-columns assoc "Session" equal formatter ement-room-list-column-format-session align nil standard-value put append custom-type set-default require bookmark] 6)#@60 Return a bookmark record for the `ement-room-list' buffer.
(defalias 'ement-room-list-bookmark-make-record #[0 "\300\301\302BD\207" ["*Ement Room List*" handler ement-room-list-bookmark-handler] 3 (#$ . 34791)])#@70 Show `ement-room-list' room list buffer for BOOKMARK.

(fn BOOKMARK)
(defalias 'ement-room-list-bookmark-handler #[257 "\211\242\301\204 \302\303!\210\304 \207" [ement-sessions nil user-error "No sessions connected: call `ement-connect' first" ement-room-list] 5 (#$ . 35008)])#@30 Toggle the section at point.
(defalias 'ement-room-list-section-toggle #[0 "\3011! \302\303 \304\"\305H\306!>\203 \307\202 \310\311!\210\312 \2620\207\210\307\207" [cl-struct-ement-room-tags (error) eieio-oref magit-current-section value 0 type-of nil call-interactively magit-section-toggle revert-buffer] 3 (#$ . 35293) nil])#@115 Call `ement-room-list', ignoring arguments.
To be called from `ement-after-initial-sync-hook'.

(fn &rest IGNORE)
(defalias 'ement-room-list--after-initial-sync #[128 "\300 \207" [ement-room-list] 2 (#$ . 35632)])
(defalias 'ement-list-rooms 'ement-room-list)#@408 Show a buffer listing Ement rooms, grouped with Taxy KEYS.
After showing it, its window is selected.  The buffer is named
BUFFER-NAME and is shown with DISPLAY-BUFFER-ACTION; or if
DISPLAY-BUFFER-ACTION is nil, the buffer is not displayed.

(fn &key (BUFFER-NAME "*Ement Room List*") (KEYS ement-room-list-default-keys) (DISPLAY-BUFFER-ACTION \='((display-buffer-reuse-window display-buffer-same-window))))
(defalias 'ement-room-list #[128 "\306\307\"\206 \310A@\306\311\"\206 \312DA@\306\313\"\206 \314A@\211\203V \211@\315>\203? \211A\2047 \316\317@\"\210\211AA\262\202! \320>A@\203M \312\262\202! \316\321@\"\210\202! \210\322\211\312C\312\323\324\"\325\326\327\312\211C\312C\312C\312\211\211C\312C\312\211\211C	\323\330\f#\240\210\331\240\210\332\240\210\333\262\323\334\"\262\335\240\210\323\336#\240\210\337\262\340\262\211\323\341#\240\210	\204\270 \316\342!\210	\312\211\211\211:\203\362 @\262\211A\262\242\262\343!\n>\204\336 \344\345\346D\"\210\347H\211\262?\211\262\203\362 A\262\202\275 \266\204\204\373 \350\351!\207r\352!q\210\353=\204\353 \210	\312\211\211:\203_@\262\211A\262\242\262\354\343!\n>\2041\344\345\346D\"\210\347H\312\211:\203O@\262\355\"B\262A\262\2026\211\237\266\203!\244\262A\262\202\211\237\266\204\356\323\357\"\356\360\356	\323\361\"\356\323\362\"\356\323\363\"\356\323\364 \"\356\365\356\366\242\356\367\370\371)\371\")\242\371%0\371'-\371+1\242\371.1\242\371\366=\37213\242\373\374\375\376L\f\"$\"################\312\377@\201F AB#`\201G  \205\375\201H \201G  !@\240\210A\262\201I B\"C\201J p!\211\203(\201K !\262\201L !\262\210D\2032DE\201M \201N \201O \312\201P $\210\201Q  \210\201R  \210\212\201S \201T \201U \201V \322\201W \201X &)\210\211\205m\201Y !\211\203\201Z \201[ \"b\266\202\203b\266+\266\203\236\201\\ \"\211\203\235\201] !\210\210\201J !\211\203\270\201^ \"\210\201_ \"\210\210q\207" [ement-room-list-default-keys ement-sessions cl-struct-ement-session-tags major-mode ement-room-list-keys taxy-magit-section-insert-indent-items plist-member :buffer-name (nil "*Ement Room List*") :keys nil :display-buffer-action (nil ((display-buffer-reuse-window display-buffer-same-window))) (:buffer-name :keys :display-buffer-action :allow-other-keys) error "Missing argument for %s" :allow-other-keys "Keyword argument %s not one of (:buffer-name :keys :display-buffer-action)" 0 make-closure #[257 "\301\300\242\"\207" [V0 gethash] 4 "\n\n(fn ITEM)"] #[257 "\301\302\234!>\204 \303\304\305\302\234D\"\210\211\302\234\306H\206 \302\207" [cl-struct-ement-room-tags type-of 0 signal wrong-type-argument ement-room 10] 6 "\n\n(fn ITEM)"] #[257 "\300!\210\211G\301H\302H\303\"\207" [vectorp 0 1 ement--room-unread-p] 7 "\n\n(fn ITEM)"] #[257 "\301!\210\211G\302H\303!>\210\211\304H\305H\306\307=\207" [cl-struct-ement-room-tags vectorp 0 type-of 14 1 nil leave] 8 "\n\n(fn ITEM)"] #[257 "\303\301\304!\n>\204 \305\306\307D\"\210\310H\"\206. \303\300\242\304!\n>\204* \305\306\307D\"\210\311H\"\207" [V0 V1 cl-struct-taxy-tags cl-some type-of signal wrong-type-argument taxy 4 5] 7 "\n\n(fn TAXY)"] #[257 "\301!\210\211G\302H\303!>\210\211\304H\305H\306\307\232\207" [cl-struct-ement-room-tags vectorp 0 type-of 15 1 nil "m.space"] 8 "\n\n(fn ITEM)"] #[257 "\300!\210\211G\301H\302H\303\304!\207" [vectorp 0 1 nil ement--room-favourite-p] 7 "\n\n(fn ITEM)"] #[257 "\300!\210\211G\301H\302H\303\304!\207" [vectorp 0 1 nil ement--room-low-priority-p] 7 "\n\n(fn ITEM)"] #[257 "\303\304\"\305!	>\203 \300!\202 \305!\n>\203  \306\203  \307\207\310\207" [V0 cl-struct-taxy-magit-section-tags cl-struct-ement-room-tags eieio-oref value type-of nil show hide] 4 "\n\n(fn SECTION)"] #[257 "\301!\210\211G\302H\303!>\210\211\304H\305H\306\307=\207" [cl-struct-ement-room-tags vectorp 0 type-of 14 1 nil invite] 8 "\n\n(fn ITEM)"] #[257 "\304\305\n\306\307\310!>\204 \311\312\313D\"\210\314H\2054 \301\310!>\204. \311\312\313	D\"\210\314H@!\310!>\204E \311\312\313	D\"\210\315H\205\210 \310!>\204] \311\312\313	D\"\210\315H\307\211:\203\206 @\262\300\242!\203| ]\266\202\202 \211\266\202A\262\202c \266\202D\"#\207" [V0 V1 most-negative-fixnum cl-struct-taxy-tags apply max delq nil type-of signal wrong-type-argument taxy 4 5] 13 "\n\n(fn TAXY)"] #[514 "\205 \211?\207" #1=[] 3 "\n\n(fn A B)"] #[514 "?\205 \211\207" #1# 3 "\n\n(fn A B)"] #[128 "\303\304\305\300\242\306\301\307\n\310\311\n&\n\207" [V0 V1 ement-room-list-level-indent apply make-taxy-magit-section :make :format-fn :level-indent :item-indent 2] 12 "\n\n(fn &rest ARGS)"] "Ement: Not connected.  Use `ement-connect' to connect" type-of signal wrong-type-argument ement-session 5 ement-message "No rooms have been joined" get-buffer-create ement-room-list-mode reverse vector taxy-sort* #[257 "\302!	>\204 \303\304\305D\"\210\211\306H\205* \300\302!	>\204% \303\304\305D\"\210\306H@!\207" [V0 cl-struct-taxy-tags type-of signal wrong-type-argument taxy 4] 6 "\n\n(fn TAXY)"] #[257 "\301!>\204 \302\303\304D\"\210\211\305H\306\232\207" [cl-struct-taxy-tags type-of signal wrong-type-argument taxy 1 "Low-priority"] 5 "\n\n(fn TAXY)"] #[257 "\302!	>\204 \303\304\305D\"\210\211\306H\205+ \300\242\302!	>\204& \303\304\305D\"\210\306H@!\207" [V0 cl-struct-taxy-tags type-of signal wrong-type-argument taxy 4] 6 "\n\n(fn TAXY)"] #[257 "\302!	>\204 \303\304\305D\"\210\211\306H\205+ \300\242\302!	>\204& \303\304\305D\"\210\306H@!\207" [V0 cl-struct-taxy-tags type-of signal wrong-type-argument taxy 4] 6 "\n\n(fn TAXY)"] #[257 "\302!	>\204 \303\304\305D\"\210\211\306H\205+ \300\242\302!	>\204& \303\304\305D\"\210\306H@!\207" [V0 cl-struct-taxy-tags type-of signal wrong-type-argument taxy 4] 6 "\n\n(fn TAXY)"] #[257 "\302!	>\204 \303\304\305D\"\210\211\306H\205* \300\302!	>\204% \303\304\305D\"\210\306H@!\207" [V0 cl-struct-taxy-tags type-of signal wrong-type-argument taxy 4] 6 "\n\n(fn TAXY)"] #[257 "\301!>\204 \302\303\304D\"\210\211\305H\306\232\207" [cl-struct-taxy-tags type-of signal wrong-type-argument taxy 1 "Buffers"] 5 "\n\n(fn TAXY)"] > string< taxy-name taxy-sort taxy-fill :name "Ement Rooms" :take taxy-make-take-function t inhibit-read-only ement-room-list-columns ement-room-list-column-formatters header-line-format ement-room-list-visibility-cache magit-section-visibility-cache taxy-magit-section-format-items magit-current-section magit-section-ident taxy-magit-section-format-header get-buffer-window window-point window-start add-hook kill-buffer-hook ement-room-list--cache-visibility local delete-all-overlays erase-buffer taxy-magit-section-insert :items first :initial-depth :section-class ement-room-list-section magit-get-section eieio-oref start display-buffer select-window set-window-start set-window-point] 81 (#$ . 35898) nil])#@134 Show room list in side window on SIDE.
Interactively, with prefix, show on right side; otherwise, on
left.

(fn &key (SIDE \='left))
(defalias 'ement-room-list-side-window #[128 "\301\302\"\206 \303A@\211\203@ \211@\304>\203) \211A\204! \305\306@\"\210\211AA\262\202 \307>A@\2037 \310\262\202 \305\311@\"\210\202 \210\312\313\314\315\316\317B\320BBB\")\207" [display-buffer-mark-dedicated plist-member :side (nil left) (:side :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:side)" t ement-room-list :display-buffer-action display-buffer-in-side-window (dedicated . t) side ((window-parameters (no-delete-other-windows . t)))] 8 (#$ . 42872) (byte-code "\205 \301\302D\207" [current-prefix-arg :side right] 2)])#@78 Revert current Ement-Room-List buffer.

(fn &optional IGNORE-AUTO NOCONFIRM)
(defalias 'ement-room-list-revert #[512 "r\302q\210)\303\304\305\"\207" [magit-section-visibility-cache ement-room-list-visibility-cache "*Ement Room List*" ement-room-list :display-buffer-action nil] 5 (#$ . 43662) nil])#@32 Kill ROOM's buffer.

(fn ROOM)
(defalias 'ement-room-list-kill-buffer #[257 "\302\303!	>\210\211\304H\305!\210\306\307\"\310!\205 \311!\210\312 )\207" [kill-buffer-query-functions cl-struct-ement-room-tags nil type-of 18 mapp map-elt buffer buffer-live-p kill-buffer ement-room-list-revert] 5 (#$ . 43968) (byte-code "\304=\203 \305\306 \307\"\202 \310\311!\210\211G\312H\313H\206  	\211\206& \n\204/ 	\204A \314\315\316\"\211\242\243\211\242\243\266\n\210	*C\207" [major-mode ement-room ement-session current-prefix-arg ement-room-list-mode eieio-oref magit-current-section value [nil nil] vectorp 0 1 ement-complete-room :suggest t] 10)])#@48 View room at point, or cycle section at point.
(defalias 'ement-room-list-RET #[0 "\301\302 \303\"\304!\203, \301\302 \303\"\304!\210\211G\305H\306H\307!\203' \310\"\207\311\"\207\312!>\2038 \313\314!\207\211\204> \315\207\316\317\320#\205G \315\207" [cl-struct-taxy-magit-section-tags eieio-oref magit-current-section value vectorp 0 1 ement--space-p ement-view-space ement-view-room type-of call-interactively ement-room-list-section-toggle nil error "cl-etypecase failed: %s, %s" (vector taxy-magit-section null)] 8 (#$ . 44638) nil])#@24 Show next unread room.
(defalias 'ement-room-list-next-unread #[0 "m\203 eb\210\3002S \301 \302\211\303\304 \305\"\262\306!\203; \307\310\234\311\234\"\203; \312\310\234\311\234\"\210\313 \210\314\300\315\"\210\202> \311y\210m\204O \301 V\203O \302\262\202 \266\3020?\205Z \316\317!\207" [--cl-block-nil-- line-number-at-pos nil eieio-oref magit-current-section value vectorp ement--room-unread-p 0 1 ement-view-room ement-room-goto-fully-read-marker throw t message "No more unread rooms"] 7 (#$ . 45193) nil])
(defvar ement-room-list-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [ement-room-list-mode-hook variable-documentation put "Hook run after entering Ement-Room-List mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp ement-room-list-mode-map definition-name ement-room-list-mode] 4)
(defvar ement-room-list-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\303\311\320\321#\207" [ement-room-list-mode-abbrev-table ement-room-list-mode-map variable-documentation put purecopy "Keymap for `ement-room-list-mode'." boundp ement-room-list-mode-syntax-table definition-name ement-room-list-mode defvar-1 nil make-syntax-table "Syntax table for `ement-room-list-mode'." define-abbrev-table "Abbrev table for `ement-room-list-mode'." derived-mode-parent magit-section-mode] 5)#@544 Major mode derived from `magit-section-mode' by `define-derived-mode'.
It inherits all of the parent's attributes, but has its own keymap,
abbrev table and syntax table:

  `ement-room-list-mode-map', `ement-room-list-mode-abbrev-table' and
`ement-room-list-mode-syntax-table'

which more-or-less shadow magit-section-mode's corresponding tables.

In addition to any hooks its parent mode might have run, this mode runs the hook
`ement-room-list-mode-hook', as the final or penultimate step during initialization.

\{ement-room-list-mode-map}
(defalias 'ement-room-list-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R !=\204R \326\325!C#\210\327!\210\330\f!\210!\306\331!\210\332\306\333!\210\334\306\335!\210\336 )\337\340!\207" [delay-mode-hooks major-mode mode-name ement-room-list-mode-map ement-room-list-mode-syntax-table ement-room-list-mode-abbrev-table make-local-variable t magit-section-mode ement-room-list-mode "Ement-Room-List" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table bookmark-make-record-function ement-room-list-bookmark-make-record revert-buffer-function ement-room-list-revert ement-room-list-timestamp-colors ement-room-list--timestamp-colors run-mode-hooks ement-room-list-mode-hook local-abbrev-table] 5 (#$ . 46936) nil])#@151 Save visibility cache.
Sets `ement-room-list-visibility-cache' to the value of
`magit-section-visibility-cache'.  To be called in
`kill-buffer-hook'.
(defalias 'ement-room-list--cache-visibility #[0 "\3021 \205 \2110\207\210\303\207" [magit-section-visibility-cache ement-room-list-visibility-cache (error) nil] 2 (#$ . 48512)])#@173 Automatically update the Taxy room list buffer.
+Does so when variable `ement-room-list-auto-update' is non-nil.
+To be called in `ement-sync-callback-hook'.

(fn SESSION)
(defalias 'ement-room-list-auto-update #[257 "\205 \301\302\303!!\205 r\302\303!q\210\304 ?\205 \305 )\207" [ement-room-list-auto-update buffer-live-p get-buffer "*Ement Room List*" region-active-p revert-buffer] 4 (#$ . 48852)])#@124 Return a vector of generated latest-timestamp colors for rooms.
Used in `ement-tabulated-room-list' and `ement-room-list'.
(defalias 'ement-room-list--timestamp-colors #[0 "\300\301\302\301#\303\232\204 \304\301\302\301#\305\232\203 \306\307\303\"\207\310\311\312\313\314\315\300\316\302\301#!\315\300\317\302\301#!\320#\"\312\321\314\315\300\317\302\301#!\315\300\301\302\301#!\322#\"\312\323\314\315\300\301\302\301#!\315\304\301\302\301#!\324#\"#\325\"\207" [face-foreground default nil "unspecified-fg" face-background "unspecified-bg" make-vector 134 cl-coerce append mapcar #[257 "\211\242\243\211\242\243\211\242\243\300\301$\207" [color-rgb-to-hex 2] 12 "\n\n(fn RGB)"] color-gradient color-name-to-rgb ement-room-list-very-recent ement-room-list-recent 6 #[257 "\211\242\243\211\242\243\211\242\243\300\301$\207" [color-rgb-to-hex 2] 12 "\n\n(fn RGB)"] 24 #[257 "\211\242\243\211\242\243\211\242\243\300\301$\207" [color-rgb-to-hex 2] 12 "\n\n(fn RGB)"] 104 vector] 13 (#$ . 49264)])
(provide 'ement-room-list)
