Alcatel
Freshman Member
Posts: 89
OS: Windows 10 Enterprise LTSC IoT 2021
Theme: Windows 7 Aero
CPU: i9-8950HK
RAM: 32GB DDR4
GPU: Nvidia Quadro P3200
|
Post by Alcatel on Mar 23, 2023 17:20:38 GMT -8
Most lightweight basic themer yet. Just how lightweight is it? It uses 0% CPU (or <0.01%) in the background And it uses ~1% CPU with several windows being opened Compared with BasicThemer3 that uses 2-5% (with a reasonable number of windows open like <10) github.com/arukateru/BasicThemer5
|
|
k24a1
New Member
Posts: 12
|
Post by k24a1 on Mar 24, 2023 6:21:28 GMT -8
How does one install this program? I have downloaded the uxsms.exe file from your github page.
|
|
|
Post by The Jackal on Mar 24, 2023 6:49:51 GMT -8
I didn't even know there was BasicThemer4! Good job either way, looking forward to trying it.
|
|
k24a1
New Member
Posts: 12
|
Post by k24a1 on Mar 24, 2023 6:58:33 GMT -8
I managed to just move uxsms to system32, create a shortcut to run it at startup, and it works great! thanks!~ Still trying to get a royale noir theme on here so don't mind the XP drive icon haha
|
|
herit://that1cutie
Sophomore Member
sad girl times
Posts: 165
OS: Windows 10
Theme: Shitbox Edition
|
Post by herit://that1cutie on Mar 25, 2023 22:08:46 GMT -8
I didn't even know there was BasicThemer4! Good job either way, looking forward to trying it. It was a WindHawk mod made by Taniko.
|
|
|
Post by The Jackal on Mar 26, 2023 5:22:44 GMT -8
I didn't even know there was BasicThemer4! Good job either way, looking forward to trying it. It was a WindHawk mod made by Taniko. Thank you. You don't have a link to that mod, so I can add it to the main Windhawk thread? Cheers.
|
|
herit://that1cutie
Sophomore Member
sad girl times
Posts: 165
OS: Windows 10
Theme: Shitbox Edition
|
Post by herit://that1cutie on Mar 26, 2023 18:43:03 GMT -8
I don't have a working link, but here's the code for it; NOTE; This is an early version and does not work as intended.
// ==WindhawkMod== // @id basicthemer // @name BasicThemer4 // @description Disables basic window frames for specified windows. // @version 4.0 // @author Taniko Yamamoto // @github https://github.com/kirasicecreamm // @include notepad.exe // @include mspaint.exe // @include taskmgr.exe // @include mmc.exe // @include cmd.exe // @exclude windhawk.exe // @exclude discord.exe // @architecture x86 // @architecture x86-64 // @compilerOptions -ldwmapi -luser32 // ==/WindhawkMod==
// ==WindhawkModReadme== /* # Your Awesome Mod This is a place for useful information about your mod. Use it to describe the mod, explain why it's useful, and add any other relevant details. You can use [Markdown](https://en.wikipedia.org/wiki/Markdown) to add links and **formatting** to the readme.
This short sample customizes Microsoft Paint by forcing it to use just a single color, and by blocking file opening. To see the mod in action: - Compile the mod with the button on the left or with Ctrl+B. - Run Microsoft Paint from the start menu (type "Paint") or by running mspaint.exe. - Draw something and notice that the orange color is always used, regardless of the color you pick. - Try opening a file and notice that it's blocked.
# Getting started Check out the documentation [here](https://github.com/ramensoftware/windhawk/wiki/Creating-a-new-mod). */ // ==/WindhawkModReadme==
// ==WindhawkModSettings== /* # Here you can define settings, in YAML format, that the mod users will be able # to configure. Metadata values such as $name and $description are optional. # Check out the documentation for more information: # https://github.com/ramensoftware/windhawk/wiki/Creating-a-new-mod#settings - color: - red: 255 - green: 127 - blue: 39 $name: Custom color $description: This color will be used regardless or the selected color. - blockOpen: true $name: Block opening files $description: When enabled, opening files in Paint is not allowed. */ // ==/WindhawkModSettings==
#include <unordered_set> #include <dwmapi.h>
void onCreateWindow(HWND);
void applyBasicFrames(HWND hwnd) { int policy = DWMNCRP_DISABLED;
DwmSetWindowAttribute( hwnd, DWMWA_NCRENDERING_POLICY, &policy, sizeof(int) ); }
void onCreateWindow(HWND hwnd) { applyBasicFrames(hwnd); }
HHOOK g_hHook, g_hHook2, g_hHook3;
std::unordered_set<HHOOK> g_hooks;
HMODULE g_self; bool softDisable = false;
LRESULT CALLBACK CallWndProcRetProc(int nCode, WPARAM wParam, LPARAM lParam) { if (!softDisable) { CWPRETSTRUCT *details = (CWPRETSTRUCT *)lParam;
if (details->message == WM_CREATE) { onCreateWindow(details->hwnd); } }
return CallNextHookEx(g_hHook3, nCode, wParam, lParam); }
LRESULT CALLBACK ShellProc(int nCode, WPARAM wParam, LPARAM lParam) { if (!softDisable) { if (nCode == HSHELL_WINDOWCREATED) { HWND hwnd = (HWND)wParam;
DWORD dwThreadId = GetWindowThreadProcessId(hwnd, nullptr);
HHOOK a = SetWindowsHookExW(WH_CALLWNDPROCRET, (HOOKPROC)CallWndProcRetProc, g_self, dwThreadId); g_hooks.insert(a);
onCreateWindow(hwnd); Wh_Log(L"called shell proc HSHELL_WINDOWCREATED"); } }
return CallNextHookEx(g_hHook, nCode, wParam, lParam); }
//========================================// // WINDHAWK FUNCTIONS: // //========================================//
void LoadSettings() { // settings.red = Wh_GetIntSetting(L"color.red"); // settings.green = Wh_GetIntSetting(L"color.green"); // settings.blue = Wh_GetIntSetting(L"color.blue"); // settings.blockOpen = Wh_GetIntSetting(L"blockOpen"); }
HMODULE GetCurrentModule() { HMODULE hModule = NULL; GetModuleHandleEx( GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, (LPCTSTR)GetCurrentModule, &hModule );
return hModule; }
// The mod is being initialized, load settings, hook functions, and do other // initialization stuff if required. BOOL Wh_ModInit() { Wh_Log(L"Init " WH_MOD_ID L" version " WH_MOD_VERSION); softDisable = false;
g_self = GetCurrentModule(); DWORD currentThread = GetCurrentThreadId();
LoadSettings();
#ifndef _WIN64 Wh_Log(L"Loaded in 32-bit process"); #endif
//DWORD dwThreadId = GetCurrentThreadId();
// This observes shell window creation for the entire desktop. // This is not notified of created dialog windows, so a local hook is used to monitor for those. if (!g_hHook) g_hHook = SetWindowsHookExW(WH_SHELL, (HOOKPROC)ShellProc, g_self, currentThread);
//g_hHook3 = SetWindowsHookExW(WH_CALLWNDPROCRET, (HOOKPROC)CallWndProcRetProc, g_self, dwThreadId);
return TRUE; }
void Wh_ModBeforeUninit() { softDisable = true;
// static int aSum = 0; // static int bSum = 0;
BOOL a = UnhookWindowsHookEx(g_hHook); //BOOL b = UnhookWindowsHookEx(g_hHook3);
for (HHOOK i : g_hooks) { UnhookWindowsHookEx(i); }
// aSum += a; // bSum += b;
// Wh_Log(L"Unhooked, %d & %d", a, b);
// if (aSum == bSum) // { // Wh_Log(L"Sums are equal, good."); // } // else // { // Wh_Log(L"FUCK YOU"); // } }
// The mod is being unloaded, free all allocated resources. void Wh_ModUninit() { Wh_Log(L"Uninit");
FreeLibraryAndExitThread(g_self, 0); }
// The mod setting were changed, reload them. void Wh_ModSettingsChanged() { Wh_Log(L"SettingsChanged");
LoadSettings(); }
I have not edited it. Also, this is subject to be removed if Taniko prefers.
|
|
|
Post by The Jackal on Mar 27, 2023 3:09:37 GMT -8
I don't have a working link, but here's the code for it; NOTE; This is an early version and does not work as intended.
I have not edited it. Also, this is subject to be removed if Taniko prefers.
Thank you. If they change their mind and want this removed, that's perfectly fine; all you'll need to do is remove it from your post or they can ask a member of staff to do so.
|
|
|
Post by hhanss on Jul 28, 2023 16:43:26 GMT -8
In BasicThemer2 you could blacklist programs that didn't work properly with Basic Theme. Since there is no longer a configuration window here, this list has also disappeared. Is there still a way to blacklist programs? Or alternatively, is there a reliable way to make programs compatible with this theme?
|
|
|
Post by ephemeralViolette on Jul 28, 2023 20:53:45 GMT -8
In BasicThemer2 you could blacklist programs that didn't work properly with Basic Theme. Since there is no longer a configuration window here, this list has also disappeared. Is there still a way to blacklist programs? Or alternatively, is there a reliable way to make programs compatible with this theme? No. There is no way to blacklist programs with this version.
|
|
grand
New Member
Posts: 13
OS: Windows 10 Enterprise KN 2016 LTSB
Theme: Modern/Classic Hybrid (Aerolite + BasicTheme)
CPU: i7-3770 @ 4.55GHz
RAM: 16GB DDR3 2400MHz
GPU: GTX 1070Ti
|
Post by grand on Nov 14, 2023 8:18:09 GMT -8
Sorry to bump this, but does this Windhawk port work for consent.exe? I tried many different approaches to set basic theme on the uac prompts but it all fails. I currently have uxsms running as TrustedInstaller and so far, only the uac is not basic-themed.
|
|
|
Post by OrthodoxWin32 on Nov 14, 2023 9:06:05 GMT -8
I have the same question for Surun.
|
|
|
Post by ephemeralViolette on Nov 14, 2023 15:50:09 GMT -8
Sorry to bump this, but does this Windhawk port work for consent.exe? I tried many different approaches to set basic theme on the uac prompts but it all fails. I currently have uxsms running as TrustedInstaller and so far, only the uac is not basic-themed. It doesn't seem like it would to me, but it would be possible to make one that works.
I also assume that the reason that other basic themers don't work with UAC is because they run on a "secure desktop" like the security options (CTRL+ALT+DEL) screen. Although it's pretty easy to interfere with these desktops, I doubt that their windows are just enumerable by the standard means used by basic themer observer programs.
The Windhawk script also is just a wrapper for something that registers a Windows shell hook, so I doubt it would any notification of window creation under these conditions, either.
Also, unless you disabled the XAML UAC dialog which is used now, then the titlebars will always render in a Windows 10 style, no matter what.
|
|
Ingan121
Sophomore Member
Posts: 104
OS: Windows 10 22H2
Theme: Arc dark
CPU: AMD Ryzen 7 1700 Eight-Core Processor
RAM: 32GB
GPU: NVIDIA GeForce GTX 1050 Ti
Computer Make/Model: VPS-ish thingy (ComViewers)
|
Post by Ingan121 on Nov 16, 2023 10:02:00 GMT -8
Simple, just run your basicthemer in the secure desktop. psexec -dsx is somehow broken recently so I used it in conjunction with gsudo: sudo -s psexec -dx %cd%\BasicThemer2.exe.
|
|
grand
New Member
Posts: 13
OS: Windows 10 Enterprise KN 2016 LTSB
Theme: Modern/Classic Hybrid (Aerolite + BasicTheme)
CPU: i7-3770 @ 4.55GHz
RAM: 16GB DDR3 2400MHz
GPU: GTX 1070Ti
|
Post by grand on Nov 24, 2023 11:43:37 GMT -8
Simple, just run your basicthemer in the secure desktop. psexec -dsx is somehow broken recently so I used it in conjunction with gsudo: sudo -s psexec -dx %cd%\BasicThemer2.exe. Thanks for the reply, but sadly this didn't work either for some reason. I also tried running it as --ti through gsudo (alongside -d -x) but it never applied the basic theme to the UAC (it runs and applies the theme to everything else though, it's even marked as SYSTEM or TrustedInstaller on the process list). I did enable the old UAC prompt through the registry tweak (as ephemeralViolette pointed out), I also use the ctrl+alt+del authentication method and that prompt is also not basic-themed. Is uxsms actually not compatible with the secure desktop, or am I just doing something wrong? This is all on version 1607 of Windows 10.
|
|
Ingan121
Sophomore Member
Posts: 104
OS: Windows 10 22H2
Theme: Arc dark
CPU: AMD Ryzen 7 1700 Eight-Core Processor
RAM: 32GB
GPU: NVIDIA GeForce GTX 1050 Ti
Computer Make/Model: VPS-ish thingy (ComViewers)
|
Post by Ingan121 on Nov 25, 2023 10:59:00 GMT -8
Simple, just run your basicthemer in the secure desktop. psexec -dsx is somehow broken recently so I used it in conjunction with gsudo: sudo -s psexec -dx %cd%\BasicThemer2.exe. Thanks for the reply, but sadly this didn't work either for some reason. I also tried running it as --ti through gsudo (alongside -d -x) but it never applied the basic theme to the UAC (it runs and applies the theme to everything else though, it's even marked as SYSTEM or TrustedInstaller on the process list). I did enable the old UAC prompt through the registry tweak (as ephemeralViolette pointed out), I also use the ctrl+alt+del authentication method and that prompt is also not basic-themed. Is uxsms actually not compatible with the secure desktop, or am I just doing something wrong? This is all on version 1607 of Windows 10. Its working for me, just tested it with BasicThemer 2 and 5 on Windows 11 23H2. Maybe try just running cmd with sudo -s psexec -dx cmd and see if cmd shows in the secure desktop (may require alt tab.) Also try just running psexec -dsx cmd as admin, it worked on older Windows versions. If cmd works, try running basicthemer with the opened cmd.
|
|
Atomixe
New Member
Posts: 4
OS: Windows 10 22H2
Theme: Aerospace: Pearl
CPU: i5-4570
RAM: 4x8GB DDR3
GPU: NVIDIA GeForce GTX 1660 SUPER
|
Post by Atomixe on Jan 7, 2024 14:48:02 GMT -8
this is great, but is there a way to fix the titlebar font color? it keeps making the titlebar text black and i want it to stay white for my xp theme
|
|
|
Post by Brawllux on Jan 8, 2024 11:41:33 GMT -8
|
|
|
Post by cellomonster on Jan 11, 2024 8:01:35 GMT -8
Is there any way to fix alt-tab previews here?
Attachments:
|
|
|
Post by Brawllux on Jan 11, 2024 9:08:11 GMT -8
Is there any way to fix alt-tab previews here?
You cant have previews with basic theme.
|
|