summaryrefslogtreecommitdiff
path: root/src/core/screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/screen.c')
-rw-r--r--src/core/screen.c74
1 files changed, 41 insertions, 33 deletions
diff --git a/src/core/screen.c b/src/core/screen.c
index 3c1caf61..34016d51 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -1273,6 +1273,7 @@ meta_screen_ensure_tab_popup (MetaScreen *screen,
GList *tmp;
int len;
int i;
+ gint border;
if (screen->tab_popup)
return;
@@ -1289,6 +1290,8 @@ meta_screen_ensure_tab_popup (MetaScreen *screen,
entries[len].title = NULL;
entries[len].icon = NULL;
+ border = meta_prefs_show_tab_border() ? BORDER_OUTLINE_TAB |
+ BORDER_OUTLINE_WINDOW : BORDER_OUTLINE_TAB;
i = 0;
tmp = tab_list;
while (i < len)
@@ -1353,38 +1356,43 @@ meta_screen_ensure_tab_popup (MetaScreen *screen,
* sides. On the top it should be the size of the south frame
* edge.
*/
-#define OUTLINE_WIDTH 5
- /* Top side */
- if (!entries[i].hidden &&
- window->frame && window->frame->bottom_height > 0 &&
- window->frame->child_y >= window->frame->bottom_height)
- entries[i].inner_rect.y = window->frame->bottom_height;
- else
- entries[i].inner_rect.y = OUTLINE_WIDTH;
-
- /* Bottom side */
- if (!entries[i].hidden &&
- window->frame && window->frame->bottom_height != 0)
- entries[i].inner_rect.height = r.height
- - entries[i].inner_rect.y - window->frame->bottom_height;
- else
- entries[i].inner_rect.height = r.height
- - entries[i].inner_rect.y - OUTLINE_WIDTH;
-
- /* Left side */
- if (!entries[i].hidden && window->frame && window->frame->child_x != 0)
- entries[i].inner_rect.x = window->frame->child_x;
- else
- entries[i].inner_rect.x = OUTLINE_WIDTH;
+ if (border & BORDER_OUTLINE_WINDOW)
+ {
+ const gint border_outline_width = 5;
+
+ /* Top side */
+ if (!entries[i].hidden &&
+ window->frame && window->frame->bottom_height > 0 &&
+ window->frame->child_y >= window->frame->bottom_height)
+ entries[i].inner_rect.y = window->frame->bottom_height;
+ else
+ entries[i].inner_rect.y = border_outline_width;
+
+ /* Bottom side */
+ if (!entries[i].hidden &&
+ window->frame && window->frame->bottom_height != 0)
+ entries[i].inner_rect.height = r.height
+ - entries[i].inner_rect.y - window->frame->bottom_height;
+ else
+ entries[i].inner_rect.height = r.height
+ - entries[i].inner_rect.y - border_outline_width;
+
+ /* Left side */
+ if (!entries[i].hidden && window->frame && window->frame->child_x != 0)
+ entries[i].inner_rect.x = window->frame->child_x;
+ else
+ entries[i].inner_rect.x = border_outline_width;
+
+ /* Right side */
+ if (!entries[i].hidden &&
+ window->frame && window->frame->right_width != 0)
+ entries[i].inner_rect.width = r.width
+ - entries[i].inner_rect.x - window->frame->right_width;
+ else
+ entries[i].inner_rect.width = r.width
+ - entries[i].inner_rect.x - border_outline_width;
+ }
- /* Right side */
- if (!entries[i].hidden &&
- window->frame && window->frame->right_width != 0)
- entries[i].inner_rect.width = r.width
- - entries[i].inner_rect.x - window->frame->right_width;
- else
- entries[i].inner_rect.width = r.width
- - entries[i].inner_rect.x - OUTLINE_WIDTH;
++i;
tmp = tmp->next;
@@ -1394,7 +1402,7 @@ meta_screen_ensure_tab_popup (MetaScreen *screen,
screen->number,
len,
5, /* FIXME */
- TRUE);
+ border);
for (i = 0; i < len; i++)
g_object_unref (entries[i].icon);
@@ -1466,7 +1474,7 @@ meta_screen_ensure_workspace_popup (MetaScreen *screen)
screen->number,
len,
layout.cols,
- FALSE);
+ BORDER_OUTLINE_WORKSPACE);
g_free (entries);
meta_screen_free_workspace_layout (&layout);