-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use native PowerShell progress bar instead of ugly shell simulated progress bar #1429
Comments
This needs to be user configurable. The PowerShell progress bar (at least in 5.1) is buggy as heck whenever I try to use it, so most of the time I suppress it. The winget progress bar works fine, on the other hand. |
This would be configurable just like "rainbow", "retro", etc. |
For what it's worth the PowerShell-native progress bar has been changed to look pretty similar to the current one winget presents in PowerShell 7.2 I personally don't think this is a pressing issue as progress bars are a UI feature for interactive users (humans) and that's not really how I'm going to use winget - but if it's not too much work, sure. |
@jantari I think it is important to Microsoft ecosystem is being consistent, so I think all Microsoft CLI app must be used native PowerShell progress bar if the app need progress bar, to achieve same UX in Microsoft ecosystem. https://it-overload.com/2021/03/02/the-beauty-of-progress-bar-in-powershell-7-2-preview-3/ as you can see, and as you can say, if we are using native PowerShell progress bar we can achieve all benefit of working in PowerShell Core. if some day PowerShell team decide to change progress bar and make it better than now, thanks |
What about for those us that don't use PowerShell though? Keep this is a fallback? |
For those of us who think the default PowerShell progress bar is ugly, we can at least improve the colors by putting something like this in ~/Documents/WindowsPowerShell/profile.ps1
I still strongly favor the winget progress bar, especially since it provides additional useful information: |
@rdeforest, if that is problematic for you, report that to the maintainers of PowerShell, because if those problems are remediated, the applications shall gain consistent indicators of progress. |
It's a problem in PowerShell 5.1, as far as I can tell it's fine (or at least, better) in PowerShell 7. I don't think PowerShell 5.1 is being supported for anything other than emergency bug fixes, or else I would (although I'm sure they're aware of it). |
Yes, improving PowerShell is a great idea, but this issue #1429 is about the winget-cli project. Improving the PS progress bar is out of scope. When there is no feature gap between the progress bars in I don't speak for the winget-cli team, I'm just a person on the Internet with opinions. |
Oh, definitely fix the actual issues first |
Ihmo it looks prettier in Microsoft Terminal and PowerShell 7.x |
Just feedback from a regular user here, but I'd much prefer a mix of both, but more so a PowerShell 7.x styled one but in Gray or B/W. |
@Spacellary, I believe that |
411a10915 mint 2.10.19 096a9a1bb Merge pull request microsoft#1782 from microsoft/fix_uri_parsing 006271f6a make Uri.is_host_loopback() only return true for localhost and 127.0.0.1 exactly 9c654889e Remove email list from the readme 31e7feacc Merge pull request microsoft#1718 from dashanji/Fix-typo e1b6a8e61 Merge pull request microsoft#1711 from Fighter19/pr-fix-safeint3 c5dcbb5bb Merge pull request microsoft#1717 from microsoft/users/GitHubPolicyService/f2ee14d6-8d6b-4313-b754-3880e015f7c3 98ee36dac Fix typo a57f45918 Microsoft mandatory file 3308d9728 Fix likely typo in SafeInt3.hpp, that results in error with clang 15 07cf58910 Merge pull request microsoft#1429 from NN---/fix/value_int_ctor 3eac925ad Update Release/include/cpprest/json.h 06363bc78 Update Release/include/cpprest/json.h bfe348779 Merge pull request #1577 from JvdGlind/hidden_visibility_support_macos 0ddc61829 Clarify cpprestsdk level of support 804448058 export http_exception for non Windows builds d9d7f5ed4 Merge pull request microsoft#1496 from icherniukh/oauth2_client_credentials 8ae5da616 Update oauth2.h 708a5df2b Add support for oauth2 using only client credentials 5408f1dc9 Add constructor from all integer types. git-subtree-dir: src/cpprestsdk/cpprestsdk git-subtree-split: 411a109150b270f23c8c97fa4ec9a0a4a98cdecf
411a10915 mint 2.10.19 096a9a1bb Merge pull request microsoft#1782 from microsoft/fix_uri_parsing 006271f6a make Uri.is_host_loopback() only return true for localhost and 127.0.0.1 exactly 9c654889e Remove email list from the readme 31e7feacc Merge pull request microsoft#1718 from dashanji/Fix-typo e1b6a8e61 Merge pull request microsoft#1711 from Fighter19/pr-fix-safeint3 c5dcbb5bb Merge pull request microsoft#1717 from microsoft/users/GitHubPolicyService/f2ee14d6-8d6b-4313-b754-3880e015f7c3 98ee36dac Fix typo a57f45918 Microsoft mandatory file 3308d9728 Fix likely typo in SafeInt3.hpp, that results in error with clang 15 07cf58910 Merge pull request microsoft#1429 from NN---/fix/value_int_ctor 3eac925ad Update Release/include/cpprest/json.h 06363bc78 Update Release/include/cpprest/json.h bfe348779 Merge pull request #1577 from JvdGlind/hidden_visibility_support_macos 0ddc61829 Clarify cpprestsdk level of support 804448058 export http_exception for non Windows builds d9d7f5ed4 Merge pull request microsoft#1496 from icherniukh/oauth2_client_credentials 8ae5da616 Update oauth2.h 708a5df2b Add support for oauth2 using only client credentials 5408f1dc9 Add constructor from all integer types. git-subtree-dir: src/cpprestsdk/cpprestsdk git-subtree-split: 411a109150b270f23c8c97fa4ec9a0a4a98cdecf
@soroshsabz is this still something you pursue or is the one from @davidldennison plus the Windows Terminal View in PowerShell 7.x enough? |
As @RokeJulianLockhart said, I think winget-cli can implement progress bar with native PowerShell progress bar feature and I think it is very odd to winget-cli does not support native PowerShell Progress Bar |
Integration, Consistency and Ecosystem driven is keys of Major Software Company for way of success |
I see your point clearer now. Can just believe they do not want to use PowerShell progress bar to reduce dependencies. As PS is not maintained by winget team, you might understand the complexity. In addition, PS 5.1, 7 or later might have different syntax. this is usually the case for other commands as well. Not speaking for winget team at all, just bringing up my thoughts why they might have chosen this way. |
Description of the new feature/enhancement
Replace PowerShell progress bar instead of ugly shell based progress simulated when we try download to install package in PowerShell with
winget
I think it is good to replace below
with
Proposed technical implementation details (optional)
I suggest using write-progress command when using
winget
in PowerShell to make better user experience in PowerShell eco-system and feel in-house and native command in PowerShellThis blog is very helpful for writing progress bar in powershell, and this progress can easily show percentage, bytes remaining and speed( this is very needed for downloading from internet with limited speed)
The text was updated successfully, but these errors were encountered: