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:
nicm
2020-03-31 17:14:40 +00:00
parent e6cddcf752
commit cc8b41f294
13 changed files with 98 additions and 33 deletions

26
tmux.1
View File

@ -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