mouse focus fixes - thanks Scott Kuhl: skuhl AT cs utah edu

This commit is contained in:
simonb 2006-04-19 06:55:14 +00:00
parent 759ca9e6b5
commit 853b034037
3 changed files with 5 additions and 2 deletions

View file

@ -1,6 +1,8 @@
(Format: Year/Month/Day)
Changes for 0.9.16:
*06/04/19:
* Fixes to Mouse Focus (thanks Scott Kuhl; skuhl AT cs utah edu)
Window.cc
* Allow ~ in "background" pixmap options (Simon + thanks_markt)
RootTheme.cc
* Windows keep relative position in ArrangeWindows (Mathias)

View file

@ -82,6 +82,7 @@ public:
void dirFocus(FluxboxWindow &win, FocusDir dir);
bool isMouseFocus() const { return focusModel() == MOUSEFOCUS; }
bool isMouseTabFocus() const { return tabFocusModel() == MOUSETABFOCUS; }
bool isCycling() const { return m_cycling_focus; }
void addFocusFront(WinClient &client);
void addFocusBack(WinClient &client);

View file

@ -2662,7 +2662,7 @@ void FluxboxWindow::buttonPressEvent(XButtonEvent &be) {
frame().buttonPressEvent(be);
if (be.button == 1 || (be.button == 3 && be.state == Mod1Mask)) {
if ((! focused) && (! screen().focusControl().isMouseFocus())) { //check focus
if ( (! focused) ) { //check focus
setInputFocus();
}
@ -3024,7 +3024,7 @@ void FluxboxWindow::enterNotifyEvent(XCrossingEvent &ev) {
sa.enter = sa.leave = False;
XCheckIfEvent(display, &dummy, queueScanner, (char *) &sa);
if ((!sa.leave || sa.inferior)) {
if ((!sa.leave || sa.inferior) && !screen().focusControl().isCycling() ) {
setInputFocus();
}
}