Enlightenment CVS committal Author : sebastid Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e.h e_border.c Log Message: Make hints who want to change the border set border.name = NULL, and move tests for border.name to client.border.changed test. If a border changes and the border is shaded, remember the change and apply it when the border no longer is shaded. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e.h,v retrieving revision 1.45 retrieving revision 1.46 diff -u -3 -r1.45 -r1.46 --- e.h 1 Jun 2006 06:44:35 -0000 1.45 +++ e.h 10 Jun 2006 21:02:23 -0000 1.46 @@ -7,8 +7,8 @@ #include "config.h" #define USE_IPC -/* #define OBJECT_PARANOIA_CHECK */ -/* #define OBJECT_CHECK */ +#define OBJECT_PARANOIA_CHECK +#define OBJECT_CHECK #include <stdio.h> #include <stdlib.h> =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.495 retrieving revision 1.496 diff -u -3 -r1.495 -r1.496 --- e_border.c 10 Jun 2006 11:08:27 -0000 1.495 +++ e_border.c 10 Jun 2006 21:02:23 -0000 1.496 @@ -4596,30 +4596,24 @@ if (bd->client.netwm.fetch.type) { e_hints_window_type_get(bd); - if (((!bd->lock_border) || (!bd->client.border.name)) && (!bd->shaded)) + if ((!bd->lock_border) || (!bd->client.border.name)) { - if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DESKTOP) + if (bd->client.border.name) evas_stringshare_del(bd->client.border.name); + bd->client.border.name = NULL; + bd->client.border.changed = 1; + } + if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DOCK) + { + /* TODO: Make this user options */ + if (!bd->client.netwm.state.skip_pager) { - if (bd->client.border.name) evas_stringshare_del(bd->client.border.name); - bd->client.border.name = evas_stringshare_add("borderless"); - bd->client.border.changed = 1; + bd->client.netwm.state.skip_pager = 1; + bd->client.netwm.update.state = 1; } - else if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DOCK) + if (!bd->client.netwm.state.skip_taskbar) { - if (bd->client.border.name) evas_stringshare_del(bd->client.border.name); - bd->client.border.name = evas_stringshare_add("borderless"); - bd->client.border.changed = 1; - - if (!bd->client.netwm.state.skip_pager) - { - bd->client.netwm.state.skip_pager = 1; - bd->client.netwm.update.state = 1; - } - if (!bd->client.netwm.state.skip_taskbar) - { - bd->client.netwm.state.skip_taskbar = 1; - bd->client.netwm.update.state = 1; - } + bd->client.netwm.state.skip_taskbar = 1; + bd->client.netwm.update.state = 1; } } @@ -4908,15 +4902,11 @@ } if (bd->client.mwm.borderless != pb) { - if (((!bd->lock_border) || (!bd->client.border.name)) - && (!bd->shaded)) + if ((!bd->lock_border) || (!bd->client.border.name)) { if (bd->client.border.name) evas_stringshare_del(bd->client.border.name); - if (bd->client.mwm.borderless) - bd->client.border.name = evas_stringshare_add("borderless"); - else - bd->client.border.name = evas_stringshare_add("default"); + bd->client.border.name = NULL; bd->client.border.changed = 1; } } @@ -4939,38 +4929,11 @@ // e_object_breadcrumb_add(E_OBJECT(bd), "border_add_event"); ecore_event_add(E_EVENT_BORDER_ADD, ev, _e_border_event_border_add_free, NULL); - if (((!bd->lock_border) || (!bd->client.border.name)) - && (!bd->shaded)) + if ((!bd->lock_border) || (!bd->client.border.name)) { if (bd->client.border.name) evas_stringshare_del(bd->client.border.name); - if (bd->client.mwm.borderless) - bd->client.border.name = evas_stringshare_add("borderless"); - else if (((bd->client.icccm.transient_for != 0) || - (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG)) && - (bd->client.icccm.min_w == bd->client.icccm.max_w) && - (bd->client.icccm.min_h == bd->client.icccm.max_h)) - bd->client.border.name = evas_stringshare_add("noresize_dialog"); - else if ((bd->client.icccm.min_w == bd->client.icccm.max_w) && - (bd->client.icccm.min_h == bd->client.icccm.max_h)) - bd->client.border.name = evas_stringshare_add("noresize"); - else if (bd->client.shaped) - bd->client.border.name = evas_stringshare_add("shaped"); - else if ((!bd->client.icccm.accepts_focus) && - (!bd->client.icccm.take_focus)) - bd->client.border.name = evas_stringshare_add("nofocus"); - else if (bd->client.icccm.urgent) - bd->client.border.name = evas_stringshare_add("urgent"); - else if ((bd->client.icccm.transient_for != 0) || - (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG)) - bd->client.border.name = evas_stringshare_add("dialog"); - else if (bd->client.netwm.state.modal) - bd->client.border.name = evas_stringshare_add("modal"); - else if ((bd->client.netwm.state.skip_taskbar) || - (bd->client.netwm.state.skip_pager)) - bd->client.border.name = evas_stringshare_add("skipped"); - else - bd->client.border.name = evas_stringshare_add("default"); + bd->client.border.name = NULL; bd->client.border.changed = 1; } if (!bd->remember) @@ -5089,7 +5052,7 @@ } } - if (bd->client.border.changed) + if ((bd->client.border.changed) && (!bd->shaded)) { Evas_Object *o; char buf[4096]; @@ -5098,7 +5061,35 @@ int ok; if (!bd->client.border.name) - bd->client.border.name = evas_stringshare_add("default"); + { + if (bd->client.mwm.borderless) + bd->client.border.name = evas_stringshare_add("borderless"); + else if (((bd->client.icccm.transient_for != 0) || + (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG)) && + (bd->client.icccm.min_w == bd->client.icccm.max_w) && + (bd->client.icccm.min_h == bd->client.icccm.max_h)) + bd->client.border.name = evas_stringshare_add("noresize_dialog"); + else if ((bd->client.icccm.min_w == bd->client.icccm.max_w) && + (bd->client.icccm.min_h == bd->client.icccm.max_h)) + bd->client.border.name = evas_stringshare_add("noresize"); + else if (bd->client.shaped) + bd->client.border.name = evas_stringshare_add("shaped"); + else if ((!bd->client.icccm.accepts_focus) && + (!bd->client.icccm.take_focus)) + bd->client.border.name = evas_stringshare_add("nofocus"); + else if (bd->client.icccm.urgent) + bd->client.border.name = evas_stringshare_add("urgent"); + else if ((bd->client.icccm.transient_for != 0) || + (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG)) + bd->client.border.name = evas_stringshare_add("dialog"); + else if (bd->client.netwm.state.modal) + bd->client.border.name = evas_stringshare_add("modal"); + else if ((bd->client.netwm.state.skip_taskbar) || + (bd->client.netwm.state.skip_pager)) + bd->client.border.name = evas_stringshare_add("skipped"); + else + bd->client.border.name = evas_stringshare_add("default"); + } if (bd->bg_object) { bd->w -= (bd->client_inset.l + bd->client_inset.r); _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs