From 0e44ef8e96a3bd73ab2054cad431f8ec4ab97f85 Mon Sep 17 00:00:00 2001 From: sebastid Date: Thu, 21 Jul 2005 11:15:43 +0000 Subject: [PATCH] Restore fullscreen when returning to a desk with a border that was fullscreen. SVN revision: 15852 --- src/bin/e_border.h | 1 + src/bin/e_desk.c | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/bin/e_border.h b/src/bin/e_border.h index 64109a59c..465c894b1 100644 --- a/src/bin/e_border.h +++ b/src/bin/e_border.h @@ -278,6 +278,7 @@ struct _E_Border unsigned int need_shape_merge : 1; unsigned int need_shape_export : 1; unsigned int fullscreen : 1; + unsigned int want_fullscreen : 1; unsigned int already_unparented : 1; unsigned int need_reparent : 1; unsigned int button_grabbed : 1; diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c index 4a8173593..ee5b5f4d3 100644 --- a/src/bin/e_desk.c +++ b/src/bin/e_desk.c @@ -87,11 +87,25 @@ e_desk_show(E_Desk *desk) if ((bd->desk->zone == desk->zone) && (!bd->iconic)) { if ((bd->desk == desk) || (bd->sticky)) - e_border_show(bd); + { + e_border_show(bd); + if (bd->want_fullscreen) + { + e_border_fullscreen(bd); + bd->want_fullscreen = 0; + } + } else if (bd->moving) e_border_desk_set(bd, desk); else - e_border_hide(bd, 1); + { + /* We have to remember that this border wants to become + * fullscreen when we go back to this desk. + */ + if (bd->fullscreen) + bd->want_fullscreen = 1; + e_border_hide(bd, 1); + } } } e_container_border_list_free(bl);