Compare commits

...

24 Commits

Author SHA1 Message Date
Martin Wiethan
48d94ed981 Merge branch 'ChrisTitusTech-main' into RemoveOOSUEssentialTweak 2024-06-25 21:32:22 +02:00
Martin Wiethan
b88c7f0cc4 Merge branch 'main' of https://github.com/ChrisTitusTech/winutil into ChrisTitusTech-main 2024-06-25 21:31:21 +02:00
ChrisTitusTech
5c687c98c6 Compile Winutil 2024-06-25 19:22:02 +00:00
Benjy
495e08db05
Test (#1) (#2095)
* remove java 20

* remove java 20
2024-06-25 14:21:35 -05:00
ChrisTitusTech
a23d63613f Compile Winutil 2024-06-25 19:19:45 +00:00
PedroBuffon
acbabd4962
Added Plex Desktop along side Plex Media Server (#2091) 2024-06-25 14:19:20 -05:00
ChrisTitusTech
45a18b335f Compile Winutil 2024-06-25 19:15:55 +00:00
Martin Wiethan
c23ea45e61
Remove WwanSvc Service From Manual Services Tweak (#2086)
* Compile Winutil

* Remove WwanSvc from manual Services tweak

---------

Co-authored-by: Marterich <Marterich@users.noreply.github.com>
2024-06-25 14:15:30 -05:00
ChrisTitusTech
1f01933cc0 Compile Winutil 2024-06-25 19:10:42 +00:00
Martin Wiethan
4958c5efe9
Remove force install of Winget + Small improvements (#2083)
* Compile Winutil

* Add Run switch to Run winutil automatically after compilation

* Remove Winutil ForceInstall and unnecessary loading bar

---------

Co-authored-by: Marterich <Marterich@users.noreply.github.com>
2024-06-25 14:10:16 -05:00
ChrisTitusTech
5dd3bb492f Compile Winutil 2024-06-25 18:56:53 +00:00
MyDrift
9d6d21bd40
Rename app: ForceAutoHDR (#2081)
- Rename "GUI That Forces Auto HDR In Unsupported Games" to it's actual name (ForceAutoHDR) making it shorter & removing the horizontal scroll bar appearing from start. to feel cleaner.
2024-06-25 11:56:23 -07:00
ChrisTitusTech
ff80ef491a Compile Winutil 2024-06-25 18:54:42 +00:00
MyDrift
4bc54de8cd
Hyperlinks to about section (#2080)
* Hyperlink to CustomDialogs

- added ability to add hyperlinks to CustomDialogs
- Added custom Dialog for every item in the About Section
- added custom link to see the commits of the day of the version the script is on
- added hover effect for linked items

* Fix

- change version link to match changes made to release
- removed date formatting as it is not needed anymore
- Renamed Github Link to "ChrisTitusTech/winutil" because you can't select the text but click on it to open the link directly so it is unnecessary

* fix opening link

- switched method to open hyperlinks
old: [System.Diagnostics.Process]::Start
new: Start-Process
2024-06-25 11:54:18 -07:00
ChrisTitusTech
864f063878 Compile Winutil 2024-06-20 19:27:25 +00:00
Chris Titus
009ab5066c
Create winutil.ps1 2024-06-20 12:27:03 -07:00
Chris Titus
a735a02257 add manual trigger 2024-06-20 14:15:08 -07:00
Chris Titus
360cc15b4b remove winutil tracking 2024-06-20 13:46:24 -07:00
ChrisTitusTech
1e906696f5 Compile Winutil 2024-06-20 18:35:38 +00:00
Mr.k
b6902c116a
Add 'TeraCopy' and 'Ambie White Noise' Apps into 'applications.json' File (#2071)
* Add 'Ambie White Noise' App into 'applications.json' File

* Add 'TeraCopy' App into 'applications.json' File
2024-06-20 13:35:14 -05:00
ChrisTitusTech
8ace1a32bf Compile Winutil 2024-06-20 18:32:13 +00:00
Mr.k
4fcd3f5b2f
Add 'croc' App to 'applications.json' File (#2070) 2024-06-20 13:31:47 -05:00
ChrisTitusTech
c942287172 Compile Winutil 2024-06-20 18:30:22 +00:00
Mr.k
7c58eb0e78
Add 'JoyToKey' and 'Wise Program Uninstaller' Apps into 'applications.json' File (#2069)
* Add 'Wise Program Uninstaller' App into 'applications.json' File

* Add 'JoyToKey' App into 'applications.json' File
2024-06-20 13:29:50 -05:00
8 changed files with 285 additions and 85 deletions

View File

@ -1,10 +1,11 @@
name: Compile
on:
push:
branches:
push:
branches:
- main
- test*
workflow_dispatch: # Manual trigger added
jobs:
build-runspace:

View File

@ -5,6 +5,7 @@ on:
workflows: ["Compile"] #Ensure Compile winget.ps1 is done
types:
- completed
workflow_dispatch: # Manual trigger added
jobs:
build-runspace:

View File

@ -1,5 +1,6 @@
param (
[switch]$Debug
[switch]$Debug,
[switch]$Run
)
$OFS = "`r`n"
$scriptname = "winutil.ps1"
@ -100,3 +101,7 @@ else {
Set-Content -Path $scriptname -Value ($script_content -join "`r`n") -Encoding ascii
Write-Progress -Activity "Compiling" -Completed
if ($run){
Start-Process -FilePath "powershell" -ArgumentList ".\$scriptname"
}

View File

@ -975,14 +975,6 @@
"link": "https://www.oracle.com/java/",
"winget": "EclipseAdoptium.Temurin.18.JRE"
},
"WPFInstalljava20": {
"category": "Development",
"choco": "na",
"content": "Azul Zulu JDK 20",
"description": "Azul Zulu JDK 20 is a distribution of the OpenJDK with long-term support, performance enhancements, and security updates.",
"link": "https://www.azul.com/downloads/zulu-community/",
"winget": "Azul.Zulu.20.JDK"
},
"WPFInstalljava21": {
"category": "Development",
"choco": "na",
@ -1663,6 +1655,14 @@
"link": "https://www.plex.tv/your-media/",
"winget": "Plex.PlexMediaServer"
},
"WPFInstallplexdesktop": {
"category": "Multimedia Tools",
"choco": "plex",
"content": "Plex Desktop",
"description": "Plex Desktop for Windows is the front end for Plex Media Server.",
"link": "https://www.plex.tv",
"winget": "Plex.Plex"
},
"WPFInstallPortmaster": {
"category": "Pro Tools",
"choco": "portmaster",
@ -1831,6 +1831,14 @@
"link": "https://www.revouninstaller.com/",
"winget": "RevoUninstaller.RevoUninstaller"
},
"WPFInstallWiseProgramUninstaller": {
"category": "Utilities",
"choco": "na",
"content": "Wise Program Uninstaller (WiseCleaner)",
"description": "Wise Program Uninstaller is the perfect solution for uninstalling Windows programs, allowing you to uninstall applications quickly and completely using its simple and user-friendly interface.",
"link": "https://www.wisecleaner.com/wise-program-uninstaller.html",
"winget": "WiseCleaner.WiseProgramUninstaller"
},
"WPFInstallrevolt": {
"category": "Communications",
"choco": "na",
@ -2503,6 +2511,14 @@
"link": "https://toys.wisecleaner.com/",
"winget": "WiseCleaner.WiseToys"
},
"WPFInstallTeraCopy": {
"category": "Utilities",
"choco": "TeraCopy",
"content": "TeraCopy",
"description": "Copy your files faster and more securely",
"link": "https://codesector.com/teracopy",
"winget": "CodeSector.TeraCopy"
},
"WPFInstallwizfile": {
"category": "Utilities",
"choco": "na",
@ -2727,6 +2743,14 @@
"link": "https://github.com/AutoDarkMode/Windows-Auto-Night-Mode",
"winget": "Armin2208.WindowsAutoNightMode"
},
"WPFInstallAmbieWhiteNoise": {
"category": "Utilities",
"choco": "na",
"content": "Ambie White Noise",
"description": "Ambie is the ultimate app to help you focus, study, or relax. We use white noise and nature sounds combined with an innovative focus timer to keep you concentrated on doing your best work.",
"link": "https://ambieapp.com/",
"winget": "9P07XNM5CHP0"
},
"WPFInstallmagicwormhole": {
"category": "Utilities",
"choco": "magic-wormhole",
@ -2735,6 +2759,14 @@
"link": "https://github.com/magic-wormhole/magic-wormhole",
"winget": "magic-wormhole.magic-wormhole"
},
"WPFInstallcroc": {
"category": "Utilities",
"choco": "croc",
"content": "croc",
"description": "Easily and securely send things from one computer to another.",
"link": "https://github.com/schollz/croc",
"winget": "schollz.croc"
},
"WPFInstallqgis": {
"category": "Multimedia Tools",
"choco": "qgis",
@ -2786,11 +2818,19 @@
"WPFInstallForceAutoHDR": {
"category": "Utilities",
"choco": "na",
"content": "GUI That Forces Auto HDR In Unsupported Games",
"content": "ForceAutoHDR",
"description": "ForceAutoHDR simplifies the process of adding games to the AutoHDR list in the Windows Registry",
"link": "https://github.com/7gxycn08/ForceAutoHDR",
"winget": "ForceAutoHDR.7gxycn08"
},
"WPFInstallJoyToKey": {
"category": "Utilities",
"choco": "joytokey",
"content": "JoyToKey",
"description": "enables PC game controllers to emulate the keyboard and mouse input",
"link": "https://joytokey.net/en/",
"winget": "JTKsoftware.JoyToKey"
},
"WPFInstallnditools": {
"category": "Multimedia Tools",
"choco": "na",

View File

@ -1223,11 +1223,6 @@
"StartupType": "Automatic",
"OriginalType": "Automatic"
},
{
"Name": "WwanSvc",
"StartupType": "Manual",
"OriginalType": "Manual"
},
{
"Name": "XblAuthManager",
"StartupType": "Manual",

View File

@ -178,17 +178,67 @@ $cttLogoPath = @"
$winutilTextBlock.Foreground = $foregroundColor
$winutilTextBlock.Margin = New-Object Windows.Thickness(10, 5, 10, 5) # Add margins around the text block
$stackPanel.Children.Add($winutilTextBlock)
# Add TextBlock for information with text wrapping and margins
$messageTextBlock = New-Object Windows.Controls.TextBlock
$messageTextBlock.Text = $Message
$messageTextBlock.TextWrapping = [Windows.TextWrapping]::Wrap # Enable text wrapping
$messageTextBlock.HorizontalAlignment = [Windows.HorizontalAlignment]::Left
$messageTextBlock.VerticalAlignment = [Windows.VerticalAlignment]::Top
$messageTextBlock.Margin = New-Object Windows.Thickness(10) # Add margins around the text block
# Define the Regex to find hyperlinks formatted as HTML <a> tags
$regex = [regex]::new('<a href="([^"]+)">([^<]+)</a>')
$lastPos = 0
# Iterate through each match and add regular text and hyperlinks
foreach ($match in $regex.Matches($Message)) {
# Add the text before the hyperlink, if any
$textBefore = $Message.Substring($lastPos, $match.Index - $lastPos)
if ($textBefore.Length -gt 0) {
$messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($textBefore)))
}
# Create and add the hyperlink
$hyperlink = New-Object Windows.Documents.Hyperlink
$hyperlink.NavigateUri = New-Object System.Uri($match.Groups[1].Value)
$hyperlink.Inlines.Add($match.Groups[2].Value)
$hyperlink.TextDecorations = [Windows.TextDecorations]::None # Remove underline
$hyperlink.Foreground = $foregroundColor
$hyperlink.Add_Click({
param($sender, $args)
Start-Process $sender.NavigateUri.AbsoluteUri
})
$hyperlink.Add_MouseEnter({
param($sender, $args)
$sender.Foreground = [Windows.Media.Brushes]::LightGray
})
$hyperlink.Add_MouseLeave({
param($sender, $args)
$sender.Foreground = $foregroundColor
})
$messageTextBlock.Inlines.Add($hyperlink)
# Update the last position
$lastPos = $match.Index + $match.Length
}
# Add any remaining text after the last hyperlink
if ($lastPos -lt $Message.Length) {
$textAfter = $Message.Substring($lastPos)
$messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($textAfter)))
}
# If no matches, add the entire message as a run
if ($regex.Matches($Message).Count -eq 0) {
$messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($Message)))
}
# Add the TextBlock to the Grid
$grid.Children.Add($messageTextBlock)
[Windows.Controls.Grid]::SetRow($messageTextBlock, 1) # Set the row to the second row (0-based index)
# Add OK button
$okButton = New-Object Windows.Controls.Button
$okButton.Content = "OK"

View File

@ -133,9 +133,17 @@ $sync.keys | ForEach-Object {
# Load computer information in the background
Invoke-WPFRunspace -ScriptBlock {
$sync.ConfigLoaded = $False
$sync.ComputerInfo = Get-ComputerInfo
$sync.ConfigLoaded = $True
try{
$oldProgressPreference = $ProgressPreference
$ProgressPreference = "SilentlyContinue"
$sync.ConfigLoaded = $False
$sync.ComputerInfo = Get-ComputerInfo
$sync.ConfigLoaded = $True
}
finally{
$ProgressPreference = "Continue"
}
} | Out-Null
#===========================================================================
@ -145,9 +153,6 @@ Invoke-WPFRunspace -ScriptBlock {
# Print the logo
Invoke-WPFFormVariables
# Install Winget if not already present
Install-WinUtilWinget
# Set the titlebar
$sync["Form"].title = $sync["Form"].title + " " + $sync.version
# Set the commands that will run when the form is closed
@ -467,14 +472,13 @@ $sync["AboutMenuItem"].Add_Click({
# Handle Export menu item click
Write-Debug "About clicked"
$sync["SettingsPopup"].IsOpen = $false
# Example usage
$authorInfo = @"
Author : @christitustech
Runspace : @DeveloperDurp
GUI : @KonTy
MicroWin : @KonTy
GitHub : https://github.com/ChrisTitusTech/winutil
Version : $($sync.version)
Author : <a href="https://github.com/ChrisTitusTech">@christitustech</a>
Runspace : <a href="https://github.com/DeveloperDurp">@DeveloperDurp</a>
GUI : <a href="https://github.com/KonTy">@KonTy</a>
MicroWin : <a href="https://github.com/KonTy">@KonTy</a>
GitHub : <a href="https://github.com/ChrisTitusTech/winutil">ChrisTitusTech/winutil</a>
Version : <a href="https://github.com/ChrisTitusTech/winutil/releases/tag/$($sync.version)">$($sync.version)</a>
"@
Show-CustomDialog -Message $authorInfo -Width 400
})

View File

@ -8,7 +8,7 @@
Author : Chris Titus @christitustech
Runspace Author: @DeveloperDurp
GitHub : https://github.com/ChrisTitusTech
Version : 24.06.18
Version : 24.06.25
#>
param (
[switch]$Debug,
@ -45,7 +45,7 @@ Add-Type -AssemblyName System.Windows.Forms
# Variable to sync between runspaces
$sync = [Hashtable]::Synchronized(@{})
$sync.PSScriptRoot = $PSScriptRoot
$sync.version = "24.06.18"
$sync.version = "24.06.25"
$sync.configs = @{}
$sync.ProcessRunning = $false
@ -2810,17 +2810,67 @@ $cttLogoPath = @"
$winutilTextBlock.Foreground = $foregroundColor
$winutilTextBlock.Margin = New-Object Windows.Thickness(10, 5, 10, 5) # Add margins around the text block
$stackPanel.Children.Add($winutilTextBlock)
# Add TextBlock for information with text wrapping and margins
$messageTextBlock = New-Object Windows.Controls.TextBlock
$messageTextBlock.Text = $Message
$messageTextBlock.TextWrapping = [Windows.TextWrapping]::Wrap # Enable text wrapping
$messageTextBlock.HorizontalAlignment = [Windows.HorizontalAlignment]::Left
$messageTextBlock.VerticalAlignment = [Windows.VerticalAlignment]::Top
$messageTextBlock.Margin = New-Object Windows.Thickness(10) # Add margins around the text block
# Define the Regex to find hyperlinks formatted as HTML <a> tags
$regex = [regex]::new('<a href="([^"]+)">([^<]+)</a>')
$lastPos = 0
# Iterate through each match and add regular text and hyperlinks
foreach ($match in $regex.Matches($Message)) {
# Add the text before the hyperlink, if any
$textBefore = $Message.Substring($lastPos, $match.Index - $lastPos)
if ($textBefore.Length -gt 0) {
$messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($textBefore)))
}
# Create and add the hyperlink
$hyperlink = New-Object Windows.Documents.Hyperlink
$hyperlink.NavigateUri = New-Object System.Uri($match.Groups[1].Value)
$hyperlink.Inlines.Add($match.Groups[2].Value)
$hyperlink.TextDecorations = [Windows.TextDecorations]::None # Remove underline
$hyperlink.Foreground = $foregroundColor
$hyperlink.Add_Click({
param($sender, $args)
Start-Process $sender.NavigateUri.AbsoluteUri
})
$hyperlink.Add_MouseEnter({
param($sender, $args)
$sender.Foreground = [Windows.Media.Brushes]::LightGray
})
$hyperlink.Add_MouseLeave({
param($sender, $args)
$sender.Foreground = $foregroundColor
})
$messageTextBlock.Inlines.Add($hyperlink)
# Update the last position
$lastPos = $match.Index + $match.Length
}
# Add any remaining text after the last hyperlink
if ($lastPos -lt $Message.Length) {
$textAfter = $Message.Substring($lastPos)
$messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($textAfter)))
}
# If no matches, add the entire message as a run
if ($regex.Matches($Message).Count -eq 0) {
$messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($Message)))
}
# Add the TextBlock to the Grid
$grid.Children.Add($messageTextBlock)
[Windows.Controls.Grid]::SetRow($messageTextBlock, 1) # Set the row to the second row (0-based index)
# Add OK button
$okButton = New-Object Windows.Controls.Button
$okButton.Content = "OK"
@ -6315,14 +6365,6 @@ $sync.configs.applications = '{
"link": "https://www.oracle.com/java/",
"winget": "EclipseAdoptium.Temurin.18.JRE"
},
"WPFInstalljava20": {
"category": "Development",
"choco": "na",
"content": "Azul Zulu JDK 20",
"description": "Azul Zulu JDK 20 is a distribution of the OpenJDK with long-term support, performance enhancements, and security updates.",
"link": "https://www.azul.com/downloads/zulu-community/",
"winget": "Azul.Zulu.20.JDK"
},
"WPFInstalljava21": {
"category": "Development",
"choco": "na",
@ -7003,6 +7045,14 @@ $sync.configs.applications = '{
"link": "https://www.plex.tv/your-media/",
"winget": "Plex.PlexMediaServer"
},
"WPFInstallplexdesktop": {
"category": "Multimedia Tools",
"choco": "plex",
"content": "Plex Desktop",
"description": "Plex Desktop for Windows is the front end for Plex Media Server.",
"link": "https://www.plex.tv",
"winget": "Plex.Plex"
},
"WPFInstallPortmaster": {
"category": "Pro Tools",
"choco": "portmaster",
@ -7171,6 +7221,14 @@ $sync.configs.applications = '{
"link": "https://www.revouninstaller.com/",
"winget": "RevoUninstaller.RevoUninstaller"
},
"WPFInstallWiseProgramUninstaller": {
"category": "Utilities",
"choco": "na",
"content": "Wise Program Uninstaller (WiseCleaner)",
"description": "Wise Program Uninstaller is the perfect solution for uninstalling Windows programs, allowing you to uninstall applications quickly and completely using its simple and user-friendly interface.",
"link": "https://www.wisecleaner.com/wise-program-uninstaller.html",
"winget": "WiseCleaner.WiseProgramUninstaller"
},
"WPFInstallrevolt": {
"category": "Communications",
"choco": "na",
@ -7843,6 +7901,14 @@ $sync.configs.applications = '{
"link": "https://toys.wisecleaner.com/",
"winget": "WiseCleaner.WiseToys"
},
"WPFInstallTeraCopy": {
"category": "Utilities",
"choco": "TeraCopy",
"content": "TeraCopy",
"description": "Copy your files faster and more securely",
"link": "https://codesector.com/teracopy",
"winget": "CodeSector.TeraCopy"
},
"WPFInstallwizfile": {
"category": "Utilities",
"choco": "na",
@ -8067,6 +8133,14 @@ $sync.configs.applications = '{
"link": "https://github.com/AutoDarkMode/Windows-Auto-Night-Mode",
"winget": "Armin2208.WindowsAutoNightMode"
},
"WPFInstallAmbieWhiteNoise": {
"category": "Utilities",
"choco": "na",
"content": "Ambie White Noise",
"description": "Ambie is the ultimate app to help you focus, study, or relax. We use white noise and nature sounds combined with an innovative focus timer to keep you concentrated on doing your best work.",
"link": "https://ambieapp.com/",
"winget": "9P07XNM5CHP0"
},
"WPFInstallmagicwormhole": {
"category": "Utilities",
"choco": "magic-wormhole",
@ -8075,6 +8149,14 @@ $sync.configs.applications = '{
"link": "https://github.com/magic-wormhole/magic-wormhole",
"winget": "magic-wormhole.magic-wormhole"
},
"WPFInstallcroc": {
"category": "Utilities",
"choco": "croc",
"content": "croc",
"description": "Easily and securely send things from one computer to another.",
"link": "https://github.com/schollz/croc",
"winget": "schollz.croc"
},
"WPFInstallqgis": {
"category": "Multimedia Tools",
"choco": "qgis",
@ -8126,11 +8208,19 @@ $sync.configs.applications = '{
"WPFInstallForceAutoHDR": {
"category": "Utilities",
"choco": "na",
"content": "GUI That Forces Auto HDR In Unsupported Games",
"content": "ForceAutoHDR",
"description": "ForceAutoHDR simplifies the process of adding games to the AutoHDR list in the Windows Registry",
"link": "https://github.com/7gxycn08/ForceAutoHDR",
"winget": "ForceAutoHDR.7gxycn08"
},
"WPFInstallJoyToKey": {
"category": "Utilities",
"choco": "joytokey",
"content": "JoyToKey",
"description": "enables PC game controllers to emulate the keyboard and mouse input",
"link": "https://joytokey.net/en/",
"winget": "JTKsoftware.JoyToKey"
},
"WPFInstallnditools": {
"category": "Multimedia Tools",
"choco": "na",
@ -9779,11 +9869,6 @@ $sync.configs.tweaks = '{
"StartupType": "Automatic",
"OriginalType": "Automatic"
},
{
"Name": "WwanSvc",
"StartupType": "Manual",
"OriginalType": "Manual"
},
{
"Name": "XblAuthManager",
"StartupType": "Manual",
@ -13515,9 +13600,6 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<CheckBox Name="WPFInstalljava19runtime" Content="Eclipse Temurin JRE 19" ToolTip="Eclipse Temurin JRE is the open source Java SE build based upon OpenJRE." Margin="0,0,2,0"/><TextBlock Name="WPFInstalljava19runtimeLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://adoptium.net/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstalljava20" Content="Azul Zulu JDK 20" ToolTip="Azul Zulu JDK 20 is a distribution of the OpenJDK with long-term support, performance enhancements, and security updates." Margin="0,0,2,0"/><TextBlock Name="WPFInstalljava20Link" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.azul.com/downloads/zulu-community/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstalljava21" Content="Azul Zulu JDK 21" ToolTip="Azul Zulu JDK 21 is a distribution of the OpenJDK with long-term support, performance enhancements, and security updates." Margin="0,0,2,0"/><TextBlock Name="WPFInstalljava21Link" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.azul.com/downloads/zulu-community/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
@ -13544,17 +13626,17 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallnvm" Content="Node Version Manager" ToolTip="Node Version Manager (NVM) for Windows allows you to easily switch between multiple Node.js versions." Margin="0,0,2,0"/><TextBlock Name="WPFInstallnvmLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://github.com/coreybutler/nvm-windows" />
</StackPanel>
</StackPanel>
</Border>
<Border Grid.Row="1" Grid.Column="1">
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallpixi" Content="Pixi" ToolTip="Pixi is a fast software package manager built on top of the existing conda ecosystem. Spins up development environments quickly on Windows, macOS and Linux. Pixi supports Python, R, C/C++, Rust, Ruby, and many other languages." Margin="0,0,2,0"/><TextBlock Name="WPFInstallpixiLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://pixi.sh" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallposh" Content="Oh My Posh (Prompt)" ToolTip="Oh My Posh is a cross-platform prompt theme engine for any shell." Margin="0,0,2,0"/><TextBlock Name="WPFInstallposhLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://ohmyposh.dev/" />
</StackPanel>
</StackPanel>
</Border>
<Border Grid.Row="1" Grid.Column="1">
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallpostman" Content="Postman" ToolTip="Postman is a collaboration platform for API development that simplifies the process of developing APIs." Margin="0,0,2,0"/><TextBlock Name="WPFInstallpostmanLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.postman.com/" />
</StackPanel>
@ -13756,11 +13838,6 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallautoruns" Content="Autoruns" ToolTip="This utility shows you what programs are configured to run during system bootup or login" Margin="0,0,2,0"/><TextBlock Name="WPFInstallautorunsLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://learn.microsoft.com/en-us/sysinternals/downloads/autoruns" />
</StackPanel>
</StackPanel>
</Border>
<Border Grid.Row="1" Grid.Column="2">
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallazuredatastudio" Content="Microsoft Azure Data Studio" ToolTip="Azure Data Studio is a data management tool that enables you to work with SQL Server, Azure SQL DB and SQL DW from Windows, macOS and Linux." Margin="0,0,2,0"/><TextBlock Name="WPFInstallazuredatastudioLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://docs.microsoft.com/sql/azure-data-studio/what-is-azure-data-studio" />
</StackPanel>
@ -13770,6 +13847,11 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstalldotnet5" Content=".NET Desktop Runtime 5" ToolTip=".NET Desktop Runtime 5 is a runtime environment required for running applications developed with .NET 5." Margin="0,0,2,0"/><TextBlock Name="WPFInstalldotnet5Link" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://dotnet.microsoft.com/download/dotnet/5.0" />
</StackPanel>
</StackPanel>
</Border>
<Border Grid.Row="1" Grid.Column="2">
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstalldotnet6" Content=".NET Desktop Runtime 6" ToolTip=".NET Desktop Runtime 6 is a runtime environment required for running applications developed with .NET 6." Margin="0,0,2,0"/><TextBlock Name="WPFInstalldotnet6Link" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://dotnet.microsoft.com/download/dotnet/6.0" />
</StackPanel>
@ -13943,6 +14025,9 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<CheckBox Name="WPFInstallplex" Content="Plex Media Server" ToolTip="Plex Media Server is a media server software that allows you to organize and stream your media library. It supports various media formats and offers a wide range of features." Margin="0,0,2,0"/><TextBlock Name="WPFInstallplexLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.plex.tv/your-media/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallplexdesktop" Content="Plex Desktop" ToolTip="Plex Desktop for Windows is the front end for Plex Media Server." Margin="0,0,2,0"/><TextBlock Name="WPFInstallplexdesktopLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.plex.tv" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallqgis" Content="QGIS" ToolTip="QGIS (Quantum GIS) is an open-source Geographic Information System (GIS) software that enables users to create, edit, visualize, analyze, and publish geospatial information on Windows, Mac, and Linux platforms." Margin="0,0,2,0"/><TextBlock Name="WPFInstallqgisLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://qgis.org/en/site/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
@ -13978,11 +14063,6 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallytdlp" Content="Yt-dlp" ToolTip="Command-line tool that allows you to download videos from YouTube and other supported sites. It is an improved version of the popular youtube-dl." Margin="0,0,2,0"/><TextBlock Name="WPFInstallytdlpLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://github.com/yt-dlp/yt-dlp" />
</StackPanel>
</StackPanel>
</Border>
<Border Grid.Row="1" Grid.Column="3">
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
<Label Name="WPFLabelProTools" Content="Pro Tools" FontSize="16"/>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstalladvancedip" Content="Advanced IP Scanner" ToolTip="Advanced IP Scanner is a fast and easy-to-use network scanner. It is designed to analyze LAN networks and provides information about connected devices." Margin="0,0,2,0"/><TextBlock Name="WPFInstalladvancedipLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.advanced-ip-scanner.com/" />
@ -13990,6 +14070,11 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallangryipscanner" Content="Angry IP Scanner" ToolTip="Angry IP Scanner is an open-source and cross-platform network scanner. It is used to scan IP addresses and ports, providing information about network connectivity." Margin="0,0,2,0"/><TextBlock Name="WPFInstallangryipscannerLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://angryip.org/" />
</StackPanel>
</StackPanel>
</Border>
<Border Grid.Row="1" Grid.Column="3">
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallefibooteditor" Content="EFI Boot Editor" ToolTip="EFI Boot Editor is a tool for managing the EFI/UEFI boot entries on your system. It allows you to customize the boot configuration of your computer." Margin="0,0,2,0"/><TextBlock Name="WPFInstallefibooteditorLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.easyuefi.com/" />
</StackPanel>
@ -14046,6 +14131,9 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<CheckBox Name="WPFInstallalacritty" Content="Alacritty Terminal" ToolTip="Alacritty is a fast, cross-platform, and GPU-accelerated terminal emulator. It is designed for performance and aims to be the fastest terminal emulator available." Margin="0,0,2,0"/><TextBlock Name="WPFInstallalacrittyLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://alacritty.org/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallAmbieWhiteNoise" Content="Ambie White Noise" ToolTip="Ambie is the ultimate app to help you focus, study, or relax. We use white noise and nature sounds combined with an innovative focus timer to keep you concentrated on doing your best work." Margin="0,0,2,0"/><TextBlock Name="WPFInstallAmbieWhiteNoiseLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://ambieapp.com/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallanydesk" Content="AnyDesk" ToolTip="AnyDesk is a remote desktop software that enables users to access and control computers remotely. It is known for its fast connection and low latency." Margin="0,0,2,0"/><TextBlock Name="WPFInstallanydeskLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://anydesk.com/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
@ -14094,6 +14182,9 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<CheckBox Name="WPFInstallcpuz" Content="CPU-Z" ToolTip="CPU-Z is a system monitoring and diagnostic tool for Windows. It provides detailed information about the computer&#39;s hardware components, including the CPU, memory, and motherboard." Margin="0,0,2,0"/><TextBlock Name="WPFInstallcpuzLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.cpuid.com/softwares/cpu-z.html" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallcroc" Content="croc" ToolTip="Easily and securely send things from one computer to another." Margin="0,0,2,0"/><TextBlock Name="WPFInstallcrocLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://github.com/schollz/croc" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallcrystaldiskinfo" Content="Crystal Disk Info" ToolTip="Crystal Disk Info is a disk health monitoring tool that provides information about the status and performance of hard drives. It helps users anticipate potential issues and monitor drive health." Margin="0,0,2,0"/><TextBlock Name="WPFInstallcrystaldiskinfoLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://crystalmark.info/en/software/crystaldiskinfo/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
@ -14148,7 +14239,7 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<CheckBox Name="WPFInstallflux" Content="F.lux" ToolTip="f.lux adjusts the color temperature of your screen to reduce eye strain during nighttime use." Margin="0,0,2,0"/><TextBlock Name="WPFInstallfluxLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://justgetflux.com/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallForceAutoHDR" Content="GUI That Forces Auto HDR In Unsupported Games" ToolTip="ForceAutoHDR simplifies the process of adding games to the AutoHDR list in the Windows Registry" Margin="0,0,2,0"/><TextBlock Name="WPFInstallForceAutoHDRLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://github.com/7gxycn08/ForceAutoHDR" />
<CheckBox Name="WPFInstallForceAutoHDR" Content="ForceAutoHDR" ToolTip="ForceAutoHDR simplifies the process of adding games to the AutoHDR list in the Windows Registry" Margin="0,0,2,0"/><TextBlock Name="WPFInstallForceAutoHDRLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://github.com/7gxycn08/ForceAutoHDR" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallFreeFileSync" Content="FreeFileSync" ToolTip="Synchronize Files and Folders" Margin="0,0,2,0"/><TextBlock Name="WPFInstallFreeFileSyncLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://freefilesync.org" />
@ -14184,6 +14275,9 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<CheckBox Name="WPFInstalljdownloader" Content="JDownloader" ToolTip="JDownloader is a feature-rich download manager with support for various file hosting services." Margin="0,0,2,0"/><TextBlock Name="WPFInstalljdownloaderLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="http://jdownloader.org/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallJoyToKey" Content="JoyToKey" ToolTip="enables PC game controllers to emulate the keyboard and mouse input" Margin="0,0,2,0"/><TextBlock Name="WPFInstallJoyToKeyLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://joytokey.net/en/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstalljpegview" Content="JPEG View" ToolTip="JPEGView is a lean, fast and highly configurable viewer/editor for JPEG, BMP, PNG, WEBP, TGA, GIF, JXL, HEIC, HEIF, AVIF and TIFF images with a minimal GUI" Margin="0,0,2,0"/><TextBlock Name="WPFInstalljpegviewLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://github.com/sylikc/jpegview" />
</StackPanel>
<StackPanel Orientation="Horizontal">
@ -14192,15 +14286,15 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallkeepass" Content="KeePassXC" ToolTip="KeePassXC is a cross-platform, open-source password manager with strong encryption features." Margin="0,0,2,0"/><TextBlock Name="WPFInstallkeepassLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://keepassxc.org/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstalllinkshellextension" Content="Link Shell extension" ToolTip="Link Shell Extension (LSE) provides for the creation of Hardlinks, Junctions, Volume Mountpoints, Symbolic Links, a folder cloning process that utilises Hardlinks or Symbolic Links and a copy process taking care of Junctions, Symbolic Links, and Hardlinks. LSE, as its name implies is implemented as a Shell extension and is accessed from Windows Explorer, or similar file/folder managers." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllinkshellextensionLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html" />
</StackPanel>
</StackPanel>
</Border>
<Border Grid.Row="1" Grid.Column="4">
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstalllinkshellextension" Content="Link Shell extension" ToolTip="Link Shell Extension (LSE) provides for the creation of Hardlinks, Junctions, Volume Mountpoints, Symbolic Links, a folder cloning process that utilises Hardlinks or Symbolic Links and a copy process taking care of Junctions, Symbolic Links, and Hardlinks. LSE, as its name implies is implemented as a Shell extension and is accessed from Windows Explorer, or similar file/folder managers." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllinkshellextensionLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstalllivelywallpaper" Content="Lively Wallpaper" ToolTip="Free and open-source software that allows users to set animated desktop wallpapers and screensavers." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllivelywallpaperLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.rocksdanister.com/lively/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
@ -14339,6 +14433,9 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<CheckBox Name="WPFInstallteamviewer" Content="TeamViewer" ToolTip="TeamViewer is a popular remote access and support software that allows you to connect to and control remote devices." Margin="0,0,2,0"/><TextBlock Name="WPFInstallteamviewerLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.teamviewer.com/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallTeraCopy" Content="TeraCopy" ToolTip="Copy your files faster and more securely" Margin="0,0,2,0"/><TextBlock Name="WPFInstallTeraCopyLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://codesector.com/teracopy" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstalltightvnc" Content="TightVNC" ToolTip="TightVNC is a free and Open Source remote desktop software that lets you access and control a computer over the network. With its intuitive interface, you can interact with the remote screen as if you were sitting in front of it. You can open files, launch applications, and perform other actions on the remote desktop almost as if you were physically there" Margin="0,0,2,0"/><TextBlock Name="WPFInstalltightvncLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.tightvnc.com/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
@ -14387,6 +14484,9 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<CheckBox Name="WPFInstallwinrar" Content="WinRAR" ToolTip="WinRAR is a powerful archive manager that allows you to create, manage, and extract compressed files." Margin="0,0,2,0"/><TextBlock Name="WPFInstallwinrarLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.win-rar.com/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallWiseProgramUninstaller" Content="Wise Program Uninstaller (WiseCleaner)" ToolTip="Wise Program Uninstaller is the perfect solution for uninstalling Windows programs, allowing you to uninstall applications quickly and completely using its simple and user-friendly interface." Margin="0,0,2,0"/><TextBlock Name="WPFInstallWiseProgramUninstallerLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.wisecleaner.com/wise-program-uninstaller.html" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox Name="WPFInstallwisetoys" Content="WiseToys" ToolTip="WiseToys is a set of utilities and tools designed to enhance and optimize your Windows experience." Margin="0,0,2,0"/><TextBlock Name="WPFInstallwisetoysLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://toys.wisecleaner.com/" />
</StackPanel>
<StackPanel Orientation="Horizontal">
@ -14957,9 +15057,17 @@ $sync.keys | ForEach-Object {
# Load computer information in the background
Invoke-WPFRunspace -ScriptBlock {
$sync.ConfigLoaded = $False
$sync.ComputerInfo = Get-ComputerInfo
$sync.ConfigLoaded = $True
try{
$oldProgressPreference = $ProgressPreference
$ProgressPreference = "SilentlyContinue"
$sync.ConfigLoaded = $False
$sync.ComputerInfo = Get-ComputerInfo
$sync.ConfigLoaded = $True
}
finally{
$ProgressPreference = "Continue"
}
} | Out-Null
#===========================================================================
@ -14969,9 +15077,6 @@ Invoke-WPFRunspace -ScriptBlock {
# Print the logo
Invoke-WPFFormVariables
# Install Winget if not already present
Install-WinUtilWinget
# Set the titlebar
$sync["Form"].title = $sync["Form"].title + " " + $sync.version
# Set the commands that will run when the form is closed
@ -15291,14 +15396,13 @@ $sync["AboutMenuItem"].Add_Click({
# Handle Export menu item click
Write-Debug "About clicked"
$sync["SettingsPopup"].IsOpen = $false
# Example usage
$authorInfo = @"
Author : @christitustech
Runspace : @DeveloperDurp
GUI : @KonTy
MicroWin : @KonTy
GitHub : https://github.com/ChrisTitusTech/winutil
Version : $($sync.version)
Author : <a href="https://github.com/ChrisTitusTech">@christitustech</a>
Runspace : <a href="https://github.com/DeveloperDurp">@DeveloperDurp</a>
GUI : <a href="https://github.com/KonTy">@KonTy</a>
MicroWin : <a href="https://github.com/KonTy">@KonTy</a>
GitHub : <a href="https://github.com/ChrisTitusTech/winutil">ChrisTitusTech/winutil</a>
Version : <a href="https://github.com/ChrisTitusTech/winutil/releases/tag/$($sync.version)">$($sync.version)</a>
"@
Show-CustomDialog -Message $authorInfo -Width 400
})