ailin-nemui
ad842ea8a6
reorder history add and fixes
2016-01-08 15:42:59 +01:00
ailin-nemui
38720e0ecb
Merge pull request #306 from dequis/bracketed-paste
...
Implement paste detection via the bracketed paste mode 2: bracket pasterer
2015-12-15 00:06:48 +01:00
dequis
ce77842a98
Bracketed paste: fix nitpick from ahf's review
...
Thanks ahf
2015-12-13 13:56:09 -03:00
dequis
e6fa311590
Bracketed paste: Adjust paste line count if there's text after newlines
...
With bracketed paste, "a\nb" will result in two lines being pasted,
because it's a single thing, with an end marker which the timeout based
pastes don't have.
Due to the way term_gets() counts lines, that input will have
paste_line_count == 1. This can be misleading.
This code adjusts it by looking at the last character, and increasing
the count if it finds anything that isn't a newline.
2015-12-12 01:49:32 -03:00
dequis
38d372eccb
Disable timeout-based paste detection if paste_use_bracketed_mode is on
2015-12-12 01:19:36 -03:00
LemonBoy
50fae4212e
Use 'isblank()' instead of a custom macro
2015-11-22 21:33:44 +01:00
Fabian Kurz
011eda7d9e
Correct a wrong use of the 'paste_buffer' variable
...
The function "static void paste_buffer_join_lines(GArray *buf)" in
"src/fe-text/gui-readline.c" is supposed to join lines from the GArray
pointed to by *buf under certain circumstances.
In the code of the function "buf" is actually used for getting the length
of the GArray, but to get a pointer to the data, "paste_buffer->data" is
used; paste_buffer is defined in the scope of the whole file.
This delivers the desired result, because this function is only called
once, with "paste_buffer" as the argument. If paste_buffer_join_lines()
will ever be used with a different argument, it will fail.
2015-11-22 21:24:05 +01:00
dequis
8c98e07eab
Merge remote-tracking branch 'origin/master' into bracketed-paste
2015-11-08 14:28:18 -03:00
dequis
58a166484a
Add xterm's keypad enter, meta-O-M to "key return" bindings
...
From the 'kent' terminfo entry. Also applies to putty.
Fixes #327
2015-10-06 06:15:47 -03:00
dequis
7866d2bcd6
Handle empty bracketed pastes (or sequences of those)
...
Both cases were off-by-one mistakes erring on the side of being too
conservative. This fixes these two harmless issues:
- For a single empty paste, it required another keystroke before
processing it
- For a sequence of themcase, a single '~' was left in the input
2015-09-27 16:08:07 -03:00
dequis
c721d57688
Handle a paste start marker right after an end one (ignore both)
...
This actually workarounds a bug with the "st" terminal, for which i've
already submitted a patch, but irssi needs to be able to handle it
decently too.
2015-09-27 16:08:07 -03:00
dequis
7d062a313a
Create paste_bracketed_middle() function to handle small pastes
...
"Small" as in ending in the same sig_input() call where they started
2015-09-27 16:08:07 -03:00
dequis
83f9772e21
Fix some minor style issues
2015-09-27 16:08:07 -03:00
dequis
79987d87f3
Send last line of bracketed paste together with the rest
2015-09-27 16:08:07 -03:00
dequis
3b01198f03
paste_bracketed_end: Fix rest length calculation
2015-09-27 16:08:07 -03:00
dequis
52729ca3da
Save the part of the paste buffer after the bp_end marker for later
...
Also move relevant code to a paste_bracketed_end() function
2015-09-27 16:08:07 -03:00
dequis
9a6b2dedcc
Improve bracketed paste start/end detection
...
- Use a keybinding to detect the start of a bracketed paste
- Iterate over the paste buffer looking for the end marker
2015-09-27 16:08:07 -03:00
LemonBoy
6888fc5fc7
Get rid of the non-portable memmem
...
The sequences we're after are found at the beginning or at the end of the
buffer, there's no need to scan the whole thing.
2015-09-27 16:08:06 -03:00
LemonBoy
4764b102ff
Enable the bracketed paste mode on demand
2015-09-27 16:08:06 -03:00
LemonBoy
15dad291c7
Replace some hairy logic with g_array_remove_range
...
In the hope it'll do the same under the hood.
2015-09-27 16:08:06 -03:00
LemonBoy
f1eead7b4a
Toggles
2015-09-27 16:08:06 -03:00
LemonBoy
72ac27e5a0
Implement the bracketed paste mode
...
As an alternative method of paste detection, more reliable but might not be
supported by all the VTs.
2015-09-27 16:08:06 -03:00
dequis
f39723f651
Fix FS#905, mangled text when pasted line length exceeds 400
...
http://bugs.irssi.org/index.php?do=details&task_id=905
Not using the patch from that ticket, the issue turned out to be that
(dest - last_lf_pos) returned number of unichr, not bytes, so that's 4
times less than what the size parameter of memmove() should be.
2015-09-21 17:53:46 -03:00
dequis
f14199d9c1
Change all strcmp() to g_strcmp0() to handle nulls gracefully
...
Just a string replacement (but i did check every one of them)
sed -i 's/strcmp(/g_strcmp0(/g' **/*.c
2015-04-07 22:41:05 -03:00
Ailin Nemui
09f23d06b5
Modify escape of ^ key so it can be used as well as Ctrl+^
...
Fixes FS#721
This makes Ctrl+^ and ^ bindable again as different keys. We do this
by escaping single `^` as `^-`, which is not a valid control character
(unlike `^^`)
The original approach suggested in FS#721 is insufficient, it will
break bindings such as `meta-^` because Irssi is convinced that `^`
introduces a Control-key ("key combo") so it is waiting for what may
follow.
2014-07-28 13:58:13 +02:00
Alexander Færøy
3eea03ccb8
Irssi now detects a paste if it reads at least three bytes in a single read;
...
subsequent reads are associated to the same paste if they happen before
'paste_detect_time' time since the last read. If no read occurs after
'paste_detect_time' time the paste buffer is flushed; if there is at least one
complete line its content is sent as a paste, otherwise it is processed
normally.
Thanks to Emanuele Giaquinta.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5121 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-02-27 14:57:16 +00:00
Jilles Tjoelker
38306ad488
Allow ctrl+home/ctrl+end to go to the beginning/end of scrollback.
...
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5075 dbcabf3a-b0e7-0310-adc4-f8d773084564
2009-05-22 12:48:02 +00:00
Emanuele Giaquinta
ba002bbc13
Revert r4912.
...
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4916 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-11-18 09:21:36 +00:00
Emanuele Giaquinta
ca5f4ec1f9
Simplify sending of the first pasted line.
...
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4912 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-11-16 09:19:27 +00:00
Emanuele Giaquinta
7b529aa530
Remove get_utf8_char/utf16_char_to_utf8 in favour of glib
...
g_utf8_get_char_validated/g_unichar_to_utf8.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4893 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-11-10 11:59:31 +00:00
Wouter Coekaerts
f9376ec8e7
Improve descriptions of key bind items
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4834 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-05-18 20:49:20 +00:00
Emanuele Giaquinta
548e5115bb
Add 'word_completion_backward' command to scroll backwards in the completion
...
list, bug #313 .
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4830 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-05-17 13:12:21 +00:00
Emanuele Giaquinta
cad6fb2e19
Refactor code to create a watcher for an fd into a function.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4813 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-25 08:42:47 +00:00
Emanuele Giaquinta
e361d2f498
Remove the need to buffer input by moving the 'gui key pressed' events
...
generation into term_gets.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4805 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-16 21:14:05 +00:00
Emanuele Giaquinta
e1713c17cb
After last change paste_entry includes the key before the one
...
that begins the pasting, so do not add the same key to paste_buffer,
otherwise it will show up twice.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4760 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-12 09:59:35 +00:00
Emanuele Giaquinta
a3526caf41
Make a copy of the entry buffer only when a paste begins rather than
...
everytime a key is pressed.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4747 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-10 09:48:02 +00:00
Emanuele Giaquinta
02a10e4f9c
Do not buffer keys when waiting for paste confirmation.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4746 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-09 23:57:28 +00:00
Emanuele Giaquinta
37381fe1bc
Simplify history handling in key_send_line.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4745 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-09 23:03:45 +00:00
Emanuele Giaquinta
c403b70de4
Remove broken by design /set translation.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4698 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-02-02 18:36:57 +00:00
Emanuele Giaquinta
3edcc7a611
Reindent.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4675 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-01-21 15:44:05 +00:00
Emanuele Giaquinta
b9a26388b5
Simplify.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4674 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-01-21 15:41:12 +00:00
Emanuele Giaquinta
7b08caa814
Remove unneeded resets of paste_keycount (check_pasting will reset it
...
at the next call).
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4670 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-01-21 11:06:46 +00:00
Emanuele Giaquinta
f7856f2071
Move code to insert paste prompt into its own function.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4669 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-01-21 10:50:50 +00:00
Jilles Tjoelker
c5b4e72382
Make alt/meta+arrow keys work in recent versions of xterm.
...
Bug #496
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4603 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-08-24 17:13:21 +00:00
Emanuele Giaquinta
8a9da9cf2d
Add function to delete the whole cell under the cursor and use it for
...
delete_character.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4521 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-25 22:21:39 +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
83c178c169
Increment paste_keycount when the key before the one that starts a
...
possible pasting is not a '\r' or '\n'.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4467 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-04-28 11:45:34 +00:00
Emanuele Giaquinta
39d15501c8
Ignore empty lines when pasting.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4466 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-04-28 10:55:57 +00:00
Emanuele Giaquinta
2f86e39e84
When sending a line as non-pasted reset also paste_entry, bug #405 .
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4465 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-04-28 10:52:11 +00:00