Both hot corners and 'CTRL + SHIFT + EJECT' can put the display to sleep without actually suspending the device. This means the `powerMonitor.on('suspend'` event is not emitted, which makes sense, but we still require a way of detecting this use case in electron.

Is there any known way to detect this situation? And if not, would it be possible to add this functionality to electron's powerMonitor? Ideally something like a `'screen-lock'` or `'display-sleep'` event emitted from `powerMonitor`. This would likely apply to other OS as well.

Ideally we would like to be able to detect:
- Screen-lock
![image](https://user-images.githubusercontent.com/1721120/39200847-e734fab4-47b2-11e8-8e43-cbdb5ba1e615.png)
- Putting display to sleep via hot corner
![image](https://user-images.githubusercontent.com/1721120/39197746-eecbc95e-47aa-11e8-9600-13272189b5e8.png)
- Putting display to sleep via 'CTRL + SHIFT + EJECT'

Not necessarily with the same powerMonitor events.



atom/browser/api/atom_api_power_monitor.cc
Emit("suspend");
}
void PowerMonitor::OnResume() {
  Emit("resume");
}
void PowerMonitor::QuerySystemIdleState(v8::Isolate* isolate,
                                        int idle_threshold,
                                        const ui::IdleCallback& callback) {
  if (idle_threshold > 0) {
    ui::CalculateIdleState(idle_threshold, callback);
  } else {
    isolate->ThrowException(v8::Exception::TypeError(mate::StringToV8(
        isolate, "Invalid idle threshold, must be greater than 0")));
  }
}
void PowerMonitor::QuerySystemIdleTime(const ui::IdleTimeCallback& callback) {
  ui::CalculateIdleTime(callback);
}
v8::Local<v8::Value> PowerMonitor::Create(v8::Isolate* isolate) {
  if (!Browser::Get()->is_ready()) {
    isolate->ThrowException(v8::Exception::Error(mate::StringToV8(
        isolate,
        "Cannot require \"powerMonitor\" module before app is ready")));
    return v8::Null(isolate);
  }
  return mate::CreateHandle(isolate, new PowerMonitor(isolate)).ToV8();
}
void PowerMonitor::BuildPrototype(v8::Isolate* isolate,