HNHacker News
TopNewBestAskShowJobs

m417z

87 karma · joined October 11, 2019

m417z.com
submissionscomments
m417z··on Windhawk Windows classic theme mod for Windows 11
You might want to check out this mod: Taskbar minimize/restore on scroll

https://windhawk.net/mods/taskbar-button-scroll

m417z··on Windhawk Windows classic theme mod for Windows 11
This is not an updater. Due to the sensitive nature of Windhawk, it has no auto-updating mechanism, only update notifications (this file is part of that).
m417z··on Windhawk Windows classic theme mod for Windows 11
When you install or run a program, how do you make sure it doesn't include malware? I assume that you check for the author's record/reputation, and perhaps look at the source code if it's available.

It's similar with Windhawk mods. The GitHub and X profiles are verified to be the profiles of the author, so you can decide whether you trust them. The source code is available, so you can inspect it as well. Mods are single-file and usually short, which makes it easier to review than an average program.

m417z··on Windhawk Windows classic theme mod for Windows 11
The reason the Windhawk UI is based on VSCodium is mainly for the mod editing functionality. VSCodium with clangd are used for C++ intellisense out of the box.

You might say that many users don't care about mod development and don't need it. I agree, and I have it on my list to create a lite Windhawk version which doesn't depend on VSCodium.

Note that VSCodium is only used for the UI. When Windhawk is running in the background, its memory consumption is a couple of MB.

m417z··on Windhawk Windows classic theme mod for Windows 11
Hi, Windhawk author here. Nice to see it on Hacker News.

This is just one Windhawk mod, submitted by a community member. There are hundreds others. Windhawk was created to simplify Windows customization and to make it more accessible, both for developers and users. For a more detailed introduction, check out the Windhawk release blog post:

https://ramensoftware.com/windhawk

m417z··on Implementing Global Injection and Hooking in Windows
Thanks for the tip, I tried that. It might be a bit faster, but in my tests, it wasn't significant, and it still enumerates all system threads which means that it becomes slower the more threads your system has.

A truly fast and documented solution is using PssCaptureSnapshot, it can enumerate only threads of the target process. It uses NtGetNextThread under the hood. The downside: it's only available from Windows 8.1.

Using NtGetNextThread is not only fast and available from Windows Vista, it also allows avoiding race conditions - what happens if a new thread is created after the snapshot is created? A snapshot returns thread ids, what happens if one of the threads is destroyed? What happens if the thread id is reused (unlikely but possible)? I believe all the benefits I'm getting by using NtGetNextThread are worth using an undocumented function.

See also the research that I linked in the blog post: https://github.com/diversenok/Suspending-Techniques#snapshot...

m417z··on Implementing Global Injection and Hooking in Windows
Hi, author here. AMA!
m417z··on Windhawk, the customization marketplace for Windows programs
I'm using VSCodium not only for the labels and buttons, but also for its code editing capabilities. In development mode, you get features such as code navigation and code completion. My rational is the following: storage is cheap, and the resource usage is only relevant when the UI is shown. The tray icon and the background service are implemented in C++ and are very lightweight.
m417z··on Windhawk, the customization marketplace for Windows programs
Windhawk aims to make it easier to customize Windows programs. It allows installing and configuring mods (customization modules) with just a couple of clicks. For developers, it provides a convenient platform for developing and sharing such mods. Check out the introduction blog post for more details: https://ramensoftware.com/windhawk