Go to file
Liam Galvin 367edf6ffe Update input.go 2018-08-08 16:54:48 +00:00
buffer buffer is getting pretty solid 2018-08-08 13:27:12 +01:00
config lots more progress 2018-08-07 17:58:55 +01:00
demo more scape codes 2018-07-04 17:39:50 +01:00
fonts lots more progress 2018-08-07 17:58:55 +01:00
gui Update input.go 2018-08-08 16:54:48 +00:00
pty tidied up deps and added login shell detection 2018-08-08 17:37:32 +01:00
terminal buffer is getting pretty solid 2018-08-08 13:27:12 +01:00
vendor fixed deps 2018-08-08 17:39:48 +01:00
.gitignore fix ignore 2018-07-01 10:44:53 +01:00
Gopkg.lock fixed deps 2018-08-08 17:39:48 +01:00
Gopkg.toml tidied up deps and added login shell detection 2018-08-08 17:37:32 +01:00
README.md Update README.md 2018-08-08 16:54:22 +00:00
cover.out tests 2018-08-07 21:00:34 +01:00
main.go ess 2018-08-08 00:34:44 +01:00
top.log fixed top 2018-07-04 22:31:52 +01:00

README.md

Raft is a modern terminal emulator utilising OpenGL.

The project is experimental at the moment, so you probably won't want to rely on Raft as your main terminal for a while.

Ensure you have your latest graphics card drivers installed before use.

Aims

  • Full unicode support
  • OpenGL rendering
  • Full customisation options
  • True colour support
  • Support for commmon ANSI escape sequences a la xterm
  • Scrollback buffer
  • Clipboard access
  • Clickable URLs
  • Resize logic that wraps/unwraps lines correctly
  • Bullshit graphical effects
  • Multi platform support

Build Dependencies

  • Go 1.10.3+
  • On macOS, you need Xcode or Command Line Tools for Xcode (xcode-select --install) for required headers and libraries.
  • On Ubuntu/Debian-like Linux distributions, you need libgl1-mesa-dev xorg-dev.
  • On CentOS/Fedora-like Linux distributions, you need libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel mesa-libGL-devel libXi-devel.

Platform Support

Platform Supported
Linux
MacOSX
Windows

Planned Features

Feature Done Notes
Pty allocation Needs work for OSX + Windows
OpenGL rendering
Resizing/content reordering
ANSI escape codes Most of these are handled now
UTF-8 input
UTF-8 output Works as long as the font in use supports the relevant characters.
Copy/paste Paste working, no mouse interaction for copy
Customisable colour schemes Complete, but the config file has no entry for this yet
Config file Minimal options atm
Scrolling Infinite buffer implemented, need GUI scrollbar & render updates
Mouse interaction
Sweet render effects

Configuration

Raft looks for a config file in the following places: ~/.raft.yml, ~/.config/raft.yml (earlier in the list prioritised).

Example config:

debug: False

The following options are available:

Name Type Default Description
debug bool False Enables debug logging

Flags

Name Type Default Description
--debug bool False Enables debug logging
--ignore-config bool False Ignores user config files and uses defaults
--always-repaint bool False Redraw the terminal constantly, even when no changes have been made

Keyboard Shortcuts

Operation Key(s)
Paste ctrl + shift + v