Enlightenment CVS committal Author : sebastid Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.c e_error.c e_hints.c e_manager.c e_utils.c Log Message: More netwm =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.236 retrieving revision 1.237 diff -u -3 -r1.236 -r1.237 --- e_border.c 3 Jun 2005 12:23:34 -0000 1.236 +++ e_border.c 3 Jun 2005 19:10:24 -0000 1.237 @@ -1451,16 +1451,7 @@ Evas_Object *o; o = NULL; - if (bd->client.netwm.icon.data) - { - printf("icon size: %d %d\n", bd->client.netwm.icon.width, bd->client.netwm.icon.height); - o = e_icon_add(evas); - e_icon_data_set(o, bd->client.netwm.icon.data, - bd->client.netwm.icon.width, - bd->client.netwm.icon.height); - e_icon_alpha_set(o, 1); - } - else if ((bd->client.icccm.name) && (bd->client.icccm.class)) + if ((bd->client.icccm.name) && (bd->client.icccm.class)) { E_App *a; @@ -1472,6 +1463,14 @@ edje_object_file_set(o, a->path, "icon"); } } + else if (bd->client.netwm.icon.data) + { + o = e_icon_add(evas); + e_icon_data_set(o, bd->client.netwm.icon.data, + bd->client.netwm.icon.width, + bd->client.netwm.icon.height); + e_icon_alpha_set(o, 1); + } return o; } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_error.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- e_error.c 25 May 2005 08:08:44 -0000 1.22 +++ e_error.c 3 Jun 2005 19:10:25 -0000 1.23 @@ -235,7 +235,7 @@ x = (man->w - error_w) / 2; y = (man->h - error_h) / 2; - con = e_manager_container_current_get(man); + con = e_container_current_get(man); if (con) { E_Zone *zone; @@ -322,7 +322,7 @@ x = (man->w - error_w) / 2; y = (man->h - error_h) / 2; - con = e_manager_container_current_get(man); + con = e_container_current_get(man); if (con) { E_Zone *zone; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_hints.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -3 -r1.43 -r1.44 --- e_hints.c 3 Jun 2005 16:35:29 -0000 1.43 +++ e_hints.c 3 Jun 2005 19:10:25 -0000 1.44 @@ -44,6 +44,7 @@ ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_CLIENT_LIST_STACKING, 1); ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_FRAME_EXTENTS, 1); + ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_REQUEST_FRAME_EXTENTS, 1); ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_SUPPORTED, 1); ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK, 1); @@ -114,7 +115,7 @@ /* Set desktop count, desktop names and workarea */ int i = 0, num = 0; unsigned int *areas = NULL; - Evas_List *ml, *cl; + Evas_List *cl; Ecore_X_Window *vroots = NULL; /* FIXME: Desktop names not yet implemented */ /* char **names; */ @@ -154,7 +155,10 @@ { ecore_x_netwm_desk_roots_set(man->root, num, vroots); } +#if 0 + /* No need for workarea without desktops */ ecore_x_netwm_desk_workareas_set(man->root, num, areas); +#endif free(vroots); free(areas); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_manager.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -3 -r1.29 -r1.30 --- e_manager.c 3 Jun 2005 16:59:34 -0000 1.29 +++ e_manager.c 3 Jun 2005 19:10:25 -0000 1.30 @@ -9,6 +9,7 @@ static int _e_manager_cb_window_show_request(void *data, int ev_type, void *ev); static int _e_manager_cb_window_configure(void *data, int ev_type, void *ev); static int _e_manager_cb_key_down(void *data, int ev_type, void *ev); +static int _e_manager_cb_frame_extents_request(void *data, int ev_type, void *ev); #if 0 /* use later - maybe */ static int _e_manager_cb_window_destroy(void *data, int ev_type, void *ev); static int _e_manager_cb_window_hide(void *data, int ev_type, void *ev); @@ -93,6 +94,8 @@ if (h) man->handlers = evas_list_append(man->handlers, h); h = ecore_event_handler_add(ECORE_X_EVENT_KEY_DOWN, _e_manager_cb_key_down, man); if (h) man->handlers = evas_list_append(man->handlers, h); + h = ecore_event_handler_add(ECORE_X_EVENT_FRAME_EXTENTS_REQUEST, _e_manager_cb_frame_extents_request, man); + if (h) man->handlers = evas_list_append(man->handlers, h); return man; } @@ -138,18 +141,14 @@ &id, 1); if (ret == 1) con = e_manager_container_number_get(man, id); - else - con = e_manager_container_current_get(man); if (!con) - e_container_current_get(man); + con = e_container_current_get(man); ret = ecore_x_window_prop_card32_get(windows[i], E_ATOM_ZONE, &id, 1); if (ret == 1) zone = e_container_zone_number_get(con, id); - else - zone = e_zone_current_get(con); if (!zone) zone = e_zone_current_get(con); ret = ecore_x_window_prop_card32_get(windows[i], @@ -179,7 +178,7 @@ * should be seen */ E_Container *con; E_Border *bd; - con = e_manager_container_current_get(man); + con = e_container_current_get(man); bd = e_border_new(con, windows[i], 1); if (bd) e_border_show(bd); @@ -339,18 +338,6 @@ } E_Container * -e_manager_container_current_get(E_Manager *man) -{ - /* FIXME - * Currently only one container, but... - */ - E_OBJECT_CHECK_RETURN(man, NULL); - E_OBJECT_TYPE_CHECK_RETURN(man, E_MANAGER_TYPE, NULL); - - return (E_Container *)man->containers->data; -} - -E_Container * e_manager_container_number_get(E_Manager *man, int num) { Evas_List *l; @@ -486,6 +473,42 @@ return 1; } +static int +_e_manager_cb_frame_extents_request(void *data, int ev_type __UNUSED__, void *ev) +{ + E_Manager *man; + E_Container *con; + Ecore_X_Event_Frame_Extents_Request *e; + Evas_Object *o; + int ok; + + man = data; + con = e_container_current_get(man); + e = ev; + + if (ecore_x_window_parent_get(e->win) != man->root) return 1; + + o = edje_object_add(con->bg_evas); + ok = e_theme_edje_object_set(o, "base/theme/borders", "widgets/border/default/border"); + if (ok) + { + Evas_Coord x, y, w, h; + int l, r, t, b; + + evas_object_resize(o, 1000, 1000); + edje_object_calc_force(o); + edje_object_part_geometry_get(o, "client", &x, &y, &w, &h); + l = x; + r = 1000 - (x + w); + t = y; + b = 1000 - (y + h); + + ecore_x_netwm_frame_size_set(e->win, l, r, t, b); + } + + return 1; +} + #if 0 /* use later - maybe */ static int _e_manager_cb_window_destroy(void *data, int ev_type, void *ev){return 1;} static int _e_manager_cb_window_hide(void *data, int ev_type, void *ev){return 1;} =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_utils.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- e_utils.c 30 Apr 2005 04:21:55 -0000 1.6 +++ e_utils.c 3 Jun 2005 19:10:25 -0000 1.7 @@ -81,7 +81,7 @@ { E_Container *con; - con = e_manager_container_current_get(man); + con = e_container_current_get(man); if (con) { E_Zone *zone; ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs