]> git.eshelyaron.com Git - emacs.git/commitdiff
Add term/tmux.el
authorMark Oteiza <mvoteiza@udel.edu>
Sun, 1 Jan 2017 16:50:59 +0000 (11:50 -0500)
committerMark Oteiza <mvoteiza@udel.edu>
Sun, 1 Jan 2017 16:50:59 +0000 (11:50 -0500)
Since tmux version 2.1, new tmux terminfos are shipped due to oddities
with xterm and screen terminfos.  This is simply a duplication of
term/screen.el with screen -> tmux.
* lisp/term/tmux.el: New file.

lisp/term/tmux.el [new file with mode: 0644]

diff --git a/lisp/term/tmux.el b/lisp/term/tmux.el
new file mode 100644 (file)
index 0000000..60d18d7
--- /dev/null
@@ -0,0 +1,25 @@
+;;; tmux.el --- terminal initialization for tmux  -*- lexical-binding: t -*-
+;; Copyright (C) 2017 Free Software Foundation, Inc.
+
+(require 'term/xterm)
+
+(defcustom xterm-tmux-extra-capabilities '(modifyOtherKeys)
+  "Extra capabilities supported under \"tmux\".
+Some features of tmux depend on the terminal emulator in which
+it runs, which can change when the tmux session is moved to another tty."
+  :version "26.1"
+  :type xterm--extra-capabilities-type
+  :group 'xterm)
+
+(defun terminal-init-tmux ()
+  "Terminal initialization function for tmux."
+  ;; Treat a tmux terminal similar to an xterm, but don't use
+  ;; xterm-extra-capabilities's `check' setting since that doesn't seem
+  ;; to work so well (it depends too much on the surrounding terminal
+  ;; emulator, which can change during the session, bug#20356).
+  (let ((xterm-extra-capabilities xterm-tmux-extra-capabilities))
+    (tty-run-terminal-initialization (selected-frame) "xterm")))
+
+(provide 'term/tmux)
+
+;; tmux.el ends here