mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-06-08 22:51:25 +08:00
91 lines
3.3 KiB
JavaScript
91 lines
3.3 KiB
JavaScript
module.exports = {
|
|
// 获取选中项
|
|
getSelection: async function () {
|
|
const result = await quickcommand.runAppleScript(`
|
|
tell application "Finder"
|
|
set selectedItems to selection
|
|
set json to "["
|
|
repeat with i from 1 to count of selectedItems
|
|
set theItem to item i of selectedItems
|
|
set json to json & "{"
|
|
set json to json & "\\"name\\":\\"" & name of theItem & "\\","
|
|
set json to json & "\\"path\\":\\"" & POSIX path of (theItem as alias) & "\\","
|
|
set json to json & "\\"kind\\":\\"" & kind of theItem & "\\","
|
|
set json to json & "\\"size\\":" & size of theItem & ","
|
|
set json to json & "\\"created\\":\\"" & creation date of theItem & "\\","
|
|
set json to json & "\\"modified\\":\\"" & modification date of theItem & "\\""
|
|
set json to json & "}"
|
|
if i < count of selectedItems then
|
|
set json to json & ","
|
|
end if
|
|
end repeat
|
|
set json to json & "]"
|
|
return json
|
|
end tell
|
|
`);
|
|
return JSON.parse(result);
|
|
},
|
|
|
|
// 获取当前文件夹
|
|
getCurrentFolder: async function () {
|
|
const result = await quickcommand.runAppleScript(`
|
|
tell application "Finder"
|
|
set currentFolder to (target of front window) as alias
|
|
set json to "{"
|
|
set json to json & "\\"name\\":\\"" & name of currentFolder & "\\","
|
|
set json to json & "\\"path\\":\\"" & POSIX path of currentFolder & "\\","
|
|
set json to json & "\\"kind\\":\\"" & kind of currentFolder & "\\","
|
|
set json to json & "\\"created\\":\\"" & creation date of currentFolder & "\\","
|
|
set json to json & "\\"modified\\":\\"" & modification date of currentFolder & "\\""
|
|
set json to json & "}"
|
|
return json
|
|
end tell
|
|
`);
|
|
return JSON.parse(result);
|
|
},
|
|
|
|
// 设置显示隐藏文件
|
|
setShowHiddenFiles: async function (show) {
|
|
return await quickcommand.runAppleScript(`
|
|
do shell script "defaults write com.apple.finder AppleShowAllFiles -bool ${show}"
|
|
do shell script "killall Finder"
|
|
`);
|
|
},
|
|
|
|
// 获取窗口列表
|
|
getWindows: async function () {
|
|
const result = await quickcommand.runAppleScript(`
|
|
tell application "Finder"
|
|
set windowList to every window
|
|
set json to "["
|
|
repeat with i from 1 to count of windowList
|
|
set theWindow to item i of windowList
|
|
set json to json & "{"
|
|
set json to json & "\\"name\\":\\"" & name of theWindow & "\\","
|
|
set json to json & "\\"index\\":" & index of theWindow & ","
|
|
set json to json & "\\"bounds\\":\\"" & bounds of theWindow & "\\","
|
|
set json to json & "\\"target\\":\\"" & POSIX path of (target of theWindow as alias) & "\\""
|
|
set json to json & "}"
|
|
if i < count of windowList then
|
|
set json to json & ","
|
|
end if
|
|
end repeat
|
|
set json to json & "]"
|
|
return json
|
|
end tell
|
|
`);
|
|
return JSON.parse(result);
|
|
},
|
|
|
|
// 激活指定窗口
|
|
activateWindow: async function (index) {
|
|
return await quickcommand.runAppleScript(`
|
|
tell application "Finder"
|
|
activate
|
|
set theWindow to window ${index}
|
|
set index of theWindow to 1
|
|
end tell
|
|
`);
|
|
},
|
|
};
|