⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 todo

📁 操作系统SunOS 4.1.3版本的源码
💻
字号:
## @(#)TODO 1.1 92/07/30 SMI; from S5R3 1.2.1.1#This file documents things I would like to see done to cursesthat I simply don't have time for.  I can design them but thereis no time to implement them.  Someone should.HP terminals: performance on HP terminals is terrible, because itoutputs ESC & d x before every character that has the highlightingchanged.  I was unable to make it work without doing this.  To makeit work, you're going to have to keep a data structure of cookiesthat are on the screen, and when one gets in the way, change it.This is hard because operations like ins/del line, ins/del char,ceol, and clear affect the cookie map.  The philosophy has to change,currently it's "output cookies everywhere", it should change to"output as few cookies as you can get away with".Lots of variations.  The Ann Arbor Guru (and to a lesser extent theAmbassador) point out an amazing number of modes you might want torun the terminal in.  Different sizes, different amounts of memory,normal or reverse video, with or without a status line, with or withoutcontext, with or without destructive backspace, etc.  Including entriesfor all these possibilities is not only a lot of work (even with use=you have to list them all) but each one takes up lots of space.  Addinga new option with two possibilities doubles the number of terminal types(and hence the amount of disk spaced needed for the binaries).The solution to this is to make setupterm smarter about how it looksup terminal type names.  It should start with $TERM.  If that isn'tthere, it should strip off the final -opt and try that.  Keep strippingoff -opt's until you find one.  Then look for "delta files" showinghow to change the default for these options.  For example	aaa-60-s-rvAssume there is no aaa-60-s-rv.  Try aaa-60-s.  That fails, so tryaaa-60.  Suppose that works.  You read in aaa-60, then search foraaa+s (the + is used internally to indicate an option, see the sourcecode to terminfo for examples.)  The contents of aaa+s is applied asa difference to aaa-60.  Then aaa+rv is looked up, and it is appliedas a delta.  This will require a new value in a compiled terminfo file:"unknown", plus "cancel".  If you interpret the current missing values(0 for Bool, -1 for int, 0 for string) as "unknown" in a delta (ratherthan "not present") you'll just need one new value - "cancel", whichcould be -1 for bool, -2 for int, -1 for string.  -2 should be definedas 377, 376.By convention, -60 means "60 lines", -x80 means "by 80", that is, "80columns", and -60x80 means "60 lines, 80 cols".  These should overridethe default "lines" and "columns", although this is a last resort, andyou should check for the appropriate file first (there might be someother changes to some init strings, for example.)It would be nice to be able to define capabilities as strings and includethem in the middle of other capabilities.  For instance:	foo,		is2=\E[^(lines);^(columns)z,might mean that the values of "lines" and "columns" (taken as text)should be inserted at these two points, to initialize the screen size.The ^(cap) notation won't conflict with existing usage.  The interpretationmust be done by setupterm, since at compile time you don't know whatthe capabilities values are.  Some clever storage scheme will be neededsince the compiler interprets existing ^'s, e.g. use the parity bit.Some future code changes and optimizations:	Get rid of _lastch since the information is never used	In _init_costs, add some decisions about using ins/del line		vs. scrolling regions so that it doesn't have to		be constantly checked	Rewrite _showstring()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -