mirror of
https://github.com/tmate-io/tmate-ssh-server.git
synced 2020-11-18 19:53:51 -08:00
Merge remote-tracking branch 'tmux/master' into dev
This commit is contained in:
commit
0cf681e609
8
README
8
README
@ -33,8 +33,12 @@ the source tree with:
|
||||
Some common questions are answered in the FAQ file and a more extensive (but
|
||||
slightly out of date) guide is available in the OpenBSD FAQ at
|
||||
http://www.openbsd.org/faq/faq7.html#tmux. A rough todo list is in the TODO
|
||||
file and some example configurations and a Vim syntax file are in the examples
|
||||
directory.
|
||||
file and some example configurations are in the examples directory.
|
||||
|
||||
A vim(1) syntax file is available at:
|
||||
|
||||
https://github.com/keith/tmux.vim
|
||||
https://raw.githubusercontent.com/keith/tmux.vim/master/syntax/tmux.vim
|
||||
|
||||
For debugging, running tmux with -v or -vv will generate server and client log
|
||||
files in the current directory.
|
||||
|
@ -85,12 +85,6 @@ cmd_select_pane_exec(struct cmd *self, struct cmd_q *cmdq)
|
||||
return (CMD_RETURN_NORMAL);
|
||||
}
|
||||
|
||||
server_unzoom_window(wp->window);
|
||||
if (!window_pane_visible(wp)) {
|
||||
cmdq_error(cmdq, "pane not visible");
|
||||
return (CMD_RETURN_ERROR);
|
||||
}
|
||||
|
||||
if (args_has(args, 'm') || args_has(args, 'M')) {
|
||||
if (args_has(args, 'm') && !window_pane_visible(wp))
|
||||
return (CMD_RETURN_NORMAL);
|
||||
|
@ -94,10 +94,9 @@ cmd_switch_client_exec(struct cmd *self, struct cmd_q *cmdq)
|
||||
cmdq_error(cmdq, "can't find last session");
|
||||
return (CMD_RETURN_ERROR);
|
||||
}
|
||||
} else {
|
||||
if (cmdq->client == NULL)
|
||||
return (CMD_RETURN_NORMAL);
|
||||
|
||||
s = state->tflag.s;
|
||||
if (state->tflag.wl != NULL) {
|
||||
wp = state->tflag.wp;
|
||||
if (wp != NULL)
|
||||
|
@ -1,314 +0,0 @@
|
||||
" Vim syntax file
|
||||
" Language: tmux(1) configuration file
|
||||
" Maintainer: Tiago Cunha <tcunha@users.sourceforge.net>
|
||||
" Last Change: $Date: 2010-07-27 18:29:07 $
|
||||
" License: This file is placed in the public domain.
|
||||
"
|
||||
" To install this file:
|
||||
"
|
||||
" - Drop the file in the syntax directory into runtimepath (such as
|
||||
" ~/.vim/syntax/tmux.vim).
|
||||
" - Make the filetype recognisable by adding the following to filetype.vim
|
||||
" (~/.vim/filetype.vim):
|
||||
"
|
||||
" augroup filetypedetect
|
||||
" au BufNewFile,BufRead .tmux.conf*,tmux.conf* setf tmux
|
||||
" augroup END
|
||||
"
|
||||
" - Switch on syntax highlighting by adding "syntax enable" to .vimrc.
|
||||
"
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
setlocal iskeyword+=-
|
||||
syntax case match
|
||||
|
||||
syn keyword tmuxAction any current none
|
||||
syn keyword tmuxBoolean off on
|
||||
|
||||
syn keyword tmuxCmds
|
||||
\ attach
|
||||
\ attach-session
|
||||
\ bind
|
||||
\ bind-key
|
||||
\ break-pane
|
||||
\ breakp
|
||||
\ capture-pane
|
||||
\ capturep
|
||||
\ choose-buffer
|
||||
\ choose-client
|
||||
\ choose-session
|
||||
\ choose-tree
|
||||
\ choose-window
|
||||
\ clear-history
|
||||
\ clearhist
|
||||
\ clock-mode
|
||||
\ command-prompt
|
||||
\ confirm
|
||||
\ confirm-before
|
||||
\ copy-mode
|
||||
\ delete-buffer
|
||||
\ deleteb
|
||||
\ detach
|
||||
\ detach-client
|
||||
\ display
|
||||
\ display-message
|
||||
\ display-panes
|
||||
\ displayp
|
||||
\ find-window
|
||||
\ findw
|
||||
\ has
|
||||
\ has-session
|
||||
\ if
|
||||
\ if-shell
|
||||
\ info
|
||||
\ join-pane
|
||||
\ joinp
|
||||
\ kill-pane
|
||||
\ kill-server
|
||||
\ kill-session
|
||||
\ kill-window
|
||||
\ killp
|
||||
\ killw
|
||||
\ last
|
||||
\ last-pane
|
||||
\ last-window
|
||||
\ lastp
|
||||
\ link-window
|
||||
\ linkw
|
||||
\ list-buffers
|
||||
\ list-clients
|
||||
\ list-commands
|
||||
\ list-keys
|
||||
\ list-panes
|
||||
\ list-sessions
|
||||
\ list-windows
|
||||
\ load-buffer
|
||||
\ loadb
|
||||
\ lock
|
||||
\ lock-client
|
||||
\ lock-server
|
||||
\ lock-session
|
||||
\ lockc
|
||||
\ locks
|
||||
\ ls
|
||||
\ lsb
|
||||
\ lsc
|
||||
\ lscm
|
||||
\ lsk
|
||||
\ lsp
|
||||
\ lsw
|
||||
\ move-pane
|
||||
\ move-window
|
||||
\ movep
|
||||
\ movew
|
||||
\ new
|
||||
\ new-session
|
||||
\ new-window
|
||||
\ neww
|
||||
\ next
|
||||
\ next-layout
|
||||
\ next-window
|
||||
\ nextl
|
||||
\ paste-buffer
|
||||
\ pasteb
|
||||
\ path
|
||||
\ pipe-pane
|
||||
\ pipep
|
||||
\ prev
|
||||
\ previous-layout
|
||||
\ previous-window
|
||||
\ prevl
|
||||
\ refresh
|
||||
\ refresh-client
|
||||
\ rename
|
||||
\ rename-session
|
||||
\ rename-window
|
||||
\ renamew
|
||||
\ resize-pane
|
||||
\ resizep
|
||||
\ respawn-pane
|
||||
\ respawn-window
|
||||
\ respawnp
|
||||
\ respawnw
|
||||
\ rotate-window
|
||||
\ rotatew
|
||||
\ run
|
||||
\ run-shell
|
||||
\ save-buffer
|
||||
\ saveb
|
||||
\ select-layout
|
||||
\ select-pane
|
||||
\ select-window
|
||||
\ selectl
|
||||
\ selectp
|
||||
\ selectw
|
||||
\ send
|
||||
\ send-keys
|
||||
\ send-prefix
|
||||
\ server-info
|
||||
\ set
|
||||
\ set-buffer
|
||||
\ set-environment
|
||||
\ set-option
|
||||
\ set-window-option
|
||||
\ setb
|
||||
\ setenv
|
||||
\ setw
|
||||
\ show
|
||||
\ show-buffer
|
||||
\ show-environment
|
||||
\ show-messages
|
||||
\ show-options
|
||||
\ show-window-options
|
||||
\ showb
|
||||
\ showenv
|
||||
\ showmsgs
|
||||
\ showw
|
||||
\ source
|
||||
\ source-file
|
||||
\ split-window
|
||||
\ splitw
|
||||
\ start
|
||||
\ start-server
|
||||
\ suspend-client
|
||||
\ suspendc
|
||||
\ swap-pane
|
||||
\ swap-window
|
||||
\ swapp
|
||||
\ swapw
|
||||
\ switch-client
|
||||
\ switchc
|
||||
\ unbind
|
||||
\ unbind-key
|
||||
\ unlink-window
|
||||
\ unlinkw
|
||||
\ wait
|
||||
\ wait-for
|
||||
|
||||
syn keyword tmuxOptsSet
|
||||
\ assume-paste-time
|
||||
\ base-index
|
||||
\ bell-action
|
||||
\ bell-on-alert
|
||||
\ buffer-limit
|
||||
\ default-command
|
||||
\ default-shell
|
||||
\ default-terminal
|
||||
\ destroy-unattached
|
||||
\ detach-on-destroy
|
||||
\ display-panes-active-colour
|
||||
\ display-panes-colour
|
||||
\ display-panes-time
|
||||
\ display-time
|
||||
\ escape-time
|
||||
\ exit-unattached
|
||||
\ focus-events
|
||||
\ history-file
|
||||
\ history-limit
|
||||
\ lock-after-time
|
||||
\ lock-command
|
||||
\ message-command-style
|
||||
\ message-limit
|
||||
\ message-style
|
||||
\ mouse
|
||||
\ mouse-utf8
|
||||
\ prefix
|
||||
\ prefix2
|
||||
\ quiet
|
||||
\ renumber-windows
|
||||
\ repeat-time
|
||||
\ set-clipboard
|
||||
\ set-remain-on-exit
|
||||
\ set-titles
|
||||
\ set-titles-string
|
||||
\ status
|
||||
\ status-interval
|
||||
\ status-justify
|
||||
\ status-keys
|
||||
\ status-left
|
||||
\ status-left-length
|
||||
\ status-left-style
|
||||
\ status-position
|
||||
\ status-right
|
||||
\ status-right-length
|
||||
\ status-right-style
|
||||
\ status-style
|
||||
\ status-utf8
|
||||
\ terminal-overrides
|
||||
\ update-environment
|
||||
\ visual-activity
|
||||
\ visual-bell
|
||||
\ visual-silence
|
||||
\ word-separators
|
||||
|
||||
syn keyword tmuxOptsSetw
|
||||
\ aggressive-resize
|
||||
\ allow-rename
|
||||
\ alternate-screen
|
||||
\ automatic-rename
|
||||
\ automatic-rename-format
|
||||
\ clock-mode-colour
|
||||
\ clock-mode-style
|
||||
\ force-height
|
||||
\ force-width
|
||||
\ main-pane-height
|
||||
\ main-pane-width
|
||||
\ mode-keys
|
||||
\ mode-style
|
||||
\ monitor-activity
|
||||
\ monitor-silence
|
||||
\ other-pane-height
|
||||
\ other-pane-width
|
||||
\ pane-active-border-style
|
||||
\ pane-base-index
|
||||
\ pane-border-style
|
||||
\ remain-on-exit
|
||||
\ synchronize-panes
|
||||
\ utf8
|
||||
\ window-active-style
|
||||
\ window-status-activity-style
|
||||
\ window-status-bell-style
|
||||
\ window-status-current-format
|
||||
\ window-status-current-style
|
||||
\ window-status-format
|
||||
\ window-status-last-style
|
||||
\ window-status-separator
|
||||
\ window-status-style
|
||||
\ window-style
|
||||
\ wrap-search
|
||||
\ xterm-keys
|
||||
|
||||
syn keyword tmuxTodo FIXME NOTE TODO XXX contained
|
||||
|
||||
syn match tmuxKey /\(C-\|M-\|\^\)\+\S\+/ display
|
||||
syn match tmuxNumber /\d\+/ display
|
||||
syn match tmuxOptions /\s-\a\+/ display
|
||||
syn match tmuxVariable /\w\+=/ display
|
||||
syn match tmuxVariableExpansion /\${\=\w\+}\=/ display
|
||||
|
||||
" Comments can span multiple lines, when the newline is escaped
|
||||
" (with a single) backslash at the end.
|
||||
syn region tmuxComment start=/#/ skip=/\\\@<!\\$/ end=/$/ contains=tmuxTodo
|
||||
syn region tmuxString start=/"/ end=/"/ display oneline
|
||||
syn region tmuxString start=/'/ end=/'/ display oneline
|
||||
|
||||
hi def link tmuxAction Boolean
|
||||
hi def link tmuxBoolean Boolean
|
||||
hi def link tmuxCmds Keyword
|
||||
hi def link tmuxComment Comment
|
||||
hi def link tmuxKey Special
|
||||
hi def link tmuxNumber Number
|
||||
hi def link tmuxOptions Identifier
|
||||
hi def link tmuxOptsSet Function
|
||||
hi def link tmuxOptsSetw Function
|
||||
hi def link tmuxString String
|
||||
hi def link tmuxTodo Todo
|
||||
hi def link tmuxVariable Constant
|
||||
hi def link tmuxVariableExpansion Constant
|
||||
|
||||
let b:current_syntax = "tmux"
|
4
screen.c
4
screen.c
@ -94,10 +94,10 @@ screen_set_cursor_style(struct screen *s, u_int style)
|
||||
|
||||
/* Set screen cursor colour. */
|
||||
void
|
||||
screen_set_cursor_colour(struct screen *s, const char *colour_string)
|
||||
screen_set_cursor_colour(struct screen *s, const char *colour)
|
||||
{
|
||||
free(s->ccolour);
|
||||
s->ccolour = xstrdup(colour_string);
|
||||
s->ccolour = xstrdup(colour);
|
||||
}
|
||||
|
||||
/* Set screen title. */
|
||||
|
7
status.c
7
status.c
@ -556,7 +556,7 @@ status_message_set(struct client *c, const char *fmt, ...)
|
||||
struct message_entry *msg, *msg1;
|
||||
va_list ap;
|
||||
int delay;
|
||||
u_int first, limit;
|
||||
u_int limit;
|
||||
|
||||
limit = options_get_number(global_options, "message-limit");
|
||||
|
||||
@ -573,10 +573,9 @@ status_message_set(struct client *c, const char *fmt, ...)
|
||||
msg->msg = xstrdup(c->message_string);
|
||||
TAILQ_INSERT_TAIL(&c->message_log, msg, entry);
|
||||
|
||||
first = c->message_next - limit;
|
||||
TAILQ_FOREACH_SAFE(msg, &c->message_log, entry, msg1) {
|
||||
if (msg->msg_num >= first)
|
||||
continue;
|
||||
if (msg->msg_num + limit >= c->message_next)
|
||||
break;
|
||||
free(msg->msg);
|
||||
TAILQ_REMOVE(&c->message_log, msg, entry);
|
||||
free(msg);
|
||||
|
2
tty.c
2
tty.c
@ -496,7 +496,7 @@ tty_update_mode(struct tty *tty, int mode, struct screen *s)
|
||||
{
|
||||
int changed;
|
||||
|
||||
if (s != NULL && strcmp(s->ccolour, tty->ccolour))
|
||||
if (s != NULL && strcmp(s->ccolour, tty->ccolour) != 0)
|
||||
tty_force_cursor_colour(tty, s->ccolour);
|
||||
|
||||
if (tty->flags & TTY_NOCURSOR)
|
||||
|
2
window.c
2
window.c
@ -991,7 +991,7 @@ window_pane_read_callback(__unused struct bufferevent *bufev, void *data)
|
||||
|
||||
new_size = EVBUFFER_LENGTH(evb) - wp->pipe_off;
|
||||
if (wp->pipe_fd != -1 && new_size > 0) {
|
||||
new_data = EVBUFFER_DATA(evb);
|
||||
new_data = EVBUFFER_DATA(evb) + wp->pipe_off;
|
||||
bufferevent_write(wp->pipe_event, new_data, new_size);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user