Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        E.h actions.c ewins.c icccm.c memory.c snaps.c 


Log Message:
Simplify WM_COMMAND handling.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.388
retrieving revision 1.389
diff -u -3 -r1.388 -r1.389
--- E.h 12 Mar 2005 11:09:29 -0000      1.388
+++ E.h 12 Mar 2005 15:22:08 -0000      1.389
@@ -745,8 +745,6 @@
       char               *wm_res_class;
       char               *wm_role;
       char               *wm_command;
-      int                 wm_command_argc;
-      char              **wm_command_argv;
       char               *wm_machine;
    } icccm;
    struct
@@ -1163,6 +1161,7 @@
 
 int                 execApplication(const char *params);
 void                Espawn(int argc, char **argv);
+void                EspawnCmd(const char *cmd);
 
 /* alert.c */
 void                AlertInit(void);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/actions.c,v
retrieving revision 1.186
retrieving revision 1.187
diff -u -3 -r1.186 -r1.187
--- actions.c   12 Mar 2005 11:09:31 -0000      1.186
+++ actions.c   12 Mar 2005 15:22:08 -0000      1.187
@@ -177,6 +177,17 @@
 }
 
 void
+EspawnCmd(const char *cmd)
+{
+   int                 argc;
+   char              **argv;
+
+   argv = EstrlistDecodeEscaped(cmd, &argc);
+   Espawn(argc, argv);
+   EstrlistFree(argv, argc);
+}
+
+void
 ActionsHandleMotion(void)
 {
    switch (Mode.mode)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ewins.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -3 -r1.30 -r1.31
--- ewins.c     12 Mar 2005 11:09:32 -0000      1.30
+++ ewins.c     12 Mar 2005 15:22:08 -0000      1.31
@@ -211,8 +211,6 @@
       Efree(ewin->icccm.wm_role);
    if (ewin->icccm.wm_command)
       Efree(ewin->icccm.wm_command);
-   if (ewin->icccm.wm_command_argv)
-      EstrlistFree(ewin->icccm.wm_command_argv, ewin->icccm.wm_command_argc);
    if (ewin->icccm.wm_machine)
       Efree(ewin->icccm.wm_machine);
 #if ENABLE_EWMH
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/icccm.c,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -3 -r1.89 -r1.90
--- icccm.c     12 Mar 2005 11:09:32 -0000      1.89
+++ icccm.c     12 Mar 2005 15:22:08 -0000      1.90
@@ -547,25 +547,22 @@
 
    if (atom_change == 0 || atom_change == ECORE_X_ATOM_WM_COMMAND)
      {
+       int                 argc;
+       char              **argv, s[4096];
+
        _EFREE(ewin->icccm.wm_command);
-       if (ewin->icccm.wm_command_argv)
-          EstrlistFree(ewin->icccm.wm_command_argv,
-                       ewin->icccm.wm_command_argc);
-
-       ewin->icccm.wm_command_argv =
-          ecore_x_window_prop_string_list_get(ewin->client.win,
-                                              ECORE_X_ATOM_WM_COMMAND,
-                                              &(ewin->icccm.wm_command_argc));
-       if (!ewin->icccm.wm_command && TryGroup(ewin))
-          ewin->icccm.wm_command_argv =
-             ecore_x_window_prop_string_list_get(ewin->client.group,
-                                                 ECORE_X_ATOM_WM_COMMAND,
-                                                 &(ewin->icccm.
-                                                   wm_command_argc));
+
+       argv = ecore_x_window_prop_string_list_get(ewin->client.win,
+                                                  ECORE_X_ATOM_WM_COMMAND,
+                                                  &argc);
+       if (!argv && TryGroup(ewin))
+          argv = ecore_x_window_prop_string_list_get(ewin->client.group,
+                                                     ECORE_X_ATOM_WM_COMMAND,
+                                                     &argc);
 
        ewin->icccm.wm_command =
-          EstrlistJoin(ewin->icccm.wm_command_argv,
-                       ewin->icccm.wm_command_argc);
+          Estrdup(EstrlistEncodeEscaped(s, sizeof(s), argv, argc));
+       EstrlistFree(argv, argc);
      }
 
    if (atom_change == 0 || atom_change == ECORE_X_ATOM_WM_CLIENT_MACHINE)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/memory.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -3 -r1.41 -r1.42
--- memory.c    12 Mar 2005 11:09:33 -0000      1.41
+++ memory.c    12 Mar 2005 15:22:08 -0000      1.42
@@ -488,6 +488,7 @@
    Efree(lst);
 }
 
+#if 0                          /* FIXME - Remove? */
 char               *
 EstrlistJoin(char **lst, int num)
 {
@@ -512,6 +513,7 @@
 
    return s;
 }
+#endif
 
 char               *
 EstrlistEncodeEscaped(char *buf, int len, char **lst, int num)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/snaps.c,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -3 -r1.86 -r1.87
--- snaps.c     12 Mar 2005 11:09:33 -0000      1.86
+++ snaps.c     12 Mar 2005 15:22:08 -0000      1.87
@@ -42,8 +42,6 @@
    char                sticky;
    char                shaded;
    char               *cmd;
-   int                 cmd_argc;
-   char              **cmd_argv;
    int                *groups;
    int                 num_groups;
    char                skiptask;
@@ -91,8 +89,6 @@
       Efree(sn->border_name);
    if (sn->cmd)
       Efree(sn->cmd);
-   if (sn->cmd_argv)
-      EstrlistFree(sn->cmd_argv, sn->cmd_argc);
    if (sn->groups)
       Efree(sn->groups);
    Efree(sn);
@@ -285,12 +281,7 @@
 
    if (sn->cmd)
       Efree(sn->cmd);
-   if (sn->cmd_argv)
-      EstrlistFree(sn->cmd_argv, sn->cmd_argc);
    sn->cmd = Estrdup(ewin->icccm.wm_command);
-   sn->cmd_argv =
-      EstrlistDup(ewin->icccm.wm_command_argv, ewin->icccm.wm_command_argc);
-   sn->cmd_argc = ewin->icccm.wm_command_argc;
 }
 
 static void
@@ -1090,7 +1081,7 @@
 {
    Snapshot          **lst, *sn;
    int                 i, j, num;
-   char                buf[4096], s[4096], ss[4096];
+   char                buf[4096], s[4096];
    FILE               *f;
 
    if (!Mode.wm.save_ok)
@@ -1119,9 +1110,7 @@
             if (sn->use_flags & SNAP_USE_BORDER)
                fprintf(f, "BORDER: %s\n", sn->border_name);
             if (sn->use_flags & SNAP_USE_COMMAND)
-               fprintf(f, "CMD: %s\n",
-                       EstrlistEncodeEscaped(ss, sizeof(ss),
-                                             sn->cmd_argv, sn->cmd_argc));
+               fprintf(f, "CMD: %s\n", sn->cmd);
             if (sn->use_flags & SNAP_USE_DESK)
                fprintf(f, "DESKTOP: %i\n", sn->desktop);
             if (sn->use_flags & SNAP_USE_POS)
@@ -1187,7 +1176,7 @@
          {
             sn = lst[i];
             if ((sn->use_flags & SNAP_USE_COMMAND) && (sn->cmd) && !sn->used)
-               Espawn(sn->cmd_argc, sn->cmd_argv);
+               EspawnCmd(sn->cmd);
          }
        Efree(lst);
      }
@@ -1238,9 +1227,7 @@
             else if (!strcmp(s, "CMD:"))
               {
                  sn->use_flags |= SNAP_USE_COMMAND;
-                 sn->cmd_argv =
-                    EstrlistDecodeEscaped(atword(buf, 2), &(sn->cmd_argc));
-                 sn->cmd = EstrlistJoin(sn->cmd_argv, sn->cmd_argc);
+                 sn->cmd = Estrdup(atword(buf, 2));
               }
             else if (!strcmp(s, "DESKTOP:"))
               {




-------------------------------------------------------
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