diff options
author | rathnor <rathnor> | 2003-05-08 01:51:18 (GMT) |
---|---|---|
committer | rathnor <rathnor> | 2003-05-08 01:51:18 (GMT) |
commit | 65fc419175e4e63013f97a8c72df3bb373052c97 (patch) | |
tree | 8d4bce9726d661e5899ee00f767331952c050ee5 | |
parent | af6a1a123fc7eba7a15113ef2b78bb805f149e6e (diff) | |
download | fluxbox-65fc419175e4e63013f97a8c72df3bb373052c97.zip fluxbox-65fc419175e4e63013f97a8c72df3bb373052c97.tar.bz2 |
fix some focus problems when changing workspace
-rw-r--r-- | src/Screen.cc | 6 | ||||
-rw-r--r-- | src/Window.cc | 4 |
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()) |