7489dbc34e
2006-08-21 Elijah Newren <newren gmail com> Allow drags & resizes to be reverted by hitting escape. Based on patch from Thomas Andersen. #126497. * src/display.c (grab_op_is_mouse_only): new function, (meta_display_begin_grab_op): grab the keyboard when moving or resizing too so that we can get escape keypresses * src/display.h (struct _MetaDisplay): add a comment to remind that grab_was_cancelled is only used in wireframe mode * src/keybindings.[ch] (process_mouse_move_resize_grab): add new function for handling keypresses during mouse-only moving and resizing, (meta_window_grab_all_keys): add a timestamp parameter and pass it to meta_window_focus(), (meta_display_process_key_event): make sure process_mouse_move_resize_grab() gets called when needed, (process_keyboard_move_grab, process_keyboard_resize_grab): rearrange some code slightly and improve the comments to make it more readable
50 lines
2 KiB
C
50 lines
2 KiB
C
/* Metacity Keybindings */
|
|
|
|
/*
|
|
* Copyright (C) 2001 Havoc Pennington
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
* 02111-1307, USA.
|
|
*/
|
|
|
|
#ifndef META_KEYBINDINGS_H
|
|
#define META_KEYBINDINGS_H
|
|
|
|
#include "display.h"
|
|
#include "window.h"
|
|
|
|
void meta_display_init_keys (MetaDisplay *display);
|
|
void meta_display_shutdown_keys (MetaDisplay *display);
|
|
void meta_screen_grab_keys (MetaScreen *screen);
|
|
void meta_screen_ungrab_keys (MetaScreen *screen);
|
|
gboolean meta_screen_grab_all_keys (MetaScreen *screen);
|
|
void meta_screen_ungrab_all_keys (MetaScreen *screen);
|
|
void meta_window_grab_keys (MetaWindow *window);
|
|
void meta_window_ungrab_keys (MetaWindow *window);
|
|
gboolean meta_window_grab_all_keys (MetaWindow *window,
|
|
Time timestamp);
|
|
void meta_window_ungrab_all_keys (MetaWindow *window);
|
|
void meta_display_process_key_event (MetaDisplay *display,
|
|
MetaWindow *window,
|
|
XEvent *event);
|
|
void meta_set_keybindings_disabled (gboolean setting);
|
|
void meta_display_process_mapping_event (MetaDisplay *display,
|
|
XEvent *event);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|