RES: vt newcons 3 clicks mouse paste issue FIXED
Date: Thu, 04 Aug 2022 14:04:27 UTC
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 > -----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 > --------------------------