Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/illusionman1212/gorc
- Owner: IllusionMan1212
- License: gpl-3.0
- Created: 2021-10-10T18:30:51.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-05-05T22:54:39.000Z (over 1 year ago)
- Last Synced: 2024-06-21T21:06:12.055Z (6 months ago)
- Topics: bubbles, bubbletea, golang, irc, irc-client, lipgloss, terminal-app, tui
- Language: Go
- Homepage:
- Size: 168 KB
- Stars: 10
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.