mirror of
https://github.com/yannbertrand/macos-defaults
synced 2025-03-05 07:17:19 +00:00
♻️ Use MacRunner
This commit is contained in:
parent
ef25dba680
commit
8bca39f739
2 changed files with 30 additions and 78 deletions
|
@ -1,54 +1,32 @@
|
|||
const delay = require('delay')
|
||||
const glob = require('glob-promise')
|
||||
const robot = require('robotjs')
|
||||
const util = require('util')
|
||||
const exec = util.promisify(require('child_process').exec)
|
||||
const MacRunner = require('../../mac-runner')
|
||||
const { compressPngImage } = require('../../utils')
|
||||
|
||||
module.exports = {
|
||||
run: async (outputPath) => {
|
||||
console.log('> Recording dock icon size with param set to 36')
|
||||
|
||||
const { stderr: setEnvError } = await exec(
|
||||
'defaults write com.apple.screencapture show-thumbnail -bool false && defaults write com.apple.dock tilesize -int 36 && killall Dock'
|
||||
)
|
||||
if (setEnvError) {
|
||||
console.error(
|
||||
'An error occured while setting up the dock tilesize command'
|
||||
)
|
||||
try {
|
||||
const runner = new MacRunner()
|
||||
await runner
|
||||
.setDefault('com.apple.dock', 'tilesize', '-int 36', '36')
|
||||
.killApp('Dock')
|
||||
.wait(1000)
|
||||
.captureScreen(`${outputPath}/36-tmp.png`)
|
||||
.deleteDefault('com.apple.dock', 'tilesize')
|
||||
.killApp('Dock')
|
||||
.run()
|
||||
} catch (runnerError) {
|
||||
logRollbackInfo()
|
||||
throw new Error(setEnvError)
|
||||
throw new Error(runnerError)
|
||||
}
|
||||
|
||||
// Preparation
|
||||
await delay(3000)
|
||||
|
||||
// Screenshot
|
||||
robot.keyTap('3', ['command', 'shift'])
|
||||
|
||||
await delay(1000)
|
||||
const screenshot = (
|
||||
await glob(`/Users/${process.env.USER}/Desktop/*.png`)
|
||||
).pop()
|
||||
|
||||
try {
|
||||
await compressPngImage(screenshot, outputPath, '36')
|
||||
await compressPngImage(`${outputPath}/36-tmp.png`, outputPath, '36')
|
||||
} catch (compressPngImageError) {
|
||||
logRollbackInfo()
|
||||
throw new Error(compressPngImageError)
|
||||
}
|
||||
|
||||
const { stderr: deleteEnvError } = await exec(
|
||||
'defaults delete com.apple.screencapture show-thumbnail && defaults delete com.apple.dock tilesize && killall Dock'
|
||||
)
|
||||
if (deleteEnvError) {
|
||||
console.error(
|
||||
'An error occured while cleaning the dock tilesize environment'
|
||||
)
|
||||
logRollbackInfo()
|
||||
throw new Error(deleteEnvError)
|
||||
}
|
||||
|
||||
return { filepath: `${outputPath}/36` }
|
||||
},
|
||||
}
|
||||
|
@ -57,7 +35,5 @@ function logRollbackInfo() {
|
|||
console.info(
|
||||
'Please manually run this command to make sure everything is properly reset:'
|
||||
)
|
||||
console.info(
|
||||
'defaults delete com.apple.screencapture show-thumbnail && defaults delete com.apple.dock tilesize && killall Dock'
|
||||
)
|
||||
console.info('defaults delete com.apple.dock tilesize && killall Dock')
|
||||
}
|
||||
|
|
|
@ -1,54 +1,32 @@
|
|||
const delay = require('delay')
|
||||
const glob = require('glob-promise')
|
||||
const robot = require('robotjs')
|
||||
const util = require('util')
|
||||
const exec = util.promisify(require('child_process').exec)
|
||||
const MacRunner = require('../../mac-runner')
|
||||
const { compressPngImage } = require('../../utils')
|
||||
|
||||
module.exports = {
|
||||
run: async (outputPath) => {
|
||||
console.log('> Recording dock icon size with param set to 48')
|
||||
|
||||
const { stderr: setEnvError } = await exec(
|
||||
'defaults write com.apple.screencapture show-thumbnail -bool false && defaults write com.apple.dock tilesize -int 48 && killall Dock'
|
||||
)
|
||||
if (setEnvError) {
|
||||
console.error(
|
||||
'An error occured while setting up the dock tilesize command'
|
||||
)
|
||||
try {
|
||||
const runner = new MacRunner()
|
||||
await runner
|
||||
.setDefault('com.apple.dock', 'tilesize', '-int 48', '48')
|
||||
.killApp('Dock')
|
||||
.wait(1000)
|
||||
.captureScreen(`${outputPath}/48-tmp.png`)
|
||||
.deleteDefault('com.apple.dock', 'tilesize')
|
||||
.killApp('Dock')
|
||||
.run()
|
||||
} catch (runnerError) {
|
||||
logRollbackInfo()
|
||||
throw new Error(setEnvError)
|
||||
throw new Error(runnerError)
|
||||
}
|
||||
|
||||
// Preparation
|
||||
await delay(3000)
|
||||
|
||||
// Screenshot
|
||||
robot.keyTap('3', ['command', 'shift'])
|
||||
|
||||
await delay(1000)
|
||||
const screenshot = (
|
||||
await glob(`/Users/${process.env.USER}/Desktop/*.png`)
|
||||
).pop()
|
||||
|
||||
try {
|
||||
await compressPngImage(screenshot, outputPath, '48')
|
||||
await compressPngImage(`${outputPath}/48-tmp.png`, outputPath, '48')
|
||||
} catch (compressPngImageError) {
|
||||
logRollbackInfo()
|
||||
throw new Error(compressPngImageError)
|
||||
}
|
||||
|
||||
const { stderr: deleteEnvError } = await exec(
|
||||
'defaults delete com.apple.screencapture show-thumbnail && defaults delete com.apple.dock tilesize && killall Dock'
|
||||
)
|
||||
if (deleteEnvError) {
|
||||
console.error(
|
||||
'An error occured while cleaning the dock tilesize environment'
|
||||
)
|
||||
logRollbackInfo()
|
||||
throw new Error(deleteEnvError)
|
||||
}
|
||||
|
||||
return { filepath: `${outputPath}/48` }
|
||||
},
|
||||
}
|
||||
|
@ -57,7 +35,5 @@ function logRollbackInfo() {
|
|||
console.info(
|
||||
'Please manually run this command to make sure everything is properly reset:'
|
||||
)
|
||||
console.info(
|
||||
'defaults delete com.apple.screencapture show-thumbnail && defaults delete com.apple.dock tilesize && killall Dock'
|
||||
)
|
||||
console.info('defaults delete com.apple.dock tilesize && killall Dock')
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue