Skip to content
Announcement: We are currently not adding any applications to WinUtil and any apps that will be added through a PR will be declined by the maintainer.

# Run Tweaks

Last Updated: 2024-08-07

Info

The Development Documentation is auto generated for every compilation of WinUtil, meaning a part of it will always stay up-to-date. Developers do have the ability to add custom content, which won't be updated automatically.

Preview Code

    {
      "Content": "Run Tweaks",
      "category": "z__Advanced Tweaks - CAUTION",
      "panel": "1",
      "Order": "a041_",
      "Type": "Button",
      "link": "https://christitustech.github.io/winutil/dev/tweaks/z--Advanced-Tweaks---CAUTION/button"
    }

## Function: Invoke-WPFtweaksbutton

    function Invoke-WPFtweaksbutton {
      <#

        .SYNOPSIS
            Invokes the functions associated with each group of checkboxes

      #>

      if($sync.ProcessRunning) {
        $msg = "[Invoke-WPFtweaksbutton] Install process is currently running."
        [System.Windows.MessageBox]::Show($msg, "Winutil", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Warning)
        return
      }

      $Tweaks = (Get-WinUtilCheckBoxes)["WPFTweaks"]

      Set-WinUtilDNS -DNSProvider $sync["WPFchangedns"].text

      if ($tweaks.count -eq 0 -and  $sync["WPFchangedns"].text -eq "Default") {
        $msg = "Please check the tweaks you wish to perform."
        [System.Windows.MessageBox]::Show($msg, "Winutil", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Warning)
        return
      }

      Write-Debug "Number of tweaks to process: $($Tweaks.Count)"

      Invoke-WPFRunspace -ArgumentList $Tweaks -DebugPreference $DebugPreference -ScriptBlock {
        param($Tweaks, $DebugPreference)
        Write-Debug "Inside Number of tweaks to process: $($Tweaks.Count)"

        $sync.ProcessRunning = $true

        if ($Tweaks.count -eq 1) {
            $sync.form.Dispatcher.Invoke([action]{ Set-WinUtilTaskbaritem -state "Indeterminate" -value 0.01 -overlay "logo" })
        } else {
            $sync.form.Dispatcher.Invoke([action]{ Set-WinUtilTaskbaritem -state "Normal" -value 0.01 -overlay "logo" })
        }
        # Execute other selected tweaks

        for ($i = 0; $i -lt $Tweaks.Count; $i++) {
          Set-WinUtilProgressBar -Label "Applying $($tweaks[$i])" -Percent ($i / $Tweaks.Count * 100)
          Invoke-WinUtilTweaks $tweaks[$i]$sync.form.Dispatcher.Invoke([action]{ Set-WinUtilTaskbaritem -value ($i/$Tweaks.Count) })
        }
        Set-WinUtilProgressBar -Label "Tweaks finished" -Percent 100
        $sync.ProcessRunning = $false
        $sync.form.Dispatcher.Invoke([action]{ Set-WinUtilTaskbaritem -state "None" -overlay "checkmark" })
        Write-Host "================================="
        Write-Host "--     Tweaks are Finished    ---"
        Write-Host "================================="

        # $ButtonType = [System.Windows.MessageBoxButton]::OK
        # $MessageboxTitle = "Tweaks are Finished "
        # $Messageboxbody = ("Done")
        # $MessageIcon = [System.Windows.MessageBoxImage]::Information
        # [System.Windows.MessageBox]::Show($Messageboxbody, $MessageboxTitle, $ButtonType, $MessageIcon)
      }
    }

View the JSON file

August 7, 2024