all repos — fluxbox @ f21186431b12bb2f91f31c766e7f2eaced7b5e63

custom fork of the fluxbox windowmanager

fixed tabs disappearing on reconfigure with [Deco] {TAB} and tabs in titlebar
markt markt
commit

f21186431b12bb2f91f31c766e7f2eaced7b5e63

parent

b66dde6e943ec3919a6f4e74cd73397238ccd21a

3 files changed, 10 insertions(+), 15 deletions(-)

jump to
M ChangeLogChangeLog

@@ -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
M src/Screen.ccsrc/Screen.cc

@@ -982,24 +982,14 @@ for (; w_it != w_it_end; ++w_it) {

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(); }
M src/Window.ccsrc/Window.cc

@@ -3104,8 +3104,10 @@ // we rely on frame not doing anything if it is already shown/hidden

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();