more focus issues with linear cycling and tabbed windows
markt markt
4 files changed,
7 insertions(+),
5 deletions(-)
M
ChangeLog
→
ChangeLog
@@ -1,6 +1,8 @@
(Format: Year/Month/Day) Changes for 1.0rc2: *06/06/28: + * Fixed more focus issues with linear cycling and tabbed windows (Mark) + Window.cc FocusControl.cc Screen.cc * Fixed some focus issues on detach and restart (Mark) Window.cc FocusControl.cc/hh Screen.cc *06/06/27:
M
src/FocusControl.cc
→
src/FocusControl.cc
@@ -87,9 +87,9 @@
FocusedWindows *window_list = (opts & CYCLELINEAR) ? &m_creation_order_list : &m_focused_list; if (!m_cycling_focus) { m_cycling_focus = true; - if ((opts & CYCLELINEAR) && m_cycling_window != m_focused_list.end()) { + if (opts & CYCLELINEAR) { m_cycling_creation_order = true; - m_cycling_window = find(window_list->begin(),window_list->end(),*m_cycling_window); + m_cycling_window = find(window_list->begin(),window_list->end(),s_focused_window); } else { m_cycling_creation_order = (opts & CYCLELINEAR); m_cycling_window = window_list->begin();
M
src/Screen.cc
→
src/Screen.cc
@@ -1361,7 +1361,6 @@ FluxboxWindow *win;
if ((win = findGroupLeft(*winclient)) != 0) { win->attachClient(*winclient); Fluxbox::instance()->attachSignals(*winclient); - focusControl().addFocusBack(*winclient); } else { Fluxbox::instance()->attachSignals(*winclient);@@ -1382,9 +1381,9 @@
// always put on end of focused list, if it gets focused it'll get pushed up // there is only the one win client at this stage if (focusControl().focusNew()) - focusControl().addFocusFront(win->winClient()); + focusControl().addFocusFront(*winclient); else - focusControl().addFocusBack(win->winClient()); + focusControl().addFocusBack(*winclient); // we also need to check if another window expects this window to the left // and if so, then join it.
M
src/Window.cc
→
src/Window.cc
@@ -1068,6 +1068,7 @@ // make sure it's in our list
if (client.fbwindow() != this) return false; + m_screen.focusControl().setScreenFocusedWindow(client); m_client = &client; m_client->raise(); m_client->focusSig().notify();