Ignore edge resistance for size-increment windows when resizing with the
2006-10-02 Elijah Newren <newren gmail com> Ignore edge resistance for size-increment windows when resizing with the keyboard. #346782. * src/edge-resistance.c (apply_edge_resistance_to_each_side): ignore edge resistance for size-increment windows when resizing with the keyboard, (apply_edge_resistance_to_each_side, meta_window_edge_resistance_for_move, meta_window_edge_resistance_for_resize): pass a is_resize parameter as well
This commit is contained in:
parent
c4fa0d118c
commit
25910508ae
12
ChangeLog
12
ChangeLog
@ -1,3 +1,15 @@
|
|||||||
|
2006-10-02 Elijah Newren <newren gmail com>
|
||||||
|
|
||||||
|
Ignore edge resistance for size-increment windows when resizing
|
||||||
|
with the keyboard. #346782.
|
||||||
|
|
||||||
|
* src/edge-resistance.c (apply_edge_resistance_to_each_side):
|
||||||
|
ignore edge resistance for size-increment windows when resizing
|
||||||
|
with the keyboard, (apply_edge_resistance_to_each_side,
|
||||||
|
meta_window_edge_resistance_for_move,
|
||||||
|
meta_window_edge_resistance_for_resize): pass a is_resize
|
||||||
|
parameter as well
|
||||||
|
|
||||||
2006-10-01 Elijah Newren <newren gmail com>
|
2006-10-01 Elijah Newren <newren gmail com>
|
||||||
|
|
||||||
* src/display.c (meta_display_set_input_focus_window):
|
* src/display.c (meta_display_set_input_focus_window):
|
||||||
|
@ -530,7 +530,8 @@ apply_edge_resistance_to_each_side (MetaDisplay *display,
|
|||||||
MetaRectangle *new_outer,
|
MetaRectangle *new_outer,
|
||||||
GSourceFunc timeout_func,
|
GSourceFunc timeout_func,
|
||||||
gboolean auto_snap,
|
gboolean auto_snap,
|
||||||
gboolean keyboard_op)
|
gboolean keyboard_op,
|
||||||
|
gboolean is_resize)
|
||||||
{
|
{
|
||||||
MetaEdgeResistanceData *edge_data;
|
MetaEdgeResistanceData *edge_data;
|
||||||
MetaRectangle modified_rect;
|
MetaRectangle modified_rect;
|
||||||
@ -577,7 +578,13 @@ apply_edge_resistance_to_each_side (MetaDisplay *display,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Now, apply the normal edge resistance */
|
/* Disable edge resistance for resizes when windows have size
|
||||||
|
* increment hints; see #346782. For all other cases, apply
|
||||||
|
* them.
|
||||||
|
*/
|
||||||
|
if (!is_resize || window->size_hints.width_inc == 1)
|
||||||
|
{
|
||||||
|
/* Now, apply the normal horizontal edge resistance */
|
||||||
new_left = apply_edge_resistance (window,
|
new_left = apply_edge_resistance (window,
|
||||||
BOX_LEFT (*old_outer),
|
BOX_LEFT (*old_outer),
|
||||||
BOX_LEFT (*new_outer),
|
BOX_LEFT (*new_outer),
|
||||||
@ -598,6 +605,15 @@ apply_edge_resistance_to_each_side (MetaDisplay *display,
|
|||||||
timeout_func,
|
timeout_func,
|
||||||
TRUE,
|
TRUE,
|
||||||
keyboard_op);
|
keyboard_op);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
new_left = new_outer->x;
|
||||||
|
new_right = new_outer->x + new_outer->width;
|
||||||
|
}
|
||||||
|
/* Same for vertical resizes... */
|
||||||
|
if (!is_resize || window->size_hints.height_inc == 1)
|
||||||
|
{
|
||||||
new_top = apply_edge_resistance (window,
|
new_top = apply_edge_resistance (window,
|
||||||
BOX_TOP (*old_outer),
|
BOX_TOP (*old_outer),
|
||||||
BOX_TOP (*new_outer),
|
BOX_TOP (*new_outer),
|
||||||
@ -619,6 +635,12 @@ apply_edge_resistance_to_each_side (MetaDisplay *display,
|
|||||||
FALSE,
|
FALSE,
|
||||||
keyboard_op);
|
keyboard_op);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
new_top = new_outer->y;
|
||||||
|
new_bottom = new_outer->y + new_outer->height;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Determine whether anything changed, and save the changes */
|
/* Determine whether anything changed, and save the changes */
|
||||||
modified_rect = meta_rect (new_left,
|
modified_rect = meta_rect (new_left,
|
||||||
@ -1104,6 +1126,7 @@ meta_window_edge_resistance_for_move (MetaWindow *window,
|
|||||||
gboolean is_keyboard_op)
|
gboolean is_keyboard_op)
|
||||||
{
|
{
|
||||||
MetaRectangle old_outer, proposed_outer, new_outer;
|
MetaRectangle old_outer, proposed_outer, new_outer;
|
||||||
|
gboolean is_resize;
|
||||||
|
|
||||||
if (window == window->display->grab_window &&
|
if (window == window->display->grab_window &&
|
||||||
window->display->grab_wireframe_active)
|
window->display->grab_wireframe_active)
|
||||||
@ -1122,13 +1145,15 @@ meta_window_edge_resistance_for_move (MetaWindow *window,
|
|||||||
new_outer = proposed_outer;
|
new_outer = proposed_outer;
|
||||||
|
|
||||||
window->display->grab_last_user_action_was_snap = snap;
|
window->display->grab_last_user_action_was_snap = snap;
|
||||||
|
is_resize = FALSE;
|
||||||
if (apply_edge_resistance_to_each_side (window->display,
|
if (apply_edge_resistance_to_each_side (window->display,
|
||||||
window,
|
window,
|
||||||
&old_outer,
|
&old_outer,
|
||||||
&new_outer,
|
&new_outer,
|
||||||
timeout_func,
|
timeout_func,
|
||||||
snap,
|
snap,
|
||||||
is_keyboard_op))
|
is_keyboard_op,
|
||||||
|
is_resize))
|
||||||
{
|
{
|
||||||
/* apply_edge_resistance_to_each_side independently applies
|
/* apply_edge_resistance_to_each_side independently applies
|
||||||
* resistance to both the right and left edges of new_outer as both
|
* resistance to both the right and left edges of new_outer as both
|
||||||
@ -1196,6 +1221,7 @@ meta_window_edge_resistance_for_resize (MetaWindow *window,
|
|||||||
{
|
{
|
||||||
MetaRectangle old_outer, new_outer;
|
MetaRectangle old_outer, new_outer;
|
||||||
int proposed_outer_width, proposed_outer_height;
|
int proposed_outer_width, proposed_outer_height;
|
||||||
|
gboolean is_resize;
|
||||||
|
|
||||||
if (window == window->display->grab_window &&
|
if (window == window->display->grab_window &&
|
||||||
window->display->grab_wireframe_active)
|
window->display->grab_wireframe_active)
|
||||||
@ -1217,13 +1243,15 @@ meta_window_edge_resistance_for_resize (MetaWindow *window,
|
|||||||
proposed_outer_height);
|
proposed_outer_height);
|
||||||
|
|
||||||
window->display->grab_last_user_action_was_snap = snap;
|
window->display->grab_last_user_action_was_snap = snap;
|
||||||
|
is_resize = TRUE;
|
||||||
if (apply_edge_resistance_to_each_side (window->display,
|
if (apply_edge_resistance_to_each_side (window->display,
|
||||||
window,
|
window,
|
||||||
&old_outer,
|
&old_outer,
|
||||||
&new_outer,
|
&new_outer,
|
||||||
timeout_func,
|
timeout_func,
|
||||||
snap,
|
snap,
|
||||||
is_keyboard_op))
|
is_keyboard_op,
|
||||||
|
is_resize))
|
||||||
{
|
{
|
||||||
*new_width = old_width + (new_outer.width - old_outer.width);
|
*new_width = old_width + (new_outer.width - old_outer.width);
|
||||||
*new_height = old_height + (new_outer.height - old_outer.height);
|
*new_height = old_height + (new_outer.height - old_outer.height);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user