Lines Matching defs:new_wp
210 struct window_pane *new_wp;
264 new_wp = sc->wp0;
265 new_wp->flags &= ~(PANE_STATUSREADY|PANE_STATUSDRAWN);
267 new_wp = window_add_pane(w, NULL, hlimit, sc->flags);
268 layout_init(w, new_wp);
270 new_wp = window_add_pane(w, sc->wp0, hlimit, sc->flags);
272 layout_assign_pane(sc->lc, new_wp, 1);
274 layout_assign_pane(sc->lc, new_wp, 0);
296 free(new_wp->cwd);
297 new_wp->cwd = cwd;
305 cmd_free_argv(new_wp->argc, new_wp->argv);
306 new_wp->argc = argc;
307 new_wp->argv = cmd_copy_argv(argc, argv);
314 environ_set(child, "TMUX_PANE", 0, "%%%u", new_wp->id);
334 free(new_wp->shell);
335 new_wp->shell = xstrdup(tmp);
337 environ_set(child, "SHELL", 0, "%s", new_wp->shell);
340 log_debug("%s: shell=%s", __func__, new_wp->shell);
341 if (new_wp->argc != 0) {
342 cp = cmd_stringify_argv(new_wp->argc, new_wp->argv);
346 log_debug("%s: cwd=%s", __func__, new_wp->cwd);
347 cmd_log_argv(new_wp->argc, new_wp->argv, "%s", __func__);
352 ws.ws_col = screen_size_x(&new_wp->base);
353 ws.ws_row = screen_size_y(&new_wp->base);
363 new_wp->flags |= PANE_EMPTY;
364 new_wp->base.mode &= ~MODE_CURSOR;
365 new_wp->base.mode |= MODE_CRLF;
370 new_wp->pid = fdforkpty(ptm_fd, &new_wp->fd, new_wp->tty, NULL, &ws);
371 if (new_wp->pid == -1) {
373 new_wp->fd = -1;
375 server_client_remove_pane(new_wp);
376 layout_close_pane(new_wp);
377 window_remove_pane(w, new_wp);
385 if (new_wp->pid != 0) {
403 if (chdir(new_wp->cwd) == 0)
404 environ_set(child, "PWD", 0, "%s", new_wp->cwd);
442 if (new_wp->argc != 0 && new_wp->argc != 1) {
443 argvp = cmd_copy_argv(new_wp->argc, new_wp->argv);
452 cp = strrchr(new_wp->shell, '/');
453 if (new_wp->argc == 1) {
454 tmp = new_wp->argv[0];
458 xasprintf(&argv0, "%s", new_wp->shell);
459 execl(new_wp->shell, argv0, "-c", tmp, (char *)NULL);
465 xasprintf(&argv0, "-%s", new_wp->shell);
466 execl(new_wp->shell, argv0, (char *)NULL);
471 if (~new_wp->flags & PANE_EMPTY) {
472 xasprintf(&cp, "tmux(%lu).%%%u", (long)getpid(), new_wp->id);
473 utempter_add_record(new_wp->fd, cp);
479 new_wp->flags &= ~PANE_EXITED;
482 window_pane_set_event(new_wp);
487 return (new_wp);
490 window_set_active_pane(w, new_wp, 0);
492 window_set_active_pane(w, new_wp, 1);
496 return (new_wp);