Giter Club home page Giter Club logo

elscreen's Introduction

ElScreen

This is a fork of ElScreen updated for Emacs 24 and package.el. ElScreen is an Emacs utility with which you can have multiple screens (window-configuration) on your GNU Emacs as well as GNU screen on terminal.

If you use emacs-lisp applications which have many windows (like Gnus, irchat, Wanderlust, Mew...), ElScreen makes it easy to switch to a different screen, with its configuration unchanged. You can also create and kill screen, jump to them, rename the screen, and so on.

This version of ElScreen does not require any external dependencies.

Installation

The preferred way to install ElScreen is through MELPA and package.el. If you have Emacs 24, you should already have package.el. To enable MELPA, add something like the following in your .emacs.d file:

(add-to-list 'package-archives
     '("melpa" . "http://melpa.milkbox.net/packages/") t)

Once you have installed ElScreen, you can activate it like so:

(elscreen-start)

Usage

You may use following sequences on ElScreen:

C-z c
C-z C-c
Create a new screen and switch to it.

C-z C
Create a new screen with the window-configuration of the current screen.

C-z k
C-z C-k
Kill current screen.

C-z M-k
Kill current screen and buffers.

C-z K
Kill other screens.

C-z n
C-z C-n
Switch to the "next" screen in a cyclic order.

C-z p
C-z C-p
Switch to the "previous" screen in a cyclic order.

C-z a
C-z C-a
Toggle to the screen selected previously.

C-z '
Prompt for a screen number to switch to.

C-z "
Present a list of all screens for selection.

C-z 0..9
Jump to the screen number 0-9.

C-z C-s
Swap current screen with previous one.

C-z w
C-z C-w
Show a list of screen.

C-z A
Allow the user to enter a name for the current screen.

C-z m
C-z C-m
Repeat the last message displayed in the mini-buffer.

C-z t
C-z C-t

C-z b
Switch to the screen in which specified buffer is splayed.

C-z C-f
Create new screen and open file.

C-z C-r
Create new screen and open file but don't allow changes.

C-z d
Create new screen and run dired.

C-z M-x
Read function name, then call it with new screen.

C-z i
Show/hide the screen number in the mode line.

C-z T
Show/hide the tab on the top of each frame.

C-z v
Display ElScreen version.

C-z ?
Show key bindings of ElScreen and Add-On softwares.

Setup

You can set the following variables to configure ElScreen. These can be set in .emacs file directly or "Options" in your menu bar.

elscreen-prefix-key

ElScreen prefix-key. The default value is \C-z.

elscreen-buffer-to-nickname-alist

The pairs of buffer-name and corresponding screen nickname or function that returns nickname, which are listed by elscreen-display-screen-name-list only when major-mode cannot determine its screen nickname. The default value is:

    '(("^dired-mode$" .
       (lambda ()
         (format "Dired(%s)" dired-directory)))
      ("^Info-mode$" .
       (lambda ()
         (format "Info(%s)" (file-name-nondirectory Info-current-file))))
      ("^mew-draft-mode$" .
       (lambda ()
         (format "Mew(%s)" (buffer-name (current-buffer)))))
      ("^mew-" . "Mew")
      ("^irchat-" . "IRChat")
      ("^liece-" . "Liece")
      ("^lookup-" . "Lookup"))

elscreen-mode-to-nickname-alist

The pairs of major-mode and corresponding screen nickname or function that returns nickname, which are listed by elscreen-display-screen-name-list. The default value is:

    '(("[Ss]hell" . "shell")
      ("compilation" . "compile")
      ("-telnet" . "telnet")
      ("dict" . "OnlineDict")
      ("*WL:Message*" . "Wanderlust"))

elscreen-startup-command-line-processing

If non nil, ElScreen processes command line arguments of Emacsen when starting up, and opens files with new screens if needed. The default value is t.

elscreen-display-screen-number

If non nil, show the number of the current screen in mode line. The default value is t.

elscreen-display-tab

Specify how the tabs at the top of frame should be displayed. t means to display tabs whose width should be calculated automatically. A value of integer means to display tabs with fixed width of this value. nil means don't display tabs. The default value is t.

elscreen-tab-display-control

If non nil, display the tab (labeled with [<->]) to switch to next/previous screen or create new screen at the most left side of the tab line. The default value is t.

elscreen-tab-display-kill-screen

Location of the icon ([X]) to kill corresponding screen on each tab. Possible values are 'left, 'right and nil (to hide icons). The default value is 'left.

Bugs

Under multiple-frame environment, screen numbers displayed on mode line of each frame is changed at the same time. On GNU Emacs 21, tabs also has this restriction.

Acknowledgment

Many people contributed to ElScreen by reporting problems or suggesting various improvements. Here is a list of these people.

  • Tohru Sugayama
  • Yoshinobu Takenaga
  • Masatoshi Takamura
  • Jin Kashimura
  • Takahiko Sakai
  • Norio Suzuki
  • Yoshitatsu Takeshita
  • Yoichi Nakayama
  • [email protected]
  • Dan Debertin
  • Yoshinori Koseki
  • Hideyuki Shirai
  • Masahiro Ishiyama
  • Alexy Khrabrov

elscreen's People

Contributors

elim avatar knu avatar orikuma avatar shosti avatar syohex avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.