Skip to content

Commit

Permalink
released at 0.2.5
Browse files Browse the repository at this point in the history
  • Loading branch information
mcpcpc authored Mar 19, 2021
1 parent 68166e1 commit 9e7a454
Show file tree
Hide file tree
Showing 6 changed files with 891 additions and 883 deletions.
21 changes: 0 additions & 21 deletions .github/CONTRIBUTING

This file was deleted.

38 changes: 0 additions & 38 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

20 changes: 0 additions & 20 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

34 changes: 15 additions & 19 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,31 +1,27 @@
.POSIX:

ALL_WARNING = -Wall -Wextra -pedantic
ALL_LDFLAGS = $(LDFLAGS)
ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS) -std=c99 $(ALL_WARNING)
PREFIX = /usr/local
LDLIBS = -lm
BINDIR = $(PREFIX)/bin
MANPREFIX = $(PREFIX)/share/man
MANDIR = $(PREFIX)/share/man

all: kirc

kirc: kirc.o Makefile
$(CC) -o kirc kirc.o $(LDFLAGS)

.c.o:
$(CC) $(CPPFLAGS) $(CFLAGS) -c $<

install: all
mkdir -p $(DESTDIR)$(BINDIR)
mkdir -p $(DESTDIR)$(MANPREFIX)/man1
mkdir -p $(DESTDIR)$(MANDIR)/man1
cp -f kirc $(DESTDIR)$(BINDIR)
cp -f kirc.1 $(DESTDIR)$(MANDIR)/man1
chmod 755 $(DESTDIR)$(BINDIR)/kirc
version=$$(sed -n '/#define VERSION/{s/^[^"]*"//;s/".*//;p;q}' kirc.c); \
sed "s/VERSION/$$version/g" kirc.1 > $(DESTDIR)$(MANPREFIX)/man1/kirc.1
chmod 644 $(DESTDIR)$(MANPREFIX)/man1/kirc.1

uninstall:
rm -f $(DESTDIR)$(BINDIR)/kirc
rm -f $(DESTDIR)$(MANPREFIX)/man1/kirc.1

chmod 644 $(DESTDIR)$(MANDIR)/man1/kirc.1
kirc: kirc.o
$(CC) $(ALL_LDFLAGS) -o kirc kirc.o $(LDLIBS)
kirc.o: kirc.c
$(CC) $(ALL_CFLAGS) -c kirc.c
clean:
rm -f kirc *.o

uninstall:
rm -f $(DESTDIR)$(BINDIR)/kirc
rm -f $(DESTDIR)$(MANDIR)/man1/kirc.1
.PHONY: all install uninstall clean
162 changes: 63 additions & 99 deletions README
Original file line number Diff line number Diff line change
@@ -1,99 +1,63 @@
<!-- vim: syntax=Markdown -->
<!--
Title: KISS for IRC (kirc)
Description: A tiny IRC client written in POSIX C99.
Author: mcpcpc
-->

<h3 align="center">
<img src="https://raw.githubusercontent.com/mcpcpc/kirc/gh-pages/kirc.png" alt="kirc" height="170px">
</h3>

<p align="center">KISS for IRC, a tiny IRC client written in POSIX C99.</p>

<p align="center">
<a href="./LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg"></a>
<a href="https://github.com/mcpcpc/kirc/releases"><img src="https://img.shields.io/github/v/release/mcpcpc/kirc.svg"></a>
<a href="https://repology.org/metapackage/kirc"><img src="https://repology.org/badge/tiny-repos/kirc.svg" alt="Packaging status"></a>
<a href="https://www.codacy.com/manual/mcpcpc/kirc/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=mcpcpc/kirc&amp;utm_campaign=Badge_Grade"><img src="https://app.codacy.com/project/badge/Grade/5616c0ed4b2f4209826038dbc270dbf5" alt="Codacy status"></a>
</p>

## Features

* Excellent cross-platform compatibility.
* Asynchronous user input and server messager handling.
* No dependencies other than a C99 compiler.
* Simple Authentication and Security Layer (SASL) procotol support.
* Client-to-client protocol (CTCP) support.
* Transport Layer Security (TLS) protocol support (via external utilities).
* Full chat history logging.
* Multi-channel joining at server connection.
* Simple command aliases and full support for all RFC 2812 commands.
* Easy color scheme definition via ANSI 8-bit colors.

## Installation & Usage

Building and installing on **KISS Linux** using the Community repository:

```shell
kiss b kirc
kiss i kirc
```

Building and installing on **Arch** and **Arch-based** distros using the AUR:

```shell
git clone https://aur.archlinux.org/kirc-git.git
cd kirc
makepkg -si
```

Building and installing from source (works on **Raspbian**, **Debian**, **Ubuntu** and many other Unix distributions):

```shell
git clone https://github.com/mcpcpc/kirc.git
cd kirc
make
make install
```

### Usage

Consult `man kirc` for a full list and explanation of available `kirc` arguments.

```shell
kirc [-s hostname] [-p port] [-c channels] [-n nickname] [-r realname] [-u username] [-k password] [-a token] [-x command] [-o logfile] [-e|v|V]
```

### Command Aliases

```shell
<message> Send a PRIVMSG to the current channel.
@<channel|nick> <message> Send a message to a specified channel or nick
@@<channel|nick> <message> Send a CTCP ACTION message to a specified channel or nick
/<command> Send command to IRC server (see RFC 2812 for full list).
/#<channel> Assign new default message channel.
```

### User Input Key Bindings

* **CTRL+B** or **LEFT ARROW** moves the cursor one character to the left.
* **CTRL+F** or **RIGHT ARROW** moves the cursor one character to the right.
* **CTRL+E** moves the cursor to the end of the line.
* **CTRL+A** or **HOME** moves the cursor to the start of the line.
* **CTRL+W** deletes the previous word.
* **CTRL+U** deletes the entire line.
* **CTRL+K** deletes the from current character to end of line.
* **CTRL+C** Force quit kirc.
* **CTRL+D** deletes the character to the right of cursor.
* **CTRL+T** swap character at cursor with previous character.
* **CTRL+H** equivalent to backspace.

## Support Documentation

Please refer to the official [Support Documention](https://mcpcpc.github.io/kirc/documentation.html) for examples, troubleshooting and use cases.

## Contact

For any further questions or concerns, feel free to reach out to me, [mcpcpc](https://github.com/mcpcpc), on `#kirc`
or `#kisslinux` Freenode IRC channels.
kirc
====

kirc (KISS for IRC) is a tiny IRC client written in POSIX C99.

Installation
------------

Building and installing from source:

git clone https://github.com/mcpcpc/kirc
cd kirc
make
make install

Usage
-----

Consult `man kirc` for a full list and explanation of available arguments.

kirc [-s hostname] [-p port] [-c channels] [-n nickname] [-r realname]
[-u username] [-k password] [-a token] [-x command] [-o logfile]
[-e|v|V]

Command Aliases
---------------

<message> send PRIVMSG to the current channel.
@<channel|nick> <message> send message to a specified channel or nick.
@@<channel|nick> <message> send CTCP ACTION message to a specified channel or nick.
/<command> send command to the IRC server (see RFC 2812).
/#<channel> assign new default message channel.

Key Bindings
------------

CTRL+B or LEFT ARROW move the cursor one character to the left.
CTRL+F or RIGHT ARROW move the cursor one character to the right.
CTRL+P or UP ARROW move to previous record in the input history buffer.
CTRL+N or DOWN ARROW move to next record in the input history buffer.
CTRL+E move the cursor to the end of the line.
CTRL+A or HOME move the cursor to the start of the line.
CTRL+W delete the previous word.
CTRL+U delete the entire line.
CTRL+K delete the from current character to end of line.
CTRL+D delete the character to the right of cursor.
CTRL+C force quit kirc.
CTRL+T swap character at cursor with previous character.
CTRL+H equivalent to backspace.

Support Documentation
---------------------

Please refer to the official for examples, troubleshooting and use cases.

https://mcpcpc.github.io/kirc/documentation.html

Contact
-------

For any further questions or concerns, feel free to email me at:

michaelczigler [at] mcpcpc [dot] com
Loading

0 comments on commit 9e7a454

Please sign in to comment.