patch file for elscreen.el
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
*** elscreen.el 2012-10-03 11:34:53.000000000 +0900 | |
--- elscreen_new.el 2012-10-03 11:35:35.000000000 +0900 | |
*************** | |
*** 37,43 **** | |
;;; User Customizable Variables: | |
! (defconst elscreen-version "2012-04-11") | |
(defgroup elscreen nil | |
"ElScreen -- Screen Manager for Emacs" | |
--- 37,46 ---- | |
;;; User Customizable Variables: | |
! (require 'iswitchb) | |
! (require 'dired) | |
! | |
! (defconst elscreen-version "2012-09-21") | |
(defgroup elscreen nil | |
"ElScreen -- Screen Manager for Emacs" | |
*************** | |
*** 113,125 **** | |
(elscreen-rebuild-buffer-to-nickname-alist))) | |
:group 'elscreen) | |
- (defcustom elscreen-startup-command-line-processing t | |
- "*If non-nil, ElScreen processes command line when Emacsen | |
- starts up, and opens files with new screen if needed." | |
- :type 'boolean | |
- :tag "Enable/Disable ElScreen to Process Command Line Arguments" | |
- :group 'elscreen) | |
- | |
(defcustom elscreen-display-screen-number t | |
"*Non-nil to display the number of current screen in the mode line." | |
:tag "Show/Hide Screen Number on the mode-line" | |
--- 116,121 ---- | |
*************** | |
*** 140,147 **** | |
(and (numberp value) | |
(> value 0))) | |
(custom-set-default symbol value) | |
! (when (fboundp 'elscreen-e21-tab-update) | |
! (elscreen-e21-tab-update t)))) | |
:group 'elscreen) | |
(make-obsolete-variable 'elscreen-tab-display-create-screen | |
--- 136,143 ---- | |
(and (numberp value) | |
(> value 0))) | |
(custom-set-default symbol value) | |
! (when (fboundp 'elscreen-tab-update) | |
! (elscreen-tab-update t)))) | |
:group 'elscreen) | |
(make-obsolete-variable 'elscreen-tab-display-create-screen | |
*************** | |
*** 152,159 **** | |
:type 'boolean | |
:set (lambda (symbol value) | |
(custom-set-default symbol value) | |
! (when (fboundp 'elscreen-e21-tab-update) | |
! (elscreen-e21-tab-update t))) | |
:group 'elscreen) | |
(defcustom elscreen-tab-display-kill-screen 'left | |
--- 148,155 ---- | |
:type 'boolean | |
:set (lambda (symbol value) | |
(custom-set-default symbol value) | |
! (when (fboundp 'elscreen-tab-update) | |
! (elscreen-tab-update t))) | |
:group 'elscreen) | |
(defcustom elscreen-tab-display-kill-screen 'left | |
*************** | |
*** 164,171 **** | |
(const :tag "None" nil)) | |
:set (lambda (symbol value) | |
(custom-set-default symbol value) | |
! (when (fboundp 'elscreen-e21-tab-update) | |
! (elscreen-e21-tab-update t))) | |
:group 'elscreen) | |
(defface elscreen-tab-background-face | |
--- 160,167 ---- | |
(const :tag "None" nil)) | |
:set (lambda (symbol value) | |
(custom-set-default symbol value) | |
! (when (fboundp 'elscreen-tab-update) | |
! (elscreen-tab-update t))) | |
:group 'elscreen) | |
(defface elscreen-tab-background-face | |
*************** | |
*** 355,363 **** | |
(when (marker-buffer marker) | |
(goto-char marker)))) | |
- (defun get-alist (key alist) | |
- (cdr (assoc key alist))) | |
- | |
(defsubst elscreen-copy-tree (tree) | |
(if (fboundp 'copy-tree) | |
(copy-tree tree) | |
--- 351,356 ---- | |
*************** | |
*** 386,392 **** | |
(setq elscreen-frame-confs original-frame-confs) | |
(elscreen-apply-window-configuration | |
original-elscreen-window-configuration) | |
! (mapcar | |
(lambda (buffer) | |
(when (buffer-live-p buffer) | |
(bury-buffer buffer) | |
--- 379,385 ---- | |
(setq elscreen-frame-confs original-frame-confs) | |
(elscreen-apply-window-configuration | |
original-elscreen-window-configuration) | |
! (mapc | |
(lambda (buffer) | |
(when (buffer-live-p buffer) | |
(bury-buffer buffer) | |
*************** | |
*** 397,403 **** | |
(bury-buffer (car (buffer-list)))))))) | |
(defsubst elscreen-get-frame-confs (frame) | |
! (get-alist frame elscreen-frame-confs)) | |
(defun elscreen-make-frame-confs (frame &optional keep-window-configuration) | |
(when (null (elscreen-get-frame-confs frame)) | |
--- 390,396 ---- | |
(bury-buffer (car (buffer-list)))))))) | |
(defsubst elscreen-get-frame-confs (frame) | |
! (assoc-default frame elscreen-frame-confs)) | |
(defun elscreen-make-frame-confs (frame &optional keep-window-configuration) | |
(when (null (elscreen-get-frame-confs frame)) | |
*************** | |
*** 430,436 **** | |
(add-hook 'delete-frame-functions 'elscreen-delete-frame-confs) | |
(defsubst elscreen-get-conf-list (type) | |
! (get-alist type (elscreen-get-frame-confs (selected-frame)))) | |
(defsubst elscreen-set-conf-list (type conf-list) | |
(let ((frame-conf (elscreen-get-frame-confs (selected-frame)))) | |
--- 423,429 ---- | |
(add-hook 'delete-frame-functions 'elscreen-delete-frame-confs) | |
(defsubst elscreen-get-conf-list (type) | |
! (assoc-default type (elscreen-get-frame-confs (selected-frame)))) | |
(defsubst elscreen-set-conf-list (type conf-list) | |
(let ((frame-conf (elscreen-get-frame-confs (selected-frame)))) | |
*************** | |
*** 438,444 **** | |
(defun elscreen-get-screen-property (screen) | |
(let ((screen-property-list (elscreen-get-conf-list 'screen-property))) | |
! (get-alist screen screen-property-list))) | |
(defun elscreen-set-screen-property (screen property) | |
(let ((screen-property-list (elscreen-get-conf-list 'screen-property))) | |
--- 431,437 ---- | |
(defun elscreen-get-screen-property (screen) | |
(let ((screen-property-list (elscreen-get-conf-list 'screen-property))) | |
! (assoc-default screen screen-property-list))) | |
(defun elscreen-set-screen-property (screen property) | |
(let ((screen-property-list (elscreen-get-conf-list 'screen-property))) | |
*************** | |
*** 470,476 **** | |
"Return pair of window-configuration and marker of SCREEN | |
from `elscreen-frame-confs', a cons cell." | |
(let ((screen-property (elscreen-get-screen-property screen))) | |
! (get-alist 'window-configuration screen-property))) | |
(defun elscreen-set-window-configuration (screen winconf) | |
"Set pair of window-configuration and marker of SCREEN to WINCONF." | |
--- 463,469 ---- | |
"Return pair of window-configuration and marker of SCREEN | |
from `elscreen-frame-confs', a cons cell." | |
(let ((screen-property (elscreen-get-screen-property screen))) | |
! (assoc-default 'window-configuration screen-property))) | |
(defun elscreen-set-window-configuration (screen winconf) | |
"Set pair of window-configuration and marker of SCREEN to WINCONF." | |
*************** | |
*** 481,487 **** | |
(defun elscreen-get-screen-nickname (screen) | |
"Return nickname of SCREEN from `elscreen-frame-confs', a string." | |
(let ((screen-property (elscreen-get-screen-property screen))) | |
! (get-alist 'nickname screen-property))) | |
(defun elscreen-set-screen-nickname (screen nickname) | |
"Set nickname of SCREEN to NICKNAME." | |
--- 474,480 ---- | |
(defun elscreen-get-screen-nickname (screen) | |
"Return nickname of SCREEN from `elscreen-frame-confs', a string." | |
(let ((screen-property (elscreen-get-screen-property screen))) | |
! (assoc-default 'nickname screen-property))) | |
(defun elscreen-set-screen-nickname (screen nickname) | |
"Set nickname of SCREEN to NICKNAME." | |
*************** | |
*** 659,665 **** | |
(let* ((screen-list (sort (elscreen-get-screen-list) '<)) | |
screen-name screen-to-name-alist nickname-type-map) | |
(elscreen-save-screen-excursion | |
! (mapcar | |
(lambda (screen) | |
;; If nickname exists, use it. | |
(setq screen-name (elscreen-get-screen-nickname screen)) | |
--- 652,658 ---- | |
(let* ((screen-list (sort (elscreen-get-screen-list) '<)) | |
screen-name screen-to-name-alist nickname-type-map) | |
(elscreen-save-screen-excursion | |
! (mapc | |
(lambda (screen) | |
;; If nickname exists, use it. | |
(setq screen-name (elscreen-get-screen-nickname screen)) | |
*************** | |
*** 1037,1043 **** | |
(elscreen-message | |
(mapconcat | |
(lambda (screen) | |
! (let ((screen-name (get-alist screen screen-to-name-alist))) | |
(format "%d%s %s" screen | |
(elscreen-status-label screen "") | |
screen-name))) | |
--- 1030,1036 ---- | |
(elscreen-message | |
(mapconcat | |
(lambda (screen) | |
! (let ((screen-name (assoc-default screen screen-to-name-alist))) | |
(format "%d%s %s" screen | |
(elscreen-status-label screen "") | |
screen-name))) | |
*************** | |
*** 1118,1124 **** | |
(format " %d%s %s\n" screen | |
(elscreen-status-label screen) | |
(elscreen-truncate-screen-name | |
! (get-alist screen screen-to-name-alist) | |
truncate-length))) | |
screen-list nil))) | |
(prompt "Select screen or (c)reate, (n)ext, (p)revious, (t)oggle: ") | |
--- 1111,1117 ---- | |
(format " %d%s %s\n" screen | |
(elscreen-status-label screen) | |
(elscreen-truncate-screen-name | |
! (assoc-default screen screen-to-name-alist) | |
truncate-length))) | |
screen-list nil))) | |
(prompt "Select screen or (c)reate, (n)ext, (p)revious, (t)oggle: ") | |
*************** | |
*** 1180,1187 **** | |
(kill-buffer candidate-buffer))) | |
(cond | |
((string= command-or-target-screen "")) | |
! ((get-alist command-or-target-screen command-list) | |
! (funcall (get-alist command-or-target-screen command-list))) | |
(t | |
(elscreen-goto (string-to-number command-or-target-screen)))))) | |
--- 1173,1180 ---- | |
(kill-buffer candidate-buffer))) | |
(cond | |
((string= command-or-target-screen "")) | |
! ((assoc-default command-or-target-screen command-list) | |
! (funcall (assoc-default command-or-target-screen command-list))) | |
(t | |
(elscreen-goto (string-to-number command-or-target-screen)))))) | |
*************** | |
*** 1262,1289 **** | |
;;; Mode Line & Menu & Tab | |
;; GNU Emacs | |
! | |
! (defvar elscreen-e21-mode-line-string "[0]") | |
! (defun elscreen-e21-mode-line-update () | |
! (when (elscreen-screen-modified-p 'elscreen-e21-mode-line-update) | |
! (setq elscreen-e21-mode-line-string | |
(format "[%d]" (elscreen-get-current-screen))) | |
(force-mode-line-update))) | |
(let ((point (memq 'mode-line-position mode-line-format)) | |
(elscreen-mode-line-elm '(elscreen-display-screen-number | |
! (" " elscreen-e21-mode-line-string)))) | |
(when (null (member elscreen-mode-line-elm mode-line-format)) | |
(setcdr point (cons elscreen-mode-line-elm (cdr point))))) | |
! (add-hook 'elscreen-screen-update-hook 'elscreen-e21-mode-line-update) | |
;; Menu | |
(define-key-after (lookup-key global-map [menu-bar]) [elscreen] | |
(cons "ElScreen" (make-sparse-keymap "ElScreen")) 'buffer) | |
! (defvar elscreen-e21-menu-bar-command-entries | |
(list (list 'elscreen-command-separator | |
'menu-item | |
"--") | |
--- 1255,1281 ---- | |
;;; Mode Line & Menu & Tab | |
;; GNU Emacs | |
! (defvar elscreen-mode-line-string "[0]") | |
! (defun elscreen-mode-line-update () | |
! (when (elscreen-screen-modified-p 'elscreen-mode-line-update) | |
! (setq elscreen-mode-line-string | |
(format "[%d]" (elscreen-get-current-screen))) | |
(force-mode-line-update))) | |
(let ((point (memq 'mode-line-position mode-line-format)) | |
(elscreen-mode-line-elm '(elscreen-display-screen-number | |
! (" " elscreen-mode-line-string)))) | |
(when (null (member elscreen-mode-line-elm mode-line-format)) | |
(setcdr point (cons elscreen-mode-line-elm (cdr point))))) | |
! (add-hook 'elscreen-screen-update-hook 'elscreen-mode-line-update) | |
;; Menu | |
(define-key-after (lookup-key global-map [menu-bar]) [elscreen] | |
(cons "ElScreen" (make-sparse-keymap "ElScreen")) 'buffer) | |
! (defvar elscreen-menu-bar-command-entries | |
(list (list 'elscreen-command-separator | |
'menu-item | |
"--") | |
*************** | |
*** 1343,1349 **** | |
:help "Display tab on the top of screen" | |
:button '(:toggle . elscreen-display-tab)))) | |
! (defun elscreen-e21-menu-bar-update (&optional force) | |
(when (and (lookup-key (current-global-map) [menu-bar elscreen]) | |
(or force | |
(elscreen-screen-modified-p 'elscreen-menu-bar-update))) | |
--- 1335,1341 ---- | |
:help "Display tab on the top of screen" | |
:button '(:toggle . elscreen-display-tab)))) | |
! (defun elscreen-menu-bar-update (&optional force) | |
(when (and (lookup-key (current-global-map) [menu-bar elscreen]) | |
(or force | |
(elscreen-screen-modified-p 'elscreen-menu-bar-update))) | |
*************** | |
*** 1358,1384 **** | |
(format "%d%s %s" screen | |
(elscreen-status-label screen) | |
(elscreen-truncate-screen-name | |
! (get-alist screen screen-to-name-alist) 25)) | |
'elscreen-jump | |
:keys (format "%s %d" | |
(key-description elscreen-prefix-key) | |
screen))) | |
screen-list)) | |
(setq elscreen-menu | |
! (nconc elscreen-menu elscreen-e21-menu-bar-command-entries)) | |
(setq elscreen-menu | |
(cons 'keymap (cons "Select Screen" elscreen-menu))) | |
(define-key (current-global-map) [menu-bar elscreen] | |
(cons (copy-sequence "ElScreen") elscreen-menu))))) | |
! (add-hook 'elscreen-screen-update-hook 'elscreen-e21-menu-bar-update) | |
;; Tab | |
! (defvar elscreen-e21-tab-format nil) | |
! (make-variable-buffer-local 'elscreen-e21-tab-format) | |
! (defsubst elscreen-e21-tab-create-keymap (&rest definitions) | |
(let ((keymap (make-sparse-keymap)) | |
(key-function-pairs | |
(eval-when-compile | |
--- 1350,1376 ---- | |
(format "%d%s %s" screen | |
(elscreen-status-label screen) | |
(elscreen-truncate-screen-name | |
! (assoc-default screen screen-to-name-alist) 25)) | |
'elscreen-jump | |
:keys (format "%s %d" | |
(key-description elscreen-prefix-key) | |
screen))) | |
screen-list)) | |
(setq elscreen-menu | |
! (nconc elscreen-menu elscreen-menu-bar-command-entries)) | |
(setq elscreen-menu | |
(cons 'keymap (cons "Select Screen" elscreen-menu))) | |
(define-key (current-global-map) [menu-bar elscreen] | |
(cons (copy-sequence "ElScreen") elscreen-menu))))) | |
! (add-hook 'elscreen-screen-update-hook 'elscreen-menu-bar-update) | |
;; Tab | |
! (defvar elscreen-tab-format nil) | |
! (make-variable-buffer-local 'elscreen-tab-format) | |
! (defsubst elscreen-tab-create-keymap (&rest definitions) | |
(let ((keymap (make-sparse-keymap)) | |
(key-function-pairs | |
(eval-when-compile | |
*************** | |
*** 1399,1405 **** | |
key-function-pairs) | |
keymap)) | |
! (defsubst elscreen-e21-tab-width () | |
(if (numberp elscreen-display-tab) | |
elscreen-display-tab | |
(let* ((number-of-screens (elscreen-get-number-of-screens)) | |
--- 1391,1397 ---- | |
key-function-pairs) | |
keymap)) | |
! (defsubst elscreen-tab-width () | |
(if (numberp elscreen-display-tab) | |
elscreen-display-tab | |
(let* ((number-of-screens (elscreen-get-number-of-screens)) | |
*************** | |
*** 1410,1416 **** | |
(if elscreen-tab-display-kill-screen 5.5 1.5))))) | |
(max (min tab-width 16) 1)))) | |
! (defun elscreen-e21-tab-escape-% (string) | |
(if (string-match "%" string) | |
(let ((retval "") | |
start (end 0) substring) | |
--- 1402,1408 ---- | |
(if elscreen-tab-display-kill-screen 5.5 1.5))))) | |
(max (min tab-width 16) 1)))) | |
! (defun elscreen-tab-escape-% (string) | |
(if (string-match "%" string) | |
(let ((retval "") | |
start (end 0) substring) | |
*************** | |
*** 1424,1441 **** | |
retval) | |
string)) | |
! (defun elscreen-e21-tab-update (&optional force) | |
(when (and (not (window-minibuffer-p)) | |
(or (elscreen-screen-modified-p 'elscreen-tab-update) force)) | |
(walk-windows | |
(lambda (window) | |
(with-current-buffer (window-buffer window) | |
! (when (and (boundp 'elscreen-e21-tab-format) | |
! (equal header-line-format elscreen-e21-tab-format) | |
(or (not (eq (window-buffer window) | |
(window-buffer (frame-first-window)))) | |
(not elscreen-display-tab))) | |
! (kill-local-variable 'elscreen-e21-tab-format) | |
(setq header-line-format nil)))) | |
'other 'other) | |
--- 1416,1433 ---- | |
retval) | |
string)) | |
! (defun elscreen-tab-update (&optional force) | |
(when (and (not (window-minibuffer-p)) | |
(or (elscreen-screen-modified-p 'elscreen-tab-update) force)) | |
(walk-windows | |
(lambda (window) | |
(with-current-buffer (window-buffer window) | |
! (when (and (boundp 'elscreen-tab-format) | |
! (equal header-line-format elscreen-tab-format) | |
(or (not (eq (window-buffer window) | |
(window-buffer (frame-first-window)))) | |
(not elscreen-display-tab))) | |
! (kill-local-variable 'elscreen-tab-format) | |
(setq header-line-format nil)))) | |
'other 'other) | |
*************** | |
*** 1443,1472 **** | |
(let ((screen-list (sort (elscreen-get-screen-list) '<)) | |
(screen-to-name-alist (elscreen-get-screen-to-name-alist)) | |
(current-screen (elscreen-get-current-screen)) | |
! (half-space (eval-when-compile | |
! (propertize | |
" " | |
! 'display '(space :width 0.5)))) | |
! (tab-separator (eval-when-compile | |
! (propertize | |
! " " | |
! 'face 'elscreen-tab-background-face | |
! 'display '(space :width 0.5)))) | |
! (control-tab (eval-when-compile | |
! (propertize | |
! "<->" | |
! 'face 'elscreen-tab-control-face | |
! 'local-map (elscreen-e21-tab-create-keymap | |
! 'mouse-1 'elscreen-previous | |
! 'mouse-2 'elscreen-create | |
! 'mouse-3 'elscreen-next) | |
! 'help-echo "mouse-1: previous screen, mouse-2: create new screen, mouse-3: next screen")))) | |
(with-current-buffer (window-buffer (frame-first-window)) | |
! (kill-local-variable 'elscreen-e21-tab-format) | |
(when elscreen-tab-display-control | |
! (setq elscreen-e21-tab-format | |
(nconc | |
! elscreen-e21-tab-format | |
(list | |
control-tab | |
tab-separator)))) | |
--- 1435,1461 ---- | |
(let ((screen-list (sort (elscreen-get-screen-list) '<)) | |
(screen-to-name-alist (elscreen-get-screen-to-name-alist)) | |
(current-screen (elscreen-get-current-screen)) | |
! (half-space (propertize | |
" " | |
! 'display '(space :width 0.5))) | |
! (tab-separator (propertize | |
! " " | |
! 'face 'elscreen-tab-background-face | |
! 'display '(space :width 0.5))) | |
! (control-tab (propertize | |
! "<->" | |
! 'face 'elscreen-tab-control-face | |
! 'local-map (elscreen-tab-create-keymap | |
! 'mouse-1 'elscreen-previous | |
! 'mouse-2 'elscreen-create | |
! 'mouse-3 'elscreen-next) | |
! 'help-echo "mouse-1: previous screen, mouse-2: create new screen, mouse-3: next screen"))) | |
(with-current-buffer (window-buffer (frame-first-window)) | |
! (kill-local-variable 'elscreen-tab-format) | |
(when elscreen-tab-display-control | |
! (setq elscreen-tab-format | |
(nconc | |
! elscreen-tab-format | |
(list | |
control-tab | |
tab-separator)))) | |
*************** | |
*** 1476,1482 **** | |
(let ((kill-screen | |
(propertize | |
"[X]" | |
! 'local-map (elscreen-e21-tab-create-keymap | |
'mouse-1 `(lambda (e) | |
(interactive "e") | |
(elscreen-kill ,screen)) | |
--- 1465,1471 ---- | |
(let ((kill-screen | |
(propertize | |
"[X]" | |
! 'local-map (elscreen-tab-create-keymap | |
'mouse-1 `(lambda (e) | |
(interactive "e") | |
(elscreen-kill ,screen)) | |
*************** | |
*** 1484,1492 **** | |
(interactive "e") | |
(elscreen-kill-screen-and-buffers ,screen))) | |
'help-echo (format "mouse-1: kill screen %d, M-mouse-1: kill screen %d and buffers on it" screen screen)))) | |
! (setq elscreen-e21-tab-format | |
(nconc | |
! elscreen-e21-tab-format | |
(list | |
(propertize | |
(concat | |
--- 1473,1481 ---- | |
(interactive "e") | |
(elscreen-kill-screen-and-buffers ,screen))) | |
'help-echo (format "mouse-1: kill screen %d, M-mouse-1: kill screen %d and buffers on it" screen screen)))) | |
! (setq elscreen-tab-format | |
(nconc | |
! elscreen-tab-format | |
(list | |
(propertize | |
(concat | |
*************** | |
*** 1499,1510 **** | |
screen | |
(elscreen-status-label screen) | |
half-space | |
! (elscreen-e21-tab-escape-% | |
(elscreen-truncate-screen-name | |
! (get-alist screen screen-to-name-alist) | |
! (elscreen-e21-tab-width) t))) | |
! 'help-echo (get-alist screen screen-to-name-alist) | |
! 'local-map (elscreen-e21-tab-create-keymap | |
'mouse-1 `(lambda (e) | |
(interactive "e") | |
(elscreen-goto ,screen)))) | |
--- 1488,1499 ---- | |
screen | |
(elscreen-status-label screen) | |
half-space | |
! (elscreen-tab-escape-% | |
(elscreen-truncate-screen-name | |
! (assoc-default screen screen-to-name-alist) | |
! (elscreen-tab-width) t))) | |
! 'help-echo (assoc-default screen screen-to-name-alist) | |
! 'local-map (elscreen-tab-create-keymap | |
'mouse-1 `(lambda (e) | |
(interactive "e") | |
(elscreen-goto ,screen)))) | |
*************** | |
*** 1516,1591 **** | |
tab-separator))))) | |
screen-list) | |
! (setq elscreen-e21-tab-format | |
(nconc | |
! elscreen-e21-tab-format | |
(list | |
(propertize | |
(make-string (window-width) ?\ ) | |
'face 'elscreen-tab-background-face | |
! 'local-map (elscreen-e21-tab-create-keymap))))) | |
! (setq header-line-format elscreen-e21-tab-format)))))) | |
! (add-hook 'elscreen-screen-update-hook 'elscreen-e21-tab-update) | |
! | |
! | |
! ;;; Command-line processing at startup time | |
! | |
! (defun elscreen-command-line-funcall (switch-string) | |
! (let ((argval (intern (car command-line-args-left))) | |
! screen elscreen-window-configuration) | |
! (setq command-line-args-left (cdr command-line-args-left)) | |
! (save-window-excursion | |
! (elscreen-apply-window-configuration | |
! (elscreen-default-window-configuration)) | |
! (if (commandp argval) | |
! (command-execute argval) | |
! (funcall argval)) | |
! (setq elscreen-window-configuration | |
! (elscreen-current-window-configuration))) | |
! (setq file-count (1+ file-count)) | |
! (cond | |
! ((= file-count 1) | |
! (elscreen-apply-window-configuration elscreen-window-configuration)) | |
! ((setq screen (elscreen-create-internal 'noerror)) | |
! (elscreen-set-window-configuration screen | |
! elscreen-window-configuration))))) | |
! | |
! (defun elscreen-command-line-find-file (file file-count &optional line column) | |
! (let ((line (or line 0)) | |
! (column (or column 0))) | |
! (cond | |
! ((= file-count 1) | |
! (find-file file)) | |
! ((> file-count 10) | |
! (find-file-noselect file)) | |
! (t | |
! (elscreen-find-screen-by-buffer (find-file-noselect file) 'create))) | |
! (or (zerop line) | |
! (goto-line line)) | |
! (unless (< column 1) | |
! (move-to-column (1- column))))) | |
! | |
! (when elscreen-startup-command-line-processing | |
! (setq command-switch-alist | |
! (append command-switch-alist | |
! '(("-elscreen-funcall" . elscreen-command-line-funcall) | |
! ("-e" . elscreen-command-line-funcall)))) | |
! | |
! (defun elscreen-e21-command-line () | |
! (when (string-match "\\`-" argi) | |
! (error "Unknown option `%s'" argi)) | |
! (setq file-count (1+ file-count)) | |
! (setq inhibit-startup-buffer-menu t) | |
! (let* ((file | |
! (expand-file-name | |
! (command-line-normalize-file-name orig-argi) | |
! dir))) | |
! (elscreen-command-line-find-file file file-count line column)) | |
! (setq line 0) | |
! (setq column 0) | |
! t)) | |
;;; Unsupported Functions... | |
--- 1505,1522 ---- | |
tab-separator))))) | |
screen-list) | |
! (setq elscreen-tab-format | |
(nconc | |
! elscreen-tab-format | |
(list | |
(propertize | |
(make-string (window-width) ?\ ) | |
'face 'elscreen-tab-background-face | |
! 'local-map (elscreen-tab-create-keymap))))) | |
! (setq header-line-format elscreen-tab-format)))))) | |
! (add-hook 'elscreen-screen-update-hook 'elscreen-tab-update) | |
;;; Unsupported Functions... | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment