浏览代码

Major update to v14.1

deadmoon 2 年之前
父节点
当前提交
f38f4ed922
共有 61 个文件被更改,包括 419 次插入672 次删除
  1. 8 0
      CHANGELOG.md
  2. 1 1
      Optimizer/Controls/ColorPicker.cs
  3. 1 1
      Optimizer/Controls/MoonTabs.cs
  4. 1 1
      Optimizer/Controls/MoonToggle.cs
  5. 0 10
      Optimizer/Enums.cs
  6. 1 1
      Optimizer/Forms/AboutForm.Designer.cs
  7. 1 21
      Optimizer/Forms/AboutForm.cs
  8. 103 168
      Optimizer/Forms/MainForm.Designer.cs
  9. 53 73
      Optimizer/Forms/MainForm.cs
  10. 1 1
      Optimizer/Forms/MainForm.resx
  11. 2 2
      Optimizer/Forms/SplashForm.Designer.cs
  12. 1 27
      Optimizer/Forms/SplashForm.cs
  13. 31 0
      Optimizer/Optimize.cs
  14. 3 18
      Optimizer/Optimizer.csproj
  15. 102 96
      Optimizer/Options.cs
  16. 10 6
      Optimizer/Program.cs
  17. 6 106
      Optimizer/Properties/Resources.Designer.cs
  18. 6 36
      Optimizer/Properties/Resources.resx
  19. 二进制
      Optimizer/Resources/Assets/banner.png
  20. 二进制
      Optimizer/Resources/Assets/bannerAmber.png
  21. 二进制
      Optimizer/Resources/Assets/bannerAmethyst.png
  22. 二进制
      Optimizer/Resources/Assets/bannerAzurite.png
  23. 二进制
      Optimizer/Resources/Assets/bannerJade.png
  24. 二进制
      Optimizer/Resources/Assets/bannerRuby.png
  25. 二进制
      Optimizer/Resources/Assets/bannerSilver.png
  26. 二进制
      Optimizer/Resources/Assets/logo.png
  27. 二进制
      Optimizer/Resources/Assets/logoAmber.png
  28. 二进制
      Optimizer/Resources/Assets/logoAmethyst.png
  29. 二进制
      Optimizer/Resources/Assets/logoAzurite.png
  30. 二进制
      Optimizer/Resources/Assets/logoJade.png
  31. 二进制
      Optimizer/Resources/Assets/logoRuby.png
  32. 二进制
      Optimizer/Resources/Assets/logoSilver.png
  33. 3 1
      Optimizer/Resources/i18n/AR.json
  34. 3 1
      Optimizer/Resources/i18n/CN.json
  35. 3 1
      Optimizer/Resources/i18n/CZ.json
  36. 3 1
      Optimizer/Resources/i18n/DE.json
  37. 3 1
      Optimizer/Resources/i18n/EL.json
  38. 4 2
      Optimizer/Resources/i18n/EN.json
  39. 3 1
      Optimizer/Resources/i18n/ES.json
  40. 3 1
      Optimizer/Resources/i18n/FR.json
  41. 3 1
      Optimizer/Resources/i18n/HU.json
  42. 3 1
      Optimizer/Resources/i18n/IT.json
  43. 3 1
      Optimizer/Resources/i18n/KO.json
  44. 3 1
      Optimizer/Resources/i18n/KU.json
  45. 3 1
      Optimizer/Resources/i18n/NL.json
  46. 3 1
      Optimizer/Resources/i18n/PL.json
  47. 3 1
      Optimizer/Resources/i18n/PT.json
  48. 3 1
      Optimizer/Resources/i18n/RO.json
  49. 3 1
      Optimizer/Resources/i18n/RU.json
  50. 3 1
      Optimizer/Resources/i18n/TR.json
  51. 3 1
      Optimizer/Resources/i18n/TW.json
  52. 1 0
      Optimizer/SilentConfig.cs
  53. 16 0
      Optimizer/SilentOps.cs
  54. 2 2
      Optimizer/Utilities.cs
  55. 0 76
      Optimizer/app.manifest
  56. 5 4
      README.md
  57. 1 0
      confs/win10.conf
  58. 2 1
      confs/win11.conf
  59. 1 0
      confs/win7.conf
  60. 1 0
      confs/win8.conf
  61. 1 1
      version.txt

+ 8 - 0
CHANGELOG.md

@@ -1,3 +1,11 @@
+## [14.1] - 2022-10-18
+- New: Theme engine supporting whole color spectrum (thanks to  cat - https://github.com/vadiscode)
+- New: Disable NVIDIA Telemetry in Universal
+- New: Start Optimizer with Windows in Options (works with proper permissions)
+- Hotfix: App crashes when no internet connection available
+- Hotfix: Translation issues
+- Improved: Enhance Privacy and Superfetch options
+
 ## [14.0] - 2022-09-24
 - New: Fully translated into Dutch (thanks to svanlaere - https://github.com/svanlaere)
 - Hotfix: Snap Assist not working

+ 1 - 1
Optimizer/Controls/ColorPicker.cs

@@ -5,7 +5,7 @@ using System.Drawing.Drawing2D;
 using System.Drawing;
 using System.Windows.Forms;
 
-namespace Optimizer
+namespace Optimizer.Controls
 {
     [DefaultProperty("Color")]
     [DefaultEvent("ColorChanged")]

+ 1 - 1
Optimizer/Controls/MoonTabs.cs

@@ -194,7 +194,7 @@ namespace Optimizer
             using (SolidBrush brushAlternative = new SolidBrush(Options.ForegroundColor))
             using (SolidBrush brushActiveIndicator = new SolidBrush(ControlPaint.Light(Options.ForegroundColor)))
             using (SolidBrush brushInActiveIndicator = new SolidBrush(Options.ForegroundColor))
-            using (brushActiveText = new SolidBrush(Color.White))
+            using (brushActiveText = new SolidBrush(Options.TextColor))
             using (SolidBrush brushInActiveText = new SolidBrush(Color.White))
             using (SolidBrush brushDrag = new SolidBrush(ControlPaint.Dark(Options.ForegroundColor)))
             {

+ 1 - 1
Optimizer/Controls/MoonToggle.cs

@@ -61,7 +61,7 @@ namespace Optimizer
                     pevent.Graphics.FillPath(new SolidBrush(Options.ForegroundColor), GetFigurePath());
                 else pevent.Graphics.DrawPath(new Pen(Options.ForegroundColor, 2), GetFigurePath());
                 //Draw the toggle
-                pevent.Graphics.FillEllipse(new SolidBrush(Color.White),
+                pevent.Graphics.FillEllipse(new SolidBrush(Options.TextColor),
                   new Rectangle(this.Width - this.Height + 1, 2, toggleSize, toggleSize));
             }
             else //OFF

+ 0 - 10
Optimizer/Enums.cs

@@ -55,16 +55,6 @@
         Bottom
     }
 
-    public enum Theme
-    {
-        Amethyst,
-        Azurite,
-        Amber,
-        Ruby,
-        Jade,
-        Silver
-    }
-
     internal enum RecycleFlag : int
     {
         SHERB_NOCONFIRMATION = 0x00000001,

+ 1 - 1
Optimizer/Forms/AboutForm.Designer.cs

@@ -39,7 +39,7 @@
             // 
             // pictureBox1
             // 
-            this.pictureBox1.Image = global::Optimizer.Properties.Resources.logoAmethyst;
+            this.pictureBox1.Image = global::Optimizer.Properties.Resources.logo;
             this.pictureBox1.Location = new System.Drawing.Point(10, 10);
             this.pictureBox1.Margin = new System.Windows.Forms.Padding(2);
             this.pictureBox1.Name = "pictureBox1";

+ 1 - 21
Optimizer/Forms/AboutForm.cs

@@ -11,27 +11,7 @@ namespace Optimizer
             InitializeComponent();
             Options.ApplyTheme(this);
 
-            switch (Options.CurrentOptions.Color)
-            {
-                case Theme.Amber:
-                    pictureBox1.Image = Properties.Resources.logoAmber;
-                    break;
-                case Theme.Jade:
-                    pictureBox1.Image = Properties.Resources.logoJade;
-                    break;
-                case Theme.Ruby:
-                    pictureBox1.Image = Properties.Resources.logoRuby;
-                    break;
-                case Theme.Silver:
-                    pictureBox1.Image = Properties.Resources.logoSilver;
-                    break;
-                case Theme.Azurite:
-                    pictureBox1.Image = Properties.Resources.logoAzurite;
-                    break;
-                case Theme.Amethyst:
-                    pictureBox1.Image = Properties.Resources.logoAmethyst;
-                    break;
-            }
+            pictureBox1.BackColor = Options.CurrentOptions.Theme;
         }
 
         private void About_Load(object sender, EventArgs e)

+ 103 - 168
Optimizer/Forms/MainForm.Designer.cs

@@ -340,6 +340,8 @@ namespace Optimizer
             this.ccFileL = new System.Windows.Forms.Label();
             this.ccL = new System.Windows.Forms.Label();
             this.optionsTab = new System.Windows.Forms.TabPage();
+            this.autoStartToggle = new Optimizer.ToggleCard();
+            this.colorPicker1 = new Optimizer.Controls.ColorPicker();
             this.pictureBox3 = new System.Windows.Forms.PictureBox();
             this.linkLabel3 = new System.Windows.Forms.LinkLabel();
             this.pictureBox17 = new System.Windows.Forms.PictureBox();
@@ -352,13 +354,6 @@ namespace Optimizer
             this.panel9 = new System.Windows.Forms.Panel();
             this.boxLang = new Optimizer.MoonSelect();
             this.picFlag = new System.Windows.Forms.PictureBox();
-            this.panel8 = new System.Windows.Forms.Panel();
-            this.rAmber = new System.Windows.Forms.RadioButton();
-            this.rAmethyst = new System.Windows.Forms.RadioButton();
-            this.rAzurite = new System.Windows.Forms.RadioButton();
-            this.rRuby = new System.Windows.Forms.RadioButton();
-            this.rJade = new System.Windows.Forms.RadioButton();
-            this.rSilver = new System.Windows.Forms.RadioButton();
             this.languagesL = new System.Windows.Forms.Label();
             this.linkLabel5 = new System.Windows.Forms.LinkLabel();
             this.btnOpenConf = new System.Windows.Forms.Button();
@@ -400,6 +395,7 @@ namespace Optimizer
             this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
             this.trayExit = new System.Windows.Forms.ToolStripMenuItem();
             this.launcherIcon = new System.Windows.Forms.NotifyIcon(this.components);
+            this.nvidiaTelemetrySw = new Optimizer.ToggleCard();
             this.tpanel.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.picRestartNeeded)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.picLab)).BeginInit();
@@ -465,7 +461,6 @@ namespace Optimizer
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox85)).BeginInit();
             this.panel9.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.picFlag)).BeginInit();
-            this.panel8.SuspendLayout();
             this.launcherMenu.SuspendLayout();
             this.SuspendLayout();
             // 
@@ -594,7 +589,7 @@ namespace Optimizer
             // pictureBox1
             // 
             this.pictureBox1.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.pictureBox1.Image = global::Optimizer.Properties.Resources.logoAmethyst;
+            this.pictureBox1.Image = global::Optimizer.Properties.Resources.logo;
             this.pictureBox1.Location = new System.Drawing.Point(10, 10);
             this.pictureBox1.Margin = new System.Windows.Forms.Padding(2);
             this.pictureBox1.Name = "pictureBox1";
@@ -656,6 +651,7 @@ namespace Optimizer
             // universalTab
             // 
             this.universalTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
+            this.universalTab.Controls.Add(this.nvidiaTelemetrySw);
             this.universalTab.Controls.Add(this.ntfsStampSw);
             this.universalTab.Controls.Add(this.smb2Sw);
             this.universalTab.Controls.Add(this.smb1Sw);
@@ -678,11 +674,11 @@ namespace Optimizer
             this.universalTab.Controls.Add(this.superfetchSw);
             this.universalTab.Controls.Add(this.faxSw);
             this.universalTab.Controls.Add(this.performanceSw);
-            this.universalTab.Location = new System.Drawing.Point(4, 25);
+            this.universalTab.Location = new System.Drawing.Point(4, 24);
             this.universalTab.Margin = new System.Windows.Forms.Padding(2);
             this.universalTab.Name = "universalTab";
             this.universalTab.Padding = new System.Windows.Forms.Padding(2);
-            this.universalTab.Size = new System.Drawing.Size(999, 610);
+            this.universalTab.Size = new System.Drawing.Size(999, 611);
             this.universalTab.TabIndex = 0;
             this.universalTab.Text = "Universal";
             // 
@@ -1042,11 +1038,11 @@ namespace Optimizer
             this.windows10Tab.Controls.Add(this.oldExplorerSw);
             this.windows10Tab.Controls.Add(this.adsSw);
             this.windows10Tab.Controls.Add(this.panelWin11Tweaks);
-            this.windows10Tab.Location = new System.Drawing.Point(4, 25);
+            this.windows10Tab.Location = new System.Drawing.Point(4, 24);
             this.windows10Tab.Margin = new System.Windows.Forms.Padding(2);
             this.windows10Tab.Name = "windows10Tab";
             this.windows10Tab.Padding = new System.Windows.Forms.Padding(2);
-            this.windows10Tab.Size = new System.Drawing.Size(999, 610);
+            this.windows10Tab.Size = new System.Drawing.Size(999, 611);
             this.windows10Tab.TabIndex = 1;
             this.windows10Tab.Text = "Windows 10";
             // 
@@ -1536,11 +1532,11 @@ namespace Optimizer
             // 
             this.windows8Tab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.windows8Tab.Controls.Add(this.disableOneDriveSw);
-            this.windows8Tab.Location = new System.Drawing.Point(4, 25);
+            this.windows8Tab.Location = new System.Drawing.Point(4, 24);
             this.windows8Tab.Margin = new System.Windows.Forms.Padding(2);
             this.windows8Tab.Name = "windows8Tab";
             this.windows8Tab.Padding = new System.Windows.Forms.Padding(2);
-            this.windows8Tab.Size = new System.Drawing.Size(999, 610);
+            this.windows8Tab.Size = new System.Drawing.Size(999, 611);
             this.windows8Tab.TabIndex = 2;
             this.windows8Tab.Text = "Windows 8.1";
             // 
@@ -1568,10 +1564,10 @@ namespace Optimizer
             this.modernAppsTab.Controls.Add(this.txtModernAppsTitle);
             this.modernAppsTab.Controls.Add(this.chkOnlyRemovable);
             this.modernAppsTab.Controls.Add(this.chkSelectAllModernApps);
-            this.modernAppsTab.Location = new System.Drawing.Point(4, 25);
+            this.modernAppsTab.Location = new System.Drawing.Point(4, 24);
             this.modernAppsTab.Name = "modernAppsTab";
             this.modernAppsTab.Padding = new System.Windows.Forms.Padding(3);
-            this.modernAppsTab.Size = new System.Drawing.Size(999, 610);
+            this.modernAppsTab.Size = new System.Drawing.Size(999, 611);
             this.modernAppsTab.TabIndex = 11;
             this.modernAppsTab.Text = "UWP Apps";
             // 
@@ -1674,10 +1670,10 @@ namespace Optimizer
             this.startupTab.Controls.Add(this.panel3);
             this.startupTab.Controls.Add(this.removeStartupItemB);
             this.startupTab.Controls.Add(this.startupTitle);
-            this.startupTab.Location = new System.Drawing.Point(4, 25);
+            this.startupTab.Location = new System.Drawing.Point(4, 24);
             this.startupTab.Margin = new System.Windows.Forms.Padding(2);
             this.startupTab.Name = "startupTab";
-            this.startupTab.Size = new System.Drawing.Size(999, 610);
+            this.startupTab.Size = new System.Drawing.Size(999, 611);
             this.startupTab.TabIndex = 7;
             this.startupTab.Text = "Startup";
             // 
@@ -1933,10 +1929,10 @@ namespace Optimizer
             this.appsTab.Controls.Add(this.panel10);
             this.appsTab.Controls.Add(this.panelCommonApps);
             this.appsTab.Controls.Add(this.groupSystemTools);
-            this.appsTab.Location = new System.Drawing.Point(4, 25);
+            this.appsTab.Location = new System.Drawing.Point(4, 24);
             this.appsTab.Name = "appsTab";
             this.appsTab.Padding = new System.Windows.Forms.Padding(3);
-            this.appsTab.Size = new System.Drawing.Size(999, 610);
+            this.appsTab.Size = new System.Drawing.Size(999, 611);
             this.appsTab.TabIndex = 12;
             this.appsTab.Text = "Apps";
             // 
@@ -1948,7 +1944,7 @@ namespace Optimizer
             this.txtFeedError.ForeColor = System.Drawing.Color.Gold;
             this.txtFeedError.Location = new System.Drawing.Point(3, 47);
             this.txtFeedError.Name = "txtFeedError";
-            this.txtFeedError.Size = new System.Drawing.Size(993, 440);
+            this.txtFeedError.Size = new System.Drawing.Size(993, 441);
             this.txtFeedError.TabIndex = 171;
             this.txtFeedError.Text = "No internet connection, try refreshing links again";
             this.txtFeedError.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -2095,7 +2091,7 @@ namespace Optimizer
             this.panelCommonApps.Controls.Add(this.bitPref);
             this.panelCommonApps.Controls.Add(this.goToDownloadsB);
             this.panelCommonApps.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.panelCommonApps.Location = new System.Drawing.Point(3, 487);
+            this.panelCommonApps.Location = new System.Drawing.Point(3, 488);
             this.panelCommonApps.Name = "panelCommonApps";
             this.panelCommonApps.Size = new System.Drawing.Size(993, 120);
             this.panelCommonApps.TabIndex = 162;
@@ -2287,11 +2283,11 @@ namespace Optimizer
             this.cleanerTab.Controls.Add(this.panel14);
             this.cleanerTab.Controls.Add(this.panel13);
             this.cleanerTab.Controls.Add(this.panel1);
-            this.cleanerTab.Location = new System.Drawing.Point(4, 25);
+            this.cleanerTab.Location = new System.Drawing.Point(4, 24);
             this.cleanerTab.Margin = new System.Windows.Forms.Padding(2);
             this.cleanerTab.Name = "cleanerTab";
             this.cleanerTab.Padding = new System.Windows.Forms.Padding(2);
-            this.cleanerTab.Size = new System.Drawing.Size(999, 610);
+            this.cleanerTab.Size = new System.Drawing.Size(999, 611);
             this.cleanerTab.TabIndex = 5;
             this.cleanerTab.Text = "Cleaner";
             // 
@@ -2302,7 +2298,7 @@ namespace Optimizer
             this.panel14.Dock = System.Windows.Forms.DockStyle.Fill;
             this.panel14.Location = new System.Drawing.Point(221, 2);
             this.panel14.Name = "panel14";
-            this.panel14.Size = new System.Drawing.Size(776, 545);
+            this.panel14.Size = new System.Drawing.Size(776, 546);
             this.panel14.TabIndex = 51;
             // 
             // listCleanPreview
@@ -2316,7 +2312,7 @@ namespace Optimizer
             this.listCleanPreview.HorizontalScrollbar = true;
             this.listCleanPreview.Location = new System.Drawing.Point(0, 0);
             this.listCleanPreview.Name = "listCleanPreview";
-            this.listCleanPreview.Size = new System.Drawing.Size(774, 543);
+            this.listCleanPreview.Size = new System.Drawing.Size(774, 544);
             this.listCleanPreview.TabIndex = 1;
             // 
             // panel13
@@ -2329,7 +2325,7 @@ namespace Optimizer
             this.panel13.Controls.Add(this.cleanDriveB);
             this.panel13.Controls.Add(this.lblFootprint);
             this.panel13.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.panel13.Location = new System.Drawing.Point(221, 547);
+            this.panel13.Location = new System.Drawing.Point(221, 548);
             this.panel13.Name = "panel13";
             this.panel13.Size = new System.Drawing.Size(776, 61);
             this.panel13.TabIndex = 50;
@@ -2477,7 +2473,7 @@ namespace Optimizer
             this.panel1.Location = new System.Drawing.Point(2, 2);
             this.panel1.Margin = new System.Windows.Forms.Padding(2);
             this.panel1.Name = "panel1";
-            this.panel1.Size = new System.Drawing.Size(219, 606);
+            this.panel1.Size = new System.Drawing.Size(219, 607);
             this.panel1.TabIndex = 47;
             // 
             // bravePasswords
@@ -2908,10 +2904,10 @@ namespace Optimizer
             // 
             this.pingerTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.pingerTab.Controls.Add(this.netTools);
-            this.pingerTab.Location = new System.Drawing.Point(4, 25);
+            this.pingerTab.Location = new System.Drawing.Point(4, 24);
             this.pingerTab.Name = "pingerTab";
             this.pingerTab.Padding = new System.Windows.Forms.Padding(3);
-            this.pingerTab.Size = new System.Drawing.Size(999, 610);
+            this.pingerTab.Size = new System.Drawing.Size(999, 611);
             this.pingerTab.TabIndex = 13;
             this.pingerTab.Text = "Pinger";
             // 
@@ -2927,7 +2923,7 @@ namespace Optimizer
             this.netTools.Name = "netTools";
             this.netTools.Padding = new System.Drawing.Point(0, 0);
             this.netTools.SelectedIndex = 0;
-            this.netTools.Size = new System.Drawing.Size(993, 604);
+            this.netTools.Size = new System.Drawing.Size(993, 605);
             this.netTools.TabIndex = 104;
             // 
             // tabPage1
@@ -2946,7 +2942,7 @@ namespace Optimizer
             this.tabPage1.Location = new System.Drawing.Point(4, 4);
             this.tabPage1.Name = "tabPage1";
             this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage1.Size = new System.Drawing.Size(985, 575);
+            this.tabPage1.Size = new System.Drawing.Size(985, 577);
             this.tabPage1.TabIndex = 0;
             this.tabPage1.Text = "Pinger";
             // 
@@ -3130,7 +3126,7 @@ namespace Optimizer
             this.tabPage2.Location = new System.Drawing.Point(4, 4);
             this.tabPage2.Name = "tabPage2";
             this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage2.Size = new System.Drawing.Size(985, 576);
+            this.tabPage2.Size = new System.Drawing.Size(985, 577);
             this.tabPage2.TabIndex = 1;
             this.tabPage2.Text = "DNS";
             // 
@@ -3298,11 +3294,11 @@ namespace Optimizer
             this.hostsEditorTab.Controls.Add(this.panel4);
             this.hostsEditorTab.Controls.Add(this.hostsTitle);
             this.hostsEditorTab.Controls.Add(this.linkLocate);
-            this.hostsEditorTab.Location = new System.Drawing.Point(4, 25);
+            this.hostsEditorTab.Location = new System.Drawing.Point(4, 24);
             this.hostsEditorTab.Margin = new System.Windows.Forms.Padding(2);
             this.hostsEditorTab.Name = "hostsEditorTab";
             this.hostsEditorTab.Padding = new System.Windows.Forms.Padding(2);
-            this.hostsEditorTab.Size = new System.Drawing.Size(999, 610);
+            this.hostsEditorTab.Size = new System.Drawing.Size(999, 611);
             this.hostsEditorTab.TabIndex = 9;
             this.hostsEditorTab.Text = "Hosts";
             // 
@@ -3594,11 +3590,11 @@ namespace Optimizer
             this.registryFixerTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.registryFixerTab.Controls.Add(this.panel2);
             this.registryFixerTab.Controls.Add(this.registryTitle);
-            this.registryFixerTab.Location = new System.Drawing.Point(4, 25);
+            this.registryFixerTab.Location = new System.Drawing.Point(4, 24);
             this.registryFixerTab.Margin = new System.Windows.Forms.Padding(2);
             this.registryFixerTab.Name = "registryFixerTab";
             this.registryFixerTab.Padding = new System.Windows.Forms.Padding(2);
-            this.registryFixerTab.Size = new System.Drawing.Size(999, 610);
+            this.registryFixerTab.Size = new System.Drawing.Size(999, 611);
             this.registryFixerTab.TabIndex = 8;
             this.registryFixerTab.Text = "Registry";
             // 
@@ -3804,10 +3800,10 @@ namespace Optimizer
             this.indiciumTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.indiciumTab.Controls.Add(this.panel12);
             this.indiciumTab.Controls.Add(this.panel11);
-            this.indiciumTab.Location = new System.Drawing.Point(4, 25);
+            this.indiciumTab.Location = new System.Drawing.Point(4, 24);
             this.indiciumTab.Name = "indiciumTab";
             this.indiciumTab.Padding = new System.Windows.Forms.Padding(3);
-            this.indiciumTab.Size = new System.Drawing.Size(999, 610);
+            this.indiciumTab.Size = new System.Drawing.Size(999, 611);
             this.indiciumTab.TabIndex = 14;
             this.indiciumTab.Text = "Hardware";
             // 
@@ -3818,7 +3814,7 @@ namespace Optimizer
             this.panel12.Dock = System.Windows.Forms.DockStyle.Fill;
             this.panel12.Location = new System.Drawing.Point(3, 38);
             this.panel12.Name = "panel12";
-            this.panel12.Size = new System.Drawing.Size(993, 569);
+            this.panel12.Size = new System.Drawing.Size(993, 570);
             this.panel12.TabIndex = 2;
             // 
             // specsTree
@@ -3873,7 +3869,7 @@ namespace Optimizer
             treeNode6,
             treeNode7,
             treeNode8});
-            this.specsTree.Size = new System.Drawing.Size(991, 567);
+            this.specsTree.Size = new System.Drawing.Size(991, 568);
             this.specsTree.TabIndex = 0;
             this.specsTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.specsTree_NodeMouseClick);
             // 
@@ -3991,11 +3987,11 @@ namespace Optimizer
             // 
             this.integratorTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.integratorTab.Controls.Add(this.synapse);
-            this.integratorTab.Location = new System.Drawing.Point(4, 25);
+            this.integratorTab.Location = new System.Drawing.Point(4, 24);
             this.integratorTab.Margin = new System.Windows.Forms.Padding(2);
             this.integratorTab.Name = "integratorTab";
             this.integratorTab.Padding = new System.Windows.Forms.Padding(2);
-            this.integratorTab.Size = new System.Drawing.Size(999, 610);
+            this.integratorTab.Size = new System.Drawing.Size(999, 611);
             this.integratorTab.TabIndex = 10;
             this.integratorTab.Text = "Integrator";
             // 
@@ -4014,7 +4010,7 @@ namespace Optimizer
             this.synapse.Name = "synapse";
             this.synapse.Padding = new System.Drawing.Point(0, 0);
             this.synapse.SelectedIndex = 0;
-            this.synapse.Size = new System.Drawing.Size(995, 606);
+            this.synapse.Size = new System.Drawing.Size(995, 607);
             this.synapse.TabIndex = 0;
             // 
             // integratorInfoTab
@@ -4031,7 +4027,7 @@ namespace Optimizer
             this.integratorInfoTab.Margin = new System.Windows.Forms.Padding(2);
             this.integratorInfoTab.Name = "integratorInfoTab";
             this.integratorInfoTab.Padding = new System.Windows.Forms.Padding(2);
-            this.integratorInfoTab.Size = new System.Drawing.Size(987, 577);
+            this.integratorInfoTab.Size = new System.Drawing.Size(987, 579);
             this.integratorInfoTab.TabIndex = 0;
             this.integratorInfoTab.Text = "Info";
             // 
@@ -4139,7 +4135,7 @@ namespace Optimizer
             this.tabPage8.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage8.Name = "tabPage8";
             this.tabPage8.Padding = new System.Windows.Forms.Padding(2);
-            this.tabPage8.Size = new System.Drawing.Size(987, 578);
+            this.tabPage8.Size = new System.Drawing.Size(987, 579);
             this.tabPage8.TabIndex = 1;
             this.tabPage8.Text = "Add/Modify";
             // 
@@ -4483,7 +4479,7 @@ namespace Optimizer
             this.tabPage9.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage9.Name = "tabPage9";
             this.tabPage9.Padding = new System.Windows.Forms.Padding(2);
-            this.tabPage9.Size = new System.Drawing.Size(987, 578);
+            this.tabPage9.Size = new System.Drawing.Size(987, 579);
             this.tabPage9.TabIndex = 2;
             this.tabPage9.Text = "Remove";
             // 
@@ -4593,7 +4589,7 @@ namespace Optimizer
             this.tabPage10.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage10.Name = "tabPage10";
             this.tabPage10.Padding = new System.Windows.Forms.Padding(2);
-            this.tabPage10.Size = new System.Drawing.Size(987, 578);
+            this.tabPage10.Size = new System.Drawing.Size(987, 579);
             this.tabPage10.TabIndex = 3;
             this.tabPage10.Text = "Ready Menus";
             // 
@@ -4733,7 +4729,7 @@ namespace Optimizer
             this.tabPage11.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage11.Name = "tabPage11";
             this.tabPage11.Padding = new System.Windows.Forms.Padding(2);
-            this.tabPage11.Size = new System.Drawing.Size(987, 578);
+            this.tabPage11.Size = new System.Drawing.Size(987, 579);
             this.tabPage11.TabIndex = 4;
             this.tabPage11.Text = "Run Dialog";
             // 
@@ -4910,6 +4906,8 @@ namespace Optimizer
             // optionsTab
             // 
             this.optionsTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
+            this.optionsTab.Controls.Add(this.autoStartToggle);
+            this.optionsTab.Controls.Add(this.colorPicker1);
             this.optionsTab.Controls.Add(this.pictureBox3);
             this.optionsTab.Controls.Add(this.linkLabel3);
             this.optionsTab.Controls.Add(this.pictureBox17);
@@ -4920,7 +4918,6 @@ namespace Optimizer
             this.optionsTab.Controls.Add(this.linkLabel1);
             this.optionsTab.Controls.Add(this.pictureBox85);
             this.optionsTab.Controls.Add(this.panel9);
-            this.optionsTab.Controls.Add(this.panel8);
             this.optionsTab.Controls.Add(this.languagesL);
             this.optionsTab.Controls.Add(this.linkLabel5);
             this.optionsTab.Controls.Add(this.btnOpenConf);
@@ -4933,14 +4930,40 @@ namespace Optimizer
             this.optionsTab.Controls.Add(this.lblTheming);
             this.optionsTab.Controls.Add(this.quickAccessToggle);
             this.optionsTab.Controls.Add(this.helpTipsToggle);
-            this.optionsTab.Location = new System.Drawing.Point(4, 25);
+            this.optionsTab.Location = new System.Drawing.Point(4, 24);
             this.optionsTab.Margin = new System.Windows.Forms.Padding(2);
             this.optionsTab.Name = "optionsTab";
             this.optionsTab.Padding = new System.Windows.Forms.Padding(2);
-            this.optionsTab.Size = new System.Drawing.Size(999, 610);
+            this.optionsTab.Size = new System.Drawing.Size(999, 611);
             this.optionsTab.TabIndex = 6;
             this.optionsTab.Text = "Options";
             // 
+            // autoStartToggle
+            // 
+            this.autoStartToggle.AccessibleName = "Start with Windows";
+            this.autoStartToggle.AccessibleRole = System.Windows.Forms.AccessibleRole.CheckButton;
+            this.autoStartToggle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
+            this.autoStartToggle.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.autoStartToggle.ForeColor = System.Drawing.Color.White;
+            this.autoStartToggle.LabelText = "Start with Windows";
+            this.autoStartToggle.Location = new System.Drawing.Point(21, 49);
+            this.autoStartToggle.Name = "autoStartToggle";
+            this.autoStartToggle.Size = new System.Drawing.Size(374, 24);
+            this.autoStartToggle.TabIndex = 98;
+            this.autoStartToggle.Tag = "themeable";
+            this.autoStartToggle.ToggleChecked = false;
+            this.autoStartToggle.ToggleClicked += new System.EventHandler(this.autoStartToggle_ToggleClicked);
+            // 
+            // colorPicker1
+            // 
+            this.colorPicker1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+            this.colorPicker1.Location = new System.Drawing.Point(21, 163);
+            this.colorPicker1.Name = "colorPicker1";
+            this.colorPicker1.Size = new System.Drawing.Size(139, 98);
+            this.colorPicker1.TabIndex = 97;
+            this.colorPicker1.Text = "colorPicker1";
+            this.colorPicker1.ColorChanged += new System.EventHandler(this.colorPicker1_ColorChanged);
+            // 
             // pictureBox3
             // 
             this.pictureBox3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
@@ -5116,103 +5139,6 @@ namespace Optimizer
             this.picFlag.TabIndex = 75;
             this.picFlag.TabStop = false;
             // 
-            // panel8
-            // 
-            this.panel8.Controls.Add(this.rAmber);
-            this.panel8.Controls.Add(this.rAmethyst);
-            this.panel8.Controls.Add(this.rAzurite);
-            this.panel8.Controls.Add(this.rRuby);
-            this.panel8.Controls.Add(this.rJade);
-            this.panel8.Controls.Add(this.rSilver);
-            this.panel8.Location = new System.Drawing.Point(21, 127);
-            this.panel8.Name = "panel8";
-            this.panel8.Size = new System.Drawing.Size(326, 118);
-            this.panel8.TabIndex = 72;
-            // 
-            // rAmber
-            // 
-            this.rAmber.AutoSize = true;
-            this.rAmber.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.rAmber.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(195)))), ((int)(((byte)(146)))), ((int)(((byte)(0)))));
-            this.rAmber.Location = new System.Drawing.Point(163, 11);
-            this.rAmber.Margin = new System.Windows.Forms.Padding(2);
-            this.rAmber.Name = "rAmber";
-            this.rAmber.Size = new System.Drawing.Size(78, 25);
-            this.rAmber.TabIndex = 52;
-            this.rAmber.Text = "Amber";
-            this.rAmber.UseVisualStyleBackColor = true;
-            this.rAmber.CheckedChanged += new System.EventHandler(this.radioCaramel_CheckedChanged);
-            // 
-            // rAmethyst
-            // 
-            this.rAmethyst.AutoSize = true;
-            this.rAmethyst.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.rAmethyst.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(102)))), ((int)(((byte)(204)))));
-            this.rAmethyst.Location = new System.Drawing.Point(15, 11);
-            this.rAmethyst.Margin = new System.Windows.Forms.Padding(2);
-            this.rAmethyst.Name = "rAmethyst";
-            this.rAmethyst.Size = new System.Drawing.Size(98, 25);
-            this.rAmethyst.TabIndex = 48;
-            this.rAmethyst.Text = "Amethyst";
-            this.rAmethyst.UseVisualStyleBackColor = true;
-            this.rAmethyst.CheckedChanged += new System.EventHandler(this.radioZerg_CheckedChanged);
-            // 
-            // rAzurite
-            // 
-            this.rAzurite.AutoSize = true;
-            this.rAzurite.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
-            this.rAzurite.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(127)))), ((int)(((byte)(255)))));
-            this.rAzurite.Location = new System.Drawing.Point(15, 69);
-            this.rAzurite.Margin = new System.Windows.Forms.Padding(2);
-            this.rAzurite.Name = "rAzurite";
-            this.rAzurite.Size = new System.Drawing.Size(80, 25);
-            this.rAzurite.TabIndex = 49;
-            this.rAzurite.Text = "Azurite";
-            this.rAzurite.UseVisualStyleBackColor = true;
-            this.rAzurite.CheckedChanged += new System.EventHandler(this.radioOcean_CheckedChanged);
-            // 
-            // rRuby
-            // 
-            this.rRuby.AutoSize = true;
-            this.rRuby.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.rRuby.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(22)))), ((int)(((byte)(39)))));
-            this.rRuby.Location = new System.Drawing.Point(15, 40);
-            this.rRuby.Margin = new System.Windows.Forms.Padding(2);
-            this.rRuby.Name = "rRuby";
-            this.rRuby.Size = new System.Drawing.Size(65, 25);
-            this.rRuby.TabIndex = 50;
-            this.rRuby.Text = "Ruby";
-            this.rRuby.UseVisualStyleBackColor = true;
-            this.rRuby.CheckedChanged += new System.EventHandler(this.radioMagma_CheckedChanged);
-            // 
-            // rJade
-            // 
-            this.rJade.AutoSize = true;
-            this.rJade.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.rJade.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(70)))), ((int)(((byte)(175)))), ((int)(((byte)(105)))));
-            this.rJade.Location = new System.Drawing.Point(163, 40);
-            this.rJade.Margin = new System.Windows.Forms.Padding(2);
-            this.rJade.Name = "rJade";
-            this.rJade.Size = new System.Drawing.Size(61, 25);
-            this.rJade.TabIndex = 51;
-            this.rJade.Text = "Jade";
-            this.rJade.UseVisualStyleBackColor = true;
-            this.rJade.CheckedChanged += new System.EventHandler(this.radioLime_CheckedChanged);
-            // 
-            // rSilver
-            // 
-            this.rSilver.AutoSize = true;
-            this.rSilver.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.rSilver.ForeColor = System.Drawing.Color.Gray;
-            this.rSilver.Location = new System.Drawing.Point(163, 69);
-            this.rSilver.Margin = new System.Windows.Forms.Padding(2);
-            this.rSilver.Name = "rSilver";
-            this.rSilver.Size = new System.Drawing.Size(68, 25);
-            this.rSilver.TabIndex = 53;
-            this.rSilver.Text = "Silver";
-            this.rSilver.UseVisualStyleBackColor = true;
-            this.rSilver.CheckedChanged += new System.EventHandler(this.radioMinimal_CheckedChanged);
-            // 
             // languagesL
             // 
             this.languagesL.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@@ -5252,7 +5178,7 @@ namespace Optimizer
             this.btnOpenConf.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.btnOpenConf.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnOpenConf.ForeColor = System.Drawing.Color.White;
-            this.btnOpenConf.Location = new System.Drawing.Point(34, 432);
+            this.btnOpenConf.Location = new System.Drawing.Point(34, 452);
             this.btnOpenConf.Margin = new System.Windows.Forms.Padding(2);
             this.btnOpenConf.Name = "btnOpenConf";
             this.btnOpenConf.Size = new System.Drawing.Size(218, 31);
@@ -5266,7 +5192,7 @@ namespace Optimizer
             this.lblTroubleshoot.AutoSize = true;
             this.lblTroubleshoot.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.lblTroubleshoot.ForeColor = System.Drawing.Color.DodgerBlue;
-            this.lblTroubleshoot.Location = new System.Drawing.Point(17, 359);
+            this.lblTroubleshoot.Location = new System.Drawing.Point(17, 379);
             this.lblTroubleshoot.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.lblTroubleshoot.Name = "lblTroubleshoot";
             this.lblTroubleshoot.Size = new System.Drawing.Size(131, 21);
@@ -5279,7 +5205,7 @@ namespace Optimizer
             this.lblUpdating.AutoSize = true;
             this.lblUpdating.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.lblUpdating.ForeColor = System.Drawing.Color.DodgerBlue;
-            this.lblUpdating.Location = new System.Drawing.Point(17, 263);
+            this.lblUpdating.Location = new System.Drawing.Point(17, 283);
             this.lblUpdating.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.lblUpdating.Name = "lblUpdating";
             this.lblUpdating.Size = new System.Drawing.Size(125, 21);
@@ -5295,7 +5221,7 @@ namespace Optimizer
             this.btnViewLog.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.btnViewLog.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnViewLog.ForeColor = System.Drawing.Color.White;
-            this.btnViewLog.Location = new System.Drawing.Point(34, 397);
+            this.btnViewLog.Location = new System.Drawing.Point(34, 417);
             this.btnViewLog.Margin = new System.Windows.Forms.Padding(2);
             this.btnViewLog.Name = "btnViewLog";
             this.btnViewLog.Size = new System.Drawing.Size(218, 31);
@@ -5330,7 +5256,7 @@ namespace Optimizer
             this.btnUpdate.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnUpdate.Font = new System.Drawing.Font("Segoe UI Semibold", 9F);
             this.btnUpdate.ForeColor = System.Drawing.Color.White;
-            this.btnUpdate.Location = new System.Drawing.Point(34, 297);
+            this.btnUpdate.Location = new System.Drawing.Point(34, 317);
             this.btnUpdate.Margin = new System.Windows.Forms.Padding(2);
             this.btnUpdate.Name = "btnUpdate";
             this.btnUpdate.Size = new System.Drawing.Size(218, 31);
@@ -5348,7 +5274,7 @@ namespace Optimizer
             this.btnResetConfig.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.btnResetConfig.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnResetConfig.ForeColor = System.Drawing.Color.White;
-            this.btnResetConfig.Location = new System.Drawing.Point(34, 467);
+            this.btnResetConfig.Location = new System.Drawing.Point(34, 487);
             this.btnResetConfig.Margin = new System.Windows.Forms.Padding(2);
             this.btnResetConfig.Name = "btnResetConfig";
             this.btnResetConfig.Size = new System.Drawing.Size(218, 31);
@@ -5362,7 +5288,7 @@ namespace Optimizer
             this.lblTheming.AutoSize = true;
             this.lblTheming.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.lblTheming.ForeColor = System.Drawing.Color.DodgerBlue;
-            this.lblTheming.Location = new System.Drawing.Point(17, 103);
+            this.lblTheming.Location = new System.Drawing.Point(17, 123);
             this.lblTheming.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.lblTheming.Name = "lblTheming";
             this.lblTheming.Size = new System.Drawing.Size(153, 21);
@@ -5394,7 +5320,7 @@ namespace Optimizer
             this.helpTipsToggle.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.helpTipsToggle.ForeColor = System.Drawing.Color.White;
             this.helpTipsToggle.LabelText = "Show Help Messages";
-            this.helpTipsToggle.Location = new System.Drawing.Point(21, 53);
+            this.helpTipsToggle.Location = new System.Drawing.Point(21, 81);
             this.helpTipsToggle.Name = "helpTipsToggle";
             this.helpTipsToggle.Size = new System.Drawing.Size(374, 24);
             this.helpTipsToggle.TabIndex = 87;
@@ -5663,6 +5589,21 @@ namespace Optimizer
             this.launcherIcon.Text = "Optimizer";
             this.launcherIcon.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.launcherIcon_MouseDoubleClick);
             // 
+            // nvidiaTelemetrySw
+            // 
+            this.nvidiaTelemetrySw.AccessibleName = "Disable NVIDIA Telemetry";
+            this.nvidiaTelemetrySw.AccessibleRole = System.Windows.Forms.AccessibleRole.CheckButton;
+            this.nvidiaTelemetrySw.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
+            this.nvidiaTelemetrySw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.nvidiaTelemetrySw.ForeColor = System.Drawing.Color.White;
+            this.nvidiaTelemetrySw.LabelText = "Disable NVIDIA Telemetry";
+            this.nvidiaTelemetrySw.Location = new System.Drawing.Point(21, 513);
+            this.nvidiaTelemetrySw.Name = "nvidiaTelemetrySw";
+            this.nvidiaTelemetrySw.Size = new System.Drawing.Size(490, 24);
+            this.nvidiaTelemetrySw.TabIndex = 73;
+            this.nvidiaTelemetrySw.Tag = "themeable";
+            this.nvidiaTelemetrySw.ToggleChecked = false;
+            // 
             // MainForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@@ -5775,8 +5716,6 @@ namespace Optimizer
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox85)).EndInit();
             this.panel9.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)(this.picFlag)).EndInit();
-            this.panel8.ResumeLayout(false);
-            this.panel8.PerformLayout();
             this.launcherMenu.ResumeLayout(false);
             this.ResumeLayout(false);
 
@@ -5897,12 +5836,6 @@ namespace Optimizer
         internal System.Windows.Forms.OpenFileDialog DefineCommandIconDialog;
         private System.Windows.Forms.Button findInRegB;
         private System.Windows.Forms.TabPage optionsTab;
-        private System.Windows.Forms.RadioButton rSilver;
-        private System.Windows.Forms.RadioButton rAmber;
-        private System.Windows.Forms.RadioButton rJade;
-        private System.Windows.Forms.RadioButton rRuby;
-        private System.Windows.Forms.RadioButton rAzurite;
-        private System.Windows.Forms.RadioButton rAmethyst;
         private System.Windows.Forms.Label lblTheming;
         private MoonList listCustomCommands;
         private System.Windows.Forms.Label removeCCL;
@@ -5965,7 +5898,6 @@ namespace Optimizer
         private Button doBackup;
         private Button cancelBackup;
         private Label languagesL;
-        private Panel panel8;
         private PictureBox pictureBox85;
         private Panel panel9;
         private PictureBox picFlag;
@@ -6143,7 +6075,10 @@ namespace Optimizer
         private Button flushCacheB;
         private MoonSelect boxAdapter;
         private MoonSelect boxDNS;
-        private MoonTabs netTools;
+        private TabControl netTools;
+        private Controls.ColorPicker colorPicker1;
+        private ToggleCard autoStartToggle;
+        private ToggleCard nvidiaTelemetrySw;
     }
 }
 

+ 53 - 73
Optimizer/Forms/MainForm.cs

@@ -262,6 +262,7 @@ namespace Optimizer
             smb1Sw.ToggleClicked += Smb1Sw_ToggleClicked;
             smb2Sw.ToggleClicked += Smb2Sw_ToggleClicked;
             ntfsStampSw.ToggleClicked += NtfsStampSw_ToggleClicked;
+            nvidiaTelemetrySw.ToggleClicked += NvidiaTelemetrySw_ToggleClicked;
 
             PMB.ToggleClicked += PMB_ToggleClicked;
             SSB.ToggleClicked += SSB_ToggleClicked;
@@ -272,6 +273,20 @@ namespace Optimizer
             AddOwnerB.ToggleClicked += AddOwnerB_ToggleClicked;
         }
 
+        private void NvidiaTelemetrySw_ToggleClicked(object sender, EventArgs e)
+        {
+            if (nvidiaTelemetrySw.ToggleChecked)
+            {
+                Optimize.DisableNvidiaTelemetry();
+            }
+            else
+            {
+                Optimize.EnableNvidiaTelemetry();
+            }
+            Options.CurrentOptions.DisableNVIDIATelemetry = nvidiaTelemetrySw.ToggleChecked;
+            ShowRestartNeeded();
+        }
+
         private void NtfsStampSw_ToggleClicked(object sender, EventArgs e)
         {
             if (ntfsStampSw.ToggleChecked)
@@ -283,6 +298,7 @@ namespace Optimizer
                 Optimize.EnableNTFSTimeStamp();
             }
             Options.CurrentOptions.DisableNTFSTimeStamp = ntfsStampSw.ToggleChecked;
+            ShowRestartNeeded();
         }
 
         private void Smb2Sw_ToggleClicked(object sender, EventArgs e)
@@ -573,6 +589,7 @@ namespace Optimizer
             smb1Sw.Label.Tag = Options.TranslationList["smbTip"].ToString().Replace("{v}", "v1");
             smb2Sw.Label.Tag = Options.TranslationList["smbTip"].ToString().Replace("{v}", "v2");
             ntfsStampSw.Label.Tag = Options.TranslationList["ntfsStampTip"].ToString();
+            nvidiaTelemetrySw.Label.Tag = Options.TranslationList["nvidiaTelemetrySw"].ToString();
         }
 
         private void ToggleSwitch40_Click(object sender, EventArgs e)
@@ -681,33 +698,8 @@ namespace Optimizer
 
         private void LoadSettings()
         {
-            switch (Options.CurrentOptions.Color)
-            {
-                case Theme.Amber:
-                    rAmber.Checked = true;
-                    pictureBox1.Image = Properties.Resources.logoAmber;
-                    break;
-                case Theme.Jade:
-                    rJade.Checked = true;
-                    pictureBox1.Image = Properties.Resources.logoJade;
-                    break;
-                case Theme.Ruby:
-                    rRuby.Checked = true;
-                    pictureBox1.Image = Properties.Resources.logoRuby;
-                    break;
-                case Theme.Silver:
-                    rSilver.Checked = true;
-                    pictureBox1.Image = Properties.Resources.logoSilver;
-                    break;
-                case Theme.Azurite:
-                    rAzurite.Checked = true;
-                    pictureBox1.Image = Properties.Resources.logoAzurite;
-                    break;
-                case Theme.Amethyst:
-                    rAmethyst.Checked = true;
-                    pictureBox1.Image = Properties.Resources.logoAmethyst;
-                    break;
-            }
+            pictureBox1.BackColor = Options.CurrentOptions.Theme;
+            colorPicker1.Color = Options.CurrentOptions.Theme;
         }
 
         //INIT
@@ -726,6 +718,7 @@ namespace Optimizer
 
             // theming
             Options.ApplyTheme(this);
+            LoadSettings();
             launcherMenu.Renderer = new MoonMenuRenderer();
             indiciumMenu.Renderer = new MoonMenuRenderer();
 
@@ -739,6 +732,7 @@ namespace Optimizer
             seperatorNetMon.Visible = Options.CurrentOptions.EnableTray;
             trayDownSpeed.Visible = Options.CurrentOptions.EnableTray;
             trayUpSpeed.Visible = Options.CurrentOptions.EnableTray;
+            autoStartToggle.ToggleChecked = Options.CurrentOptions.AutoStart;
 
             // help tips
             helpTipsToggle.ToggleChecked = Options.CurrentOptions.ShowHelp;
@@ -889,7 +883,7 @@ namespace Optimizer
             // APPS DOWNLOADER
             if (!disableCommonApps)
             {
-                GetFeed();
+                if (PingerHelper.IsInternetAvailable()) GetFeed();
             }
             else
             {
@@ -923,7 +917,9 @@ namespace Optimizer
 
             // PINGER
             if (!disablePinger)
-            {
+            { 
+                if (!PingerHelper.IsInternetAvailable()) return; 
+
                 LoadPingerDNSConfig();
                 DisplayCurrentDNS();
 
@@ -936,8 +932,6 @@ namespace Optimizer
                 launcherMenu.Items.RemoveByKey("trayPinger");
             }
 
-            LoadSettings();
-
             LoadTranslationAndSetSize();
 
             Program._MainForm = this;
@@ -2141,6 +2135,7 @@ namespace Optimizer
             ffTelemetrySw.ToggleChecked = Options.CurrentOptions.DisableFirefoxTemeletry;
             vsSw.ToggleChecked = Options.CurrentOptions.DisableVisualStudioTelemetry;
             chromeTelemetrySw.ToggleChecked = Options.CurrentOptions.DisableChromeTelemetry;
+            nvidiaTelemetrySw.ToggleChecked = Options.CurrentOptions.DisableNVIDIATelemetry;
         }
 
         private void LoadWindowsVIIIToggleStates()
@@ -2953,48 +2948,6 @@ namespace Optimizer
             }
         }
 
-        private void radioOcean_CheckedChanged(object sender, EventArgs e)
-        {
-            Options.CurrentOptions.Color = Theme.Azurite;
-            pictureBox1.Image = Properties.Resources.logoAzurite;
-            Options.ApplyTheme(this);
-        }
-
-        private void radioMagma_CheckedChanged(object sender, EventArgs e)
-        {
-            Options.CurrentOptions.Color = Theme.Ruby;
-            pictureBox1.Image = Properties.Resources.logoRuby;
-            Options.ApplyTheme(this);
-        }
-
-        private void radioZerg_CheckedChanged(object sender, EventArgs e)
-        {
-            Options.CurrentOptions.Color = Theme.Amethyst;
-            pictureBox1.Image = Properties.Resources.logoAmethyst;
-            Options.ApplyTheme(this);
-        }
-
-        private void radioMinimal_CheckedChanged(object sender, EventArgs e)
-        {
-            Options.CurrentOptions.Color = Theme.Silver;
-            pictureBox1.Image = Properties.Resources.logoSilver;
-            Options.ApplyTheme(this);
-        }
-
-        private void radioCaramel_CheckedChanged(object sender, EventArgs e)
-        {
-            Options.CurrentOptions.Color = Theme.Amber;
-            pictureBox1.Image = Properties.Resources.logoAmber;
-            Options.ApplyTheme(this);
-        }
-
-        private void radioLime_CheckedChanged(object sender, EventArgs e)
-        {
-            Options.CurrentOptions.Color = Theme.Jade;
-            pictureBox1.Image = Properties.Resources.logoJade;
-            Options.ApplyTheme(this);
-        }
-
         private void button64_Click(object sender, EventArgs e)
         {
             if (listStartupItems.SelectedItems.Count == 1)
@@ -4502,6 +4455,9 @@ namespace Optimizer
         {
             _currentDNS = PingerHelper.GetDNSFromNetworkAdapter(PingerHelper.NetworkAdapters[boxAdapter.SelectedIndex]).ToArray();
 
+            if (_currentDNS == null) return;
+            if (_currentDNS.Length == 0) return;
+
             try
             {
                 if (_currentDNS.Length == 1)
@@ -4691,5 +4647,29 @@ namespace Optimizer
             Options.SaveSettings();
             Utilities.Reboot();
         }
+
+        private void colorPicker1_ColorChanged(object sender, EventArgs e)
+        {
+            pictureBox1.BackColor = colorPicker1.Color;
+            Options.CurrentOptions.Theme = colorPicker1.Color;
+            Options.ApplyTheme(this);
+
+            Options.SaveSettings();
+        }
+
+        private void autoStartToggle_ToggleClicked(object sender, EventArgs e)
+        {
+            Options.CurrentOptions.AutoStart = autoStartToggle.ToggleChecked;
+            Options.SaveSettings();
+
+            if (Options.CurrentOptions.AutoStart)
+            {
+                Utilities.RegisterAutoStart();
+            }
+            else
+            {
+                Utilities.UnregisterAutoStart();
+            }
+        }
     }
 }

+ 1 - 1
Optimizer/Forms/MainForm.resx

@@ -751,7 +751,7 @@ any application only by typing your desired keyword.</value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC0
-        GgAAAk1TRnQBSQFMAgEBCQEAAdgBCwHYAQsBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
+        GgAAAk1TRnQBSQFMAgEBCQEAARABDAEQAQwBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
         AwABYAMAAQEBAAEgBgABwP8A/wD/AP8A/wD/AP8A/wAeAANHAYB0//8AiQADRwGAdP//AIkAAyoBQANH
         AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANH
         AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGA/wD/AP8A

+ 2 - 2
Optimizer/Forms/SplashForm.Designer.cs

@@ -44,13 +44,13 @@ namespace Optimizer
             this.LoadingStatus.Name = "LoadingStatus";
             this.LoadingStatus.Size = new System.Drawing.Size(458, 43);
             this.LoadingStatus.TabIndex = 2;
-            this.LoadingStatus.Text = "loading settings ...";
+            this.LoadingStatus.Text = "loading settings";
             this.LoadingStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
             // pictureBox2
             // 
             this.pictureBox2.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.pictureBox2.Image = global::Optimizer.Properties.Resources.bannerAmethyst;
+            this.pictureBox2.Image = global::Optimizer.Properties.Resources.banner;
             this.pictureBox2.Location = new System.Drawing.Point(0, 0);
             this.pictureBox2.Name = "pictureBox2";
             this.pictureBox2.Size = new System.Drawing.Size(458, 258);

+ 1 - 27
Optimizer/Forms/SplashForm.cs

@@ -13,33 +13,7 @@ namespace Optimizer
 
             LoadingStatus.Font = FontHelper.Poppins15;
 
-            switch (Options.CurrentOptions.Color)
-            {
-                case Theme.Amber:
-                    //pictureBox1.Image = Properties.Resources.loadingAmber;
-                    pictureBox2.Image = Properties.Resources.bannerAmber;
-                    break;
-                case Theme.Jade:
-                    //pictureBox1.Image = Properties.Resources.loadingJade;
-                    pictureBox2.Image = Properties.Resources.bannerJade;
-                    break;
-                case Theme.Ruby:
-                    //pictureBox1.Image = Properties.Resources.loadingRuby;
-                    pictureBox2.Image = Properties.Resources.bannerRuby;
-                    break;
-                case Theme.Silver:
-                    //pictureBox1.Image = Properties.Resources.loadingSilver;
-                    pictureBox2.Image = Properties.Resources.bannerSilver;
-                    break;
-                case Theme.Azurite:
-                    //pictureBox1.Image = Properties.Resources.loadingAzurite;
-                    pictureBox2.Image = Properties.Resources.bannerAzurite;
-                    break;
-                case Theme.Amethyst:
-                    //pictureBox1.Image = Properties.Resources.loadingAmethyst;
-                    pictureBox2.Image = Properties.Resources.bannerAmethyst;
-                    break;
-            }
+            pictureBox2.BackColor = Options.CurrentOptions.Theme;
         }
     }
 }

+ 31 - 0
Optimizer/Optimize.cs

@@ -284,6 +284,7 @@ namespace Optimizer
             //Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Schedule", "Start", "4", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters", "EnableSuperfetch", "0", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters", "EnablePrefetcher", "0", RegistryValueKind.DWord);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters", "SfTracingState", "1", RegistryValueKind.DWord);
         }
 
         internal static void EnableSuperfetch()
@@ -292,6 +293,7 @@ namespace Optimizer
             //Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Schedule", "Start", "2", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters", "EnableSuperfetch", "1", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters", "EnablePrefetcher", "1", RegistryValueKind.DWord);
+            Utilities.TryDeleteRegistryValue(true, @"SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters", "SfTracingState");
 
             Utilities.StartService("SysMain");
             //Utilities.StartService("Schedule");
@@ -899,6 +901,8 @@ namespace Optimizer
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CloudContent", "DisableCloudOptimizedContent", 1);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection", "DoNotShowFeedbackNotifications", 1);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Feeds", "EnableFeeds", 0);
+            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo", "Enabled", 0);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Bluetooth", "AllowAdvertising", 0);
 
             // Account->Sign-in options->Privacy
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "DisableAutomaticRestartSignOn", 1);
@@ -1027,6 +1031,8 @@ namespace Optimizer
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\CloudContent", "DisableCloudOptimizedContent");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\DataCollection", "DoNotShowFeedbackNotifications");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\Windows Feeds", "EnableFeeds");
+            Utilities.TryDeleteRegistryValue(false, @"Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo", "Enabled");
+            Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Microsoft\PolicyManager\current\device\Bluetooth", "AllowAdvertising");
 
             // Account->Sign-in options->Privacy
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "DisableAutomaticRestartSignOn");
@@ -1701,6 +1707,31 @@ namespace Optimizer
             }
         }
 
+        // NVIDIA TELEMETRY
+        internal static void DisableNvidiaTelemetry()
+        {
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NvTelemetryContainer", "Start", 4);
+
+            Utilities.RunCommand("schtasks.exe /change /tn NvTmRepOnLogon_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8} /disable");
+            Utilities.RunCommand("schtasks.exe /change /tn NvTmRep_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8} /disable");
+            Utilities.RunCommand("schtasks.exe /change /tn NvTmMon_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8} /disable");
+            Utilities.RunCommand("net.exe stop NvTelemetryContainer");
+            Utilities.RunCommand("sc.exe config NvTelemetryContainer start= disabled");
+            Utilities.RunCommand("sc.exe stop NvTelemetryContainer");
+        }
+
+        internal static void EnableNvidiaTelemetry()
+        {
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NvTelemetryContainer", "Start", 2);
+
+            Utilities.RunCommand("schtasks.exe /change /tn NvTmRepOnLogon_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8} /enable");
+            Utilities.RunCommand("schtasks.exe /change /tn NvTmRep_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8} /enable");
+            Utilities.RunCommand("schtasks.exe /change /tn NvTmMon_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8} /enable");
+            Utilities.RunCommand("net.exe start NvTelemetryContainer");
+            Utilities.RunCommand("sc.exe config NvTelemetryContainer start= enabled");
+            Utilities.RunCommand("sc.exe start NvTelemetryContainer");
+        }
+
         // CHROME TELEMETRY + SOFTWARE REPORTER TOOL
         internal static void DisableChromeTelemetry()
         {

+ 3 - 18
Optimizer/Optimizer.csproj

@@ -51,9 +51,7 @@
     <WarningLevel>4</WarningLevel>
     <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
-  <PropertyGroup>
-    <ApplicationManifest>app.manifest</ApplicationManifest>
-  </PropertyGroup>
+  <PropertyGroup />
   <PropertyGroup>
     <ApplicationIcon>optimizer.ico</ApplicationIcon>
   </PropertyGroup>
@@ -287,9 +285,6 @@
     <EmbeddedResource Include="Forms\StartupRestoreForm.resx">
       <DependentUpon>StartupRestoreForm.cs</DependentUpon>
     </EmbeddedResource>
-    <None Include="app.manifest">
-      <SubType>Designer</SubType>
-    </None>
     <None Include="packages.config" />
     <None Include="Properties\Settings.settings">
       <Generator>SettingsSingleFileGenerator</Generator>
@@ -371,6 +366,8 @@
     </COMReference>
   </ItemGroup>
   <ItemGroup>
+    <None Include="Resources\Assets\logo.png" />
+    <None Include="Resources\Assets\banner.png" />
     <None Include="Resources\Flags\dutch.png" />
     <None Include="Resources\Assets\silver.png" />
     <None Include="Resources\Assets\ruby.png" />
@@ -387,17 +384,6 @@
     <None Include="Resources\Assets\loadingAzurite.gif" />
     <None Include="Resources\Assets\loadingAmethyst.gif" />
     <None Include="Resources\Assets\loadingAmber.gif" />
-    <None Include="Resources\Assets\bannerSilver.png" />
-    <None Include="Resources\Assets\bannerRuby.png" />
-    <None Include="Resources\Assets\bannerJade.png" />
-    <None Include="Resources\Assets\bannerAzurite.png" />
-    <None Include="Resources\Assets\bannerAmethyst.png" />
-    <None Include="Resources\Assets\bannerAmber.png" />
-    <None Include="Resources\Assets\logoSilver.png" />
-    <None Include="Resources\Assets\logoRuby.png" />
-    <None Include="Resources\Assets\logoJade.png" />
-    <None Include="Resources\Assets\logoAzurite.png" />
-    <None Include="Resources\Assets\logoAmber.png" />
     <None Include="Resources\Flags\egypt.png" />
     <None Include="Resources\Flags\poland.png" />
     <None Include="Resources\Flags\korea.png" />
@@ -413,7 +399,6 @@
     <None Include="Resources\Flags\czech.png" />
     <None Include="Resources\Flags\china.png" />
     <None Include="Resources\Flags\brazil.png" />
-    <None Include="Resources\Assets\logoAmethyst.png" />
     <EmbeddedResource Include="Newtonsoft.Json.dll" />
     <Content Include="optimizer.ico" />
   </ItemGroup>

+ 102 - 96
Optimizer/Options.cs

@@ -4,6 +4,7 @@ using System;
 using System.Drawing;
 using System.IO;
 using System.Linq;
+using System.Text;
 using System.Windows.Forms;
 
 namespace Optimizer
@@ -11,10 +12,11 @@ namespace Optimizer
     [Serializable]
     public class SettingsJson
     {
-        public Theme Color { get; set; }
+        public Color Theme { get; set; }
         public string AppsFolder { get; set; }
         public bool EnableTray { get; set; }
         public bool ShowHelp { get; set; }
+        public bool AutoStart { get; set; }
 
         public LanguageCode LanguageCode { get; set; }
 
@@ -44,6 +46,7 @@ namespace Optimizer
         public bool DisableVisualStudioTelemetry { get; set; }
         public bool DisableFirefoxTemeletry { get; set; }
         public bool DisableChromeTelemetry { get; set; }
+        public bool DisableNVIDIATelemetry { get; set; }
 
         // windows 8
         public bool DisableOneDrive { get; set; }
@@ -85,10 +88,13 @@ namespace Optimizer
 
     internal static class Options
     {
+        const int CONTRAST_THRESHOLD = 149;
+
         internal static Color ForegroundColor = Color.FromArgb(153, 102, 204);
         internal static Color ForegroundAccentColor = Color.FromArgb(134, 89, 179);
         internal static Color BackgroundColor = Color.FromArgb(10, 10, 10);
         internal static Color BackAccentColor = Color.FromArgb(40, 40, 40);
+        internal static Color TextColor;
 
         readonly static string _themeFlag = "themeable";
         internal readonly static string SettingsFile = Required.CoreFolder + "\\Optimizer.json";
@@ -97,29 +103,15 @@ namespace Optimizer
 
         internal static dynamic TranslationList;
 
+        internal static Color GetContrastColor(Color c)
+        {
+            double brightness = c.R * 0.299 + c.G * 0.587 + c.B * 0.114;
+            return brightness > CONTRAST_THRESHOLD ? Color.Black : Color.White;
+        }
+
         internal static void ApplyTheme(Form f)
         {
-            switch (CurrentOptions.Color)
-            {
-                case Theme.Amber:
-                    SetTheme(f, Color.FromArgb(195, 146, 0), Color.FromArgb(171, 128, 0));
-                    break;
-                case Theme.Jade:
-                    SetTheme(f, Color.FromArgb(70, 175, 105), Color.FromArgb(61, 153, 92));
-                    break;
-                case Theme.Ruby:
-                    SetTheme(f, Color.FromArgb(205, 22, 39), Color.FromArgb(155, 17, 30));
-                    break;
-                case Theme.Silver:
-                    SetTheme(f, Color.Gray, Color.DimGray);
-                    break;
-                case Theme.Azurite:
-                    SetTheme(f, Color.FromArgb(0, 127, 255), Color.FromArgb(0, 111, 223));
-                    break;
-                case Theme.Amethyst:
-                    SetTheme(f, Color.FromArgb(153, 102, 204), Color.FromArgb(134, 89, 179));
-                    break;
-            }
+            SetTheme(f, CurrentOptions.Theme, ColorHelper.ChangeColorBrightness(CurrentOptions.Theme, 0.7));
         }
 
         private static void SetTheme(Form f, Color c1, Color c2)
@@ -127,6 +119,7 @@ namespace Optimizer
             dynamic c;
             ForegroundColor = c1;
             ForegroundAccentColor = c2;
+            TextColor = GetContrastColor(CurrentOptions.Theme);
 
             Utilities.GetSelfAndChildrenRecursive(f).ToList().ForEach(x =>
             {
@@ -134,6 +127,7 @@ namespace Optimizer
 
                 if (x is Button)
                 {
+                    c.ForeColor = TextColor;
                     c.BackColor = c1;
                     c.FlatAppearance.BorderColor = c1;
                     c.FlatAppearance.MouseDownBackColor = c2;
@@ -200,83 +194,95 @@ namespace Optimizer
 
         internal static void LoadSettings()
         {
-            if (!File.Exists(SettingsFile))
+            if (!File.Exists(SettingsFile) || File.ReadAllText(SettingsFile).Contains("\"Color\":"))
             {
-                // DEFAULT OPTIONS
-                CurrentOptions.Color = Theme.Amethyst;
-                CurrentOptions.AppsFolder = Path.Combine(Application.StartupPath, "Optimizer Downloads");
-                Directory.CreateDirectory(Options.CurrentOptions.AppsFolder);
-                CurrentOptions.EnableTray = false;
-                CurrentOptions.ShowHelp = true;
-
-                CurrentOptions.LanguageCode = LanguageCode.EN;
-
-                CurrentOptions.EnablePerformanceTweaks = false;
-                CurrentOptions.DisableNetworkThrottling = false;
-                CurrentOptions.DisableWindowsDefender = false;
-                CurrentOptions.DisableSystemRestore = false;
-                CurrentOptions.DisablePrintService = false;
-                CurrentOptions.DisableMediaPlayerSharing = false;
-                CurrentOptions.DisableErrorReporting = false;
-                CurrentOptions.DisableHomeGroup = false;
-                CurrentOptions.DisableSuperfetch = false;
-                CurrentOptions.DisableTelemetryTasks = false;
-                CurrentOptions.DisableOffice2016Telemetry = false;
-                CurrentOptions.DisableCompatibilityAssistant = false;
-                CurrentOptions.DisableFaxService = false;
-                CurrentOptions.DisableSmartScreen = false;
-                CurrentOptions.DisableStickyKeys = false;
-                CurrentOptions.EnableGamingMode = false;
-                CurrentOptions.EnableLegacyVolumeSlider = false;
-                CurrentOptions.DisableQuickAccessHistory = false;
-                CurrentOptions.DisableStartMenuAds = false;
-                CurrentOptions.UninstallOneDrive = false;
-                CurrentOptions.DisableMyPeople = false;
-                CurrentOptions.DisableAutomaticUpdates = false;
-                CurrentOptions.ExcludeDrivers = false;
-                CurrentOptions.DisableTelemetryServices = false;
-                CurrentOptions.DisablePrivacyOptions = false;
-                CurrentOptions.DisableCortana = false;
-                CurrentOptions.DisableSensorServices = false;
-                CurrentOptions.DisableWindowsInk = false;
-                CurrentOptions.DisableSpellingTyping = false;
-                CurrentOptions.DisableXboxLive = false;
-                CurrentOptions.DisableGameBar = false;
-                CurrentOptions.DisableInsiderService = false;
-                CurrentOptions.DisableFeatureUpdates = false;
-                CurrentOptions.DisableCloudClipboard = false;
-                CurrentOptions.EnableLongPaths = false;
-                CurrentOptions.RemoveCastToDevice = false;
-                CurrentOptions.DisableHibernation = false;
-                CurrentOptions.DisableSMB1 = false;
-                CurrentOptions.DisableSMB2 = false;
-                CurrentOptions.DisableNTFSTimeStamp = false;
-
-                CurrentOptions.DisableVisualStudioTelemetry = false;
-                CurrentOptions.DisableFirefoxTemeletry = false;
-                CurrentOptions.DisableChromeTelemetry = false;
-
-                CurrentOptions.DisableOneDrive = false;
-
-                CurrentOptions.TaskbarToLeft = false;
-                CurrentOptions.DisableSnapAssist = false;
-                CurrentOptions.DisableWidgets = false;
-                CurrentOptions.DisableChat = false;
-                CurrentOptions.TaskbarSmaller = false;
-                CurrentOptions.ClassicRibbon = false;
-                CurrentOptions.ClassicMenu = false;
-                CurrentOptions.DisableTPMCheck = false;
-                CurrentOptions.CompactMode = false;
-                CurrentOptions.DisableStickers = false;
-
-                using (FileStream fs = File.Open(SettingsFile, FileMode.CreateNew))
-                using (StreamWriter sw = new StreamWriter(fs))
-                using (JsonWriter jw = new JsonTextWriter(sw))
+                // settings migration for new color picker
+                if (File.Exists(SettingsFile) && File.ReadAllText(SettingsFile).Contains("\"Color\":"))
                 {
-                    jw.Formatting = Formatting.Indented;
+                    SettingsJson tmpJson = JsonConvert.DeserializeObject<SettingsJson>(File.ReadAllText(SettingsFile));
+                    tmpJson.Theme = Color.FromArgb(153, 102, 204);
+                    CurrentOptions = tmpJson;
+                }
+                else
+                {
+                    // DEFAULT OPTIONS
+                    CurrentOptions.Theme = Color.FromArgb(153, 102, 204);
+                    CurrentOptions.AppsFolder = Path.Combine(Application.StartupPath, "Optimizer Downloads");
+                    Directory.CreateDirectory(Options.CurrentOptions.AppsFolder);
+                    CurrentOptions.EnableTray = false;
+                    CurrentOptions.ShowHelp = true;
+                    CurrentOptions.AutoStart = false;
+
+                    CurrentOptions.LanguageCode = LanguageCode.EN;
+
+                    CurrentOptions.EnablePerformanceTweaks = false;
+                    CurrentOptions.DisableNetworkThrottling = false;
+                    CurrentOptions.DisableWindowsDefender = false;
+                    CurrentOptions.DisableSystemRestore = false;
+                    CurrentOptions.DisablePrintService = false;
+                    CurrentOptions.DisableMediaPlayerSharing = false;
+                    CurrentOptions.DisableErrorReporting = false;
+                    CurrentOptions.DisableHomeGroup = false;
+                    CurrentOptions.DisableSuperfetch = false;
+                    CurrentOptions.DisableTelemetryTasks = false;
+                    CurrentOptions.DisableOffice2016Telemetry = false;
+                    CurrentOptions.DisableCompatibilityAssistant = false;
+                    CurrentOptions.DisableFaxService = false;
+                    CurrentOptions.DisableSmartScreen = false;
+                    CurrentOptions.DisableStickyKeys = false;
+                    CurrentOptions.EnableGamingMode = false;
+                    CurrentOptions.EnableLegacyVolumeSlider = false;
+                    CurrentOptions.DisableQuickAccessHistory = false;
+                    CurrentOptions.DisableStartMenuAds = false;
+                    CurrentOptions.UninstallOneDrive = false;
+                    CurrentOptions.DisableMyPeople = false;
+                    CurrentOptions.DisableAutomaticUpdates = false;
+                    CurrentOptions.ExcludeDrivers = false;
+                    CurrentOptions.DisableTelemetryServices = false;
+                    CurrentOptions.DisablePrivacyOptions = false;
+                    CurrentOptions.DisableCortana = false;
+                    CurrentOptions.DisableSensorServices = false;
+                    CurrentOptions.DisableWindowsInk = false;
+                    CurrentOptions.DisableSpellingTyping = false;
+                    CurrentOptions.DisableXboxLive = false;
+                    CurrentOptions.DisableGameBar = false;
+                    CurrentOptions.DisableInsiderService = false;
+                    CurrentOptions.DisableFeatureUpdates = false;
+                    CurrentOptions.DisableCloudClipboard = false;
+                    CurrentOptions.EnableLongPaths = false;
+                    CurrentOptions.RemoveCastToDevice = false;
+                    CurrentOptions.DisableHibernation = false;
+                    CurrentOptions.DisableSMB1 = false;
+                    CurrentOptions.DisableSMB2 = false;
+                    CurrentOptions.DisableNTFSTimeStamp = false;
+
+                    CurrentOptions.DisableVisualStudioTelemetry = false;
+                    CurrentOptions.DisableFirefoxTemeletry = false;
+                    CurrentOptions.DisableChromeTelemetry = false;
+                    CurrentOptions.DisableNVIDIATelemetry = false;
+
+                    CurrentOptions.DisableOneDrive = false;
+
+                    CurrentOptions.TaskbarToLeft = false;
+                    CurrentOptions.DisableSnapAssist = false;
+                    CurrentOptions.DisableWidgets = false;
+                    CurrentOptions.DisableChat = false;
+                    CurrentOptions.TaskbarSmaller = false;
+                    CurrentOptions.ClassicRibbon = false;
+                    CurrentOptions.ClassicMenu = false;
+                    CurrentOptions.DisableTPMCheck = false;
+                    CurrentOptions.CompactMode = false;
+                    CurrentOptions.DisableStickers = false;
+
+                    using (FileStream fs = File.Open(SettingsFile, FileMode.CreateNew))
+                    using (StreamWriter sw = new StreamWriter(fs))
+                    using (JsonWriter jw = new JsonTextWriter(sw))
+                    {
+                        jw.Formatting = Formatting.Indented;
 
-                    JsonSerializer serializer = new JsonSerializer();
-                    serializer.Serialize(jw, CurrentOptions);
+                        JsonSerializer serializer = new JsonSerializer();
+                        serializer.Serialize(jw, CurrentOptions);
+                    }
                 }
             }
             else

+ 10 - 6
Optimizer/Program.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Diagnostics;
 using System.IO;
 using System.Linq;
 using System.Reflection;
@@ -13,7 +14,7 @@ namespace Optimizer
         /* DO NOT LEAVE THEM EMPTY */
 
         internal readonly static float Major = 14;
-        internal readonly static float Minor = 0;
+        internal readonly static float Minor = 1;
 
         internal readonly static bool EXPERIMENTAL_BUILD = false;
 
@@ -38,7 +39,7 @@ namespace Optimizer
         internal static SplashForm _SplashForm;
 
         static string _adminMissingMessage = "Optimizer needs to be run as administrator!\nApp will now close...";
-        static string _unsupportedMessage = "Optimizer works in Windows 7 or higher!\nApp will now close...";
+        static string _unsupportedMessage = "Optimizer works with Windows 7 and higher!\nApp will now close...";
 
         //static string _renameAppMessage = "It's recommended to rename the app from '{0}' to 'Optimizer' for a better experience.\n\nApp will now close...";
 
@@ -87,8 +88,11 @@ namespace Optimizer
                 {
                     if (!Utilities.IsAdmin())
                     {
-                        HelperForm f = new HelperForm(null, MessageType.Error, _adminMissingMessage);
-                        f.ShowDialog();
+                        string file = Process.GetCurrentProcess().MainModule.FileName;
+                        ProcessStartInfo p = new ProcessStartInfo(file);
+                        p.Verb = "runas";
+                        p.Arguments = string.Join(" ", switches);
+                        Process.Start(p);
 
                         Environment.Exit(0);
                     }
@@ -167,13 +171,13 @@ namespace Optimizer
 
                                 if (arg == "/addstartup")
                                 {
-                                    Utilities.AddToStartup();
+                                    Utilities.RegisterAutoStart();
                                     Environment.Exit(0);
                                 }
 
                                 if (arg == "/deletestartup")
                                 {
-                                    Utilities.DeleteFromStartup();
+                                    Utilities.UnregisterAutoStart();
                                     Environment.Exit(0);
                                 }
 

+ 6 - 106
Optimizer/Properties/Resources.Designer.cs

@@ -139,59 +139,9 @@ namespace Optimizer.Properties {
         /// <summary>
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
-        internal static System.Drawing.Bitmap bannerAmber {
+        internal static System.Drawing.Bitmap banner {
             get {
-                object obj = ResourceManager.GetObject("bannerAmber", resourceCulture);
-                return ((System.Drawing.Bitmap)(obj));
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized resource of type System.Drawing.Bitmap.
-        /// </summary>
-        internal static System.Drawing.Bitmap bannerAmethyst {
-            get {
-                object obj = ResourceManager.GetObject("bannerAmethyst", resourceCulture);
-                return ((System.Drawing.Bitmap)(obj));
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized resource of type System.Drawing.Bitmap.
-        /// </summary>
-        internal static System.Drawing.Bitmap bannerAzurite {
-            get {
-                object obj = ResourceManager.GetObject("bannerAzurite", resourceCulture);
-                return ((System.Drawing.Bitmap)(obj));
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized resource of type System.Drawing.Bitmap.
-        /// </summary>
-        internal static System.Drawing.Bitmap bannerJade {
-            get {
-                object obj = ResourceManager.GetObject("bannerJade", resourceCulture);
-                return ((System.Drawing.Bitmap)(obj));
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized resource of type System.Drawing.Bitmap.
-        /// </summary>
-        internal static System.Drawing.Bitmap bannerRuby {
-            get {
-                object obj = ResourceManager.GetObject("bannerRuby", resourceCulture);
-                return ((System.Drawing.Bitmap)(obj));
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized resource of type System.Drawing.Bitmap.
-        /// </summary>
-        internal static System.Drawing.Bitmap bannerSilver {
-            get {
-                object obj = ResourceManager.GetObject("bannerSilver", resourceCulture);
+                object obj = ResourceManager.GetObject("banner", resourceCulture);
                 return ((System.Drawing.Bitmap)(obj));
             }
         }
@@ -251,10 +201,10 @@ namespace Optimizer.Properties {
         ///	&quot;restartAndApply&quot;: &quot;Restartovat a použít změny&quot;,
         ///	&quot;btnFind&quot;: &quot;Nalézt&quot;,
         ///	&quot;btnKill&quot;: &quot;Zabít&quot;,
-        ///	&quot;trayUnlocker&quot;: &quot;Držadla souborů&quot;,
+        ///	&quot;trayUnlocker&quot;: &quot;Držadla souborů (File Handles)&quot;,
         ///	&quot;txtVersion&quot;: &quot;Verze: {VN}&quot;,
         ///	&quot;onedriveM&quot;: &quot;Opravdu chcete odinstalovat OneDrive? Tím smažete soubory plochy a dokumentů! Tuto možnost používejte pouze na místním účtu!&quot;,
-        ///	&quot;systemRestoreM&quot;: &quot;Opravdu chcete zakázat Obnovení systému? T [rest of string was truncated]&quot;;.
+        ///	&quot;systemRestoreM&quot;: &quot;Opravdu chcete zakázat Obno [rest of string was truncated]&quot;;.
         /// </summary>
         internal static string CZ {
             get {
@@ -869,59 +819,9 @@ namespace Optimizer.Properties {
         /// <summary>
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
-        internal static System.Drawing.Bitmap logoAmber {
-            get {
-                object obj = ResourceManager.GetObject("logoAmber", resourceCulture);
-                return ((System.Drawing.Bitmap)(obj));
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized resource of type System.Drawing.Bitmap.
-        /// </summary>
-        internal static System.Drawing.Bitmap logoAmethyst {
-            get {
-                object obj = ResourceManager.GetObject("logoAmethyst", resourceCulture);
-                return ((System.Drawing.Bitmap)(obj));
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized resource of type System.Drawing.Bitmap.
-        /// </summary>
-        internal static System.Drawing.Bitmap logoAzurite {
-            get {
-                object obj = ResourceManager.GetObject("logoAzurite", resourceCulture);
-                return ((System.Drawing.Bitmap)(obj));
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized resource of type System.Drawing.Bitmap.
-        /// </summary>
-        internal static System.Drawing.Bitmap logoJade {
-            get {
-                object obj = ResourceManager.GetObject("logoJade", resourceCulture);
-                return ((System.Drawing.Bitmap)(obj));
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized resource of type System.Drawing.Bitmap.
-        /// </summary>
-        internal static System.Drawing.Bitmap logoRuby {
-            get {
-                object obj = ResourceManager.GetObject("logoRuby", resourceCulture);
-                return ((System.Drawing.Bitmap)(obj));
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized resource of type System.Drawing.Bitmap.
-        /// </summary>
-        internal static System.Drawing.Bitmap logoSilver {
+        internal static System.Drawing.Bitmap logo {
             get {
-                object obj = ResourceManager.GetObject("logoSilver", resourceCulture);
+                object obj = ResourceManager.GetObject("logo", resourceCulture);
                 return ((System.Drawing.Bitmap)(obj));
             }
         }

+ 6 - 36
Optimizer/Properties/Resources.resx

@@ -208,9 +208,6 @@
   <data name="CN" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\i18n\CN.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
   </data>
-  <data name="logoAmethyst" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\Assets\logoAmethyst.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
   <data name="CZ" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\i18n\CZ.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
   </data>
@@ -271,39 +268,6 @@
   <data name="EnableDefenderSafeMode1903Plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\Scripts\EnableDefenderSafeMode1903Plus.bat;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
   </data>
-  <data name="logoAmber" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\Assets\logoAmber.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="logoAzurite" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\Assets\logoAzurite.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="logoJade" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\Assets\logoJade.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="logoRuby" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\Assets\logoRuby.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="logoSilver" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\Assets\logoSilver.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="bannerAmber" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\Assets\bannerAmber.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="bannerAmethyst" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\Assets\bannerAmethyst.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="bannerAzurite" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\Assets\bannerAzurite.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="bannerJade" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\Assets\bannerJade.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="bannerRuby" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\Assets\bannerRuby.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="bannerSilver" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\Assets\bannerSilver.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
   <data name="loadingAmber" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\Assets\loadingAmber.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
@@ -370,4 +334,10 @@
   <data name="NL" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\i18n\NL.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
   </data>
+  <data name="banner" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\Assets\banner.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="logo" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\Assets\logo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
 </root>

二进制
Optimizer/Resources/Assets/banner.png


二进制
Optimizer/Resources/Assets/bannerAmber.png


二进制
Optimizer/Resources/Assets/bannerAmethyst.png


二进制
Optimizer/Resources/Assets/bannerAzurite.png


二进制
Optimizer/Resources/Assets/bannerJade.png


二进制
Optimizer/Resources/Assets/bannerRuby.png


二进制
Optimizer/Resources/Assets/bannerSilver.png


二进制
Optimizer/Resources/Assets/logo.png


二进制
Optimizer/Resources/Assets/logoAmber.png


二进制
Optimizer/Resources/Assets/logoAmethyst.png


二进制
Optimizer/Resources/Assets/logoAzurite.png


二进制
Optimizer/Resources/Assets/logoJade.png


二进制
Optimizer/Resources/Assets/logoRuby.png


二进制
Optimizer/Resources/Assets/logoSilver.png


+ 3 - 1
Optimizer/Resources/i18n/AR.json

@@ -424,5 +424,7 @@
 	تم استبداله بـ SMBv3 ، وهو أكثر أمانًا.",
 	"ntfsStampSw": "تعطيل الطابع الزمني NTFS",
 	"ntfsStampTip": "يشير إلى آخر طابع تم الوصول إليه للملف.
-	يمكن أن يؤدي تعطيله إلى تقليل عمليات الإدخال / الإخراج على الأقراص."
+	يمكن أن يؤدي تعطيله إلى تقليل عمليات الإدخال / الإخراج على الأقراص.",
+	"autoStartToggle": "ابدأ بنظام Windows",
+	"nvidiaTelemetrySw": "قم بتعطيل NVIDIA Telemetry"
 }

+ 3 - 1
Optimizer/Resources/i18n/CN.json

@@ -422,5 +422,7 @@
 	它已被更安全的 SMBv3 取代。",
 	"ntfsStampSw": "禁用 NTFS 时间戳",
 	"ntfsStampTip": "指示文件的最后一次访问时间戳。
-	禁用它可以减少磁盘上的 I/O 操作。"
+	禁用它可以减少磁盘上的 I/O 操作。",
+	"autoStartToggle": "从 Windows 开始",
+	"nvidiaTelemetrySw": "禁用 NVIDIA 遥测"
 }

+ 3 - 1
Optimizer/Resources/i18n/CZ.json

@@ -424,5 +424,7 @@ Je to však považováno za riskantní procedůru. Obvykle se jedná o půlročn
 	Byl nahrazen SMBv3, který je bezpečnější.",
 	"ntfsStampSw": "Zakázat časové razítko NTFS",
 	"ntfsStampTip": "Označuje razítko posledního přístupu k souboru.
-	Jeho zakázáním můžete snížit I/O operace na discích."
+	Jeho zakázáním můžete snížit I/O operace na discích.",
+	"autoStartToggle": "Začněte s Windows",
+	"nvidiaTelemetrySw": "Zakázat telemetrii NVIDIA"
 }

+ 3 - 1
Optimizer/Resources/i18n/DE.json

@@ -399,5 +399,7 @@
 Es wurde durch SMBv3 ersetzt, das sicherer ist.",
 	"ntfsStampSw": "Deaktiviere den NTFS-Zeitstempel",
 	"ntfsStampTip": "Gibt den Zeitpunkt des letzten Zugriffs auf die Datei an.
-Durch Deaktivieren können die E/A-Vorgänge auf den Festplatten reduziert werden."
+Durch Deaktivieren können die E/A-Vorgänge auf den Festplatten reduziert werden.",
+	"autoStartToggle": "Starte mit Windows",
+	"nvidiaTelemetrySw": "Deaktivieren Sie die NVIDIA-Telemetrie"
 }

+ 3 - 1
Optimizer/Resources/i18n/EL.json

@@ -419,5 +419,7 @@
 	"smbTip": "Το πρωτόκολλο SMB{v} είναι υπεύθυνο για την κοινή χρήση αρχείων μεταξύ υπολογιστών με Windows.
 	Έχει αντικατασταθεί με SMBv3, το οποίο είναι πιο ασφαλές.",
 	"ntfsStampSw": "Απενεργοποίηση NTFS Timestamp",
-	"ntfsStampTip": "Το NTFS Timestamp δείχνει τον χρόνο της τελευταίας πρόσβασης του αρχειού. Η απενεργοποίηση του βελτιώνει την ταχύτητα των δίσκων."
+	"ntfsStampTip": "Το NTFS Timestamp δείχνει τον χρόνο της τελευταίας πρόσβασης του αρχειού. Η απενεργοποίηση του βελτιώνει την ταχύτητα των δίσκων.",
+	"autoStartToggle": "Εκκίνηση με τα Windows",
+	"nvidiaTelemetrySw": "Απενεργοποίηση τηλεμετρίας NVIDIA"
 }

+ 4 - 2
Optimizer/Resources/i18n/EN.json

@@ -234,7 +234,7 @@
 	"savebtn": "Save",
 	"closebtn": "Close",
 	"adminMissingMsg": "Optimizer needs to be run as administrator!\nApp will now close...",
-	"unsupportedMsg": "Optimizer works in Windows 7 or higher!\nApp will now close...",
+	"unsupportedMsg": "Optimizer works with Windows 7 and higher!\nApp will now close...",
 	"confInvalidVersionMsg": "Windows version does not match!",
 	"confInvalidFormatMsg": "Config file is in invalid format!",
 	"confNotFoundMsg": "Config file does not exist!",
@@ -424,5 +424,7 @@ However, they are considered a risky procedure. They are usually semi-annual rel
 It has been replaced with SMBv3, which is more secure.",
 	"ntfsStampSw": "Disable NTFS Timestamp",
 	"ntfsStampTip": "Indicates the file's last time accessed stamp.
-Disabling it can reduce I/O operations on the disks."
+Disabling it can reduce I/O operations on the disks.",
+	"autoStartToggle": "Start with Windows",
+	"nvidiaTelemetrySw": "Disable NVIDIA Telemetry"
 }

+ 3 - 1
Optimizer/Resources/i18n/ES.json

@@ -421,5 +421,7 @@ Sin embargo, se consideran un procedimiento riesgoso. Suelen ser lanzamientos se
 	Ha sido reemplazado por SMBv3, que es más seguro.",
 	"ntfsStampSw": "Deshabilitar marca de tiempo NTFS",
 	"ntfsStampTip": "Indica la marca de la última vez que se accedió al archivo.
-	Deshabilitarlo puede reducir las operaciones de E/S en los discos."
+	Deshabilitarlo puede reducir las operaciones de E/S en los discos.",
+	"autoStartToggle": "Comience con el Windows",
+	"nvidiaTelemetrySw": "Deshabilitar la telemetría de NVIDIA"
 }

+ 3 - 1
Optimizer/Resources/i18n/FR.json

@@ -421,5 +421,7 @@ Cependant, elles sont considerees comme une procedure risquee. Il s'agit general
 	Il a été remplacé par SMBv3, qui est plus sécurisé.",
 	"ntfsStampSw": "Désactiver l'horodatage NTFS",
 	"ntfsStampTip": "Indique l'horodatage du dernier accès au fichier.
-	Sa désactivation peut réduire les opérations d'E/S sur les disques."
+	Sa désactivation peut réduire les opérations d'E/S sur les disques.",
+	"autoStartToggle": "Commence avec Windows",
+	"nvidiaTelemetrySw": "Désactiver la télémétrie NVIDIA"
 }

+ 3 - 1
Optimizer/Resources/i18n/HU.json

@@ -424,5 +424,7 @@
 	Lecserélték SMBv3-ra, ami biztonságosabb.",
 	"ntfsStampSw": "Az NTFS időbélyegző letiltása",
 	"ntfsStampTip": "A fájl utoljára elért bélyegzőjét jelzi.
-	A letiltása csökkentheti az I/O műveleteket a lemezeken."
+	A letiltása csökkentheti az I/O műveleteket a lemezeken.",
+	"autoStartToggle": "Kezdje a Windows rendszerrel",
+	"nvidiaTelemetrySw": "Az NVIDIA telemetria letiltása"
 }

+ 3 - 1
Optimizer/Resources/i18n/IT.json

@@ -419,5 +419,7 @@ Tuttavia, sono considerate procedure rischiose. Sono normalmente una release ogn
 	È stato sostituito con SMBv3, che è più sicuro.",
 	"ntfsStampSw": "Disabilita il timestamp NTFS",
 	"ntfsStampTip": "Indica l'ultima volta che si è avuto accesso al file.
-	La disabilitazione può ridurre le operazioni di I/O sui dischi."
+	La disabilitazione può ridurre le operazioni di I/O sui dischi.",
+	"autoStartToggle": "Inizia con Windows",
+	"nvidiaTelemetrySw": "Disabilita la telemetria NVIDIA"
 }

+ 3 - 1
Optimizer/Resources/i18n/KO.json

@@ -424,5 +424,7 @@ Microsoft 계정 로그인이 필요합니다.",
 	더 안전한 SMBv3으로 대체되었습니다.",
 	"ntfsStampSw": "NTFS 타임스탬프 비활성화",
 	"ntfsStampTip": "파일의 마지막 액세스 시간 스탬프를 나타냅니다.
-	비활성화하면 디스크의 I/O 작업을 줄일 수 있습니다."
+	비활성화하면 디스크의 I/O 작업을 줄일 수 있습니다.",
+	"autoStartToggle": "Windows로 시작",
+	"nvidiaTelemetrySw": "NVIDIA 원격 측정 비활성화"
 }

+ 3 - 1
Optimizer/Resources/i18n/KU.json

@@ -423,5 +423,7 @@
 	بە SMBv3 گۆڕدراوە کە پارێزراوترە.",
 	"ntfsStampSw": "مۆری کاتی NTFS لەکاربخە",
 	"ntfsStampTip": "ئاماژە بە دوایین جار مۆری پەڕگەکە دەکات کە دەستی پێگەیشتووە.
-	لەکارخستنی دەتوانێت کارەکانی I/O لەسەر دیسکەکان کەم بکاتەوە."
+	لەکارخستنی دەتوانێت کارەکانی I/O لەسەر دیسکەکان کەم بکاتەوە.",
+	"autoStartToggle": "لە ویندۆزەوە دەست پێ بکە",
+	"nvidiaTelemetrySw": "NVIDIA Telemetry لەکاربخە"
 }

+ 3 - 1
Optimizer/Resources/i18n/NL.json

@@ -374,5 +374,7 @@
    "smbSw2":"SMBv2-protocol uitschakelen",
    "smbTip":"Het SMB{v}-protocol is verantwoordelijk voor het delen van bestanden tussen Windows-computers. Het is vervangen door SMBv3, wat veiliger is.",
    "ntfsStampSw":"NTFS-tijdstempel uitschakelen",
-   "ntfsStampTip":"Geeft aan wanneer het bestand voor het laatst is geopend. Uitschakelen kan I/O-bewerkingen op de harde schijven verminderen."
+   "ntfsStampTip":"Geeft aan wanneer het bestand voor het laatst is geopend. Uitschakelen kan I/O-bewerkingen op de harde schijven verminderen.",
+   "autoStartToggle": "Begin met Windows",
+   "nvidiaTelemetrySw": "NVIDIA-telemetrie uitschakelen"
 }

+ 3 - 1
Optimizer/Resources/i18n/PL.json

@@ -421,5 +421,7 @@ Są one jednak uważane za ryzykowną procedurę. Zazwyczaj są wydawane co pó
 	Został zastąpiony SMBv3, który jest bezpieczniejszy.",
 	"ntfsStampSw": "Wyłącz znacznik czasu NTFS",
 	"ntfsStampTip": "Wskazuje pieczęć ostatniego dostępu do pliku.
-	Wyłączenie go może zmniejszyć liczbę operacji we/wy na dyskach."
+	Wyłączenie go może zmniejszyć liczbę operacji we/wy na dyskach.",
+	"autoStartToggle": "Uruchom z Windows",
+	"nvidiaTelemetrySw": "Wyłącz telemetrię NVIDIA"
 }

+ 3 - 1
Optimizer/Resources/i18n/PT.json

@@ -421,5 +421,7 @@ No entanto, eles são considerados um procedimento arriscado. Geralmente são la
 	Ele foi substituído pelo SMBv3, que é mais seguro.",
 	"ntfsStampSw": "Desativar carimbo de data/hora NTFS",
 	"ntfsStampTip": "Indica o último carimbo de acesso do arquivo.
-	Desabilitar pode reduzir as operações de E/S nos discos."
+	Desabilitar pode reduzir as operações de E/S nos discos.",
+	"autoStartToggle": "Comece com o Windows",
+	"nvidiaTelemetrySw": "Desativar a telemetria NVIDIA"
 }

+ 3 - 1
Optimizer/Resources/i18n/RO.json

@@ -405,5 +405,7 @@ pentru analiză către Microsoft.",
 	A fost înlocuit cu SMBv3, care este mai sigur.",
 	"ntfsStampSw": "Dezactivați marcajul de timp NTFS",
 	"ntfsStampTip": "Indică ștampila la care a fost accesat ultima dată fișierul.
-	Dezactivarea acestuia poate reduce operațiunile I/O pe discuri."
+	Dezactivarea acestuia poate reduce operațiunile I/O pe discuri.",
+	"autoStartToggle": "Începeți cu Windows",
+	"nvidiaTelemetrySw": "Dezactivați telemetria NVIDIA"
 }

+ 3 - 1
Optimizer/Resources/i18n/RU.json

@@ -424,5 +424,7 @@
 	Он был заменен на более безопасный SMBv3.",
 	"ntfsStampSw": "Отключить временную метку NTFS",
 	"ntfsStampTip": "Указывает отметку времени последнего доступа к файлу.
-	Его отключение может уменьшить количество операций ввода-вывода на дисках."
+	Его отключение может уменьшить количество операций ввода-вывода на дисках.",
+	"autoStartToggle": "Начните с Windows",
+	"nvidiaTelemetrySw": "Отключить телеметрию NVIDIA"
 }

+ 3 - 1
Optimizer/Resources/i18n/TR.json

@@ -422,5 +422,7 @@ Ancak, riskli bir prosedür olarak kabul edilirler. Genellikle altı aylık yay
 	Daha güvenli olan SMBv3 ile değiştirildi.",
 	"ntfsStampSw": "NTFS Zaman Damgasını Devre Dışı Bırak",
 	"ntfsStampTip": "Dosyanın en son erişilen damgasını gösterir.
-	Devre dışı bırakmak, disklerdeki G/Ç işlemlerini azaltabilir."
+	Devre dışı bırakmak, disklerdeki G/Ç işlemlerini azaltabilir.",
+	"autoStartToggle": "Windows başla",
+	"nvidiaTelemetrySw": "NVIDIA Telemetrisini Devre Dışı Bırak"
 }

+ 3 - 1
Optimizer/Resources/i18n/TW.json

@@ -422,5 +422,7 @@
 	它已被更安全的 SMBv3 取代。",
 	"ntfsStampSw": "禁用 NTFS 時間戳",
 	"ntfsStampTip": "指示文件的最後一次訪問時間戳。
-	禁用它可以減少磁盤上的 I/O 操作。"
+	禁用它可以減少磁盤上的 I/O 操作。",
+	"autoStartToggle": "從 Windows 開始",
+	"nvidiaTelemetrySw": "禁用 NVIDIA 遙測"
 }

+ 1 - 0
Optimizer/SilentConfig.cs

@@ -31,6 +31,7 @@ namespace Optimizer
         public bool? DisableVisualStudioTelemetry { get; set; }
         public bool? DisableFirefoxTemeletry { get; set; }
         public bool? DisableChromeTelemetry { get; set; }
+        public bool? DisableNVIDIATelemetry { get; set; }
 
         public bool? EnableLegacyVolumeSlider { get; set; }
         public bool? DisableQuickAccessHistory { get; set; }

+ 16 - 0
Optimizer/SilentOps.cs

@@ -289,6 +289,18 @@ namespace Optimizer
                     Optimize.EnableVisualStudioTelemetry();
                 }
             }
+
+            if (CurrentSilentConfig.DisableNVIDIATelemetry.HasValue)
+            {
+                if (CurrentSilentConfig.DisableNVIDIATelemetry.Value)
+                {
+                    Optimize.DisableNvidiaTelemetry();
+                }
+                else
+                {
+                    Optimize.EnableNvidiaTelemetry();
+                }
+            }
         }
 
         // silent config processing for Windows 8 tweaks
@@ -781,6 +793,10 @@ namespace Optimizer
             {
                 Options.CurrentOptions.DisableChromeTelemetry = CurrentSilentConfig.DisableChromeTelemetry.Value;
             }
+            if (CurrentSilentConfig.DisableNVIDIATelemetry.HasValue)
+            {
+                Options.CurrentOptions.DisableNVIDIATelemetry = CurrentSilentConfig.DisableNVIDIATelemetry.Value;
+            }
         }
 
         internal static void SilentUpdateOptions8()

+ 2 - 2
Optimizer/Utilities.cs

@@ -699,7 +699,7 @@ namespace Optimizer
         //    catch { }
         //}
 
-        internal static void AddToStartup()
+        internal static void RegisterAutoStart()
         {
             try
             {
@@ -714,7 +714,7 @@ namespace Optimizer
             }
         }
 
-        internal static void DeleteFromStartup()
+        internal static void UnregisterAutoStart()
         {
             try
             {

+ 0 - 76
Optimizer/app.manifest

@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
-  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
-  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
-    <security>
-      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
-        <!-- UAC Manifest Options
-             If you want to change the Windows User Account Control level replace the 
-             requestedExecutionLevel node with one of the following.
-
-        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
-        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
-        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />
-
-            Specifying requestedExecutionLevel element will disable file and registry virtualization. 
-            Remove this element if your application requires this virtualization for backwards
-            compatibility.
-        -->
-        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
-      </requestedPrivileges>
-    </security>
-  </trustInfo>
-
-  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
-    <application>
-      <!-- A list of the Windows versions that this application has been tested on and is
-           is designed to work with. Uncomment the appropriate elements and Windows will 
-           automatically selected the most compatible environment. -->
-
-      <!-- Windows Vista -->
-      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
-
-      <!-- Windows 7 -->
-      <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
-
-      <!-- Windows 8 -->
-      <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
-
-      <!-- Windows 8.1 -->
-      <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
-
-      <!-- Windows 10 -->
-      <!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
-
-    </application>
-  </compatibility>
-
-  <!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
-       DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need 
-       to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should 
-       also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
-  <!--
-  <application xmlns="urn:schemas-microsoft-com:asm.v3">
-    <windowsSettings>
-      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
-    </windowsSettings>
-  </application>
-  -->
-
-  <!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
-  <!--
-  <dependency>
-    <dependentAssembly>
-      <assemblyIdentity
-          type="win32"
-          name="Microsoft.Windows.Common-Controls"
-          version="6.0.0.0"
-          processorArchitecture="*"
-          publicKeyToken="6595b64144ccf1df"
-          language="*"
-        />
-    </dependentAssembly>
-  </dependency>
-  -->
-
-</assembly>

+ 5 - 4
README.md

@@ -3,7 +3,7 @@
 </p> 
 
 <p align="center">
-	<a href="https://github.com/hellzerg/optimizer/releases/download/14.0/Optimizer-14.0.exe" target="_blank">
+	<a href="https://github.com/hellzerg/optimizer/releases/download/14.1/Optimizer-14.1.exe" target="_blank">
 		<img src="https://raw.githubusercontent.com/hellzerg/optimizer/master/download-button.png">
 		<br>
 		<img src="https://raw.githubusercontent.com/hellzerg/optimizer/master/flags.png">
@@ -88,9 +88,9 @@ https://github.com/hellzerg/optimizer/blob/master/LEGACY.md
 
 ### #️ Details: ###
 
-* Latest version: 14.0
-* Released: September 24, 2022
-* SHA256: 0BCC84F4993028A6D4F2E7139AC390DD78743831869CB0FB2D6E5E87E629DAF0
+* Latest version: 14.1
+* Released: October 18, 2022
+* SHA256: 888E350DF53B8AB0CB81775F3FAB3F87A1C73395BF88C80898688B784BB04E6C
 
 <hr>
 
@@ -105,6 +105,7 @@ Support my hard work by donating me through [PayPal](https://www.paypal.com/payp
 
 ### ❤️ Tools used: ###
 * [ByteSize](https://github.com/omar/ByteSize) | Thanks for this really tiny, yet extremely useful library
+* ColorPicker control | Thanks to cat - https://github.com/vadiscode for the new theme engine
 
 <hr>
 

+ 1 - 0
confs/win10.conf

@@ -39,6 +39,7 @@
   "DisableVisualStudioTelemetry": false,
   "DisableFirefoxTemeletry": false,
   "DisableChromeTelemetry": false,
+  "DisableNVIDIATelemetry": false,
   "DisableHibernation": false,
   "DisableSMB1": false,
   "DisableSMB2": false,

+ 2 - 1
confs/win11.conf

@@ -52,5 +52,6 @@
   "CompactMode": false,
   "DisableVisualStudioTelemetry": false,
   "DisableFirefoxTemeletry": false,
-  "DisableChromeTelemetry": false
+  "DisableChromeTelemetry": false,
+  "DisableNVIDIATelemetry": false
 }

+ 1 - 0
confs/win7.conf

@@ -18,6 +18,7 @@
   "DisableVisualStudioTelemetry": false,
   "DisableFirefoxTemeletry": false,
   "DisableChromeTelemetry": false,
+  "DisableNVIDIATelemetry": false,
   "DisableHibernation": false,
   "DisableSMB1": false,
   "DisableSMB2": false,

+ 1 - 0
confs/win8.conf

@@ -19,6 +19,7 @@
   "DisableVisualStudioTelemetry": false,
   "DisableFirefoxTemeletry": false,
   "DisableChromeTelemetry": false,
+  "DisableNVIDIATelemetry": false,
   "DisableHibernation": false,
   "DisableSMB1": false,
   "DisableSMB2": false,

+ 1 - 1
version.txt

@@ -1 +1 @@
-14.0
+14.1