Compare commits

...

3 Commits

Author SHA1 Message Date
Boris Faure 8fe96c06a8 fix --split option 7 years ago
Boris Faure 2e2c3f0a26 fix focus issue when creating a new tab in a split 7 years ago
Boris Faure 01ff1e1d8a do not right trim "." on word selection 7 years ago
  1. 6
      src/bin/main.c
  2. 1
      src/bin/private.h
  3. 8
      src/bin/termio.c
  4. 11
      src/bin/win.c

@ -20,7 +20,7 @@
#include "gravatar.h"
#include "keyin.h"
int terminology_starting_up;
int _log_domain = -1;
static Config *_main_config = NULL;
@ -523,6 +523,8 @@ elm_main(int argc, char **argv)
Eina_List *cmds_list = NULL;
#endif
terminology_starting_up = EINA_TRUE;
elm_language_set("");
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
elm_app_compile_bin_dir_set(PACKAGE_BIN_DIR);
@ -930,6 +932,8 @@ remote:
ecore_con_init();
ecore_con_url_init();
terminology_starting_up = EINA_FALSE;
elm_run();
ecore_con_url_shutdown();

@ -12,6 +12,7 @@
#endif
#define gettext_noop(String) String
extern int terminology_starting_up;
extern int _log_domain;
#define CRITICAL(...) EINA_LOG_DOM_CRIT(_log_domain, __VA_ARGS__)

@ -2802,7 +2802,7 @@ _codepoint_is_wordsep(const Eina_Unicode g)
}
static Eina_Bool
_to_trim(Eina_Unicode codepoint)
_to_trim(Eina_Unicode codepoint, Eina_Bool right_trim)
{
static const Eina_Unicode trim_chars[] =
{
@ -2813,6 +2813,8 @@ _to_trim(Eina_Unicode codepoint)
};
size_t i = 0, len;
len = sizeof(trim_chars)/sizeof((trim_chars)[0]);
if (right_trim)
len--; /* do not right trim . */
for (i = 0; i < len; i++)
if (codepoint == trim_chars[i])
@ -2836,7 +2838,7 @@ _trim_sel_word(Termio *sd)
{
cells = termpty_cellrow_get(pty, y, &w);
while (start < w && _to_trim(cells[start].codepoint))
while (start < w && _to_trim(cells[start].codepoint, EINA_TRUE))
start++;
if (start < w)
@ -2864,7 +2866,7 @@ _trim_sel_word(Termio *sd)
{
cells = termpty_cellrow_get(pty, y, &w);
while (end >= 0 && _to_trim(cells[end].codepoint))
while (end >= 0 && _to_trim(cells[end].codepoint, EINA_FALSE))
end--;
if (end >= 0)

@ -349,6 +349,8 @@ _solo_unfocus(Term_Container *tc, Term_Container *relative)
if (!tc->is_focused)
return;
tc->is_focused = EINA_FALSE;
if (tc->parent != relative)
tc->parent->unfocus(tc->parent, tc);
@ -357,8 +359,6 @@ _solo_unfocus(Term_Container *tc, Term_Container *relative)
if (!tc->wn->cmdbox_up)
elm_object_focus_set(term->termio, EINA_FALSE);
tc->is_focused = EINA_FALSE;
}
static void
@ -919,6 +919,9 @@ _term_container_is_splittable(Term_Container *tc, Eina_Bool is_horizontal)
int w = 0, h = 0, c_w = 0, c_h = 0;
Term *tm;
if (terminology_starting_up)
return EINA_TRUE;
tm = tc->term_first(tc);
evas_object_geometry_get(tm->bg, NULL, NULL, &w, &h);
evas_object_textgrid_cell_size_get(termio_textgrid_get(tm->termio),
@ -974,6 +977,10 @@ _win_split(Term_Container *tc, Term_Container *child,
tc_split->is_focused = tc->is_focused;
tc->swallow(tc, NULL, tc_split);
}
else
{
DBG("term is not splittable");
}
}
static void

Loading…
Cancel
Save