diff mcabber/src/commands.c @ 187:4ce9ff808baa

[/trunk] Changeset 199 by mikael * Add the "/buffer" command (/buffer clear, /buffer top, /buffer bottom)
author mikael
date Fri, 06 May 2005 09:35:40 +0000
parents aa5b635520ef
children 24e6bcb589b0
line wrap: on
line diff
--- a/mcabber/src/commands.c	Thu May 05 20:50:50 2005 +0000
+++ b/mcabber/src/commands.c	Fri May 06 09:35:40 2005 +0000
@@ -32,11 +32,12 @@
 
 // Commands callbacks
 void do_roster(char *arg);
-void do_clear(char *arg);
 void do_status(char *arg);
 void do_add(char *arg);
 void do_group(char *arg);
 void do_say(char *arg);
+void do_buffer(char *arg);
+void do_clear(char *arg);
 
 // Global variable for the commands list
 static GSList *Commands;
@@ -63,6 +64,8 @@
 void cmd_init(void)
 {
   cmd_add("add", "Add a jabber user", COMPL_JID, 0, &do_add);
+  cmd_add("buffer", "Manipulate current buddy's buffer (chat window)",
+          COMPL_BUFFER, 0, &do_buffer);
   cmd_add("clear", "Clear the dialog window", 0, 0, &do_clear);
   //cmd_add("del");
   cmd_add("group", "Change group display settings", COMPL_GROUP, 0, &do_group);
@@ -96,6 +99,11 @@
   compl_add_category_word(COMPL_ROSTER, "show_offline");
   compl_add_category_word(COMPL_ROSTER, "top");
 
+  // Roster category
+  compl_add_category_word(COMPL_BUFFER, "bottom");
+  compl_add_category_word(COMPL_BUFFER, "clear");
+  compl_add_category_word(COMPL_BUFFER, "top");
+
   // Group category
   compl_add_category_word(COMPL_GROUP, "expand");
   compl_add_category_word(COMPL_GROUP, "shrink");
@@ -239,11 +247,6 @@
     scr_LogPrint("Unrecognized parameter!");
 }
 
-void do_clear(char *arg)
-{
-  scr_Clear();
-}
-
 void do_status(char *arg)
 {
   enum imstatus st;
@@ -341,3 +344,20 @@
   send_message(arg);
 }
 
+void do_buffer(char *arg)
+{
+  if (!strcasecmp(arg, "top")) {
+    scr_BufferTop();
+  } else if (!strcasecmp(arg, "bottom")) {
+    scr_BufferBottom();
+  } else if (!strcasecmp(arg, "clear")) {
+    scr_Clear();
+  } else
+    scr_LogPrint("Unrecognized parameter!");
+}
+
+void do_clear(char *arg)    // Alias for "/buffer clear"
+{
+  do_buffer("clear");
+}
+