after everything is finished goals are:
* to have table of callbacks to search from and call
* commands to have (char **argv, int argc) in declaration
refactor RC_SELECT into separate function call
refactor RC_MULTIINPUT into separate function call
also fix some logic while at it
refactor RC_DEFAUTONUKE & RC_AUTONUKE into separate function calls
refactor RC_DEFOBUFLIMIT & RC_OBUFLIMIT into separate function calls
refactor RC_DUMPTERMCAP into separate function call
refactor RC_HARDCOPY into separate function call
refactor RC_DEFLOG & RC_LOG into separate function calls
refactor RC_SUSPEND into separate function calls
refactor RC_PREV & RC_NEXT into separate function calls
refactor RC_KILL into separate function call
refactor RC_QUIT into separate function call
refactor RC_DETACH & RC_POW_DETACH into separate function calls
refactor RC_ZMODEM into separate function call
refactor RC_UNBINDALL into separate function call
refactor RC_ZOMBIE into separate function call
refactor RC_WALL into separate function call
refactor RC_AT into separate function call
refactor RC_READREG into separate function call
refactor RC_REGISTER into separate function call
refactor RC_PROCESS into separate function call
refactor RC_STUFF into separate function call
refactor RC_REDISPLAY into separate function call
refactor RC_WINDOWS inte separate function call
refactor RC_VERSION into separate function call
remove RC_TIME
should've done this when removing time and loadavg escapes
refactor RC_INFO into separate function call
refactor RC_DINFO into separate function call
refactor RC_COMMAND into separate function call
refactor RC_OTHER into separate function call
refactor RC_META into separate function call
refactor RC_XON & RC_XOFF into separate function calls
refactor RC_BREAKTYPE & RC_DEFBREAKTYPE into separate functions calls
something to check:
according to documentation they should have bit different behaviour,
but are all one single call...
refactor RC_BREAK & RC_POW_BREAK into separate function calls
refactor RC_LOCKSCREEN into separate function call
refactor RC_WIDTH & RC_HEIGHT into separate function calls
refactor RC_DEFDYNAMICTITLE & RC_DYNAMICTITLE into separate function calls
refactor RC_TITLE into separate function call
refactor RC_COLON into separate function call
refactor RC_LASTMSG into separate function call
refactor RC_SCREEN into separate function call
refactor RC_WRAP into separate function call
refactor RC_FLOW into separate function call
refactor RC_DEFWRITELOCK & RC_WRITELOCK into separate function calls
refactor RC_CLEAR into separate function call
refactor RC_RESET into separate function call
refactor RC_MONITOR into separate function call
refactor RC_DISPLAYS into separate function call
refactor RC_WINDOWLIST into separate function call
refactor RC_HELP into separate function call
refactor RC_LICENSE into separate function call
refactor RC_COPY into separate function call
refactor RC_HISTORY & RC_PASTE into separate function calls
refactor RC_READBUF & RC_WRITEBUF into separate function calls
refactor RC_REMOVEBUF into separate function call
refactor RC_IGNORECASE into separate function call
refactor RC_DEFESCAPE & RC_ESCAPE into separate function calls
refactor RC_CHDIR into separate function call
refactor RC_DEFSHELL & RC_SHELL into separate function call
refactor RC_HARDCOPYDIR into separate function call
refactor RC_LOGFILE into separate function call
refactor RC_LOGTSTAMP into separate function call
refactor RC_SHELLTITLE into separate function call
refactor RC_TERMCAP, RC_TERMCAPINFO & RC_TERMINFO into separate function call
refactor RC_SLEEP into separate function call
refactor RC_TERM into separate function call
refactor RC_ECHO into separate function call
refactor RC_BELL into separate function call
refactor RC_BUFFERFILE into separate function call
refactor RC_ACTIVITY into separate function call
refactor RC_POW_DETACH_MSG into separate function call
refactor RC_DEFLOGIN & RC_LOGIN into separate function calls
refactor RC_DEFFLOW into separate function call
refactor RC_DEFWRAP into separate function call
refactor RC_DEFC1 into separate function call
refactor RC_DEFBCE into separate function call
refactor RC_DEFGR into separate function call
refactor RC_DEFMONITOR into separate function call
refactor RC_DEFMOUSETRACK & RC_MOUSETRACK into separate function calls
refactor RC_DEFSILENCE into separate function call
refactor RC_VERBOSE into separate function call
refactor RC_HARDSTATUS into separate function call
refactor RC_STATUS into separate function call
refactor RC_CAPTION into separate function call
refactor RC_CONSOLE into separate function call
refactor RC_ALLPARTIAL & RC_PARTIAL into separate function call
refactor RC_VBELL into separate function call
refactor RC_VBELLWAIT, RC_MSGWAIT, RC_MSGMINWAIT & RC_SILENCEWAIT into separate function calls
refactor RC_BUMPRIGHT & RC_BUMPLEFT into separate function calls
refactor RC_COLLAPSE into separate function call
refactor RC_NUMBER into separate function call
refactor RC_ZOMBIE_TIMEOUT into separate function call
refactor RC_SORT into separate function call
refactor RC_SILENCE into separate function call
also fixes one bug from adding bool b
refactor RC_DEFSCROLLBACK & RC_SCROLLBACK into separate function calls
refactor RC_SESSIONNAME into separate function call
refactor RC_SETENV & RC_UNSETENV into separate function calls
refactor RC_DEFSLOWPASTE & RC_SLOWPASTE into separate function calls
refactor RC_MARKKEYS into separate function call
refactor RC_PASTEFONT into separate function call
refactor RC_CRLF into separate function call
refactor RC_COMPACTHIST into separate function call
refactor RC_HARDCOPY_APPEND into separate function call
refactor RC_VBELL_MSG into separate function call
refactor RC_DEFMODE into separate function call
refactor RC_AUTODETACH into separate function call
refactor RC_STARTUP_MESSAGE into separate function call
refactor RC_BIND into separate function call
refactor RC_BINDKEY into separate function call
refactor RC_MAPTIMEOUT into separate function call
refactor RC_MAPNOTNEXT into separate function call
refactor RC_MAPDEFAULT into separate function call
refactor RC_ACLCHG, RC_ACLADD, RC_ADDACL & CHACL into separate function call
refactor RC_ACLDEL into separate function call
refactor RC_ACLGRP into separate function call
refactor RC_ACLUMASK & RC_UMASK into separate function call
refactor RC_MULTIUSER into separate function call
refactor RC_EXEC into separate function call
refactor RC_DENONBLOCK & RC_NONBLOCK into separate function call
refactor RC_GR into separate function call
refactor RC_C1 into separate function call
refactor RC_DEFENCONDING & RC_ENCODING into separate function calls
refactor RC_DEFUTF8 & RC_UTF8 into separate function calls
refactor RC_PRINTCMD into separate function call
refactor RC_DIGRAPH into separate function call
refactor RC_DEFHSTATUS & RC_HSTATUS into separate function calls
refactor RC_DEFCHARSET & RC_CHARSET into separate function calls
refactor RC_RENDITION & RC_SORENDITION into separate function calls
refactor RC_SOURCE into separate function call
refactor RC_SU into separate function call
refactor RC_SPLIT into separate function call
refactor RC_REMOVE into separate function call
refactor RC_ONLY into separate function call
refactor RC_FIT into separate function call
refactor RC_FOCUS into separate function call
refactor RC_RESIZE into separate function call
refactor RC_SETSID into separate function call
refactor RC_EVAL into separate function call
refactor RC_ALTSCREEN into separate function call
refactor RC_BACKTICK into separate function call
refactor RC_BLANKER & RC_BLANKERPRG into separate function calls
refactor RC_IDLE into separate function call
refactor RC_FOCUSMINSIZE into separate function call
refactor RC_GROUP into separate function call
refactor RC_LAYOUT into separate function call
refactor RC_CJKWIDTH into separate function call
refactor RC_TRUECOLOR into separate function call
After freeing D_xtable set the value to NULL so that checks of D_xtable
return false. RAW_PUTCHAR can cause a segfault if invoked after
FreeTransTable. This can happen in FreeDisplay when SetTTY encounters an
error performing an ioctl on the tty.
0 0x000055583e7032a4 in RAW_PUTCHAR (c=110) at display.c:656
1 0x000055583e6cbe4c in PutWinMsg (s=0x55583e932801 <winmsg_buf+1> "clark-dt -* ",
s@entry=0x55583e932800 <winmsg_buf> "nclark-dt -* ", start=<optimized out>, start@entry=0, max=40, max@entry=49) at screen.c:3053
2 0x000055583e7003f6 in PrePutWinMsg (s=0x55583e932800 <winmsg_buf> "nclark-dt -* ", start=0, max=49) at display.c:2174
3 0x000055583e705339 in RefreshLine (y=65, from=<optimized out>, to=48, isblank=0) at display.c:2399
4 0x000055583e70630c in MakeStatus (msg=0x7ffeaa03d7d0 "SetTTY (fd 3): ioctl failed: Input/output error") at display.c:2056
5 0x000055583e6c8a68 in Msg (err=<optimized out>, fmt=<optimized out>) at screen.c:2091
6 0x000055583e6c83a1 in CoreDump (sigsig=<optimized out>) at screen.c:1664
7 <signal handler called>
8 0x000055583e7032a4 in RAW_PUTCHAR (c=110) at display.c:656
9 0x000055583e6cbe4c in PutWinMsg (s=0x55583e932801 <winmsg_buf+1> "clark-dt -* ",
s@entry=0x55583e932800 <winmsg_buf> "nclark-dt -* ", start=<optimized out>, start@entry=0, max=40) at screen.c:3053
10 0x000055583e700443 in PrePutWinMsg (s=0x55583e932800 <winmsg_buf> "nclark-dt -* ", start=0, max=<optimized out>) at display.c:2165
11 0x000055583e705339 in RefreshLine (y=65, from=<optimized out>, to=48, isblank=0) at display.c:2399
12 0x000055583e70630c in MakeStatus (msg=0x7ffeaa040780 "SetTTY (fd 3): ioctl failed: Input/output error") at display.c:2056
13 0x000055583e6c8a68 in Msg (err=<optimized out>, fmt=<optimized out>, fmt@entry=0x55583e719f41 "SetTTY (fd %d): ioctl failed") at screen.c:2091
14 0x000055583e6dfadc in SetTTY (fd=<optimized out>, mp=<optimized out>) at tty.c:624
15 0x000055583e707d08 in FreeDisplay () at display.c:340
16 0x000055583e6c8612 in Detach (mode=mode@entry=2) at screen.c:2000
17 0x000055583e6dbb52 in FinishDetach (m=0x55583e933b80 <m>) at socket.c:1607
18 0x000055583e6ddcd5 in FinishAttach (m=m@entry=0x55583e933b80 <m>) at socket.c:1424
19 0x000055583e6de531 in ReceiveMsg () at socket.c:1235
20 0x000055583e711583 in sched () at sched.c:237
21 0x000055583e6c7113 in main (ac=0, av=<optimized out>) at screen.c:1466
Bug: 52133
Signed-off-by: Nate Clark <nate@neworld.us>
There's two way to terinate an OSC: ST (\033\\) or BEL (\a). Use
whatever the original request used instead of always forcing a BEL.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
It allows for getting and setting the background color. Notably, Vim uses
OSC 11 to learn whether it's running on a light or dark colored terminal
and choose a color scheme accordingly.
Tested with gnome-terminal and xterm. When called with "?" argument the
current background color is returned:
$ echo -ne "\e]11;?\e\\"
$ 11;rgb:2323/2727/2929
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
It's almost unreadable on anything less
also we need to find space in the specified witdh, to make line breaks,
longest piece of text uninterrupted by space is 29 characters (link to
GPL license)
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>