void ConfigureCMD(){ int width; width = getTerminalWidth(); char buffer[50]; sprintf(buffer,"resize -s 30 %d",width); system(buffer); }
void ConsoleProgressImpl::termPrint(const string& s, const string& rightAppendage) { auto allowedWidth = getTerminalWidth() - rightAppendage.size(); string outputString = "\r"; if (s.size() > allowedWidth) { outputString += s.substr(0, allowedWidth); } else { outputString += s + string(allowedWidth - s.size(), ' '); } outputString += rightAppendage; nonBlockingPrint(outputString); }
void Progress::next() { Lock<MutexSys> lock(mutex); ssize_t curTerminalWidth = getTerminalWidth(); if (terminalWidth != size_t(curTerminalWidth)) { drawEmptyBar(); terminalWidth = curTerminalWidth; } size_t cur = curElement++; size_t width = max(ssize_t(2),ssize_t(curTerminalWidth-2)); size_t numToDraw = cur*width/max(ssize_t(1),ssize_t(numElements-1)); for (size_t i=numDrawn; i<numToDraw; i++) { std::cout << "+" << std::flush; } numDrawn = numToDraw; }
void ConfigureCMD(){//Grose und Codepage festlegen int width; width = getTerminalWidth()+1; char buffer[50]; sprintf(buffer,"mode con:cols=%d lines=50",width); system(buffer); HANDLE StdHandle; COORD mycoord; mycoord.X=width; mycoord.Y=20000; StdHandle=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleScreenBufferSize(StdHandle,mycoord); SetConsoleCP(CP_UTF8); SetConsoleOutputCP(CP_UTF8); }
void progressStart() { progressDots = 0; progressWidth = max(3,getTerminalWidth()); std::cout << "[" << std::flush; }
Progress::Progress (size_t num) : curElement(0), numElements(num), numDrawn(0), terminalWidth(getTerminalWidth()) {}
void ConsoleProgressImpl::termClean() { nonBlockingPrint(string("\r") + string(getTerminalWidth(), ' ') + "\r"); }