-
Notifications
You must be signed in to change notification settings - Fork 116
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6dccfb5
commit 4326a10
Showing
4 changed files
with
72 additions
and
28 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
|
||
Extraterm | ||
========= | ||
*The terminal with a lot extra* | ||
|
@@ -7,11 +6,11 @@ Extraterm | |
|
||
:loudspeaker: Follow development on [Twitter @ ExtratermDev](https://twitter.com/ExtratermDev) | ||
|
||
:wrench: Github: https://github.com/sedwards2009/extraterm | ||
:octocat: Github: https://github.com/sedwards2009/extraterm | ||
|
||
About | ||
----- | ||
Extraterm is an open source project to build a better modern terminal emulator but it is also a platform for experimentation with more radical features around command line based computer interaction. | ||
Extraterm is an open source project to build a better and modern terminal emulator, and also to experiment with more radical features to enhance the command line. More background information is in the [Why document](why.md). | ||
|
||
The primary developer is [Simon Edwards](mailto:[email protected]). | ||
|
||
|
@@ -20,7 +19,7 @@ Status | |
------ | ||
:warning: Extraterm is very much in development and not suitable for production use. Use at your own risk. :warning: | ||
|
||
With that out the way, the primary author does use it as their main terminal emulator. The basics are in place and it will run most common terminal applications such as vi, emacs and joe and even more demanding applications such as midnight commander. | ||
With that out of the way, the primary author does use it as their main terminal emulator on a daily basis. The basics are in place and it will run most common terminal applications such as vi, emacs and joe without problems and even more demanding applications such as midnight commander. | ||
|
||
Current features: | ||
|
||
|
@@ -29,29 +28,17 @@ Current features: | |
* Multiple tabs/terminals | ||
* Keyboard based selection | ||
* (Basic) vertical split | ||
* Show images | ||
* Show images in the terminal | ||
* Shell integration; can isolate and 'frame' command output | ||
* Previous command output can be used as input for new commands | ||
* Command output is editable in place | ||
* [MIT license](LICENSE.txt) | ||
* ...much more to come | ||
|
||
Pages | ||
----- | ||
|
||
Getting Started | ||
--------------- | ||
A detailed [guide and tutorial is here](docs/guide.md) | ||
|
||
|
||
Download | ||
-------- | ||
Release downloads can be found on the [Releases Page](https://github.com/sedwards2009/extraterm/releases). Installation and instructions are in the [guide is here](docs/guide.md). | ||
|
||
|
||
FAQ | ||
--- | ||
The [FAQ is here](docs/faq.md). | ||
|
||
|
||
Development & Contributing | ||
-------------------------- | ||
Extraterm is an open source project and welcomes contributors. More information about [development is here](docs/development.md). | ||
|
||
* ### [Getting Started Tutorial](docs/guide.md) | ||
* ### [Downloads and Releases](https://github.com/sedwards2009/extraterm/releases) | ||
* ### [FAQ](docs/faq.md) | ||
* ### [Development and Contributing](docs/development.md) |
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
Project Goals, or Why Bother at all? | ||
------------------------------------ | ||
This project didn't start out as some big plan to build a new cross platform terminal emulator with some crazy features. It initially grew out of two things: 1) a desire to mess around with node-webkit and all of the new web APIs, and 2) a need for a better terminal emulator which worked on cygwin, something that was even half as good as KDE's Konsole on Linux. | ||
|
||
As the code started to move along and began to work, I also started to look closer at how I was using the command line and what kind of new features I would find useful. A lot of common repetitive tasks we all do in a terminal seemed to me to be needlessly difficult, and the terminal does little to help. It is far too busy pretending to be an old green screen complete with attached dot matrix printer and spool of paper. It is a system that deals in text but doesn't let you actually do anything with the text. (No, being able to select text and copy it to the clipboard is not enough.) Terminals are terrible at doing text. | ||
|
||
These are the two main goals now: | ||
|
||
* Build a solid cross platform terminal emulator. | ||
* Let me do my work in the terminal better, faster and easier than before. | ||
|
||
It should do the standard features that we all expect well, and secondly it should try out new ways of doing things. Yes, a lot of these new features will be failed experiments. If something doesn't work then we can rip it out again. At the time of writing this text there are already a bunch of failed experiments buried deep in the git history. | ||
|
||
|
||
Some (rough) Design Principles | ||
------------------------------ | ||
|
||
These are some of the basic principles and guidelines governing the design of Extraterm: | ||
|
||
* Backwards compatibility with existing terminal based programs is a must. A terminal that doesn't work with terminal software is a dead duck. | ||
* Backwards compatibility with our decades old terminal habits is highly desirable. No one should have to change any habits if they don't want to. People can incorporate new features into their work flow when they are ready. | ||
* At the very least do text better than before. (Look at text editors for inspiration) | ||
* Aim for tools and features which combine with each other. | ||
* Support ad hoc interactive work flows. There is more than one way of doing it. | ||
* Make things fast and immediate. It should be interactive. | ||
* Take advantage of the structure in the data. For example, a shell session has a clear structure of enter command, run command, get output. It is not just dumb text. It means something to the user. Many pieces of data we use in a terminal are not just text but have structure which could be better presented. For example, many files in a Linux system are little databases with their own structure, many text based file formats are mark up or trees etc. | ||
|
||
-- Simon Edwards, 2016 |