Mercurial > hg > xemacs-beta
diff lisp/term/vt100.el @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | 11502791fc1c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/term/vt100.el Mon Aug 13 08:45:50 2007 +0200 @@ -0,0 +1,54 @@ +;;; vt100.el --- define VT100 function key sequences in function-key-map + +;; Author: FSF +;; Keywords: terminals + +;; Copyright (C) 1989, 1993 Free Software Foundation, Inc. +;;; This file is part of GNU Emacs. +;;; +;;; GNU Emacs is free software; you can redistribute it and/or modify +;;; it under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 2, or (at your option) +;;; any later version. +;;; +;;; GNU Emacs is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Emacs; see the file COPYING. If not, write to +;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + +;;; Commentary: + +;; Uses the Emacs 19 terminal initialization features --- won't work with 18. + +;; Handles all VT100 clones, including the Apollo terminal. Also handles +;; the VT200 --- its PF- and arrow- keys are different, but all those +;; are really set up by the terminal initialization code, which mines them +;; out of termcap. This package is here to define the keypad comma, dash +;; and period (which aren't in termcap's repertoire) and the function for +;; changing from 80 to 132 columns & vv. + +;;; Code: + +;; Set up function-key-map entries that termcap and terminfo don't know. +(load "term/lk201" nil t) + +;;; Controlling the screen width. +(defconst vt100-wide-mode (= (frame-width) 132) + "t if vt100 is in 132-column mode.") + +(defun vt100-wide-mode (&optional arg) + "Toggle 132/80 column mode for vt100s. +With positive argument, switch to 132-column mode. +With negative argument, switch to 80-column mode." + (interactive "P") + (setq vt100-wide-mode + (if (null arg) (not vt100-wide-mode) + (> (prefix-numeric-value arg) 0))) + (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l")) + (set-frame-width terminal-frame (if vt100-wide-mode 132 80))) + +;;; vt100.el ends here