Link tracking system added. alt+k to open last link, alt+u for list of urls, configurable in settings.

This commit is contained in:
Storm Dragon
2025-11-15 15:06:28 -05:00
parent 93ef84aafc
commit b87c3a6e5b
8 changed files with 632 additions and 17 deletions

View File

@@ -47,6 +47,16 @@ A completely accessible GUI IRC client built specifically for blind users and an
- Shell commands (e.g., `/usr/bin/date`)
- Shell with output to channel (e.g., `/usr/bin/fortune|`)
### 🔗 Link Management
- **Automatic URL Detection**: All http/https links are detected and tracked
- **Per-Tab History**: Each channel/PM maintains its own link history (default 25 links)
- **Page Title Fetching**: Automatically fetches page titles for better context
- **Keyboard Shortcuts**:
- **Alt+K**: Open most recent link in current tab
- **Alt+U**: Show URL history menu (arrow keys to navigate)
- **Configurable Browser**: Use custom browser or xdg-open
- **Deduplication**: Same URL won't appear twice in history
## Installation
### Prerequisites
@@ -122,6 +132,10 @@ A completely accessible GUI IRC client built specifically for blind users and an
**Note:** Speech adjustments apply immediately, save to config, and announce the new value.
### Link Management
- **Alt+K**: Open last link in current tab
- **Alt+U**: Show URL history menu (arrow keys to navigate, Enter to open, Escape to cancel)
### Function Keys
- **F1-F12**: Execute programmable commands (configure in Settings)
@@ -165,9 +179,9 @@ StormIRC stores configuration in `~/.config/stormirc/config.json`.
### Settings Dialog
Access via menu or keyboard shortcut. Five tabs:
Access via menu or keyboard shortcut. Six tabs:
1. **General**: Window dimensions, timestamps, theme
1. **General**: Window dimensions, timestamps, theme, browser path, link history limit
2. **Accessibility**: Screen reader, notifications, display options
3. **Speech**: TTS enable/disable, rate, pitch, volume, voice selection
4. **Servers**: Add, edit, remove IRC servers
@@ -236,6 +250,8 @@ stormirc/
├── accessible_tree.py # Accessible tree widget
├── settings_dialog.py # Settings dialog
├── autocomplete_textedit.py # Text input with autocomplete
├── link_menu_dialog.py # URL history dialog
├── url_utils.py # URL detection and handling
├── speech.py # Speech Dispatcher TTS
├── sound.py # Sound notifications
└── logger.py # Message logging
@@ -250,7 +266,6 @@ stormirc/
- No DCC file transfers yet
- No channel modes UI (use `/mode` command)
- URLs not clickable yet (can be copied)
- No message formatting (bold/italic/colors) yet
- No custom keyboard shortcut configuration yet