riece-update-short-channel-indicator
riece-update-channel-list-indicator))
-(defvar riece-redisplay-buffer nil
- "Non-nil means the buffer needs to be updated.
-Local to the buffers.")
-
(defun riece-update-user-list-buffer ()
(save-excursion
(set-buffer riece-user-list-buffer)
- (when (and riece-redisplay-buffer
- riece-current-channel
+ (when (and riece-current-channel
(riece-channel-p (riece-identity-prefix riece-current-channel)))
(let (users operators speakers)
(with-current-buffer (process-buffer (riece-server-process
(if (member (car users) speakers)
(insert "+" (car users) "\n")
(insert " " (car users) "\n")))
- (setq users (cdr users)))))
- (setq riece-redisplay-buffer nil))))
+ (setq users (cdr users))))))))
(defun riece-update-channel-list-buffer ()
(save-excursion
(set-buffer riece-channel-list-buffer)
- (when riece-redisplay-buffer
- (let ((inhibit-read-only t)
- buffer-read-only
- (index 1)
- (channels riece-current-channels))
- (erase-buffer)
- (while channels
- (if (car channels)
- (let ((point (point)))
- (insert (format "%2d: %s\n" index
+ (let ((inhibit-read-only t)
+ buffer-read-only
+ (index 1)
+ (channels riece-current-channels))
+ (erase-buffer)
+ (while channels
+ (if (car channels)
+ (let ((point (point)))
+ (insert (format "%2d:%c%s\n" index
+ (if (riece-identity-equal
+ (car channels)
+ riece-current-channel)
+ ?*
+ ?\ )
(riece-format-identity (car channels))))
- (put-text-property point (point) 'riece-identity
- (car channels))))
- (setq index (1+ index)
- channels (cdr channels))))
- (setq riece-redisplay-buffer nil))))
+ (put-text-property point (point) 'riece-identity
+ (car channels))))
+ (setq index (1+ index)
+ channels (cdr channels))))))
(defun riece-update-channel-indicator ()
(setq riece-channel-indicator
(defun riece-switch-to-channel (identity)
(setq riece-last-channel riece-current-channel
riece-current-channel identity)
- (with-current-buffer riece-user-list-buffer
- (setq riece-redisplay-buffer t))
(run-hooks 'riece-channel-switch-hook))
(defun riece-join-channel (identity)
(unless (riece-identity-member identity riece-current-channels)
(setq riece-current-channels
- (riece-identity-assign-binding identity riece-current-channels
- riece-default-channel-binding))
- (riece-channel-buffer-create identity)
- (with-current-buffer riece-channel-list-buffer
- (setq riece-redisplay-buffer t))))
+ (riece-identity-assign-binding
+ identity riece-current-channels
+ (mapcar
+ (lambda (channel)
+ (if channel
+ (riece-parse-identity channel)))
+ riece-default-channel-binding)))
+ (riece-channel-buffer-create identity)))
(defun riece-switch-to-nearest-channel (pointer)
(let ((start riece-current-channels)
(if pointer
(setcar pointer nil))
(if (riece-identity-equal identity riece-current-channel)
- (riece-switch-to-nearest-channel pointer))
- (with-current-buffer riece-channel-list-buffer
- (setq riece-redisplay-buffer t))))
+ (riece-switch-to-nearest-channel pointer))))
(defun riece-redisplay-buffers (&optional force)
(riece-update-buffers)