Fixed.
[riece] / lisp / riece-commands.el
index 38a2edb..116d58a 100644 (file)
 
 (defun riece-command-configure-windows ()
   (interactive)
+  "Reconfigure windows with the current layout."
   (riece-redisplay-buffers t))
 
+(defun riece-command-suspend-resume ()
+  (interactive)
+  "Save or restore the current window configuration."
+  (let ((entry (assq 'riece-window-configuration (frame-parameters))))
+    (modify-frame-parameters (selected-frame)
+                            (list (cons 'riece-window-configuration
+                                        (current-window-configuration))))
+    (if (cdr entry)
+       (set-window-configuration (cdr entry))
+      (delete-other-windows))
+    (message
+     (substitute-command-keys
+      "\\[riece-command-suspend-resume] to get back the last windows"))))
+
 (defun riece-command-change-layout (name)
   "Select a layout-name from all current available layouts and change
 the layout to the selected layout-name."
@@ -129,6 +144,13 @@ the layout to the selected layout-name."
        riece-save-variables-are-dirty t)
   (riece-command-configure-windows))
 
+(defun riece-command-toggle-others-buffer-mode ()
+  (interactive)
+  (setq riece-others-buffer-mode
+       (not riece-others-buffer-mode)
+       riece-save-variables-are-dirty t)
+  (riece-command-configure-windows))
+
 (defun riece-command-toggle-user-list-buffer-mode ()
   (interactive)
   (setq riece-user-list-buffer-mode
@@ -172,7 +194,8 @@ the layout to the selected layout-name."
                                0)))))
   (riece-send-string (format "TOPIC %s :%s\r\n"
                             (riece-identity-prefix riece-current-channel)
-                            topic)))
+                            topic)
+                    riece-current-channel))
 
 (defun riece-command-invite (user)
   (interactive
@@ -205,7 +228,8 @@ the layout to the selected layout-name."
               user message)
      (format "KICK %s %s\r\n"
             (riece-identity-prefix riece-current-channel)
-            user))))
+            user))
+   riece-current-channel))
 
 (defun riece-command-names (pattern)
   (interactive
@@ -363,14 +387,16 @@ the layout to the selected layout-name."
        (riece-send-string
         (format "NOTICE %s :%s\r\n"
                 (riece-identity-prefix riece-current-channel)
-                message))
+                message)
+        riece-current-channel)
        (riece-display-message
         (riece-make-message (riece-current-nickname) riece-current-channel
                             message 'notice t)))
     (riece-send-string
      (format "PRIVMSG %s :%s\r\n"
             (riece-identity-prefix riece-current-channel)
-            message))
+            message)
+     riece-current-channel)
     (riece-display-message
      (riece-make-message (riece-current-nickname) riece-current-channel
                         message nil t))))
@@ -409,7 +435,8 @@ the layout to the selected layout-name."
               (riece-line-beginning-position)
               (riece-line-end-position))))
     (riece-send-string
-     (format "PRIVMSG %s :%s\r\n" (riece-identity-prefix user) text))
+     (format "PRIVMSG %s :%s\r\n" (riece-identity-prefix user) text)
+     user)
     (riece-display-message
      (riece-make-message (riece-current-nickname) user text nil t)))
   (let ((next-line-add-newlines t))
@@ -420,13 +447,13 @@ the layout to the selected layout-name."
     (unless process
       (error "%s" (substitute-command-keys
                   "Type \\[riece-command-open-server] to open server.")))
-    (riece-process-send-string process
-                              (if key
-                                  (format "JOIN %s :%s\r\n"
-                                          (riece-identity-prefix target)
-                                          key)
-                                (format "JOIN %s\r\n"
-                                        (riece-identity-prefix target))))))
+    (riece-send-string (if key
+                          (format "JOIN %s :%s\r\n"
+                                  (riece-identity-prefix target)
+                                  key)
+                        (format "JOIN %s\r\n"
+                                (riece-identity-prefix target)))
+                      target)))
 
 (defun riece-command-join-partner (target)
   (let ((pointer (riece-identity-member target riece-current-channels)))
@@ -458,15 +485,15 @@ the layout to the selected layout-name."
 
 (defun riece-command-part-channel (target message)
   (let ((process (riece-server-process (riece-identity-server target))))
-    (riece-process-send-string process
-                              (if message
-                                  (format "PART %s :%s\r\n"
-                                          (riece-identity-prefix target)
-                                          message)
-                                (format "PART %s\r\n"
-                                        (riece-identity-prefix target))))))
-
-(defun riece-command-part (target)
+    (riece-send-string (if message
+                          (format "PART %s :%s\r\n"
+                                  (riece-identity-prefix target)
+                                  message)
+                        (format "PART %s\r\n"
+                                (riece-identity-prefix target)))
+                      target)))
+
+(defun riece-command-part (target &optional message)
   (interactive
    (progn
      (riece-check-channel-commands-are-usable)