int octave_rl_screen_width (void) { int rows, cols; rl_get_screen_size (&rows, &cols); return cols; }
int octave_rl_screen_height (void) { int rows, cols; rl_get_screen_size (&rows, &cols); return rows; }
int TermHeight() { int cols; int rows; rl_get_screen_size(&rows, &cols); return rows; }
int TermWidth() { int cols; int rows; rl_get_screen_size(&rows, &cols); return cols; }
// Print a list of all registered commands (and variables, if any), // nicely word-wrapped. bool Debugger::Cmd_Help(int argc, const char **argv) { #ifndef USE_TEXT_CONSOLE const int charsPerLine = _debuggerDialog->getCharsPerLine(); #elif defined(USE_READLINE) int charsPerLine, rows; rl_get_screen_size(&rows, &charsPerLine); #else // Can we do better? const int charsPerLine = 80; #endif int width, size; uint i; DebugPrintf("Commands are:\n"); // Obtain a list of sorted command names Common::Array<Common::String> cmds; CommandsMap::const_iterator iter, e = _cmds.end(); for (iter = _cmds.begin(); iter != e; ++iter) { cmds.push_back(iter->_key); } sort(cmds.begin(), cmds.end()); // Print them all width = 0; for (i = 0; i < cmds.size(); i++) { size = cmds[i].size() + 1; if ((width + size) >= charsPerLine) { DebugPrintf("\n"); width = size; } else width += size; DebugPrintf("%s ", cmds[i].c_str()); } DebugPrintf("\n"); if (!_dvars.empty()) { DebugPrintf("\n"); DebugPrintf("Variables are:\n"); width = 0; for (i = 0; i < _dvars.size(); i++) { size = _dvars[i].name.size() + 1; if ((width + size) >= charsPerLine) { DebugPrintf("\n"); width = size; } else width += size; DebugPrintf("%s ", _dvars[i].name.c_str()); } DebugPrintf("\n"); } return true; }
/* * my_getc() * * pobiera znak z klawiatury obs³uguj±c w miêdzyczasie sieæ. */ int my_getc(FILE *f) { if (ui_need_refresh) { ui_need_refresh = 0; rl_get_screen_size(&screen_lines, &screen_columns); if (screen_lines < 1) screen_lines = 24; if (screen_columns < 1) screen_columns = 80; ui_screen_width = screen_columns; ui_screen_height = screen_lines; } return rl_getc(f); }
/* The values returned by this function are meaningful only after readline * has been used once. */ static void get_screen_size (void) { int rows, cols; #if USE_SLANG_READLINE rows = SLtt_Screen_Rows; cols = SLtt_Screen_Cols; #else rl_get_screen_size (&rows, &cols); #endif (void) SLang_push_int (rows); (void) SLang_push_int (cols); }
static void tui_rl_display_match_list (char **matches, int len, int max) { struct match_list_displayer displayer; rl_get_screen_size (&displayer.height, &displayer.width); displayer.crlf = tui_mld_crlf; displayer.putch = tui_mld_putch; displayer.puts = tui_mld_puts; displayer.flush = tui_mld_flush; displayer.erase_entire_line = tui_mld_erase_entire_line; displayer.beep = tui_mld_beep; displayer.read_key = tui_mld_read_key; gdb_display_match_list (matches, len, max, &displayer); }
void cli_display_match_list (char **matches, int len, int max) { struct match_list_displayer displayer; rl_get_screen_size (&displayer.height, &displayer.width); displayer.crlf = cli_mld_crlf; displayer.putch = cli_mld_putch; displayer.puts = cli_mld_puts; displayer.flush = cli_mld_flush; displayer.erase_entire_line = cli_mld_erase_entire_line; displayer.beep = cli_mld_beep; displayer.read_key = cli_mld_read_key; gdb_display_match_list (matches, len, max, &displayer); rl_forced_update_display (); }