aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrathnor <rathnor>2003-05-08 01:51:18 (GMT)
committerrathnor <rathnor>2003-05-08 01:51:18 (GMT)
commit65fc419175e4e63013f97a8c72df3bb373052c97 (patch)
tree8d4bce9726d661e5899ee00f767331952c050ee5
parentaf6a1a123fc7eba7a15113ef2b78bb805f149e6e (diff)
downloadfluxbox_pavel-65fc419175e4e63013f97a8c72df3bb373052c97.zip
fluxbox_pavel-65fc419175e4e63013f97a8c72df3bb373052c97.tar.bz2
fix some focus problems when changing workspace
-rw-r--r--src/Screen.cc6
-rw-r--r--src/Window.cc4
2 files changed, 6 insertions, 4 deletions
diff --git a/src/Screen.cc b/src/Screen.cc
index fb721a2..a628594 100644
--- a/src/Screen.cc
+++ b/src/Screen.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: Screen.cc,v 1.148 2003/05/08 01:04:05 fluxgen Exp $ 25// $Id: Screen.cc,v 1.149 2003/05/08 01:51:18 rathnor Exp $
26 26
27 27
28#include "Screen.hh" 28#include "Screen.hh"
@@ -2447,7 +2447,9 @@ WinClient *BScreen::getLastFocusedWindow(int workspace) {
2447 for (; it != it_end; ++it) 2447 for (; it != it_end; ++it)
2448 if ((*it)->fbwindow() && 2448 if ((*it)->fbwindow() &&
2449 (((int)(*it)->fbwindow()->getWorkspaceNumber()) == workspace 2449 (((int)(*it)->fbwindow()->getWorkspaceNumber()) == workspace
2450 || (*it)->fbwindow()->isStuck())) 2450 && (!(*it)->fbwindow()->isStuck() || (*it)->fbwindow()->isFocused())))
2451 // only give focus to a stuck window if it is currently focused
2452 // otherwise they tend to override normal workspace focus
2451 return *it; 2453 return *it;
2452 return 0; 2454 return 0;
2453} 2455}
diff --git a/src/Window.cc b/src/Window.cc
index 967f943..b6a80ba 100644
--- a/src/Window.cc
+++ b/src/Window.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: Window.cc,v 1.161 2003/05/07 16:44:51 rathnor Exp $ 25// $Id: Window.cc,v 1.162 2003/05/08 01:51:18 rathnor Exp $
26 26
27#include "Window.hh" 27#include "Window.hh"
28 28
@@ -1260,7 +1260,7 @@ void FluxboxWindow::deiconify(bool reassoc, bool do_raise) {
1260 1260
1261 m_frame.show(); 1261 m_frame.show();
1262 1262
1263 if (was_iconic || screen.doFocusNew()) 1263 if (was_iconic && screen.doFocusNew())
1264 setInputFocus(); 1264 setInputFocus();
1265 1265
1266 if (focused != m_frame.focused()) 1266 if (focused != m_frame.focused())