diff --git a/.gitignore b/.gitignore index d5211a006..39e841f35 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ .build-cache tags build +README.html diff --git a/README.asciidoc b/README.asciidoc index 5765f29a6..75429b7e1 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -4,16 +4,19 @@ image::https://travis-ci.org/kovidgoyal/kitty.svg?branch=master[Build status, link=https://travis-ci.org/kovidgoyal/kitty] -Major features: - +.Major features * Uses OpenGL+FreeType for rendering, does not depend on any GUI toolkits. + * Supports tiling multiple terminal windows side by side in different layouts without needing to use an extra program like tmux + * Supports all modern terminal features: unicode, true-color, mouse protocol, focus tracking, bracketed paste and so on. + * Easily hackable (UI layer written in python, inner loops in C for speed). Less than ten thousand lines of code. + * Rendering of text is done in an actual character grid, so the common problems with most Terminals when using wide characters/complex scripts do not occur. The downside is that scripts with complex glyph layout, @@ -25,8 +28,9 @@ toc::[] == Installation kitty is designed to run from source, for easy hackability. Make sure -the following dependencies are installed first: +the following dependencies are installed first. +.Dependencies * python >= 3.5 * glew >= 2.0 * glfw-dev >= 3.2 @@ -77,17 +81,18 @@ relatively less effort. kitty is capable of running multiple programs organized into tabs and windows. The top level of organization is the _Tab_. Each tab consists -of one or more windows. The windows can be arranged in multiple +of one or more _windows_. The windows can be arranged in multiple different layouts, like windows are organized in a tiling window manager. The keyboard controls (which are all customizable) for tabs and windows are: -[cols=",",options="header",] -|====================== +[options="header"] +|=== |Action |Shortcut -|New tab |`new_tab` + +|New tab |`new_tab` |Close tab |`close_tab` -|====================== +|=== == Configuration diff --git a/README.md b/README.md deleted file mode 100644 index 7d99f3cfd..000000000 --- a/README.md +++ /dev/null @@ -1,92 +0,0 @@ -kitty - A terminal emulator -============================ - -[![Build Status](https://travis-ci.org/kovidgoyal/kitty.svg?branch=master)](https://travis-ci.org/kovidgoyal/kitty) - -Major features: - - * Uses OpenGL+FreeType for rendering, does not depend on any GUI toolkits. - * Supports tiling multiple terminal windows side by side in different layouts - without needing to use an extra program like tmux - * Supports all modern terminal features: unicode, true-color, mouse protocol, - focus tracking, bracketed paste and so on. - * Easily hackable (UI layer written in python, inner loops in C for speed). - Less than ten thousand lines of code. - * Rendering of text is done in an actual character grid, so the common - problems with most Terminals when using wide characters/complex scripts do - not occur. The downside is that scripts with complex glyph layout, such as - Arabic do not render well. - -Installation --------------- - -kitty is designed to run from source, for easy hackability. Make sure the -following dependencies are installed first: - - * python >= 3.5 - * glew >= 2.0 - * glfw-dev >= 3.2 - * freetype - * fontconfig - * gcc (required for building, clang should also work, but it is not tested) - * pkg-config (required for building) - -Install kitty with: - - git clone https://github.com/kovidgoyal/kitty && cd kitty - -Now build the C parts of kitty with the following command: - - python3 setup.py build - -You can run kitty, as: - - python3 /path/to/kitty/folder - -Configuration ---------------- - -kitty is highly customizable, everything from keyboard shortcuts, to painting -frames-per-second. See the heavily commented [default config file](kitty/kitty.conf). -By default kitty looks for a config file in the OS -config directory (usually `~/.config/kitty/kitty.conf` on linux) but you can pass -a specific path via the `--config` option. - -Startup Sessions -------------------- - -You can control the tabs, window layout, working directory, startup programs, etc. by creating a -"session" file and using the `--session` command line flag. For example: - -``` -# Set the window layout for the current tab -layout tall -# Set the working directory for the current tab -cd ~ -# Create a window and run the specified command in it -launch zsh -launch vim -launch irssi --profile x - -# Create a new tab (the part after new_tab is the optional tab name which will -# be displayed in the tab bar, if ommitted, the title of the active window will -# be used instead) -new_tab my tab -cd ~/somewhere -# Set the layouts allowed in this tab -enabled_layouts tall, stack -layout stack -launch zsh -# Make the current window the active (focused) window -focus -launch emacs -``` - -Resources on terminal behavior ------------------------------------------- - -http://invisible-island.net/xterm/ctlseqs/ctlseqs.html - -https://en.wikipedia.org/wiki/C0_and_C1_control_codes - -http://vt100.net/