Lines 29-37
Link Here
|
29 |
(eval-when-compile |
29 |
(eval-when-compile |
30 |
(require 'static)) |
30 |
(require 'static)) |
31 |
|
31 |
|
32 |
(static-defconst elscreen-on-xemacs (featurep 'xemacs)) |
32 |
(static-defconst elscreen-on-xemacs (featurep 'xemacs) |
33 |
(static-defconst elscreen-on-emacs (and (not elscreen-on-xemacs) |
33 |
(static-defconst elscreen-on-emacs (and (not elscreen-on-xemacs) |
34 |
(>= emacs-major-version 21))) |
34 |
(>= emacs-major-version 21)))) |
35 |
|
35 |
|
36 |
|
36 |
|
37 |
;;; User Customizable Variables: |
37 |
;;; User Customizable Variables: |
Lines 148-154
Link Here
|
148 |
|
148 |
|
149 |
(static-when elscreen-on-emacs ;; GNU Emacs 21 |
149 |
(static-when elscreen-on-emacs ;; GNU Emacs 21 |
150 |
(make-obsolete-variable 'elscreen-tab-display-create-screen |
150 |
(make-obsolete-variable 'elscreen-tab-display-create-screen |
151 |
'elscreen-tab-display-control) |
151 |
'elscreen-tab-display-control |
|
|
152 |
"1.4.6") |
152 |
(defcustom elscreen-tab-display-control t |
153 |
(defcustom elscreen-tab-display-control t |
153 |
"*Non-nil to display control tab at the most left side." |
154 |
"*Non-nil to display control tab at the most left side." |
154 |
:tag "Show/Hide the Control Tab" |
155 |
:tag "Show/Hide the Control Tab" |
Lines 201-213
Link Here
|
201 |
(((class color)) |
202 |
(((class color)) |
202 |
(:background "blue" :foreground "black" :underline t))) |
203 |
(:background "blue" :foreground "black" :underline t))) |
203 |
"Face for tabs other than current screen one." |
204 |
"Face for tabs other than current screen one." |
204 |
:group 'elscreen)) |
205 |
:group 'elscreen) |
205 |
|
206 |
|
206 |
|
207 |
|
207 |
;;; Key & Menu bindings: |
208 |
;;; Key & Menu bindings: |
208 |
|
209 |
|
209 |
(defvar elscreen-map (make-sparse-keymap) |
210 |
(defvar elscreen-map (make-sparse-keymap) |
210 |
"Keymap for ElScreen.") |
211 |
"Keymap for ElScreen.")) |
211 |
(define-key elscreen-map "\C-c" 'elscreen-create) |
212 |
(define-key elscreen-map "\C-c" 'elscreen-create) |
212 |
(define-key elscreen-map "c" 'elscreen-create) |
213 |
(define-key elscreen-map "c" 'elscreen-create) |
213 |
(define-key elscreen-map "C" 'elscreen-clone) |
214 |
(define-key elscreen-map "C" 'elscreen-clone) |
Lines 899-911
Link Here
|
899 |
screen-list-string) |
900 |
screen-list-string) |
900 |
(cond |
901 |
(cond |
901 |
((not (elscreen-screen-live-p screen)) ;; XXX |
902 |
((not (elscreen-screen-live-p screen)) ;; XXX |
902 |
(when (interactive-p) |
903 |
(when (called-interactively-p 'any) |
903 |
(elscreen-message "There is no such screen"))) |
904 |
(elscreen-message "There is no such screen"))) |
904 |
((null screen-list) |
905 |
((null screen-list) |
905 |
(when (interactive-p) |
906 |
(when (called-interactively-p 'any) |
906 |
(elscreen-message "There is only one screen, cannot kill"))) |
907 |
(elscreen-message "There is only one screen, cannot kill"))) |
907 |
((or |
908 |
((or |
908 |
(not (interactive-p)) |
909 |
(not (called-interactively-p 'any)) |
909 |
(yes-or-no-p (format "Really kill screens other than %d? " screen))) |
910 |
(yes-or-no-p (format "Really kill screens other than %d? " screen))) |
910 |
(setq screen-list-string (mapconcat |
911 |
(setq screen-list-string (mapconcat |
911 |
(lambda (screen) |
912 |
(lambda (screen) |
Lines 914-920
Link Here
|
914 |
screen-list ",")) |
915 |
screen-list ",")) |
915 |
(elscreen-goto-internal screen) |
916 |
(elscreen-goto-internal screen) |
916 |
(elscreen-notify-screen-modification 'force-immediately) |
917 |
(elscreen-notify-screen-modification 'force-immediately) |
917 |
(when (interactive-p) |
918 |
(when (called-interactively-p 'any) |
918 |
(elscreen-message (format "screen %s killed" screen-list-string))))) |
919 |
(elscreen-message (format "screen %s killed" screen-list-string))))) |
919 |
screen-list)) |
920 |
screen-list)) |
920 |
|
921 |
|
Lines 984-990
Link Here
|
984 |
(defun elscreen-jump () |
985 |
(defun elscreen-jump () |
985 |
"Switch to specified screen." |
986 |
"Switch to specified screen." |
986 |
(interactive) |
987 |
(interactive) |
987 |
(let ((next-screen (string-to-number (string last-command-char)))) |
988 |
(let ((next-screen (string-to-number (string last-command-event)))) |
988 |
(if (and (<= 0 next-screen) (<= next-screen 9)) |
989 |
(if (and (<= 0 next-screen) (<= next-screen 9)) |
989 |
(elscreen-goto next-screen)))) |
990 |
(elscreen-goto next-screen)))) |
990 |
(defalias 'elscreen-jump-0 'elscreen-jump) |
991 |
(defalias 'elscreen-jump-0 'elscreen-jump) |
Lines 1046-1052
Link Here
|
1046 |
(princ (substitute-command-keys |
1047 |
(princ (substitute-command-keys |
1047 |
(mapconcat 'symbol-value |
1048 |
(mapconcat 'symbol-value |
1048 |
elscreen-help-symbol-list "\n\n"))) |
1049 |
elscreen-help-symbol-list "\n\n"))) |
1049 |
(print-help-return-message))) |
1050 |
(help-print-return-message))) |
1050 |
|
1051 |
|
1051 |
|
1052 |
|
1052 |
;;; Utility Functions |
1053 |
;;; Utility Functions |
Lines 1180-1186
Link Here
|
1180 |
creating one if none already exists." |
1181 |
creating one if none already exists." |
1181 |
(interactive) |
1182 |
(interactive) |
1182 |
(let* ((prompt "Go to the screen with specified buffer: ") |
1183 |
(let* ((prompt "Go to the screen with specified buffer: ") |
1183 |
(create (or create (interactive-p))) |
1184 |
(create (or create (called-interactively-p 'any))) |
1184 |
(buffer-name (or (and (bufferp buffer) (buffer-name buffer)) |
1185 |
(buffer-name (or (and (bufferp buffer) (buffer-name buffer)) |
1185 |
(and (stringp buffer) buffer) |
1186 |
(and (stringp buffer) buffer) |
1186 |
(and (featurep 'iswitchb) |
1187 |
(and (featurep 'iswitchb) |
Lines 1207-1213
Link Here
|
1207 |
Use \\[toggle-read-only] to permit editing." |
1208 |
Use \\[toggle-read-only] to permit editing." |
1208 |
(interactive "FFind file read-only in new screen: ") |
1209 |
(interactive "FFind file read-only in new screen: ") |
1209 |
(elscreen-find-file filename) |
1210 |
(elscreen-find-file filename) |
1210 |
(toggle-read-only 1)) |
1211 |
(read-only-mode 1)) |
1211 |
|
1212 |
|
1212 |
(defun elscreen-dired (dirname &optional switches) |
1213 |
(defun elscreen-dired (dirname &optional switches) |
1213 |
(interactive (progn |
1214 |
(interactive (progn |
Lines 1373-1399
Link Here
|
1373 |
(defvar elscreen-e21-tab-format nil) |
1374 |
(defvar elscreen-e21-tab-format nil) |
1374 |
(make-variable-buffer-local 'elscreen-e21-tab-format) |
1375 |
(make-variable-buffer-local 'elscreen-e21-tab-format) |
1375 |
|
1376 |
|
1376 |
(defsubst elscreen-e21-tab-create-keymap (&rest definitions) |
1377 |
(eval-when-compile |
1377 |
(let ((keymap (make-sparse-keymap)) |
1378 |
(defsubst elscreen-e21-tab-create-keymap (&rest definitions) |
1378 |
(key-function-pairs |
1379 |
(let ((keymap (make-sparse-keymap)) |
1379 |
(eval-when-compile |
1380 |
(key-function-pairs |
1380 |
(mapcar |
1381 |
(eval-when-compile |
1381 |
(lambda (key) |
1382 |
(mapcar |
1382 |
(cons key 'ignore)) |
1383 |
(lambda (key) |
1383 |
(list 'mouse-1 'mouse-2 'mouse-3 |
1384 |
(cons key 'ignore)) |
1384 |
'down-mouse-1 'down-mouse-2 'down-mouse-3 |
1385 |
(list 'mouse-1 'mouse-2 'mouse-3 |
1385 |
'drag-mouse-1 'drag-mouse-2 'drag-mouse-3))))) |
1386 |
'down-mouse-1 'down-mouse-2 'down-mouse-3 |
1386 |
(while definitions |
1387 |
'drag-mouse-1 'drag-mouse-2 'drag-mouse-3))))) |
1387 |
(set-alist 'key-function-pairs (car definitions) (cadr definitions)) |
1388 |
(while definitions |
1388 |
(setq definitions (cddr definitions))) |
1389 |
(set-alist 'key-function-pairs (car definitions) (cadr definitions)) |
1389 |
(mapc |
1390 |
(setq definitions (cddr definitions))) |
1390 |
(lambda (key-function-pair) |
1391 |
(mapc |
1391 |
(let ((key (car key-function-pair)) |
1392 |
(lambda (key-function-pair) |
1392 |
(function (cdr key-function-pair))) |
1393 |
(let ((key (car key-function-pair)) |
1393 |
(define-key keymap (vector 'header-line key) function))) |
1394 |
(function (cdr key-function-pair))) |
1394 |
key-function-pairs) |
1395 |
(define-key keymap (vector 'header-line key) function))) |
1395 |
keymap)) |
1396 |
key-function-pairs) |
1396 |
|
1397 |
keymap))) |
|
|
1398 |
|
1397 |
(defsubst elscreen-e21-tab-width () |
1399 |
(defsubst elscreen-e21-tab-width () |
1398 |
(if (numberp elscreen-display-tab) |
1400 |
(if (numberp elscreen-display-tab) |
1399 |
elscreen-display-tab |
1401 |
elscreen-display-tab |