init: Alfred preferences

This commit is contained in:
2026-03-26 09:22:38 +08:00
commit 3cad72b72c
13215 changed files with 108280 additions and 0 deletions

View File

@@ -0,0 +1,258 @@
<?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>bundleid</key>
<string>DELL</string>
<key>connections</key>
<dict>
<key>1260B94B-9181-4C34-8D40-6810254B059E</key>
<array>
<dict>
<key>destinationuid</key>
<string>6A745F91-F8E2-4F85-81D9-E031FDE3494C</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>6599D4CA-1A0C-4D9F-AA4A-B96242444DE3</key>
<array>
<dict>
<key>destinationuid</key>
<string>1260B94B-9181-4C34-8D40-6810254B059E</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>6A745F91-F8E2-4F85-81D9-E031FDE3494C</key>
<array>
<dict>
<key>destinationuid</key>
<string>3F4C2ACB-DDCD-4DEE-B331-0B7B018EC3D3</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
</dict>
<key>createdby</key>
<string>Timmy</string>
<key>description</key>
<string></string>
<key>disabled</key>
<false/>
<key>name</key>
<string>無腦生密碼</string>
<key>objects</key>
<array>
<dict>
<key>config</key>
<dict>
<key>autopaste</key>
<true/>
<key>clipboardtext</key>
<string>{query}</string>
<key>ignoredynamicplaceholders</key>
<false/>
<key>transient</key>
<false/>
</dict>
<key>type</key>
<string>alfred.workflow.output.clipboard</string>
<key>uid</key>
<string>6A745F91-F8E2-4F85-81D9-E031FDE3494C</string>
<key>version</key>
<integer>3</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>lastpathcomponent</key>
<false/>
<key>onlyshowifquerypopulated</key>
<false/>
<key>removeextension</key>
<false/>
<key>text</key>
<string>搞定!密碼已經複製到剪貼簿囉。</string>
<key>title</key>
<string>無腦生密碼</string>
</dict>
<key>type</key>
<string>alfred.workflow.output.notification</string>
<key>uid</key>
<string>3F4C2ACB-DDCD-4DEE-B331-0B7B018EC3D3</string>
<key>version</key>
<integer>1</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>argumenttrimmode</key>
<integer>0</integer>
<key>argumenttype</key>
<integer>2</integer>
<key>fixedorder</key>
<false/>
<key>items</key>
<string>[{"title":"Easy to Read","arg":"easy_to_read"},{"title":"All Characters","arg":"all_characters"}]</string>
<key>keyword</key>
<string>pwgen</string>
<key>matchmode</key>
<integer>0</integer>
<key>runningsubtext</key>
<string></string>
<key>subtext</key>
<string></string>
<key>title</key>
<string></string>
<key>withspace</key>
<false/>
</dict>
<key>type</key>
<string>alfred.workflow.input.listfilter</string>
<key>uid</key>
<string>6599D4CA-1A0C-4D9F-AA4A-B96242444DE3</string>
<key>version</key>
<integer>1</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>concurrently</key>
<false/>
<key>escaping</key>
<integer>68</integer>
<key>script</key>
<string>#!/usr/bin/env -S uv run
# /// script
# requires-python = "&gt;=3.12"
# ///
import secrets
import string
import sys
from abc import ABC, abstractmethod
# 定義基礎介面 (Optional, 但既然你喜歡結構就做完整點)
class PasswordGenerator(ABC):
def __init__(self, length: int = 16):
self.length = length
@property
@abstractmethod
def characters(self) -&gt; str:
pass
def generate(self) -&gt; str:
# 這裡改用 secrets (Cryptographically secure)
return "".join(secrets.choice(self.characters) for _ in range(self.length))
# 實作各種類型
class EasyToSay(PasswordGenerator):
"""只使用大小寫字母,不含數字符號"""
@property
def characters(self):
return string.ascii_letters
class EasyToRead(PasswordGenerator):
"""排除容易混淆的字元 (0, O, 1, l)"""
@property
def characters(self):
# 建立排除表
exclude = str.maketrans('', '', '0O1l')
chars = string.ascii_letters + string.digits
return chars.translate(exclude)
class AllCharacters(PasswordGenerator):
"""包含所有符號,最強密碼"""
@property
def characters(self):
return string.ascii_letters + string.digits + string.punctuation
# 工廠模式選擇器
def get_password(style: str, length: int = 16) -&gt; str:
generators = {
"easy_to_say": EasyToSay,
"easy_to_read": EasyToRead,
"all_characters": AllCharacters,
}
# 預設使用 AllCharacters 以防萬一
generator_class = generators.get(style, AllCharacters)
return generator_class(length).generate()
if __name__ == "__main__":
# 接收 Alfred 傳來的參數
if len(sys.argv) &gt; 1:
query = sys.argv[1]
else:
query = "all_characters"
# 產生並輸出 (沒有換行符號,方便直接貼上)
sys.stdout.write(get_password(query))</string>
<key>scriptargtype</key>
<integer>1</integer>
<key>scriptfile</key>
<string></string>
<key>type</key>
<integer>9</integer>
</dict>
<key>type</key>
<string>alfred.workflow.action.script</string>
<key>uid</key>
<string>1260B94B-9181-4C34-8D40-6810254B059E</string>
<key>version</key>
<integer>2</integer>
</dict>
</array>
<key>readme</key>
<string></string>
<key>uidata</key>
<dict>
<key>1260B94B-9181-4C34-8D40-6810254B059E</key>
<dict>
<key>xpos</key>
<real>255</real>
<key>ypos</key>
<real>155</real>
</dict>
<key>3F4C2ACB-DDCD-4DEE-B331-0B7B018EC3D3</key>
<dict>
<key>xpos</key>
<real>620</real>
<key>ypos</key>
<real>155</real>
</dict>
<key>6599D4CA-1A0C-4D9F-AA4A-B96242444DE3</key>
<dict>
<key>xpos</key>
<real>80</real>
<key>ypos</key>
<real>155</real>
</dict>
<key>6A745F91-F8E2-4F85-81D9-E031FDE3494C</key>
<dict>
<key>xpos</key>
<real>430</real>
<key>ypos</key>
<real>155</real>
</dict>
</dict>
<key>userconfigurationconfig</key>
<array/>
<key>webaddress</key>
<string></string>
</dict>
</plist>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -0,0 +1,353 @@
<?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>bundleid</key>
<string></string>
<key>connections</key>
<dict>
<key>33E97B3C-AE75-4802-9866-EA166186A359</key>
<array>
<dict>
<key>destinationuid</key>
<string>A729B274-0D6A-474B-BC29-B189FFA5B80C</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>599BE109-55D2-4883-A734-7346A8DBEDFF</key>
<array>
<dict>
<key>destinationuid</key>
<string>F69BFB49-6D5A-43CE-A2ED-3D2E5C2D69B0</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>60275CD9-3162-4313-A14C-77BED33791E4</key>
<array/>
<key>A729B274-0D6A-474B-BC29-B189FFA5B80C</key>
<array>
<dict>
<key>destinationuid</key>
<string>B3D61B44-CE57-409D-B7D2-5DA8CB15583B</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>B3D61B44-CE57-409D-B7D2-5DA8CB15583B</key>
<array>
<dict>
<key>destinationuid</key>
<string>599BE109-55D2-4883-A734-7346A8DBEDFF</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
</dict>
<key>createdby</key>
<string>Timmy</string>
<key>description</key>
<string></string>
<key>disabled</key>
<false/>
<key>name</key>
<string>使用Prettier自動格式化程式碼</string>
<key>objects</key>
<array>
<dict>
<key>config</key>
<dict>
<key>concurrently</key>
<false/>
<key>escaping</key>
<integer>102</integer>
<key>script</key>
<string># 定義預設的配置設定
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
TZ='Asia/Taipei'
# 將配置設定寫入環境變數
export PATH
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
export PATH="/opt/homebrew/bin:$PATH"
query=$1 # 將第一個參數存入變數query
# echo -n $query # 輸出query變數不換行
# echo -n $(date) # 輸出當前日期,不換行
pbpaste | prettier --parser "$query" 2&gt;&amp;1 # 將剪貼簿的內容輸入Prettier使用$query指定的解析器格式化並將錯誤訊息stderr重定向到標準輸出stdout</string>
<key>scriptargtype</key>
<integer>1</integer>
<key>scriptfile</key>
<string></string>
<key>type</key>
<integer>0</integer>
</dict>
<key>type</key>
<string>alfred.workflow.action.script</string>
<key>uid</key>
<string>B3D61B44-CE57-409D-B7D2-5DA8CB15583B</string>
<key>version</key>
<integer>2</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>alfredfiltersresults</key>
<true/>
<key>alfredfiltersresultsmatchmode</key>
<integer>0</integer>
<key>argumenttreatemptyqueryasnil</key>
<true/>
<key>argumenttrimmode</key>
<integer>0</integer>
<key>argumenttype</key>
<integer>1</integer>
<key>escaping</key>
<integer>102</integer>
<key>keyword</key>
<string>prettier</string>
<key>queuedelaycustom</key>
<integer>3</integer>
<key>queuedelayimmediatelyinitially</key>
<true/>
<key>queuedelaymode</key>
<integer>0</integer>
<key>queuemode</key>
<integer>1</integer>
<key>runningsubtext</key>
<string></string>
<key>script</key>
<string>import json
import sys
data = {
"items": [
{
"title": "使用Prettier自動格式化Markdown文件",
"subtitle": "markdown",
"arg": "markdown"
},
{
"title": "使用Prettier自動格式化HTML程式碼",
"subtitle": "html",
"arg": "html"
},
{
"title": "使用Prettier自動格式化CSS程式碼",
"subtitle": "css",
"arg": "css"
},
{
"title": "使用Prettier自動格式化YAML文件",
"subtitle": "yaml",
"arg": "yaml"
},
{
"title": "使用Prettier自動格式化JSON文件",
"subtitle": "json",
"arg": "json"
}
]
}
json.dump(data, sys.stdout)</string>
<key>scriptargtype</key>
<integer>1</integer>
<key>scriptfile</key>
<string></string>
<key>subtext</key>
<string></string>
<key>title</key>
<string>使用Prettier自動格式化程式碼</string>
<key>type</key>
<integer>9</integer>
<key>withspace</key>
<true/>
</dict>
<key>type</key>
<string>alfred.workflow.input.scriptfilter</string>
<key>uid</key>
<string>A729B274-0D6A-474B-BC29-B189FFA5B80C</string>
<key>version</key>
<integer>3</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>autopaste</key>
<true/>
<key>clipboardtext</key>
<string>{query}</string>
<key>ignoredynamicplaceholders</key>
<false/>
<key>transient</key>
<false/>
</dict>
<key>type</key>
<string>alfred.workflow.output.clipboard</string>
<key>uid</key>
<string>599BE109-55D2-4883-A734-7346A8DBEDFF</string>
<key>version</key>
<integer>3</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>lastpathcomponent</key>
<false/>
<key>onlyshowifquerypopulated</key>
<true/>
<key>removeextension</key>
<false/>
<key>text</key>
<string>✨ Copy successful! ✨</string>
<key>title</key>
<string>使用Prettier自動格式化程式碼</string>
</dict>
<key>type</key>
<string>alfred.workflow.output.notification</string>
<key>uid</key>
<string>F69BFB49-6D5A-43CE-A2ED-3D2E5C2D69B0</string>
<key>version</key>
<integer>1</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>action</key>
<integer>0</integer>
<key>argument</key>
<integer>0</integer>
<key>focusedappvariable</key>
<false/>
<key>focusedappvariablename</key>
<string></string>
<key>hotkey</key>
<integer>0</integer>
<key>hotmod</key>
<integer>0</integer>
<key>hotstring</key>
<string></string>
<key>leftcursor</key>
<false/>
<key>modsmode</key>
<integer>0</integer>
<key>relatedAppsMode</key>
<integer>0</integer>
</dict>
<key>type</key>
<string>alfred.workflow.trigger.hotkey</string>
<key>uid</key>
<string>33E97B3C-AE75-4802-9866-EA166186A359</string>
<key>version</key>
<integer>2</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>alignment</key>
<integer>0</integer>
<key>backgroundcolor</key>
<string></string>
<key>fadespeed</key>
<integer>0</integer>
<key>fillmode</key>
<integer>0</integer>
<key>font</key>
<string>System Light</string>
<key>ignoredynamicplaceholders</key>
<false/>
<key>largetypetext</key>
<string>Copied!</string>
<key>textcolor</key>
<string></string>
<key>wrapat</key>
<integer>50</integer>
</dict>
<key>type</key>
<string>alfred.workflow.output.largetype</string>
<key>uid</key>
<string>60275CD9-3162-4313-A14C-77BED33791E4</string>
<key>version</key>
<integer>3</integer>
</dict>
</array>
<key>readme</key>
<string></string>
<key>uidata</key>
<dict>
<key>33E97B3C-AE75-4802-9866-EA166186A359</key>
<dict>
<key>xpos</key>
<real>30</real>
<key>ypos</key>
<real>170</real>
</dict>
<key>599BE109-55D2-4883-A734-7346A8DBEDFF</key>
<dict>
<key>xpos</key>
<real>500</real>
<key>ypos</key>
<real>170</real>
</dict>
<key>60275CD9-3162-4313-A14C-77BED33791E4</key>
<dict>
<key>xpos</key>
<real>685</real>
<key>ypos</key>
<real>300</real>
</dict>
<key>A729B274-0D6A-474B-BC29-B189FFA5B80C</key>
<dict>
<key>xpos</key>
<real>185</real>
<key>ypos</key>
<real>170</real>
</dict>
<key>B3D61B44-CE57-409D-B7D2-5DA8CB15583B</key>
<dict>
<key>xpos</key>
<real>345</real>
<key>ypos</key>
<real>170</real>
</dict>
<key>F69BFB49-6D5A-43CE-A2ED-3D2E5C2D69B0</key>
<dict>
<key>xpos</key>
<real>685</real>
<key>ypos</key>
<real>170</real>
</dict>
</dict>
<key>userconfigurationconfig</key>
<array/>
<key>variablesdontexport</key>
<array/>
<key>version</key>
<string></string>
<key>webaddress</key>
<string></string>
</dict>
</plist>

View File

@@ -0,0 +1,160 @@
<?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>bundleid</key>
<string>com.timmy.officecleaner</string>
<key>connections</key>
<dict>
<key>8E87CECE-97A1-4876-8C7E-9A0C29D6F7F5</key>
<array>
<dict>
<key>destinationuid</key>
<string>B560DD0D-86F6-43DD-9AE4-52C3174F2F71</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>EE92F12E-ACF5-4E3B-8AB6-4965BB03A2BF</key>
<array>
<dict>
<key>destinationuid</key>
<string>8E87CECE-97A1-4876-8C7E-9A0C29D6F7F5</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
</dict>
<key>createdby</key>
<string>Timmy</string>
<key>description</key>
<string></string>
<key>disabled</key>
<false/>
<key>name</key>
<string>Office 滅證</string>
<key>objects</key>
<array>
<dict>
<key>config</key>
<dict>
<key>argumenttrimmode</key>
<integer>0</integer>
<key>argumenttype</key>
<integer>2</integer>
<key>fixedorder</key>
<false/>
<key>items</key>
<string>[{"title":"清除 Excel 最近紀錄","arg":"excel"},{"title":"清除 Word 最近紀錄","arg":"word"}]</string>
<key>keyword</key>
<string>clean</string>
<key>matchmode</key>
<integer>0</integer>
<key>runningsubtext</key>
<string></string>
<key>subtext</key>
<string></string>
<key>title</key>
<string></string>
<key>withspace</key>
<false/>
</dict>
<key>type</key>
<string>alfred.workflow.input.listfilter</string>
<key>uid</key>
<string>EE92F12E-ACF5-4E3B-8AB6-4965BB03A2BF</string>
<key>version</key>
<integer>1</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>lastpathcomponent</key>
<false/>
<key>onlyshowifquerypopulated</key>
<false/>
<key>removeextension</key>
<false/>
<key>text</key>
<string>{query}</string>
<key>title</key>
<string>Office Cleaner</string>
</dict>
<key>type</key>
<string>alfred.workflow.output.notification</string>
<key>uid</key>
<string>B560DD0D-86F6-43DD-9AE4-52C3174F2F71</string>
<key>version</key>
<integer>1</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>concurrently</key>
<false/>
<key>escaping</key>
<integer>102</integer>
<key>script</key>
<string># 設定 PATH確保找得到 uv (根據你的安裝方式調整)
export PATH="$HOME/.cargo/bin:$PATH"
# 切換到腳本所在目錄
cd ~/Scripts
# 執行腳本,並把 Alfred 傳來的 excel 或 word 丟進去
./CleanOffice.py {query}</string>
<key>scriptargtype</key>
<integer>0</integer>
<key>scriptfile</key>
<string></string>
<key>type</key>
<integer>5</integer>
</dict>
<key>type</key>
<string>alfred.workflow.action.script</string>
<key>uid</key>
<string>8E87CECE-97A1-4876-8C7E-9A0C29D6F7F5</string>
<key>version</key>
<integer>2</integer>
</dict>
</array>
<key>readme</key>
<string></string>
<key>uidata</key>
<dict>
<key>8E87CECE-97A1-4876-8C7E-9A0C29D6F7F5</key>
<dict>
<key>xpos</key>
<real>285</real>
<key>ypos</key>
<real>235</real>
</dict>
<key>B560DD0D-86F6-43DD-9AE4-52C3174F2F71</key>
<dict>
<key>xpos</key>
<real>500</real>
<key>ypos</key>
<real>235</real>
</dict>
<key>EE92F12E-ACF5-4E3B-8AB6-4965BB03A2BF</key>
<dict>
<key>xpos</key>
<real>85</real>
<key>ypos</key>
<real>235</real>
</dict>
</dict>
<key>userconfigurationconfig</key>
<array/>
<key>webaddress</key>
<string></string>
</dict>
</plist>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -0,0 +1,150 @@
<?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>bundleid</key>
<string></string>
<key>connections</key>
<dict>
<key>4D1EE27F-918D-4FC2-9374-249B272E4D1A</key>
<array>
<dict>
<key>destinationuid</key>
<string>5ABF024E-783F-4978-B5F6-E365E493F7F3</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>F44DB967-BD7E-4BE6-A978-A631A550FC8B</key>
<array>
<dict>
<key>destinationuid</key>
<string>4D1EE27F-918D-4FC2-9374-249B272E4D1A</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
</dict>
<key>createdby</key>
<string>Timmy</string>
<key>description</key>
<string></string>
<key>disabled</key>
<false/>
<key>name</key>
<string>使用urldecode解碼URL編碼字串</string>
<key>objects</key>
<array>
<dict>
<key>config</key>
<dict>
<key>argumenttype</key>
<integer>0</integer>
<key>keyword</key>
<string>urldecode</string>
<key>subtext</key>
<string></string>
<key>text</key>
<string>使用urldecode解碼URL編碼字串</string>
<key>withspace</key>
<true/>
</dict>
<key>type</key>
<string>alfred.workflow.input.keyword</string>
<key>uid</key>
<string>F44DB967-BD7E-4BE6-A978-A631A550FC8B</string>
<key>version</key>
<integer>1</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>concurrently</key>
<false/>
<key>escaping</key>
<integer>102</integer>
<key>script</key>
<string>import sys
import urllib.parse
def decode_url(encoded_url):
return urllib.parse.unquote(encoded_url)
result = decode_url("{query}")
sys.stdout.write(result)</string>
<key>scriptargtype</key>
<integer>0</integer>
<key>scriptfile</key>
<string></string>
<key>type</key>
<integer>9</integer>
</dict>
<key>type</key>
<string>alfred.workflow.action.script</string>
<key>uid</key>
<string>4D1EE27F-918D-4FC2-9374-249B272E4D1A</string>
<key>version</key>
<integer>2</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>autopaste</key>
<true/>
<key>clipboardtext</key>
<string>{query}</string>
<key>ignoredynamicplaceholders</key>
<true/>
<key>transient</key>
<false/>
</dict>
<key>type</key>
<string>alfred.workflow.output.clipboard</string>
<key>uid</key>
<string>5ABF024E-783F-4978-B5F6-E365E493F7F3</string>
<key>version</key>
<integer>3</integer>
</dict>
</array>
<key>readme</key>
<string></string>
<key>uidata</key>
<dict>
<key>4D1EE27F-918D-4FC2-9374-249B272E4D1A</key>
<dict>
<key>xpos</key>
<real>210</real>
<key>ypos</key>
<real>145</real>
</dict>
<key>5ABF024E-783F-4978-B5F6-E365E493F7F3</key>
<dict>
<key>xpos</key>
<real>375</real>
<key>ypos</key>
<real>145</real>
</dict>
<key>F44DB967-BD7E-4BE6-A978-A631A550FC8B</key>
<dict>
<key>xpos</key>
<real>45</real>
<key>ypos</key>
<real>145</real>
</dict>
</dict>
<key>userconfigurationconfig</key>
<array/>
<key>webaddress</key>
<string></string>
</dict>
</plist>

View File

@@ -0,0 +1,185 @@
<?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>bundleid</key>
<string></string>
<key>connections</key>
<dict>
<key>B04FE64F-EF9C-41AE-8760-940968C0EC5C</key>
<array>
<dict>
<key>destinationuid</key>
<string>EB3182E4-5E68-41FE-8598-C33B92A6041C</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>CC36E01F-59AE-424F-BF1E-8225FEC75896</key>
<array>
<dict>
<key>destinationuid</key>
<string>CB5DB2DB-4C85-4A83-A8AE-11451E00D0F6</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>EB3182E4-5E68-41FE-8598-C33B92A6041C</key>
<array>
<dict>
<key>destinationuid</key>
<string>CC36E01F-59AE-424F-BF1E-8225FEC75896</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
</dict>
<key>createdby</key>
<string>Timmy</string>
<key>description</key>
<string>中英文間隙化工具</string>
<key>disabled</key>
<false/>
<key>name</key>
<string>盤古之白自動加空格</string>
<key>objects</key>
<array>
<dict>
<key>config</key>
<dict>
<key>argumenttype</key>
<integer>2</integer>
<key>keyword</key>
<string>pangu</string>
<key>subtext</key>
<string></string>
<key>text</key>
<string>盤古之白自動加空格</string>
<key>withspace</key>
<false/>
</dict>
<key>type</key>
<string>alfred.workflow.input.keyword</string>
<key>uid</key>
<string>B04FE64F-EF9C-41AE-8760-940968C0EC5C</string>
<key>version</key>
<integer>1</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>lastpathcomponent</key>
<false/>
<key>onlyshowifquerypopulated</key>
<true/>
<key>removeextension</key>
<false/>
<key>text</key>
<string>Copied!</string>
<key>title</key>
<string></string>
</dict>
<key>type</key>
<string>alfred.workflow.output.notification</string>
<key>uid</key>
<string>CB5DB2DB-4C85-4A83-A8AE-11451E00D0F6</string>
<key>version</key>
<integer>1</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>concurrently</key>
<false/>
<key>escaping</key>
<integer>102</integer>
<key>script</key>
<string>query=$(pbpaste)
# pangu $query
pangu "$query"</string>
<key>scriptargtype</key>
<integer>1</integer>
<key>scriptfile</key>
<string></string>
<key>type</key>
<integer>0</integer>
</dict>
<key>type</key>
<string>alfred.workflow.action.script</string>
<key>uid</key>
<string>EB3182E4-5E68-41FE-8598-C33B92A6041C</string>
<key>version</key>
<integer>2</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>autopaste</key>
<false/>
<key>clipboardtext</key>
<string>{query}</string>
<key>ignoredynamicplaceholders</key>
<false/>
<key>transient</key>
<false/>
</dict>
<key>type</key>
<string>alfred.workflow.output.clipboard</string>
<key>uid</key>
<string>CC36E01F-59AE-424F-BF1E-8225FEC75896</string>
<key>version</key>
<integer>3</integer>
</dict>
</array>
<key>readme</key>
<string></string>
<key>uidata</key>
<dict>
<key>B04FE64F-EF9C-41AE-8760-940968C0EC5C</key>
<dict>
<key>xpos</key>
<real>80</real>
<key>ypos</key>
<real>245</real>
</dict>
<key>CB5DB2DB-4C85-4A83-A8AE-11451E00D0F6</key>
<dict>
<key>xpos</key>
<real>510</real>
<key>ypos</key>
<real>245</real>
</dict>
<key>CC36E01F-59AE-424F-BF1E-8225FEC75896</key>
<dict>
<key>xpos</key>
<real>370</real>
<key>ypos</key>
<real>245</real>
</dict>
<key>EB3182E4-5E68-41FE-8598-C33B92A6041C</key>
<dict>
<key>xpos</key>
<real>225</real>
<key>ypos</key>
<real>245</real>
</dict>
</dict>
<key>userconfigurationconfig</key>
<array/>
<key>webaddress</key>
<string></string>
</dict>
</plist>

View File

@@ -0,0 +1,237 @@
<?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>bundleid</key>
<string></string>
<key>connections</key>
<dict>
<key>48FB289A-B82F-4909-A683-16230DC77E48</key>
<array>
<dict>
<key>destinationuid</key>
<string>63621A9E-8AAF-499D-B201-E1CAAC145B8A</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>4A8416E3-0647-48A7-A297-C08E29B51F61</key>
<array>
<dict>
<key>destinationuid</key>
<string>48FB289A-B82F-4909-A683-16230DC77E48</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>63621A9E-8AAF-499D-B201-E1CAAC145B8A</key>
<array>
<dict>
<key>destinationuid</key>
<string>BBDA41AF-C6E5-47AE-B610-1C1AAEE132C9</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
</dict>
<key>createdby</key>
<string>Timmy</string>
<key>description</key>
<string>台灣化文字轉換器</string>
<key>disabled</key>
<false/>
<key>name</key>
<string>TextTaiwanizer</string>
<key>objects</key>
<array>
<dict>
<key>config</key>
<dict>
<key>argumenttype</key>
<integer>2</integer>
<key>keyword</key>
<string>text_taiwanizer</string>
<key>subtext</key>
<string></string>
<key>text</key>
<string>台灣化文字轉換器</string>
<key>withspace</key>
<false/>
</dict>
<key>type</key>
<string>alfred.workflow.input.keyword</string>
<key>uid</key>
<string>4A8416E3-0647-48A7-A297-C08E29B51F61</string>
<key>version</key>
<integer>1</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>autopaste</key>
<false/>
<key>clipboardtext</key>
<string>{query}</string>
<key>ignoredynamicplaceholders</key>
<false/>
<key>transient</key>
<false/>
</dict>
<key>type</key>
<string>alfred.workflow.output.clipboard</string>
<key>uid</key>
<string>63621A9E-8AAF-499D-B201-E1CAAC145B8A</string>
<key>version</key>
<integer>3</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>concurrently</key>
<false/>
<key>escaping</key>
<integer>68</integer>
<key>script</key>
<string>import json
import sys
import pyperclip
import requests
def convert_text_taiwan(text):
url = "https://api.zhconvert.org/convert"
params = {
"converter": "Taiwan",
"prettify": 1,
"userProtectReplace": "容器",
"text": text,
"modules": json.dumps(
{
"ChineseVariant": 1,
"Computer": 1,
"Smooth": 1,
"EllipsisMark": 1,
"Unit": 1,
"ProperNoun": 1,
"GanToZuo": 1,
"QuotationMark": 1,
"Mythbusters": 1,
"OnePiece": 1,
"Naruto": 1,
"HunterXHunter": 1,
"TengTong": 1,
"RemoveSpaces": 1,
"Pocketmon": 1,
"VioletEvergarden": 1,
"InternetSlang": 1,
"EngNumFWToHW": 1,
"Repeat": 1,
"RepeatAutoFix": 1,
"Gundam": 1,
"Typo": 1,
"TransliterationToTranslation": 1,
}
),
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, params=params, headers=headers)
response_json = response.json()
converted_text = response_json["data"]["text"]
return converted_text
input_text = pyperclip.paste()
converted_text = convert_text_taiwan(input_text)
sys.stdout.write(converted_text)</string>
<key>scriptargtype</key>
<integer>1</integer>
<key>scriptfile</key>
<string></string>
<key>type</key>
<integer>9</integer>
</dict>
<key>type</key>
<string>alfred.workflow.action.script</string>
<key>uid</key>
<string>48FB289A-B82F-4909-A683-16230DC77E48</string>
<key>version</key>
<integer>2</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>lastpathcomponent</key>
<false/>
<key>onlyshowifquerypopulated</key>
<true/>
<key>removeextension</key>
<false/>
<key>text</key>
<string>Copied!</string>
<key>title</key>
<string></string>
</dict>
<key>type</key>
<string>alfred.workflow.output.notification</string>
<key>uid</key>
<string>BBDA41AF-C6E5-47AE-B610-1C1AAEE132C9</string>
<key>version</key>
<integer>1</integer>
</dict>
</array>
<key>readme</key>
<string></string>
<key>uidata</key>
<dict>
<key>48FB289A-B82F-4909-A683-16230DC77E48</key>
<dict>
<key>xpos</key>
<real>240</real>
<key>ypos</key>
<real>145</real>
</dict>
<key>4A8416E3-0647-48A7-A297-C08E29B51F61</key>
<dict>
<key>xpos</key>
<real>75</real>
<key>ypos</key>
<real>145</real>
</dict>
<key>63621A9E-8AAF-499D-B201-E1CAAC145B8A</key>
<dict>
<key>xpos</key>
<real>395</real>
<key>ypos</key>
<real>145</real>
</dict>
<key>BBDA41AF-C6E5-47AE-B610-1C1AAEE132C9</key>
<dict>
<key>xpos</key>
<real>550</real>
<key>ypos</key>
<real>145</real>
</dict>
</dict>
<key>userconfigurationconfig</key>
<array/>
<key>webaddress</key>
<string></string>
</dict>
</plist>