Skip to content

Commit d3d89d4

Browse files
committed
feat: enhance UI and add new apps to debloat script
1 parent db4be94 commit d3d89d4

File tree

1 file changed

+249
-69
lines changed

1 file changed

+249
-69
lines changed

tweaks/debloat-windows/apply.ps1

Lines changed: 249 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,15 @@ $appDefinitions = @(
2727
@{ Package = "Microsoft.BingTranslator"; FriendlyName = "Bing Translator" },
2828
@{ Package = "Microsoft.BingTravel"; FriendlyName = "Bing Travel" },
2929
@{ Package = "Microsoft.BingWeather"; FriendlyName = "Bing Weather" },
30+
@{ Package = "Microsoft.Windows.DevHome"; FriendlyName = "Dev Home" },
3031
@{ Package = "Microsoft.Copilot"; FriendlyName = "Microsoft Copilot" },
3132
@{ Package = "Microsoft.Getstarted"; FriendlyName = "Get Started (Tips)" },
3233
@{ Package = "Microsoft.Messaging"; FriendlyName = "Microsoft Messaging" },
3334
@{ Package = "Microsoft.Microsoft3DViewer"; FriendlyName = "3D Viewer" },
3435
@{ Package = "Microsoft.MicrosoftJournal"; FriendlyName = "Microsoft Journal" },
3536
@{ Package = "Microsoft.MicrosoftOfficeHub"; FriendlyName = "Office Hub" },
3637
@{ Package = "Microsoft.MicrosoftPowerBIForWindows"; FriendlyName = "Power BI" },
38+
@{ Package = "Microsoft.PowerAutomateDesktop"; FriendlyName = "Power Automate" },
3739
@{ Package = "Microsoft.MicrosoftSolitaireCollection"; FriendlyName = "Solitaire Collection" },
3840
@{ Package = "Microsoft.MicrosoftStickyNotes"; FriendlyName = "Sticky Notes" },
3941
@{ Package = "Microsoft.MixedReality.Portal"; FriendlyName = "Mixed Reality Portal" },
@@ -116,31 +118,95 @@ function Show-ScriptSelectionDialog {
116118
[xml]$xaml = @"
117119
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
118120
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
119-
Title="(Sparkle) Debloat Script v$version"
120-
Height="220" Width="550"
121+
Title="Sparkle Debloat v$version"
122+
Height="300" Width="650"
121123
WindowStartupLocation="CenterScreen"
122124
Topmost="True"
123-
ResizeMode="NoResize">
124-
<Grid Margin="15">
125+
ResizeMode="NoResize"
126+
Background="#f0f0f0">
127+
<Window.Resources>
128+
<Style TargetType="RadioButton">
129+
<Setter Property="Foreground" Value="#1e293b"/>
130+
<Setter Property="FontSize" Value="13"/>
131+
<Setter Property="Padding" Value="8,6"/>
132+
<Setter Property="Cursor" Value="Hand"/>
133+
<Style.Triggers>
134+
<Trigger Property="IsMouseOver" Value="True">
135+
<Setter Property="Foreground" Value="#3b82f6"/>
136+
</Trigger>
137+
</Style.Triggers>
138+
</Style>
139+
<Style TargetType="Button">
140+
<Setter Property="Background" Value="#f1f5f9"/>
141+
<Setter Property="Foreground" Value="#1e293b"/>
142+
<Setter Property="BorderBrush" Value="#d5dae2"/>
143+
<Setter Property="BorderThickness" Value="1"/>
144+
<Setter Property="Padding" Value="18,8"/>
145+
<Setter Property="FontSize" Value="13"/>
146+
<Setter Property="Cursor" Value="Hand"/>
147+
<Setter Property="Template">
148+
<Setter.Value>
149+
<ControlTemplate TargetType="Button">
150+
<Border Background="{TemplateBinding Background}"
151+
BorderBrush="{TemplateBinding BorderBrush}"
152+
BorderThickness="{TemplateBinding BorderThickness}"
153+
CornerRadius="6"
154+
Padding="{TemplateBinding Padding}">
155+
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
156+
</Border>
157+
<ControlTemplate.Triggers>
158+
<Trigger Property="IsMouseOver" Value="True">
159+
<Setter Property="Background" Value="#3b82f6"/>
160+
<Setter Property="Foreground" Value="#ffffff"/>
161+
</Trigger>
162+
<Trigger Property="IsPressed" Value="True">
163+
<Setter Property="Background" Value="#2563eb"/>
164+
<Setter Property="Foreground" Value="#ffffff"/>
165+
</Trigger>
166+
</ControlTemplate.Triggers>
167+
</ControlTemplate>
168+
</Setter.Value>
169+
</Setter>
170+
</Style>
171+
</Window.Resources>
172+
173+
<Grid Margin="24">
125174
<Grid.RowDefinitions>
126175
<RowDefinition Height="Auto"/>
127176
<RowDefinition Height="*"/>
128177
<RowDefinition Height="Auto"/>
129178
</Grid.RowDefinitions>
130179
131-
<TextBlock Grid.Row="0" Text="Choose your debloat approach:"
132-
FontSize="14" FontWeight="Bold" Margin="0,0,0,15"/>
180+
<TextBlock Grid.Row="0"
181+
Text="Choose your debloat approach:"
182+
FontSize="16"
183+
FontWeight="SemiBold"
184+
Foreground="#1e293b"
185+
Margin="0,0,0,20"/>
133186
134-
<StackPanel Grid.Row="1" Margin="10,0,0,0">
135-
<RadioButton x:Name="RadioSparkle" Content="Sparkle Debloat Script (You can choose which apps to keep) (Recommended)"
136-
Margin="0,0,0,10" IsChecked="True" FontSize="12"/>
137-
<RadioButton x:Name="RadioRaphire" Content="Raphire's Win11Debloat Script (Comprehensive, read docs for details)"
138-
FontSize="12"/>
139-
</StackPanel>
187+
<Border Grid.Row="1"
188+
Background="#ffffff"
189+
BorderBrush="#d5dae2"
190+
BorderThickness="1"
191+
CornerRadius="8"
192+
Padding="20"
193+
Margin="0,0,0,20">
194+
<StackPanel>
195+
<RadioButton x:Name="RadioSparkle"
196+
Content="Sparkle Debloat (Choose which apps to keep) - Recommended"
197+
Margin="0,0,0,16"
198+
IsChecked="True"/>
199+
<RadioButton x:Name="RadioRaphire"
200+
Content="Raphire's Win11Debloat (Comprehensive - read docs for details)"/>
201+
</StackPanel>
202+
</Border>
140203
141-
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,15,0,0">
142-
<Button x:Name="BtnOK" Content="OK" Width="80" Height="28" Margin="0,0,10,0" IsDefault="True"/>
143-
<Button x:Name="BtnCancel" Content="Cancel" Width="80" Height="28" IsCancel="True"/>
204+
<StackPanel Grid.Row="2"
205+
Orientation="Horizontal"
206+
HorizontalAlignment="Right"
207+
Margin="0,20,0,0">
208+
<Button x:Name="BtnOK" Content="Continue" Width="100" Margin="0,0,12,0" IsDefault="True"/>
209+
<Button x:Name="BtnCancel" Content="Cancel" Width="100" IsCancel="True"/>
144210
</StackPanel>
145211
</Grid>
146212
</Window>
@@ -192,46 +258,122 @@ function Show-AppSelectionDialog {
192258
[xml]$xaml = @"
193259
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
194260
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
195-
Title="(Sparkle) Select Apps to Keep v$version"
196-
Height="650" Width="550"
261+
Title="Sparkle Debloat v$version"
262+
Height="750" Width="650"
197263
WindowStartupLocation="CenterScreen"
198-
ResizeMode="NoResize">
199-
<Grid Margin="15">
200-
<Grid.RowDefinitions>
201-
<RowDefinition Height="Auto"/> <!-- Title -->
202-
<RowDefinition Height="Auto"/> <!-- Warning -->
203-
<RowDefinition Height="*"/> <!-- List -->
204-
<RowDefinition Height="Auto"/> <!-- Select/Deselect -->
205-
<RowDefinition Height="Auto"/> <!-- OK/Cancel -->
206-
</Grid.RowDefinitions>
264+
ResizeMode="NoResize"
265+
Background="#f0f0f0">
266+
<Window.Resources>
267+
<Style TargetType="CheckBox">
268+
<Setter Property="Foreground" Value="#334155"/>
269+
<Setter Property="FontSize" Value="13"/>
270+
<Setter Property="Padding" Value="8,5"/>
271+
<Setter Property="Cursor" Value="Hand"/>
272+
<Style.Triggers>
273+
<Trigger Property="IsMouseOver" Value="True">
274+
<Setter Property="Foreground" Value="#1e293b"/>
275+
</Trigger>
276+
</Style.Triggers>
277+
</Style>
278+
<Style TargetType="Button">
279+
<Setter Property="Background" Value="#f1f5f9"/>
280+
<Setter Property="Foreground" Value="#1e293b"/>
281+
<Setter Property="BorderBrush" Value="#d5dae2"/>
282+
<Setter Property="BorderThickness" Value="1"/>
283+
<Setter Property="Padding" Value="16,8"/>
284+
<Setter Property="FontSize" Value="13"/>
285+
<Setter Property="Cursor" Value="Hand"/>
286+
<Setter Property="Template">
287+
<Setter.Value>
288+
<ControlTemplate TargetType="Button">
289+
<Border Background="{TemplateBinding Background}"
290+
BorderBrush="{TemplateBinding BorderBrush}"
291+
BorderThickness="{TemplateBinding BorderThickness}"
292+
CornerRadius="6"
293+
Padding="{TemplateBinding Padding}">
294+
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
295+
</Border>
296+
<ControlTemplate.Triggers>
297+
<Trigger Property="IsMouseOver" Value="True">
298+
<Setter Property="Background" Value="#3b82f6"/>
299+
<Setter Property="Foreground" Value="#ffffff"/>
300+
</Trigger>
301+
<Trigger Property="IsPressed" Value="True">
302+
<Setter Property="Background" Value="#2563eb"/>
303+
<Setter Property="Foreground" Value="#ffffff"/>
304+
</Trigger>
305+
</ControlTemplate.Triggers>
306+
</ControlTemplate>
307+
</Setter.Value>
308+
</Setter>
309+
</Style>
310+
<Style x:Key="SecondaryButton" TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
311+
<Setter Property="Background" Value="#ffffff"/>
312+
</Style>
313+
</Window.Resources>
207314
208-
<TextBlock Grid.Row="0" Text="Select the apps you want to KEEP (uncheck to remove):"
209-
FontSize="14" FontWeight="Bold" Margin="0,0,0,10" TextWrapping="Wrap"/>
210-
<TextBlock Grid.Row="1" Text="Ensure you have a restore point before proceeding."
211-
FontSize="12" Margin="0,0,0,10"/>
315+
<Grid Margin="24">
316+
<Grid.RowDefinitions>
317+
<RowDefinition Height="Auto"/>
318+
<RowDefinition Height="Auto"/>
319+
<RowDefinition Height="*"/>
320+
<RowDefinition Height="Auto"/>
321+
<RowDefinition Height="Auto"/>
322+
</Grid.RowDefinitions>
323+
324+
<TextBlock Grid.Row="0"
325+
Text="Select apps to keep"
326+
FontSize="18"
327+
FontWeight="SemiBold"
328+
Foreground="#1e293b"
329+
Margin="0,0,0,6"/>
330+
331+
<TextBlock Grid.Row="1"
332+
Text="Uncheck apps you want to remove. Ensure you have a restore point before proceeding."
333+
FontSize="13"
334+
Foreground="#64748b"
335+
TextWrapping="Wrap"
336+
Margin="0,0,0,12"/>
212337
213-
<Border Grid.Row="2" BorderBrush="#CCCCCC" BorderThickness="1" Margin="0,0,0,10">
214-
<ScrollViewer VerticalScrollBarVisibility="Auto" >
215-
<ItemsControl x:Name="AppsList" Margin="5">
216-
<ItemsControl.ItemTemplate>
217-
<DataTemplate>
218-
<CheckBox Content="{Binding Name}" IsChecked="{Binding IsChecked}"
219-
Margin="5,3" FontSize="11"/>
220-
</DataTemplate>
221-
</ItemsControl.ItemTemplate>
222-
</ItemsControl>
223-
</ScrollViewer>
224-
</Border>
225-
226-
<StackPanel Grid.Row="3" Orientation="Horizontal" Margin="0,0,0,10">
227-
<Button x:Name="BtnSelectAll" Content="Select All" Width="100" Height="28" Margin="0,0,10,0"/>
228-
<Button x:Name="BtnDeselectAll" Content="Deselect All" Width="100" Height="28"/>
229-
</StackPanel>
230-
231-
<StackPanel Grid.Row="4" Orientation="Horizontal" HorizontalAlignment="Right">
232-
<Button x:Name="BtnOK" Content="OK" Width="80" Height="28" Margin="0,0,10,0" IsDefault="True"/>
233-
<Button x:Name="BtnCancel" Content="Cancel" Width="80" Height="28" IsCancel="True"/>
234-
</StackPanel>
338+
<Border Grid.Row="2"
339+
Background="#ffffff"
340+
BorderBrush="#d5dae2"
341+
BorderThickness="1"
342+
CornerRadius="8"
343+
Margin="0,0,0,12">
344+
<ScrollViewer VerticalScrollBarVisibility="Auto">
345+
<ItemsControl x:Name="AppsList" Margin="12">
346+
<ItemsControl.ItemTemplate>
347+
<DataTemplate>
348+
<CheckBox Content="{Binding Name}"
349+
IsChecked="{Binding IsChecked}"
350+
Margin="4,3"/>
351+
</DataTemplate>
352+
</ItemsControl.ItemTemplate>
353+
</ItemsControl>
354+
</ScrollViewer>
355+
</Border>
356+
357+
<StackPanel Grid.Row="3"
358+
Orientation="Horizontal"
359+
Margin="0,0,0,12">
360+
<Button x:Name="BtnSelectAll"
361+
Content="Select All"
362+
Width="110"
363+
Margin="0,0,12,0"
364+
Style="{StaticResource SecondaryButton}"/>
365+
<Button x:Name="BtnDeselectAll"
366+
Content="Deselect All"
367+
Width="110"
368+
Style="{StaticResource SecondaryButton}"/>
369+
</StackPanel>
370+
371+
<StackPanel Grid.Row="4"
372+
Orientation="Horizontal"
373+
HorizontalAlignment="Right">
374+
<Button x:Name="BtnOK" Content="Start Debloat" Width="120" Margin="0,0,12,0" IsDefault="True"/>
375+
<Button x:Name="BtnCancel" Content="Cancel" Width="100" IsCancel="True"/>
376+
</StackPanel>
235377
</Grid>
236378
</Window>
237379
"@
@@ -393,35 +535,73 @@ try {
393535
Write-Host "Debloat Script From https://getsparkle.net" -ForegroundColor Cyan
394536

395537
if (-not (Get-Process -Name "Sparkle" -ErrorAction SilentlyContinue)) {
396-
Add-Type -AssemblyName PresentationFramework
397-
398538
[xml]$xaml = @"
399539
<Window
400540
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
401541
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
402-
Title="Sparkle - Debloat Complete"
403-
Height="150"
404-
Width="400"
405-
WindowStartupLocation="CenterScreen">
406-
<Grid>
542+
Title="Sparkle Debloat"
543+
Height="200"
544+
Width="480"
545+
WindowStartupLocation="CenterScreen"
546+
Background="#f0f0f0"
547+
ResizeMode="NoResize">
548+
<Window.Resources>
549+
<Style TargetType="Button">
550+
<Setter Property="Background" Value="#3b82f6"/>
551+
<Setter Property="Foreground" Value="#ffffff"/>
552+
<Setter Property="BorderThickness" Value="0"/>
553+
<Setter Property="Padding" Value="24,10"/>
554+
<Setter Property="FontSize" Value="14"/>
555+
<Setter Property="Cursor" Value="Hand"/>
556+
<Setter Property="Template">
557+
<Setter.Value>
558+
<ControlTemplate TargetType="Button">
559+
<Border Background="{TemplateBinding Background}"
560+
BorderThickness="{TemplateBinding BorderThickness}"
561+
CornerRadius="6"
562+
Padding="{TemplateBinding Padding}">
563+
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
564+
</Border>
565+
<ControlTemplate.Triggers>
566+
<Trigger Property="IsMouseOver" Value="True">
567+
<Setter Property="Background" Value="#60a5fa"/>
568+
</Trigger>
569+
<Trigger Property="IsPressed" Value="True">
570+
<Setter Property="Background" Value="#2563eb"/>
571+
</Trigger>
572+
</ControlTemplate.Triggers>
573+
</ControlTemplate>
574+
</Setter.Value>
575+
</Setter>
576+
</Style>
577+
</Window.Resources>
578+
579+
<Grid Margin="30">
407580
<Grid.RowDefinitions>
408581
<RowDefinition Height="*"/>
409582
<RowDefinition Height="Auto"/>
410583
</Grid.RowDefinitions>
411584
412-
<TextBlock Grid.Row="0"
413-
Text="Debloat completed successfully!"
414-
FontSize="16"
415-
TextWrapping="Wrap"
416-
HorizontalAlignment="Center"
417-
VerticalAlignment="Center"
418-
TextAlignment="Center"/>
585+
<StackPanel Grid.Row="0" VerticalAlignment="Center">
586+
<TextBlock Text="Debloat Complete"
587+
FontSize="20"
588+
FontWeight="SemiBold"
589+
Foreground="#2dac7d"
590+
HorizontalAlignment="Center"
591+
Margin="0,0,0,10"/>
592+
<TextBlock Text="Your system has been successfully optimized."
593+
FontSize="14"
594+
Foreground="#64748b"
595+
HorizontalAlignment="Center"
596+
TextAlignment="Center"
597+
TextWrapping="Wrap"
598+
Margin="0,0,0,5"/>
599+
</StackPanel>
419600
420601
<Button Grid.Row="1"
421602
x:Name="BtnOK"
422-
Content="OK"
423-
Width="80"
424-
Margin="15"
603+
Content="Done"
604+
Width="100"
425605
HorizontalAlignment="Center"/>
426606
</Grid>
427607
</Window>

0 commit comments

Comments
 (0)