The curses module reference presents its API as three large flat lists: 106 module-level functions, 103 window methods, and 181 constants, all in roughly alphabetical order.
This makes related calls hard to discover. For example, the color functions (start_color, init_pair, color_content, init_color, pair_content, …) are scattered among unrelated ones, and a reader looking for input handling has to scan the whole list. The key-constant table even carries an inline .. XXX this table is far too large! should it be alphabetized? note.
The functions, window methods and constants could instead be grouped into topic subsections, following the categories already used by the ncurses manual pages (initialization, input/output options, attributes, color, terminfo, mouse, soft labels, and so on). This is purely a documentation reorganization — no entries change, and cross-references resolve by name so they are unaffected.
Linked PRs
The
cursesmodule reference presents its API as three large flat lists: 106 module-level functions, 103windowmethods, and 181 constants, all in roughly alphabetical order.This makes related calls hard to discover. For example, the color functions (
start_color,init_pair,color_content,init_color,pair_content, …) are scattered among unrelated ones, and a reader looking for input handling has to scan the whole list. The key-constant table even carries an inline.. XXX this table is far too large! should it be alphabetized?note.The functions, window methods and constants could instead be grouped into topic subsections, following the categories already used by the ncurses manual pages (initialization, input/output options, attributes, color, terminfo, mouse, soft labels, and so on). This is purely a documentation reorganization — no entries change, and cross-references resolve by name so they are unaffected.
Linked PRs