-- Leo's gemini proxy
-- Connecting to git.thebackupbox.net:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
repo: rxvt-unicode-sixel action: commit revision: path_from: revision_from: 85edcf8bc524668da8d8d3086d37eee8f5c14c47: path_to: revision_to:
commit 85edcf8bc524668da8d8d3086d37eee8f5c14c47 Author: Marc Lehmann <schmorp@schmorp.de> Date: Wed Dec 1 02:12:18 2004 +0000 *** empty log message *** diff --git a/src/command.C b/src/command.C
--- a/src/command.C +++ b/src/command.C @@ -51,6 +51,7 @@ #include "command.h" #include <wchar.h> +#include <signal.h> /*----------------------------------------------------------------------*/ diff --git a/src/rxvt.h b/src/rxvt.h
--- a/src/rxvt.h +++ b/src/rxvt.h @@ -612,6 +612,7 @@ enum { Rs_pointerBlank, Rs_pointerBlankDelay, Rs_imLocale, + Rs_pastableTabs, #ifndef NO_SECONDARY_SCREEN Rs_secondaryScreen, Rs_secondaryScroll, diff --git a/src/rxvtlib.h.in b/src/rxvtlib.h.in
--- a/src/rxvtlib.h.in +++ b/src/rxvtlib.h.in @@ -215,12 +215,14 @@ typedef struct { # define Opt_insecure 0 # define Opt_borderLess 0 #endif +#define Opt_pastableTabs (1UL<<25) /* place holder used for parsing command-line options */ #define Opt_Reverse (1UL<<30) #define Opt_Boolean (1UL<<31) -#define DEFAULT_OPTIONS (Opt_scrollBar | Opt_scrollTtyOutput | \ - Opt_jumpScroll | Opt_secondaryScreen) +#define DEFAULT_OPTIONS (Opt_scrollBar | Opt_scrollTtyOutput \ + | Opt_jumpScroll | Opt_secondaryScreen \ + | Opt_pastableTabs) /* ------------------------------------------------------------------------- */ diff --git a/src/screen.C b/src/screen.C
--- a/src/screen.C +++ b/src/screen.C @@ -885,14 +885,14 @@ rxvt_term::scr_add_lines (const unicode_t *str, int nlines, int len) srp = screen.rend[row]; /* _must_ refresh */ } - if (screen.flags & Screen_Insert) - scr_insdel_chars (1, INSERT); - // rely on wcwidth to tell us the character width, at least for non-latin1 // do wcwidth before further replacements, as wcwidth says that line-drawing // characters have width -1 (DOH!) on GNU/Linux sometimes. int width = c < 0x100 ? 1 : wcwidth (c); + if (screen.flags & Screen_Insert) + scr_insdel_chars (width, INSERT); + if (charsets[screen.charset] == '0') // DEC SPECIAL { // vt100 special graphics and line drawing @@ -1102,7 +1102,7 @@ rxvt_term::scr_tab (int count, bool ht) // store horizontal tab commands as characters inside the text // buffer so they can be selected and pasted. - if (ht) + if (ht && options & Opt_pastableTabs) { base_rend = SET_FONT (base_rend, 0); @@ -2246,7 +2246,7 @@ rxvt_term::scr_refresh (unsigned char refresh_type) // redraw one or more characters - // seek to the beginning if wide characters + // seek to the beginning of wide characters while (stp[col] == NOCHAR && col > 0) --col; diff --git a/src/xdefaults.C b/src/xdefaults.C
--- a/src/xdefaults.C +++ b/src/xdefaults.C @@ -93,6 +93,7 @@ optList[] = { BOOL (Rs_reverseVideo, "reverseVideo", "rv", Opt_reverseVideo, "reverse video"), BOOL (Rs_loginShell, "loginShell", "ls", Opt_loginShell, "login shell"), BOOL (Rs_jumpScroll, "jumpScroll", "j", Opt_jumpScroll, "jump scrolling"), + BOOL (Rs_pastableTabs, "pastableTabs", "ptab", Opt_pastableTabs, "tab characters are pastable"), #ifdef HAVE_SCROLLBARS BOOL (Rs_scrollBar, "scrollBar", "sb", Opt_scrollBar, "scrollbar"), BOOL (Rs_scrollBar_right, "scrollBar_right", "sr", Opt_scrollBar_right, "scrollbar right"),
-----END OF PAGE-----
-- Response ended
-- Page fetched on Sun Jun 2 13:27:19 2024