mirror of
https://github.com/tmux/tmux.git
synced 2025-01-05 23:38:48 +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:
parent
21cfef45d6
commit
f1efd6b4e7
14
tmux.1
14
tmux.1
@ -1,4 +1,4 @@
|
|||||||
.\" $Id: tmux.1,v 1.118 2009-07-17 18:32:54 tcunha Exp $
|
.\" $Id: tmux.1,v 1.119 2009-07-18 11:05:13 nicm Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
.\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
.\"
|
.\"
|
||||||
@ -36,11 +36,13 @@ controlled from a single terminal.
|
|||||||
.Pp
|
.Pp
|
||||||
.Nm
|
.Nm
|
||||||
runs as a server-client system.
|
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 ,
|
.Em sessions ,
|
||||||
each of which may have a number of
|
each of which may have a number of
|
||||||
.Em windows
|
.Em windows
|
||||||
linked to it.
|
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
|
A window may be split on screen into one or more
|
||||||
.Em panes ,
|
.Em panes ,
|
||||||
each of which is a separate terminal.
|
each of which is a separate terminal.
|
||||||
@ -123,6 +125,14 @@ This is not always correct: the
|
|||||||
flag explicitly informs
|
flag explicitly informs
|
||||||
.Nm
|
.Nm
|
||||||
that UTF-8 is supported.
|
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
|
.It Fl v
|
||||||
Request verbose logging.
|
Request verbose logging.
|
||||||
This option may be specified multiple times for increasing verbosity.
|
This option may be specified multiple times for increasing verbosity.
|
||||||
|
44
tmux.c
44
tmux.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: tmux.c,v 1.142 2009-07-12 17:07:58 nicm Exp $ */
|
/* $Id: tmux.c,v 1.143 2009-07-18 11:05:13 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -275,6 +275,22 @@ main(int argc, char **argv)
|
|||||||
log_open_tty(debug_level);
|
log_open_tty(debug_level);
|
||||||
siginit();
|
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_init(&global_s_options, NULL);
|
||||||
options_set_number(&global_s_options, "bell-action", BELL_ANY);
|
options_set_number(&global_s_options, "bell-action", BELL_ANY);
|
||||||
options_set_number(&global_s_options, "buffer-limit", 9);
|
options_set_number(&global_s_options, "buffer-limit", 9);
|
||||||
@ -301,7 +317,10 @@ main(int argc, char **argv)
|
|||||||
options_set_string(&global_s_options, "status-left", "[#S]");
|
options_set_string(&global_s_options, "status-left", "[#S]");
|
||||||
options_set_string(
|
options_set_string(
|
||||||
&global_s_options, "status-right", "\"#24T\" %%H:%%M %%d-%%b-%%y");
|
&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_init(&global_w_options, NULL);
|
||||||
options_set_number(&global_w_options, "aggressive-resize", 0);
|
options_set_number(&global_w_options, "aggressive-resize", 0);
|
||||||
@ -318,29 +337,16 @@ main(int argc, char **argv)
|
|||||||
options_set_number(&global_w_options, "mode-keys", MODEKEY_EMACS);
|
options_set_number(&global_w_options, "mode-keys", MODEKEY_EMACS);
|
||||||
options_set_number(&global_w_options, "monitor-activity", 0);
|
options_set_number(&global_w_options, "monitor-activity", 0);
|
||||||
options_set_string(&global_w_options, "monitor-content", "%s", "");
|
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-attr", 0);
|
||||||
options_set_number(&global_w_options, "window-status-bg", 8);
|
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, "window-status-fg", 8);
|
||||||
options_set_number(&global_w_options, "xterm-keys", 0);
|
options_set_number(&global_w_options, "xterm-keys", 0);
|
||||||
options_set_number(&global_w_options, "remain-on-exit", 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) {
|
if (cfg_file == NULL) {
|
||||||
home = getenv("HOME");
|
home = getenv("HOME");
|
||||||
if (home == NULL || *home == '\0') {
|
if (home == NULL || *home == '\0') {
|
||||||
|
Loading…
Reference in New Issue
Block a user