diff options
author | Elijah Newren <newren gmail com> | 2007-04-04 21:54:56 +0000 |
---|---|---|
committer | Elijah Newren <newren@src.gnome.org> | 2007-04-04 21:54:56 +0000 |
commit | 921661e91d8b4602a2903dee805a5505da052da9 (patch) | |
tree | f98f9073740bfbb415d3009da8636f51c1b3ee47 /doc/how-to-get-focus-right.txt | |
parent | 7a799b3a6356be3b44dc249786fe31b7a4fb713d (diff) | |
download | metacity-921661e91d8b4602a2903dee805a5505da052da9.tar.gz |
Fix lots of little issues with min/max constraints and size increment
2004-04-04 Elijah Newren <newren gmail com>
Fix lots of little issues with min/max constraints and size
increment constraints. Fixes #329152, #418395, and possibly
others.
* src/window-props.c (meta_set_normal_hints):
Do more checking to make sure application specified constraints
are self-consistent, modifying the size_hints as necessary to
achieve self-consistency.
* src/constraints.c (setup_constraint_info): remove ugly
copy-pasto, (constrain_size_increments): be careful that fixing
violation of the constraints doesn't cause a violation of the
minimum size constraints.
* src/window.c (ensure_size_hints_satisfied): new function,
(meta_window_unmaximize, meta_window_unmake_fullscreen): the
saved_rect may no longer be valid (as in the case of #329152) so
call ensure_size_hints_satisfied to fix it up.
* doc/how-to-get-focus-right.txt: Some minor spacing and wording
fixes completely unrelated to the rest of this commit
svn path=/trunk/; revision=3155
Diffstat (limited to 'doc/how-to-get-focus-right.txt')
-rw-r--r-- | doc/how-to-get-focus-right.txt | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/doc/how-to-get-focus-right.txt b/doc/how-to-get-focus-right.txt index c7d807be..53cfa524 100644 --- a/doc/how-to-get-focus-right.txt +++ b/doc/how-to-get-focus-right.txt @@ -21,7 +21,6 @@ Focus method Invariant sloppy If the mouse is in a window, then it is focused; if the mouse is not in a window, then the most recently used window is focused. - mouse If the mouse is in a non-DESKTOP window, then it is focused; otherwise, the designated "no_focus_window" is focused @@ -36,7 +35,6 @@ Focus method Behavior on top) sloppy Focus the window containing the pointer if there is such a window, otherwise focus the most recently used window. - mouse Focus the non-DESKTOP window containing the pointer if there is one, otherwise focus the designated "no_focus_window". @@ -66,9 +64,9 @@ cases in which a new window shouldn't be focused: To handle these cases, Metacity compares timestamps of the event that caused the launch and the timestamp of the last interaction with the -focused window. (Case 2 is handled by providing a special timestamp -of 0 for the launch time, which ensures that the window that appears -doesn't get focus) +focused window. (Case 2 is handled by the application providing a +special timestamp of 0 for the launch time, which ensures that the +window that appears doesn't get focus) If the newly launched window isn't focused, some things should be done to alert the user that there is a window to work with: @@ -88,10 +86,10 @@ attempt to handle the INHERENTLY CONFLICTING CONSTRAINTS. Metacity does this by having a mouse_mode boolean used to determine which of the two sets of invariants holds. This mode is set according to which method was most recently used to choose a focus window: - 1) When receiving EnterNotify/LeaveNotify events from mouse movement, set + 1) When receiving EnterNotify events from mouse movement, set mouse_mode to TRUE. 2) When using keynav to choose a focus window (e.g. alt-tab, alt-esc, - move-window-to-workspace keybindings), set mouse_mode to FALSE. + alt-f2, move-window-to-workspace keybindings), set mouse_mode to FALSE. 3) When handling events that don't choose a focus window but rather need a focus_window chosen for them (e.g. switch-to-workspace keybindings), don't change the mouse_mode and just use the current value. |