(defvar riece-update-buffer-functions
'(riece-user-list-update-buffer
riece-channel-list-update-buffer
+ riece-update-status-indicators
riece-update-channel-indicator
riece-update-channel-list-indicator))
:group 'riece-looks)
(defun riece-configure-windows ()
- (let ((buffer (current-buffer))
+ (let ((buffer (window-buffer))
(show-user-list
(and riece-user-list-buffer-mode
riece-current-channel
(unless (riece-frozen riece-user-list-buffer)
(set-window-start (get-buffer-window riece-user-list-buffer)
(point-min)))))
- (if (get-buffer-window riece-channel-list-buffer)
+ (if (and riece-channel-list-buffer
+ (get-buffer-window riece-channel-list-buffer))
(with-current-buffer riece-channel-list-buffer
(unless (riece-frozen riece-channel-list-buffer)
(set-window-start (get-buffer-window riece-channel-list-buffer)
(point-min))))))
(defun riece-user-list-update-buffer ()
- (if (get-buffer riece-user-list-buffer)
+ (if (and riece-user-list-buffer
+ (get-buffer riece-user-list-buffer))
(save-excursion
(set-buffer riece-user-list-buffer)
(when (and riece-current-channel
(setq users (cdr users))))))))
(defun riece-channel-list-update-buffer ()
- (if (get-buffer riece-channel-list-buffer)
+ (if (and riece-channel-list-buffer
+ (get-buffer riece-channel-list-buffer))
(save-excursion
(set-buffer riece-channel-list-buffer)
(let ((inhibit-read-only t)
(concat riece-current-channel ": "
(riece-channel-get-topic riece-current-channel))
riece-current-channel))
- "None"))
- (with-current-buffer riece-command-buffer
- (force-mode-line-update)))
+ "None")))
(defun riece-update-channel-list-indicator ()
(if (and riece-current-channels
",")))
(setq riece-channel-list-indicator "No channel")))
+(defun riece-update-status-indicators ()
+ (with-current-buffer riece-command-buffer
+ (riece-with-server-buffer
+ (setq riece-away-indicator
+ (if (and riece-real-nickname
+ (riece-user-get-away riece-real-nickname))
+ "A"
+ "-")
+ riece-operator-indicator
+ (if (and riece-real-nickname
+ (riece-user-get-operator riece-real-nickname))
+ "O"
+ "-")
+ riece-user-indicator riece-real-nickname)))
+ (setq riece-freeze-indicator
+ (with-current-buffer (if (and riece-channel-buffer-mode
+ riece-channel-buffer)
+ riece-channel-buffer
+ riece-dialogue-buffer)
+ (if (eq riece-freeze 'own)
+ "f"
+ (if riece-freeze
+ "F"
+ "-")))))
+
(defun riece-update-buffers ()
(run-hooks 'riece-update-buffer-functions)
(force-mode-line-update t)