mirror of
https://github.com/tmux/tmux.git
synced 2024-11-05 18:38:48 +00:00
Merge branch 'master' of github.com:tmux/tmux
This commit is contained in:
commit
af38936473
14
environ.c
14
environ.c
@ -203,3 +203,17 @@ environ_push(struct environ *env)
|
|||||||
setenv(envent->name, envent->value, 1);
|
setenv(envent->name, envent->value, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Log the environment. */
|
||||||
|
void
|
||||||
|
environ_log(struct environ *env, const char *prefix)
|
||||||
|
{
|
||||||
|
struct environ_entry *envent;
|
||||||
|
|
||||||
|
RB_FOREACH(envent, environ, env) {
|
||||||
|
if (envent->value != NULL && *envent->name != '\0') {
|
||||||
|
log_debug("%s%s=%s", prefix, envent->name,
|
||||||
|
envent->value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -23,14 +23,17 @@
|
|||||||
|
|
||||||
#include "tmux.h"
|
#include "tmux.h"
|
||||||
|
|
||||||
struct layout_cell *layout_find_bottomright(struct layout_cell *);
|
static struct layout_cell *layout_find_bottomright(struct layout_cell *);
|
||||||
u_short layout_checksum(const char *);
|
static u_short layout_checksum(const char *);
|
||||||
int layout_append(struct layout_cell *, char *, size_t);
|
static int layout_append(struct layout_cell *, char *,
|
||||||
struct layout_cell *layout_construct(struct layout_cell *, const char **);
|
size_t);
|
||||||
void layout_assign(struct window_pane **, struct layout_cell *);
|
static struct layout_cell *layout_construct(struct layout_cell *,
|
||||||
|
const char **);
|
||||||
|
static void layout_assign(struct window_pane **,
|
||||||
|
struct layout_cell *);
|
||||||
|
|
||||||
/* Find the bottom-right cell. */
|
/* Find the bottom-right cell. */
|
||||||
struct layout_cell *
|
static struct layout_cell *
|
||||||
layout_find_bottomright(struct layout_cell *lc)
|
layout_find_bottomright(struct layout_cell *lc)
|
||||||
{
|
{
|
||||||
if (lc->type == LAYOUT_WINDOWPANE)
|
if (lc->type == LAYOUT_WINDOWPANE)
|
||||||
@ -40,7 +43,7 @@ layout_find_bottomright(struct layout_cell *lc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Calculate layout checksum. */
|
/* Calculate layout checksum. */
|
||||||
u_short
|
static u_short
|
||||||
layout_checksum(const char *layout)
|
layout_checksum(const char *layout)
|
||||||
{
|
{
|
||||||
u_short csum;
|
u_short csum;
|
||||||
@ -63,12 +66,12 @@ layout_dump(struct layout_cell *root)
|
|||||||
if (layout_append(root, layout, sizeof layout) != 0)
|
if (layout_append(root, layout, sizeof layout) != 0)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
|
|
||||||
xasprintf(&out, "%04x,%s", layout_checksum(layout), layout);
|
xasprintf(&out, "%04hx,%s", layout_checksum(layout), layout);
|
||||||
return (out);
|
return (out);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Append information for a single cell. */
|
/* Append information for a single cell. */
|
||||||
int
|
static int
|
||||||
layout_append(struct layout_cell *lc, char *buf, size_t len)
|
layout_append(struct layout_cell *lc, char *buf, size_t len)
|
||||||
{
|
{
|
||||||
struct layout_cell *lcchild;
|
struct layout_cell *lcchild;
|
||||||
@ -182,7 +185,7 @@ fail:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Assign panes into cells. */
|
/* Assign panes into cells. */
|
||||||
void
|
static void
|
||||||
layout_assign(struct window_pane **wp, struct layout_cell *lc)
|
layout_assign(struct window_pane **wp, struct layout_cell *lc)
|
||||||
{
|
{
|
||||||
struct layout_cell *lcchild;
|
struct layout_cell *lcchild;
|
||||||
@ -201,7 +204,7 @@ layout_assign(struct window_pane **wp, struct layout_cell *lc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Construct a cell from all or part of a layout tree. */
|
/* Construct a cell from all or part of a layout tree. */
|
||||||
struct layout_cell *
|
static struct layout_cell *
|
||||||
layout_construct(struct layout_cell *lcparent, const char **layout)
|
layout_construct(struct layout_cell *lcparent, const char **layout)
|
||||||
{
|
{
|
||||||
struct layout_cell *lc, *lcchild;
|
struct layout_cell *lc, *lcchild;
|
||||||
|
9
names.c
9
names.c
@ -73,12 +73,15 @@ check_window_name(struct window *w)
|
|||||||
if (!event_initialized(&w->name_event))
|
if (!event_initialized(&w->name_event))
|
||||||
evtimer_set(&w->name_event, name_time_callback, w);
|
evtimer_set(&w->name_event, name_time_callback, w);
|
||||||
if (!evtimer_pending(&w->name_event, NULL)) {
|
if (!evtimer_pending(&w->name_event, NULL)) {
|
||||||
log_debug("@%u name timer queued (%d left)", w->id, left);
|
log_debug("@%u name timer queued (%d left)", w->id,
|
||||||
|
left);
|
||||||
timerclear(&next);
|
timerclear(&next);
|
||||||
next.tv_usec = left;
|
next.tv_usec = left;
|
||||||
event_add(&w->name_event, &next);
|
event_add(&w->name_event, &next);
|
||||||
} else
|
} else {
|
||||||
log_debug("@%u name timer already queued (%d left)", w->id, left);
|
log_debug("@%u name timer already queued (%d left)",
|
||||||
|
w->id, left);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
memcpy(&w->name_time, &tv, sizeof w->name_time);
|
memcpy(&w->name_time, &tv, sizeof w->name_time);
|
||||||
|
1
tmux.h
1
tmux.h
@ -1695,6 +1695,7 @@ void environ_put(struct environ *, const char *);
|
|||||||
void environ_unset(struct environ *, const char *);
|
void environ_unset(struct environ *, const char *);
|
||||||
void environ_update(const char *, struct environ *, struct environ *);
|
void environ_update(const char *, struct environ *, struct environ *);
|
||||||
void environ_push(struct environ *);
|
void environ_push(struct environ *);
|
||||||
|
void environ_log(struct environ *, const char *);
|
||||||
|
|
||||||
/* tty.c */
|
/* tty.c */
|
||||||
void tty_create_log(void);
|
void tty_create_log(void);
|
||||||
|
1
window.c
1
window.c
@ -848,6 +848,7 @@ window_pane_spawn(struct window_pane *wp, int argc, char **argv,
|
|||||||
log_debug("spawn: %s -- %s", wp->shell, cmd);
|
log_debug("spawn: %s -- %s", wp->shell, cmd);
|
||||||
for (i = 0; i < wp->argc; i++)
|
for (i = 0; i < wp->argc; i++)
|
||||||
log_debug("spawn: argv[%d] = %s", i, wp->argv[i]);
|
log_debug("spawn: argv[%d] = %s", i, wp->argv[i]);
|
||||||
|
environ_log(env, "spawn: ");
|
||||||
|
|
||||||
memset(&ws, 0, sizeof ws);
|
memset(&ws, 0, sizeof ws);
|
||||||
ws.ws_col = screen_size_x(&wp->base);
|
ws.ws_col = screen_size_x(&wp->base);
|
||||||
|
Loading…
Reference in New Issue
Block a user