From 7000283741394f7ccf01e9358e0d559a5007e4b7 Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Thu, 11 Jul 2013 16:00:00 +0100 Subject: [PATCH] editor: Support shift-left/right for selecting text If the shift modifier is active then we don't make the cursor and the anchor the same and as a result we develop a selection in the direction that the arrow key gets pressed in. https://bugs.freedesktop.org/show_bug.cgi?id=66802 --- clients/editor.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/clients/editor.c b/clients/editor.c index 7e69403..1300ccf 100644 --- a/clients/editor.c +++ b/clients/editor.c @@ -1141,7 +1141,8 @@ key_handler(struct window *window, new_char = utf8_prev_char(entry->text, entry->text + entry->cursor); if (new_char != NULL) { entry->cursor = new_char - entry->text; - entry->anchor = entry->cursor; + if (!(input_get_modifiers(input) & MOD_SHIFT_MASK)) + entry->anchor = entry->cursor; widget_schedule_redraw(entry->widget); } break; @@ -1151,7 +1152,8 @@ key_handler(struct window *window, new_char = utf8_next_char(entry->text + entry->cursor); if (new_char != NULL) { entry->cursor = new_char - entry->text; - entry->anchor = entry->cursor; + if (!(input_get_modifiers(input) & MOD_SHIFT_MASK)) + entry->anchor = entry->cursor; widget_schedule_redraw(entry->widget); } break; -- 2.7.4