and a terminal is a pretty common single person open source project
meanwhile the shell has something like 7 different styles of context menu, with several new ones added with every major release
take the standard example of how to create a window and add one more CreateWindow() call
I like that part:
hEdit = CreateWindowEx (
WS_EX_CLIENTEDGE, /* Extended possibilites for variation */
"EDIT", /* Classname */
"", /* Title Text */
WS_CHILD|WS_VISIBLE|WS_VSCROLL|WS_HSCROLL|ES_MULTILINE|ES_AUTOHSCROLL|ES_AUTOVSCROLL , /* default window */
1, /* Windows decides the position */
1, /* where the window ends up on the screen */
100, /* The programs width */
100, /* and height in pixels */
hwnd, /* The window is a child-window to hwnd */
(HMENU) IDC_EDIT, /* No menu */
GetModuleHandle(NULL), /* Program Instance handler */
NULL /* No Window Creation data */
);notepad's entire front end is an edit control slapped onto the barebones minimal Win32 example
they wouldn't need to understand all of it, only to make small additions based on modifying what's already there:
- adding the edit control (as discussed)
- add Open/Save items to the existing example menu
- a few lines in the event loop to implement that functionality
as a kid I had a "games programming" book that showed how to do everything necessary to do thisadmittedly kids these days aren't going to be interested in programming for a dead API (Win32)
I bet we'll have nuclear fusion before the Control Panel is obsolete.
They are very easy to market as improvements though and MSFT is entirely driven by marketing now rather than quality and engineering.