Setting bg color via ^C,M does not work on all clients (e.g., irssi).
https://www.mirc.com/colors.html states:
"To specify a background color, a foreground color has to be given. So a
^C,8 attribute is not valid and thus ignored."
https://www.mirc.com/help/html/index.html?change_colors.html suggests:
"You can use color 99 for the default text/background color for a line."
The Xlib and ncurses libraries query the LC_CTYPE locale value to guess
the usable character set. If the calling program did not call setlocale(),
that character set will be severely limited. Extensive Unicode support
is a reasonable libcaca user expectation.
The locale is restored as soon as possible, once the window or terminal
have been initialised. Unfortunately, the effect of setlocale() is process-
wide, and may affect other threads. This is now documented.
Note also that both Xlib and ncurses ignore the effects of uselocale()
which would have been the thread-safe solution to this problem.
- Save and correctly restore console input mode, ie. do not
change settings of the original console.
- Fix hiding of cursor.
- Free console again if the driver actually created a new one.
- Default canvas size is current window size.
- Base calculation on current font.
- Properly handle press and release events of up to 5 mouse buttons.
- Map right mouse button to button #3. This is a change in behaviour,
which is desirable for cross-platform codes.
- Generate two click events for double mouse clicks.
- Mouse wheel support, creates button press events. Button numbers
are identical to X11 mappings.
- Handle window buffer resize events.