57 Commits

Author SHA1 Message Date
Ailin Nemui
96a292d40e Finish 256 colour support for Irssi
256 colour patch is cleaned up and the remaining cases are made work,
this includes especially Theme support, which was not implemented
before. Changes not related to colours were reverted again, making a
review of the two patches against master easier to follow.

As a byproduct of the Hex-colour code parser, the 24bit colours are
also implemented. Actually using them in the terminal is guarded by a
compile time switch (as well as a run time switch), as it breaks the
existing colour protocol and requires additional storage.

To make a seamless usage, down-conversion is provided for 8 and 16
colours.

Diverging from Tom's approach, the colour protocol is reverted back to
the original one. Unfortunately, the changes required in the Theme
engine will break the API.

For more details, please refer to the patch documentation at either
http://irssi-docs.wikispaces.com/Notes-256-Colour or
https://github.com/shabble/irssi-docs/wiki/Notes-256-Colour
2014-06-30 02:41:34 +02:00
Alexander Færøy
c561ba35e6 Code Cleanup:
Use g_string_append_printf() instead of g_string_sprintfa() (which is considered deprecated.)


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5003 dbcabf3a-b0e7-0310-adc4-f8d773084564
2009-02-08 17:22:42 +00:00
Emanuele Giaquinta
48d0135d3e Make some functions static.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4956 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-12-08 17:11:00 +00:00
Emanuele Giaquinta
3f9148d0e3 Add function to set minimum/maximum size for a statusbar item.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4936 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-12-01 18:18:59 +00:00
Emanuele Giaquinta
227e90e52b Simplify statusbar_item_default_handler by merging update_statusbar_bg and
reverse_controls and by using a GString.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4934 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-11-30 23:14:43 +00:00
Emanuele Giaquinta
1d74d1e21f Reindent.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4651 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-12-05 13:06:55 +00:00
Wouter Coekaerts
9c2d621cc6 Oops. Update address correctly now.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4490 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08 18:41:10 +00:00
Wouter Coekaerts
023026e12b Update FSF address
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4489 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08 18:16:58 +00:00
Emanuele Giaquinta
56902320b4 Revert, do not use IS_PRINTABLE in reverse_controls.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4475 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-03 21:37:43 +00:00
Emanuele Giaquinta
7c84b6fc2e Add common IS_PRINTABLE macro.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4474 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-03 15:49:19 +00:00
Emanuele Giaquinta
c536d1f19c Fix format_real_length to return the correct length when the input string
includes a trailing wide char.
Change statusbar_item_default_handler to compute padding also when
item->size < item->min_size, needed after the fix to format_real_length.
Patch by Yi-Hsuan Hsin, bug #452.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4416 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-02-14 10:59:27 +00:00
Valentin Batz
8ea717b676 Fixed memleak in recode.c, fixed typo in special_vars.txt, fixed bug 105, fixed bug 106
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3295 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-09-15 12:11:43 +00:00
Timo Sirainen
226a567562 Recode patch by decadix/senneth
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3283 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-08-20 00:03:40 +00:00
Timo Sirainen
3dda9ab2df statusbar is now also updated for connecting-servers.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2922 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-09-14 23:23:57 +00:00
Timo Sirainen
9a435e68f9 make sure the statusbar item fills the space it's given, so it won't corrupt
the statusbar.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2786 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-05-13 16:05:30 +00:00
Timo Sirainen
c7320514aa fixes for new signaling code.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2691 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-04-16 18:11:06 +00:00
Timo Sirainen
8b9c4823bf Rewritten signal handling code - it wasn't supposed to come before 0.9 irssi
but it doesn't break much things and is needed for Qt port :)


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2682 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-04-15 13:59:09 +00:00
Timo Sirainen
1528cfc9d7 All control chars in statusbar items are now displayed reversed.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2574 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-03-11 02:07:05 +00:00
Timo Sirainen
c9fd2197e3 Added /STATUSBAR commands for most commonly used tasks.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2459 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-15 21:42:31 +00:00
Timo Sirainen
0f39c504d1 Statusbar wasn't always properly cleared when there was right-aligned items.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2449 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-15 14:04:10 +00:00
Timo Sirainen
33d30268b4 added some pointer casting to get rid of warnings with some compilers.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2365 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-01 20:14:30 +00:00
Timo Sirainen
5bab99f096 Fixed 2 small memory leaks.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2209 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-12-07 04:27:32 +00:00
Timo Sirainen
275c04a6aa Irssi didn't redraw the screen properly when split windows were created but
were never set active.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2119 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-20 02:43:43 +00:00
Timo Sirainen
99120dc508 back to "Irssi didn't always remove the statusbar item from screen when it
should have." bug - this time with right-aligned items :)


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2065 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-18 22:15:56 +00:00
Timo Sirainen
1bc6c723ed typobugfix for previous commit.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2060 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-18 18:16:14 +00:00
Timo Sirainen
11b175d702 After calls to statusbar_item_register() and statusbar_item_unregister(),
the statusbars should be redrawn. This also fixes the crash at quit when
using statusbar perl scripts.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2058 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-18 18:06:51 +00:00
Timo Sirainen
2f02302f45 Irssi didn't always remove the statusbar item from screen when it should
have.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2044 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-17 16:39:23 +00:00
Timo Sirainen
fc91857029 Changed the escaping system - theme_format_expand_data()'s
EXPAND_FLAG_IGNORE_EMPTY now also checks if the argument is a $variable that
is empty. Statusbar now first expands the formats and after then expands
$variables. Should fix at least when trying to print #$$$ channel in
statusbar.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2023 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-15 20:02:15 +00:00
Timo Sirainen
39f9073586 Right-aligned statusbar items weren't positioned correctly.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2021 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-15 18:44:58 +00:00
Timo Sirainen
e16b2fa495 Removed statusbar-items.h
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1990 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-12 09:15:39 +00:00
Timo Sirainen
fb439b5c2a Redrawing fixes - irssi should now rarely redraw stuff uselessly in screen.
Most of the code now just marks the window/statusbar/etc. as dirty, and lets
the dirty-checker handle it later.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1926 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-28 18:40:12 +00:00
Timo Sirainen
2ba339a26b Added support for using terminfo/termcap instead of curses. By default,
configure chooses to use ncurses if found, of terminfo if only curses was
found. --with-terminfo parameter can be used to specify if you want it or
not.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1924 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-28 11:30:26 +00:00
Timo Sirainen
76c6e9ab83 Dependencies finally work correctly in perl libraries (they're each compiled
separately now). Added statusbar code to available to perl, it's now
possible to create new statusbar items with perl scripts.

statusbar_items_redraw(char *name) can now be used to easily redraw all
named statusbar items in screen.

Probably several other changes I've already forgotten :)


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1861 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-20 19:52:07 +00:00
Timo Sirainen
17f4d6b5de added mainwindow_resize_freeze() and .._thaw() functions to temporarily
freeze all window resizes. It's now being used with statusbar code so
changing between split windows don't make the screen jump around.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1860 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-20 14:30:20 +00:00
Timo Sirainen
f86da8c0e5 Window-statusbars are created correctly with /RELOAD, some input line
fixes related to /RELOAD.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1831 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-14 11:17:13 +00:00
Timo Sirainen
1718083cf6 Resizing terminal works now properly, also sends "terminal resized" signal
now.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1830 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-14 10:45:00 +00:00
Timo Sirainen
b716b29cb7 fallback to sb_background in theme if no other statusbar background settings
were found.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1827 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-14 09:54:52 +00:00
Timo Sirainen
dbe49236d2 Configurable statusbar - see default config file (irssi.conf) for example
how to configure it. Added %> format which clears to end of line using the
current bg color. Added support for multiple input lines (just the core, not
used anywhere yet).


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1821 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-13 16:11:13 +00:00
Timo Sirainen
f4e7b4a705 statusbar_item_redraw() didn't work properly with multiple split windows.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1704 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-08-04 02:31:36 +00:00
Timo Sirainen
05777636a7 Replaced all direct curses calls with screen_xx() wrappers. This should
enable us to optionally use termcap directly.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1535 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-06-01 21:49:07 +00:00
Timo Sirainen
f89d89b0e7 statusbar was a bit broken when using split windows
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1487 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-05-11 17:35:38 +00:00
Timo Sirainen
adb7eced39 Rewrote text buffer handling in windows - try #3.
/SET scrollback_save_formats + /SB REDRAW is broken currently. There's some
other minor things that might need to be changed.

This time it allows the same window to be visible multiple times in screen,
like you could make a new split window where to scroll back and find
something while still seeing the new messages at the other window, this
however doesn't work yet but it should be quite easy to make it :)

I've tested that pretty much everything should work with this, new lines can
be added at any position and lines can be removed from any position and
screen should be updated properly. Screen resizing should also work
perfectly now (maybe it did previously too, not sure) and hopefully now we
won't see any of those ugly strange bugs some people were having. Also this
time the same code isn't written 2-3 times to do some specific thing, like
scrolling has now only one view_scroll() function instead of the 3 separate
functions it used to have :)


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1442 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-04-14 22:24:56 +00:00
Timo Sirainen
4b5803d6d7 removed some unused includes
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1434 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-04-01 00:25:47 +00:00
Timo Sirainen
dcb652bc4d when some statusbar item was forced to be removed because of lack of space,
it still used 2 chars.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1387 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-15 02:31:36 +00:00
Timo Sirainen
87777968c3 Beginnings of configurable statusbar. The existing items can be configured
in default.theme.

If some abstract isn't set in theme, it fallbacks to the one in
default.theme now. This should help with old themes, and maybe themes
that don't change something should just keep those parts commented out..


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1386 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-15 02:26:12 +00:00
Timo Sirainen
4d5da596c9 Statusbar rewrites. Colors are currently not configurable at all, but other
than that, it should work better.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1379 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-12 10:33:13 +00:00
Timo Sirainen
24e36e0081 More statusbar size fixes. Shouldn't corrupt entry line anymore.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1343 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-04 03:52:17 +00:00
Timo Sirainen
a1842e6baa Statusbar could have gotten to endless loop trying to grow size of some
item when there was no space left.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1342 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-04 03:35:12 +00:00
Timo Sirainen
2a31ecaa32 Ugly quick hack to make act: never disappear but print as much activity
to statusbar as fits.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1172 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-01-31 11:23:29 +00:00
Timo Sirainen
39630c3d58 windows.h conflicted with microsoft's windows.h :) renamed windows.[ch] to
fe-windows.[ch]


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@846 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-11-17 16:27:14 +00:00