1"use strict";(self.webpackChunkelectronjs=self.webpackChunkelectronjs||[]).push([["12996"],{46197(e,t,n){n.r(t),n.d(t,{metadata:()=>o,default:()=>u,frontMatter:()=>a,contentTitle:()=>c,toc:()=>p,assets:()=>f});var o=JSON.parse('{"id":"latest/api/ipc-main","title":"ipcMain","description":"Communicate asynchronously from the main process to renderer processes.","source":"@site/docs/latest/api/ipc-main.md","sourceDirName":"latest/api","slug":"/latest/api/ipc-main","permalink":"/docs/latest/api/ipc-main","draft":false,"unlisted":false,"editUrl":"https://github.com/electron/electron/edit/main/docs/api/ipc-main.md","tags":[],"version":"current","frontMatter":{"title":"ipcMain","description":"Communicate asynchronously from the main process to renderer processes.","slug":"ipc-main","hide_title":false},"sidebar":"api","previous":{"title":"inAppPurchase","permalink":"/docs/latest/api/in-app-purchase"},"next":{"title":"Menu","permalink":"/docs/latest/api/menu"}}'),l=n(74848),s=n(28453),i=n(56346),r=n(40329);let a={title:"ipcMain",description:"Communicate asynchronously from the main process to renderer processes.",slug:"ipc-main",hide_title:!1},c="ipcMain",f={},p=[{value:"Sending messages",id:"sending-messages",level:2},{value:"Methods",id:"methods",level:2},{value:"<code>ipcMain.on(channel, listener)</code>",id:"ipcmainonchannel-listener",level:3},{value:"<code>ipcMain.off(channel, listener)</code>",id:"ipcmainoffchannel-listener",level:3},{value:"<code>ipcMain.once(channel, listener)</code>",id:"ipcmainoncechannel-listener",level:3},{value:"<code>ipcMain.addListener(channel, listener)</code>",id:"ipcmainaddlistenerchannel-listener",level:3},{value:"<code>ipcMain.removeListener(channel, listener)</code>",id:"ipcmainremovelistenerchannel-listener",level:3},{value:"<code>ipcMain.removeAllListeners([channel])</code>",id:"ipcmainremovealllistenerschannel",level:3},{value:"<code>ipcMain.handle(channel, listener)</code>",id:"ipcmainhandlechannel-listener",level:3},{value:"<code>ipcMain.handleOnce(channel, listener)</code>",id:"ipcmainhandleoncechannel-listener",level:3},{value:"<code>ipcMain.removeHandler(channel)</code>",id:"ipcmainremovehandlerchannel",level:3}];function m(e){let t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.header,{children:(0,l.jsx)(t.h1,{id:"ipcmain",children:"ipcMain"})}),"\n",(0,l.jsxs)(t.blockquote,{children:["\n",(0,l.jsx)(t.p,{children:"Communicate asynchronously from the main process to renderer processes."}),"\n"]}),"\n",(0,l.jsxs)(t.p,{children:["Process: ",(0,l.jsx)(t.a,{href:"/docs/latest/glossary#main-process",children:"Main"})]}),"\n",(0,l.jsxs)(t.p,{children:["The ",(0,l.jsx)(t.code,{children:"ipcMain"})," module is an ",(0,l.jsx)(t.a,{href:"https://nodejs.org/api/events.html#events_class_eventemitter",children:"Event Emitter"}),". When used in the main\nprocess, it handles asynchronous and synchronous messages sent from a renderer\nprocess (web page). Messages sent from a renderer will be emitted to this\nmodule."]}),"\n",(0,l.jsxs)(t.p,{children:["For usage examples, check out the ",(0,l.jsx)(t.a,{href:"/docs/latest/tutorial/ipc",children:"IPC tutorial"}),"."]}),"\n",(0,l.jsx)(t.h2,{id:"sending-messages",children:"Sending messages"}),"\n",(0,l.jsxs)(t.p,{children:["It is also possible to send messages from the main process to the renderer\nprocess, see ",(0,l.jsx)(t.a,{href:"/docs/latest/api/web-contents#contentssendchannel-args",children:"webContents.send"})," for more information."]}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:["When sending a message, the event name is the ",(0,l.jsx)(t.code,{children:"channel"}),"."]}),"\n",(0,l.jsxs)(t.li,{children:["To reply to a synchronous message, you need to set ",(0,l.jsx)(t.code,{children:"event.returnValue"}),"."]}),"\n",(0,l.jsxs)(t.li,{children:["To send an asynchronous message back to the sender, you can use\n",(0,l.jsx)(t.code,{children:"event.reply(...)"}),". This helper method will automatically handle messages\ncoming from frames that aren't the main frame (e.g. iframes) whereas\n",(0,l.jsx)(t.code,{children:"event.sender.send(...)"})," will always send to the main frame."]}),"\n"]}),"\n",(0,l.jsx)(t.h2,{id:"methods",children:"Methods"}),"\n",(0,l.jsxs)(t.p,{children:["The ",(0,l.jsx)(t.code,{children:"ipcMain"})," module has the following methods to listen for events:"]}),"\n",(0,l.jsx)(t.h3,{id:"ipcmainonchannel-listener",children:(0,l.jsx)(t.code,{children:"ipcMain.on(channel, listener)"})}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"channel"})," string"]}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"listener"})," Function","\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"event"})," ",(0,l.jsx)(r.A,{url:"/docs/latest/api/structures/ipc-main-event",title:"IpcMainEvent",content:'{"type":"root","children":[{"type":"element","tagName":"h1","properties":{},"children":[{"type":"text","value":"IpcMainEvent Object extends
1Event"}]},{"type":"text","value":"\\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"type","position":{"start":{"line":10,"column":3,"offset":150},"end":{"line":10,"column":9,"offset":156}}}],"position":{"start":{"line":10,"column":3,"offset":150},"end":{"line":10,"column":9,"offset":156}}},{"type":"text","value":" String - Possible values include ","position":{"start":{"line":10,"column":9,"offset":156},"end":{"line":10,"column":43,"offset":190}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"frame","position":{"start":{"line":10,"column":43,"offset":190},"end":{"line":10,"column":50,"offset":197}}}],"position":{"start":{"line":10,"column":43,"offset":190},"end":{"line":10,"column":50,"offset":197}}}],"position":{"start":{"line":10,"column":1,"offset":148},"end":{"line":10,"column":50,"offset":197}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"processId","position":{"start":{"line":11,"column":3,"offset":200},"end":{"line":11,"column":14,"offset":211}}}],"position":{"start":{"line":11,"column":3,"offset":200},"end":{"line":11,"column":14,"offset":211}}},{"type":"text","value":" Integer - The internal ID of the renderer process that sent this message","position":{"start":{"line":11,"column":14,"offset":211},"end":{"line":11,"column":87,"offset":284}}}],"position":{"start":{"line":11,"column":1,"offset":198},"end":{"line":11,"column":87,"offset":284}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"frameId","position":{"start":{"line":12,"column":3,"offset":287},"end":{"line":12,"column":12,"offset":296}}}],"position":{"start":{"line":12,"column":3,"offset":287},"end":{"line":12,"column":12,"offset":296}}},{"type":"text","value":" Integer - The ID of the renderer frame that sent this message","position":{"start":{"line":12,"column":12,"offset":296},"end":{"line":12,"column":74,"offset":358}}}],"position":{"start":{"line":12,"column":1,"offset":285},"end":{"line":12,"column":74,"offset":358}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"returnValue","position":{"start":{"line":13,"column":3,"offset":361},"end":{"line":13,"column":16,"offset":374}}}],"position":{"start":{"line":13,"column":3,"offset":361},"end":{"line":13,"column":16,"offset":374}}},{"type":"text","value":" any - Set this to the value to be returned in a synchronous message","position":{"start":{"line":13,"column":16,"offset":374},"end":{"line":13,"column":84,"offset":442}}}],"position":{"start":{"line":13,"column":1,"offset":359},"end":{"line":13,"column":84,"offset":442}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"sender","position":{"start":{"line":14,"column":3,"offset":445},"end":{"line":14,"column":11,"offset":453}}}],"position":{"start":{"line":14,"column":3,"offset":445},"end":{"line":14,"column":11,"offset":453}}},{"type":"text","value":" ","position":{"start":{"line":14,"column":11,"offset":453},"end":{"line":14,"column":12,"offset":454}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/web-contents"},"children":[{"type":"text","value":"WebContents","position":{"start":{"line":14,"column":13,"offset":455},"end":{"line":14,"column":24,"offset":466}}}],"position":{"start":{"line":14,"column":12,"offset":454},"end":{"line":14,"column":45,"offset":487}}},{"type":"text","value":" - Returns the ","position":{"start":{"line":14,"column":45,"offset":487},"end":{"line":14,"column":60,"offset":502}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"webContents","position":{"start":{"line":14,"column":60,"offset":502},"end":{"line":14,"column":73,"offset":515}}}],"position":{"start":{"line":14,"column":60,"offset":502},"end":{"line":14,"column":73,"offset":515}}},{"type":"text","value":" that sent the message","position":{"start":{"line":14,"column":73,"offset":515},"end":{"line":14,"column":95,"offset":537}}}],"position":{"start":{"line":14,"column":1,"offset":443},"end":{"line":14,"column":95,"offset":537}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"senderFrame","position":{"start":{"line":15,"column":3,"offset":540},"end":{"line":15,"column":16,"offset":553}}}],"position":{"start":{"line":15,"column":3,"offset":540},"end":{"line":15,"column":16,"offset":553}}},{"type":"text","value":" ","position":{"start":{"line":15,"column":16,"offset":553},"end":{"line":15,"column":17,"offset":554}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/web-frame-main"},"children":[{"type":"text","value":"WebFrameMain","position":{"start":{"line":15,"column":18,"offset":555},"end":{"line":15,"column":30,"offset":567}}}],"position":{"start":{"line":15,"column":17,"offset":554},"end":{"line":15,"column":53,"offset":590}}},{"type":"text","value":" | null ","position":{"start":{"line":15,"column":53,"offset":590},"end":{"line":15,"column":61,"offset":598}}},{"type":"element","tagName":"em","properties":{"className":["badge badge--info"]},"children":[{"type":"text","value":"Readonly","position":{"start":{"line":15,"column":62,"offset":599},"end":{"line":15,"column":70,"offset":607}}}],"position":{"start":{"line":15,"column":61,"offset":598},"end":{"line":15,"column":71,"offset":608}}},{"type":"text","value":" - The frame that sent this message. May be ","position":{"start":{"line":15,"column":71,"offset":608},"end":{"line":15,"column":115,"offset":652}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"null","position":{"start":{"line":15,"column":115,"offset":652},"end":{"line":15,"column":121,"offset":658}}}],"position":{"start":{"line":15,"column":115,"offset":652},"end":{"line":15,"column":121,"offset":658}}},{"type":"text","value":" if accessed after the frame has either navigated or been destroyed.","position":{"start":{"line":15,"column":121,"offset":658},"end":{"line":15,"column":189,"offset":726}}}],"position":{"start":{"line":15,"column":1,"offset":538},"end":{"line":15,"column":189,"offset":726}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"ports","position":{"start":{"line":16,"column":3,"offset":729},"end":{"line":16,"column":10,"offset":736}}}],"position":{"start":{"line":16,"column":3,"offset":729},"end":{"line":16,"column":10,"offset":736}}},{"type":"text","value":" ","position":{"start":{"line":16,"column":10,"offset":736},"end":{"line":16,"column":11,"offset":737}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/message-port
1-main"},"children":[{"type":"text","value":"MessagePortMain","position":{"start":{"line":16,"column":12,"offset":738},"end":{"line":16,"column":27,"offset":753}}}],"position":{"start":{"line":16,"column":11,"offset":737},"end":{"line":16,"column":53,"offset":779}}},{"type":"text","value":"[] - A list of MessagePorts that were transferred with this message","position":{"start":{"line":16,"column":53,"offset":779},"end":{"line":16,"column":120,"offset":846}}}],"position":{"start":{"line":16,"column":1,"offset":727},"end":{"line":16,"column":120,"offset":846}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"reply","position":{"start":{"line":17,"column":3,"offset":849},"end":{"line":17,"column":10,"offset":856}}}],"position":{"start":{"line":17,"column":3,"offset":849},"end":{"line":17,"column":10,"offset":856}}},{"type":"text","value":" Function - A function that will send an IPC message to the renderer frame that sent the original message that you are currently handling. You should use this method to \\"reply\\" to the sent message in order to guarantee the reply will go to the correct process and frame.","position":{"start":{"line":17,"column":10,"offset":856},"end":{"line":17,"column":281,"offset":1127}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"channel","position":{"start":{"line":18,"column":5,"offset":1132},"end":{"line":18,"column":14,"offset":1141}}}],"position":{"start":{"line":18,"column":5,"offset":1132},"end":{"line":18,"column":14,"offset":1141}}},{"type":"text","value":" string","position":{"start":{"line":18,"column":14,"offset":1141},"end":{"line":18,"column":21,"offset":1148}}}],"position":{"start":{"line":18,"column":3,"offset":1130},"end":{"line":18,"column":21,"offset":1148}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"...args","position":{"start":{"line":19,"column":5,"offset":1153},"end":{"line":19,"column":14,"offset":1162}}}],"position":{"start":{"line":19,"column":5,"offset":1153},"end":{"line":19,"column":14,"offset":1162}}},{"type":"text","value":" any[]","position":{"start":{"line":19,"column":14,"offset":1162},"end":{"line":19,"column":20,"offset":1168}}}],"position":{"start":{"line":19,"column":3,"offset":1151},"end":{"line":19,"column":20,"offset":1168}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":18,"column":3,"offset":1130},"end":{"line":19,"column":20,"offset":1168}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":17,"column":1,"offset":847},"end":{"line":19,"column":20,"offset":1168}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":10,"column":1,"offset":148},"end":{"line":19,"column":20,"offset":1168}}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":20,"column":1,"offset":1169}}}'})]}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"...args"})," any[]"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(t.p,{children:["Listens to ",(0,l.jsx)(t.code,{children:"channel"}),", when a new message arrives ",(0,l.jsx)(t.code,{children:"listener"})," would be called with\n",(0,l.jsx)(t.code,{children:"listener(event, args...)"}),"."]}),"\n",(0,l.jsx)(t.h3,{id:"ipcmainoffchannel-listener",children:(0,l.jsx)(t.code,{children:"ipcMain.off(channel, listener)"})}),"\n",(0,l.jsx)(i.A,{apiHistoryJson:'{"added":[{"pr-url":"https://github.com/electron/electron/pull/44651"}]}',prReleaseVersionsJson:"{}"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"channel"})," string"]}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"listener"})," Function","\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"event"})," ",(0,l.jsx)(r.A,{url:"/docs/latest/api/structures/ipc-main-event",title:"IpcMainEvent",content:'{"type":"root","children":[{"type":"element","tagName":"h1","properties":{},"children":[{"type":"text","value":"IpcMainEvent Object extends
1Event"}]},{"type":"text","value":"\\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"type","position":{"start":{"line":10,"column":3,"offset":150},"end":{"line":10,"column":9,"offset":156}}}],"position":{"start":{"line":10,"column":3,"offset":150},"end":{"line":10,"column":9,"offset":156}}},{"type":"text","value":" String - Possible values include ","position":{"start":{"line":10,"column":9,"offset":156},"end":{"line":10,"column":43,"offset":190}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"frame","position":{"start":{"line":10,"column":43,"offset":190},"end":{"line":10,"column":50,"offset":197}}}],"position":{"start":{"line":10,"column":43,"offset":190},"end":{"line":10,"column":50,"offset":197}}}],"position":{"start":{"line":10,"column":1,"offset":148},"end":{"line":10,"column":50,"offset":197}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"processId","position":{"start":{"line":11,"column":3,"offset":200},"end":{"line":11,"column":14,"offset":211}}}],"position":{"start":{"line":11,"column":3,"offset":200},"end":{"line":11,"column":14,"offset":211}}},{"type":"text","value":" Integer - The internal ID of the renderer process that sent this message","position":{"start":{"line":11,"column":14,"offset":211},"end":{"line":11,"column":87,"offset":284}}}],"position":{"start":{"line":11,"column":1,"offset":198},"end":{"line":11,"column":87,"offset":284}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"frameId","position":{"start":{"line":12,"column":3,"offset":287},"end":{"line":12,"column":12,"offset":296}}}],"position":{"start":{"line":12,"column":3,"offset":287},"end":{"line":12,"column":12,"offset":296}}},{"type":"text","value":" Integer - The ID of the renderer frame that sent this message","position":{"start":{"line":12,"column":12,"offset":296},"end":{"line":12,"column":74,"offset":358}}}],"position":{"start":{"line":12,"column":1,"offset":285},"end":{"line":12,"column":74,"offset":358}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"returnValue","position":{"start":{"line":13,"column":3,"offset":361},"end":{"line":13,"column":16,"offset":374}}}],"position":{"start":{"line":13,"column":3,"offset":361},"end":{"line":13,"column":16,"offset":374}}},{"type":"text","value":" any - Set this to the value to be returned in a synchronous message","position":{"start":{"line":13,"column":16,"offset":374},"end":{"line":13,"column":84,"offset":442}}}],"position":{"start":{"line":13,"column":1,"offset":359},"end":{"line":13,"column":84,"offset":442}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"sender","position":{"start":{"line":14,"column":3,"offset":445},"end":{"line":14,"column":11,"offset":453}}}],"position":{"start":{"line":14,"column":3,"offset":445},"end":{"line":14,"column":11,"offset":453}}},{"type":"text","value":" ","position":{"start":{"line":14,"column":11,"offset":453},"end":{"line":14,"column":12,"offset":454}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/web-contents"},"children":[{"type":"text","value":"WebContents","position":{"start":{"line":14,"column":13,"offset":455},"end":{"line":14,"column":24,"offset":466}}}],"position":{"start":{"line":14,"column":12,"offset":454},"end":{"line":14,"column":45,"offset":487}}},{"type":"text","value":" - Returns the ","position":{"start":{"line":14,"column":45,"offset":487},"end":{"line":14,"column":60,"offset":502}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"webContents","position":{"start":{"line":14,"column":60,"offset":502},"end":{"line":14,"column":73,"offset":515}}}],"position":{"start":{"line":14,"column":60,"offset":502},"end":{"line":14,"column":73,"offset":515}}},{"type":"text","value":" that sent the message","position":{"start":{"line":14,"column":73,"offset":515},"end":{"line":14,"column":95,"offset":537}}}],"position":{"start":{"line":14,"column":1,"offset":443},"end":{"line":14,"column":95,"offset":537}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"senderFrame","position":{"start":{"line":15,"column":3,"offset":540},"end":{"line":15,"column":16,"offset":553}}}],"position":{"start":{"line":15,"column":3,"offset":540},"end":{"line":15,"column":16,"offset":553}}},{"type":"text","value":" ","position":{"start":{"line":15,"column":16,"offset":553},"end":{"line":15,"column":17,"offset":554}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/web-frame-main"},"children":[{"type":"text","value":"WebFrameMain","position":{"start":{"line":15,"column":18,"offset":555},"end":{"line":15,"column":30,"offset":567}}}],"position":{"start":{"line":15,"column":17,"offset":554},"end":{"line":15,"column":53,"offset":590}}},{"type":"text","value":" | null ","position":{"start":{"line":15,"column":53,"offset":590},"end":{"line":15,"column":61,"offset":598}}},{"type":"element","tagName":"em","properties":{"className":["badge badge--info"]},"children":[{"type":"text","value":"Readonly","position":{"start":{"line":15,"column":62,"offset":599},"end":{"line":15,"column":70,"offset":607}}}],"position":{"start":{"line":15,"column":61,"offset":598},"end":{"line":15,"column":71,"offset":608}}},{"type":"text","value":" - The frame that sent this message. May be ","position":{"start":{"line":15,"column":71,"offset":608},"end":{"line":15,"column":115,"offset":652}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"null","position":{"start":{"line":15,"column":115,"offset":652},"end":{"line":15,"column":121,"offset":658}}}],"position":{"start":{"line":15,"column":115,"offset":652},"end":{"line":15,"column":121,"offset":658}}},{"type":"text","value":" if accessed after the frame has either navigated or been destroyed.","position":{"start":{"line":15,"column":121,"offset":658},"end":{"line":15,"column":189,"offset":726}}}],"position":{"start":{"line":15,"column":1,"offset":538},"end":{"line":15,"column":189,"offset":726}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"ports","position":{"start":{"line":16,"column":3,"offset":729},"end":{"line":16,"column":10,"offset":736}}}],"position":{"start":{"line":16,"column":3,"offset":729},"end":{"line":16,"column":10,"offset":736}}},{"type":"text","value":" ","position":{"start":{"line":16,"column":10,"offset":736},"end":{"line":16,"column":11,"offset":737}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/message-port
1-main"},"children":[{"type":"text","value":"MessagePortMain","position":{"start":{"line":16,"column":12,"offset":738},"end":{"line":16,"column":27,"offset":753}}}],"position":{"start":{"line":16,"column":11,"offset":737},"end":{"line":16,"column":53,"offset":779}}},{"type":"text","value":"[] - A list of MessagePorts that were transferred with this message","position":{"start":{"line":16,"column":53,"offset":779},"end":{"line":16,"column":120,"offset":846}}}],"position":{"start":{"line":16,"column":1,"offset":727},"end":{"line":16,"column":120,"offset":846}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"reply","position":{"start":{"line":17,"column":3,"offset":849},"end":{"line":17,"column":10,"offset":856}}}],"position":{"start":{"line":17,"column":3,"offset":849},"end":{"line":17,"column":10,"offset":856}}},{"type":"text","value":" Function - A function that will send an IPC message to the renderer frame that sent the original message that you are currently handling. You should use this method to \\"reply\\" to the sent message in order to guarantee the reply will go to the correct process and frame.","position":{"start":{"line":17,"column":10,"offset":856},"end":{"line":17,"column":281,"offset":1127}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"channel","position":{"start":{"line":18,"column":5,"offset":1132},"end":{"line":18,"column":14,"offset":1141}}}],"position":{"start":{"line":18,"column":5,"offset":1132},"end":{"line":18,"column":14,"offset":1141}}},{"type":"text","value":" string","position":{"start":{"line":18,"column":14,"offset":1141},"end":{"line":18,"column":21,"offset":1148}}}],"position":{"start":{"line":18,"column":3,"offset":1130},"end":{"line":18,"column":21,"offset":1148}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"...args","position":{"start":{"line":19,"column":5,"offset":1153},"end":{"line":19,"column":14,"offset":1162}}}],"position":{"start":{"line":19,"column":5,"offset":1153},"end":{"line":19,"column":14,"offset":1162}}},{"type":"text","value":" any[]","position":{"start":{"line":19,"column":14,"offset":1162},"end":{"line":19,"column":20,"offset":1168}}}],"position":{"start":{"line":19,"column":3,"offset":1151},"end":{"line":19,"column":20,"offset":1168}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":18,"column":3,"offset":1130},"end":{"line":19,"column":20,"offset":1168}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":17,"column":1,"offset":847},"end":{"line":19,"column":20,"offset":1168}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":10,"column":1,"offset":148},"end":{"line":19,"column":20,"offset":1168}}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":20,"column":1,"offset":1169}}}'})]}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"...args"})," any[]"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(t.p,{children:["Removes the specified ",(0,l.jsx)(t.code,{children:"listener"})," from the listener array for the specified\n",(0,l.jsx)(t.code,{children:"channel"}),"."]}),"\n",(0,l.jsx)(t.h3,{id:"ipcmainoncechannel-listener",children:(0,l.jsx)(t.code,{children:"ipcMain.once(channel, listener)"})}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"channel"})," string"]}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"listener"})," Function","\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"event"})," ",(0,l.jsx)(r.A,{url:"/docs/latest/api/structures/ipc-main-event",title:"IpcMainEvent",content:'{"type":"root","children":[{"type":"element","tagName":"h1","properties":{},"children":[{"type":"text","value":"IpcMainEvent Object extends
1Event"}]},{"type":"text","value":"\\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"type","position":{"start":{"line":10,"column":3,"offset":150},"end":{"line":10,"column":9,"offset":156}}}],"position":{"start":{"line":10,"column":3,"offset":150},"end":{"line":10,"column":9,"offset":156}}},{"type":"text","value":" String - Possible values include ","position":{"start":{"line":10,"column":9,"offset":156},"end":{"line":10,"column":43,"offset":190}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"frame","position":{"start":{"line":10,"column":43,"offset":190},"end":{"line":10,"column":50,"offset":197}}}],"position":{"start":{"line":10,"column":43,"offset":190},"end":{"line":10,"column":50,"offset":197}}}],"position":{"start":{"line":10,"column":1,"offset":148},"end":{"line":10,"column":50,"offset":197}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"processId","position":{"start":{"line":11,"column":3,"offset":200},"end":{"line":11,"column":14,"offset":211}}}],"position":{"start":{"line":11,"column":3,"offset":200},"end":{"line":11,"column":14,"offset":211}}},{"type":"text","value":" Integer - The internal ID of the renderer process that sent this message","position":{"start":{"line":11,"column":14,"offset":211},"end":{"line":11,"column":87,"offset":284}}}],"position":{"start":{"line":11,"column":1,"offset":198},"end":{"line":11,"column":87,"offset":284}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"frameId","position":{"start":{"line":12,"column":3,"offset":287},"end":{"line":12,"column":12,"offset":296}}}],"position":{"start":{"line":12,"column":3,"offset":287},"end":{"line":12,"column":12,"offset":296}}},{"type":"text","value":" Integer - The ID of the renderer frame that sent this message","position":{"start":{"line":12,"column":12,"offset":296},"end":{"line":12,"column":74,"offset":358}}}],"position":{"start":{"line":12,"column":1,"offset":285},"end":{"line":12,"column":74,"offset":358}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"returnValue","position":{"start":{"line":13,"column":3,"offset":361},"end":{"line":13,"column":16,"offset":374}}}],"position":{"start":{"line":13,"column":3,"offset":361},"end":{"line":13,"column":16,"offset":374}}},{"type":"text","value":" any - Set this to the value to be returned in a synchronous message","position":{"start":{"line":13,"column":16,"offset":374},"end":{"line":13,"column":84,"offset":442}}}],"position":{"start":{"line":13,"column":1,"offset":359},"end":{"line":13,"column":84,"offset":442}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"sender","position":{"start":{"line":14,"column":3,"offset":445},"end":{"line":14,"column":11,"offset":453}}}],"position":{"start":{"line":14,"column":3,"offset":445},"end":{"line":14,"column":11,"offset":453}}},{"type":"text","value":" ","position":{"start":{"line":14,"column":11,"offset":453},"end":{"line":14,"column":12,"offset":454}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/web-contents"},"children":[{"type":"text","value":"WebContents","position":{"start":{"line":14,"column":13,"offset":455},"end":{"line":14,"column":24,"offset":466}}}],"position":{"start":{"line":14,"column":12,"offset":454},"end":{"line":14,"column":45,"offset":487}}},{"type":"text","value":" - Returns the ","position":{"start":{"line":14,"column":45,"offset":487},"end":{"line":14,"column":60,"offset":502}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"webContents","position":{"start":{"line":14,"column":60,"offset":502},"end":{"line":14,"column":73,"offset":515}}}],"position":{"start":{"line":14,"column":60,"offset":502},"end":{"line":14,"column":73,"offset":515}}},{"type":"text","value":" that sent the message","position":{"start":{"line":14,"column":73,"offset":515},"end":{"line":14,"column":95,"offset":537}}}],"position":{"start":{"line":14,"column":1,"offset":443},"end":{"line":14,"column":95,"offset":537}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"senderFrame","position":{"start":{"line":15,"column":3,"offset":540},"end":{"line":15,"column":16,"offset":553}}}],"position":{"start":{"line":15,"column":3,"offset":540},"end":{"line":15,"column":16,"offset":553}}},{"type":"text","value":" ","position":{"start":{"line":15,"column":16,"offset":553},"end":{"line":15,"column":17,"offset":554}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/web-frame-main"},"children":[{"type":"text","value":"WebFrameMain","position":{"start":{"line":15,"column":18,"offset":555},"end":{"line":15,"column":30,"offset":567}}}],"position":{"start":{"line":15,"column":17,"offset":554},"end":{"line":15,"column":53,"offset":590}}},{"type":"text","value":" | null ","position":{"start":{"line":15,"column":53,"offset":590},"end":{"line":15,"column":61,"offset":598}}},{"type":"element","tagName":"em","properties":{"className":["badge badge--info"]},"children":[{"type":"text","value":"Readonly","position":{"start":{"line":15,"column":62,"offset":599},"end":{"line":15,"column":70,"offset":607}}}],"position":{"start":{"line":15,"column":61,"offset":598},"end":{"line":15,"column":71,"offset":608}}},{"type":"text","value":" - The frame that sent this message. May be ","position":{"start":{"line":15,"column":71,"offset":608},"end":{"line":15,"column":115,"offset":652}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"null","position":{"start":{"line":15,"column":115,"offset":652},"end":{"line":15,"column":121,"offset":658}}}],"position":{"start":{"line":15,"column":115,"offset":652},"end":{"line":15,"column":121,"offset":658}}},{"type":"text","value":" if accessed after the frame has either navigated or been destroyed.","position":{"start":{"line":15,"column":121,"offset":658},"end":{"line":15,"column":189,"offset":726}}}],"position":{"start":{"line":15,"column":1,"offset":538},"end":{"line":15,"column":189,"offset":726}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"ports","position":{"start":{"line":16,"column":3,"offset":729},"end":{"line":16,"column":10,"offset":736}}}],"position":{"start":{"line":16,"column":3,"offset":729},"end":{"line":16,"column":10,"offset":736}}},{"type":"text","value":" ","position":{"start":{"line":16,"column":10,"offset":736},"end":{"line":16,"column":11,"offset":737}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/message-port
1-main"},"children":[{"type":"text","value":"MessagePortMain","position":{"start":{"line":16,"column":12,"offset":738},"end":{"line":16,"column":27,"offset":753}}}],"position":{"start":{"line":16,"column":11,"offset":737},"end":{"line":16,"column":53,"offset":779}}},{"type":"text","value":"[] - A list of MessagePorts that were transferred with this message","position":{"start":{"line":16,"column":53,"offset":779},"end":{"line":16,"column":120,"offset":846}}}],"position":{"start":{"line":16,"column":1,"offset":727},"end":{"line":16,"column":120,"offset":846}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"reply","position":{"start":{"line":17,"column":3,"offset":849},"end":{"line":17,"column":10,"offset":856}}}],"position":{"start":{"line":17,"column":3,"offset":849},"end":{"line":17,"column":10,"offset":856}}},{"type":"text","value":" Function - A function that will send an IPC message to the renderer frame that sent the original message that you are currently handling. You should use this method to \\"reply\\" to the sent message in order to guarantee the reply will go to the correct process and frame.","position":{"start":{"line":17,"column":10,"offset":856},"end":{"line":17,"column":281,"offset":1127}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"channel","position":{"start":{"line":18,"column":5,"offset":1132},"end":{"line":18,"column":14,"offset":1141}}}],"position":{"start":{"line":18,"column":5,"offset":1132},"end":{"line":18,"column":14,"offset":1141}}},{"type":"text","value":" string","position":{"start":{"line":18,"column":14,"offset":1141},"end":{"line":18,"column":21,"offset":1148}}}],"position":{"start":{"line":18,"column":3,"offset":1130},"end":{"line":18,"column":21,"offset":1148}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"...args","position":{"start":{"line":19,"column":5,"offset":1153},"end":{"line":19,"column":14,"offset":1162}}}],"position":{"start":{"line":19,"column":5,"offset":1153},"end":{"line":19,"column":14,"offset":1162}}},{"type":"text","value":" any[]","position":{"start":{"line":19,"column":14,"offset":1162},"end":{"line":19,"column":20,"offset":1168}}}],"position":{"start":{"line":19,"column":3,"offset":1151},"end":{"line":19,"column":20,"offset":1168}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":18,"column":3,"offset":1130},"end":{"line":19,"column":20,"offset":1168}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":17,"column":1,"offset":847},"end":{"line":19,"column":20,"offset":1168}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":10,"column":1,"offset":148},"end":{"line":19,"column":20,"offset":1168}}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":20,"column":1,"offset":1169}}}'})]}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"...args"})," any[]"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(t.p,{children:["Adds a one time ",(0,l.jsx)(t.code,{children:"listener"})," function for the event. This ",(0,l.jsx)(t.code,{children:"listener"})," is invoked\nonly the next time a message is sent to ",(0,l.jsx)(t.code,{children:"channel"}),", after which it is removed."]}),"\n",(0,l.jsx)(t.h3,{id:"ipcmainaddlistenerchannel-listener",children:(0,l.jsx)(t.code,{children:"ipcMain.addListener(channel, listener)"})}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"channel"})," string"]}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"listener"})," Function","\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"event"})," ",(0,l.jsx)(r.A,{url:"/docs/latest/api/structures/ipc-main-event",title:"IpcMainEvent",content:'{"type":"root","children":[{"type":"element","tagName":"h1","properties":{},"children":[{"type":"text","value":"IpcMainEvent Object extends
1Event"}]},{"type":"text","value":"\\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"type","position":{"start":{"line":10,"column":3,"offset":150},"end":{"line":10,"column":9,"offset":156}}}],"position":{"start":{"line":10,"column":3,"offset":150},"end":{"line":10,"column":9,"offset":156}}},{"type":"text","value":" String - Possible values include ","position":{"start":{"line":10,"column":9,"offset":156},"end":{"line":10,"column":43,"offset":190}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"frame","position":{"start":{"line":10,"column":43,"offset":190},"end":{"line":10,"column":50,"offset":197}}}],"position":{"start":{"line":10,"column":43,"offset":190},"end":{"line":10,"column":50,"offset":197}}}],"position":{"start":{"line":10,"column":1,"offset":148},"end":{"line":10,"column":50,"offset":197}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"processId","position":{"start":{"line":11,"column":3,"offset":200},"end":{"line":11,"column":14,"offset":211}}}],"position":{"start":{"line":11,"column":3,"offset":200},"end":{"line":11,"column":14,"offset":211}}},{"type":"text","value":" Integer - The internal ID of the renderer process that sent this message","position":{"start":{"line":11,"column":14,"offset":211},"end":{"line":11,"column":87,"offset":284}}}],"position":{"start":{"line":11,"column":1,"offset":198},"end":{"line":11,"column":87,"offset":284}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"frameId","position":{"start":{"line":12,"column":3,"offset":287},"end":{"line":12,"column":12,"offset":296}}}],"position":{"start":{"line":12,"column":3,"offset":287},"end":{"line":12,"column":12,"offset":296}}},{"type":"text","value":" Integer - The ID of the renderer frame that sent this message","position":{"start":{"line":12,"column":12,"offset":296},"end":{"line":12,"column":74,"offset":358}}}],"position":{"start":{"line":12,"column":1,"offset":285},"end":{"line":12,"column":74,"offset":358}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"returnValue","position":{"start":{"line":13,"column":3,"offset":361},"end":{"line":13,"column":16,"offset":374}}}],"position":{"start":{"line":13,"column":3,"offset":361},"end":{"line":13,"column":16,"offset":374}}},{"type":"text","value":" any - Set this to the value to be returned in a synchronous message","position":{"start":{"line":13,"column":16,"offset":374},"end":{"line":13,"column":84,"offset":442}}}],"position":{"start":{"line":13,"column":1,"offset":359},"end":{"line":13,"column":84,"offset":442}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"sender","position":{"start":{"line":14,"column":3,"offset":445},"end":{"line":14,"column":11,"offset":453}}}],"position":{"start":{"line":14,"column":3,"offset":445},"end":{"line":14,"column":11,"offset":453}}},{"type":"text","value":" ","position":{"start":{"line":14,"column":11,"offset":453},"end":{"line":14,"column":12,"offset":454}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/web-contents"},"children":[{"type":"text","value":"WebContents","position":{"start":{"line":14,"column":13,"offset":455},"end":{"line":14,"column":24,"offset":466}}}],"position":{"start":{"line":14,"column":12,"offset":454},"end":{"line":14,"column":45,"offset":487}}},{"type":"text","value":" - Returns the ","position":{"start":{"line":14,"column":45,"offset":487},"end":{"line":14,"column":60,"offset":502}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"webContents","position":{"start":{"line":14,"column":60,"offset":502},"end":{"line":14,"column":73,"offset":515}}}],"position":{"start":{"line":14,"column":60,"offset":502},"end":{"line":14,"column":73,"offset":515}}},{"type":"text","value":" that sent the message","position":{"start":{"line":14,"column":73,"offset":515},"end":{"line":14,"column":95,"offset":537}}}],"position":{"start":{"line":14,"column":1,"offset":443},"end":{"line":14,"column":95,"offset":537}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"senderFrame","position":{"start":{"line":15,"column":3,"offset":540},"end":{"line":15,"column":16,"offset":553}}}],"position":{"start":{"line":15,"column":3,"offset":540},"end":{"line":15,"column":16,"offset":553}}},{"type":"text","value":" ","position":{"start":{"line":15,"column":16,"offset":553},"end":{"line":15,"column":17,"offset":554}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/web-frame-main"},"children":[{"type":"text","value":"WebFrameMain","position":{"start":{"line":15,"column":18,"offset":555},"end":{"line":15,"column":30,"offset":567}}}],"position":{"start":{"line":15,"column":17,"offset":554},"end":{"line":15,"column":53,"offset":590}}},{"type":"text","value":" | null ","position":{"start":{"line":15,"column":53,"offset":590},"end":{"line":15,"column":61,"offset":598}}},{"type":"element","tagName":"em","properties":{"className":["badge badge--info"]},"children":[{"type":"text","value":"Readonly","position":{"start":{"line":15,"column":62,"offset":599},"end":{"line":15,"column":70,"offset":607}}}],"position":{"start":{"line":15,"column":61,"offset":598},"end":{"line":15,"column":71,"offset":608}}},{"type":"text","value":" - The frame that sent this message. May be ","position":{"start":{"line":15,"column":71,"offset":608},"end":{"line":15,"column":115,"offset":652}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"null","position":{"start":{"line":15,"column":115,"offset":652},"end":{"line":15,"column":121,"offset":658}}}],"position":{"start":{"line":15,"column":115,"offset":652},"end":{"line":15,"column":121,"offset":658}}},{"type":"text","value":" if accessed after the frame has either navigated or been destroyed.","position":{"start":{"line":15,"column":121,"offset":658},"end":{"line":15,"column":189,"offset":726}}}],"position":{"start":{"line":15,"column":1,"offset":538},"end":{"line":15,"column":189,"offset":726}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"ports","position":{"start":{"line":16,"column":3,"offset":729},"end":{"line":16,"column":10,"offset":736}}}],"position":{"start":{"line":16,"column":3,"offset":729},"end":{"line":16,"column":10,"offset":736}}},{"type":"text","value":" ","position":{"start":{"line":16,"column":10,"offset":736},"end":{"line":16,"column":11,"offset":737}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/message-port
1-main"},"children":[{"type":"text","value":"MessagePortMain","position":{"start":{"line":16,"column":12,"offset":738},"end":{"line":16,"column":27,"offset":753}}}],"position":{"start":{"line":16,"column":11,"offset":737},"end":{"line":16,"column":53,"offset":779}}},{"type":"text","value":"[] - A list of MessagePorts that were transferred with this message","position":{"start":{"line":16,"column":53,"offset":779},"end":{"line":16,"column":120,"offset":846}}}],"position":{"start":{"line":16,"column":1,"offset":727},"end":{"line":16,"column":120,"offset":846}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"reply","position":{"start":{"line":17,"column":3,"offset":849},"end":{"line":17,"column":10,"offset":856}}}],"position":{"start":{"line":17,"column":3,"offset":849},"end":{"line":17,"column":10,"offset":856}}},{"type":"text","value":" Function - A function that will send an IPC message to the renderer frame that sent the original message that you are currently handling. You should use this method to \\"reply\\" to the sent message in order to guarantee the reply will go to the correct process and frame.","position":{"start":{"line":17,"column":10,"offset":856},"end":{"line":17,"column":281,"offset":1127}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"channel","position":{"start":{"line":18,"column":5,"offset":1132},"end":{"line":18,"column":14,"offset":1141}}}],"position":{"start":{"line":18,"column":5,"offset":1132},"end":{"line":18,"column":14,"offset":1141}}},{"type":"text","value":" string","position":{"start":{"line":18,"column":14,"offset":1141},"end":{"line":18,"column":21,"offset":1148}}}],"position":{"start":{"line":18,"column":3,"offset":1130},"end":{"line":18,"column":21,"offset":1148}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"...args","position":{"start":{"line":19,"column":5,"offset":1153},"end":{"line":19,"column":14,"offset":1162}}}],"position":{"start":{"line":19,"column":5,"offset":1153},"end":{"line":19,"column":14,"offset":1162}}},{"type":"text","value":" any[]","position":{"start":{"line":19,"column":14,"offset":1162},"end":{"line":19,"column":20,"offset":1168}}}],"position":{"start":{"line":19,"column":3,"offset":1151},"end":{"line":19,"column":20,"offset":1168}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":18,"column":3,"offset":1130},"end":{"line":19,"column":20,"offset":1168}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":17,"column":1,"offset":847},"end":{"line":19,"column":20,"offset":1168}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":10,"column":1,"offset":148},"end":{"line":19,"column":20,"offset":1168}}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":20,"column":1,"offset":1169}}}'})]}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"...args"})," any[]"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(t.p,{children:["Alias for ",(0,l.jsx)(t.a,{href:"#ipcmainonchannel-listener",children:(0,l.jsx)(t.code,{children:"ipcMain.on"})}),"."]}),"\n",(0,l.jsx)(t.h3,{id:"ipcmainremovelistenerchannel-listener",children:(0,l.jsx)(t.code,{children:"ipcMain.removeListener(channel, listener)"})}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"channel"})," string"]}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"listener"})," Function","\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"...args"})," any[]"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(t.p,{children:["Alias for ",(0,l.jsx)(t.a,{href:"#ipcmainoffchannel-listener",children:(0,l.jsx)(t.code,{children:"ipcMain.off"})}),"."]}),"\n",(0,l.jsx)(t.h3,{id:"ipcmainremovealllistenerschannel",children:(0,l.jsx)(t.code,{children:"ipcMain.removeAllListeners([channel])"})}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"channel"})," string (optional)"]}),"\n"]}),"\n",(0,l.jsxs)(t.p,{children:["Removes all listeners from the specified ",(0,l.jsx)(t.code,{children:"channel"}),". Removes all listeners from all channels if no channel is specified."]}),"\n",(0,l.jsx)(t.h3,{id:"ipcmainhandlechannel-listener",children:(0,l.jsx)(t.code,{children:"ipcMain.handle(channel, listener)"})}),"\n",(0,l.jsx)(i.A,{apiHistoryJson:'{"added":[{"pr-url":"https://github.com/electron/electron/pull/18449"}]}',prReleaseVersionsJson:"{}"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"channel"})," string"]}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"listener"})," Function<Promise<any> | any>","\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"event"})," ",(0,l.jsx)(r.A,{url:"/docs/latest/api/structures/ipc-main-invoke-event",title:"IpcMainInvokeEvent",content:'{"type":"root","children":[{"type":"element","tagName":"h1","properties":{},"children":[{"type":"text","value":"IpcMainInvokeEvent Object extends
1Event"}]},{"type":"text","value":"\\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"type","position":{"start":{"line":10,"column":3,"offset":169},"end":{"line":10,"column":9,"offset":175}}}],"position":{"start":{"line":10,"column":3,"offset":169},"end":{"line":10,"column":9,"offset":175}}},{"type":"text","value":" String - Possible values include ","position":{"start":{"line":10,"column":9,"offset":175},"end":{"line":10,"column":43,"offset":209}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"frame","position":{"start":{"line":10,"column":43,"offset":209},"end":{"line":10,"column":50,"offset":216}}}],"position":{"start":{"line":10,"column":43,"offset":209},"end":{"line":10,"column":50,"offset":216}}}],"position":{"start":{"line":10,"column":1,"offset":167},"end":{"line":10,"column":50,"offset":216}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"processId","position":{"start":{"line":11,"column":3,"offset":219},"end":{"line":11,"column":14,"offset":230}}}],"position":{"start":{"line":11,"column":3,"offset":219},"end":{"line":11,"column":14,"offset":230}}},{"type":"text","value":" Integer - The internal ID of the renderer process that sent this message","position":{"start":{"line":11,"column":14,"offset":230},"end":{"line":11,"column":87,"offset":303}}}],"position":{"start":{"line":11,"column":1,"offset":217},"end":{"line":11,"column":87,"offset":303}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"frameId","position":{"start":{"line":12,"column":3,"offset":306},"end":{"line":12,"column":12,"offset":315}}}],"position":{"start":{"line":12,"column":3,"offset":306},"end":{"line":12,"column":12,"offset":315}}},{"type":"text","value":" Integer - The ID of the renderer frame that sent this message","position":{"start":{"line":12,"column":12,"offset":315},"end":{"line":12,"column":74,"offset":377}}}],"position":{"start":{"line":12,"column":1,"offset":304},"end":{"line":12,"column":74,"offset":377}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"sender","position":{"start":{"line":13,"column":3,"offset":380},"end":{"line":13,"column":11,"offset":388}}}],"position":{"start":{"line":13,"column":3,"offset":380},"end":{"line":13,"column":11,"offset":388}}},{"type":"text","value":" ","position":{"start":{"line":13,"column":11,"offset":388},"end":{"line":13,"column":12,"offset":389}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/web-contents"},"children":[{"type":"text","value":"WebContents","position":{"start":{"line":13,"column":13,"offset":390},"end":{"line":13,"column":24,"offset":401}}}],"position":{"start":{"line":13,"column":12,"offset":389},"end":{"line":13,"column":45,"offset":422}}},{"type":"text","value":" - Returns the ","position":{"start":{"line":13,"column":45,"offset":422},"end":{"line":13,"column":60,"offset":437}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"webContents","position":{"start":{"line":13,"column":60,"offset":437},"end":{"line":13,"column":73,"offset":450}}}],"position":{"start":{"line":13,"column":60,"offset":437},"end":{"line":13,"column":73,"offset":450}}},{"type":"text","value":" that sent the message","position":{"start":{"line":13,"column":73,"offset":450},"end":{"line":13,"column":95,"offset":472}}}],"position":{"start":{"line":13,"column":1,"offset":378},"end":{"line":13,"column":95,"offset":472}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"senderFrame","position":{"start":{"line":14,"column":3,"offset":475},"end":{"line":14,"column":16,"offset":488}}}],"position":{"start":{"line":14,"column":3,"offset":475},"end":{"line":14,"column":16,"offset":488}}},{"type":"text","value":" ","position":{"start":{"line":14,"column":16,"offset":488},"end":{"line":14,"column":17,"offset":489}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/web-frame-main"},"children":[{"type":"text","value":"WebFrameMain","position":{"start":{"line":14,"column":18,"offset":490},"end":{"line":14,"column":30,"offset":502}}}],"position":{"start":{"line":14,"column":17,"offset":489},"end":{"line":14,"column":53,"offset":525}}},{"type":"text","value":" | null ","position":{"start":{"line":14,"column":53,"offset":525},"end":{"line":14,"column":61,"offset":533}}},{"type":"element","tagName":"em","properties":{"className":["badge badge--info"]},"children":[{"type":"text","value":"Readonly","position":{"start":{"line":14,"column":62,"offset":534},"end":{"line":14,"column":70,"offset":542}}}],"position":{"start":{"line":14,"column":61,"offset":533},"end":{"line":14,"column":71,"offset":543}}},{"type":"text","value":" - The frame that sent this message. May be ","position":{"start":{"line":14,"column":71,"offset":543},"end":{"line":14,"column":115,"offset":587}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"null","position":{"start":{"line":14,"column":115,"offset":587},"end":{"line":14,"column":121,"offset":593}}}],"position":{"start":{"line":14,"column":115,"offset":587},"end":{"line":14,"column":121,"offset":593}}},{"type":"text","value":" if accessed after the frame has either navigated or been destroyed.","position":{"start":{"line":14,"column":121,"offset":593},"end":{"line":14,"column":189,"offset":661}}}],"position":{"start":{"line":14,"column":1,"offset":473},"end":{"line":14,"column":189,"offset":661}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":10,"column":1,"offset":167},"end":{"line":14,"column":189,"offset":661}}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":15,"column":1,"offset":662}}}'})]}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"...args"})," any[]"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(t.p,{children:["Adds a handler for an ",(0,l.jsx)(t.code,{children:"invoke"}),"able IPC. This handler will be called whenever a\nrenderer calls ",(0,l.jsx)(t.code,{children:"ipcRenderer.invoke(channel, ...args)"}),"."]}),"\n",(0,l.jsxs)(t.p,{children:["If ",(0,l.jsx)(t.code,{children:"listener"})," returns a Promise, the eventual result of the promise will be\nreturned as a reply to the remote caller. Otherwise, the return value of the\nlistener will be used as the value of the reply."]}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-js",metastring:"title='Main Process' @ts-type={somePromise:(...args:unknown[])=>Promise<unknown>}",children:"ipcMain.handle('my-invokable-ipc', async (event, ...args) => {\n const result = await somePromise(...args)\n return result\n})\n"})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-js",metastring:"title='Renderer Process' @ts-type={arg1:unknown} @ts-type={arg2:unknown}",children:"async () => {\n const result = await ipcRenderer.invoke('my-invokable-ipc', arg1, arg2)\n // ...\n}\n"})}),"\n",(0,l.jsxs)(t.p,{children:["The ",(0,l.jsx)(t.code,{children:"event"})," that is passed as the first argument to the handler is the same as\nthat passed to a regular event listener. It includes information about which\nWebContents is the source of the invoke request."]}),"\n",(0,l.jsxs)(t.p,{children:["Errors thrown through ",(0,l.jsx)(t.code,{children:"handle"})," in the main process are not transparent as they\nare serialized and only the ",(0,l.jsx)(t.code,{children:"message"})," property from the original error is\nprovided to the renderer process. Please refer to\n",(0,l.jsx)(t.a,{href:"https://github.com/electron/electron/issues/24427",children:"#24427"})," for details."]}),"\n",(0,l.jsx)(t.h3,{id:"ipcmainhandleoncechannel-listener",children:(0,l.jsx)(t.code,{children:"ipcMain.handleOnce(channel, listener)"})}),"\n",(0,l.jsx)(i.A,{apiHistoryJson:'{"added":[{"pr-url":"https://github.com/electron/electron/pull/18449"}]}',prReleaseVersionsJson:"{}"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"channel"})," string"]}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"listener"})," Function<Promise<any> | any>","\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"event"})," ",(0,l.jsx)(r.A,{url:"/docs/latest/api/structures/ipc-main-invoke-event",title:"IpcMainInvokeEvent",content:'{"type":"root","children":[{"type":"element","tagName":"h1","properties":{},"children":[{"type":"text","value":"IpcMainInvokeEvent Object extends
1Event"}]},{"type":"text","value":"\\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"type","position":{"start":{"line":10,"column":3,"offset":169},"end":{"line":10,"column":9,"offset":175}}}],"position":{"start":{"line":10,"column":3,"offset":169},"end":{"line":10,"column":9,"offset":175}}},{"type":"text","value":" String - Possible values include ","position":{"start":{"line":10,"column":9,"offset":175},"end":{"line":10,"column":43,"offset":209}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"frame","position":{"start":{"line":10,"column":43,"offset":209},"end":{"line":10,"column":50,"offset":216}}}],"position":{"start":{"line":10,"column":43,"offset":209},"end":{"line":10,"column":50,"offset":216}}}],"position":{"start":{"line":10,"column":1,"offset":167},"end":{"line":10,"column":50,"offset":216}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"processId","position":{"start":{"line":11,"column":3,"offset":219},"end":{"line":11,"column":14,"offset":230}}}],"position":{"start":{"line":11,"column":3,"offset":219},"end":{"line":11,"column":14,"offset":230}}},{"type":"text","value":" Integer - The internal ID of the renderer process that sent this message","position":{"start":{"line":11,"column":14,"offset":230},"end":{"line":11,"column":87,"offset":303}}}],"position":{"start":{"line":11,"column":1,"offset":217},"end":{"line":11,"column":87,"offset":303}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"frameId","position":{"start":{"line":12,"column":3,"offset":306},"end":{"line":12,"column":12,"offset":315}}}],"position":{"start":{"line":12,"column":3,"offset":306},"end":{"line":12,"column":12,"offset":315}}},{"type":"text","value":" Integer - The ID of the renderer frame that sent this message","position":{"start":{"line":12,"column":12,"offset":315},"end":{"line":12,"column":74,"offset":377}}}],"position":{"start":{"line":12,"column":1,"offset":304},"end":{"line":12,"column":74,"offset":377}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"sender","position":{"start":{"line":13,"column":3,"offset":380},"end":{"line":13,"column":11,"offset":388}}}],"position":{"start":{"line":13,"column":3,"offset":380},"end":{"line":13,"column":11,"offset":388}}},{"type":"text","value":" ","position":{"start":{"line":13,"column":11,"offset":388},"end":{"line":13,"column":12,"offset":389}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/web-contents"},"children":[{"type":"text","value":"WebContents","position":{"start":{"line":13,"column":13,"offset":390},"end":{"line":13,"column":24,"offset":401}}}],"position":{"start":{"line":13,"column":12,"offset":389},"end":{"line":13,"column":45,"offset":422}}},{"type":"text","value":" - Returns the ","position":{"start":{"line":13,"column":45,"offset":422},"end":{"line":13,"column":60,"offset":437}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"webContents","position":{"start":{"line":13,"column":60,"offset":437},"end":{"line":13,"column":73,"offset":450}}}],"position":{"start":{"line":13,"column":60,"offset":437},"end":{"line":13,"column":73,"offset":450}}},{"type":"text","value":" that sent the message","position":{"start":{"line":13,"column":73,"offset":450},"end":{"line":13,"column":95,"offset":472}}}],"position":{"start":{"line":13,"column":1,"offset":378},"end":{"line":13,"column":95,"offset":472}}},{"type":"text","value":"\\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"senderFrame","position":{"start":{"line":14,"column":3,"offset":475},"end":{"line":14,"column":16,"offset":488}}}],"position":{"start":{"line":14,"column":3,"offset":475},"end":{"line":14,"column":16,"offset":488}}},{"type":"text","value":" ","position":{"start":{"line":14,"column":16,"offset":488},"end":{"line":14,"column":17,"offset":489}}},{"type":"element","tagName":"a","properties":{"href":"/docs/latest/api/web-frame-main"},"children":[{"type":"text","value":"WebFrameMain","position":{"start":{"line":14,"column":18,"offset":490},"end":{"line":14,"column":30,"offset":502}}}],"position":{"start":{"line":14,"column":17,"offset":489},"end":{"line":14,"column":53,"offset":525}}},{"type":"text","value":" | null ","position":{"start":{"line":14,"column":53,"offset":525},"end":{"line":14,"column":61,"offset":533}}},{"type":"element","tagName":"em","properties":{"className":["badge badge--info"]},"children":[{"type":"text","value":"Readonly","position":{"start":{"line":14,"column":62,"offset":534},"end":{"line":14,"column":70,"offset":542}}}],"position":{"start":{"line":14,"column":61,"offset":533},"end":{"line":14,"column":71,"offset":543}}},{"type":"text","value":" - The frame that sent this message. May be ","position":{"start":{"line":14,"column":71,"offset":543},"end":{"line":14,"column":115,"offset":587}}},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"null","position":{"start":{"line":14,"column":115,"offset":587},"end":{"line":14,"column":121,"offset":593}}}],"position":{"start":{"line":14,"column":115,"offset":587},"end":{"line":14,"column":121,"offset":593}}},{"type":"text","value":" if accessed after the frame has either navigated or been destroyed.","position":{"start":{"line":14,"column":121,"offset":593},"end":{"line":14,"column":189,"offset":661}}}],"position":{"start":{"line":14,"column":1,"offset":473},"end":{"line":14,"column":189,"offset":661}}},{"type":"text","value":"\\n"}],"position":{"start":{"line":10,"column":1,"offset":167},"end":{"line":14,"column":189,"offset":661}}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":15,"column":1,"offset":662}}}'})]}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"...args"})," any[]"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(t.p,{children:["Handles a single ",(0,l.jsx)(t.code,{children:"invoke"}),"able IPC message, then removes the listener. See\n",(0,l.jsx)(t.code,{children:"ipcMain.handle(channel, listener)"}),"."]}),"\n",(0,l.jsx)(t.h3,{id:"ipcmainremovehandlerchannel",children:(0,l.jsx)(t.code,{children:"ipcMain.removeHandler(channel)"})}),"\n",(0,l.jsx)(i.A,{apiHistoryJson:'{"added":[{"pr-url":"https://github.com/electron/electron/pull/18449"}]}',prReleaseVersionsJson:"{}"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"channel"})," string"]}),"\n"]}),"\n",(0,l.jsxs)(t.p,{children:["Removes any handler for ",(0,l.jsx)(t.code,{children:"channel"}),", if present."]})]})}function u(e={}){let{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(m,{...e})}):m(e)}},40329(e,t,n){n.d(t,{A:()=>f});var o=n(74848),l=n(20053),s=n(96540),i=n(75392),r=n.n(i),a=n(83561);let c=e=>(0,o.jsx)("article",{ref:e.innerRef,id:"structures-tooltip",role:"tooltip",className:(0,l.A)("alert","alert--info","shadow--md","card_ZoSr"),style:e.position,children:(0,o.jsx)("div",{className:"card__body",dangerouslySetInnerHTML:{__html:(0,a.V)(JSON.parse(e.content))}})}),f=function(e){let{Portal:t}
1=r()(),n=(0,s.useRef)(null),l=(0,s.useRef)(null),[i,a]=(0,s.useState)(!1),[f,p]=(0,s.useState)(void 0);(0,s.useEffect)(()=>{if(i){let e={x:0,y:0},t=n.current.getBoundingClientRect(),o=window.innerHeight/2<t.y,s=window.innerWidth/2<t.x;o?e.y=l.current.clientHeight+-2:e.y=-t.height- -2,s?e.x=l.current.clientWidth:e.x=0,p({top:n.current.offsetTop-e.y,left:n.current.offsetLeft-e.x})}},[i]);let m=(0,s.useCallback)(()=>{a(!0)},[]),u=(0,s.useCallback)(()=>{a(!1)},[]);return(0,o.jsxs)("a",{"aria-describedby":"structures-tooltip",href:e.url,ref:n,className:"link_nCrB",onMouseEnter:m,onMouseLeave:u,children:[e.title,!!i&&(0,o.jsx)(t,{children:(0,o.jsx)(c,{innerRef:l,position:f,...e})})]})}},56346(e,t,n){n.d(t,{A:()=>a});var o=n(74848),l=n(52918);n(96540);var s=n(35778),i=n(99589);let r={"api-history":"api-history_li9V","api-added":"api-added_XqIp","api-deprecated":"api-deprecated_PIol"},a=e=>{let{apiHistoryJson:t,prReleaseVersionsJson:n}=e,a=JSON.parse(t),c=JSON.parse(n),f=(e,t)=>(t??[]).map(t=>{var n;let l,a,f,p,m;return n=c[Number(t["pr-url"].split("/").at(-1))],a=t["pr-url"]+"-"+e,f=i.rsort(n?.backports??[]).map(e=>(e.endsWith(".0.0")?">=":"^")+e),(p=n?.release)&&!f.find(e=>e.startsWith(">="))&&f.unshift(`>=${p}`),m=f.map(e=>(0,o.jsx)("a",{href:t["pr-url"],target:"_blank",rel:"noopener noreferrer",children:(0,o.jsx)("pre",{children:e})},e)),l="description"in t?(0,o.jsx)(s.o,{allowedElements:["a","code","em","p","pre","strong"],children:t.description}):(0,o.jsx)("pre",{className:r[e.toLowerCase().split(" ").join("-")],children:e},a),"breaking-changes-header"in t&&(l=(0,o.jsx)("a",{href:"/docs/latest/breaking-changes#"+t["breaking-changes-header"],target:"_blank",rel:"noopener noreferrer",children:l})),(0,o.jsxs)("tr",{children:[(0,o.jsx)("td",{children:0!==m.length?m:(0,o.jsx)("pre",{children:"None"})}),(0,o.jsx)("td",{children:l})]},a)}),p=[...f("API DEPRECATED",a.deprecated),...f("API CHANGED",a.changes),...f("API ADDED",a.added)];return(0,o.jsx)(l.B,{className:r["api-history"],summary:(0,o.jsx)("summary",{children:"History"}),children:(0,o.jsxs)("table",{children:[(0,o.jsx)("thead",{children:(0,o.jsxs)("tr",{children:[(0,o.jsx)("th",{children:"Version(s)"}),(0,o.jsx)("th",{children:"Changes"})]})}),(0,o.jsx)("tbody",{children:p})]})})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.