Show HN: Modernized file manager and program manager from Windows 3.x
65 points
1 day ago
| 4 comments
| github.com
| HN
This is a fork of Windows File Manager combined with a from-scratch remake of Program Manager. Fast, lightweight, and suitable for daily driver use.
JdeBP
1 day ago
[-]
When I see a commit like https://github.com/brianluft/heirloom/commit/445ea8ef7018ef0... , I am convinced that yes, this is the original source code. (-:

https://github.com/brianluft/heirloom/commit/3001b284130c399... is rather interesting. Not only for all of the implicit type conversions that the code turned out to be doing, but also for all of the things that were dropped.

It is not totally "modernized", though. Its idea of "Unicode only" is using WTF-16 rather than UTF-8 (which is possible on Win32 nowadays with code page 65001).

reply
jeroenhd
1 day ago
[-]
Code page 65001 comes with a caveat, though:

> GDI doesn't currently support setting the ActiveCodePage property per process. Instead, GDI defaults to the active system codepage. To configure your app to render UTF-8 text via GDI, go to Windows Settings > Time & language > Language & region > Administrative language settings > Change system locale, and check Beta: Use Unicode UTF-8 for worldwide language support. Then reboot the PC for the change to take effect.

Source: https://learn.microsoft.com/en-us/windows/apps/design/global...

I don't think changing the system settings for one application to work is a great idea, especially as that setting can break other applications. Until Microsoft fixes GDI, I think it'll be a while before UTF-8 is a viable option.

reply
JdeBP
1 day ago
[-]
Not any more, it does not. You are reading a warning that was put on that page a few years ago. Things have changed over the 6 years since Windows 10 release 1903. In particular, a couple of years later Microsoft was (interestingly, not always but sometimes, and no-one has really pinned down in what exact circumstances) turning that setting on by default in Windows 11.
reply
electroly
20 hours ago
[-]
Author here. Indeed, the string handling is all unchanged from the original code, but on modern Windows this is still an acceptable and supported way to handle full Unicode. Try your favorite ZWJ-based emoji outside the BMP.
reply
arandomhuman
1 day ago
[-]
yikes
reply
timbit42
14 hours ago
[-]
The worst thing about Windows 3.x was Program Manager. The second worst thing was File Manager.

I always install IBM's Workplace Shell for Windows on Windows 3.x which replaces PM and FM with a shell that looks and works like the OS/2 Workplace Shell.

It's open source and the installer is available here: https://winworldpc.com/product/ibm-workplace-shell/151

reply
dlachausse
6 hours ago
[-]
Source code for it can be found here…

https://github.com/ericblade/workplace-shell-for-windows

reply
neckro23
15 hours ago
[-]
The Vista-style minimize/maximize icons on the inner windows look way out of place, and the style changes entirely when I maximize. Can't seem to minimize a window either.

Windows 10 is applying smooth scrolling to the windows, which I can disable in Performance Options but you might want to override the setting. Waiting for the scrolling to catch up is pretty at odds with the "fast, lightweight" aesthetic you're going for.

reply
electroly
15 hours ago
[-]
Thank you for trying it! Those MDI titlebars/controls bother me too. I haven't decided what to do about it. Microsoft hasn't updated MDI functionality since Windows 7. These days, people simply don't use MDI at all.

Minimize is disabled because it's too buggy currently, but I plan to bring it back. In the old days it would minimize to an icon but these days it minimizes to a tiny sliver of a titlebar that's impossible to click on. For Program Manager, I implemented a manual workaround (literally, my own minimized icon bar), but I haven't implemented that in File Manager yet. Definitely something I have planned for the future.

Thanks for the tip about smooth scrolling. I have it disabled in Performance Options, so I never noticed.

reply
vintagedave
2 hours ago
[-]
MDI has never been updated for Windows 10 or newer. Which is a shame because even if it's not the modern way, older apps exist...

Delphi / C++Builder wrote a new implementation of MDI to keep older apps working, but looking modern. (It means MDI-architected apps can use, eg, tabs for windows too while keeping the old code the same.) https://blogs.embarcadero.com/3-x-12-vcl-enhancements-in-del...

reply
hulitu
21 hours ago
[-]
> Show HN: Modernized file manager and program manager from Windows 3.x

1 px window border and "modern" scrollbar (small, without end buttons). Modernized /s

reply