Changed default nick, real_name, user_name, and autolog_path from 'irssip' to 'irssi' in config files. Updated Meson build system to use a configurable package name via new 'pkgname' option. Added an intelligent, interactive 'configure.sh' script for setup and build. Removed obsolete documentation and Perl script files related to 'irssip'.
This single commit performs two major actions:
1. Reverts all instances of the 'irssip' custom branding back to the original 'irssi' naming. This includes a comprehensive and precise update of the binary name, default home directory, configuration files, documentation, tests, and all internal #include paths. The 'irssiproxy' module name is intentionally left unchanged.
2. Introduces 'configure.sh', a portable shell script that guides the user through the installation process, offering side-by-side installation to prevent conflicts.
This approach ensures a clean, atomic change that prepares the branch for both upstream pull requests and user-friendly installation.
Removed:
- All debug printtext() calls from formats.c and fe-expandos.c
- debug_nick_column setting from fe-messages.c and config_dev
- Debug includes and dependencies
Reason: Debug was causing crashes due to timestamp formatting issues
in different window contexts. Feature works correctly without debug.
Final working state:
- Nick alignment and truncation working properly
- No crashes or segfaults
- Clean production code without debug overhead
Timestamp: 2025-01-25 02:36
Problem: Debug printtext(NULL, NULL, ...) was sending debug messages
to status window, which caused crashes when status window tried to
format timestamps for debug messages.
Root cause: Status window environment/context different from chat windows,
causing crashes in expando_time() -> getenv() during timestamp formatting.
Solution: Use printtext_window() to send debug to current dest->window
or active_win instead of status window.
This prevents crashes when debugging nick formatting while focus is
on status window or when sending debug to inappropriate window contexts.
Timestamp: 2025-01-25 02:32
Previous fix only avoided the symptom by using printf() instead of printtext().
Real problem: format_get_text_theme_charargs() was applying nick formatting
to ALL formats including timestamps, causing recursion when timestamp
formatting called back into format_get_text_theme_charargs().
Proper solution:
1. Restrict nick formatting to actual message formats only
2. Add formatting_depth counter to prevent recursion
3. Only apply formatting when formatting_depth == 0
This prevents the root cause of recursion rather than just avoiding
the debug output symptom.
Timestamp: 2025-01-25 01:25
Problem: Debug printtext() in format_get_text_theme_charargs() caused infinite recursion:
1. format_get_text_theme_charargs() calls printtext() for debug
2. printtext() formats timestamp calling textbuffer_line_get_text()
3. textbuffer_line_get_text() calls format_get_text_theme_charargs() again
4. Infinite recursion → stack overflow → segfault
Solution: Replace printtext() with printf() in format debug to avoid recursion
Stack trace showed 100+ recursive calls to format_get_text_theme_charargs()
This explains segfaults during highlights when focus was on status window.
Timestamp: 2025-01-25 01:15
- Add missing '_' (underscore) and '|' (pipe) to count_nick_chars()
- Now matches isnickchar definition from fe-messages.c
- Fixes issue where nicks like 'big_Fat_boy' weren't truncated properly
- Nick counting now includes: alphanumeric + `-_[]{}|\^
Test case: 'big_Fat_boy' (11 chars) should now be truncated to 'big_Fat_b>>'
with width=10
Timestamp: 2025-01-25 00:08
- Add expando_nicktrunc() that returns truncated nick with >> indicator
- Keep expando_nickalign() for padding only (no nick modification)
- Update theme to use $nicktrunc instead of $0 for nick display
- Fix logic: nickalign returns spaces, nicktrunc returns truncated nick
- This resolves issue where long nicks weren't being truncated
Timestamp: 2025-01-24 23:50
- Zmiana incdir z 'irssi' na 'irssip' w meson.build
- Zmiana nazwy binarja z 'irssi' na 'irssip'
- Zmiana katalogu config z ~/.irssi na ~/.irssip
- Aktualizacja wszystkich include paths z <irssi/> na <irssip/>
- Przywrócenie nazw plików źródłowych do oryginalnych 'irssi*'
Teraz może być instalowane w /opt/irssip bez konfliktów z systemowym irssi:
- Binarka: /opt/irssip/bin/irssip
- Konfiguracja: ~/.irssip/
- Moduły Perl: /opt/irssip/lib/irssip/perl/Irssi.pm
- Separacja modułów: systemowy irssi nie znajdzie naszych modułów w @INC
Introduces left and right sidepanels to the text UI, including new source files, theme formats, and main window layout logic. Adds mouse support, activity-based coloring, and dynamic panel reservation. Updates build scripts and headers to support the new feature.