Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 1 addition & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,6 @@ jobs:
- name: Publish self-contained single-file
run: dotnet publish "ThreadPilot.csproj" --configuration Release -p:PublishProfile=WinX64-SingleFile

- name: Ensure bundled power plans in single-file output
shell: pwsh
run: |
$ErrorActionPreference = "Stop"
New-Item -ItemType Directory -Force -Path "artifacts/release/singlefile/Powerplans" | Out-Null
Copy-Item "assets/Powerplans/*" -Destination "artifacts/release/singlefile/Powerplans" -Recurse -Force

- name: Publish ReadyToRun
run: dotnet publish "ThreadPilot.csproj" --configuration Release -p:PublishProfile=WinX64-ReadyToRun

Expand Down Expand Up @@ -158,6 +151,7 @@ jobs:
taskkill /IM "ThreadPilot.exe" /F >nul 2>&1

echo [2/4] Removing startup task and startup registry entry...
schtasks /Delete /TN "ThreadPilot_Launch" /F >nul 2>&1
schtasks /Delete /TN "ThreadPilot_Startup" /F >nul 2>&1
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "ThreadPilot" /f >nul 2>&1

Expand Down
3 changes: 2 additions & 1 deletion Installer/Installer.iss
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#define MyAppPublisher "ThreadPilot"
#define MyAppURL "https://github.com/"
#define MyAppExeName "ThreadPilot.exe"
#define MyAppVersion "1.6.0"
#define MyAppVersion "1.7.0"

#ifndef MyWizardStyle
#define MyWizardStyle "modern dynamic windows11"
Expand Down Expand Up @@ -55,6 +55,7 @@ Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChang

[UninstallRun]
Filename: "taskkill.exe"; Parameters: "/IM ""{#MyAppExeName}"" /F"; Flags: runhidden waituntilterminated; RunOnceId: "UninstallKill"
Filename: "schtasks.exe"; Parameters: "/Delete /TN ""ThreadPilot_Launch"" /F"; Flags: runhidden waituntilterminated; RunOnceId: "UninstallRemoveThreadPilotLaunchTask"
Filename: "schtasks.exe"; Parameters: "/Delete /TN ""ThreadPilot_Startup"" /F"; Flags: runhidden waituntilterminated; RunOnceId: "UninstallRemoveThreadPilotStartupTask"
Filename: "reg.exe"; Parameters: "delete ""HKCU\Software\Microsoft\Windows\CurrentVersion\Run"" /v ""ThreadPilot"" /f"; Flags: runhidden waituntilterminated; RunOnceId: "UninstallRemoveThreadPilotRunEntry"

Expand Down
2 changes: 1 addition & 1 deletion Installer/ThreadPilot.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<Package
Name="ThreadPilot"
Manufacturer="Prime Build"
Version="1.6.0.0"
Version="1.7.0.0"
UpgradeCode="PUT-GENERATED-UPGRADE-CODE-HERE"
Language="1033">
<SummaryInformation Description="ThreadPilot MSI template" />
Expand Down
4 changes: 2 additions & 2 deletions Installer/setup.iss
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#endif

#ifndef MyAppVersion
#define MyAppVersion "1.6.0"
#define MyAppVersion "1.7.0"
#endif

#ifndef MyAppSourceDir
Expand Down Expand Up @@ -54,7 +54,6 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{
Source: "{#MyAppSourceDir}\ThreadPilot.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppSourceDir}\*.dll"; DestDir: "{app}"; Flags: ignoreversion skipifsourcedoesntexist
Source: "{#MyAppSourceDir}\*.pdb"; DestDir: "{app}"; Flags: ignoreversion skipifsourcedoesntexist
Source: "{#MyAppSourceDir}\Powerplans\*"; DestDir: "{app}\Powerplans"; Flags: ignoreversion recursesubdirs createallsubdirs

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Expand All @@ -71,6 +70,7 @@ Filename: "{app}\{#MyAppExeName}"; Flags: nowait; Check: IsThreadPilotUpdate
; Per-user AppData cleanup is limited to the account context used by uninstall.
[UninstallRun]
Filename: "taskkill.exe"; Parameters: "/IM ""{#MyAppExeName}"" /F"; Flags: runhidden waituntilterminated; RunOnceId: "UninstallKillThreadPilot"
Filename: "schtasks.exe"; Parameters: "/Delete /TN ""ThreadPilot_Launch"" /F"; Flags: runhidden waituntilterminated; RunOnceId: "UninstallRemoveThreadPilotLaunchTask"
Filename: "schtasks.exe"; Parameters: "/Delete /TN ""ThreadPilot_Startup"" /F"; Flags: runhidden waituntilterminated; RunOnceId: "UninstallRemoveThreadPilotStartupTask"
Filename: "reg.exe"; Parameters: "delete ""HKCU\Software\Microsoft\Windows\CurrentVersion\Run"" /v ""ThreadPilot"" /f"; Flags: runhidden waituntilterminated; RunOnceId: "UninstallRemoveThreadPilotRunEntry"

Expand Down
36 changes: 34 additions & 2 deletions Locales/de-DE.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,8 @@
<sys:String x:Key="PowerPlanView_ImportSelectedTooltip">Importieren Sie die ausgewählte benutzerdefinierte .pow-Datei in Windows</sys:String>
<sys:String x:Key="PowerPlanView_AddFile">.pow-Datei hinzufügen</sys:String>
<sys:String x:Key="PowerPlanView_AddFileTooltip">Fügen Sie der benutzerdefinierten Bibliothek eine neue benutzerdefinierte Energieplandatei hinzu</sys:String>
<sys:String x:Key="PowerPlanView_MorePlans">Mehr Energiesparpläne?</sys:String>
<sys:String x:Key="PowerPlanView_MorePlansTooltip">Weitere Energiesparpläne der Community auf Discord entdecken.</sys:String>
<sys:String x:Key="PowerPlanView_Delete">Löschen</sys:String>
<sys:String x:Key="PowerPlanView_Active">Aktiv</sys:String>

Expand Down Expand Up @@ -278,8 +280,8 @@
<sys:String x:Key="ProcessView_RealtimeBlockedHelp">Die Echtzeitpriorität wird von ThreadPilot blockiert, da Windows dadurch instabil werden oder nicht mehr reagieren kann.</sys:String>
<sys:String x:Key="ProcessView_RealtimeBlocked">Echtzeit (blockiert)</sys:String>

<sys:String x:Key="ProcessView_DisableIdleServer">Deaktivieren Sie den inaktiven Server</sys:String>
<sys:String x:Key="ProcessView_DisableIdleServerTooltip">Verhindert, dass das System während der Ausführung dieses Prozesses in den Ruhezustand wechselt. Nützlich für Spiele und leistungskritische Anwendungen.</sys:String>
<sys:String x:Key="ProcessView_DisableIdleServer">Ruhezustand während des Prozesses verhindern</sys:String>
<sys:String x:Key="ProcessView_DisableIdleServerTooltip">Hält das System aktiv, solange der Prozess läuft. Der Bildschirm darf ausgehen und expliziter Ruhezustand wird nicht blockiert.</sys:String>

<sys:String x:Key="ProcessView_ProfileRule">Profil / Regel</sys:String>
<sys:String x:Key="ProcessView_ProfileNamePlaceholder">Geben Sie einen Profilnamen ein, um Einstellungen zu speichern oder zu laden</sys:String>
Expand Down Expand Up @@ -365,6 +367,9 @@
<sys:String x:Key="ProcessView_Rules">Regeln</sys:String>
<sys:String x:Key="ProcessView_Name">Name</sys:String>
<sys:String x:Key="ProcessView_SetMemoryPriority">Legen Sie die Speicherpriorität fest</sys:String>
<sys:String x:Key="ProcessView_SetIoPriority">E/A-Priorität festlegen</sys:String>
<sys:String x:Key="ProcessSummary_IoPriorityUnavailable">E/A-Priorität nicht verfügbar</sys:String>
<sys:String x:Key="ProcessSummary_IoPriorityFormat">E/A-Priorität: {0}</sys:String>
<sys:String x:Key="ProcessView_PriorityVeryLow">Sehr niedrig</sys:String>
<sys:String x:Key="ProcessView_PriorityMedium">Mittel</sys:String>
<sys:String x:Key="ProcessView_RefreshInfo">Prozessinformationen aktualisieren</sys:String>
Expand Down Expand Up @@ -437,6 +442,11 @@
<sys:String x:Key="SettingsView_DebugLogging">Aktivieren Sie die Debug-Protokollierung</sys:String>
<sys:String x:Key="SettingsView_PerformanceCounters">Leistungsindikatoren aktivieren</sys:String>

<sys:String x:Key="SettingsView_SomethingWrong">Stimmt etwas nicht?</sys:String>
<sys:String x:Key="SettingsView_DiscordDescription">Tritt der ThreadPilot-Discord-Community bei, um Hilfe zu erhalten und dich auszutauschen.</sys:String>
<sys:String x:Key="SettingsView_OpenDiscord">Discord öffnen</sys:String>
<sys:String x:Key="SettingsView_IssuesDescription">Melde Fehler oder unerwartetes Verhalten über GitHub Issues.</sys:String>
<sys:String x:Key="SettingsView_ReportIssue">Problem melden</sys:String>
<sys:String x:Key="SettingsView_About">Über</sys:String>
<sys:String x:Key="SettingsView_Version">Version:</sys:String>
<sys:String x:Key="SettingsView_Copyright">Copyright © 2026 PrimeBuild</sys:String>
Expand Down Expand Up @@ -547,6 +557,28 @@
<sys:String x:Key="SystemTweak_HighSchedulingCategory_Desc">Hohe Planungspriorität für Gaming-Anwendungen</sys:String>
<sys:String x:Key="SystemTweak_MenuShowDelay_Name">Menü Verzögerung anzeigen</sys:String>
<sys:String x:Key="SystemTweak_MenuShowDelay_Desc">Verzögerung vor der Anzeige von Kontextmenüs</sys:String>
<sys:String x:Key="SystemTweak_GameMode_Name">Spielmodus</sys:String>
<sys:String x:Key="SystemTweak_GameMode_Desc">Planungsoptimierungen des Windows-Spielmodus</sys:String>
<sys:String x:Key="SystemTweak_MemoryIntegrity_Name">Speicherintegrität (HVCI)</sys:String>
<sys:String x:Key="SystemTweak_MemoryIntegrity_Desc">Öffnet Windows-Sicherheit. Das Deaktivieren verringert die Systemsicherheit und kann einen Neustart erfordern.</sys:String>
<sys:String x:Key="SystemTweak_Hags_Name">Hardwarebeschleunigte GPU-Planung</sys:String>
<sys:String x:Key="SystemTweak_Hags_Desc">Öffnet die Windows-Grafikeinstellungen zur Prüfung von HAGS.</sys:String>
<sys:String x:Key="SystemTweak_WindowedOptimizations_Name">Optimierungen für Fensterspiele</sys:String>
<sys:String x:Key="SystemTweak_WindowedOptimizations_Desc">Öffnet die Windows-Grafikeinstellungen für Flip-Model-Optimierungen.</sys:String>
<sys:String x:Key="SystemTweak_UsbSelectiveSuspend_Name">Selektives USB-Energiesparen</sys:String>
<sys:String x:Key="SystemTweak_UsbSelectiveSuspend_Desc">Steuert selektives USB-Energiesparen im aktiven Netzstromplan.</sys:String>
<sys:String x:Key="SystemTweak_PointerPrecision_Name">Zeigerbeschleunigung</sys:String>
<sys:String x:Key="SystemTweak_PointerPrecision_Desc">Steuert die Windows-Mausbeschleunigung.</sys:String>
<sys:String x:Key="SystemTweak_EthernetPowerSaving_Name">Ethernet-Energiesparen deaktivieren</sys:String>
<sys:String x:Key="SystemTweak_EthernetPowerSaving_Desc">Deaktiviert unterstützte EEE-, Green-Ethernet- und Energiesparoptionen physischer Ethernet-Adapter.</sys:String>
<sys:String x:Key="SystemTweak_InterruptModeration_Name">Interrupt-Moderation deaktivieren</sys:String>
<sys:String x:Key="SystemTweak_InterruptModeration_Desc">Kann die Ethernet-Latenz auf Kosten höherer CPU- und Interrupt-Last senken.</sys:String>
<sys:String x:Key="SystemTweak_GpuMsiMode_Name">GPU-MSI-Modus</sys:String>
<sys:String x:Key="SystemTweak_GpuMsiMode_Desc">Steuert MSI nur, wenn der Grafiktreiber MSISupported bereits bereitstellt. Neustart erforderlich.</sys:String>
<sys:String x:Key="SystemTweaks_OpenSettings">Einstellungen öffnen</sys:String>
<sys:String x:Key="SystemTweaks_StatusManagedByWindows">Von Windows verwaltet</sys:String>
<sys:String x:Key="SystemTweaks_StatusOpenSettingsFailed">Windows-Einstellungen konnten nicht geöffnet werden</sys:String>
<sys:String x:Key="SystemTweaks_StatusSettingsOpenedFormat">Einstellungen für {0} geöffnet</sys:String>

<!-- SystemTweaksViewModel Messages -->
<sys:String x:Key="SystemTweaks_StatusReady">Bereit</sys:String>
Expand Down
36 changes: 34 additions & 2 deletions Locales/en-US.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,8 @@
<sys:String x:Key="PowerPlanView_ImportSelectedTooltip">Import the selected custom .pow file into Windows</sys:String>
<sys:String x:Key="PowerPlanView_AddFile">Add .pow File</sys:String>
<sys:String x:Key="PowerPlanView_AddFileTooltip">Add a new custom power plan file to the custom library</sys:String>
<sys:String x:Key="PowerPlanView_MorePlans">More plans?</sys:String>
<sys:String x:Key="PowerPlanView_MorePlansTooltip">Browse additional community power plans on Discord.</sys:String>
<sys:String x:Key="PowerPlanView_Delete">Delete</sys:String>
<sys:String x:Key="PowerPlanView_Active">Active</sys:String>

Expand Down Expand Up @@ -278,8 +280,8 @@
<sys:String x:Key="ProcessView_RealtimeBlockedHelp">Realtime priority is blocked by ThreadPilot because it can make Windows unstable or unresponsive.</sys:String>
<sys:String x:Key="ProcessView_RealtimeBlocked">Realtime (blocked)</sys:String>

<sys:String x:Key="ProcessView_DisableIdleServer">Disable Idle Server</sys:String>
<sys:String x:Key="ProcessView_DisableIdleServerTooltip">Prevents the system from entering idle state while this process is running. Useful for games and performance-critical applications.</sys:String>
<sys:String x:Key="ProcessView_DisableIdleServer">Prevent sleep while process runs</sys:String>
<sys:String x:Key="ProcessView_DisableIdleServerTooltip">Keeps the system awake while this process is running. The display may still turn off, and explicit sleep is not blocked.</sys:String>

<sys:String x:Key="ProcessView_ProfileRule">Profile / Rule</sys:String>
<sys:String x:Key="ProcessView_ProfileNamePlaceholder">Enter a profile name to save or load settings</sys:String>
Expand Down Expand Up @@ -365,6 +367,9 @@
<sys:String x:Key="ProcessView_Rules">Rules</sys:String>
<sys:String x:Key="ProcessView_Name">Name</sys:String>
<sys:String x:Key="ProcessView_SetMemoryPriority">Set Memory Priority</sys:String>
<sys:String x:Key="ProcessView_SetIoPriority">Set I/O Priority</sys:String>
<sys:String x:Key="ProcessSummary_IoPriorityUnavailable">I/O priority unavailable</sys:String>
<sys:String x:Key="ProcessSummary_IoPriorityFormat">I/O priority: {0}</sys:String>
<sys:String x:Key="ProcessView_PriorityVeryLow">Very Low</sys:String>
<sys:String x:Key="ProcessView_PriorityMedium">Medium</sys:String>
<sys:String x:Key="ProcessView_RefreshInfo">Refresh Process Info</sys:String>
Expand Down Expand Up @@ -437,6 +442,11 @@
<sys:String x:Key="SettingsView_DebugLogging">Enable debug logging</sys:String>
<sys:String x:Key="SettingsView_PerformanceCounters">Enable performance counters</sys:String>

<sys:String x:Key="SettingsView_SomethingWrong">Something wrong?</sys:String>
<sys:String x:Key="SettingsView_DiscordDescription">Join the ThreadPilot Discord community for help and discussion.</sys:String>
<sys:String x:Key="SettingsView_OpenDiscord">Open Discord</sys:String>
<sys:String x:Key="SettingsView_IssuesDescription">Report bugs or unexpected behavior through GitHub Issues.</sys:String>
<sys:String x:Key="SettingsView_ReportIssue">Report an issue</sys:String>
<sys:String x:Key="SettingsView_About">About</sys:String>
<sys:String x:Key="SettingsView_Version">Version:</sys:String>
<sys:String x:Key="SettingsView_Copyright">Copyright © 2026 PrimeBuild</sys:String>
Expand Down Expand Up @@ -547,6 +557,28 @@
<sys:String x:Key="SystemTweak_HighSchedulingCategory_Desc">High scheduling priority for gaming applications</sys:String>
<sys:String x:Key="SystemTweak_MenuShowDelay_Name">Menu Show Delay</sys:String>
<sys:String x:Key="SystemTweak_MenuShowDelay_Desc">Delay before showing context menus</sys:String>
<sys:String x:Key="SystemTweak_GameMode_Name">Game Mode</sys:String>
<sys:String x:Key="SystemTweak_GameMode_Desc">Windows Game Mode scheduling optimizations</sys:String>
<sys:String x:Key="SystemTweak_MemoryIntegrity_Name">Memory Integrity (HVCI)</sys:String>
<sys:String x:Key="SystemTweak_MemoryIntegrity_Desc">Opens Windows Security. Disabling this protection reduces system security and may require a restart.</sys:String>
<sys:String x:Key="SystemTweak_Hags_Name">Hardware-accelerated GPU scheduling</sys:String>
<sys:String x:Key="SystemTweak_Hags_Desc">Opens Windows graphics settings to let you review HAGS.</sys:String>
<sys:String x:Key="SystemTweak_WindowedOptimizations_Name">Optimizations for windowed games</sys:String>
<sys:String x:Key="SystemTweak_WindowedOptimizations_Desc">Opens Windows graphics settings to manage Flip Model optimizations.</sys:String>
<sys:String x:Key="SystemTweak_UsbSelectiveSuspend_Name">USB Selective Suspend</sys:String>
<sys:String x:Key="SystemTweak_UsbSelectiveSuspend_Desc">Controls USB selective suspend for the active power plan while plugged in.</sys:String>
<sys:String x:Key="SystemTweak_PointerPrecision_Name">Enhance pointer precision</sys:String>
<sys:String x:Key="SystemTweak_PointerPrecision_Desc">Controls Windows mouse acceleration.</sys:String>
<sys:String x:Key="SystemTweak_EthernetPowerSaving_Name">Disable Ethernet power saving</sys:String>
<sys:String x:Key="SystemTweak_EthernetPowerSaving_Desc">Disables supported EEE, Green Ethernet and power-saving driver properties on physical Ethernet adapters.</sys:String>
<sys:String x:Key="SystemTweak_InterruptModeration_Name">Disable interrupt moderation</sys:String>
<sys:String x:Key="SystemTweak_InterruptModeration_Desc">Can reduce Ethernet latency at the cost of higher CPU and interrupt load.</sys:String>
<sys:String x:Key="SystemTweak_GpuMsiMode_Name">GPU MSI Mode</sys:String>
<sys:String x:Key="SystemTweak_GpuMsiMode_Desc">Controls MSI only when the display driver already exposes MSISupported. A restart is required.</sys:String>
<sys:String x:Key="SystemTweaks_OpenSettings">Open settings</sys:String>
<sys:String x:Key="SystemTweaks_StatusManagedByWindows">Managed by Windows</sys:String>
<sys:String x:Key="SystemTweaks_StatusOpenSettingsFailed">Could not open Windows settings</sys:String>
<sys:String x:Key="SystemTweaks_StatusSettingsOpenedFormat">Opened settings for {0}</sys:String>

<!-- SystemTweaksViewModel Messages -->
<sys:String x:Key="SystemTweaks_StatusReady">Ready</sys:String>
Expand Down
Loading
Loading