From f21186431b12bb2f91f31c766e7f2eaced7b5e63 Mon Sep 17 00:00:00 2001 From: markt Date: Sat, 12 May 2007 17:31:34 +0000 Subject: fixed tabs disappearing on reconfigure with [Deco] {TAB} and tabs in titlebar --- ChangeLog | 3 +++ src/Screen.cc | 18 ++++-------------- src/Window.cc | 4 +++- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index b6aba3d..269cef2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ (Format: Year/Month/Day) Changes for 1.0.0: +*07/05/12: + * Fixed tabs disappearing with [Deco] {TAB} and tabs in titlebar (Mark) + Window.cc Screen.cc *07/05/04: * Fixed infinite loop caused by deiconify command (Mark) FbCommands.cc diff --git a/src/Screen.cc b/src/Screen.cc index 0075c4b..625e412 100644 --- a/src/Screen.cc +++ b/src/Screen.cc @@ -982,24 +982,14 @@ void BScreen::reconfigureTabs() { if (!(*w_it)->windowList().empty()) { Workspace::Windows::iterator win_it = (*w_it)->windowList().begin(); const Workspace::Windows::iterator win_it_end = (*w_it)->windowList().end(); - for (; win_it != win_it_end; ++win_it) { - (*win_it)->frame().updateTabProperties(); - if (*resource.default_internal_tabs) - (*win_it)->frame().setTabMode(FbWinFrame::INTERNAL); - else - (*win_it)->frame().setTabMode(FbWinFrame::EXTERNAL); - } + for (; win_it != win_it_end; ++win_it) + (*win_it)->applyDecorations(); } } Icons::iterator icon_it = m_icon_list.begin(); Icons::iterator icon_it_end = m_icon_list.end(); - for (; icon_it != icon_it_end; ++icon_it) { - (*icon_it)->frame().updateTabProperties(); - if (*resource.default_internal_tabs) - (*icon_it)->frame().setTabMode(FbWinFrame::INTERNAL); - else - (*icon_it)->frame().setTabMode(FbWinFrame::EXTERNAL); - } + for (; icon_it != icon_it_end; ++icon_it) + (*icon_it)->applyDecorations(); } diff --git a/src/Window.cc b/src/Window.cc index 24fc8df..87d8d15 100644 --- a/src/Window.cc +++ b/src/Window.cc @@ -3104,8 +3104,10 @@ void FluxboxWindow::applyDecorations(bool initial) { if (decorations.titlebar) { bool change = frame().showTitlebar(); client_move |= change; - if (change && screen().getDefaultInternalTabs()) { + if (screen().getDefaultInternalTabs()) { client_move |= frame().setTabMode(FbWinFrame::INTERNAL); + } else { + client_move |= frame().setTabMode(FbWinFrame::EXTERNAL); } } else { client_move |= frame().hideTitlebar(); -- cgit v0.11.2