72 lines
2.2 KiB
Markdown
72 lines
2.2 KiB
Markdown
# StormIRC
|
|
|
|
A completely accessible GUI IRC client designed for users who value both accessibility and good design.
|
|
|
|
## Features
|
|
|
|
- **Full Accessibility**: Built with GTK4 for excellent screen reader support
|
|
- **Keyboard Navigation**: Complete keyboard control with logical tab order
|
|
- **Smart Notifications**: System notifications with customizable highlight patterns
|
|
- **IRC Protocol Support**: Full IRC client with join/part, messaging, nick changes
|
|
- **Configurable**: Comprehensive settings for servers, accessibility, and UI preferences
|
|
- **Chat History Navigation**: Enhanced navigation for screen reader users
|
|
|
|
## Keyboard Shortcuts
|
|
|
|
- `F6`: Cycle through main areas (channel list, chat, input)
|
|
- `Ctrl+1`: Focus channel list
|
|
- `Ctrl+2`: Focus chat area
|
|
- `Ctrl+3`: Focus message input
|
|
- `Ctrl+J`: Quick join channel
|
|
- `Ctrl+W`: Leave current channel
|
|
- `Ctrl+N`: Next channel
|
|
- `Ctrl+P`: Previous channel
|
|
- `Ctrl+Home`: Jump to chat beginning
|
|
- `Ctrl+End`: Jump to chat end
|
|
- `Alt+Up/Down`: Scroll chat
|
|
- `Ctrl+R`: Read last messages
|
|
|
|
## Installation
|
|
|
|
1. Install dependencies:
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
2. Run the application:
|
|
```bash
|
|
python run_stormirc.py
|
|
```
|
|
|
|
## IRC Commands
|
|
|
|
- `/join #channel` - Join a channel
|
|
- `/part` - Leave current channel
|
|
- `/nick newnick` - Change nickname
|
|
- `/quit` - Disconnect and quit
|
|
|
|
## Configuration
|
|
|
|
StormIRC stores its configuration in `~/.config/stormirc/config.json`. You can:
|
|
|
|
- Add multiple IRC servers
|
|
- Configure accessibility preferences
|
|
- Set custom highlight patterns
|
|
- Adjust UI settings
|
|
|
|
Access settings through the gear icon in the header bar.
|
|
|
|
## Accessibility Features
|
|
|
|
- Screen reader announcements for important events
|
|
- Logical keyboard navigation
|
|
- Proper widget labeling and descriptions
|
|
- High contrast support ready
|
|
- Customizable notification preferences
|
|
- Unread message indicators
|
|
|
|
## Building for those panzies who need GUI
|
|
|
|
This IRC client proves that accessibility and good UX aren't mutually exclusive. While terminal purists have irssi, this gives everyone else a proper IRC experience that works beautifully with assistive technologies.
|
|
|
|
Built with Python, GTK4, and lots of care for the user experience. |