Commit graph

6,916 commits

Author SHA1 Message Date
kofany
02b1692dfd Merge branch 'irssi-updated-clean' of https://github.com/kofany/irssi into irssi-updated-clean 2025-08-26 02:23:39 +02:00
kofany
09c23c2d0e Rename irssip to irssi and add configure script
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'.
2025-08-26 02:20:38 +02:00
kofany
68214e5f20 feat: Revert to 'irssi' branding and add installer script
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.
2025-08-26 01:29:38 +02:00
kofany
25f2b16544 Apply clang-format to sidepanel related files
Formatted all sidepanel-related files according to irssi's .clang-format rules:
- src/fe-text/sidepanels.c (772 lines reformatted)
- src/fe-text/mainwindows.c (462 lines reformatted)
- src/fe-text/gui-readline.c (228 lines reformatted)
- src/fe-text/mainwindows-layout.c (83 lines reformatted)
- src/fe-text/irssi.c (37 lines reformatted)
- src/fe-text/mainwindows.h (29 lines reformatted)
- src/fe-text/module-formats.h (27 lines reformatted)

Key formatting changes applied:
- Indentation: spaces → tabs (IndentWidth: 8, UseTab: ForIndentation)
- Line breaking: ColumnLimit: 100, BreakBeforeBraces: Linux
- Alignment: AlignAfterOpenBracket: Align, AlignTrailingComments: true
- Spacing: proper spacing around operators and parentheses
- Pointer alignment: PointerAlignment: Right

Total: 905 insertions, 733 deletions across 7 files
Code functionality unchanged - purely cosmetic formatting
to match irssi project standards.

Timestamp: 2025-01-25 02:43
2025-08-25 02:47:41 +02:00
kofany
781d27e245 Apply clang-format to nick column code
Formatted all modified files according to irssi's .clang-format rules:
- src/fe-common/core/fe-expandos.c
- src/fe-common/core/formats.c
- src/fe-common/core/fe-messages.c

Key formatting changes:
- Indentation: spaces → tabs (IndentWidth: 8, UseTab: ForIndentation)
- Line breaking: ColumnLimit: 100, BreakBeforeBraces: Linux
- Alignment: AlignAfterOpenBracket: Align
- Spacing: proper spacing around operators and parentheses

Code functionality unchanged - purely cosmetic formatting
to match irssi project standards.

Timestamp: 2025-01-25 02:40
2025-08-25 02:45:12 +02:00
kofany
507d9dd865 Remove all debug code - nick column feature is complete
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
2025-08-25 02:43:03 +02:00
kofany
5a8392f9d8 Fix debug output target: Send to current window not status
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
2025-08-25 02:33:00 +02:00
kofany
716384cf62 PROPER FIX: Add recursion protection to nick column formatting
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
2025-08-25 02:21:38 +02:00
kofany
0a40fac215 CRITICAL FIX: Resolve infinite recursion causing segfault
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
2025-08-25 02:12:26 +02:00
kofany
ad0d88b123 Implement automatic nick column formatting 'on-the-fly'
Major improvement: No theme modification required!

Features:
- When nick_column_enabled=OFF: Normal theme behavior
- When nick_column_enabled=ON: Automatic formatting applied

Changes:
1. Enhanced expandos to handle OFF state:
   - expando_nickalign() returns '' when disabled
   - expando_nicktrunc() returns original nick when disabled

2. Added automatic format modification in format_get_text_theme_charargs():
   - Detects message formats (own_msg, pubmsg, etc.)
   - Automatically adds $nickalign prefix
   - Replaces {ownnick $0} with {ownnick $nicktrunc}
   - Replaces {pubnick $0} with {pubnick $nicktrunc}
   - Replaces {menick $0} with {menick $nicktrunc}

3. Restored original theme format:
   - own_msg = '{ownmsgnick $2 {ownnick $0}}$1'
   - No manual $nickalign/$nicktrunc needed

Result: Clean theme compatibility + automatic nick column when enabled

Timestamp: 2025-01-25 00:20
2025-08-25 00:32:00 +02:00
kofany
cf9af2298e Fix nick character counting: Add missing underscore and pipe chars
- 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
2025-08-25 00:12:16 +02:00
kofany
f69e40e745 Fix nick truncation: Add nicktrunc expando and separate logic
- 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
2025-08-25 00:01:39 +02:00
kofany
1fa2f42b6f [2025-08-24 21:35:00] PRZYCINANIE NICKÓW - dodano >> dla długich nicków, build OK 2025-08-24 23:28:05 +02:00
kofany
9f0d05e573 [2025-08-24 21:25:00] POPRAWKA - nickalign zamiast nickaligned, zwraca tylko padding, działa jak nm2 2025-08-24 22:36:04 +02:00
kofany
7509fb0b28 [2025-08-24 21:15:00] PLAN 4 COMPLETE - Nick Column expandos implementacja gotowa do testów 2025-08-24 21:28:03 +02:00
kofany
31f9ef1d6b [2025-08-24 21:15:00] PLAN 4 COMPLETE - Nick Column expandos implementacja gotowa do testów 2025-08-24 21:25:39 +02:00
kofany
29af03ad78 [2025-08-24 21:05:00] PLAN 4 - Nick Column expandos z kontekstem sygnałów 2025-08-24 21:03:11 +02:00
kofany
4032558538 [2025-08-24 21:00:15] Inicjalizacja kolejnej próby - przywrócenie dokumentacji i plików roboczych 2025-08-24 21:00:21 +02:00
kofany
4f8ef0ccb7 [2025-08-24 15:27:35] Inicjalizacja pracy z augment code po oczyszczeniu repo 2025-08-24 15:27:35 +02:00
kofany
b5dfea8d6d [checkpoint3] 2025-08-22 22:28:05 +02:00
kofany
7bb2ee96ca Zmiana irssi -> irssip dla bezkonfliktowych testów
- 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
2025-08-22 20:24:12 +02:00
kofany
0d6d366955 Add sidepanels feature with window and nicklist panels
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.
2025-08-22 08:01:22 +02:00
kofany
49f819ea8a
Add option to print WHOIS replies in active window (#1)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: appandsync <appandsync@gmail.com>
2025-08-10 10:57:28 +02:00
ailin-nemui
e70993c4b6
Merge pull request #1577 from ailin-nemui/glib276
replace str->str & g_string_free with g_string_free_and_steal
2025-07-26 17:32:43 +00:00
ailin-nemui
cc24b2c54c
Merge pull request #1579 from ailin-nemui/ghvoid
fix xbps github action
2025-07-25 14:48:09 +00:00
Ailin Nemui
d21ff2e658 fix xbps 2025-07-25 16:24:11 +02:00
Ailin Nemui
8eee36d1ea replace str->str & g_string_free with g_string_free_and_steal
solving unused warning in GLib 2.76
2025-07-22 12:03:49 +02:00
ailin-nemui
995e77c30d
Merge pull request #1575 from irssi/hilight_syntax_update
Add -priority to hilight syntax line
2025-07-21 16:51:55 +00:00
ailin-nemui
216715bc81
Merge pull request #1576 from ailin-nemui/solaris
fix github solaris test
2025-07-21 16:51:40 +00:00
Ailin Nemui
9f0b2bc50d detect third argument type of puts 2025-07-21 18:35:09 +02:00
Ailin Nemui
6276fe1a68 debug logging solarisvm prepare 2025-07-20 23:03:52 +02:00
Jari Matilainen
7681cb7585
Add -priority to hilight syntax line 2025-07-20 22:40:59 +02:00
ailin-nemui
aa285d45cd
Merge pull request #1572 from ailin-nemui/perl-redefined
fix _GNU_SOURCE redefined warning due to perl ccflags
2025-07-13 17:57:31 +00:00
Ailin Nemui
838f8d179e fix _GNU_SOURCE redefined warning due to perl ccflags 2025-07-13 19:33:52 +02:00
ailin-nemui
599448af2e
Merge pull request #1566 from ar-an-ribe/fix-for-issue-1513
Resolve issue #1513.
2025-05-02 05:56:26 +00:00
Christian Carey
f12ed4ff54 Resolve issue #1513. 2025-05-02 00:02:46 -04:00
ailin-nemui
4ec9d10904
Merge pull request #1560 from ailin-nemui/wchar
add missing include for wcwidth thread test
2025-04-29 20:34:42 +00:00
Ailin Nemui
9fd6df2a15 add missing include for wcwidth thread test 2025-04-29 22:27:14 +02:00
ailin-nemui
4b33824249
Merge pull request #1565 from ailin-nemui/void
Void Linux github action fixes
2025-04-29 20:26:31 +00:00
Ailin Nemui
8eea7bef92 curl render 2025-04-29 22:19:02 +02:00
Ailin Nemui
af4fa60d3e s/gsed/sed 2025-04-29 22:14:52 +02:00
ailin-nemui
824c1aa376
Merge pull request #1563 from ailin-nemui/void
test the void
2025-04-29 20:08:05 +00:00
Ailin Nemui
5c53f2a329 test the void 2025-04-29 22:03:33 +02:00
ailin-nemui
f857f29eaf
Merge pull request #1564 from ailin-nemui/pep440
adapt pep440 dev version in make-dist.sh
2025-04-29 20:02:49 +00:00
Ailin Nemui
4857586564 adapt pep440 dev version in make-dist.sh 2025-04-29 20:52:56 +02:00
ailin-nemui
b14bc4a2fc
Merge pull request #1559 from ailin-nemui/bitwarnings
make bitfields unsigned
2025-04-27 12:41:57 +00:00
Ailin Nemui
c7c8d074bd up abi 2025-04-27 14:31:53 +02:00
Ailin Nemui
8acda3f9eb make bitfields unsigned 2025-04-27 14:31:01 +02:00
ailin-nemui
39d15558d2
Merge pull request #1561 from ailin-nemui/ghactions
update to ubuntu 22.04 in github actions
2025-04-27 10:35:46 +00:00
Ailin Nemui
b9511a9b7e update to ubuntu 22.04 in github actions 2025-04-27 12:23:54 +02:00