* 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
auto* web_preferences = WebContentsPreferences::From(web_contents());
  DCHECK(web_preferences);
  web_preferences->preference()->SetKey("ignoreMenuShortcuts",
                                        base::Value(ignore));
}
void WebContents::SetAudioMuted(bool muted) {
  web_contents()->SetAudioMuted(muted);
}
bool WebContents::IsAudioMuted() {
  return web_contents()->IsAudioMuted();
}
bool WebContents::IsCurrentlyAudible() {
  return web_contents()->IsCurrentlyAudible();
}
#if BUILDFLAG(ENABLE_PRINTING)
void WebContents::Print(mate::Arguments* args) {
  bool silent = false, print_background = false;
  base::string16 device_name;
  mate::Dictionary options = mate::Dictionary::CreateEmpty(args->isolate());
  base::DictionaryValue settings;
  if (args->Length() >= 1 && !args->GetNext(&options)) {
    args->ThrowError("Invalid print settings specified");
    return;
  }
  printing::CompletionCallback callback;
  if (args->Length() == 2 && !args->GetNext(&callback)) {
    args->ThrowError("Invalid optional callback provided");
    return;