From f5687a7e32deaab6481b3dabf426c172cd7789a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Fri, 6 Sep 2013 15:35:52 -0300 Subject: [PATCH] Add main_new_with_dir() to enable open a term in a specifc path --- src/bin/main.c | 16 ++++++++++++---- src/bin/main.h | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/bin/main.c b/src/bin/main.c index 20f7c610..fa65df32 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -354,19 +354,17 @@ _term_focus_show(Split *sp, Term *term) } void -main_new(Evas_Object *win, Evas_Object *term) +main_new_with_dir(Evas_Object *win, Evas_Object *term, const char *wdir) { Split *sp = _split_find(win, term); Config *config; int w, h; - char buf[PATH_MAX], *wdir = NULL; - + if (!sp) return; _term_resize_track_stop(sp); evas_object_hide(sp->term->bg); config = config_fork(sp->term->config); termio_size_get(sp->term->term, &w, &h); - if (termio_cwd_get(sp->term->term, buf, sizeof(buf))) wdir = buf; sp->term = main_term_new(sp->wn, config, NULL, EINA_FALSE, wdir, w, h, EINA_FALSE); @@ -379,6 +377,16 @@ main_new(Evas_Object *win, Evas_Object *term) _split_tabcount_update(sp, sp->term); } +void +main_new(Evas_Object *win, Evas_Object *term) +{ + Split *sp = _split_find(win, term); + char buf[PATH_MAX], *wdir = NULL; + + if (termio_cwd_get(sp->term->term, buf, sizeof(buf))) wdir = buf; + main_new_with_dir(win, term, wdir); +} + void main_split_h(Evas_Object *win, Evas_Object *term) { diff --git a/src/bin/main.h b/src/bin/main.h index bf03aba6..3904435a 100644 --- a/src/bin/main.h +++ b/src/bin/main.h @@ -8,6 +8,7 @@ typedef struct _Term Term; typedef struct _Split Split; void main_new(Evas_Object *win, Evas_Object *term); +void main_new_with_dir(Evas_Object *win, Evas_Object *term, const char *wdir); void main_split_h(Evas_Object *win, Evas_Object *term); void main_split_v(Evas_Object *win, Evas_Object *term); void main_close(Evas_Object *win, Evas_Object *term);