summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Window.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/Window.cc b/src/Window.cc
index 4d407ad..c08cd19 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.255 2003/12/21 15:24:28 rathnor Exp $ 25// $Id: Window.cc,v 1.256 2003/12/21 16:23:19 fluxgen Exp $
26 26
27#include "Window.hh" 27#include "Window.hh"
28 28
@@ -902,8 +902,12 @@ bool FluxboxWindow::setCurrentClient(WinClient &client, bool setinput, long igno
902 902
903 m_client = &client; 903 m_client = &client;
904 m_client->raise(); 904 m_client->raise();
905 frame().setLabelButtonFocus(*m_labelbuttons[m_client]); 905 if (setinput && setInputFocus(ignore_event)) {
906 return setinput && setInputFocus(ignore_event); 906 frame().setLabelButtonFocus(*m_labelbuttons[m_client]);
907 return true;
908 }
909
910 return false;
907} 911}
908 912
909bool FluxboxWindow::isGroupable() const { 913bool FluxboxWindow::isGroupable() const {
@@ -1195,14 +1199,13 @@ bool FluxboxWindow::setInputFocus(long ignore_event) {
1195 if (m_client->getFocusMode() == WinClient::F_LOCALLYACTIVE || 1199 if (m_client->getFocusMode() == WinClient::F_LOCALLYACTIVE ||
1196 m_client->getFocusMode() == WinClient::F_PASSIVE) { 1200 m_client->getFocusMode() == WinClient::F_PASSIVE) {
1197 m_client->setInputFocus(RevertToPointerRoot, CurrentTime); 1201 m_client->setInputFocus(RevertToPointerRoot, CurrentTime);
1198
1199 // this may or may not send, but we've setInputFocus already, so return true
1200 m_client->sendFocus(); 1202 m_client->sendFocus();
1201 ret = true; 1203 ret = true;
1202 } else { 1204 } else {
1203 ret = m_client->sendFocus(); // checks if it should send or not 1205 ret = m_client->sendFocus();
1204 } 1206 }
1205 1207
1208
1206 // People can ignore an event until the focus comes through 1209 // People can ignore an event until the focus comes through
1207 // this is most likely to be an EnterNotify for sloppy focus 1210 // this is most likely to be an EnterNotify for sloppy focus
1208 if (ret && m_client->getFocusMode() != WinClient::F_NOINPUT && ignore_event != None) 1211 if (ret && m_client->getFocusMode() != WinClient::F_NOINPUT && ignore_event != None)