69

I want to be able to 'put the display to sleep' on one of my two monitors when it isn't needed, so it doesn't distract me or use unnecessary power.

Ideally, the display would be asleep, but the OS would remain in dual-monitor mode, so I could still have a variety of windows open in the sleeping monitor's display space, which would mean I wouldn't have to keep switching between single- and dual-monitor modes.

That said, I'd also consider a solution that made it easy to toggle between single- and dual-monitor modes without navigating several system menus.

Stew
  • 1,469
  • 3
  • 13
  • 23

14 Answers14

56

Press Windows + P - you will be prompted to choose your display mode from single, extend, etc and so can be used to disable your secondary monitor.

I see you wanted to keep your open windows; this still keeps them open, but it does bring them all to one display if you enable single monitor mode. However at least this approach will let you shut down the second glowing distraction when it is not in use.

Gareth
  • 19,080
Cosmin.Net
  • 592
  • 5
  • 2
9

Another option is the Nirsoft Multi Monitor tool: http://www.nirsoft.net/utils/multi_monitor_tool.html

You could create two batch files - one to disable display X, the other to enable. For example:

MultiMonitorTool.exe /disable 5

and

MultiMonitorTool.exe /enable 5

To find the display numbers open up MultiMonitorTool.exe, right click on the display, and visit properties.

8

This post is a bit old but I ran into a similar issue. I can turn on my PC/media player/lights remotely but my 27" computer display throws a distracting glow across the room. In order to maximize my laziness I created a simple Java app to blacken the display (which I can launch remotely using other tools).

Below is the java code that I have tested on Windows 7. It takes a single argument 0 to max display-1. For example: java -jar Dimmer.jar 1 will blacken my second monitor, no arguments will assume display 0

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JWindow;
import javax.swing.UIManager;

public class Dimmer extends JWindow
{
   private static final long serialVersionUID = 3493635987367217622L;

   private final int _screen;

   public Dimmer ()
   {
      this(0);
   }

   public Dimmer (int screen)
   {
      super();
      _screen = screen;

      {
         final JButton button = new JButton("click to exit");
         button.setForeground(Color.gray);
         button.setOpaque(false);
         button.setContentAreaFilled(false);
         button.setBorder(BorderFactory.createEmptyBorder());
         button.addActionListener(new ActionListener()
         {
            @Override
            public void actionPerformed(ActionEvent arg0)
            {
               System.exit(0);
            }
         });
         add(button, BorderLayout.CENTER);
      }
      setAlwaysOnTop(true);
   }

   public void begin()
   {
      GraphicsDevice gda[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();
      GraphicsDevice gd = gda[_screen];
      getContentPane().setBackground(Color.black);

      for (GraphicsDevice gdTmp : gda)
      {
         System.out.print( (gd == gdTmp) ? "->" : "  ");
         System.out.println( 
                "Screen(" + gdTmp.getDefaultConfiguration().getDevice().getIDstring() +")"
                +" "+ gdTmp.getDefaultConfiguration().getBounds() );
      }

      Rectangle bounds = gd.getDefaultConfiguration().getBounds();
      setLocation(bounds.getLocation());
      setSize(bounds.getSize());

      validate();
      setVisible(true);
   }

   /**
    * @param args
    * @throws Exception 
    */
   public static void main(String[] args) throws Exception
   {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
      Dimmer dimmer = new Dimmer(args.length == 1 ? Integer.valueOf(args[0]) : 0);
      dimmer.begin();
   }

}
2

If I understand your question correctly, I think I've found an easy way that works. No software or command line hacks needed. Just use a dummy HDMI/DP plug that costs a few dollars.

Assume you want to use monitor 1 and put monitor 2 into sleep.

  1. Open system settings, duplicate desktop monitor 2 and a dummy HDMI plug (monitor 3).
  2. Move the settings window to monitor 1.
  3. Turn off monitor 2.
  4. Change the resolution and scaling of monitor 3 to match the proportion of those two settings of monitor 2 so that your window layout won't be messed up. (for example, 7840P 250% on the real display, 3840P 125% on the dummy)

Now turn on monitor 2, the desktop layout on monitor 3 will be duplicated to monitor 2 automatically.

2

I was looking to do the same exact thing. I have a 42" HDTV as my primary monitor and just set up my 24" Samsung as my secondary monitor off to my left side but when I watch a movie or play a game it can be distracting to have it sitting there glowing.

Just found the solution, Ultramon. You can get it here http://www.realtimesoft.com/ultramon/

There are other software apps that work similarly but I haven't tried those. With Ultramon the solution is simple, you can rightclick on the Ultramon icon in your taskbar to see a predefined list of actions. One of those actions is "Disable Secondary". You can either just select it from there or map a key combo to it (which is what I did) and now you have the ability to just turn off your secondary monitor with a click, or combo key press. This effectively allows you to switch from dual display mode to single and back again immediately. My second monitor just blacks out into power saving mode when I use my key combo and restores when I activate dual display with the same key combo when I am ready to use it again.

Works perfectly.

Pete
  • 37
1

I was looking for the same solution. I ended up doing this:

  1. Open your favourite Internet Browser in the monitor that you want to shut down.
  2. Enter http://www.e-try.com/black.htm (just a black website).
  3. Open it in Full Screen Mode (F11 in Google Chrome).

Problem solved :)

Esteban
  • 21
1
  1. Go to 'Display Settings'
  2. Select display you want to turn-off
  3. Go to Advanced Display settings
  4. Choose 'Remove display from Desktop' option.

Screenshot

You are done!

Peregrino69
  • 5,004
1

If you just want to blank your primary display, without disabling or "sleeping" it you can use this VB6 program that simply loads a black background HTML file in full screen without any boarders:

http://jpelectron.com/download/viewit-rev3.zip

Copy all the files to: C:\Program Files (x86)\viewIT\ then run viewit.exe

There is also the option to make the entire screen white (like a "flashlight" app)

I created this because I needed a way to blank my tablet's screen (primary display) while I had a YouTube or other video playing full-screen elsewhere (secondary display)

If you don't like that this loads on the primary display only, I would suggest you open fillblack.htm in a browser, put that browser on the display you want, then press F11 to enable full-screen/kiosk mode - this also accomplishes it.

0

This will be the 100% matching solution. I'm using 3 screens ( in the order 1,2,3 - left to right). I can place 4 icons(for different profiles) on my main screen using this app. By clicking each, followings will happen. 1. only monitors #2, #3 will keep on 2. only monitors #1, #2 will keep on 3. only monitor #2 will keep on 4. all monitors will keep on

The tool is ultramon just download, install and experience it.

Malith
  • 121
0

Windows-P proved to be a bit wonky, at least for my use case.

On a Windows 10 machine, open Settings > Display. Under the Multiple Displays section, there's a dropdown with the following options:

  1. Duplicate these displays
  2. Extend these displays
  3. Show only on 1
  4. Show only on 2

I'm trying to get a pretty complicated setup working with ShareMouse. Choosing 'Show only 1/2' resulted in ShareMouse only seeing screen 1 or screen 2 on that machine - which is what I'm looking for, and which did not happen with Windows-P.

shmim
  • 101
0

Its easy with DisplayFusion. You can set profiles for one monitor and another for several monitors, and also setup combo keys to activate them with or without prompt confirm dialog. Win + P works well too.

-1

I've mucked with this for years and simplest answer for me was to use a dark background and use WINDOWS KEY + M this just minimizes all but the active window. Most of the other options turn of the window and when you want the monitor again, you have to move all the windows back.

Milez
  • 1
-1

Other option: Set your wallpaper to black, hide your desktop icons, and auto-hide the taskbar. Unused monitors will look closed and won't be a distraction =]

-3

Download a copy of nircmd to your C drive and then create this batch file:

C:\nircmd.exe cmdwait 1000 monitor off

It will sleep your monitors but not lock Windows.