* 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
bool send_to_all,
                                        int32_t frame_id,
                                        const std::string& channel,
                                        const base::ListValue& args) {
  auto frames = web_contents()->GetAllFrames();
  auto iter = std::find_if(frames.begin(), frames.end(), [frame_id](auto* f) {
    return f->GetRoutingID() == frame_id;
  });
  if (iter == frames.end())
    return false;
  if (!(*iter)->IsRenderFrameLive())
    return false;
  mojom::ElectronRendererAssociatedPtr electron_ptr;
  (*iter)->GetRemoteAssociatedInterfaces()->GetInterface(
      mojo::MakeRequest(&electron_ptr));
  electron_ptr->Message(internal, send_to_all, channel, args.Clone(),
                        0 );
  return true;
}
void WebContents::SendInputEvent(v8::Isolate* isolate,