* riece-addon.el (riece-resolve-addons): Directory don't push to addon.
[elisp/riece.git] / lisp / riece.el
index 3f25e7a..8b00907 100644 (file)
@@ -58,7 +58,8 @@
     (riece-dialogue-buffer "*Dialogue*" riece-dialogue-mode)
     (riece-others-buffer "*Others*" riece-others-mode)
     (riece-channel-list-buffer "*Channels*" riece-channel-list-mode)
-    (riece-user-list-buffer " *Users*" riece-user-list-mode)))
+    (riece-user-list-buffer " *Users*" riece-user-list-mode)
+    (riece-temp-buffer " *Temp*")))
 
 (defvar riece-shrink-buffer-idle-timer nil
   "Timer object to periodically shrink channel buffers.")
@@ -184,7 +185,8 @@ If optional argument SAFE is nil, overwrite previous definitions."
     "r" riece-command-configure-windows
     "x" riece-command-copy-region
     "t" riece-command-topic
-    "w" riece-command-who)
+    "w" riece-command-who
+    "z" riece-command-suspend-resume)
 
   (riece-define-keys riece-command-mode-map
     "\r" riece-command-enter-message
@@ -275,6 +277,9 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect."
   (run-hooks 'riece-after-load-startup-hook)
   (if (riece-server-opened)
       (riece-command-configure-windows)
+    (modify-frame-parameters (selected-frame)
+                            (list (cons 'riece-window-configuration
+                                        (current-window-configuration))))
     (unless riece-addons-insinuated
       (setq riece-addons (riece-resolve-addons riece-addons))
       (let ((pointer riece-addons))
@@ -300,7 +305,7 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect."
                                    major-mode))
                                 'riece-dialogue-mode)
                             (riece-shrink-buffer (car buffers)))
-                      (deql (car buffers) riece-buffer-list))
+                      (delq (car buffers) riece-buffer-list))
                     (setq buffers (cdr buffers))))))))
     (switch-to-buffer riece-command-buffer)
     (riece-display-connect-signals)
@@ -337,15 +342,15 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect."
     (while (> (buffer-size) riece-max-buffer-size)
       (let* ((inhibit-read-only t)
             buffer-read-only
-            (start (point))
-            (end (progn (beginning-of-line
-                         (1+ riece-buffer-shrink-buffer-remove-lines))
-                        (point)))
-            (overlays (riece-overlays-in start end)))
+            (end (progn
+                   (goto-char riece-shrink-buffer-remove-chars)
+                   (beginning-of-line 2)
+                   (point)))
+            (overlays (riece-overlays-in (point-min) end)))
        (while overlays
          (riece-delete-overlay (car overlays))
          (setq overlays (cdr overlays)))
-       (delete-region start end)))))
+       (delete-region (point-min) end)))))
 
 (defun riece-exit ()
   (if riece-save-variables-are-dirty
@@ -370,6 +375,8 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect."
        riece-operator-indicator "-"
        riece-channel-status-indicator "-"
        riece-freeze-indicator "-")
+  (modify-frame-parameters (selected-frame)
+                          (list (list 'riece-window-configuration)))
   (delete-other-windows)
   (run-hooks 'riece-exit-hook))