-
-
Notifications
You must be signed in to change notification settings - Fork 807
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #243 from rubickCenter/feat/v3.0.0
- Loading branch information
Showing
12 changed files
with
473 additions
and
82 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
!macro customInstall | ||
SetRegView 64 | ||
WriteRegStr HKCR "*\shell\rubick" "" "open w&ith rubick search" | ||
WriteRegStr HKCR "*\shell\rubick" "Icon" "$INSTDIR\rubick.exe" | ||
WriteRegStr HKCR "*\shell\rubick\command" "" '"$INSTDIR\rubick.exe" "search" "%1"' | ||
SetRegView 32 | ||
WriteRegStr HKCR "*\shell\rubick" "" "open w&ith rubick search" | ||
WriteRegStr HKCR "*\shell\rubick" "Icon" "$INSTDIR\rubick.exe" | ||
WriteRegStr HKCR "*\shell\rubick\command" "" '"$INSTDIR\rubick.exe" "search" "%1"' | ||
!macroend | ||
!macro customUninstall | ||
DeleteRegKey HKCR "*\shell\rubick" | ||
!macroend |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
<plist version="1.0"> | ||
<dict> | ||
<key>NSServices</key> | ||
<array> | ||
<dict> | ||
<key>NSBackgroundColorName</key> | ||
<string>background</string> | ||
<key>NSIconName</key> | ||
<string>NSTouchBarSend</string> | ||
<key>NSMenuItem</key> | ||
<dict> | ||
<key>default</key> | ||
<string>rubick 打开</string> | ||
</dict> | ||
<key>NSMessage</key> | ||
<string>runWorkflowAsService</string> | ||
<key>NSRequiredContext</key> | ||
<dict> | ||
<key>NSApplicationIdentifier</key> | ||
<string>com.apple.finder</string> | ||
</dict> | ||
<key>NSSendFileTypes</key> | ||
<array> | ||
<string>public.item</string> | ||
</array> | ||
</dict> | ||
</array> | ||
</dict> | ||
</plist> |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,228 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
<plist version="1.0"> | ||
<dict> | ||
<key>AMApplicationBuild</key> | ||
<string>512</string> | ||
<key>AMApplicationVersion</key> | ||
<string>2.10</string> | ||
<key>AMDocumentVersion</key> | ||
<string>2</string> | ||
<key>actions</key> | ||
<array> | ||
<dict> | ||
<key>action</key> | ||
<dict> | ||
<key>AMAccepts</key> | ||
<dict> | ||
<key>Container</key> | ||
<string>List</string> | ||
<key>Optional</key> | ||
<true/> | ||
<key>Types</key> | ||
<array> | ||
<string>com.apple.cocoa.string</string> | ||
</array> | ||
</dict> | ||
<key>AMActionVersion</key> | ||
<string>2.0.3</string> | ||
<key>AMApplication</key> | ||
<array> | ||
<string>自动操作</string> | ||
</array> | ||
<key>AMParameterProperties</key> | ||
<dict> | ||
<key>COMMAND_STRING</key> | ||
<dict/> | ||
<key>CheckedForUserDefaultShell</key> | ||
<dict/> | ||
<key>inputMethod</key> | ||
<dict/> | ||
<key>shell</key> | ||
<dict/> | ||
<key>source</key> | ||
<dict/> | ||
</dict> | ||
<key>AMProvides</key> | ||
<dict> | ||
<key>Container</key> | ||
<string>List</string> | ||
<key>Types</key> | ||
<array> | ||
<string>com.apple.cocoa.string</string> | ||
</array> | ||
</dict> | ||
<key>ActionBundlePath</key> | ||
<string>/System/Library/Automator/Run Shell Script.action</string> | ||
<key>ActionName</key> | ||
<string>运行Shell脚本</string> | ||
<key>ActionParameters</key> | ||
<dict> | ||
<key>COMMAND_STRING</key> | ||
<string>/Applications/rubick.app/Contents/MacOS/rubick search "$@" > /dev/null 2>&1 &</string> | ||
<key>CheckedForUserDefaultShell</key> | ||
<true/> | ||
<key>inputMethod</key> | ||
<integer>0</integer> | ||
<key>shell</key> | ||
<string>/bin/bash</string> | ||
<key>source</key> | ||
<string></string> | ||
</dict> | ||
<key>BundleIdentifier</key> | ||
<string>com.apple.RunShellScript</string> | ||
<key>CFBundleVersion</key> | ||
<string>2.0.3</string> | ||
<key>CanShowSelectedItemsWhenRun</key> | ||
<false/> | ||
<key>CanShowWhenRun</key> | ||
<true/> | ||
<key>Category</key> | ||
<array> | ||
<string>AMCategoryUtilities</string> | ||
</array> | ||
<key>Class Name</key> | ||
<string>RunShellScriptAction</string> | ||
<key>InputUUID</key> | ||
<string>7E11290E-3E3F-4D65-988B-3E2A8B597EEF</string> | ||
<key>Keywords</key> | ||
<array> | ||
<string>Shell</string> | ||
<string>脚本</string> | ||
<string>命令</string> | ||
<string>运行</string> | ||
<string>Unix</string> | ||
</array> | ||
<key>OutputUUID</key> | ||
<string>475C56B3-F23A-4D39-BB41-4B00F76B096B</string> | ||
<key>UUID</key> | ||
<string>BBBABDAB-D65B-41BF-B1EB-03ACA5AF4714</string> | ||
<key>UnlocalizedApplications</key> | ||
<array> | ||
<string>Automator</string> | ||
</array> | ||
<key>arguments</key> | ||
<dict> | ||
<key>0</key> | ||
<dict> | ||
<key>default value</key> | ||
<integer>0</integer> | ||
<key>name</key> | ||
<string>inputMethod</string> | ||
<key>required</key> | ||
<string>0</string> | ||
<key>type</key> | ||
<string>0</string> | ||
<key>uuid</key> | ||
<string>0</string> | ||
</dict> | ||
<key>1</key> | ||
<dict> | ||
<key>default value</key> | ||
<false/> | ||
<key>name</key> | ||
<string>CheckedForUserDefaultShell</string> | ||
<key>required</key> | ||
<string>0</string> | ||
<key>type</key> | ||
<string>0</string> | ||
<key>uuid</key> | ||
<string>1</string> | ||
</dict> | ||
<key>2</key> | ||
<dict> | ||
<key>default value</key> | ||
<string></string> | ||
<key>name</key> | ||
<string>source</string> | ||
<key>required</key> | ||
<string>0</string> | ||
<key>type</key> | ||
<string>0</string> | ||
<key>uuid</key> | ||
<string>2</string> | ||
</dict> | ||
<key>3</key> | ||
<dict> | ||
<key>default value</key> | ||
<string></string> | ||
<key>name</key> | ||
<string>COMMAND_STRING</string> | ||
<key>required</key> | ||
<string>0</string> | ||
<key>type</key> | ||
<string>0</string> | ||
<key>uuid</key> | ||
<string>3</string> | ||
</dict> | ||
<key>4</key> | ||
<dict> | ||
<key>default value</key> | ||
<string>/bin/sh</string> | ||
<key>name</key> | ||
<string>shell</string> | ||
<key>required</key> | ||
<string>0</string> | ||
<key>type</key> | ||
<string>0</string> | ||
<key>uuid</key> | ||
<string>4</string> | ||
</dict> | ||
</dict> | ||
<key>conversionLabel</key> | ||
<integer>0</integer> | ||
<key>isViewVisible</key> | ||
<integer>1</integer> | ||
<key>location</key> | ||
<string>309.000000:305.000000</string> | ||
<key>nibPath</key> | ||
<string>/System/Library/Automator/Run Shell Script.action/Contents/Resources/Base.lproj/main.nib</string> | ||
</dict> | ||
<key>isViewVisible</key> | ||
<integer>1</integer> | ||
</dict> | ||
</array> | ||
<key>connectors</key> | ||
<dict/> | ||
<key>workflowMetaData</key> | ||
<dict> | ||
<key>applicationBundleID</key> | ||
<string>com.apple.finder</string> | ||
<key>applicationBundleIDsByPath</key> | ||
<dict> | ||
<key>/System/Library/CoreServices/Finder.app</key> | ||
<string>com.apple.finder</string> | ||
</dict> | ||
<key>applicationPath</key> | ||
<string>/System/Library/CoreServices/Finder.app</string> | ||
<key>applicationPaths</key> | ||
<array> | ||
<string>/System/Library/CoreServices/Finder.app</string> | ||
</array> | ||
<key>inputTypeIdentifier</key> | ||
<string>com.apple.Automator.fileSystemObject</string> | ||
<key>outputTypeIdentifier</key> | ||
<string>com.apple.Automator.nothing</string> | ||
<key>presentationMode</key> | ||
<integer>15</integer> | ||
<key>processesInput</key> | ||
<false/> | ||
<key>serviceApplicationBundleID</key> | ||
<string>com.apple.finder</string> | ||
<key>serviceApplicationPath</key> | ||
<string>/System/Library/CoreServices/Finder.app</string> | ||
<key>serviceInputTypeIdentifier</key> | ||
<string>com.apple.Automator.fileSystemObject</string> | ||
<key>serviceOutputTypeIdentifier</key> | ||
<string>com.apple.Automator.nothing</string> | ||
<key>serviceProcessesInput</key> | ||
<false/> | ||
<key>systemImageName</key> | ||
<string>NSTouchBarSend</string> | ||
<key>useAutomaticInputType</key> | ||
<false/> | ||
<key>workflowTypeIdentifier</key> | ||
<string>com.apple.Automator.servicesMenu</string> | ||
</dict> | ||
</dict> | ||
</plist> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
import path from 'path'; | ||
import fs from 'fs-extra'; | ||
import os from 'os'; | ||
|
||
const getSearchFiles = (argv = process.argv, cwd = process.cwd()) => { | ||
const files = argv.slice(2); // 过滤['rubick.exe', 'search']这两个参数,直接获取需要上传的图片路径 | ||
let result: any = []; | ||
if (files.length > 0) { | ||
// 如果图片列表不为空 | ||
result = files | ||
.map((item) => { | ||
if (path.isAbsolute(item)) { | ||
// 如果是绝对路径 | ||
return { | ||
path: item, | ||
}; | ||
} else { | ||
const tempPath = path.join(cwd, item); // 如果是相对路径,就拼接 | ||
if (fs.existsSync(tempPath)) { | ||
// 判断文件是否存在 | ||
return { | ||
path: tempPath, | ||
}; | ||
} else { | ||
return null; | ||
} | ||
} | ||
}) | ||
.filter((item) => item !== null); // 排除为null的路径 | ||
} | ||
return result; // 返回结果 | ||
}; | ||
|
||
const putFileToRubick = (webContents, files) => { | ||
webContents.executeJavaScript(`window.searchFocus(${JSON.stringify(files)})`); | ||
}; | ||
|
||
const copyFileOutsideOfElectronAsar = function ( | ||
sourceInAsarArchive, | ||
destOutsideAsarArchive | ||
) { | ||
if (fs.existsSync(sourceInAsarArchive)) { | ||
// file will be copied | ||
if (fs.statSync(sourceInAsarArchive).isFile()) { | ||
const file = destOutsideAsarArchive; | ||
const dir = path.dirname(file); | ||
if (!fs.existsSync(dir)) { | ||
fs.mkdirSync(dir, { recursive: true }); | ||
} | ||
|
||
fs.writeFileSync(file, fs.readFileSync(sourceInAsarArchive)); | ||
} | ||
|
||
// dir is browsed | ||
else if (fs.statSync(sourceInAsarArchive).isDirectory()) { | ||
fs.readdirSync(sourceInAsarArchive).forEach(function (fileOrFolderName) { | ||
copyFileOutsideOfElectronAsar( | ||
sourceInAsarArchive + '/' + fileOrFolderName, | ||
destOutsideAsarArchive + '/' + fileOrFolderName | ||
); | ||
}); | ||
} | ||
} | ||
}; | ||
|
||
const macBeforeOpen = () => { | ||
const dest = `${os.homedir}/Library/Services/rubick.workflow`; | ||
if (fs.existsSync(dest)) { | ||
// 判断是否存在 | ||
return true; | ||
} else { | ||
// 如果不存在就复制过去 | ||
try { | ||
copyFileOutsideOfElectronAsar( | ||
path.join(__static, 'rubick.workflow'), | ||
dest | ||
); | ||
} catch (e) { | ||
console.log(e); | ||
} | ||
} | ||
}; | ||
|
||
export { getSearchFiles, putFileToRubick, macBeforeOpen }; |
Oops, something went wrong.