mirror of
https://github.com/tmux/tmux.git
synced 2025-01-05 23:38:48 +00:00
Add a way to mark environment variables as "hidden" so they can be used
by tmux but are not passed into the environment of new panes.
This commit is contained in:
parent
e221ef203c
commit
38f1546a66
26
tmux.1
26
tmux.1
@ -565,6 +565,18 @@ Environment variables may be set by using the syntax
|
||||
for example
|
||||
.Ql HOME=/home/user .
|
||||
Variables set during parsing are added to the global environment.
|
||||
A hidden variable may be set with
|
||||
.Ql %hidden ,
|
||||
for example:
|
||||
.Bd -literal -offset indent
|
||||
%hidden MYVAR=42
|
||||
.Ed
|
||||
.Pp
|
||||
Hidden variables are not passed to the environment of processes created
|
||||
by tmux.
|
||||
See the
|
||||
.Sx GLOBAL AND SESSION ENVIRONMENT
|
||||
section.
|
||||
.Pp
|
||||
Commands may be parsed conditionally by surrounding them with
|
||||
.Ql %if ,
|
||||
@ -4711,10 +4723,16 @@ from inside, and the
|
||||
variable with the correct terminal setting of
|
||||
.Ql screen .
|
||||
.Pp
|
||||
Variables in both session and global environments may be marked as hidden.
|
||||
Hidden variables are not passed into the environment of new processes and
|
||||
instead can only be used by tmux itself (for example in formats, see the
|
||||
.Sx FORMATS
|
||||
section).
|
||||
.Pp
|
||||
Commands to alter and view the environment are:
|
||||
.Bl -tag -width Ds
|
||||
.It Xo Ic set-environment
|
||||
.Op Fl gru
|
||||
.Op Fl hgru
|
||||
.Op Fl t Ar target-session
|
||||
.Ar name Op Ar value
|
||||
.Xc
|
||||
@ -4731,8 +4749,10 @@ flag unsets a variable.
|
||||
.Fl r
|
||||
indicates the variable is to be removed from the environment before starting a
|
||||
new process.
|
||||
.Fl h
|
||||
marks the variable as hidden.
|
||||
.It Xo Ic show-environment
|
||||
.Op Fl gs
|
||||
.Op Fl hgs
|
||||
.Op Fl t Ar target-session
|
||||
.Op Ar variable
|
||||
.Xc
|
||||
@ -4749,6 +4769,8 @@ Variables removed from the environment are prefixed with
|
||||
If
|
||||
.Fl s
|
||||
is used, the output is formatted as a set of Bourne shell commands.
|
||||
.Fl h
|
||||
shows hidden variables (omitted by default).
|
||||
.El
|
||||
.Sh STATUS LINE
|
||||
.Nm
|
||||
|
9
tmux.h
9
tmux.h
@ -1048,6 +1048,9 @@ struct environ_entry {
|
||||
char *name;
|
||||
char *value;
|
||||
|
||||
int flags;
|
||||
#define ENVIRON_HIDDEN 0x1
|
||||
|
||||
RB_ENTRY(environ_entry) entry;
|
||||
};
|
||||
|
||||
@ -1957,10 +1960,10 @@ struct environ_entry *environ_first(struct environ *);
|
||||
struct environ_entry *environ_next(struct environ_entry *);
|
||||
void environ_copy(struct environ *, struct environ *);
|
||||
struct environ_entry *environ_find(struct environ *, const char *);
|
||||
void printflike(3, 4) environ_set(struct environ *, const char *, const char *,
|
||||
...);
|
||||
void printflike(4, 5) environ_set(struct environ *, const char *, int,
|
||||
const char *, ...);
|
||||
void environ_clear(struct environ *, const char *);
|
||||
void environ_put(struct environ *, const char *);
|
||||
void environ_put(struct environ *, const char *, int);
|
||||
void environ_unset(struct environ *, const char *);
|
||||
void environ_update(struct options *, struct environ *, struct environ *);
|
||||
void environ_push(struct environ *);
|
||||
|
Loading…
Reference in New Issue
Block a user