Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/illusionman1212/gorc

Modern terminal IRC client written in golang
https://github.com/illusionman1212/gorc

bubbles bubbletea golang irc irc-client lipgloss terminal-app tui

Last synced: about 1 month ago
JSON representation

Modern terminal IRC client written in golang

Awesome Lists containing this project

README

        

# gorc
gorc is a WIP modern terminal IRC client written in golang.

## Building
In order to build `gorc`, make sure you have the [Go toolchain](https://go.dev/) installed.

#### Steps
1. clone the gorc repo
```
git clone https://git.illusionman1212.tech/illusion/gorc.git
```
2. clone the bubbles repo
```
git clone https://github.com/charmbracelet/bubbles.git
```
3. apply this [patch](https://github.com/charmbracelet/bubbles/pull/87) to your local `bubbles`.
4. tell golang to replace the online `bubbles` dependency with the local version you just cloned by modifying **line 5** in `go.mod` and replacing the path after `=>` with the path of your local `bubbles` repo.
5. run `go build` in the root directory of the project.
This will download the dependencies and create an executable named "gorc".

### Note: the patch is a temporary measure until it's merged to master in `bubbles`
#### Note Note: prebuilt binaries will be provided once an initial release is done.

## Screenshots
TODO

## Keybindings
- Login Screen Bindings
- `Tab` -> Move input focus down.
- `Shift+Tab` -> Move input focus up.
- `Space` -> Toggle TLS checkbox.
- `Enter` ->
--- Move input focus down
--- Toggle TLS checkbox.
--- Confirm connect button.
- Main Screen Bindings
- All Panes:
- `Tab` -> Move between panes forwards.
- `Shift+Tab` -> Move between panes backwards.
- `Left Arrow` -> Move to next channel.
- `Right Arrow` -> Move to previous channel.
- Main Pane:
- `J,K` -> Scrolls viewport up, down one line.
- `Up Arrow, Down Arrow` -> Scrolls viewport up, down one line.
- `D,U` -> Scrolls viewport up, down half a page.
- `F,B` -> Scrolls viewport up, down a full page.
- `G` -> Scrolls viewport to the top.
- `Shift+G` -> Scrolls viewport to the bottom.
- Side Pane:
- Same bindings as the Main Pane.

## Resources Used
### [IRCDocs](https://modern.ircdocs.horse/about.html), [IRCDocs Github](https://github.com/ircdocs/modern-irc)
### [RFC1459](https://datatracker.ietf.org/doc/html/rfc1459)
### [RFC2812](https://datatracker.ietf.org/doc/html/rfc2812)
### [IRCv3](https://ircv3.net/)

## License
gorc is licensed under the GPL-3 license.