如何将elscreen标签放在顶部?

时间:2012-11-01 12:14:01

标签: emacs elisp gnu-screen

我在GNU Emacs 24.2.1中使用elscreen 目前,当我拆分窗口时,我的每一半都有一个相同的标签面板: elscreen http://i.zlowiki.ru/121101_0f30ebba.png/800 请注意,两个下方的窗口与最大的窗口具有相同的选项卡。

如何删除这两个副本,并只保留最重复的一个?

如果太难了,GNU屏幕可以使用另一种替代方案吗?

3 个答案:

答案 0 :(得分:2)

从技术上来说,这就是你所要求的:

(setq elscreen-display-tab nil) ; disable tabs display

;; get-alist was removed somewhere along the line
;; You can try substituting all instances of get-alist with assoc-default
;; instead of using defalias and see if that works; I haven't tried.
(defalias 'get-alist 'assoc-default) ; get-alist is gone

;; Put tabs display in your frame title bar instead.
(defun elscreen-frame-title-update ()
  (when (elscreen-screen-modified-p 'elscreen-frame-title-update)
    (let* ((screen-list (sort (elscreen-get-screen-list) '<))
           (screen-to-name-alist (elscreen-get-screen-to-name-alist))
           (title (concat "| " (mapconcat
                   (lambda (screen)
                     (format "%d%s %s |"
                             screen (elscreen-status-label screen)
                             (get-alist screen screen-to-name-alist)))
                   screen-list " "))))
      (if (fboundp 'set-frame-name)
          (set-frame-name title)
        (setq frame-title-format title)))))

(eval-after-load "elscreen"
  '(add-hook 'elscreen-screen-update-hook 'elscreen-frame-title-update))

enter image description here

我确信这不是你想到的,但是,嘿,它现在处于非常顶部而且只在顶部。

答案 1 :(得分:1)

看一下http://www.emacswiki.org/emacs/ElscreenSeparateBufferLists修改elscreen稍微借用escreen的操作。它允许每个缓冲区的选项卡列表不同。

答案 2 :(得分:0)

如何使用elscreen-tab插件?

创建此插件是为了解决您的困扰。

您可以通过melpa安装。