1;;; vt100.el --- define VT100 function key sequences in function-key-map 2 3;; Copyright (C) 1989, 1993, 2001, 2002, 2003, 2004, 4;; 2005, 2006, 2007 Free Software Foundation, Inc. 5 6;; Author: FSF 7;; Keywords: terminals 8 9;; This file is part of GNU Emacs. 10 11;; GNU Emacs is free software; you can redistribute it and/or modify 12;; it under the terms of the GNU General Public License as published by 13;; the Free Software Foundation; either version 2, or (at your option) 14;; any later version. 15 16;; GNU Emacs is distributed in the hope that it will be useful, 17;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19;; GNU General Public License for more details. 20 21;; You should have received a copy of the GNU General Public License 22;; along with GNU Emacs; see the file COPYING. If not, write to the 23;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 24;; Boston, MA 02110-1301, USA. 25 26;;; Commentary: 27 28;; Uses the Emacs 19 terminal initialization features --- won't work with 18. 29 30;; Handles all VT100 clones, including the Apollo terminal. Also handles 31;; the VT200 --- its PF- and arrow- keys are different, but all those 32;; are really set up by the terminal initialization code, which mines them 33;; out of termcap. This package is here to define the keypad comma, dash 34;; and period (which aren't in termcap's repertoire) and the function for 35;; changing from 80 to 132 columns & vv. 36 37;;; Code: 38 39;; Set up function-key-map entries that termcap and terminfo don't know. 40 41 42(defun terminal-init-vt100 () 43 "Terminal initialization function for vt100." 44 (load "term/lk201" nil t)) 45 46;;; Controlling the screen width. 47(defvar vt100-wide-mode (= (frame-width) 132) 48 "t if vt100 is in 132-column mode.") 49 50(defun vt100-wide-mode (&optional arg) 51 "Toggle 132/80 column mode for vt100s. 52With positive argument, switch to 132-column mode. 53With negative argument, switch to 80-column mode." 54 (interactive "P") 55 (setq vt100-wide-mode 56 (if (null arg) (not vt100-wide-mode) 57 (> (prefix-numeric-value arg) 0))) 58 (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l")) 59 (set-frame-width terminal-frame (if vt100-wide-mode 132 80))) 60 61;;; arch-tag: 9ff41f24-a7c9-4dee-9cf2-fbaa951eb840 62;;; vt100.el ends here 63