diff --git a/src/bin/pkgman/PackageManager.cpp b/src/bin/pkgman/PackageManager.cpp index 1d6ef4230a..c351ba7dbb 100644 --- a/src/bin/pkgman/PackageManager.cpp +++ b/src/bin/pkgman/PackageManager.cpp @@ -10,6 +10,9 @@ #include "PackageManager.h" +#include +#include + #include #include #include @@ -189,7 +192,10 @@ PackageManager::ProgressPackageDownloadActive(const char* packageName, "\xE2\x96\x88", }; - const int width = 70; + struct winsize w; + ioctl(STDOUT_FILENO, TIOCGWINSZ, &w); + const int width = (w.ws_col > 77) + ? 70 : (w.ws_col - 7); // we need 70 chars for the bar + 7 for %. int position; int ipart = (int)(completionPercentage * width);