summaryrefslogtreecommitdiff
path: root/src/keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/keyboard.c')
-rw-r--r--src/keyboard.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index 2e0a813bb08..3e50142f7c1 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -4056,6 +4056,14 @@ kbd_buffer_get_event (KBOARD **kbp,
kbd_fetch_ptr = event + 1;
}
#endif
+#if defined (HAVE_X11) || defined (HAVE_NTGUI)
+ else if (event->kind == MOVE_FRAME_EVENT)
+ {
+ /* Make an event (move-frame (FRAME)). */
+ obj = list2 (Qmove_frame, list1 (event->ie.frame_or_window));
+ kbd_fetch_ptr = event + 1;
+ }
+#endif
#ifdef HAVE_XWIDGETS
else if (event->kind == XWIDGET_EVENT)
{
@@ -4068,6 +4076,11 @@ kbd_buffer_get_event (KBOARD **kbp,
obj = make_lispy_event (&event->ie);
kbd_fetch_ptr = event + 1;
}
+ else if (event->kind == SELECT_WINDOW_EVENT)
+ {
+ obj = list2 (Qselect_window, list1 (event->ie.frame_or_window));
+ kbd_fetch_ptr = event + 1;
+ }
else
{
/* If this event is on a different frame, return a switch-frame this
@@ -10977,6 +10990,7 @@ static const struct event_head head_table[] = {
{SYMBOL_INDEX (Qfocus_in), SYMBOL_INDEX (Qfocus_in)},
{SYMBOL_INDEX (Qfocus_out), SYMBOL_INDEX (Qfocus_out)},
+ {SYMBOL_INDEX (Qmove_frame), SYMBOL_INDEX (Qmove_frame)},
{SYMBOL_INDEX (Qdelete_frame), SYMBOL_INDEX (Qdelete_frame)},
{SYMBOL_INDEX (Qiconify_frame), SYMBOL_INDEX (Qiconify_frame)},
{SYMBOL_INDEX (Qmake_frame_visible), SYMBOL_INDEX (Qmake_frame_visible)},
@@ -11149,6 +11163,7 @@ syms_of_keyboard (void)
DEFSYM (Qswitch_frame, "switch-frame");
DEFSYM (Qfocus_in, "focus-in");
DEFSYM (Qfocus_out, "focus-out");
+ DEFSYM (Qmove_frame, "move-frame");
DEFSYM (Qdelete_frame, "delete-frame");
DEFSYM (Qiconify_frame, "iconify-frame");
DEFSYM (Qmake_frame_visible, "make-frame-visible");
@@ -11895,6 +11910,8 @@ keys_of_keyboard (void)
"handle-focus-in");
initial_define_lispy_key (Vspecial_event_map, "focus-out",
"handle-focus-out");
+ initial_define_lispy_key (Vspecial_event_map, "move-frame",
+ "handle-move-frame");
}
/* Mark the pointers in the kboard objects.