1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-12-04 14:46:47 -05:00
Commit Graph

84 Commits

Author SHA1 Message Date
Kalle Olavi Niemitalo
6052fa12d8 terminal: Define separate structs for events passed via the interlink socket.
This way, struct term_event can be changed without any interprocess
compatibility problems.
2006-08-06 20:02:39 +00:00
Kalle Olavi Niemitalo
51bc99a175 terminal: decode_terminal_escape_sequence ignores previous value of *ev.
There is no need to check whether ev->ev == EVENT_KBD;
if decode_terminal_escape_sequence called
decode_terminal_mouse_escape_sequence, then the former neither modified
kbd.key nor passed &kbd to the latter, so kbd.key remains KBD_UNDEF.

If ev->ev was not checked, then it should not be trusted either.
So reinitialize the whole *ev if a keyboard event was indeed found.
2006-08-06 20:02:38 +00:00
Kalle Olavi Niemitalo
9e30ee631c terminal: Do not call toupper with potentially out-of-range values.
For instance, if Ctrl-F1 were pressed and src/terminal/kbd.c supported it,
then toupper(KBD_F1) would be called, resulting in undefined behaviour.
src/terminal/kbd.c does not support such combinations yet, but it is
safest to fix the bug already.
2006-08-06 20:02:38 +00:00
Kalle Olavi Niemitalo
50603fc66c terminal: Decode UTF-8 only from bytes, not from codes of special keys. 2006-08-06 20:02:37 +00:00
Kalle Olavi Niemitalo
cccab0462a terminal doc: itrm.in.sock == itrm.out.std in the master process.
As already documented at handle_trm().
2006-08-01 11:00:23 +00:00
Kalle Olavi Niemitalo
c04afba4e9 terminal doc: TERM=sun explains 4 ctl seqs. Terminfo u6 is position report. 2006-08-01 11:00:22 +00:00
Kalle Olavi Niemitalo
d5f30e77a5 terminal doc: Try to name one terminal for each keyboard escape sequence.
Also list the capnames with which the escape sequences could be
read from Terminfo, and the ECMA-48 interpretations of the bytes
(parenthesized if they seem unrelated to the keys).  This is in
preparation for fixing bug 96.
2006-08-01 11:00:22 +00:00
Kalle Olavi Niemitalo
ee4c3ee426 terminal doc: Add a comment about $TERM on FreeBSD. 2006-08-01 11:00:22 +00:00
Kalle Olavi Niemitalo
8f99828c75 terminal: Decode ESC O entirely separately from ESC [.
decode_terminal_escape_sequence() used to handle both, but
there is now a separate decode_terminal_application_key()
for ESC O.  I have not yet edited decode_terminal_escape_sequence();
there may be dead code in it.
2006-08-01 11:00:21 +00:00
Kalle Olavi Niemitalo
886dbf64df terminal: Rewrite process_queue. 2006-08-01 11:00:21 +00:00
Kalle Olavi Niemitalo
62c0bff87e terminal: In the ESC timeout, don't assume merely ESC was pressed.
If there is e.g. ESC [ in the input buffer, combine that to Alt-[.
Check the first character too; don't blindly assume it is ESC, as
it can be NUL as well.  Note this means you can no longer activate
the main menu by pressing Ctrl-@ (or Ctrl-Space on some terminals).
2006-08-01 11:00:21 +00:00
Kalle Olavi Niemitalo
fbd84630ac terminal: Move kbd_timeout below set_kbd_event.
This ought to make the diff of the next commit more readable.
2006-08-01 11:00:20 +00:00
Kalle Olavi Niemitalo
539f756438 terminal: Kill the ESC timer when blocking the terminal.
Otherwise, the timeout could cause ELinks to resume reading from
the terminal device while another process is still using it.
This actually happened in a test.

On entry to some functions that could resume reading from the device,
assert that the terminal has not been blocked.
2006-08-01 11:00:20 +00:00
Kalle Olavi Niemitalo
671cbb48e6 terminal doc: More comments about itrm->in.queue and bug 777. 2006-08-01 11:00:19 +00:00
Kalle Olavi Niemitalo
e9216413f2 terminal doc: Clarify itrm.remote and some others; fix grammar. 2006-08-01 11:00:19 +00:00
Kalle Olavi Niemitalo
711d672357 terminal doc: Document struct itrm and related things. 2006-08-01 11:00:18 +00:00
Laurent MONIN
1136aefb71 Trim trailing whitespaces. 2006-07-27 09:51:10 +02:00
Laurent MONIN
a897a95721 Compilation fixes (CONFIG_UTF_8): move variables declarations at start
of blocks. Old compilers do not support in-block declarations.
2006-07-27 09:49:49 +02:00
Pavol Babincak
a7a7984d89 Merge with http://www.fi.muni.cz/~xbabinc/elinks/elinks-utf8.git/
without ucdata stuff. UTF-8 code cleanup. Added Pavol Babincak
to the AUTHORS
2006-07-25 09:59:12 +02:00
Witold Filipczyk
2a6125e3d0 Merge with utf8. src/document/plain/renderer.c replaced by utf8 version 2006-07-21 13:12:06 +02:00
Witold Filipczyk
8fa3a4c88f Use isscreensafe also for UTF-8 2006-07-20 03:42:22 +02:00
Miciah Dashiel Butler Masters
f040b6f100 Fix crash when exiting after disabling the mouse
Add guards to return if the mouse is enabled or disabled in disable_mouse
and enable_mouse, respectively.
2006-07-02 03:28:51 +00:00
Miciah Dashiel Butler Masters
a0bcf254ae Modularise src/terminal 2006-05-20 15:01:24 +00:00
Miciah Dashiel Butler Masters
739298b46d Replace a loop with arithmetic in move_current_tab 2006-05-15 20:00:27 +00:00
Miciah Dashiel Butler Masters
3ee31b956a Fix wraparound behaviour in switch_to_tab 2006-05-15 19:57:46 +00:00
Kalle Olavi Niemitalo
408f9174a8 Use int_bounds in move_current_tab.
Requested by Miciah Dashiel Butler Masters.
2006-05-15 22:20:45 +03:00
Kalle Olavi Niemitalo
2e42b2d4df Fix assertion failure when closing a terminal that has more than one tab.
src/terminal/terminal.c (destroy_terminal): Set term->current_tab = 0
before deleting any windows.
2006-05-14 23:13:51 +03:00
Kalle Olavi Niemitalo
39c157389d Don't let move_current_tab move the tab beyond the main menu.
src/terminal/tab.c (get_tab_by_number): Assert that the returned
struct window * actually points to a struct window.

src/terminal/tab.c (move_current_tab): Keep tabs contiguous in the
stack of windows.  Obey "ui.tabs.wraparound".

src/terminal/terminal.h (struct terminal): Documented that tabs can
move in the stack.

src/terminal/window.c (assert_window_stacking): Check that the main
menu isn't between tabs.
2006-05-14 22:17:26 +03:00
Kalle Olavi Niemitalo
276f723ab7 New tabs always open below dialogs, never above.
This fixes the bug that tabs opened with -remote used to hide existing
dialogs, which then became unusable until the new tabs were closed.

src/terminal/tab.c (init_tab): Put the new tab immediately above
existing ones, or if it's the first one, then at the bottom of the stack.
Added assertions.

src/terminal/terminal.h (struct terminal): Redocumented the stacking
order of windows.

src/terminal/window.c [CONFIG_DEBUG] (assert_window_stacking): New function.

src/terminal/window.h (assert_window_stacking): New function or no-op macro.
2006-05-14 14:03:17 +03:00
Witold Filipczyk
88c146a395 plain_renderer: cg-log -c | elinks works. The code needs cleanup 2006-05-07 15:49:08 +02:00
Pavol Babincak
c8a6a4c44d Fix broken double-width chars when displaying menu or dialog. 2006-04-09 16:59:27 +02:00
Pavol Babincak
69a1c40fbd Replace double-width chars in html renderer with ' ' if there isn't space.
Instead of double-width chars use ' ' in html renderer if there isn't
enought room for it.
2006-04-09 16:58:00 +02:00
Pavol Babincak
20331ffd74 Use unicode_val_T instead of uint16_t for unicode data. 2006-04-09 16:52:23 +02:00
Pavol Babincak
7d4dedcb8d Bug fix: dialog window opened with ELinks start wasn't right encoded.
term->utf8 should be set before computing anything to be written on screen.
But probably this is not the right place.
2006-03-07 00:38:41 +01:00
Pavol Babincak
b356da1850 Added better support for displaying double-width UTF-8 chars. 2006-03-05 00:37:10 +01:00
witekfl
a802f0fb3e Someone, sometime ago wanted always visible menu bar. This is attempt to
handle it. I have no idea where to make initialisation call to
activate_bfu_technology.
2006-03-03 19:01:15 +01:00
witekfl
0a8009c63a mouse: Write disable_mouse sequences only in xterm 2006-02-28 22:52:01 +01:00
Pavol Babincak
c726080def Double-width glyph support in terminal draw
Added unicode_to_cell detect double-width glyphs. Modified terminal draw to
correctly accept double-width glyphs.
2006-02-18 20:28:00 +01:00
Pavol Babincak
f9d67aeb73 Added configure option --enable-utf-8
For enabling better UTF-8 support by Witek and Scrool.
2006-02-18 20:28:00 +01:00
Witold Filipczyk
44a1aa9c87 Witekfl's UTF-8 patch v5. 2006-02-18 20:27:46 +01:00
Kalle Olavi Niemitalo
4217f2c555 Merge with http://elinks.cz/elinks.git 2006-02-18 12:21:47 +02:00
witekfl
fae675316b Let BSD users use DEL on the console 2006-02-15 23:25:54 +01:00
Kalle Olavi Niemitalo
edd087c722 Merge with http://elinks.cz/elinks.git 2006-02-12 17:17:54 +02:00
witekfl
cfbe41aa8a Linux and FreeBSD are not compatible. I prefer Linux 2006-02-12 14:19:39 +01:00
Kalle Olavi Niemitalo
416bd01269 Merge with http://elinks.cz/elinks.git 2006-02-12 00:34:53 +02:00
witekfl
791cab91e7 Make ELinks FreeBSD friendly. Defined keys used on FreeBSD console 2006-02-11 21:37:49 +01:00
Kalle Olavi Niemitalo
b1f8756c59 Merge with http://elinks.cz/elinks.git 2006-02-05 17:48:43 +02:00
Miciah Dashiel Butler Masters
466bb18be0 Move delayed_open to src/terminal/tab.c
The two copies of delayed_open in src/ecmascript/spidermonkey/window.c
and in src/ecmascript/see/window.c are identical, so move them
to src/terminal/tab.c and eliminate the duplication.
2006-01-16 19:28:03 +00:00
Jonas Fonseca
6deb090b48 Blast some more .vimrc files which for some strange reason was uncommitable 2006-01-15 19:14:10 +01:00
Jonas Fonseca
2748d043f9 Autogenerate .vimrc files and put the master in config/vimrc
This changes the init target to be idempotent: most importantly it will now
never overwrite a Makefile if it exists. Additionally 'make init' will
generate the .vimrc files. Yay, no more stupid 'added fairies' commits! ;)
2006-01-15 18:38:58 +01:00