Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        iclass.c ipc.c tclass.c 


Log Message:
Ipc function cleanups/changes.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/iclass.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -3 -r1.51 -r1.52
--- iclass.c    2 Feb 2005 17:11:55 -0000       1.51
+++ iclass.c    13 Feb 2005 13:58:50 -0000      1.52
@@ -1351,6 +1351,19 @@
    word(params, 1, param1);
    word(params, 2, param2);
 
+   if (!strncmp(param1, "list", 2))
+     {
+       ImageClass        **lst;
+       int                 num, i;
+
+       lst = (ImageClass **) ListItemType(&num, LIST_TYPE_ICLASS);
+       for (i = 0; i < num; i++)
+          IpcPrintf("%s\n", lst[i]->name);
+       if (lst)
+          Efree(lst);
+       return;
+     }
+
    if (!strcmp(param2, "create"))
      {
      }
@@ -1507,8 +1520,8 @@
    {
     ImageclassIpc,
     "imageclass", NULL,
-    "Create/delete/modify/apply an ImageClass",
-    "This doesn't do anything yet\n"}
+    "List imageclasses, create/delete/modify/apply an imageclass",
+    NULL}
    ,
 };
 #define N_IPC_FUNCS (sizeof(ImageclassIpcArray)/sizeof(IpcItem))
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ipc.c,v
retrieving revision 1.199
retrieving revision 1.200
diff -u -3 -r1.199 -r1.200
--- ipc.c       10 Feb 2005 12:31:36 -0000      1.199
+++ ipc.c       13 Feb 2005 13:58:50 -0000      1.200
@@ -121,7 +121,7 @@
 /* The IPC functions */
 
 static void
-IPC_Xinerama(const char *params __UNUSED__, Client * c __UNUSED__)
+IPC_Screen(const char *params __UNUSED__, Client * c __UNUSED__)
 {
 #ifdef HAS_XINERAMA
    if (Mode.display.xinerama_active)
@@ -131,22 +131,27 @@
 
        screens = XineramaQueryScreens(disp, &num);
 
+       IpcPrintf("Xinerama active:\n");
+       IpcPrintf("Head  Screen  X-Origin  Y-Origin     Width    Height\n");
        for (i = 0; i < num; i++)
          {
-            IpcPrintf("Head %d\nscreen # %d\nx origin: %d\ny origin: %d\n"
-                      "width: %d\nheight: %d\n\n", i, screens[i].screen_number,
+            IpcPrintf(" %2d     %2d       %5d     %5d     %5d     %5d\n",
+                      i, screens[i].screen_number,
                       screens[i].x_org, screens[i].y_org, screens[i].width,
                       screens[i].height);
          }
        XFree(screens);
+       return;
      }
    else
      {
-       IpcPrintf("Xinerama is not active on your system");
+       IpcPrintf("Xinerama is not active\n");
      }
-#else
-   IpcPrintf("Xinerama is disabled on your system");
 #endif
+
+   IpcPrintf("Head  Screen  X-Origin  Y-Origin     Width    Height\n");
+   IpcPrintf(" %2d     %2d       %5d     %5d     %5d     %5d\n",
+            0, VRoot.scr, 0, 0, VRoot.w, VRoot.h);
 }
 
 static void
@@ -155,116 +160,27 @@
    IpcPrintf("nop");
 }
 
+/* Should be elsewhere */
 static void
-IPC_GeneralInfo(const char *params, Client * c)
+IPC_Border(const char *params, Client * c)
 {
-   char                buf[FILEPATH_LEN_MAX];
-
-   buf[0] = 0;
-
-   if (params)
-     {
-       if (!strcmp(params, "screen_size"))
-         {
-            Esnprintf(buf, sizeof(buf), "screen_size: %d %d", VRoot.w,
-                      VRoot.h);
-         }
-       else
-         {
-            Esnprintf(buf, sizeof(buf), "Error: unknown info requested");
-         }
-     }
-   else
+   if (!params)
      {
-       Esnprintf(buf, sizeof(buf), "Error: no info requested");
+       IpcPrintf("Please specify...\n");
+       return;
      }
 
-   if (buf[0])
-      CommsSend(c, buf);
-}
-
-static void
-IPC_ListClassMembers(const char *params, Client * c)
-{
-   char               *buf = NULL;
-   char                buf2[FILEPATH_LEN_MAX];
-   int                 num, i;
-
-   if (params)
+   if (!strncmp(params, "list", 2))
      {
-       if (!strcmp(params, "borders"))
-         {
-            Border            **lst;
-
-            lst = (Border **) ListItemType(&num, LIST_TYPE_BORDER);
-            for (i = 0; i < num; i++)
-              {
-                 buf2[0] = 0;
-                 Esnprintf(buf2, sizeof(buf2), "%s\n", lst[i]->name);
-                 if (buf)
-                    buf = realloc(buf, strlen(buf) + strlen(buf2) + 1);
-                 else
-                   {
-                      buf = malloc(strlen(buf2) + 1);
-                      buf[0] = 0;
-                   }
-                 strcat(buf, buf2);
-              }
-            if (lst)
-               Efree(lst);
-         }
-       else if (!strcmp(params, "text"))
-         {
-            TextClass         **lst;
-
-            lst = (TextClass **) ListItemType(&num, LIST_TYPE_TCLASS);
-            for (i = 0; i < num; i++)
-              {
-                 buf2[0] = 0;
-                 Esnprintf(buf2, sizeof(buf2), "%s\n", lst[i]->name);
-                 if (buf)
-                    buf = realloc(buf, strlen(buf) + strlen(buf2) + 1);
-                 else
-                   {
-                      buf = malloc(strlen(buf2) + 1);
-                      buf[0] = 0;
-                   }
-                 strcat(buf, buf2);
-              }
-            if (lst)
-               Efree(lst);
-         }
-       else if (!strcmp(params, "images"))
-         {
-            ImageClass        **lst;
-
-            lst = (ImageClass **) ListItemType(&num, LIST_TYPE_ICLASS);
-            for (i = 0; i < num; i++)
-              {
-                 buf2[0] = 0;
-                 Esnprintf(buf2, sizeof(buf2), "%s\n", lst[i]->name);
-                 if (buf)
-                    buf = realloc(buf, strlen(buf) + strlen(buf2) + 1);
-                 else
-                   {
-                      buf = malloc(strlen(buf2) + 1);
-                      buf[0] = 0;
-                   }
-                 strcat(buf, buf2);
-              }
-            if (lst)
-               Efree(lst);
-         }
-       else
-          CommsSend(c, "Error: unknown class selected");
-     }
-   else
-      CommsSend(c, "Error: no class selected");
+       Border            **lst;
+       int                 num, i;
 
-   if (buf)
-     {
-       CommsSend(c, buf);
-       Efree(buf);
+       lst = (Border **) ListItemType(&num, LIST_TYPE_BORDER);
+       for (i = 0; i < num; i++)
+          IpcPrintf("%s\n", lst[i]->name);
+       if (lst)
+          Efree(lst);
+       return;
      }
 }
 
@@ -277,181 +193,111 @@
       IpcPrintf("Error: No text for dialog specified\n");
 }
 
-static void
-IPC_MoveMode(const char *params, Client * c)
+static int
+CfgStrlistIndex(const char **list, const char *str)
 {
-   char                buf[FILEPATH_LEN_MAX];
+   int                 i;
 
-   buf[0] = 0;
+   for (i = 0; list[i]; i++)
+      if (!strcmp(list[i], str))
+        return i;
+   return -1;
+}
 
-   if (params)
-     {
-       if (!strcmp(params, "opaque"))
-         {
-            Conf.movres.mode_move = 0;
-         }
-       else if (!strcmp(params, "lined"))
-         {
-            Conf.movres.mode_move = 1;
-         }
-       else if (!strcmp(params, "box"))
-         {
-            Conf.movres.mode_move = 2;
-         }
-       else if (!strcmp(params, "shaded"))
-         {
-            Conf.movres.mode_move = 3;
-         }
-       else if (!strcmp(params, "semi-solid"))
-         {
-            Conf.movres.mode_move = 4;
-         }
-       else if (!strcmp(params, "translucent"))
-         {
-            Conf.movres.mode_move = 5;
-         }
-       else if (!strcmp(params, "?"))
-         {
-            if (Conf.movres.mode_move)
-              {
-                 if (Conf.movres.mode_move == 1)
-                    Esnprintf(buf, sizeof(buf), "movemode: lined");
-                 else if (Conf.movres.mode_move == 2)
-                    Esnprintf(buf, sizeof(buf), "movemode: box");
-                 else if (Conf.movres.mode_move == 3)
-                    Esnprintf(buf, sizeof(buf), "movemode: shaded");
-                 else if (Conf.movres.mode_move == 4)
-                    Esnprintf(buf, sizeof(buf), "movemode: semi-solid");
-                 else if (Conf.movres.mode_move == 5)
-                    Esnprintf(buf, sizeof(buf), "movemode: translucent");
-              }
-            else
-              {
-                 Esnprintf(buf, sizeof(buf), "movemode: opaque");
-              }
-         }
-       else
-         {
-            Esnprintf(buf, sizeof(buf), "Error: unknown mode specified");
-         }
-     }
-   else
-     {
-       Esnprintf(buf, sizeof(buf), "Error: no mode specified");
-     }
+static const char  *MovResCfgMoveModes[] = {
+   "opaque", "lined", "box", "shaded", "semi-solid", "translucent", NULL
+};
 
-   if (buf[0])
-      CommsSend(c, buf);
-}
+static const char  *MovResCfgResizeModes[] = {
+   "opaque", "lined", "box", "shaded", "semi-solid", NULL
+};
+
+static const char  *MovResCfgInfoModes[] = {
+   "never", "center", "corner", NULL
+};
 
 static void
-IPC_ResizeMode(const char *params, Client * c)
+IPC_MoveResize(const char *params, Client * c __UNUSED__)
 {
-   char                buf[FILEPATH_LEN_MAX];
+   char                param1[32];
+   char                param2[32];
+   int                 i;
 
-   buf[0] = 0;
+   if (!params)
+     {
+       IpcPrintf("Please specify...\n");
+       return;
+     }
 
-   if (params)
+   param1[0] = param2[0] = '\0';
+   sscanf(params, "%31s %31s", param1, param2);
+
+   if (!strncmp(param1, "move", 2))
      {
-       if (!strcmp(params, "opaque"))
-         {
-            Conf.movres.mode_resize = 0;
-         }
-       else if (!strcmp(params, "lined"))
+       if (param2[0] == '\n' || param2[0] == '?')
          {
-            Conf.movres.mode_resize = 1;
+            if (Conf.movres.mode_move < 0 || Conf.movres.mode_move > 5)
+               Conf.movres.mode_move = 0;
+            IpcPrintf("Move mode: %s\n",
+                      MovResCfgMoveModes[Conf.movres.mode_move]);
+            return;
          }
-       else if (!strcmp(params, "box"))
+
+       i = CfgStrlistIndex(MovResCfgMoveModes, param2);
+       if (i >= 0)
          {
-            Conf.movres.mode_resize = 2;
+            Conf.movres.mode_move = i;
          }
-       else if (!strcmp(params, "shaded"))
+       else
          {
-            Conf.movres.mode_resize = 3;
+            IpcPrintf("Move mode not found: %s\n", param2);
          }
-       else if (!strcmp(params, "semi-solid"))
+
+     }
+   else if (!strncmp(param1, "resize", 2))
+     {
+       if (param2[0] == '\n' || param2[0] == '?')
          {
-            Conf.movres.mode_resize = 4;
+            if (Conf.movres.mode_resize < 0 || Conf.movres.mode_resize > 4)
+               Conf.movres.mode_resize = 0;
+            IpcPrintf("Resize mode: %s\n",
+                      MovResCfgResizeModes[Conf.movres.mode_resize]);
+            return;
          }
-       else if (!strcmp(params, "?"))
+
+       i = CfgStrlistIndex(MovResCfgResizeModes, param2);
+       if (i >= 0)
          {
-            if (Conf.movres.mode_resize)
-              {
-                 if (Conf.movres.mode_resize == 1)
-                    Esnprintf(buf, sizeof(buf), "resizemode: lined");
-                 else if (Conf.movres.mode_resize == 2)
-                    Esnprintf(buf, sizeof(buf), "resizemode: box");
-                 else if (Conf.movres.mode_resize == 3)
-                    Esnprintf(buf, sizeof(buf), "resizemode: shaded");
-                 else if (Conf.movres.mode_resize == 4)
-                    Esnprintf(buf, sizeof(buf), "resizemode: semi-solid");
-              }
-            else
-              {
-                 Esnprintf(buf, sizeof(buf), "resizemode: opaque");
-              }
+            Conf.movres.mode_resize = i;
          }
        else
          {
-            Esnprintf(buf, sizeof(buf), "Error: unknown mode specified");
+            IpcPrintf("Resize mode not found: %s\n", param2);
          }
-     }
-   else
-     {
-       Esnprintf(buf, sizeof(buf), "Error: no mode specified");
-     }
-
-   if (buf[0])
-      CommsSend(c, buf);
-}
-
-static void
-IPC_GeomInfoMode(const char *params, Client * c)
-{
-   char                buf[FILEPATH_LEN_MAX];
-
-   buf[0] = 0;
 
-   if (params)
+     }
+   else if (!strncmp(param1, "info", 2))
      {
-       if (!strcmp(params, "never"))
-         {
-            Conf.movres.mode_info = 0;
-         }
-       else if (!strcmp(params, "center"))
+       if (param2[0] == '\n' || param2[0] == '?')
          {
-            Conf.movres.mode_info = 1;
+            if (Conf.movres.mode_info < 0 || Conf.movres.mode_info > 2)
+               Conf.movres.mode_info = 1;
+            IpcPrintf("Info mode: %s\n",
+                      MovResCfgInfoModes[Conf.movres.mode_info]);
+            return;
          }
-       else if (!strcmp(params, "corner"))
-         {
-            Conf.movres.mode_info = 2;
-         }
-       else if (!strcmp(params, "?"))
+
+       i = CfgStrlistIndex(MovResCfgInfoModes, param2);
+       if (i >= 0)
          {
-            if (Conf.movres.mode_info)
-              {
-                 if (Conf.movres.mode_info == 1)
-                    Esnprintf(buf, sizeof(buf), "geominfomode: center");
-                 else if (Conf.movres.mode_info == 2)
-                    Esnprintf(buf, sizeof(buf), "geominfomode: corner");
-              }
-            else
-              {
-                 Esnprintf(buf, sizeof(buf), "geominfomode: never");
-              }
+            Conf.movres.mode_info = i;
          }
        else
          {
-            Esnprintf(buf, sizeof(buf), "Error: unknown mode specified");
+            IpcPrintf("Info mode not found: %s\n", param2);
          }
-     }
-   else
-     {
-       Esnprintf(buf, sizeof(buf), "Error: no mode specified");
-     }
 
-   if (buf[0])
-      CommsSend(c, buf);
+     }
 }
 
 static void
@@ -1647,40 +1493,19 @@
     "   (i.e. 0.5) or greater (1.3, 3.5, etc)\n"},
 #endif
    {
-    IPC_MoveMode,
-    "move_mode", "smm",
-    "Toggle the Window move mode",
-    "use \"move_mode <opaque/lined/box/shaded/semi-solid/translucent>\" "
-    "to set\nuse \"move_mode ?\" to get the current mode\n"},
-   {
-    IPC_ResizeMode,
-    "resize_mode", "srm",
-    "Toggle the Window resize mode",
-    "use \"resize_mode <opaque/lined/box/shaded/semi-solid>\" "
-    "to set\nuse \"resize_mode ?\" to get the current mode\n"},
-   {
-    IPC_GeomInfoMode,
-    "geominfo_mode", "sgm",
-    "Change position of geometry info display during Window move or resize",
-    "use \"geominfo_mode <center/corner/never>\" "
-    "to set\nuse \"geominfo_mode ?\" to get the current mode\n"},
+    IPC_MoveResize,
+    "movres", "mr",
+    "Show/set Window move/resize/geometry info modes",
+    "  movres move   <?/opaque/lined/box/shaded/semi-solid/translucent>\n"
+    "  movres resize <?/opaque/lined/box/shaded/semi-solid>\n"
+    "  movres info   <?/never/center/corner>\n"},
    {
     IPC_DialogOK,
     "dialog_ok", "dok",
     "Pop up a dialog box with an OK button",
     "use \"dialog_ok <message>\" to pop up a dialog box\n"},
    {
-    IPC_ListClassMembers,
-    "list_class", "cl",
-    "List all members of a class",
-    "use \"list_class <classname>\" to get back a list of class members\n"
-    "available classes are:\n" "actions\n" "borders\n" "text\n" "images\n"},
-   {
-    IPC_GeneralInfo,
-    "general_info", NULL,
-    "Retrieve some general information",
-    "use \"general_info <info>\" to retrieve information\n"
-    "available info is: screen_size\n"},
+    IPC_Border, "border", NULL, "List available borders\n", NULL},
 #if !USE_LIBC_MALLOC
    {
     IPC_MemDebug,
@@ -1695,10 +1520,7 @@
     "and the chunk size.\n"},
 #endif
    {
-    IPC_Xinerama,
-    "xinerama", NULL,
-    "Return xinerama information about your current system",
-    NULL},
+    IPC_Screen, "screen", NULL, "Return screen information\n", NULL},
    {
     SnapIpcFunc,
     "list_remember", "rl",
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/tclass.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- tclass.c    25 Jan 2005 21:58:09 -0000      1.29
+++ tclass.c    13 Feb 2005 13:58:50 -0000      1.30
@@ -510,10 +510,10 @@
 static void
 TextclassIpc(const char *params, Client * c __UNUSED__)
 {
-   char                pq;
    char                param1[FILEPATH_LEN_MAX];
    char                param2[FILEPATH_LEN_MAX];
    char                param3[FILEPATH_LEN_MAX];
+   char                pq;
    TextClass          *tc;
 
    if (!params)
@@ -529,6 +529,19 @@
    word(params, 1, param1);
    word(params, 2, param2);
 
+   if (!strncmp(param1, "list", 2))
+     {
+       TextClass         **lst;
+       int                 num, i;
+
+       lst = (TextClass **) ListItemType(&num, LIST_TYPE_TCLASS);
+       for (i = 0; i < num; i++)
+          IpcPrintf("%s\n", lst[i]->name);
+       if (lst)
+          Efree(lst);
+       return;
+     }
+
    if (!param1[0])
      {
        IpcPrintf("TextClass not specified\n");
@@ -620,8 +633,8 @@
    {
     TextclassIpc,
     "textclass", NULL,
-    "Create/Delete/Modify/apply a TextClass",
-    "This doesn't do anything yet\n"}
+    "List textclasses, create/delete/modify/apply a textclass",
+    NULL}
    ,
 };
 #define N_IPC_FUNCS (sizeof(TextclassIpcArray)/sizeof(IpcItem))




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to