@@ -26,20 +26,18 @@ function darwinSnapshot (options = {}) {
2626 . fill ( null )
2727 . map ( ( ) => temp . path ( { suffix } ) )
2828
29- let pathsToDelete = tmpPaths
29+ let pathsToDelete = [ ]
3030 if ( options . filename ) {
3131 tmpPaths [ displayId ] = filename
32- pathsToDelete = tmpPaths . slice ( 0 , - 1 )
3332 }
33+ pathsToDelete = tmpPaths . slice ( displayId )
3434
35- exec ( 'screencapture - x -t ' + suffix . slice ( 1 ) + ' ' + tmpPaths . join ( ' ' ) ,
35+ exec ( 'screencapture' + ' -D ' + ( displayId + 1 ) + ' ' + ' - x -t ' + suffix . slice ( 1 ) + ' ' + tmpPaths . slice ( displayId ) . join ( ' ' ) ,
3636 function ( err , stdOut ) {
3737 if ( err ) {
3838 return reject ( err )
3939 } else if ( options . filename ) {
40- Promise . all ( pathsToDelete . map ( unlinkP ) )
41- . then ( ( ) => resolve ( path . resolve ( options . filename ) ) )
42- . catch ( ( err ) => reject ( err ) )
40+ resolve ( path . resolve ( options . filename ) )
4341 } else {
4442 fs . readFile ( tmpPaths [ displayId ] , function ( err , img ) {
4543 if ( err ) {
@@ -141,23 +139,26 @@ function parseDisplaysOutput (output) {
141139 return [ ]
142140 }
143141
144- const firstGpuKey = Object . keys ( tree [ 'Graphics/Displays' ] ) [ 0 ]
145- if ( ! firstGpuKey ) {
142+ const firstGpuKeys = Object . keys ( tree [ 'Graphics/Displays' ] )
143+ if ( ! firstGpuKeys || firstGpuKeys . length <= 0 ) {
146144 return [ ]
147145 }
148146
149- const firstGpu = tree [ 'Graphics/Displays' ] [ firstGpuKey ]
150- if ( ! firstGpu ) {
151- return [ ]
152- }
147+ let displayinfos = [ ]
153148
154- const displays = Object . entries ( firstGpu [ 'Displays' ] )
155- . map ( ( [ name , props ] ) => {
156- const primary = props [ 'Main Display' ] === 'Yes'
157- return { name, primary }
158- } )
149+ firstGpuKeys . forEach ( gpukey => {
150+ const gpu = tree [ 'Graphics/Displays' ] [ gpukey ]
151+ if ( gpu . Displays ) {
152+ const temp = Object . entries ( gpu . Displays )
153+ . map ( ( [ name , props ] ) => {
154+ const primary = props [ 'Main Display' ] === 'Yes'
155+ return { name, primary }
156+ } )
157+ displayinfos = displayinfos . concat ( temp )
158+ }
159+ } )
159160
160- return addId ( movePrimaryToHead ( displays ) )
161+ return addId ( movePrimaryToHead ( displayinfos ) )
161162}
162163
163164function listDisplays ( ) {
0 commit comments