Wintermelon is a C# Program that emulates the Lock Screen on multiple displays connected to Windows 10 / 11 systems.
The Lock Screen is displayed when you lock your system by pressing ‘Windows Key + L’ combination or by pressing ‘Ctrl + Alt + Del’ and selecting ‘Lock’ on the menu that pops up.
Earlier, Lock Screens were always emulated on multiple monitors in Windows 7 based systems, but the feature has since been discontinued. In Windows 10 / 11 systems, the Lock Screen appears on multiple displays only if the projection mode (Win + P) is set to ‘Duplicate’. If the projection mode is set to ‘Extend’, the Lock Screen is displayed only on the Primary or the Main display and all the other Secondary displays go black.
How it Works:
Wintermelon provides a workaround for this issue. It schedules the following two tasks namely that monitor your system for Lock / Unlock events.
Lock save window position clone display: When it detects a Lock event, the projection mode is switched to ‘Duplicate’ so that the Lock Screen is displayed across all the Secondary Displays. At the same time, the position of all the active application windows on the desktop is recorded so that it can be restored later.
‘Unlock extend display restore window’: When an Unlock event is triggered, the projection mode reverts to ‘Extend’ and the positions of the running application windows that that was recorded earlier, are retrieved so that all of them can return to their original state.
Steps for Execution:
1. Download the program from the links provided at the end of this article. You must download Wintermelon.zip as well as Source code (Zip) and unzip both of them in a specified folder and note down its path.
2. .NET 6.0 runtime must be installed in your system for Wintermelon to work. You can download it from this link. Download the correct runtime from ‘Run Desktop Apps’ depending on whether you have a 32 / 64 bit Windows system.
3. Right click the script file ‘install_wintermelon.ps1’ and click ‘Edit’ to bring up the Powershell Integrated Scripting Environment (ISE). Search for the string ‘$scriptdir + “\bin\Release\netcoreapp3.1\publish\Wintermelon.exe’ and change the path (in quotes) of Wintermelon.exe to the one that you have noted above. There will be two occurrences of this string and you must change the path in both the places. Save and exit the Powershell ISE.
4. Now, run Powershell as an Administrator and type the command Set-ExecutionPolicy Unrestricted. Type ‘Y’ to confirm and hit enter.
5. In the Powershell window, navigate to the folder where you have unzipped the downloaded files and run the script file that you edited above using the command .\install_wintermelon.ps1. Your tasks will be setup and activated.
6. Run Task Scheduler and verify the occurrences of the two tasks in the list of Active Tasks.
7. Now, Lock your system and the Lock Screen will be visible on all the Secondary Displays. Unlock your PC and all the running Application windows will be restored to their original locations on the multiple monitors.
8. To remove the tasks from the scheduler, use the command .\uninstall_wintermelon.ps1
After testing Wintermelon, I found that it works successfully, and the Lock Screen is displayed on all the Secondary Displays apart from the Primary one.
Go ahead and give it a try. Click here to download Wintermelon.zip and Source code (Zip). Remember to unzip both of them in a specified folder.