Skip to content

Repository files navigation

PoshProgressBar

A PowerShell progress bar in XAML using the Material Design in XAML Toolkit.

Install

Install-Module PoshProgressBar -Scope CurrentUser
Import-Module PoshProgressBar

Compatibility

Windows only. Requires Windows PowerShell 5.1+ with WPF (PresentationFramework, .NET Framework 4.x). Not supported on Linux, macOS, or PowerShell 7+ (the vendored Material Design assemblies target .NET Framework 4.0 — see THIRD-PARTY-NOTICES.md).

Sample usage

$progressBar = New-ProgressBar -IsIndeterminate $true -MaterialDesign -Type Circle
Write-ProgressBar -Activity "Doing things" -ProgressBar $progressBar -Status "Status" -CurrentOperation "Current Operation"
# ...
Close-ProgressBar -ProgressBar $progressBar

Result:

Sample Progress Bar

With window options (see CHANGELOG.md):

$progressBar = New-ProgressBar -MaterialDesign -Type Horizontal `
    -Topmost $true -ResizeMode NoResize -ShowInTaskbar $true `
    -PicturePath "C:\Images\logo.png"

Documentation

Roadmap

Tracked as GitHub issues (all open issues):

  1. Automated screenshots for documentation
  2. Backwards compatibility / Server 2012 verification
  3. Branding (icon, banner, background)
  4. MahApps styling
  5. NuGet-based MaterialDesign dependency instead of vendored DLLs

Contributing

  1. Find or open an issue and assign it to yourself.
  2. Fork, branch from Development, and add Pester coverage for behavior changes.
  3. Invoke-ScriptAnalyzer -Path ./PoshProgressBar -Settings ./PSScriptAnalyzerSettings.psd1 must be clean.
  4. Open a pull request against the Development branch. CI runs Pester + PSScriptAnalyzer on Windows.

License

MIT — see LICENSE.md. Third-party binaries are covered in THIRD-PARTY-NOTICES.md.

About

A PowerShell ProgressBar in XAML using Material Design in XAML Toolkit from ButchersBoy

Resources

Stars

31 stars

Watchers

6 watching

Forks

Releases

Packages

Contributors

Languages