Commit graph

150 commits

Author SHA1 Message Date
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
Emanuele Giaquinta
01a2e609ab Bind also CSI 1 ; 5 D to key cleft and CSI 1 ; 5 C to key cright.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4440 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-04-07 14:57:58 +00:00
Wouter Coekaerts
945d10ebb7 make negative scroll_page_count scroll screensize-n lines (Patch by Chris Moore)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4232 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-02-01 09:56:42 +00:00
Valentin Batz
0d10e2cc06 Fixed a bug where tab-complete didn't worked with utf8/big5 multibyte characters properly
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4229 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-01-29 22:37:24 +00:00
Wouter Coekaerts
9548cbfadb Fix warnings caused by r4043
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4046 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-10-18 17:43:48 +00:00
Wouter Coekaerts
5b7df6b3d7 Fix delete_{next,previous}_word bindings, patch by Emanuele Giaquinta
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4043 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-10-18 11:59:26 +00:00
Valentin Batz
2998ce6daa Implementation of the meta-[cult] (capitalize words, upcase word, downcase word, transpose words) key-bindings from the TODO by Peder Stray
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3963 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-08-27 22:06:34 +00:00
Valentin Batz
721a4ef9ea Fixed bug where pasting is not using the character translation (http://bugs.irssi.org/index.php?id=151) patch by Unknown
Fixed a bug in scripts/autorejoin.pl so you can really use a space or a comma for separating the channels in /set autorejoin_channels
Changed svn:mime-type of .pl and .sh files into the text/x- version, so you can diff them

git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3737 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-05-09 15:18:24 +00:00
Timo Sirainen
db705a8396 Fixes for Chinese multibyte characters handling and cursor movement, patch
by Wang WenRui


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3244 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-03-24 17:28:55 +00:00
Timo Sirainen
2a12dfb9d0 Added /SET paste_detect_keycount back. Pasting isn't detected until so
many keypresses have been detected as pasting. Also we don't anymore count
repeated keypresses more than once.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3235 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-03-23 21:17:40 +00:00
Timo Sirainen
827a3a6311 fixed /BIND escape_char
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3234 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-03-23 20:52:33 +00:00
Timo Sirainen
662c4d30ab add space between merged lines
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3217 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-01-24 22:08:56 +00:00
Timo Sirainen
3ccbd0405b fix
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3210 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-01-19 19:28:15 +00:00
Timo Sirainen
f239784fd0 fix
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3207 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-01-19 19:00:25 +00:00
Timo Sirainen
4c1628e25d Added /SET paste_join_multiline - it attempts to be smart and detect when
you're copy&pasting indented lines, and merge them together to one long
line, but splits them to max. 400 chars per line.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3206 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-01-19 18:59:17 +00:00
Timo Sirainen
2199b35892 add pasted lines to command history
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3205 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-01-19 17:59:42 +00:00
Timo Sirainen
715d8fb062 If pasted line starts with command char, treat it as command always. Paste
detection can go on too easily with lagged connections.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3189 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-11-26 17:26:47 +00:00
Timo Sirainen
c074f551bf Don't count linefeeds in paste detection to avoid it going on when holding
enter key down


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3182 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-11-23 12:17:16 +00:00
Timo Sirainen
0f22561777 Removed /SET paste_detect_keycount - don't really need it anymore.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3181 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-11-21 20:52:13 +00:00
Timo Sirainen
7765290447 pasting fixes. changed key to ^K from ^O since ^O is working strangely in
some systems..


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3180 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-11-21 18:15:11 +00:00
Timo Sirainen
787b310333 disabling paste detection works again
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3176 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-11-17 18:36:56 +00:00
Timo Sirainen
3a0796630a again changed the paste_detect defaults.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3174 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-11-17 18:20:35 +00:00