diff options
Diffstat (limited to 'src/core/screen.c')
-rw-r--r-- | src/core/screen.c | 74 |
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); |