* Electron version: 1.4.5
* Operating system: All

1- There are only 2 options when it comes to print: silent and printBackground, there are plenty more options, like margins, copies, etc in the print window (Ctrl+P), that could be sent using _webContents.print()_ 

2- Access to print queue, to know if the printer is printing

shell/browser/api/atom_api_web_contents.cc
const base::FilePath& full_file_path,
    const content::SavePageType& save_type) {
  util::Promise promise(isolate());
  v8::Local<v8::Promise> handle = promise.GetHandle();
  auto* handler = new SavePageHandler(web_contents(), std::move(promise));
  handler->Handle(full_file_path, save_type);
  return handle;
}
void WebContents::OpenDevTools(mate::Arguments* args) {
  if (type_ == Type::REMOTE)
    return;
  if (!enable_devtools_)
    return;
  std::string state;
  if (type_ == Type::WEB_VIEW || !owner_window()) {
    state = "detach";
  }
  bool activate = true;
  if (args && args->Length() == 1) {
    mate::Dictionary options;
    if (args->GetNext(&options)) {
      options.Get("mode", &state);
      options.Get("activate", &activate);
    }
  }
  managed_web_contents()->SetDockState(state);
  managed_web_contents()->ShowDevTools(activate);
}
void WebContents::CloseDevTools() {