mirror of
				https://github.com/tmux/tmux.git
				synced 2025-10-26 12:27:15 +00:00 
			
		
		
		
	If -u is specified or UTF-8 is otherwise detected when the server is started,
enable the utf8 and status-utf8 optons. While here, note in the man page that the server is started with the first session and exits when none remain.
This commit is contained in:
		
							
								
								
									
										12
									
								
								tmux.1
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								tmux.1
									
									
									
									
									
								
							| @@ -36,11 +36,13 @@ controlled from a single terminal. | ||||
| .Pp | ||||
| .Nm | ||||
| runs as a server-client system. | ||||
| A server is created automatically when necessary and holds a number of | ||||
| A server holds a number of | ||||
| .Em sessions , | ||||
| each of which may have a number of | ||||
| .Em windows | ||||
| linked to it. | ||||
| A server is started automatically when the first session is created and exits | ||||
| when all the sessions it contains are destroyed. | ||||
| A window may be split on screen into one or more | ||||
| .Em panes , | ||||
| each of which is a separate terminal. | ||||
| @@ -123,6 +125,14 @@ This is not always correct: the | ||||
| flag explicitly informs | ||||
| .Nm | ||||
| that UTF-8 is supported. | ||||
| .Pp | ||||
| If the server is started from a client passed | ||||
| .Fl u | ||||
| or where UTF-8 is detected, the | ||||
| .Ic utf8 | ||||
| and | ||||
| .Ic status-utf8 | ||||
| options are enabled in the global window and session options respectively. | ||||
| .It Fl v | ||||
| Request verbose logging. | ||||
| This option may be specified multiple times for increasing verbosity. | ||||
|   | ||||
							
								
								
									
										42
									
								
								tmux.c
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								tmux.c
									
									
									
									
									
								
							| @@ -266,6 +266,22 @@ main(int argc, char **argv) | ||||
| 	log_open_tty(debug_level); | ||||
| 	siginit(); | ||||
|  | ||||
| 	if (!(flags & IDENTIFY_UTF8)) { | ||||
| 		/* | ||||
| 		 * If the user has set whichever of LC_ALL, LC_CTYPE or LANG | ||||
| 		 * exist (in that order) to contain UTF-8, it is a safe | ||||
| 		 * assumption that either they are using a UTF-8 terminal, or | ||||
| 		 * if not they know that output from UTF-8-capable programs may | ||||
| 		 * be wrong. | ||||
| 		 */ | ||||
| 		if ((s = getenv("LC_ALL")) == NULL) { | ||||
| 			if ((s = getenv("LC_CTYPE")) == NULL) | ||||
| 				s = getenv("LANG"); | ||||
| 		} | ||||
| 		if (s != NULL && strcasestr(s, "UTF-8") != NULL) | ||||
| 			flags |= IDENTIFY_UTF8; | ||||
| 	} | ||||
|  | ||||
| 	options_init(&global_s_options, NULL); | ||||
| 	options_set_number(&global_s_options, "bell-action", BELL_ANY); | ||||
| 	options_set_number(&global_s_options, "buffer-limit", 9); | ||||
| @@ -292,7 +308,10 @@ main(int argc, char **argv) | ||||
| 	options_set_string(&global_s_options, "status-left", "[#S]"); | ||||
| 	options_set_string( | ||||
| 	    &global_s_options, "status-right", "\"#24T\" %%H:%%M %%d-%%b-%%y"); | ||||
| 	options_set_number(&global_s_options, "status-utf8", 0); | ||||
| 	if (flags & IDENTIFY_UTF8) | ||||
| 		options_set_number(&global_s_options, "status-utf8", 1); | ||||
| 	else | ||||
| 		options_set_number(&global_s_options, "status-utf8", 0); | ||||
|  | ||||
| 	options_init(&global_w_options, NULL); | ||||
| 	options_set_number(&global_w_options, "aggressive-resize", 0); | ||||
| @@ -309,29 +328,16 @@ main(int argc, char **argv) | ||||
| 	options_set_number(&global_w_options, "mode-keys", MODEKEY_EMACS); | ||||
| 	options_set_number(&global_w_options, "monitor-activity", 0); | ||||
| 	options_set_string(&global_w_options, "monitor-content", "%s", ""); | ||||
| 	options_set_number(&global_w_options, "utf8", 0); | ||||
| 	if (flags & IDENTIFY_UTF8) | ||||
| 		options_set_number(&global_w_options, "utf8", 1); | ||||
| 	else | ||||
| 		options_set_number(&global_w_options, "utf8", 0); | ||||
| 	options_set_number(&global_w_options, "window-status-attr", 0); | ||||
| 	options_set_number(&global_w_options, "window-status-bg", 8); | ||||
| 	options_set_number(&global_w_options, "window-status-fg", 8); | ||||
| 	options_set_number(&global_w_options, "xterm-keys", 0); | ||||
|  	options_set_number(&global_w_options, "remain-on-exit", 0); | ||||
|  | ||||
| 	if (!(flags & IDENTIFY_UTF8)) { | ||||
| 		/* | ||||
| 		 * If the user has set whichever of LC_ALL, LC_CTYPE or LANG | ||||
| 		 * exist (in that order) to contain UTF-8, it is a safe | ||||
| 		 * assumption that either they are using a UTF-8 terminal, or | ||||
| 		 * if not they know that output from UTF-8-capable programs may | ||||
| 		 * be wrong. | ||||
| 		 */ | ||||
| 		if ((s = getenv("LC_ALL")) == NULL) { | ||||
| 			if ((s = getenv("LC_CTYPE")) == NULL) | ||||
| 				s = getenv("LANG"); | ||||
| 		} | ||||
| 		if (s != NULL && strcasestr(s, "UTF-8") != NULL) | ||||
| 			flags |= IDENTIFY_UTF8; | ||||
| 	} | ||||
|  | ||||
| 	if (cfg_file == NULL) { | ||||
| 		home = getenv("HOME"); | ||||
| 		if (home == NULL || *home == '\0') { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Nicholas Marriott
					Nicholas Marriott