aboutsummaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
authormarkt <markt>2006-06-28 00:54:40 (GMT)
committermarkt <markt>2006-06-28 00:54:40 (GMT)
commit03631ca98e7e20ff4b0b0f162e4720e0282dc7e4 (patch)
treee26bab1e7cdae944c1504ba4bccbda6fbdd76150 /src/Window.cc
parent5459e88035ac09dee7af2169f1f8bc502311e2d4 (diff)
downloadfluxbox-03631ca98e7e20ff4b0b0f162e4720e0282dc7e4.zip
fluxbox-03631ca98e7e20ff4b0b0f162e4720e0282dc7e4.tar.bz2
Fix some focus issues on detach and restart
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Window.cc b/src/Window.cc
index 2016ab9..0ca7ba9 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -766,7 +766,6 @@ bool FluxboxWindow::detachClient(WinClient &client) {
766 // otherwise this wouldn't be here (refer numClients() <= 1 return) 766 // otherwise this wouldn't be here (refer numClients() <= 1 return)
767 client.setFluxboxWindow(screen().createWindow(client)); 767 client.setFluxboxWindow(screen().createWindow(client));
768 m_client->raise(); 768 m_client->raise();
769 setInputFocus();
770 return true; 769 return true;
771} 770}
772 771
@@ -776,8 +775,10 @@ void FluxboxWindow::detachCurrentClient() {
776 return; 775 return;
777 WinClient &client = *m_client; 776 WinClient &client = *m_client;
778 detachClient(*m_client); 777 detachClient(*m_client);
779 if (client.fbwindow() != 0) 778 if (client.fbwindow() != 0) {
780 client.fbwindow()->show(); 779 client.fbwindow()->show();
780 FocusControl::setFocusedWindow(&client);
781 }
781} 782}
782 783
783/// removes client from client list, does not create new fluxboxwindow for it 784/// removes client from client list, does not create new fluxboxwindow for it
@@ -3660,6 +3661,7 @@ void FluxboxWindow::attachTo(int x, int y, bool interrupted) {
3660 if (client.fbwindow() != 0) { 3661 if (client.fbwindow() != 0) {
3661 client.fbwindow()->move(frame().x() - m_last_resize_x + x, frame().y() - m_last_resize_y + y); 3662 client.fbwindow()->move(frame().x() - m_last_resize_x + x, frame().y() - m_last_resize_y + y);
3662 client.fbwindow()->show(); 3663 client.fbwindow()->show();
3664 FocusControl::setFocusedWindow(&client);
3663 } 3665 }
3664 } else if( attach_to_win == this && attach_to_win->isTabable()) { 3666 } else if( attach_to_win == this && attach_to_win->isTabable()) {
3665 //reording of tabs within a frame 3667 //reording of tabs within a frame