Re: RES: vt newcons 3 clicks mouse paste issue FIXED
- In reply to: Ivan Quitschal : "RES: vt newcons 3 clicks mouse paste issue FIXED"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 04 Aug 2022 14:33:05 UTC
> On 4. Aug 2022, at 17:04, Ivan Quitschal <tezeka@hotmail.com> wrote:
>
> Hi Hans
>
> D36042 created
> How can I include more patch files in the same defect number? D36042
> https://reviews.freebsd.org/D36042
>
> Its missing the vt.h.diff and vt_core.diff
> Both attached
>
> Should i have put all three in the raw patch creation combo box when I was creating the defect?
> Sorry my dumbness , never used that phabricator
>
> --tzk
You may want to check ‘git arc’ (https://freebsdfoundation.org/wp-content/uploads/2021/11/FreeBSD-Code-Review-with-git-arc.pdf <https://freebsdfoundation.org/wp-content/uploads/2021/11/FreeBSD-Code-Review-with-git-arc.pdf>)
rgds,
toomas
>
>
>
>
>
>> -----Mensagem original-----
>> De: Ivan Quitschal <tezeka@hotmail.com>
>> Enviada em: terça-feira, 2 de agosto de 2022 09:34
>> Para: Hans Petter Selasky <hps@selasky.org>
>> Cc: Tomoaki AOKI <junchoon@dec.sakura.ne.jp>; Ivan Quitschal
>> <tezeka@hotmail.com>; freebsd-current@freebsd.org; Kurt Jaeger
>> <pi@freebsd.org>
>> Assunto: vt newcons 3 clicks mouse paste issue FIXED
>>
>>
>> Hi guys
>>
>> Currently , if you click 3 times in order to select the entire row, its just not
>> working as it should.
>> i fixed that please find below and attached the patches
>>
>> With this change now we can do a 3 clicks and paste , i dont know, in some
>> command, and it will be executed just fine, like it was in syscons, and still is in
>> xterm/ linux etc
>>
>> now if the event is a 3 mouse clickss select, the space trim is made on the right
>> and an <enter> is included
>>
>> thanks
>>
>> --tzk
>>
>>
>> --------------------
>> --- sys/dev/vt/vt_buf.c.orig 2022-08-02 08:44:27.229782000 -0300
>> +++ sys/dev/vt/vt_buf.c 2022-08-02 08:45:02.703697000 -0300
>> @@ -771,7 +771,7 @@
>> }
>>
>> void
>> -vtbuf_extract_marked(struct vt_buf *vb, term_char_t *buf, int sz)
>> +vtbuf_extract_marked(struct vt_buf *vb, term_char_t *buf, int sz, int
>> +mark)
>> {
>> int i, j, r, c, cs, ce;
>> term_pos_t s, e;
>> @@ -799,7 +799,7 @@
>> buf[i++] = vb->vb_rows[r][c];
>>
>> /* For all rows, but the last one. */
>> - if (r != e.tp_row) {
>> + if (r != e.tp_row || mark == VTB_MARK_ROW) {
>> /* Trim trailing word separators, if any. */
>> for (; i != j; i--) {
>> if (!tchar_is_word_separator(buf[i - 1]))
>> --------------------
>>
>> --- sys/dev/vt/vt_core.c.orig 2022-08-02 08:43:15.436415000 -0300
>> +++ sys/dev/vt/vt_core.c 2022-08-02 08:43:49.120096000 -0300
>> @@ -2287,7 +2287,7 @@
>> VD_PASTEBUFSZ(vd) = len;
>> }
>> /* Request copy/paste buffer data, no more than `len' */
>> - vtbuf_extract_marked(&vw->vw_buf, VD_PASTEBUF(vd), len);
>> + vtbuf_extract_marked(&vw->vw_buf, VD_PASTEBUF(vd), len,
>> + mark);
>>
>> VD_PASTEBUFLEN(vd) = len;
>>
>> ---------------------
>>
>> --- sys/dev/vt/vt.h.orig 2022-08-02 08:41:23.888584000 -0300
>> +++ sys/dev/vt/vt.h 2022-08-02 08:41:54.504309000 -0300
>> @@ -238,7 +238,7 @@
>> #ifndef SC_NO_CUTPASTE
>> int vtbuf_set_mark(struct vt_buf *vb, int type, int col, int row);
>> int vtbuf_get_marked_len(struct vt_buf *vb); -void
>> vtbuf_extract_marked(struct vt_buf *vb, term_char_t *buf, int sz);
>> +void vtbuf_extract_marked(struct vt_buf *vb, term_char_t *buf, int sz,
>> +int
>> mark);
>> #endif
>>
>> #define VTB_MARK_NONE 0
>> --------------------------
> <vt.h.diff><vt_core.diff>