aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrathnor <rathnor>2003-04-15 13:58:57 (GMT)
committerrathnor <rathnor>2003-04-15 13:58:57 (GMT)
commite0d61ab4f5d43abda220ab9ee7069f897bc713c4 (patch)
tree75e5bbac57d9eba2915cef1e7643d42bd140794c
parenta9c82d41d86ea632bb9acdb8591664da2cb87f6d (diff)
downloadfluxbox-e0d61ab4f5d43abda220ab9ee7069f897bc713c4.zip
fluxbox-e0d61ab4f5d43abda220ab9ee7069f897bc713c4.tar.bz2
use most recently focused window to attach (using screen's focus list)
(Simon)
-rw-r--r--src/fluxbox.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc
index 9939c90..b9fa1aa 100644
--- a/src/fluxbox.cc
+++ b/src/fluxbox.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: fluxbox.cc,v 1.109 2003/04/15 12:11:54 fluxgen Exp $ 25// $Id: fluxbox.cc,v 1.110 2003/04/15 13:58:57 rathnor Exp $
26 26
27#include "fluxbox.hh" 27#include "fluxbox.hh"
28 28
@@ -1190,10 +1190,12 @@ void Fluxbox::handleKeyEvent(XKeyEvent &ke) {
1190 Workspace::Windows &wins = space->getWindowList(); 1190 Workspace::Windows &wins = space->getWindowList();
1191 if (wins.size() == 1) 1191 if (wins.size() == 1)
1192 break; 1192 break;
1193 Workspace::Windows::iterator it = wins.begin(); 1193 BScreen::FocusedWindows &fwins = screen->getFocusedList();
1194 for (; it != wins.end(); ++it) { 1194 BScreen::FocusedWindows::iterator it = fwins.begin();
1195 if ((*it) != focused_window) { 1195 for (; it != fwins.end(); ++it) {
1196 focused_window->attachClient((*it)->winClient()); 1196 if ((*it)->fbwindow() != focused_window &&
1197 (*it)->fbwindow()->getWorkspaceNumber() == screen->getCurrentWorkspaceID()) {
1198 focused_window->attachClient(**it);
1197 break; 1199 break;
1198 } 1200 }
1199 } 1201 }