Unknown-One
[H]F Junkie
- Joined
- Mar 5, 2005
- Messages
- 8,909
The original post that kicked this thread off around 6 years ago...
Since then, Nvidia has implemented a rudimentary hotkey system... unfortunately, it doesn't work correctly. The built-in Nvidia shortcut keys only allow toggling between Surround and single-monitor modes, when they should toggle between Surround and triple-extended. Worse yet, these hotkeys stop working, at random.
So... I spent a good few hours teaching myself how to write AutoHotkey scripts. Here's the result, pre-compiled as an exe:
Features:
- One-click switching between Extended Desktop and Surround display modes.
- Supports portrait and landscape Surround (cfg file)
- Automatic configuration of bezel compensation (cfg file)
- Automatic re-ordering of Surround displays (cfg file)
- First-run wizard for ease-of-use.
- Minimal pop-ups while script executes.
- Windows 8.1 and Windows 10 ONLY
- Single-card ONLY (I don't have an SLI system to test on)
Download/Changelog:
>> Version 11 Nvidia Surround Toggle v11.zip <<
- Added a "Topology" configuration option. This can be useful if the Nvidia Control Panel doesn't defualt to 1x3 mode.
- This script ONLY supports 1x3 mode, so make sure the Topology setting you choose corresponds to 1x3 mode in the Nvidia Control Panel!
- Source available on my github: https://github.com/Leapo/NVSToggle
Installation:
Save that executable somewhere, pin a shortcut to it on your taskbar, and you have one-click switching at your disposal.
INI File (%programdata%\NVSToggle\NVSToggle.ini) Definitions:
Notes:
This script checks your display's aspect ratio against a threshold and switches between Extended/Surround depending upon which side of the threshold you're on. This should be pretty much bullet-proof, and can even detect when switching to Surround fails.
I also highly recommended enabling the option to save taskbar thumbnails, as it will prevent taskbar thumbnail previews from getting blanked-out when switching back to Extended mode:
I'm looking to switch back to Nvidia for my next video card(s), but I'm having a bit of trouble confirming something...
Is there a way to quickly switch back and forth between Extended Desktop (Windows sees three individual monitors) and Nvidia Surround (Windows sees one big spanned display) yet? You can quick-switch on ATi cards by setting up a profile, which can then be toggled via an icon or hotkey.
I need something similar for Nvidia Surround. I always use Extended Desktop mode when I'm not gaming, so being able to quickly switch back and forth is a must.
Since then, Nvidia has implemented a rudimentary hotkey system... unfortunately, it doesn't work correctly. The built-in Nvidia shortcut keys only allow toggling between Surround and single-monitor modes, when they should toggle between Surround and triple-extended. Worse yet, these hotkeys stop working, at random.
So... I spent a good few hours teaching myself how to write AutoHotkey scripts. Here's the result, pre-compiled as an exe:
Features:
- One-click switching between Extended Desktop and Surround display modes.
- Supports portrait and landscape Surround (cfg file)
- Automatic configuration of bezel compensation (cfg file)
- Automatic re-ordering of Surround displays (cfg file)
- First-run wizard for ease-of-use.
- Minimal pop-ups while script executes.
- Windows 8.1 and Windows 10 ONLY
- Single-card ONLY (I don't have an SLI system to test on)
Download/Changelog:
Version 1
- Initial release.
- Windows 7 ONLY. Does not work on Windows 8.x
Version 2
- Quick hack to get this working on SLI systems.
- Windows 7 ONLY. Does not work on Windows 8.x
Version 3
- Prevented a tray icon from being spawned for the process.
Version 4 (Pre-Release)
- Almost a total rewrite. More robust fallback. Fixes for Windows 8.1
- Will work even if the Nvidia hotkey system stops responding.
- This is a beta version, does not have full error handling, and can be slower to switch modes. May not work with SLI.
Version 4
- When enabling Surround, bezel corrected resolutions don't vanish anymore!
- Various speed improvements.
- Delays replaced with wait-loops. Helps if the Nvidia control panel takes longer than expected to load.
- Works without using the Nvidia hotkey system, at all.
- This is a beta version, and does not have full error handling. Does not work with SLI.
Version 5
- Bezel correction now user-defined (custom value can be entered within %appdata%\NVSToggle\NVSToggleV5.ini).
- Lots of speed and reliability improvements.
- Works (mostly) off-screen. CMD windows and Nvidia Control Panel are hidden during execution as much as possible.
- Works with no dependency on the unreliable Nvidia hotkey system.
- Full error-handling re-implemented.
Version 6
- If displays are jumbled in Surround, script can now be configured to automatically swap screens around (custom value can be entered within %appdata%\NVSToggle\NVSToggleV6.ini).
- The above "SwapScreens" value can be set to: 0 for no-swapping, 1 for swap left/right, 2 for swap left/center, 3 for swap right/center.
Version 7
- Improved config file handling and management. New GUI for first-run / program upgrades.
- Support for correctly detecting Surround/Extended on 21:9 monitors.
- Support for inverted-landscale surround (Orientation must be set to 2 in NVSToggle.ini).
- Preliminary/Experemental support for portrait surround (Orientation must be set to 1 in NVSToggle.ini).
- Preliminary/Experemental support for inverted-portrait surround (Orientation must be set to 3 in NVSToggle.ini).
- Upgrading to future versions of NVSToggle will not reset the config file unless it's actually neccisary.
- Prevented script from hanging if the user starts multiple instances at once.
- Improved error handling and prevented invalid config values from causing errors.
- Improved reliability of switching to Extended mode.
- Code cleanup. Easier to read and easier to maintain.
- Some small speed improvements.
Version 8
- Additional configuration options for returning to Extended mode.
- Nolonger opens a dialog box if the user launches mutliple instances simultaniously, automatically allows the first instance to continue.
- Moved configuration file location to "%programdata%\NVSToggle\NVSToggle.ini"
Version 9
- Fix for windows sometimes maximizing behind the taskbar while in Surround mode (This is OFF by default, as it takes a noticeable amount of time to run).
- Fewer pop-ups during the switching process. Windows that cannot be moved off-screen are made transparent while the script executes.
- Increased time-out values to prevent time-out errors on slower computers.
- Splash window can now be displayed. Splash window closes when the script has finished running. (cfg file option)
- Source, changelog, and program icon are included in a ZIP file with the compiled script.
- Please note, this script is designed for Windows 8.1 and Windows 10. It is not tested on Windows 7 and may not work as expected.
Version 10
- Increased delays between checkboxes and "apply" buttons being activated to prevent time-outs on some systems.
- Optimized method for hiding windows, preventing windows from briefly flickering on-screen before being hidden.
- Fixed an issue that could result in the script not exiting cleanly under certain circumstances.
- Improved message-window handling.
- Setting "TimingMode" to "2" will enable slower timings and longer time-out periods.
- If a timeout error occurs, this value will be automatically incremented to help prevent future time-outs.
- The Escape key can now be used to halt the script.
- New re-ordering modes for switching into Surround (#4 "Wrap left-to-right", and #5 "wrap right-to-left")
- Initial release.
- Windows 7 ONLY. Does not work on Windows 8.x
Version 2
- Quick hack to get this working on SLI systems.
- Windows 7 ONLY. Does not work on Windows 8.x
Version 3
- Prevented a tray icon from being spawned for the process.
Version 4 (Pre-Release)
- Almost a total rewrite. More robust fallback. Fixes for Windows 8.1
- Will work even if the Nvidia hotkey system stops responding.
- This is a beta version, does not have full error handling, and can be slower to switch modes. May not work with SLI.
Version 4
- When enabling Surround, bezel corrected resolutions don't vanish anymore!
- Various speed improvements.
- Delays replaced with wait-loops. Helps if the Nvidia control panel takes longer than expected to load.
- Works without using the Nvidia hotkey system, at all.
- This is a beta version, and does not have full error handling. Does not work with SLI.
Version 5
- Bezel correction now user-defined (custom value can be entered within %appdata%\NVSToggle\NVSToggleV5.ini).
- Lots of speed and reliability improvements.
- Works (mostly) off-screen. CMD windows and Nvidia Control Panel are hidden during execution as much as possible.
- Works with no dependency on the unreliable Nvidia hotkey system.
- Full error-handling re-implemented.
Version 6
- If displays are jumbled in Surround, script can now be configured to automatically swap screens around (custom value can be entered within %appdata%\NVSToggle\NVSToggleV6.ini).
- The above "SwapScreens" value can be set to: 0 for no-swapping, 1 for swap left/right, 2 for swap left/center, 3 for swap right/center.
Version 7
- Improved config file handling and management. New GUI for first-run / program upgrades.
- Support for correctly detecting Surround/Extended on 21:9 monitors.
- Support for inverted-landscale surround (Orientation must be set to 2 in NVSToggle.ini).
- Preliminary/Experemental support for portrait surround (Orientation must be set to 1 in NVSToggle.ini).
- Preliminary/Experemental support for inverted-portrait surround (Orientation must be set to 3 in NVSToggle.ini).
- Upgrading to future versions of NVSToggle will not reset the config file unless it's actually neccisary.
- Prevented script from hanging if the user starts multiple instances at once.
- Improved error handling and prevented invalid config values from causing errors.
- Improved reliability of switching to Extended mode.
- Code cleanup. Easier to read and easier to maintain.
- Some small speed improvements.
Version 8
- Additional configuration options for returning to Extended mode.
- Nolonger opens a dialog box if the user launches mutliple instances simultaniously, automatically allows the first instance to continue.
- Moved configuration file location to "%programdata%\NVSToggle\NVSToggle.ini"
Version 9
- Fix for windows sometimes maximizing behind the taskbar while in Surround mode (This is OFF by default, as it takes a noticeable amount of time to run).
- Fewer pop-ups during the switching process. Windows that cannot be moved off-screen are made transparent while the script executes.
- Increased time-out values to prevent time-out errors on slower computers.
- Splash window can now be displayed. Splash window closes when the script has finished running. (cfg file option)
- Source, changelog, and program icon are included in a ZIP file with the compiled script.
- Please note, this script is designed for Windows 8.1 and Windows 10. It is not tested on Windows 7 and may not work as expected.
Version 10
- Increased delays between checkboxes and "apply" buttons being activated to prevent time-outs on some systems.
- Optimized method for hiding windows, preventing windows from briefly flickering on-screen before being hidden.
- Fixed an issue that could result in the script not exiting cleanly under certain circumstances.
- Improved message-window handling.
- Setting "TimingMode" to "2" will enable slower timings and longer time-out periods.
- If a timeout error occurs, this value will be automatically incremented to help prevent future time-outs.
- The Escape key can now be used to halt the script.
- New re-ordering modes for switching into Surround (#4 "Wrap left-to-right", and #5 "wrap right-to-left")
- Added a "Topology" configuration option. This can be useful if the Nvidia Control Panel doesn't defualt to 1x3 mode.
- This script ONLY supports 1x3 mode, so make sure the Topology setting you choose corresponds to 1x3 mode in the Nvidia Control Panel!
- Source available on my github: https://github.com/Leapo/NVSToggle
Installation:
Save that executable somewhere, pin a shortcut to it on your taskbar, and you have one-click switching at your disposal.

INI File (%programdata%\NVSToggle\NVSToggle.ini) Definitions:
Code:
BezelCorrection=128
The bezel correction value (in pixels).
Valid settings for this option are 0 through 1024.
SwapScreens=0
Re-order screens in Surround mode.
0 = Nothing swapped
1 = Swap left and right
2 = Swap left and center
3 = Swap right and center
4 = Wrap left-to-right
5 = Wrap right-to-left
Orientation=0
Screen orientation in Surround mode.
0 = Landscape
1 = Portrait
2 = Inverted landscape
3 = Inverted portrait
Topology=0
Sets the Surround Topology (You must select the option that corresponds to 1x3 mode!)
0 = Do not modify the default setting.
1 = 1st option in the Topology drop-down menu
2 = 2nd option in the Topology drop-down menu
3 = 3rd option in the Topology drop-down menu
4 = 4th option in the Topology drop-down menu
TaskbarFix=0
Fix for windows maximizing behind the taskbar in Surround mode
0 = Fix Disabled (Default)
1 = Fix Enabled
ShowStatusWindow=1
Status window that displays current operation while the script runs
0 = Status window disabled
1 = Status window enabled (Default)
Notes:
This script checks your display's aspect ratio against a threshold and switches between Extended/Surround depending upon which side of the threshold you're on. This should be pretty much bullet-proof, and can even detect when switching to Surround fails.
I also highly recommended enabling the option to save taskbar thumbnails, as it will prevent taskbar thumbnail previews from getting blanked-out when switching back to Extended mode:

Last edited: