mirror of https://github.com/liamg/aminal.git
80 lines
2.5 KiB
Markdown
80 lines
2.5 KiB
Markdown
Raft is a terminal emulator utilising OpenGL v4.1.
|
|
|
|
The project is purely a learning exercise right now.
|
|
|
|
Ensure you have your latest graphics card drivers installed before use.
|
|
|
|
## Aims
|
|
|
|
- Full unicode support
|
|
- OpenGL rendering
|
|
- Full customisation options
|
|
- 256 colour support
|
|
- Clipboard access
|
|
- Clickable URLs
|
|
|
|
|
|
## 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 other platforms
|
|
| 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`, `~/.raft/config.yml`, `~/.config/raft/config.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
|
|
|
|
## Keyboard Shortcuts
|
|
|
|
| Operation | Key(s) |
|
|
|-----------|---------------------|
|
|
| Paste | ctrl + alt + v
|
|
|