diff options
author | fluxgen <fluxgen> | 2003-12-21 13:31:12 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2003-12-21 13:31:12 (GMT) |
commit | eb3533f81ebd8a194b56d6f6f6c88916f6533b54 (patch) | |
tree | 29c3ad391ddd84efd8a194d6477862fcabbf29ff | |
parent | ce8208bab89507e090dc944b5e8359959594d26b (diff) | |
download | fluxbox-eb3533f81ebd8a194b56d6f6f6c88916f6533b54.zip fluxbox-eb3533f81ebd8a194b56d6f6f6c88916f6533b54.tar.bz2 |
big comment
-rw-r--r-- | src/WinClient.cc | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/WinClient.cc b/src/WinClient.cc index 7ed3c64..69260a8 100644 --- a/src/WinClient.cc +++ b/src/WinClient.cc | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: WinClient.cc,v 1.33 2003/12/15 20:20:20 rathnor Exp $ | 22 | // $Id: WinClient.cc,v 1.34 2003/12/21 13:31:12 fluxgen Exp $ |
23 | 23 | ||
24 | #include "WinClient.hh" | 24 | #include "WinClient.hh" |
25 | 25 | ||
@@ -386,6 +386,20 @@ void WinClient::updateWMHints() { | |||
386 | initial_state = NormalState; | 386 | initial_state = NormalState; |
387 | } else { | 387 | } else { |
388 | wm_hint_flags = wmhint->flags; | 388 | wm_hint_flags = wmhint->flags; |
389 | /* | ||
390 | * ICCCM 4.1.7 | ||
391 | *--------------------------------------------- | ||
392 | * Input Model Input Field WM_TAKE_FOCUS | ||
393 | *--------------------------------------------- | ||
394 | * No Input False Absent | ||
395 | * Passive True Absent | ||
396 | * Locally Active True Present | ||
397 | * Globally Active False Present | ||
398 | *--------------------------------------------- | ||
399 | * Here: WM_TAKE_FOCUS = send_focus_message | ||
400 | * Input Field = wmhint->input | ||
401 | * Input Model = m_focus_mode | ||
402 | */ | ||
389 | if (wmhint->flags & InputHint) { | 403 | if (wmhint->flags & InputHint) { |
390 | if (wmhint->input) { | 404 | if (wmhint->input) { |
391 | if (send_focus_message) | 405 | if (send_focus_message) |
@@ -398,13 +412,14 @@ void WinClient::updateWMHints() { | |||
398 | else | 412 | else |
399 | m_focus_mode = F_NOINPUT; | 413 | m_focus_mode = F_NOINPUT; |
400 | } | 414 | } |
401 | } else // not present => false (check?). | 415 | } else { // not present => assuming False. |
402 | // note that mozilla has no value, and has send_focus | 416 | // note that mozilla has no value, and has send_focus |
403 | // and requires globally active | 417 | // and requires globally active |
404 | if (send_focus_message) | 418 | if (send_focus_message) |
405 | m_focus_mode = F_GLOBALLYACTIVE; | 419 | m_focus_mode = F_GLOBALLYACTIVE; |
406 | else // lots of apps have no hint, but need focus | 420 | else // lots of apps have no hint, but need focus |
407 | m_focus_mode = F_PASSIVE; | 421 | m_focus_mode = F_PASSIVE; |
422 | } | ||
408 | 423 | ||
409 | if (wmhint->flags & StateHint) | 424 | if (wmhint->flags & StateHint) |
410 | initial_state = wmhint->initial_state; | 425 | initial_state = wmhint->initial_state; |