From 065745cc6e53845c9fe3286e164d453fcf5d4b43 Mon Sep 17 00:00:00 2001 From: sebastid Date: Mon, 17 Jul 2006 19:04:01 +0000 Subject: [PATCH] Remember user set bordertype in own variable, and prefer it on border change. SVN revision: 23994 --- src/bin/e_border.c | 15 ++++++++++----- src/bin/e_border.h | 1 + src/bin/e_int_border_border.c | 4 +++- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/bin/e_border.c b/src/bin/e_border.c index 8c09ab0d1..2bf3cb291 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -5202,11 +5202,14 @@ _e_border_eval(E_Border *bd) } if (rem->apply & E_REMEMBER_APPLY_BORDER) { - if (bd->client.border.name) evas_stringshare_del(bd->client.border.name); - bd->client.border.name = NULL; if (rem->prop.border) - bd->client.border.name = evas_stringshare_add(rem->prop.border); - bd->client.border.changed = 1; + { + if (bd->client.border.name) evas_stringshare_del(bd->client.border.name); + bd->client.border.name = NULL; + if (bd->bordername) evas_stringshare_del(bd->bordername); + bd->bordername = evas_stringshare_add(rem->prop.border); + bd->client.border.changed = 1; + } } if (rem->apply & E_REMEMBER_APPLY_STICKY) { @@ -5263,7 +5266,9 @@ _e_border_eval(E_Border *bd) if (!bd->client.border.name) { - if (bd->fullscreen) + if (bd->bordername) + bd->client.border.name = evas_stringshare_add(bd->bordername); + else if (bd->fullscreen) bd->client.border.name = evas_stringshare_add("borderless"); else if ((bd->client.mwm.borderless) || (bd->borderless)) bd->client.border.name = evas_stringshare_add("borderless"); diff --git a/src/bin/e_border.h b/src/bin/e_border.h index 77c17d2b2..9195c553f 100644 --- a/src/bin/e_border.h +++ b/src/bin/e_border.h @@ -341,6 +341,7 @@ struct _E_Border unsigned int need_maximize : 1; E_Maximize maximized; unsigned int borderless : 1; + const char *bordername; unsigned int lock_user_location : 1; /*DONE*/ unsigned int lock_client_location : 1; /*DONE*/ diff --git a/src/bin/e_int_border_border.c b/src/bin/e_int_border_border.c index 304a522cc..f75eb77fd 100644 --- a/src/bin/e_int_border_border.c +++ b/src/bin/e_int_border_border.c @@ -116,7 +116,9 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) if ((!cfdata->border->lock_border) && (!cfdata->border->shaded)) { if (cfdata->border->client.border.name) evas_stringshare_del(cfdata->border->client.border.name); - cfdata->border->client.border.name = evas_stringshare_add(cfdata->bordername); + cfdata->border->client.border.name = NULL; + if (cfdata->border->bordername) evas_stringshare_del(cfdata->border->bordername); + cfdata->border->bordername = evas_stringshare_add(cfdata->bordername); cfdata->border->client.border.changed = 1; cfdata->border->changed = 1; }