Skip to content

Commit 7b23775

Browse files
committed
Add cmd option to paste on frontmost app
1 parent 236fe85 commit 7b23775

6 files changed

+216
-20
lines changed

โ€Žinfo.plist

+205-15
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<array>
1313
<dict>
1414
<key>destinationuid</key>
15-
<string>1F6B084F-ECB0-4573-B67E-E110AEB00649</string>
15+
<string>CD7838DC-10D2-4B9A-9183-56F7F50037D7</string>
1616
<key>modifiers</key>
1717
<integer>0</integer>
1818
<key>modifiersubtext</key>
@@ -22,6 +22,69 @@
2222
</dict>
2323
</array>
2424
<key>98FFB671-15EA-49E0-AA9B-77570204157B</key>
25+
<array>
26+
<dict>
27+
<key>destinationuid</key>
28+
<string>CD7838DC-10D2-4B9A-9183-56F7F50037D7</string>
29+
<key>modifiers</key>
30+
<integer>0</integer>
31+
<key>modifiersubtext</key>
32+
<string></string>
33+
<key>vitoclose</key>
34+
<false/>
35+
</dict>
36+
</array>
37+
<key>AE79D98B-99FD-449A-A5BC-A23B280E8E1D</key>
38+
<array>
39+
<dict>
40+
<key>destinationuid</key>
41+
<string>393132C9-8FFB-45E8-85FE-29B638770563</string>
42+
<key>modifiers</key>
43+
<integer>0</integer>
44+
<key>modifiersubtext</key>
45+
<string></string>
46+
<key>vitoclose</key>
47+
<false/>
48+
</dict>
49+
</array>
50+
<key>CD7838DC-10D2-4B9A-9183-56F7F50037D7</key>
51+
<array>
52+
<dict>
53+
<key>destinationuid</key>
54+
<string>F2AB2714-421B-401A-B722-157A4710DF7E</string>
55+
<key>modifiers</key>
56+
<integer>0</integer>
57+
<key>modifiersubtext</key>
58+
<string></string>
59+
<key>sourceoutputuid</key>
60+
<string>F3E98146-DEBF-4681-9BE9-613B595892CE</string>
61+
<key>vitoclose</key>
62+
<false/>
63+
</dict>
64+
<dict>
65+
<key>destinationuid</key>
66+
<string>F2AB2714-421B-401A-B722-157A4710DF7E</string>
67+
<key>modifiers</key>
68+
<integer>0</integer>
69+
<key>modifiersubtext</key>
70+
<string></string>
71+
<key>vitoclose</key>
72+
<false/>
73+
</dict>
74+
<dict>
75+
<key>destinationuid</key>
76+
<string>AE79D98B-99FD-449A-A5BC-A23B280E8E1D</string>
77+
<key>modifiers</key>
78+
<integer>0</integer>
79+
<key>modifiersubtext</key>
80+
<string></string>
81+
<key>sourceoutputuid</key>
82+
<string>C4EBD28E-4E5D-4090-B758-528B707C5DB5</string>
83+
<key>vitoclose</key>
84+
<false/>
85+
</dict>
86+
</array>
87+
<key>F2AB2714-421B-401A-B722-157A4710DF7E</key>
2588
<array>
2689
<dict>
2790
<key>destinationuid</key>
@@ -45,6 +108,25 @@
45108
<string>Emoji Mate</string>
46109
<key>objects</key>
47110
<array>
111+
<dict>
112+
<key>config</key>
113+
<dict>
114+
<key>autopaste</key>
115+
<false/>
116+
<key>clipboardtext</key>
117+
<string>{query}</string>
118+
<key>ignoredynamicplaceholders</key>
119+
<false/>
120+
<key>transient</key>
121+
<false/>
122+
</dict>
123+
<key>type</key>
124+
<string>alfred.workflow.output.clipboard</string>
125+
<key>uid</key>
126+
<string>1F6B084F-ECB0-4573-B67E-E110AEB00649</string>
127+
<key>version</key>
128+
<integer>3</integer>
129+
</dict>
48130
<dict>
49131
<key>config</key>
50132
<dict>
@@ -85,7 +167,7 @@
85167
<key>type</key>
86168
<integer>0</integer>
87169
<key>withspace</key>
88-
<true/>
170+
<false/>
89171
</dict>
90172
<key>type</key>
91173
<string>alfred.workflow.input.scriptfilter</string>
@@ -97,21 +179,65 @@
97179
<dict>
98180
<key>config</key>
99181
<dict>
100-
<key>autopaste</key>
101-
<false/>
102-
<key>clipboardtext</key>
103-
<string>{query}</string>
104-
<key>ignoredynamicplaceholders</key>
105-
<false/>
106-
<key>transient</key>
182+
<key>matchmode</key>
183+
<integer>0</integer>
184+
<key>matchstring</key>
185+
<string>copy:</string>
186+
<key>replacestring</key>
187+
<string></string>
188+
</dict>
189+
<key>type</key>
190+
<string>alfred.workflow.utility.replace</string>
191+
<key>uid</key>
192+
<string>F2AB2714-421B-401A-B722-157A4710DF7E</string>
193+
<key>version</key>
194+
<integer>2</integer>
195+
</dict>
196+
<dict>
197+
<key>config</key>
198+
<dict>
199+
<key>conditions</key>
200+
<array>
201+
<dict>
202+
<key>inputstring</key>
203+
<string>{query}</string>
204+
<key>matchcasesensitive</key>
205+
<false/>
206+
<key>matchmode</key>
207+
<integer>4</integer>
208+
<key>matchstring</key>
209+
<string>copy:*</string>
210+
<key>outputlabel</key>
211+
<string>copy</string>
212+
<key>uid</key>
213+
<string>F3E98146-DEBF-4681-9BE9-613B595892CE</string>
214+
</dict>
215+
<dict>
216+
<key>inputstring</key>
217+
<string>{query}</string>
218+
<key>matchcasesensitive</key>
219+
<false/>
220+
<key>matchmode</key>
221+
<integer>4</integer>
222+
<key>matchstring</key>
223+
<string>paste:*</string>
224+
<key>outputlabel</key>
225+
<string>paste</string>
226+
<key>uid</key>
227+
<string>C4EBD28E-4E5D-4090-B758-528B707C5DB5</string>
228+
</dict>
229+
</array>
230+
<key>elselabel</key>
231+
<string>copy</string>
232+
<key>hideelse</key>
107233
<false/>
108234
</dict>
109235
<key>type</key>
110-
<string>alfred.workflow.output.clipboard</string>
236+
<string>alfred.workflow.utility.conditional</string>
111237
<key>uid</key>
112-
<string>1F6B084F-ECB0-4573-B67E-E110AEB00649</string>
238+
<string>CD7838DC-10D2-4B9A-9183-56F7F50037D7</string>
113239
<key>version</key>
114-
<integer>3</integer>
240+
<integer>1</integer>
115241
</dict>
116242
<dict>
117243
<key>config</key>
@@ -162,6 +288,42 @@
162288
<key>version</key>
163289
<integer>3</integer>
164290
</dict>
291+
<dict>
292+
<key>config</key>
293+
<dict>
294+
<key>autopaste</key>
295+
<true/>
296+
<key>clipboardtext</key>
297+
<string>{query}</string>
298+
<key>ignoredynamicplaceholders</key>
299+
<false/>
300+
<key>transient</key>
301+
<false/>
302+
</dict>
303+
<key>type</key>
304+
<string>alfred.workflow.output.clipboard</string>
305+
<key>uid</key>
306+
<string>393132C9-8FFB-45E8-85FE-29B638770563</string>
307+
<key>version</key>
308+
<integer>3</integer>
309+
</dict>
310+
<dict>
311+
<key>config</key>
312+
<dict>
313+
<key>matchmode</key>
314+
<integer>0</integer>
315+
<key>matchstring</key>
316+
<string>paste:</string>
317+
<key>replacestring</key>
318+
<string></string>
319+
</dict>
320+
<key>type</key>
321+
<string>alfred.workflow.utility.replace</string>
322+
<key>uid</key>
323+
<string>AE79D98B-99FD-449A-A5BC-A23B280E8E1D</string>
324+
<key>version</key>
325+
<integer>2</integer>
326+
</dict>
165327
</array>
166328
<key>readme</key>
167329
<string>Quickly search for emojis ๐Ÿง‰๏ธ</string>
@@ -170,9 +332,16 @@
170332
<key>1F6B084F-ECB0-4573-B67E-E110AEB00649</key>
171333
<dict>
172334
<key>xpos</key>
173-
<real>280</real>
335+
<real>540</real>
174336
<key>ypos</key>
175-
<real>75</real>
337+
<real>15</real>
338+
</dict>
339+
<key>393132C9-8FFB-45E8-85FE-29B638770563</key>
340+
<dict>
341+
<key>xpos</key>
342+
<real>545</real>
343+
<key>ypos</key>
344+
<real>155</real>
176345
</dict>
177346
<key>8B087B9B-EF04-49BF-B7DF-710AE605EFC7</key>
178347
<dict>
@@ -188,6 +357,27 @@
188357
<key>ypos</key>
189358
<real>15</real>
190359
</dict>
360+
<key>AE79D98B-99FD-449A-A5BC-A23B280E8E1D</key>
361+
<dict>
362+
<key>xpos</key>
363+
<real>390</real>
364+
<key>ypos</key>
365+
<real>185</real>
366+
</dict>
367+
<key>CD7838DC-10D2-4B9A-9183-56F7F50037D7</key>
368+
<dict>
369+
<key>xpos</key>
370+
<real>270</real>
371+
<key>ypos</key>
372+
<real>90</real>
373+
</dict>
374+
<key>F2AB2714-421B-401A-B722-157A4710DF7E</key>
375+
<dict>
376+
<key>xpos</key>
377+
<real>390</real>
378+
<key>ypos</key>
379+
<real>45</real>
380+
</dict>
191381
</dict>
192382
<key>userconfigurationconfig</key>
193383
<array>
@@ -299,7 +489,7 @@ note: not all emojis are available in all languages.</string>
299489
</dict>
300490
</array>
301491
<key>version</key>
302-
<string>2.2.0</string>
492+
<string>2.3.0</string>
303493
<key>webaddress</key>
304494
<string>https://github.com/fedecalendino/alfred-emoji-mate</string>
305495
</dict>

โ€Žpyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "Emoji Mate"
3-
version = "2.2.0"
3+
version = "2.3.0"
44
description = "Quickly search for emojis"
55
documentation = "https://github.com/fedecalendino/alfred-emoji-mate/blob/main/README.md"
66
homepage = "https://github.com/fedecalendino/alfred-emoji-mate"

โ€Žsrc/search_emoji.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@ def main(workflow: Workflow):
1212
for ratio, (name, code) in results:
1313
workflow.new_item(
1414
title=f"{code} {name}",
15-
arg=name,
15+
arg=f"copy:{name}",
1616
copytext=name,
1717
valid=True,
1818
).set_icon_file(
1919
path=None,
2020
).set_cmd_mod(
21+
arg=f"paste:{name}",
22+
).set_alt_mod(
2123
subtitle=f"Match: {ratio:.2f}",
2224
)
2325

โ€Žsrc/search_text.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,20 @@ def main(workflow: Workflow):
1212
for ratio, (name, code) in results:
1313
workflow.new_item(
1414
title=f"{code} {name}",
15-
arg=code,
15+
arg=f"copy:{code}",
1616
copytext=code,
1717
valid=True,
1818
).set_icon_file(
1919
path=None,
2020
).set_cmd_mod(
21+
arg=f"paste:{code}",
22+
subtitle="Paste emoji to frontmost app",
23+
).set_alt_mod(
2124
subtitle=f"Match: {ratio:.2f}",
2225
)
2326

2427

28+
2529
if __name__ == "__main__":
2630
wf = Workflow()
2731
wf.run(main)

โ€Žtests/test_search_emoji.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ def test_run(self):
1111
found = ""
1212

1313
for item in feedback["items"]:
14-
found += item["arg"]
14+
found += item["arg"].replace("copy:", "")
1515

1616
self.assertEqual(found, "argentina")

โ€Žtests/test_search_text.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ def test_run(self):
1111
found = ""
1212

1313
for item in feedback["items"]:
14-
found += item["arg"]
14+
found += item["arg"].replace("copy:", "")
1515

1616
self.assertEqual(found, "๐Ÿ†“๏ธ๐Ÿพ๏ธ๐Ÿ‡ฉ๐Ÿ‡ช๏ธ๐Ÿณ๏ธโ˜•๏ธ๐Ÿ“’๏ธ๐Ÿ‡ธ๐Ÿ‡ช๏ธ๐Ÿซ•๏ธ๐Ÿ”š๏ธ๐Ÿ‘๏ธ๐Ÿ๏ธ๐Ÿ›๏ธ๏ธ๐Ÿ‘๏ธ๏ธ๐Ÿ˜ณ๏ธ๐Ÿชถ๏ธ๐Ÿ“๏ธ๐Ÿบ๏ธ๐Ÿ“…๏ธ๐Ÿ‘€๏ธ๐Ÿ”ฅ๏ธ")

0 commit comments

Comments
ย (0)