Code Monkey home page Code Monkey logo

program-manager-ii's Introduction

Latest version Latest pre-release version

Program Manager II for Windows NT

Progmgr banner

What is Program Manager?

Program Manager was the default shell for Windows (NT) 3.x. The Program Manager shell was included as an optional component in Windows until Windows 2000. It contained a basic task manager, a group-based program launcher and a shutdown dialog.

So, Program Manager II?

Program Manager II is a shell designed to supercede the original Microsoft Program Manager with better compatibility, stability, and ease of usage. It's currently in alpha and doesn't contain all of the necessary functionality, but progress is being made.

What does it run on?

Program Manager II will run on Windows Vista and above with no problem. Support for XP and older is not guaranteed, nor will it be ported to 9x.

Where do I get it?

The releases page will contain the latest "stable" version of Program Manager II. Build artifacts can be found for most commits made since April and contain pre-release builds.

How can I help?

Submitting issues with bug reports, suggestions or comments always helps. If you're able to, contributing with a pull request is much appreciated.

program-manager-ii's People

Contributors

freedom7341 avatar u130b8 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

u130b8

program-manager-ii's Issues

Custom about dialog

Would be nice to have a custom about dialog rather than using the Windows one.

Better documentation of the Program Manager (Website, HTML Help)

Using the Microsoft HTML Help resources, improved and updated documentation for the Program Manager should be created to increase ease of use for new users and cover all the changes between Program Manager since 1996. Help writing, styling and editing the documentation using an HTML Help compiler would be appreciated.

In order to roll out documentation faster, it may be more useful for me to add a help section to the website and ensure that it's fully updated.

Add something similar to Cairo Shell's App Grabber

Cairo Shell currently has an App Grabber feature where it can read the Start Menu and shell:AppsFolder folders and grab shortcuts from there.

A similar feature would remove the pain of manually adding shortcuts to Program Manager and make it truly an alternate shell for Windows.

Program Manager migration option

Enable users to migrate their program groups and some settings from Program Manager to Program Manager II. Convert from the older group format to the newer one. Give an option, similar to the old Program Manager's ASCII to Unicode group migration, to delete the old program groups or retain them without syncing further.

Implement "Superbar" support

When right clicking Firefox or Steam or other applications, a special context menu with application-specific commands is seen. Being able to activate this from a program group inside of Program Manager II would be extremely useful and help workflows. More research needs to be done where the data for these actions is stored.

File browser dialog not working in some specific instances

Hi again!

I had reported this same bug in Progman-x64 before you decided to transition into Program Manager II, so I'll just make another note here in the hopes that you can figure it out and get it working.

When running under Windows Hyper-V server (free GUI-less edition that is limited below Core edition), the file browser dialog (such as the one that appears when you click "browse" on the Run dialog) seems to be missing from that OS, as well as in some other cases (I think WinPE exhibits the same behavior). There is however another callable file browser dialog that is present in those instances, which I would assume could be used instead (the one that notepad.exe calls). Perhaps some sort of if/then detection or case logic could be applied to allow this other file browser dialog to be called in such instances?

Thanks for keeping on with development of this project! I look forward to seeing where it goes.

Create a notification area substitute

Program Manager currently lacks any way to view or interact with the system's Notification Area. Popular shells like Cairo include the ability to view it. A tough to implement feature but necessary for ease of use and any chance at becoming a viable shell replacement. Help deciding on how/where it should be implemented is appreciated, not sure whether it should act as a docking window (a la the color palette in Paint.NET) or dock to the edges of the screen (like the Language Bar).

Change icon of program group

Seems like it'd be dead simple to add as an option. Maybe not a now or soon feature but would be easy to implement down the line.

Faster task switching

Program Manager's primary purpose is a program launcher. Due to its inception in the late 1980s and halted development in the early 1990s, not much progress was made in the realm of actually managing programs. Faster task switching would be a great feature for power users to increase their work flow. An early idea is to have program switching between the most recently used programs (based on z-order), similar to how a browser will switch between the first 9 tabs with ctrl and 1-9. Similar functionality may be present in Windows 7+, which is where shortcut keys and functionality may be inspired from.

Create default program groups

When Program Manager II is first launched, it starts with no program groups. A default group created either from the windows accessory start menu folder or made to cover most systems should be added.

User/Global Program Groups

Mimic the NT 3.x behaviour of having separate user and global program groups.
"Each user has their own set of program groups that they may edit and alter without affecting the groups of other users. There are also global groups where all users will see the same thing. Typically these groups will not be alterable by a regular user." (text copied from http://toastytech.com/guis/nt351.html )

Notification Area support

Implement the Notification Area (system tray) into Program Manager. Determine the most appropriate way to display it.

Set desktop wallpaper on login

From Progman-x64:
freedom7341/Progman-x64#7

Program Manager does not currently set the desktop wallpaper when you log in. May be solved in a similar manner but that seemed more like a band-aid and was untested on dual monitor setups. May look into how Explorer does it.

Iconify programs rather than minimize to titlebars

Minimised program groups appear as squished windows instead of icons. Would there be any way to restore the Windows 3.1 functionality? You can actually see the same behaviour when minimising other windows without Explorer running, so I imagine Microsoft changed some kind of functionality.

Program groups and items

Write a new format for the program group and program items and create working program groups with corresponding MDI windows. Preferably implement dialog functionality for creating these program groups before Alpha 1.

Toggle display mode

Once 3.x-style icons are implemented, the ability to toggle between those and the 95+ style titlebars should be implemented so the user can use the style they prefer. Also a place to add list view or other display types

Idea : nested program groups

would allow for easier 1:1 conversion of start menu groups, as well as (if using the actual start menu files to generate the tree) automatic installation of new program groups even when progman is set as the shell.
Would also allow easier implementation of user/global program groups, where user groups would be put in %AppData%\Microsoft\Windows\Start Menu\Programs and global groups would go in %ProgramData%\Microsoft\Windows\Start Menu\Programs. (NOTE: this implementation would not allow nested global in user groups or visa versa )
Layout of the program manager would likely require a separate file to allow moveable program icons

Issues running on Windows 11

I run Windows 11 and I have major issues. Program Manager II starts but it doesnt do more. Preferences dont work and I can't create Items. The Create, Browse and Change Icon Buttons simply dont work.

I can create Groups but the rest is unfuncational. This Project doesnt seem very alive but I would appreciate a Patch because I can't get the original Progman running (with the fixed and dlls) because it bluescreens on Win11.

Additionally the Groups don't have an Icon even after setting one.

Drag'n'drop

The user should be able to drag an application onto a program group and have it automatically add itself with the application's default icon and friendly name, extracted from the file details if possible.

High DPI support

Use the Vista-friendly DPI functions for limited DPI-awareness to prevent ugly scaling on many setups.

ZIP files in release

given progmanII's small file size, the included .zip support in windows explorer, and the fact it's a windows shell, I feel it would make more sense to at include a zip archive in the release.

Localization

Localization support should be implemented through MUI. This should allow support for as far back as Windows XP. Have a preprocessor define to enable/disable localization through MUI for compilation on older systems.

Ideas : Support the "Desktop pattern" fonctionnality

Windows NT 3.x (and Windows 3.x) included a Control Panel applet for configuring the desktop, which seemed closely tied to the Program Manager.
Most of the settings are still configurable today in other ways, and often more precisely, but the desktop patterns setting is no longer supported. I don't know if it's possible to bring him back, but it would be great.

First time run wizard and other first launch functions

Mostly self explanatory. On the first launch of Program Manager II for any given user, a wizard should be presented that guides the users on:

  • Migrating their old program groups (#13)
  • Migrating certain start menu groups
  • Customizing any options
  • Quick interface overview

Otherwise, on the first launch, Program Manager II should automatically create a common program group with all of the default user's programs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.