123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- diff -Naurp ./a/core/events.lua ./b/core/events.lua
- --- ./a/core/events.lua 2019-12-31 21:52:44.000000000 +0600
- +++ ./b/core/events.lua 2020-01-31 04:56:29.030105291 +0600
- @@ -410,6 +410,7 @@ local textadept_events = {
- 'initialized', 'keypress', 'menu_clicked', 'mouse', 'quit', 'replace',
- 'replace_all', 'reset_after', 'reset_before', 'resume', 'suspend',
- 'tab_clicked', 'view_after_switch', 'view_before_switch', 'view_new'
- + , 'tab_middle_click', 'tab_middle_click_blank', 'tab_double_click_blank'
- }
- for _, e in pairs(textadept_events) do M[e:upper()] = e end
-
- diff -Naurp ./a/modules/textadept/find.lua ./b/modules/textadept/find.lua
- --- ./a/modules/textadept/find.lua 2019-12-31 21:52:44.000000000 +0600
- +++ ./b/modules/textadept/find.lua 2020-01-31 04:58:51.802813262 +0600
- @@ -431,7 +431,7 @@ function M.goto_file_found(line_num, nex
- else
- s, e = 0, 0 -- binary file notice, or highlighting was somehow removed
- end
- - ui.goto_file(utf8_filename:iconv(_CHARSET, 'UTF-8'), true, preferred_view)
- + ui.goto_file(utf8_filename:iconv(_CHARSET, 'UTF-8'), false, preferred_view)
- textadept.editing.goto_line(line_num - 1)
- if buffer:line_from_position(buffer.current_pos + s) == line_num - 1 then
- buffer:set_sel(buffer.current_pos + e, buffer.current_pos + s)
- diff -Naurp ./a/src/textadept.c ./b/src/textadept.c
- --- ./a/src/textadept.c 2019-12-31 21:52:44.000000000 +0600
- +++ ./b/src/textadept.c 2020-01-31 06:17:20.218161000 +0600
- @@ -1231,9 +1231,20 @@ static int t_tabbuttonpress(GtkWidget *l
- event_mod(SHIFT), event_mod(CONTROL), event_mod(MOD1),
- event_mod(META), -1);
- if (event->button == 3) lL_showcontextmenu(lua, event, "tab_context_menu");
- + // Custom event for middle click on a tab
- + if (event->button == 2) lL_event(lua, "tab_middle_click", -1);
- }
- return TRUE;
- }
- +
- +/** Custom signal for a tabbar (empty space) mouse click. */
- +static int t_tabbarbuttonpress(GtkWidget *label, GdkEventButton *event, void*__) {
- + // Custom event for middle click on blank space on tab bar
- + if (event->button == 2) lL_event(lua, "tab_middle_click_blank", -1);
- + // Custom event for double click on blank space on tab bar
- + if (event->type == GDK_2BUTTON_PRESS) lL_event(lua, "tab_double_click_blank", -1);
- + return TRUE;
- +}
- #endif
-
- /** `buffer.__index` and `buffer.__newindex` Lua metamethods. */
- @@ -1292,6 +1303,8 @@ static int lbuf_property(lua_State *L) {
- lua_getfield(L, 1, "tab_pointer");
- #if GTK
- GtkNotebook *tabs = GTK_NOTEBOOK(tabbar);
- + // Custom events for button clicks on tabbar (empty space)
- + signal(tabs, "button-press-event", t_tabbarbuttonpress);
- GtkWidget *tab = (GtkWidget *)lua_touserdata(L, -1);
- lua_pushstring(L, gtk_notebook_get_tab_label_text(tabs, tab));
- if (newindex) {
|