* 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
base::Value arguments,
                         InvokeCallback callback) {
  
  EmitWithSender("-ipc-invoke", bindings_.dispatch_context(),
                 std::move(callback), channel, std::move(arguments));
}
void WebContents::MessageSync(bool internal,
                              const std::string& channel,
                              base::Value arguments,
                              MessageSyncCallback callback) {
  
  
  EmitWithSender("-ipc-message-sync", bindings_.dispatch_context(),
                 std::move(callback), internal, channel, std::move(arguments));
}
void WebContents::MessageTo(bool internal,
                            bool send_to_all,
                            int32_t web_contents_id,
                            const std::string& channel,
                            base::Value arguments) {
  auto* web_contents = mate::TrackableObject<WebContents>::FromWeakMapID(
      isolate(), web_contents_id);
  if (web_contents) {
    web_contents->SendIPCMessageWithSender(internal, send_to_all, channel,
                                           base::ListValue(arguments.GetList()),
                                           ID());
  }
}
void WebContents::MessageHost(const std::string& channel,