mirror of
				https://github.com/tmux/tmux.git
				synced 2025-10-26 12:27:15 +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:
		
							
								
								
									
										26
									
								
								tmux.1
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								tmux.1
									
									
									
									
									
								
							| @@ -565,6 +565,18 @@ Environment variables may be set by using the syntax | |||||||
| for example | for example | ||||||
| .Ql HOME=/home/user . | .Ql HOME=/home/user . | ||||||
| Variables set during parsing are added to the global environment. | 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 | .Pp | ||||||
| Commands may be parsed conditionally by surrounding them with | Commands may be parsed conditionally by surrounding them with | ||||||
| .Ql %if , | .Ql %if , | ||||||
| @@ -4711,10 +4723,16 @@ from inside, and the | |||||||
| variable with the correct terminal setting of | variable with the correct terminal setting of | ||||||
| .Ql screen . | .Ql screen . | ||||||
| .Pp | .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: | Commands to alter and view the environment are: | ||||||
| .Bl -tag -width Ds | .Bl -tag -width Ds | ||||||
| .It Xo Ic set-environment | .It Xo Ic set-environment | ||||||
| .Op Fl gru | .Op Fl hgru | ||||||
| .Op Fl t Ar target-session | .Op Fl t Ar target-session | ||||||
| .Ar name Op Ar value | .Ar name Op Ar value | ||||||
| .Xc | .Xc | ||||||
| @@ -4731,8 +4749,10 @@ flag unsets a variable. | |||||||
| .Fl r | .Fl r | ||||||
| indicates the variable is to be removed from the environment before starting a | indicates the variable is to be removed from the environment before starting a | ||||||
| new process. | new process. | ||||||
|  | .Fl h | ||||||
|  | marks the variable as hidden. | ||||||
| .It Xo Ic show-environment | .It Xo Ic show-environment | ||||||
| .Op Fl gs | .Op Fl hgs | ||||||
| .Op Fl t Ar target-session | .Op Fl t Ar target-session | ||||||
| .Op Ar variable | .Op Ar variable | ||||||
| .Xc | .Xc | ||||||
| @@ -4749,6 +4769,8 @@ Variables removed from the environment are prefixed with | |||||||
| If | If | ||||||
| .Fl s | .Fl s | ||||||
| is used, the output is formatted as a set of Bourne shell commands. | is used, the output is formatted as a set of Bourne shell commands. | ||||||
|  | .Fl h | ||||||
|  | shows hidden variables (omitted by default). | ||||||
| .El | .El | ||||||
| .Sh STATUS LINE | .Sh STATUS LINE | ||||||
| .Nm | .Nm | ||||||
|   | |||||||
							
								
								
									
										9
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								tmux.h
									
									
									
									
									
								
							| @@ -1048,6 +1048,9 @@ struct environ_entry { | |||||||
| 	char		*name; | 	char		*name; | ||||||
| 	char		*value; | 	char		*value; | ||||||
|  |  | ||||||
|  | 	int		 flags; | ||||||
|  | #define ENVIRON_HIDDEN 0x1 | ||||||
|  |  | ||||||
| 	RB_ENTRY(environ_entry) entry; | 	RB_ENTRY(environ_entry) entry; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| @@ -1957,10 +1960,10 @@ struct environ_entry *environ_first(struct environ *); | |||||||
| struct environ_entry *environ_next(struct environ_entry *); | struct environ_entry *environ_next(struct environ_entry *); | ||||||
| void	environ_copy(struct environ *, struct environ *); | void	environ_copy(struct environ *, struct environ *); | ||||||
| struct environ_entry *environ_find(struct environ *, const char *); | 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_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_unset(struct environ *, const char *); | ||||||
| void	environ_update(struct options *, struct environ *, struct environ *); | void	environ_update(struct options *, struct environ *, struct environ *); | ||||||
| void	environ_push(struct environ *); | void	environ_push(struct environ *); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 nicm
					nicm