diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2022-08-25 00:25:03 +0200 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2022-08-25 00:25:03 +0200 |
commit | d82be078076c040a513fa9fd495e3c36a3fd4828 (patch) | |
tree | 2954655a307c64cbac08d60f2e1971d6fc6b162e | |
parent | 2d219f1a4bf3f2e8cb3916c63d4765d0781b41f0 (diff) | |
download | nncmpp-d82be078076c040a513fa9fd495e3c36a3fd4828.tar.gz nncmpp-d82be078076c040a513fa9fd495e3c36a3fd4828.tar.xz nncmpp-d82be078076c040a513fa9fd495e3c36a3fd4828.zip |
X11: handle Shift+clicks in the list
-rw-r--r-- | nncmpp.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -2770,6 +2770,13 @@ app_process_left_mouse_click (struct widget *w, int x, int y, int modifiers) || row_index >= (int) tab->item_count - tab->item_top) return false; + if (!(modifiers & TERMO_KEYMOD_SHIFT)) + tab->item_mark = -1; + else if (!tab->can_multiselect || tab->item_selected < 0) + return false; + else if (tab->item_mark < 0) + tab->item_mark = tab->item_selected; + // TODO: Probably will need to fix up item->top // for partially visible items in X11. tab->item_selected = row_index + tab->item_top; |