77
88import 'vs/css!./media/processExplorer' ;
99import { listProcesses , ProcessItem } from 'vs/base/node/ps' ;
10- import { remote , webFrame , ipcRenderer , clipboard } from 'electron' ;
10+ import { webFrame , ipcRenderer , clipboard } from 'electron' ;
1111import { repeat } from 'vs/base/common/strings' ;
1212import { totalmem } from 'os' ;
1313import product from 'vs/platform/node/product' ;
1414import { localize } from 'vs/nls' ;
1515import { ProcessExplorerStyles , ProcessExplorerData } from 'vs/platform/issue/common/issue' ;
1616import * as browser from 'vs/base/browser/browser' ;
1717import * as platform from 'vs/base/common/platform' ;
18+ import { IContextMenuItem } from 'vs/base/parts/contextmenu/common/contextmenu' ;
19+ import { popup } from 'vs/base/parts/contextmenu/electron-browser/contextmenu' ;
1820
1921let processList : any [ ] ;
2022let mapPidToWindowTitle = new Map < number , string > ( ) ;
@@ -137,60 +139,60 @@ function applyZoom(zoomLevel: number): void {
137139function showContextMenu ( e ) {
138140 e . preventDefault ( ) ;
139141
140- const menu = new remote . Menu ( ) ;
142+ const items : IContextMenuItem [ ] = [ ] ;
141143
142144 const pid = parseInt ( e . currentTarget . id ) ;
143145 if ( pid && typeof pid === 'number' ) {
144- menu . append ( new remote . MenuItem ( {
146+ items . push ( {
145147 label : localize ( 'killProcess' , "Kill Process" ) ,
146148 click ( ) {
147149 process . kill ( pid , 'SIGTERM' ) ;
148150 }
149- } ) ) ;
151+ } ) ;
150152
151- menu . append ( new remote . MenuItem ( {
153+ items . push ( {
152154 label : localize ( 'forceKillProcess' , "Force Kill Process" ) ,
153155 click ( ) {
154156 process . kill ( pid , 'SIGKILL' ) ;
155157 }
156- } ) ) ;
158+ } ) ;
157159
158- menu . append ( new remote . MenuItem ( {
160+ items . push ( {
159161 type : 'separator'
160- } ) ) ;
162+ } ) ;
161163
162- menu . append ( new remote . MenuItem ( {
164+ items . push ( {
163165 label : localize ( 'copy' , "Copy" ) ,
164166 click ( ) {
165167 const row = document . getElementById ( pid . toString ( ) ) ;
166168 if ( row ) {
167169 clipboard . writeText ( row . innerText ) ;
168170 }
169171 }
170- } ) ) ;
172+ } ) ;
171173
172- menu . append ( new remote . MenuItem ( {
174+ items . push ( {
173175 label : localize ( 'copyAll' , "Copy All" ) ,
174176 click ( ) {
175177 const processList = document . getElementById ( 'process-list' ) ;
176178 if ( processList ) {
177179 clipboard . writeText ( processList . innerText ) ;
178180 }
179181 }
180- } ) ) ;
182+ } ) ;
181183 } else {
182- menu . append ( new remote . MenuItem ( {
184+ items . push ( {
183185 label : localize ( 'copyAll' , "Copy All" ) ,
184186 click ( ) {
185187 const processList = document . getElementById ( 'process-list' ) ;
186188 if ( processList ) {
187189 clipboard . writeText ( processList . innerText ) ;
188190 }
189191 }
190- } ) ) ;
192+ } ) ;
191193 }
192194
193- menu . popup ( { window : remote . getCurrentWindow ( ) } ) ;
195+ popup ( items ) ;
194196}
195197
196198export function startup ( data : ProcessExplorerData ) : void {
@@ -206,7 +208,7 @@ export function startup(data: ProcessExplorerData): void {
206208 setInterval ( ( ) => {
207209 ipcRenderer . send ( 'windowsInfoRequest' ) ;
208210
209- listProcesses ( remote . process . pid ) . then ( processes => {
211+ listProcesses ( data . pid ) . then ( processes => {
210212 processList = getProcessList ( processes ) ;
211213 updateProcessInfo ( processList ) ;
212214
0 commit comments