AWESOME! Was that this easy? I blame myself not to have a look at this code but just complaining... Anyhow thanks muchly!
Daniel Juyung Seo (SeoZ) On Mon, Apr 15, 2013 at 11:42 PM, Carsten Haitzler - Enlightenment Git < no-re...@enlightenment.org> wrote: > raster pushed a commit to branch master. > > commit fc60732d6498d19da983a98dfc181ab8b260edba > Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com> > Date: Mon Apr 15 13:32:33 2013 +0900 > > use cwd of term when creating new ones with splits and tabs. > --- > src/bin/main.c | 8 ++++++-- > src/bin/termio.c | 5 +++-- > 2 files changed, 9 insertions(+), 4 deletions(-) > > diff --git a/src/bin/main.c b/src/bin/main.c > index 7006a15..89d9c8d 100644 > --- a/src/bin/main.c > +++ b/src/bin/main.c > @@ -214,6 +214,7 @@ _split_split(Split *sp, Eina_Bool horizontal) > Split *sp2; > Evas_Object *o; > Config *config; > + char buf[PATH_MAX], *wdir = NULL; > > if (!sp->term) return; > > @@ -242,8 +243,9 @@ _split_split(Split *sp, Eina_Bool horizontal) > sp2->parent = sp; > sp2->wn = sp->wn; > config = config_fork(sp->term->config); > + if (termio_cwd_get(sp->term->term, buf, sizeof(buf))) wdir = buf; > sp2->term = main_term_new(sp->wn, config, > - NULL, EINA_FALSE, NULL, > + NULL, EINA_FALSE, wdir, > 80, 24, EINA_FALSE); > sp2->terms = eina_list_append(sp2->terms, sp2->term); > _term_resize_track_start(sp2); > @@ -310,14 +312,16 @@ main_new(Evas_Object *win, Evas_Object *term) > 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, NULL, > + NULL, EINA_FALSE, wdir, > w, h, EINA_FALSE); > sp->terms = eina_list_append(sp->terms, sp->term); > _term_resize_track_start(sp); > diff --git a/src/bin/termio.c b/src/bin/termio.c > index 121be37..4df0dc9 100644 > --- a/src/bin/termio.c > +++ b/src/bin/termio.c > @@ -3555,18 +3555,19 @@ termio_cwd_get(const Evas_Object *obj, char *buf, > size_t size) > char procpath[PATH_MAX]; > Termio *sd = evas_object_smart_data_get(obj); > pid_t pid; > + ssize_t siz; > > if (!sd) return EINA_FALSE; > > pid = termpty_pid_get(sd->pty); > snprintf(procpath, sizeof(procpath), "/proc/%d/cwd", pid); > - if (readlink(procpath, buf, size) < 1) > + if ((siz = readlink(procpath, buf, size)) < 1) > { > ERR("Could not load working directory %s: %s", > procpath, strerror(errno)); > return EINA_FALSE; > } > - > + buf[siz] = 0; > return EINA_TRUE; > } > > > -- > > > ------------------------------------------------------------------------------ > Precog is a next-generation analytics platform capable of advanced > analytics on semi-structured data. The platform includes APIs for building > apps and a phenomenal toolset for data science. Developers can use > our toolset for easy data analysis & visualization. Get a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter > ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel