Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_actions.c e_config.c e_config.h e_desk.c e_desk.h 
        e_ipc_handlers.h e_ipc_handlers_list.h 


Log Message:


desktop name ipc patch.
slight formatting stuff.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_actions.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- e_actions.c 31 Jul 2005 06:22:31 -0000      1.21
+++ e_actions.c 6 Aug 2005 04:00:02 -0000       1.22
@@ -353,7 +353,7 @@
        if (cx == '-') x = bd->zone->w - bd->w - x;
        if (cy == '-') y = bd->zone->h - bd->h - y;
 
-       if (x != bd->x || y != bd->y)
+       if ((x != bd->x) || (y != bd->y))
          {
             e_border_move(bd, x, y);
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -3 -r1.87 -r1.88
--- e_config.c  5 Aug 2005 07:19:25 -0000       1.87
+++ e_config.c  6 Aug 2005 04:00:02 -0000       1.88
@@ -30,6 +30,7 @@
 static E_Config_DD *_e_config_bindings_key_edd = NULL;
 static E_Config_DD *_e_config_path_append_edd = NULL;
 static E_Config_DD *_e_config_desktop_bg_edd = NULL;
+static E_Config_DD *_e_config_desktop_name_edd = NULL;
 static E_Config_DD *_e_config_remember_edd = NULL;
 
 /* externally accessible functions */
@@ -81,6 +82,17 @@
    E_CONFIG_VAL(D, T, desk_y, INT);
    E_CONFIG_VAL(D, T, file, STR);
    
+   _e_config_desktop_name_edd = E_CONFIG_DD_NEW("E_Config_Desktop_Name", 
E_Config_Desktop_Name);
+#undef T
+#undef D
+#define T E_Config_Desktop_Name
+#define D _e_config_desktop_name_edd
+   E_CONFIG_VAL(D, T, container, INT);
+   E_CONFIG_VAL(D, T, zone, INT);
+   E_CONFIG_VAL(D, T, desk_x, INT);
+   E_CONFIG_VAL(D, T, desk_y, INT);
+   E_CONFIG_VAL(D, T, name, STR);
+
    _e_config_path_append_edd = E_CONFIG_DD_NEW("E_Path_Dir", E_Path_Dir);
 #undef T
 #undef D
@@ -211,7 +223,9 @@
    E_CONFIG_VAL(D, T, config_version, INT); /**/
    E_CONFIG_VAL(D, T, show_splash, INT); /**/
    E_CONFIG_VAL(D, T, desktop_default_background, STR); /**/
+   E_CONFIG_VAL(D, T, desktop_default_name, STR); /**/
    E_CONFIG_LIST(D, T, desktop_backgrounds, _e_config_desktop_bg_edd); /**/
+   E_CONFIG_LIST(D, T, desktop_names, _e_config_desktop_name_edd); /**/
    E_CONFIG_VAL(D, T, menus_scroll_speed, DOUBLE); /**/
    E_CONFIG_VAL(D, T, menus_fast_mouse_move_threshhold, DOUBLE); /**/
    E_CONFIG_VAL(D, T, menus_click_drag_timeout, DOUBLE); /**/
@@ -323,6 +337,7 @@
        e_config->config_version = E_CONFIG_FILE_VERSION;
        e_config->show_splash = 1;
        e_config->desktop_default_background = strdup("");
+       e_config->desktop_default_name = strdup("Desktop %d, %d");
        e_config->menus_scroll_speed = 1000.0;
        e_config->menus_fast_mouse_move_threshhold = 300.0;
        e_config->menus_click_drag_timeout = DEF_MENUCLICK;
@@ -966,6 +981,7 @@
    E_CONFIG_DD_FREE(_e_config_bindings_key_edd);
    E_CONFIG_DD_FREE(_e_config_path_append_edd);
    E_CONFIG_DD_FREE(_e_config_desktop_bg_edd);
+   E_CONFIG_DD_FREE(_e_config_desktop_name_edd);
    E_CONFIG_DD_FREE(_e_config_remember_edd);
    return 1;
 }
@@ -1352,6 +1368,7 @@
          }
 
        E_FREE(e_config->desktop_default_background);
+       E_FREE(e_config->desktop_default_name);
        E_FREE(e_config->language);
        E_FREE(e_config->transition_start);
        E_FREE(e_config->transition_desk);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.h,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -3 -r1.44 -r1.45
--- e_config.h  5 Aug 2005 07:19:26 -0000       1.44
+++ e_config.h  6 Aug 2005 04:00:02 -0000       1.45
@@ -37,6 +37,7 @@
 typedef struct _E_Config_Binding_Mouse      E_Config_Binding_Mouse;
 typedef struct _E_Config_Binding_Key        E_Config_Binding_Key;
 typedef struct _E_Config_Desktop_Background E_Config_Desktop_Background;
+typedef struct _E_Config_Desktop_Name       E_Config_Desktop_Name;
 typedef Eet_Data_Descriptor                 E_Config_DD;
 
 #else
@@ -59,6 +60,8 @@
    int         show_splash;
    char       *desktop_default_background;
    Evas_List  *desktop_backgrounds;
+   char       *desktop_default_name;
+   Evas_List  *desktop_names;
    double      menus_scroll_speed;
    double      menus_fast_mouse_move_threshhold;
    double      menus_click_drag_timeout;
@@ -182,6 +185,15 @@
    char          *file;
 };
 
+struct _E_Config_Desktop_Name
+{
+   int            container;
+   int            zone;
+   int            desk_x;
+   int            desk_y;
+   char          *name;
+};
+
 EAPI int        e_config_init(void);
 EAPI int        e_config_shutdown(void);
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_desk.c,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -3 -r1.46 -r1.47
--- e_desk.c    21 Jul 2005 11:15:43 -0000      1.46
+++ e_desk.c    6 Aug 2005 04:00:02 -0000       1.47
@@ -31,6 +31,8 @@
 {
    E_Desk      *desk;
    char                name[40];
+   int ok;
+   Evas_List *l;
    
    E_OBJECT_CHECK_RETURN(zone, NULL);
    E_OBJECT_TYPE_CHECK_RETURN(zone, E_ZONE_TYPE, NULL);
@@ -41,9 +43,31 @@
    desk->zone = zone;
    desk->x = x;
    desk->y = y;
-   snprintf(name, sizeof(name), _("Desktop %d, %d"), x, y);
-   desk->name = strdup(name);
 
+/* Get current desktop's name */
+   ok = 0;
+
+   for (l = e_config->desktop_names; l; l = l->next)
+     {
+       E_Config_Desktop_Name *cfname;
+
+       cfname = l->data;
+       if ((cfname->container >= 0) &&
+           (zone->container->num != cfname->container)) continue;
+       if ((cfname->zone >= 0) &&
+           (zone->num != cfname->zone)) continue;
+       if ((cfname->desk_x != desk->x) || (cfname->desk_y != desk->y)) 
continue;
+       desk->name = strdup(cfname->name);
+       ok = 1;
+       break;
+     }
+
+   if (!ok)
+     {
+       snprintf(name, sizeof(name), _(e_config->desktop_default_name), x, y);
+       desk->name = strdup(name);
+     }
+   
    return desk;
 }
 
@@ -57,6 +81,96 @@
 }
 
 void
+e_desk_name_add(int container, int zone, int desk_x, int desk_y, char *name)
+{
+   E_Config_Desktop_Name *cfname;
+   
+   e_desk_name_del(container, zone, desk_x, desk_y);
+   cfname = E_NEW(E_Config_Desktop_Name, 1);
+   cfname->container = container;
+   cfname->zone = zone;
+   cfname->desk_x = desk_x;
+   cfname->desk_y = desk_y;
+   cfname->name = strdup(name);
+   e_config->desktop_names = evas_list_append(e_config->desktop_names, cfname);
+}
+
+void
+e_desk_name_del(int container, int zone, int desk_x, int desk_y)
+{
+   Evas_List *l;
+   
+   for (l = e_config->desktop_names; l; l = l->next)
+     {
+       E_Config_Desktop_Name *cfname;
+       
+       cfname = l->data;
+       if ((cfname->container == container) && (cfname->zone == zone) &&
+           (cfname->desk_x == desk_x) && (cfname->desk_y == desk_y))
+         {
+            e_config->desktop_names = 
evas_list_remove_list(e_config->desktop_names, l);
+            IF_FREE(cfname->name);
+            free(cfname);
+            break;
+         }
+     }
+}
+
+void
+e_desk_name_update(void)
+{
+   Evas_List *m, *c, *z, *d, *l;
+   E_Manager *man;
+   E_Container *con;
+   E_Zone *zone;
+   E_Desk *desk;
+   int d_x, d_y, ok;
+   char        name[40];
+   
+   for (m = e_manager_list(); m; m = m->next)
+     {
+       man = m->data;
+       for (c = man->containers; c; c = c->next)
+         {
+            con = c->data;
+            for (z = con->zones; z; z = z->next)
+              {
+                 zone = z->data;
+                 for (d_x = 0; d_x < zone->desk_x_count; d_x++)
+                   {
+                      for (d_y = 0; d_y < zone->desk_y_count; d_y++)
+                        {
+                           desk = zone->desks[d_x + zone->desk_x_count * d_y];
+                           ok = 0;
+
+                           for (l = e_config->desktop_names; l; l = l->next)
+                             {
+                                E_Config_Desktop_Name *cfname;
+
+                                cfname = l->data;
+                                if ((cfname->container >= 0) &&
+                                    (con->num != cfname->container)) continue;
+                                if ((cfname->zone >= 0) &&
+                                    (zone->num != cfname->zone)) continue;
+                                if ((cfname->desk_x != d_x) || (cfname->desk_y 
!= d_y)) continue;
+                                e_desk_name_set(desk,cfname->name);
+                                ok = 1;
+                                break;
+                             }
+
+                           if (!ok)
+                             {
+                                snprintf(name, sizeof(name), 
_(e_config->desktop_default_name), d_x, d_y);
+                                e_desk_name_set(desk,name);
+                             }
+                        }
+                   }
+              }
+         }
+     }
+}
+
+void
 e_desk_show(E_Desk *desk)
 {
    E_Border_List     *bl;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_desk.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- e_desk.h    20 Jul 2005 13:07:57 -0000      1.19
+++ e_desk.h    6 Aug 2005 04:00:03 -0000       1.20
@@ -33,6 +33,9 @@
 EAPI int          e_desk_shutdown(void);
 EAPI E_Desk      *e_desk_new(E_Zone *zone, int x, int y);
 EAPI void         e_desk_name_set(E_Desk *desk, const char *name);
+EAPI void         e_desk_name_add(int container, int zone, int desk_x, int 
desk_y, char *name);
+EAPI void         e_desk_name_del(int container, int zone, int desk_x, int 
desk_y);
+EAPI void         e_desk_name_update(void);
 EAPI void         e_desk_show(E_Desk *desk);
 EAPI void         e_desk_last_focused_focus(E_Desk *desk);
 EAPI E_Desk      *e_desk_current_get(E_Zone *zone);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc_handlers.h,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -3 -r1.60 -r1.61
--- e_ipc_handlers.h    5 Aug 2005 07:19:26 -0000       1.60
+++ e_ipc_handlers.h    6 Aug 2005 04:00:03 -0000       1.61
@@ -2981,7 +2981,6 @@
 #undef HDL
 
 /****************************************************************************/
-
 #define HDL E_IPC_OP_WINLIST_WARP_WHILE_SELECTING_SET
 #if (TYPE == E_REMOTE_OPTIONS)
    OP("-winlist-warp-while-selecting-set", 1, "Set winlist (alt+tab) warp 
while selecting policy", 0, HDL)
@@ -4442,6 +4441,72 @@
 #endif
 #undef HDL
 
+/****************************************************************************/
+#define HDL E_IPC_OP_DESKTOP_NAME_ADD
+#if (TYPE == E_REMOTE_OPTIONS)
+   OP("-desktop-name-add", 5, "Add a desktop name definition. OPT1 = container 
no. OPT2 = zone no. OPT3 = desk_x. OPT4 = desk_y. OPT5 = desktop name", 0, HDL)
+#elif (TYPE == E_REMOTE_OUT)
+   REQ_4INT_2STRING_START(HDL);
+   REQ_4INT_2STRING_END(atoi(params[0]), atoi(params[1]), atoi(params[2]), 
atoi(params[3]), params[4], "", HDL);
+#elif (TYPE == E_WM_IN)
+   INT4_STRING2(v, HDL);
+   e_desk_name_add(v->val1, v->val2, v->val3, v->val4, v->str1);
+   e_desk_name_update();
+   SAVE;
+   END_INT4_STRING2(v);
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_DESKTOP_NAME_DEL
+#if (TYPE == E_REMOTE_OPTIONS)
+   OP("-desktop-name-del", 4, "Delete a desktop name definition. OPT1 = 
container no. OPT2 = zone no. OPT3 = desk_x. OPT4 = desk_y.", 0, HDL)
+#elif (TYPE == E_REMOTE_OUT)
+   REQ_4INT_2STRING_START(HDL);
+   REQ_4INT_2STRING_END(atoi(params[0]), atoi(params[1]), atoi(params[2]), 
atoi(params[3]), "", "", HDL);
+#elif (TYPE == E_WM_IN)
+   INT4_STRING2(v, HDL);
+   e_desk_name_del(v->val1, v->val2, v->val3, v->val4);
+   e_desk_name_update();
+   SAVE;
+   END_INT4_STRING2(v);
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_DESKTOP_NAME_LIST
+#if (TYPE == E_REMOTE_OPTIONS)
+   OP("-desktop-name-list", 0, "List all current desktop name definitions", 1, 
HDL)
+#elif (TYPE == E_REMOTE_OUT)
+   REQ_NULL(HDL);
+#elif (TYPE == E_WM_IN)
+   SEND_INT4_STRING2_LIST(e_config->desktop_names, E_Config_Desktop_Name, 
cfname, v, HDL);
+   v->val1 = cfname->container;
+   v->val2 = cfname->zone;
+   v->val3 = cfname->desk_x;
+   v->val4 = cfname->desk_y;
+   v->str1 = cfname->name;
+   v->str2 = "";
+   END_SEND_INT4_STRING2_LIST(v, E_IPC_OP_DESKTOP_NAME_LIST_REPLY);
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_DESKTOP_NAME_LIST_REPLY
+#if (TYPE == E_REMOTE_OPTIONS)
+#elif (TYPE == E_REMOTE_OUT)
+#elif (TYPE == E_WM_IN)
+#elif (TYPE == E_REMOTE_IN)
+   INT4_STRING2_LIST(v, HDL);
+   printf("REPLY: BG CONTAINER=%i ZONE=%i DESK_X=%i DESK_Y=%i NAME=\"%s\"\n",
+         v->val1, v->val2, v->val3, v->val4, v->str1);
+   END_INT4_STRING2_LIST(v);
+#endif
+#undef HDL
+
 #if 0
 }
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc_handlers_list.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- e_ipc_handlers_list.h       22 Jul 2005 10:28:09 -0000      1.14
+++ e_ipc_handlers_list.h       6 Aug 2005 04:00:03 -0000       1.15
@@ -218,3 +218,7 @@
 #define E_IPC_OP_PROFILE_SET 218
 #define E_IPC_OP_PROFILE_GET 219
 #define E_IPC_OP_PROFILE_GET_REPLY 220
+#define E_IPC_OP_DESKTOP_NAME_ADD 221
+#define E_IPC_OP_DESKTOP_NAME_DEL 222
+#define E_IPC_OP_DESKTOP_NAME_LIST 223
+#define E_IPC_OP_DESKTOP_NAME_LIST_REPLY 224




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to