mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 09:30:45 -05:00
Add new move_to_center keybinding, requested by Khanh-Dang Nguyen Thu Lam;
2008-09-01 Thomas Thurman <tthurman@gnome.org> Add new move_to_center keybinding, requested by Khanh-Dang Nguyen Thu Lam; closes #549979. * src/include/prefs.h (void): add name of new binding * src/core/prefs.c: added pref for it * src/core/keybindings.c (handle_move_to_center): new function * src/metacity.schemas.in: included new binding svn path=/trunk/; revision=3839
This commit is contained in:
parent
5128bd4f28
commit
2095cce3ab
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
|||||||
|
2008-09-01 Thomas Thurman <tthurman@gnome.org>
|
||||||
|
|
||||||
|
Add new move_to_center keybinding, requested by Khanh-Dang Nguyen
|
||||||
|
Thu Lam; closes #549979.
|
||||||
|
|
||||||
|
* src/include/prefs.h (void): add name of new binding
|
||||||
|
* src/core/prefs.c: added pref for it
|
||||||
|
* src/core/keybindings.c (handle_move_to_center): new function
|
||||||
|
* src/metacity.schemas.in: included new binding
|
||||||
|
|
||||||
2008-08-31 Thomas Thurman <tthurman@gnome.org>
|
2008-08-31 Thomas Thurman <tthurman@gnome.org>
|
||||||
|
|
||||||
* src/core/prefs.[ch] (meta_prefs_set_compositing_manager): new
|
* src/core/prefs.[ch] (meta_prefs_set_compositing_manager): new
|
||||||
|
@ -234,6 +234,11 @@ static void handle_move_to_corner_se (MetaDisplay *display,
|
|||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
XEvent *event,
|
XEvent *event,
|
||||||
MetaKeyBinding *binding);
|
MetaKeyBinding *binding);
|
||||||
|
static void handle_move_to_center (MetaDisplay *display,
|
||||||
|
MetaScreen *screen,
|
||||||
|
MetaWindow *window,
|
||||||
|
XEvent *event,
|
||||||
|
MetaKeyBinding *binding);
|
||||||
static void handle_spew_mark (MetaDisplay *display,
|
static void handle_spew_mark (MetaDisplay *display,
|
||||||
MetaScreen *screen,
|
MetaScreen *screen,
|
||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
@ -489,6 +494,7 @@ static const MetaKeyHandler window_handlers[] = {
|
|||||||
{ META_KEYBINDING_MOVE_TO_CORNER_NE, handle_move_to_corner_ne, NULL },
|
{ META_KEYBINDING_MOVE_TO_CORNER_NE, handle_move_to_corner_ne, NULL },
|
||||||
{ META_KEYBINDING_MOVE_TO_CORNER_SW, handle_move_to_corner_sw, NULL },
|
{ META_KEYBINDING_MOVE_TO_CORNER_SW, handle_move_to_corner_sw, NULL },
|
||||||
{ META_KEYBINDING_MOVE_TO_CORNER_SE, handle_move_to_corner_se, NULL },
|
{ META_KEYBINDING_MOVE_TO_CORNER_SE, handle_move_to_corner_se, NULL },
|
||||||
|
{ META_KEYBINDING_MOVE_TO_CENTER, handle_move_to_center, NULL },
|
||||||
{ NULL, NULL, NULL }
|
{ NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -3037,6 +3043,36 @@ handle_move_to_side_w (MetaDisplay *display,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
handle_move_to_center (MetaDisplay *display,
|
||||||
|
MetaScreen *screen,
|
||||||
|
MetaWindow *window,
|
||||||
|
XEvent *event,
|
||||||
|
MetaKeyBinding *binding)
|
||||||
|
{
|
||||||
|
MetaRectangle work_area;
|
||||||
|
MetaRectangle outer;
|
||||||
|
int orig_x, orig_y;
|
||||||
|
int frame_width, frame_height;
|
||||||
|
|
||||||
|
if (!window)
|
||||||
|
return;
|
||||||
|
|
||||||
|
meta_window_get_work_area_all_xineramas (window, &work_area);
|
||||||
|
meta_window_get_outer_rect (window, &outer);
|
||||||
|
meta_window_get_position (window, &orig_x, &orig_y);
|
||||||
|
|
||||||
|
frame_width = (window->frame ? window->frame->child_x : 0);
|
||||||
|
frame_height = (window->frame ? window->frame->child_y : 0);
|
||||||
|
|
||||||
|
meta_window_move_resize (window,
|
||||||
|
TRUE,
|
||||||
|
work_area.x + (work_area.width +frame_width -outer.width )/2,
|
||||||
|
work_area.y + (work_area.height+frame_height-outer.height)/2,
|
||||||
|
window->rect.width,
|
||||||
|
window->rect.height);
|
||||||
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
process_workspace_switch_grab (MetaDisplay *display,
|
process_workspace_switch_grab (MetaDisplay *display,
|
||||||
MetaScreen *screen,
|
MetaScreen *screen,
|
||||||
|
@ -1929,6 +1929,7 @@ static MetaKeyPref window_bindings[] = {
|
|||||||
{ META_KEYBINDING_MOVE_TO_SIDE_S, NULL, FALSE },
|
{ META_KEYBINDING_MOVE_TO_SIDE_S, NULL, FALSE },
|
||||||
{ META_KEYBINDING_MOVE_TO_SIDE_E, NULL, FALSE },
|
{ META_KEYBINDING_MOVE_TO_SIDE_E, NULL, FALSE },
|
||||||
{ META_KEYBINDING_MOVE_TO_SIDE_W, NULL, FALSE },
|
{ META_KEYBINDING_MOVE_TO_SIDE_W, NULL, FALSE },
|
||||||
|
{ META_KEYBINDING_MOVE_TO_CENTER, NULL, FALSE },
|
||||||
{ NULL, NULL, FALSE }
|
{ NULL, NULL, FALSE }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -231,6 +231,7 @@ void meta_prefs_set_compositing_manager (gboolean whether);
|
|||||||
#define META_KEYBINDING_MOVE_TO_SIDE_S "move_to_side_s"
|
#define META_KEYBINDING_MOVE_TO_SIDE_S "move_to_side_s"
|
||||||
#define META_KEYBINDING_MOVE_TO_SIDE_E "move_to_side_e"
|
#define META_KEYBINDING_MOVE_TO_SIDE_E "move_to_side_e"
|
||||||
#define META_KEYBINDING_MOVE_TO_SIDE_W "move_to_side_w"
|
#define META_KEYBINDING_MOVE_TO_SIDE_W "move_to_side_w"
|
||||||
|
#define META_KEYBINDING_MOVE_TO_CENTER "move_to_center"
|
||||||
|
|
||||||
typedef enum _MetaKeyBindingAction
|
typedef enum _MetaKeyBindingAction
|
||||||
{
|
{
|
||||||
|
@ -1329,6 +1329,30 @@ you set
|
|||||||
</locale>
|
</locale>
|
||||||
</schema>
|
</schema>
|
||||||
|
|
||||||
|
<schema>
|
||||||
|
<key>/schemas/apps/metacity/window_keybindings/move_to_center</key>
|
||||||
|
<applyto>/apps/metacity/window_keybindings/move_to_center</applyto>
|
||||||
|
<owner>metacity</owner>
|
||||||
|
<type>string</type>
|
||||||
|
<!-- no default for this one -->
|
||||||
|
<locale name="C">
|
||||||
|
<short>Move window to center of screen</short>
|
||||||
|
<long>
|
||||||
|
This keybinding moves a window into the center
|
||||||
|
of the screen.
|
||||||
|
|
||||||
|
The format looks like "<Control>a" or
|
||||||
|
"<Shift><Alt>F1".
|
||||||
|
|
||||||
|
The parser is fairly liberal and allows lower or upper case,
|
||||||
|
and also abbreviations such as "<Ctl>" and
|
||||||
|
"<Ctrl>". If you set the option to the special string
|
||||||
|
"disabled", then there will be no keybinding for this
|
||||||
|
action.
|
||||||
|
</long>
|
||||||
|
</locale>
|
||||||
|
</schema>
|
||||||
|
|
||||||
<!-- Global Keybindings -->
|
<!-- Global Keybindings -->
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user