├── .gitignore
├── augmentations
├── Directory watches.alfredworkflow
├── GitHub jump.alfredworkflow
├── Recent Downloads.alfredworkflow
└── Workflow directory.alfredworkflow
├── birthday
├── Birthday.alfredworkflow
├── README.md
├── birthday.go
├── main.go
├── modd.conf
└── workflow
│ ├── icon.png
│ ├── icons
│ ├── update-available.png
│ └── update.png
│ └── info.plist
├── clean-folders
├── Clean folders.alfredworkflow
├── readme.md
└── workflow
│ ├── icon.png
│ └── info.plist
├── dropbox-upload
├── Dropbox Upload.alfredworkflow
├── README.md
└── workflow
│ ├── icon.png
│ └── info.plist
├── file-actions
├── File actions.alfredworkflow
├── readme.md
└── workflow
│ ├── 05C183C4-C1D8-4B1C-975A-A499D399AAED.png
│ ├── 0941FA29-8416-4289-A6B8-4165625D4A55.png
│ ├── 210C0038-86C7-4781-9F6E-5A81F859E877.png
│ ├── 2BD3A8BE-D9BA-4B12-948C-E2632F3D67ED.png
│ ├── 3A020D59-FE40-4328-A767-B5725A876915.png
│ ├── 474B26D3-4450-49AC-A7C4-C9D71DDD76E1.png
│ ├── 57AB6F96-9189-4E21-8E77-3D27FA388664.png
│ ├── 5D838964-73AF-474B-BD3D-F69814EDB761.png
│ ├── 80A02279-4EB1-4B30-BA7F-D41C31EE28BD.png
│ ├── 8429A703-7734-4224-9EA0-81AE424B57FC.png
│ ├── 892D04AB-DEDD-4956-ABB6-32A828F4900B.png
│ ├── 95CE1AA4-AFB9-486F-BA43-359EE4BCFE98.png
│ ├── 973E95B3-0ADF-442D-8CBE-EB91FA2ED3A7.png
│ ├── A409F4C0-E91C-475F-B62C-754FCBCE18A8.png
│ ├── B27EECE8-761E-4804-9306-2D597B6FD49C.png
│ ├── B4CED3D9-C478-45AE-BB69-339ECF6468A9.png
│ ├── C8CF626A-8D5A-4D55-8AB8-E0B87BD656A3.png
│ ├── CA7377D2-2480-45DD-A0E4-1AAB5F4A910A.png
│ ├── CEEED62C-6361-4AE4-A89B-80D0EC11AA6A.png
│ ├── E074972D-2A62-407B-9472-B5C9CECEAE05.png
│ ├── E8D01873-DECE-4575-B35F-2048329D0B42.png
│ ├── EC932FFD-E3FD-462E-BB1C-8848A0D80471.png
│ ├── FFBA68A2-E374-4725-9573-7B9A290E14D1.png
│ ├── getFilePath.scpt
│ ├── getFilePathjs.scpt
│ ├── icon.png
│ └── info.plist
├── focus
├── Focus.alfredworkflow
├── README.md
└── workflow
│ ├── icon.png
│ └── info.plist
├── folder-search
├── Folder search.alfredworkflow
├── readme.md
└── workflow
│ ├── icon.png
│ └── info.plist
├── go-play
├── Go Play.alfredworkflow
├── readme.md
└── workflow
│ ├── icon.png
│ └── info.plist
├── go.mod
├── goto-subreddit
├── Go to subreddit.alfredworkflow
├── readme.md
└── workflow
│ ├── icon.png
│ └── info.plist
├── license
├── local-host
├── Local host.alfredworkflow
├── readme.md
└── workflow
│ ├── icon.png
│ └── info.plist
├── month-numbers
├── Month numbers.alfredworkflow
├── readme.md
└── workflow
│ ├── icon.png
│ └── info.plist
├── objects-library
├── Objects library.alfredworkflow
├── readme.md
└── workflow
│ ├── icon.png
│ └── info.plist
├── open-with-app
├── Open with app.alfredworkflow
├── readme.md
└── workflow
│ ├── 3AF332F9-4AE3-4396-9785-78B0677A29CB.png
│ ├── 45989721-9E50-4BEC-8362-08BE847F2475.png
│ ├── BF2D5DFE-38FF-4077-A341-4E0BEFDF94E2.png
│ ├── C96CE88F-544B-4BEB-87E7-FD6BD4E856FD.png
│ ├── E5CF2D70-1E75-4F8C-AD05-1FCCB7CFAF78.png
│ ├── icon.png
│ └── info.plist
├── pastee
└── main.go
├── personal
└── Manage notes.alfredworkflow
├── readme.md
├── search-content
├── Search content.alfredworkflow
├── readme.md
└── workflow
│ ├── 25B10AEB-A152-4465-A992-53818C416EAD.png
│ ├── 6D57C744-41AD-44F3-B941-863B242D62B6.png
│ ├── icon.png
│ └── info.plist
├── search-files
├── Search files.alfredworkflow
├── readme.md
└── workflow
│ ├── 04B7255A-49E1-423B-AE98-319E3B944069.png
│ ├── 04DA1148-4172-400D-975B-77622025E21C.png
│ ├── 0B2D9E41-21AB-405F-8A4D-B47491598A47.png
│ ├── 1383B5DA-0525-498E-AAB8-150E5D35E1AD.png
│ ├── 1AF49277-F905-425A-819F-BD400CEF29ED.png
│ ├── 1FFBE4B4-3819-4F17-95DC-65ECBE884124.png
│ ├── 3053E552-E0AE-4B7E-9967-8D50924ECA77.png
│ ├── 3603C545-0022-4E52-A8B7-45E9FFF50443.png
│ ├── 44407665-DF7A-40B3-B141-9844BCB2622B.png
│ ├── 56D82740-33E9-4B85-9B5C-7DB3B49772F4.png
│ ├── 72273002-2C12-41AA-8B00-9BC70F458A51.png
│ ├── 78024F5D-3C7F-4A7A-B9D7-1FA3D15BB40C.png
│ ├── 983D785B-9B16-4F4B-A8E9-1E5B0174E9C9.png
│ ├── 9BC050AF-6C7A-481A-8B22-294718088C78.png
│ ├── 9BCF53A1-B4BD-45BA-9F0C-80F2871DC37B.png
│ ├── 9F1670EC-E79E-41FA-B541-F6E757E0DF47.png
│ ├── B964994F-932B-476E-A943-CB2EC8B05062.png
│ ├── BA26AB10-27F4-41A3-B317-D10614E82935.png
│ ├── BF7FC6EC-156B-4076-9073-7DE46C61FB88.png
│ ├── C0BEB9C4-E2EB-44A9-9975-D029B2793ECE.png
│ ├── C4094CBD-1E63-41BC-970A-23D37CD13D6E.png
│ ├── DA0A225C-B763-4CD6-AE87-DBF8765D9D60.png
│ ├── E12B52E6-2A69-4ADE-AF3C-298DBA7CEB89.png
│ ├── E9D079C1-B439-4088-ADED-0F42AAF8B549.png
│ ├── EB40CB64-2242-4938-A9C6-575912C20B8C.png
│ ├── EBC5894C-6E68-4AAB-8947-18E929325FE4.png
│ ├── EFE95ECE-64EC-4B1C-B8F1-F52208AC733B.png
│ ├── F37F9D1D-B30E-42B4-A576-E3EA5B9F742E.png
│ ├── icon.png
│ └── info.plist
├── search-selection
├── Search selection.alfredworkflow
├── readme.md
└── workflow
│ ├── icon.png
│ └── info.plist
├── search-websites
├── Search websites.alfredworkflow
├── readme.md
└── workflow
│ ├── 1127BC62-DD3B-4005-9B34-AB0CFADB051F.png
│ ├── 146F85B0-0C5C-4B63-BB42-FCA37B4181F5.png
│ ├── 183DC403-68C6-40B5-AB94-C8EFE9C7E43B.png
│ ├── 193D060F-BAB2-4CED-AD5A-E3E3F3E87D6F.png
│ ├── 37ED8832-1FD5-46E1-8AE2-59AF11022A93.png
│ ├── 3FCA627E-69CA-4C97-B9D8-4C45B2ED3CEF.png
│ ├── 4A3F8E58-17A1-47F8-9EEF-DB02059716E6.png
│ ├── 62634646-FB07-4AED-B4B8-57427DFFBF21.png
│ ├── 62CAD691-222B-46BF-872E-831400C666AA.png
│ ├── 6943818F-D651-47ED-833A-BE0692C9EE9E.png
│ ├── 6E2F5D28-3C24-4A0E-868B-B7E8458130D9.png
│ ├── 70E96744-F08C-4740-8B32-706DDC657BC6.png
│ ├── 7EE275C6-301E-4A93-B0A3-B0C6C9838FBB.png
│ ├── 80BF4F73-C741-4BAD-8027-7AC28C522DFD.png
│ ├── 85F7CEA6-934E-4127-B2C4-B6CEE98D95B3.png
│ ├── 87AAAE94-DA95-4D19-947C-F604E99A1D08.png
│ ├── 8836EFCE-F9CF-4CCE-8D73-ED1E59260E67.png
│ ├── 8CE145BF-6ECE-417C-9BC7-E1A1C4DE5534.png
│ ├── 8DCEA3D5-DBB6-48C1-9972-B60DFDEF6231.png
│ ├── 9502628F-708E-4131-8C50-005ABEDA9F3C.png
│ ├── A8BA4B5A-88DC-4EDD-9BB0-3D5F6A1675BE.png
│ ├── ACF70BD1-4F9B-42CF-BADC-74441A205C99.png
│ ├── B215DB9E-231C-4F38-BE45-0AC689713916.png
│ ├── B81F54C3-CED5-4CFE-AD34-8431F9E78288.png
│ ├── B8400670-4FCE-4992-A55D-F81A336CC82C.png
│ ├── C12F319E-CAC7-4883-9CBA-65C4AFE009A8.png
│ ├── C9A9C868-A7D4-475C-AF70-68A4A5D9B7D4.png
│ ├── CBC50E38-D305-4BC6-BF89-0F106E3FA461.png
│ ├── CBDD132A-64D6-4A52-90E3-18B988244724.png
│ ├── CE07D201-AA28-440D-BE08-6AFE7663ABC4.png
│ ├── D06CE468-9B5B-4ACC-B1C3-FAA5C4129FD2.png
│ ├── DA3436F6-9BAC-4AB4-8656-75C9AA080B70.png
│ ├── DDA6D61F-E6A8-44D4-BE6E-81B10508AEC1.png
│ ├── E57F3424-9E2D-456D-93A7-13DA368A615C.png
│ ├── E954D61A-11ED-44AE-9213-B281148306B2.png
│ ├── E96EDBD8-7A33-4173-B462-4B0EDC097EBB.png
│ ├── EA56BE8E-1B06-49AD-99A3-14B9866FEBB2.png
│ ├── icon.png
│ └── info.plist
├── todo-task
├── TODO Task.alfredworkflow
├── readme.md
└── workflow
│ ├── icon.png
│ └── info.plist
├── todo.md
├── useful-utilities
├── Useful utilities.alfredworkflow
├── readme.md
└── workflow
│ ├── icon.png
│ └── info.plist
└── wifi-tools
├── WiFi tools.alfredworkflow
├── readme.md
└── workflow
├── icon.png
└── info.plist
/.gitignore:
--------------------------------------------------------------------------------
1 | awesome-lists
2 | my-mind
3 |
--------------------------------------------------------------------------------
/augmentations/Directory watches.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/augmentations/Directory watches.alfredworkflow
--------------------------------------------------------------------------------
/augmentations/GitHub jump.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/augmentations/GitHub jump.alfredworkflow
--------------------------------------------------------------------------------
/augmentations/Recent Downloads.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/augmentations/Recent Downloads.alfredworkflow
--------------------------------------------------------------------------------
/augmentations/Workflow directory.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/augmentations/Workflow directory.alfredworkflow
--------------------------------------------------------------------------------
/birthday/Birthday.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/birthday/Birthday.alfredworkflow
--------------------------------------------------------------------------------
/birthday/README.md:
--------------------------------------------------------------------------------
1 | # Alfred Birthday - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/birthday/Birthday.alfredworkflow?raw=true)
2 |
3 | > See time passed since your birthday
4 |
5 |
6 |
7 | In order to use this workflow, you first have to set your birthday as Alfred environment variable here:
8 |
9 |
10 |
11 | Which you can open here:
12 |
13 | 
14 |
15 | ## Contributing
16 |
17 | See [contribution guidelines](../contributing.md).
18 |
--------------------------------------------------------------------------------
/birthday/birthday.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "log"
5 | "os"
6 | "time"
7 |
8 | aw "github.com/deanishe/awgo"
9 | humanize "github.com/dustin/go-humanize"
10 | )
11 |
12 | var (
13 | updateAvailable = &aw.Icon{Value: "icons/update-available.png"}
14 |
15 | dateOfBirth = os.Getenv("Date of Birth (DD/MM/YYYY)")
16 |
17 | query string
18 | )
19 |
20 | // Gets age correctly.
21 | func getAge(birthday time.Time) int {
22 | currentYear := time.Now().Year()
23 | currentMonth := time.Now().Month()
24 | currentDay := time.Now().Day()
25 |
26 | birthYear := birthday.Year()
27 | birthMonth := birthday.Month()
28 | birthDay := birthday.Day()
29 |
30 | var age int
31 | if currentMonth < birthMonth {
32 | age = currentYear - birthYear - 1
33 | } else if currentMonth > birthMonth {
34 | age = currentYear - birthYear
35 | } else {
36 | if currentDay >= birthDay {
37 | age = currentYear - birthYear
38 | } else {
39 | age = currentYear - birthYear - 1
40 | }
41 | }
42 | return age
43 | }
44 |
45 | // TODO: cache value so not to rerun this every second, only append to seconds on reruns
46 | func getBirthday() error {
47 | log.Printf("query=%s", query)
48 |
49 | // Get birthday
50 | if dateOfBirth == "" {
51 | wf.NewItem("Please add your date of birth in configuration sheet")
52 | wf.SendFeedback()
53 | } else {
54 | wf.Rerun(1)
55 | const dateForm = "02/01/2006"
56 | parsedDate, err := time.Parse(dateForm, dateOfBirth)
57 | if err != nil {
58 | log.Fatal(err)
59 | }
60 |
61 | birthDate := time.Date(parsedDate.Year(), parsedDate.Month(), parsedDate.Day(), 0, 0, 0, 0, time.UTC)
62 |
63 | timeSinceBirthdate := time.Since(birthDate)
64 |
65 | wf.NewItem("You have lived:")
66 | // Years
67 | wf.NewItem(humanize.Comma(int64(timeSinceBirthdate.Hours()/8760)) + " years")
68 | // Months
69 | wf.NewItem(humanize.Comma(int64(timeSinceBirthdate.Hours()/730)) + " months")
70 | // Days
71 | wf.NewItem(humanize.Comma(int64(timeSinceBirthdate.Hours()/24)) + " days")
72 | // Hours
73 | wf.NewItem(humanize.Comma(int64(timeSinceBirthdate.Hours())) + " hours")
74 | // Minutes
75 | wf.NewItem(humanize.Comma(int64(timeSinceBirthdate.Minutes())) + " minutes")
76 | // Seconds
77 | wf.NewItem(humanize.Comma(int64(timeSinceBirthdate.Seconds())) + " seconds")
78 |
79 | query = os.Args[1]
80 |
81 | if query != "" {
82 | wf.Filter(query)
83 | }
84 |
85 | wf.WarnEmpty("No matching items", "Try a different query?")
86 | wf.SendFeedback()
87 | }
88 |
89 | return nil
90 | }
91 |
--------------------------------------------------------------------------------
/birthday/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | aw "github.com/deanishe/awgo"
5 | )
6 |
7 | var (
8 | wf *aw.Workflow
9 | )
10 |
11 | func init() {
12 | wf = aw.New()
13 | }
14 |
15 | func run() {
16 | getBirthday()
17 | }
18 |
19 | func main() {
20 | wf.Run(run)
21 | }
22 |
--------------------------------------------------------------------------------
/birthday/modd.conf:
--------------------------------------------------------------------------------
1 | **/*.go {
2 | prep: alfred build
3 | }
4 |
--------------------------------------------------------------------------------
/birthday/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/birthday/workflow/icon.png
--------------------------------------------------------------------------------
/birthday/workflow/icons/update-available.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/birthday/workflow/icons/update-available.png
--------------------------------------------------------------------------------
/birthday/workflow/icons/update.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/birthday/workflow/icons/update.png
--------------------------------------------------------------------------------
/birthday/workflow/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | bundleid
6 | nikivi.birthday
7 | category
8 | Mine
9 | connections
10 |
11 | AB356A8B-95DA-4C03-9C4E-508015EF3A27
12 |
13 |
14 | destinationuid
15 | EA32160F-6A33-4317-9262-D5BD565E6F46
16 | modifiers
17 | 0
18 | modifiersubtext
19 |
20 | vitoclose
21 |
22 |
23 |
24 | EA32160F-6A33-4317-9262-D5BD565E6F46
25 |
26 |
27 | createdby
28 | Nikita Voloboev
29 | description
30 | See time passed since your birthday
31 | disabled
32 |
33 | name
34 | Time
35 | objects
36 |
37 |
38 | config
39 |
40 | triggerid
41 | show age
42 |
43 | type
44 | alfred.workflow.trigger.external
45 | uid
46 | AB356A8B-95DA-4C03-9C4E-508015EF3A27
47 | version
48 | 1
49 |
50 |
51 | config
52 |
53 | alfredfiltersresults
54 |
55 | alfredfiltersresultsmatchmode
56 | 0
57 | argumenttreatemptyqueryasnil
58 |
59 | argumenttrimmode
60 | 0
61 | argumenttype
62 | 1
63 | escaping
64 | 102
65 | keyword
66 | age
67 | queuedelaycustom
68 | 3
69 | queuedelayimmediatelyinitially
70 |
71 | queuedelaymode
72 | 0
73 | queuemode
74 | 1
75 | runningsubtext
76 | Loading...
77 | script
78 | ./birthday "$1"
79 | scriptargtype
80 | 1
81 | scriptfile
82 |
83 | subtext
84 | Time passed since your birthday
85 | title
86 | Age
87 | type
88 | 0
89 | withspace
90 |
91 |
92 | type
93 | alfred.workflow.input.scriptfilter
94 | uid
95 | EA32160F-6A33-4317-9262-D5BD565E6F46
96 | version
97 | 3
98 |
99 |
100 | config
101 |
102 | concurrently
103 |
104 | escaping
105 | 0
106 | script
107 | # THESE VARIABLES MUST BE SET. SEE THE ONEUPDATER README FOR AN EXPLANATION OF EACH.
108 | readonly remote_info_plist="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/birthday/workflow/info.plist"
109 | readonly workflow_url="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/birthday/Birthday.alfredworkflow"
110 | readonly download_type='direct'
111 | readonly frequency_check='7'
112 |
113 | # FROM HERE ON, CODE SHOULD BE LEFT UNTOUCHED!
114 | function abort {
115 | echo "${1}" >&2
116 | exit 1
117 | }
118 |
119 | function url_exists {
120 | curl --silent --location --output /dev/null --fail --range 0-0 "${1}"
121 | }
122 |
123 | function notification {
124 | readonly local notificator="$(find . -type d -name 'Notificator.app')"
125 | if [[ -n "${notificator}" ]]; then
126 | "${notificator}/Contents/Resources/Scripts/notificator" --message "${1}" --title "${alfred_workflow_name}" --subtitle 'A new version is available'
127 | return
128 | fi
129 |
130 | readonly local terminal_notifier="$(find . -type f -name 'terminal-notifier')"
131 | if [[ -n "${terminal_notifier}" ]]; then
132 | "${terminal_notifier}" -title "${alfred_workflow_name}" -subtitle 'A new version is available' -message "${1}"
133 | return
134 | fi
135 |
136 | osascript -e "display notification \"${1}\" with title \"${alfred_workflow_name}\" subtitle \"A new version is available\""
137 | }
138 |
139 | # Local sanity checks
140 | readonly local_info_plist='info.plist'
141 | readonly local_version="$(/usr/libexec/PlistBuddy -c 'print version' "${local_info_plist}")"
142 |
143 | [[ -n "${local_version}" ]] || abort 'You need to set a workflow version in the configuration sheet.'
144 | [[ "${download_type}" =~ ^(direct|page|github_release)$ ]] || abort "'download_type' (${download_type}) needs to be one of 'direct', 'page', or 'github_release'."
145 | [[ "${frequency_check}" =~ ^[0-9]+$ ]] || abort "'frequency_check' (${frequency_check}) needs to be a number."
146 |
147 | # Check for updates
148 | if [[ $(find "${local_info_plist}" -mtime +"${frequency_check}"d) ]]; then
149 | if ! url_exists "${remote_info_plist}"; then abort "'remote_info_plist' (${remote_info_plist}) appears to not be reachable."; fi # Remote sanity check
150 |
151 | readonly tmp_file="$(mktemp)"
152 | curl --silent --location --output "${tmp_file}" "${remote_info_plist}"
153 | readonly remote_version="$(/usr/libexec/PlistBuddy -c 'print version' "${tmp_file}")"
154 |
155 | if [[ "${local_version}" == "${remote_version}" ]]; then
156 | touch "${local_info_plist}" # Reset timer by touching local file
157 | exit 0
158 | fi
159 |
160 | if [[ "${download_type}" == 'page' ]]; then
161 | notification 'Opening download page…'
162 | open "${workflow_url}"
163 | exit 0
164 | fi
165 |
166 | download_url="$([[ "${download_type}" == 'github_release' ]] && curl --silent "https://api.github.com/repos/${workflow_url}/releases/latest" | grep 'browser_download_url' | head -1 | sed -E 's/.*browser_download_url": "(.*)"/\1/' || echo "${workflow_url}")"
167 |
168 | if url_exists "${download_url}"; then
169 | notification 'Downloading and installing…'
170 | curl --silent --location --output "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow" "${download_url}"
171 | open "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow"
172 | else
173 | abort "'workflow_url' (${download_url}) appears to not be reachable."
174 | fi
175 | fi
176 | scriptargtype
177 | 1
178 | scriptfile
179 |
180 | type
181 | 0
182 |
183 | type
184 | alfred.workflow.action.script
185 | uid
186 | 81156AF5-AC9D-44E9-ACA7-B55BB757E720
187 | version
188 | 2
189 |
190 |
191 | config
192 |
193 | alfredfiltersresults
194 |
195 | alfredfiltersresultsmatchmode
196 | 0
197 | argumenttreatemptyqueryasnil
198 |
199 | argumenttrimmode
200 | 0
201 | argumenttype
202 | 1
203 | escaping
204 | 102
205 | keyword
206 | until
207 | queuedelaycustom
208 | 3
209 | queuedelayimmediatelyinitially
210 |
211 | queuedelaymode
212 | 0
213 | queuemode
214 | 1
215 | runningsubtext
216 | Loading...
217 | script
218 | ./birthday "$1"
219 | scriptargtype
220 | 1
221 | scriptfile
222 |
223 | subtext
224 | Time until end of week/month/year
225 | title
226 | Until
227 | type
228 | 0
229 | withspace
230 |
231 |
232 | type
233 | alfred.workflow.input.scriptfilter
234 | uid
235 | FC05A1F2-7AE8-4CE5-AEBF-BA1AE30EA932
236 | version
237 | 3
238 |
239 |
240 | readme
241 | You have to enter Date of Birth as variable in the right panel.
242 |
243 | i.e. `12/04/1995`
244 |
245 | ----------------------------------------------------------------
246 |
247 | Details on how to use this workflow are found in the GitHub repo attached to the workflow.
248 |
249 | Double click this workflow in sidebar -> Open website.
250 |
251 | Post any issues and feature requests you have there. 💜
252 | uidata
253 |
254 | 81156AF5-AC9D-44E9-ACA7-B55BB757E720
255 |
256 | colorindex
257 | 12
258 | note
259 | OneUpdater
260 | xpos
261 | 350
262 | ypos
263 | 30
264 |
265 | AB356A8B-95DA-4C03-9C4E-508015EF3A27
266 |
267 | xpos
268 | 10
269 | ypos
270 | 30
271 |
272 | EA32160F-6A33-4317-9262-D5BD565E6F46
273 |
274 | note
275 | Time passed since your birthday
276 | xpos
277 | 170
278 | ypos
279 | 30
280 |
281 | FC05A1F2-7AE8-4CE5-AEBF-BA1AE30EA932
282 |
283 | note
284 | Time until end of week/month/year
285 | xpos
286 | 175
287 | ypos
288 | 280
289 |
290 |
291 | variables
292 |
293 | Date of Birth (DD/MM/YYYY)
294 | 12/04/1995
295 |
296 | variablesdontexport
297 |
298 | Date of Birth (DD/MM/YYYY)
299 |
300 | version
301 | 1.7
302 | webaddress
303 | https://github.com/nikitavoloboev/small-workflows/blob/master/birthday
304 |
305 |
306 |
--------------------------------------------------------------------------------
/clean-folders/Clean folders.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/clean-folders/Clean folders.alfredworkflow
--------------------------------------------------------------------------------
/clean-folders/readme.md:
--------------------------------------------------------------------------------
1 | # Clean Folders - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/clean-folders/Clean%20folders.alfredworkflow?raw=true)
2 |
3 | > Trash items from Desktop and clean certain folders.
4 |
5 | 
6 |
7 | ## Contributing
8 |
9 | See [contribution guidelines](../contributing.md).
10 |
--------------------------------------------------------------------------------
/clean-folders/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/clean-folders/workflow/icon.png
--------------------------------------------------------------------------------
/clean-folders/workflow/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | bundleid
6 | nikivi.clean.folders
7 | category
8 | Mine
9 | connections
10 |
11 | 155ED3E5-4396-4B1B-BE88-90F3D55FC861
12 |
13 |
14 | destinationuid
15 | 73CA7F02-2273-405C-9D47-726815AA4385
16 | modifiers
17 | 0
18 | modifiersubtext
19 |
20 | vitoclose
21 |
22 |
23 |
24 | 3D5EFEB3-5C3E-49F3-9AB0-B6BEA80EDEAE
25 |
26 |
27 | destinationuid
28 | D0F37795-89B0-4B61-9E16-CB75D7A0F6A4
29 | modifiers
30 | 0
31 | modifiersubtext
32 |
33 | vitoclose
34 |
35 |
36 |
37 | 42736838-B89C-45EB-8076-8BCB6F44C6CE
38 |
39 |
40 | destinationuid
41 | D0F37795-89B0-4B61-9E16-CB75D7A0F6A4
42 | modifiers
43 | 0
44 | modifiersubtext
45 |
46 | vitoclose
47 |
48 |
49 |
50 | 5057395B-BBF8-4DC5-B5A2-654FA359196D
51 |
52 |
53 | destinationuid
54 | 42736838-B89C-45EB-8076-8BCB6F44C6CE
55 | modifiers
56 | 0
57 | modifiersubtext
58 |
59 | vitoclose
60 |
61 |
62 |
63 | 73CA7F02-2273-405C-9D47-726815AA4385
64 |
65 |
66 | destinationuid
67 | 3D5EFEB3-5C3E-49F3-9AB0-B6BEA80EDEAE
68 | modifiers
69 | 0
70 | modifiersubtext
71 |
72 | vitoclose
73 |
74 |
75 |
76 | D0F37795-89B0-4B61-9E16-CB75D7A0F6A4
77 |
78 | D46423F8-CE62-4912-A854-DBCC0741CF03
79 |
80 |
81 | destinationuid
82 | 5057395B-BBF8-4DC5-B5A2-654FA359196D
83 | modifiers
84 | 0
85 | modifiersubtext
86 |
87 | vitoclose
88 |
89 |
90 |
91 | DD6E7B84-2E1C-4DD1-8D5D-6385A774266D
92 |
93 |
94 | destinationuid
95 | 5057395B-BBF8-4DC5-B5A2-654FA359196D
96 | modifiers
97 | 0
98 | modifiersubtext
99 |
100 | vitoclose
101 |
102 |
103 |
104 |
105 | createdby
106 | Nikita Voloboev
107 | description
108 | Trash items from Desktop and clean certain folders like removing .alfredworkflows from ~/Downloads
109 | disabled
110 |
111 | name
112 | Clean folders
113 | objects
114 |
115 |
116 | config
117 |
118 | argumenttrimmode
119 | 0
120 | argumenttype
121 | 1
122 | fixedorder
123 |
124 | items
125 | [{"title":"Downloads (Alfred workflows)","arg":"~\/Downloads\/*.alfredworkflow"},{"title":"Downloads (KM macros)","arg":"~\/Downloads\/*.kmmacros"}]
126 | keyword
127 | clean
128 | runningsubtext
129 |
130 | subtext
131 | Things inside () shows what will be trashed
132 | title
133 | Clean folders of things
134 | withspace
135 |
136 |
137 | type
138 | alfred.workflow.input.listfilter
139 | uid
140 | 73CA7F02-2273-405C-9D47-726815AA4385
141 | version
142 | 1
143 |
144 |
145 | config
146 |
147 | concurrently
148 |
149 | escaping
150 | 102
151 | script
152 | mv {query} ~/.Trash
153 | scriptargtype
154 | 0
155 | scriptfile
156 |
157 | type
158 | 0
159 |
160 | type
161 | alfred.workflow.action.script
162 | uid
163 | 3D5EFEB3-5C3E-49F3-9AB0-B6BEA80EDEAE
164 | version
165 | 2
166 |
167 |
168 | config
169 |
170 | triggerid
171 | clean folders
172 |
173 | type
174 | alfred.workflow.trigger.external
175 | uid
176 | 155ED3E5-4396-4B1B-BE88-90F3D55FC861
177 | version
178 | 1
179 |
180 |
181 | config
182 |
183 | concurrently
184 |
185 | escaping
186 | 0
187 | script
188 | # THESE VARIABLES MUST BE SET. SEE THE ONEUPDATER README FOR AN EXPLANATION OF EACH.
189 | readonly remote_info_plist="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/clean-folders/workflow/info.plist"
190 | readonly workflow_url="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/clean-folders/Clean%20folders.alfredworkflow"
191 | readonly download_type='direct'
192 | readonly frequency_check='7'
193 |
194 | # FROM HERE ON, CODE SHOULD BE LEFT UNTOUCHED!
195 | function abort {
196 | echo "${1}" >&2
197 | exit 1
198 | }
199 |
200 | function url_exists {
201 | curl --silent --location --output /dev/null --fail --range 0-0 "${1}"
202 | }
203 |
204 | function notification {
205 | readonly local notificator="$(find . -type d -name 'Notificator.app')"
206 | if [[ -n "${notificator}" ]]; then
207 | "${notificator}/Contents/Resources/Scripts/notificator" --message "${1}" --title "${alfred_workflow_name}" --subtitle 'A new version is available'
208 | return
209 | fi
210 |
211 | readonly local terminal_notifier="$(find . -type f -name 'terminal-notifier')"
212 | if [[ -n "${terminal_notifier}" ]]; then
213 | "${terminal_notifier}" -title "${alfred_workflow_name}" -subtitle 'A new version is available' -message "${1}"
214 | return
215 | fi
216 |
217 | osascript -e "display notification \"${1}\" with title \"${alfred_workflow_name}\" subtitle \"A new version is available\""
218 | }
219 |
220 | # Local sanity checks
221 | readonly local_info_plist='info.plist'
222 | readonly local_version="$(/usr/libexec/PlistBuddy -c 'print version' "${local_info_plist}")"
223 |
224 | [[ -n "${local_version}" ]] || abort 'You need to set a workflow version in the configuration sheet.'
225 | [[ "${download_type}" =~ ^(direct|page|github_release)$ ]] || abort "'download_type' (${download_type}) needs to be one of 'direct', 'page', or 'github_release'."
226 | [[ "${frequency_check}" =~ ^[0-9]+$ ]] || abort "'frequency_check' (${frequency_check}) needs to be a number."
227 |
228 | # Check for updates
229 | if [[ $(find "${local_info_plist}" -mtime +"${frequency_check}"d) ]]; then
230 | if ! url_exists "${remote_info_plist}"; then abort "'remote_info_plist' (${remote_info_plist}) appears to not be reachable."; fi # Remote sanity check
231 |
232 | readonly tmp_file="$(mktemp)"
233 | curl --silent --location --output "${tmp_file}" "${remote_info_plist}"
234 | readonly remote_version="$(/usr/libexec/PlistBuddy -c 'print version' "${tmp_file}")"
235 |
236 | if [[ "${local_version}" == "${remote_version}" ]]; then
237 | touch "${local_info_plist}" # Reset timer by touching local file
238 | exit 0
239 | fi
240 |
241 | if [[ "${download_type}" == 'page' ]]; then
242 | notification 'Opening download page…'
243 | open "${workflow_url}"
244 | exit 0
245 | fi
246 |
247 | download_url="$([[ "${download_type}" == 'github_release' ]] && curl --silent "https://api.github.com/repos/${workflow_url}/releases/latest" | grep 'browser_download_url' | head -1 | sed -E 's/.*browser_download_url": "(.*)"/\1/' || echo "${workflow_url}")"
248 |
249 | if url_exists "${download_url}"; then
250 | notification 'Downloading and installing…'
251 | curl --silent --location --output "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow" "${download_url}"
252 | open "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow"
253 | else
254 | abort "'workflow_url' (${download_url}) appears to not be reachable."
255 | fi
256 | fi
257 | scriptargtype
258 | 1
259 | scriptfile
260 |
261 | type
262 | 0
263 |
264 | type
265 | alfred.workflow.action.script
266 | uid
267 | A498E0E7-C6B7-4E93-9898-83DFED65F521
268 | version
269 | 2
270 |
271 |
272 | type
273 | alfred.workflow.utility.junction
274 | uid
275 | D0F37795-89B0-4B61-9E16-CB75D7A0F6A4
276 | version
277 | 1
278 |
279 |
280 | config
281 |
282 | triggerid
283 | trash desktop
284 |
285 | type
286 | alfred.workflow.trigger.external
287 | uid
288 | D46423F8-CE62-4912-A854-DBCC0741CF03
289 | version
290 | 1
291 |
292 |
293 | config
294 |
295 | concurrently
296 |
297 | escaping
298 | 102
299 | script
300 | mv ~/Desktop/* ~/.Trash
301 | scriptargtype
302 | 1
303 | scriptfile
304 |
305 | type
306 | 5
307 |
308 | type
309 | alfred.workflow.action.script
310 | uid
311 | 5057395B-BBF8-4DC5-B5A2-654FA359196D
312 | version
313 | 2
314 |
315 |
316 | config
317 |
318 | lastpathcomponent
319 |
320 | onlyshowifquerypopulated
321 |
322 | removeextension
323 |
324 | text
325 |
326 | title
327 | Emptied ~/Desktop
328 |
329 | type
330 | alfred.workflow.output.notification
331 | uid
332 | 42736838-B89C-45EB-8076-8BCB6F44C6CE
333 | version
334 | 1
335 |
336 |
337 | config
338 |
339 | argumenttype
340 | 2
341 | keyword
342 | trashdesk
343 | subtext
344 |
345 | text
346 | Trash everything inside ~/Desktop
347 | withspace
348 |
349 |
350 | type
351 | alfred.workflow.input.keyword
352 | uid
353 | DD6E7B84-2E1C-4DD1-8D5D-6385A774266D
354 | version
355 | 1
356 |
357 |
358 | readme
359 | Details on how to use this workflow are found in the GitHub repo attached to the workflow.
360 |
361 | Double click this workflow in sidebar -> Open website.
362 |
363 | Post any issues and feature requests you have there. 💜
364 | uidata
365 |
366 | 155ED3E5-4396-4B1B-BE88-90F3D55FC861
367 |
368 | xpos
369 | 10
370 | ypos
371 | 60
372 |
373 | 3D5EFEB3-5C3E-49F3-9AB0-B6BEA80EDEAE
374 |
375 | xpos
376 | 350
377 | ypos
378 | 60
379 |
380 | 42736838-B89C-45EB-8076-8BCB6F44C6CE
381 |
382 | xpos
383 | 370
384 | ypos
385 | 350
386 |
387 | 5057395B-BBF8-4DC5-B5A2-654FA359196D
388 |
389 | note
390 | Trash Desktop
391 | xpos
392 | 200
393 | ypos
394 | 350
395 |
396 | 73CA7F02-2273-405C-9D47-726815AA4385
397 |
398 | note
399 | Clean folders
400 | xpos
401 | 190
402 | ypos
403 | 60
404 |
405 | A498E0E7-C6B7-4E93-9898-83DFED65F521
406 |
407 | colorindex
408 | 12
409 | note
410 | OneUpdater
411 | xpos
412 | 660
413 | ypos
414 | 190
415 |
416 | D0F37795-89B0-4B61-9E16-CB75D7A0F6A4
417 |
418 | xpos
419 | 550
420 | ypos
421 | 220
422 |
423 | D46423F8-CE62-4912-A854-DBCC0741CF03
424 |
425 | xpos
426 | 10
427 | ypos
428 | 300
429 |
430 | DD6E7B84-2E1C-4DD1-8D5D-6385A774266D
431 |
432 | xpos
433 | 10
434 | ypos
435 | 420
436 |
437 |
438 | version
439 | 2.4
440 | webaddress
441 | https://github.com/nikitavoloboev/small-workflows/blob/master/clean-folders
442 |
443 |
444 |
--------------------------------------------------------------------------------
/dropbox-upload/Dropbox Upload.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/dropbox-upload/Dropbox Upload.alfredworkflow
--------------------------------------------------------------------------------
/dropbox-upload/README.md:
--------------------------------------------------------------------------------
1 | # Dropbox Upload - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/birthday/Dropbox%20upload.alfredworkflow?raw=true)
2 |
3 | > Upload and share files with Dropbox
4 |
5 | To use this workflow, you need to first install [Dropbox Uploader script](https://github.com/andreafabrizi/Dropbox-Uploader/blob/master/dropbox_uploader.sh).
6 |
7 | I put this script inside `~/Dropbox` named `upload.sh`.
8 |
9 | I then designated another folder `~/Dropbox/Shares` as a place where I put all the files I want to share with Dropbox. This workflow **assumes this structure** and **won't work** if you don't have the [above script](https://github.com/andreafabrizi/Dropbox-Uploader/blob/master/dropbox_uploader.sh) inside `Scripts` dir with name `upload.sh` and if you don't have the `Shares` folder too. Of course you can change all of this and find a structure that works for you if you wish. I just share what I am using myself.
10 |
11 | Inside the workflow there are 2 things. First, there is a file action that will take the given file, then put it inside `~/Dropbox/Shares`, then share the file and give you a downloadable link of the file in clipboard.
12 |
13 | The second is a script filter that will filter through the contents of `~/Dropbox/Shares` and on enter will give you a downloadable link to the file. You can also delete the file from the directory and Dropbox with a modifier key press.
14 |
15 | ## Contributing
16 |
17 | See [contribution guidelines](../contributing.md).
18 |
--------------------------------------------------------------------------------
/dropbox-upload/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/dropbox-upload/workflow/icon.png
--------------------------------------------------------------------------------
/file-actions/File actions.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/File actions.alfredworkflow
--------------------------------------------------------------------------------
/file-actions/readme.md:
--------------------------------------------------------------------------------
1 | # File Actions - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/file-actions/File%20actions.alfredworkflow?raw=true)
2 |
3 | > Various file actions I made to operate on files and folders.
4 |
5 | 
6 |
7 | Many actions I copied from [Alfred Browser Toolbox](http://customct.com/alfred-2-workflows) as that workflow whilst awesome had too many things I did not need.
8 |
9 | ## Contributing
10 |
11 | See [contribution guidelines](../contributing.md).
12 |
--------------------------------------------------------------------------------
/file-actions/workflow/05C183C4-C1D8-4B1C-975A-A499D399AAED.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/05C183C4-C1D8-4B1C-975A-A499D399AAED.png
--------------------------------------------------------------------------------
/file-actions/workflow/0941FA29-8416-4289-A6B8-4165625D4A55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/0941FA29-8416-4289-A6B8-4165625D4A55.png
--------------------------------------------------------------------------------
/file-actions/workflow/210C0038-86C7-4781-9F6E-5A81F859E877.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/210C0038-86C7-4781-9F6E-5A81F859E877.png
--------------------------------------------------------------------------------
/file-actions/workflow/2BD3A8BE-D9BA-4B12-948C-E2632F3D67ED.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/2BD3A8BE-D9BA-4B12-948C-E2632F3D67ED.png
--------------------------------------------------------------------------------
/file-actions/workflow/3A020D59-FE40-4328-A767-B5725A876915.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/3A020D59-FE40-4328-A767-B5725A876915.png
--------------------------------------------------------------------------------
/file-actions/workflow/474B26D3-4450-49AC-A7C4-C9D71DDD76E1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/474B26D3-4450-49AC-A7C4-C9D71DDD76E1.png
--------------------------------------------------------------------------------
/file-actions/workflow/57AB6F96-9189-4E21-8E77-3D27FA388664.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/57AB6F96-9189-4E21-8E77-3D27FA388664.png
--------------------------------------------------------------------------------
/file-actions/workflow/5D838964-73AF-474B-BD3D-F69814EDB761.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/5D838964-73AF-474B-BD3D-F69814EDB761.png
--------------------------------------------------------------------------------
/file-actions/workflow/80A02279-4EB1-4B30-BA7F-D41C31EE28BD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/80A02279-4EB1-4B30-BA7F-D41C31EE28BD.png
--------------------------------------------------------------------------------
/file-actions/workflow/8429A703-7734-4224-9EA0-81AE424B57FC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/8429A703-7734-4224-9EA0-81AE424B57FC.png
--------------------------------------------------------------------------------
/file-actions/workflow/892D04AB-DEDD-4956-ABB6-32A828F4900B.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/892D04AB-DEDD-4956-ABB6-32A828F4900B.png
--------------------------------------------------------------------------------
/file-actions/workflow/95CE1AA4-AFB9-486F-BA43-359EE4BCFE98.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/95CE1AA4-AFB9-486F-BA43-359EE4BCFE98.png
--------------------------------------------------------------------------------
/file-actions/workflow/973E95B3-0ADF-442D-8CBE-EB91FA2ED3A7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/973E95B3-0ADF-442D-8CBE-EB91FA2ED3A7.png
--------------------------------------------------------------------------------
/file-actions/workflow/A409F4C0-E91C-475F-B62C-754FCBCE18A8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/A409F4C0-E91C-475F-B62C-754FCBCE18A8.png
--------------------------------------------------------------------------------
/file-actions/workflow/B27EECE8-761E-4804-9306-2D597B6FD49C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/B27EECE8-761E-4804-9306-2D597B6FD49C.png
--------------------------------------------------------------------------------
/file-actions/workflow/B4CED3D9-C478-45AE-BB69-339ECF6468A9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/B4CED3D9-C478-45AE-BB69-339ECF6468A9.png
--------------------------------------------------------------------------------
/file-actions/workflow/C8CF626A-8D5A-4D55-8AB8-E0B87BD656A3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/C8CF626A-8D5A-4D55-8AB8-E0B87BD656A3.png
--------------------------------------------------------------------------------
/file-actions/workflow/CA7377D2-2480-45DD-A0E4-1AAB5F4A910A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/CA7377D2-2480-45DD-A0E4-1AAB5F4A910A.png
--------------------------------------------------------------------------------
/file-actions/workflow/CEEED62C-6361-4AE4-A89B-80D0EC11AA6A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/CEEED62C-6361-4AE4-A89B-80D0EC11AA6A.png
--------------------------------------------------------------------------------
/file-actions/workflow/E074972D-2A62-407B-9472-B5C9CECEAE05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/E074972D-2A62-407B-9472-B5C9CECEAE05.png
--------------------------------------------------------------------------------
/file-actions/workflow/E8D01873-DECE-4575-B35F-2048329D0B42.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/E8D01873-DECE-4575-B35F-2048329D0B42.png
--------------------------------------------------------------------------------
/file-actions/workflow/EC932FFD-E3FD-462E-BB1C-8848A0D80471.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/EC932FFD-E3FD-462E-BB1C-8848A0D80471.png
--------------------------------------------------------------------------------
/file-actions/workflow/FFBA68A2-E374-4725-9573-7B9A290E14D1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/FFBA68A2-E374-4725-9573-7B9A290E14D1.png
--------------------------------------------------------------------------------
/file-actions/workflow/getFilePath.scpt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/getFilePath.scpt
--------------------------------------------------------------------------------
/file-actions/workflow/getFilePathjs.scpt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/getFilePathjs.scpt
--------------------------------------------------------------------------------
/file-actions/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/file-actions/workflow/icon.png
--------------------------------------------------------------------------------
/focus/Focus.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/focus/Focus.alfredworkflow
--------------------------------------------------------------------------------
/focus/README.md:
--------------------------------------------------------------------------------
1 | # Focus - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/focus/Focus.alfredworkflow?raw=true)
2 |
3 | > Start [Focus](https://heyfocus.com) blocking for some time that you specify.
4 |
5 | 
6 |
7 | ## Contributing
8 |
9 | See [contribution guidelines](../contributing.md).
10 |
--------------------------------------------------------------------------------
/focus/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/focus/workflow/icon.png
--------------------------------------------------------------------------------
/focus/workflow/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | bundleid
6 | nikivi.block.websites
7 | category
8 | Mine
9 | connections
10 |
11 | 44369872-5E47-44C9-8556-8AA941F51BC6
12 |
13 |
14 | destinationuid
15 | 593A7218-EA63-4807-92B5-62977944BB5C
16 | modifiers
17 | 0
18 | modifiersubtext
19 |
20 | vitoclose
21 |
22 |
23 |
24 | 593A7218-EA63-4807-92B5-62977944BB5C
25 |
26 | DA16BA53-317D-4790-986C-9FDA6903A436
27 |
28 |
29 | destinationuid
30 | 4BC60BC5-7DB4-4603-941E-1AF131D5C534
31 | modifiers
32 | 0
33 | modifiersubtext
34 |
35 | vitoclose
36 |
37 |
38 |
39 | DC4D64CD-8E80-440E-93E6-39ECDF9B9A67
40 |
41 |
42 | destinationuid
43 | 44369872-5E47-44C9-8556-8AA941F51BC6
44 | modifiers
45 | 0
46 | modifiersubtext
47 |
48 | vitoclose
49 |
50 |
51 |
52 | E98490E1-AD11-4855-86EC-56DA98B100EF
53 |
54 |
55 | destinationuid
56 | 3A9730A7-3CF3-437E-8CC8-CD994A15B2F9
57 | modifiers
58 | 0
59 | modifiersubtext
60 |
61 | vitoclose
62 |
63 |
64 |
65 |
66 | createdby
67 | Nikita Voloboev
68 | description
69 | Start Focus blocking for some time that you specify.
70 | disabled
71 |
72 | name
73 | Focus
74 | objects
75 |
76 |
77 | config
78 |
79 | triggerid
80 | focus
81 |
82 | type
83 | alfred.workflow.trigger.external
84 | uid
85 | DC4D64CD-8E80-440E-93E6-39ECDF9B9A67
86 | version
87 | 1
88 |
89 |
90 | config
91 |
92 | concurrently
93 |
94 | escaping
95 | 0
96 | script
97 | # THESE VARIABLES MUST BE SET. SEE THE ONEUPDATER README FOR AN EXPLANATION OF EACH.
98 | readonly remote_info_plist="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/focus/workflow/info.plist"
99 | readonly workflow_url="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/focus/Focus.alfredworkflow"
100 | readonly download_type='direct'
101 | readonly frequency_check='7'
102 |
103 | # FROM HERE ON, CODE SHOULD BE LEFT UNTOUCHED!
104 | function abort {
105 | echo "${1}" >&2
106 | exit 1
107 | }
108 |
109 | function url_exists {
110 | curl --silent --location --output /dev/null --fail --range 0-0 "${1}"
111 | }
112 |
113 | function notification {
114 | readonly local notificator="$(find . -type d -name 'Notificator.app')"
115 | if [[ -n "${notificator}" ]]; then
116 | "${notificator}/Contents/Resources/Scripts/notificator" --message "${1}" --title "${alfred_workflow_name}" --subtitle 'A new version is available'
117 | return
118 | fi
119 |
120 | readonly local terminal_notifier="$(find . -type f -name 'terminal-notifier')"
121 | if [[ -n "${terminal_notifier}" ]]; then
122 | "${terminal_notifier}" -title "${alfred_workflow_name}" -subtitle 'A new version is available' -message "${1}"
123 | return
124 | fi
125 |
126 | osascript -e "display notification \"${1}\" with title \"${alfred_workflow_name}\" subtitle \"A new version is available\""
127 | }
128 |
129 | # Local sanity checks
130 | readonly local_info_plist='info.plist'
131 | readonly local_version="$(/usr/libexec/PlistBuddy -c 'print version' "${local_info_plist}")"
132 |
133 | [[ -n "${local_version}" ]] || abort 'You need to set a workflow version in the configuration sheet.'
134 | [[ "${download_type}" =~ ^(direct|page|github_release)$ ]] || abort "'download_type' (${download_type}) needs to be one of 'direct', 'page', or 'github_release'."
135 | [[ "${frequency_check}" =~ ^[0-9]+$ ]] || abort "'frequency_check' (${frequency_check}) needs to be a number."
136 |
137 | # Check for updates
138 | if [[ $(find "${local_info_plist}" -mtime +"${frequency_check}"d) ]]; then
139 | if ! url_exists "${remote_info_plist}"; then abort "'remote_info_plist' (${remote_info_plist}) appears to not be reachable."; fi # Remote sanity check
140 |
141 | readonly tmp_file="$(mktemp)"
142 | curl --silent --location --output "${tmp_file}" "${remote_info_plist}"
143 | readonly remote_version="$(/usr/libexec/PlistBuddy -c 'print version' "${tmp_file}")"
144 |
145 | if [[ "${local_version}" == "${remote_version}" ]]; then
146 | touch "${local_info_plist}" # Reset timer by touching local file
147 | exit 0
148 | fi
149 |
150 | if [[ "${download_type}" == 'page' ]]; then
151 | notification 'Opening download page…'
152 | open "${workflow_url}"
153 | exit 0
154 | fi
155 |
156 | download_url="$([[ "${download_type}" == 'github_release' ]] && curl --silent "https://api.github.com/repos/${workflow_url}/releases/latest" | grep 'browser_download_url' | head -1 | sed -E 's/.*browser_download_url": "(.*)"/\1/' || echo "${workflow_url}")"
157 |
158 | if url_exists "${download_url}"; then
159 | notification 'Downloading and installing…'
160 | curl --silent --location --output "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow" "${download_url}"
161 | open "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow"
162 | else
163 | abort "'workflow_url' (${download_url}) appears to not be reachable."
164 | fi
165 | fi
166 | scriptargtype
167 | 1
168 | scriptfile
169 |
170 | type
171 | 0
172 |
173 | type
174 | alfred.workflow.action.script
175 | uid
176 | DFF78986-22C5-4BA5-B239-F70B8DD1B486
177 | version
178 | 2
179 |
180 |
181 | config
182 |
183 | argumenttype
184 | 0
185 | keyword
186 | focus
187 | subtext
188 |
189 | text
190 | Focus for {query} minutes
191 | withspace
192 |
193 |
194 | type
195 | alfred.workflow.input.keyword
196 | uid
197 | 44369872-5E47-44C9-8556-8AA941F51BC6
198 | version
199 | 1
200 |
201 |
202 | config
203 |
204 | concurrently
205 |
206 | escaping
207 | 102
208 | script
209 | open focus://focus?minutes=$1
210 | scriptargtype
211 | 1
212 | scriptfile
213 |
214 | type
215 | 0
216 |
217 | type
218 | alfred.workflow.action.script
219 | uid
220 | 593A7218-EA63-4807-92B5-62977944BB5C
221 | version
222 | 2
223 |
224 |
225 | config
226 |
227 | concurrently
228 |
229 | escaping
230 | 102
231 | script
232 | open focus://preferences
233 | scriptargtype
234 | 1
235 | scriptfile
236 |
237 | type
238 | 0
239 |
240 | type
241 | alfred.workflow.action.script
242 | uid
243 | 3A9730A7-3CF3-437E-8CC8-CD994A15B2F9
244 | version
245 | 2
246 |
247 |
248 | config
249 |
250 | argumenttype
251 | 2
252 | keyword
253 | focus preferences
254 | subtext
255 |
256 | text
257 | Open focus preferences
258 | withspace
259 |
260 |
261 | type
262 | alfred.workflow.input.keyword
263 | uid
264 | E98490E1-AD11-4855-86EC-56DA98B100EF
265 | version
266 | 1
267 |
268 |
269 | config
270 |
271 | argumenttype
272 | 2
273 | keyword
274 | unfocus
275 | subtext
276 |
277 | text
278 | Stop focusing
279 | withspace
280 |
281 |
282 | type
283 | alfred.workflow.input.keyword
284 | uid
285 | DA16BA53-317D-4790-986C-9FDA6903A436
286 | version
287 | 1
288 |
289 |
290 | config
291 |
292 | concurrently
293 |
294 | escaping
295 | 102
296 | script
297 | open focus://unfocus
298 | scriptargtype
299 | 1
300 | scriptfile
301 |
302 | type
303 | 0
304 |
305 | type
306 | alfred.workflow.action.script
307 | uid
308 | 4BC60BC5-7DB4-4603-941E-1AF131D5C534
309 | version
310 | 2
311 |
312 |
313 | readme
314 | Details on how to use this workflow are found in the GitHub repo attached to the workflow.
315 |
316 | Double click this workflow in sidebar -> Open website.
317 |
318 | Post any issues and feature requests you have there. 💜
319 | uidata
320 |
321 | 3A9730A7-3CF3-437E-8CC8-CD994A15B2F9
322 |
323 | xpos
324 | 210
325 | ypos
326 | 190
327 |
328 | 44369872-5E47-44C9-8556-8AA941F51BC6
329 |
330 | note
331 | Enter block mode for the time of minutes specified
332 | xpos
333 | 220
334 | ypos
335 | 10
336 |
337 | 4BC60BC5-7DB4-4603-941E-1AF131D5C534
338 |
339 | xpos
340 | 210
341 | ypos
342 | 335
343 |
344 | 593A7218-EA63-4807-92B5-62977944BB5C
345 |
346 | xpos
347 | 380
348 | ypos
349 | 10
350 |
351 | DA16BA53-317D-4790-986C-9FDA6903A436
352 |
353 | xpos
354 | 40
355 | ypos
356 | 335
357 |
358 | DC4D64CD-8E80-440E-93E6-39ECDF9B9A67
359 |
360 | xpos
361 | 30
362 | ypos
363 | 10
364 |
365 | DFF78986-22C5-4BA5-B239-F70B8DD1B486
366 |
367 | colorindex
368 | 12
369 | note
370 | OneUpdater
371 | xpos
372 | 560
373 | ypos
374 | 10
375 |
376 | E98490E1-AD11-4855-86EC-56DA98B100EF
377 |
378 | xpos
379 | 40
380 | ypos
381 | 190
382 |
383 |
384 | version
385 | 1.4
386 | webaddress
387 | https://github.com/nikitavoloboev/small-workflows/blob/master/focus
388 |
389 |
390 |
--------------------------------------------------------------------------------
/folder-search/Folder search.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/folder-search/Folder search.alfredworkflow
--------------------------------------------------------------------------------
/folder-search/readme.md:
--------------------------------------------------------------------------------
1 | # Folder Search - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/folder-search/Folder%20search.alfredworkflow?raw=true)
2 |
3 | > Search folders from Alfred and open them in Finder/iTerm/Editor.
4 |
5 | You can do many things with modifiers to the folders. By default it will cd to the folder path inside your currently active iTerm tab which saves me a lot of time and makes navigating the file system a dream.
6 |
7 | You can also open the folders in the editors of your choice, for me those editors are Sublime Text and VS Code.
8 |
9 | One of the modifier actions there (⌥ + ⏎) will open the README file inside the editor with an editor you specified (Sublime Text by default). I use this action a lot.
10 |
11 | 
12 |
13 | ## Contributing
14 |
15 | See [contribution guidelines](../contributing.md).
16 |
--------------------------------------------------------------------------------
/folder-search/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/folder-search/workflow/icon.png
--------------------------------------------------------------------------------
/folder-search/workflow/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | bundleid
6 | nikivi.search.folders
7 | category
8 | Mine
9 | connections
10 |
11 | 03377977-4206-4DE4-B59C-45AAD4A0980A
12 |
13 | BEDF7EC9-9327-4967-876A-A6F5F4303055
14 |
15 |
16 | destinationuid
17 | CAD232B5-6B26-4DB8-B878-BD157C8296F0
18 | modifiers
19 | 0
20 | modifiersubtext
21 |
22 | vitoclose
23 |
24 |
25 |
26 | C34E01D2-E55A-4908-8A98-3DE22A77AA48
27 |
28 |
29 | destinationuid
30 | BEDF7EC9-9327-4967-876A-A6F5F4303055
31 | modifiers
32 | 0
33 | modifiersubtext
34 |
35 | vitoclose
36 |
37 |
38 |
39 | CAD232B5-6B26-4DB8-B878-BD157C8296F0
40 |
41 |
42 | destinationuid
43 | 6A4E18A0-FDC8-4BA3-93B0-32B605CC24A9
44 | modifiers
45 | 0
46 | modifiersubtext
47 |
48 | vitoclose
49 |
50 |
51 |
52 | destinationuid
53 | F22A1096-062D-4C05-A1C1-CF8D63389B78
54 | modifiers
55 | 0
56 | modifiersubtext
57 |
58 | vitoclose
59 |
60 |
61 |
62 | destinationuid
63 | E5B51884-A97D-4E15-9321-11A17837DA38
64 | modifiers
65 | 131072
66 | modifiersubtext
67 | cd to folder in new iTerm tab
68 | vitoclose
69 |
70 |
71 |
72 | destinationuid
73 | D066FC2C-E05A-468E-816D-5496289AE4AD
74 | modifiers
75 | 8388608
76 | modifiersubtext
77 | Open in Sublime Text
78 | vitoclose
79 |
80 |
81 |
82 | destinationuid
83 | 03377977-4206-4DE4-B59C-45AAD4A0980A
84 | modifiers
85 | 524288
86 | modifiersubtext
87 | Edit README inside Folder
88 | vitoclose
89 |
90 |
91 |
92 | destinationuid
93 | 71F8D037-965A-4B39-AEF4-480468260C15
94 | modifiers
95 | 262144
96 | modifiersubtext
97 | Trash folder
98 | vitoclose
99 |
100 |
101 |
102 | destinationuid
103 | 27618EAD-E675-43BC-841E-6986EAE4597D
104 | modifiers
105 | 1048576
106 | modifiersubtext
107 | Open in VS Code
108 | vitoclose
109 |
110 |
111 |
112 | F22A1096-062D-4C05-A1C1-CF8D63389B78
113 |
114 |
115 | createdby
116 | Nikita Voloboev
117 | description
118 | Search folders from Alfred and open them in Finder/iTerm/Editor
119 | disabled
120 |
121 | name
122 | Folder search
123 | objects
124 |
125 |
126 | config
127 |
128 | paths
129 |
130 | /Applications/iTerm.app
131 |
132 | toggle
133 |
134 |
135 | type
136 | alfred.workflow.action.launchfiles
137 | uid
138 | 6A4E18A0-FDC8-4BA3-93B0-32B605CC24A9
139 | version
140 | 1
141 |
142 |
143 | config
144 |
145 | concurrently
146 |
147 | escaping
148 | 102
149 | script
150 | tell application "iTerm"
if exists window 1 then
tell current window
tell current session to write text "cd \"{query}\""
end tell
else
create window with default profile
tell current window
tell current session to write text "cd \"{query}\""
end tell
end if
end tell
151 | tell application "System Events"
if frontmost of process "iTerm2" is false then key code 13 using {option down, control down, shift down, command down}
end tell
152 | scriptargtype
153 | 0
154 | scriptfile
155 |
156 | type
157 | 6
158 |
159 | type
160 | alfred.workflow.action.script
161 | uid
162 | F22A1096-062D-4C05-A1C1-CF8D63389B78
163 | version
164 | 2
165 |
166 |
167 | config
168 |
169 | concurrently
170 |
171 | escaping
172 | 0
173 | script
174 | # THESE VARIABLES MUST BE SET. SEE THE ONEUPDATER README FOR AN EXPLANATION OF EACH.
175 | readonly remote_info_plist="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/folder-search/workflow/info.plist"
176 | readonly workflow_url="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/folder-search/Folder%20search.alfredworkflow"
177 | readonly download_type='direct'
178 | readonly frequency_check='10'
179 |
180 | # FROM HERE ON, CODE SHOULD BE LEFT UNTOUCHED!
181 | function abort {
182 | echo "${1}" >&2
183 | exit 1
184 | }
185 |
186 | function url_exists {
187 | curl --silent --location --output /dev/null --fail --range 0-0 "${1}"
188 | }
189 |
190 | function notification {
191 | readonly local notificator="$(find . -type d -name 'Notificator.app')"
192 | if [[ -n "${notificator}" ]]; then
193 | "${notificator}/Contents/Resources/Scripts/notificator" --message "${1}" --title "${alfred_workflow_name}" --subtitle 'A new version is available'
194 | return
195 | fi
196 |
197 | readonly local terminal_notifier="$(find . -type f -name 'terminal-notifier')"
198 | if [[ -n "${terminal_notifier}" ]]; then
199 | "${terminal_notifier}" -title "${alfred_workflow_name}" -subtitle 'A new version is available' -message "${1}"
200 | return
201 | fi
202 |
203 | osascript -e "display notification \"${1}\" with title \"${alfred_workflow_name}\" subtitle \"A new version is available\""
204 | }
205 |
206 | # Local sanity checks
207 | readonly local_info_plist='info.plist'
208 | readonly local_version="$(/usr/libexec/PlistBuddy -c 'print version' "${local_info_plist}")"
209 |
210 | [[ -n "${local_version}" ]] || abort 'You need to set a workflow version in the configuration sheet.'
211 | [[ "${download_type}" =~ ^(direct|page|github_release)$ ]] || abort "'download_type' (${download_type}) needs to be one of 'direct', 'page', or 'github_release'."
212 | [[ "${frequency_check}" =~ ^[0-9]+$ ]] || abort "'frequency_check' (${frequency_check}) needs to be a number."
213 |
214 | # Check for updates
215 | if [[ $(find "${local_info_plist}" -mtime +"${frequency_check}"d) ]]; then
216 | if ! url_exists "${remote_info_plist}"; then abort "'remote_info_plist' (${remote_info_plist}) appears to not be reachable."; fi # Remote sanity check
217 |
218 | readonly tmp_file="$(mktemp)"
219 | curl --silent --location --output "${tmp_file}" "${remote_info_plist}"
220 | readonly remote_version="$(/usr/libexec/PlistBuddy -c 'print version' "${tmp_file}")"
221 |
222 | if [[ "${local_version}" == "${remote_version}" ]]; then
223 | touch "${local_info_plist}" # Reset timer by touching local file
224 | exit 0
225 | fi
226 |
227 | if [[ "${download_type}" == 'page' ]]; then
228 | notification 'Opening download page…'
229 | open "${workflow_url}"
230 | exit 0
231 | fi
232 |
233 | download_url="$([[ "${download_type}" == 'github_release' ]] && curl --silent "https://api.github.com/repos/${workflow_url}/releases/latest" | grep 'browser_download_url' | head -1 | sed -E 's/.*browser_download_url": "(.*)"/\1/' || echo "${workflow_url}")"
234 |
235 | if url_exists "${download_url}"; then
236 | notification 'Downloading and installing…'
237 | curl --silent --location --output "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow" "${download_url}"
238 | open "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow"
239 | else
240 | abort "'workflow_url' (${download_url}) appears to not be reachable."
241 | fi
242 | fi
243 | scriptargtype
244 | 1
245 | scriptfile
246 |
247 | type
248 | 0
249 |
250 | type
251 | alfred.workflow.action.script
252 | uid
253 | 32C1304F-4BF8-43BE-8163-49EE025637F8
254 | version
255 | 2
256 |
257 |
258 | config
259 |
260 | openwith
261 | /Applications/iTerm.app
262 | sourcefile
263 |
264 |
265 | type
266 | alfred.workflow.action.openfile
267 | uid
268 | E5B51884-A97D-4E15-9321-11A17837DA38
269 | version
270 | 3
271 |
272 |
273 | config
274 |
275 | anchorfields
276 |
277 | argumenttrimmode
278 | 0
279 | argumenttype
280 | 0
281 | daterange
282 | 0
283 | fields
284 |
285 |
286 | field
287 | kMDItemDisplayName
288 | not
289 |
290 | split
291 |
292 | value
293 | {query}
294 | words
295 |
296 |
297 |
298 | field
299 | kMDItemAlternateNames
300 | not
301 |
302 | split
303 |
304 | value
305 | {query}
306 | words
307 |
308 |
309 |
310 | field
311 | kMDItemFinderComment
312 | not
313 |
314 | split
315 |
316 | value
317 | {query}
318 | words
319 |
320 |
321 |
322 | includesystem
323 |
324 | keyword
325 | fo
326 | limit
327 | 0
328 | runningsubtext
329 |
330 | scopes
331 |
332 | sortmode
333 | 0
334 | subtext
335 |
336 | title
337 | Search folders
338 | types
339 |
340 | public.folder
341 |
342 | withspace
343 |
344 |
345 | type
346 | alfred.workflow.input.filefilter
347 | uid
348 | CAD232B5-6B26-4DB8-B878-BD157C8296F0
349 | version
350 | 2
351 |
352 |
353 | config
354 |
355 | triggerid
356 | search folders
357 |
358 | type
359 | alfred.workflow.trigger.external
360 | uid
361 | C34E01D2-E55A-4908-8A98-3DE22A77AA48
362 | version
363 | 1
364 |
365 |
366 | config
367 |
368 | json
369 | {
370 | "alfredworkflow" : {
371 | "arg" : "{query}",
372 | "config" : {
373 | "title" : "",
374 | "runningsubtext" : "",
375 | "subtext" : ""
376 | },
377 | "variables" : {
378 | }
379 | }
380 | }
381 |
382 | type
383 | alfred.workflow.utility.json
384 | uid
385 | BEDF7EC9-9327-4967-876A-A6F5F4303055
386 | version
387 | 1
388 |
389 |
390 | config
391 |
392 | openwith
393 | /Applications/Sublime Text.app
394 | sourcefile
395 |
396 |
397 | type
398 | alfred.workflow.action.openfile
399 | uid
400 | D066FC2C-E05A-468E-816D-5496289AE4AD
401 | version
402 | 3
403 |
404 |
405 | config
406 |
407 | concurrently
408 |
409 | escaping
410 | 102
411 | script
412 | cd "$1"
413 | /usr/local/bin/subl README.md
414 | scriptargtype
415 | 1
416 | scriptfile
417 |
418 | type
419 | 5
420 |
421 | type
422 | alfred.workflow.action.script
423 | uid
424 | 03377977-4206-4DE4-B59C-45AAD4A0980A
425 | version
426 | 2
427 |
428 |
429 | config
430 |
431 | concurrently
432 |
433 | escaping
434 | 102
435 | script
436 | mv "$1" ~/.Trash
437 | scriptargtype
438 | 1
439 | scriptfile
440 |
441 | type
442 | 0
443 |
444 | type
445 | alfred.workflow.action.script
446 | uid
447 | 71F8D037-965A-4B39-AEF4-480468260C15
448 | version
449 | 2
450 |
451 |
452 | config
453 |
454 | openwith
455 | /Applications/Visual Studio Code - Insiders.app
456 | sourcefile
457 |
458 |
459 | type
460 | alfred.workflow.action.openfile
461 | uid
462 | 27618EAD-E675-43BC-841E-6986EAE4597D
463 | version
464 | 3
465 |
466 |
467 | readme
468 | Details on how to use this workflow are found in the GitHub repo attached to the workflow.
469 |
470 | Double click this workflow in sidebar -> Open website.
471 |
472 | Post any issues and feature requests you have there. 💜
473 | uidata
474 |
475 | 03377977-4206-4DE4-B59C-45AAD4A0980A
476 |
477 | note
478 | Edit readme of folder
479 | xpos
480 | 565
481 | ypos
482 | 530
483 |
484 | 27618EAD-E675-43BC-841E-6986EAE4597D
485 |
486 | xpos
487 | 565
488 | ypos
489 | 810
490 |
491 | 32C1304F-4BF8-43BE-8163-49EE025637F8
492 |
493 | colorindex
494 | 12
495 | note
496 | OneUpdater
497 | xpos
498 | 765
499 | ypos
500 | 130
501 |
502 | 6A4E18A0-FDC8-4BA3-93B0-32B605CC24A9
503 |
504 | xpos
505 | 565
506 | ypos
507 | 10
508 |
509 | 71F8D037-965A-4B39-AEF4-480468260C15
510 |
511 | note
512 | Trash folder
513 | xpos
514 | 565
515 | ypos
516 | 670
517 |
518 | BEDF7EC9-9327-4967-876A-A6F5F4303055
519 |
520 | xpos
521 | 165
522 | ypos
523 | 330
524 |
525 | C34E01D2-E55A-4908-8A98-3DE22A77AA48
526 |
527 | xpos
528 | 10
529 | ypos
530 | 300
531 |
532 | CAD232B5-6B26-4DB8-B878-BD157C8296F0
533 |
534 | note
535 | Search folders
536 | xpos
537 | 245
538 | ypos
539 | 300
540 |
541 | D066FC2C-E05A-468E-816D-5496289AE4AD
542 |
543 | xpos
544 | 565
545 | ypos
546 | 410
547 |
548 | E5B51884-A97D-4E15-9321-11A17837DA38
549 |
550 | xpos
551 | 565
552 | ypos
553 | 290
554 |
555 | F22A1096-062D-4C05-A1C1-CF8D63389B78
556 |
557 | note
558 | cd to folder in current iTerm tab
559 | xpos
560 | 565
561 | ypos
562 | 130
563 |
564 |
565 | version
566 | 1.5
567 | webaddress
568 | https://github.com/nikitavoloboev/small-workflows/blob/master/folder-search
569 |
570 |
571 |
--------------------------------------------------------------------------------
/go-play/Go Play.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/go-play/Go Play.alfredworkflow
--------------------------------------------------------------------------------
/go-play/readme.md:
--------------------------------------------------------------------------------
1 | # Go play - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/go-play/Go%20Play.alfredworkflow?raw=true)
2 |
3 | > Create [Go Playground](https://play.golang.org) from selected Go code for sharing.
4 |
5 | Can also share to [Go Play Space](https://goplay.space/).
6 |
7 | 
8 |
9 | ## Contributing
10 |
11 | See [contribution guidelines](../contributing.md).
12 |
--------------------------------------------------------------------------------
/go-play/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/go-play/workflow/icon.png
--------------------------------------------------------------------------------
/go-play/workflow/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | bundleid
6 | nikivi.go.play
7 | category
8 | Mine
9 | connections
10 |
11 | 8474618B-7176-421C-B7AB-601B83BAB4F3
12 |
13 | 8A0C6DCE-7A5E-4E1E-B841-576643197943
14 |
15 |
16 | destinationuid
17 | 8474618B-7176-421C-B7AB-601B83BAB4F3
18 | modifiers
19 | 0
20 | modifiersubtext
21 |
22 | vitoclose
23 |
24 |
25 |
26 | B62482BE-F9F8-4E81-BC4F-376931A2EEE9
27 |
28 |
29 | destinationuid
30 | 8A0C6DCE-7A5E-4E1E-B841-576643197943
31 | modifiers
32 | 0
33 | modifiersubtext
34 |
35 | vitoclose
36 |
37 |
38 |
39 | B9409AD1-C53F-48CB-84BB-632CAF2A75CF
40 |
41 |
42 | destinationuid
43 | B62482BE-F9F8-4E81-BC4F-376931A2EEE9
44 | modifiers
45 | 0
46 | modifiersubtext
47 |
48 | vitoclose
49 |
50 |
51 |
52 | EDB86F6C-30F2-4E1A-8F2C-4BD241F5EFD1
53 |
54 |
55 | destinationuid
56 | 8474618B-7176-421C-B7AB-601B83BAB4F3
57 | modifiers
58 | 0
59 | modifiersubtext
60 |
61 | vitoclose
62 |
63 |
64 |
65 |
66 | createdby
67 | Nikita Voloboev
68 | description
69 | Create Go Playground from selected Go code for sharing
70 | disabled
71 |
72 | name
73 | Go Play
74 | objects
75 |
76 |
77 | config
78 |
79 | lastpathcomponent
80 |
81 | onlyshowifquerypopulated
82 |
83 | removeextension
84 |
85 | text
86 |
87 | title
88 | Copied link
89 |
90 | type
91 | alfred.workflow.output.notification
92 | uid
93 | 81E69D82-0504-4F92-A607-C88110E69C64
94 | version
95 | 1
96 |
97 |
98 | config
99 |
100 | action
101 | 0
102 | argument
103 | 1
104 | focusedappvariable
105 |
106 | focusedappvariablename
107 |
108 | hotkey
109 | 41
110 | hotmod
111 | 393216
112 | hotstring
113 | ;
114 | leftcursor
115 |
116 | modsmode
117 | 0
118 | relatedAppsMode
119 | 0
120 |
121 | type
122 | alfred.workflow.trigger.hotkey
123 | uid
124 | B9409AD1-C53F-48CB-84BB-632CAF2A75CF
125 | version
126 | 2
127 |
128 |
129 | config
130 |
131 | autopaste
132 |
133 | clipboardtext
134 | https://play.golang.org/p/{query}
135 | transient
136 |
137 |
138 | type
139 | alfred.workflow.output.clipboard
140 | uid
141 | 8A0C6DCE-7A5E-4E1E-B841-576643197943
142 | version
143 | 3
144 |
145 |
146 | config
147 |
148 | concurrently
149 |
150 | escaping
151 | 68
152 | script
153 | import sys
154 | import urllib
155 | from urllib2 import Request, urlopen
156 |
157 | query = sys.argv[1]
158 |
159 | url = 'https://play.golang.org/share'
160 |
161 | request = Request(url, query)
162 | json = urlopen(request).read().decode()
163 | sys.stdout.write(json)
164 | scriptargtype
165 | 1
166 | scriptfile
167 |
168 | type
169 | 3
170 |
171 | type
172 | alfred.workflow.action.script
173 | uid
174 | B62482BE-F9F8-4E81-BC4F-376931A2EEE9
175 | version
176 | 2
177 |
178 |
179 | config
180 |
181 | concurrently
182 |
183 | escaping
184 | 0
185 | script
186 | # THESE VARIABLES MUST BE SET. SEE THE ONEUPDATER README FOR AN EXPLANATION OF EACH.
187 | readonly remote_info_plist="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/go-play/workflow/info.plist"
188 | readonly workflow_url="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/go-play/Go%20Play.alfredworkflow"
189 | readonly download_type='direct'
190 | readonly frequency_check='7'
191 |
192 | # FROM HERE ON, CODE SHOULD BE LEFT UNTOUCHED!
193 | function abort {
194 | echo "${1}" >&2
195 | exit 1
196 | }
197 |
198 | function url_exists {
199 | curl --silent --location --output /dev/null --fail --range 0-0 "${1}"
200 | }
201 |
202 | function notification {
203 | readonly local notificator="$(find . -type d -name 'Notificator.app')"
204 | if [[ -n "${notificator}" ]]; then
205 | "${notificator}/Contents/Resources/Scripts/notificator" --message "${1}" --title "${alfred_workflow_name}" --subtitle 'A new version is available'
206 | return
207 | fi
208 |
209 | readonly local terminal_notifier="$(find . -type f -name 'terminal-notifier')"
210 | if [[ -n "${terminal_notifier}" ]]; then
211 | "${terminal_notifier}" -title "${alfred_workflow_name}" -subtitle 'A new version is available' -message "${1}"
212 | return
213 | fi
214 |
215 | osascript -e "display notification \"${1}\" with title \"${alfred_workflow_name}\" subtitle \"A new version is available\""
216 | }
217 |
218 | # Local sanity checks
219 | readonly local_info_plist='info.plist'
220 | readonly local_version="$(/usr/libexec/PlistBuddy -c 'print version' "${local_info_plist}")"
221 |
222 | [[ -n "${local_version}" ]] || abort 'You need to set a workflow version in the configuration sheet.'
223 | [[ "${download_type}" =~ ^(direct|page|github_release)$ ]] || abort "'download_type' (${download_type}) needs to be one of 'direct', 'page', or 'github_release'."
224 | [[ "${frequency_check}" =~ ^[0-9]+$ ]] || abort "'frequency_check' (${frequency_check}) needs to be a number."
225 |
226 | # Check for updates
227 | if [[ $(find "${local_info_plist}" -mtime +"${frequency_check}"d) ]]; then
228 | if ! url_exists "${remote_info_plist}"; then abort "'remote_info_plist' (${remote_info_plist}) appears to not be reachable."; fi # Remote sanity check
229 |
230 | readonly tmp_file="$(mktemp)"
231 | curl --silent --location --output "${tmp_file}" "${remote_info_plist}"
232 | readonly remote_version="$(/usr/libexec/PlistBuddy -c 'print version' "${tmp_file}")"
233 |
234 | if [[ "${local_version}" == "${remote_version}" ]]; then
235 | touch "${local_info_plist}" # Reset timer by touching local file
236 | exit 0
237 | fi
238 |
239 | if [[ "${download_type}" == 'page' ]]; then
240 | notification 'Opening download page…'
241 | open "${workflow_url}"
242 | exit 0
243 | fi
244 |
245 | download_url="$([[ "${download_type}" == 'github_release' ]] && curl --silent "https://api.github.com/repos/${workflow_url}/releases/latest" | grep 'browser_download_url' | head -1 | sed -E 's/.*browser_download_url": "(.*)"/\1/' || echo "${workflow_url}")"
246 |
247 | if url_exists "${download_url}"; then
248 | notification 'Downloading and installing…'
249 | curl --silent --location --output "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow" "${download_url}"
250 | open "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow"
251 | else
252 | abort "'workflow_url' (${download_url}) appears to not be reachable."
253 | fi
254 | fi
255 | scriptargtype
256 | 1
257 | scriptfile
258 |
259 | type
260 | 0
261 |
262 | type
263 | alfred.workflow.action.script
264 | uid
265 | E9E8BFEF-668E-418B-9122-64DB2A78DFAC
266 | version
267 | 2
268 |
269 |
270 | type
271 | alfred.workflow.utility.junction
272 | uid
273 | 8474618B-7176-421C-B7AB-601B83BAB4F3
274 | version
275 | 1
276 |
277 |
278 | config
279 |
280 | autopaste
281 |
282 | clipboardtext
283 | https://goplay.space/#{query}
284 | transient
285 |
286 |
287 | type
288 | alfred.workflow.output.clipboard
289 | uid
290 | EDB86F6C-30F2-4E1A-8F2C-4BD241F5EFD1
291 | version
292 | 3
293 |
294 |
295 | config
296 |
297 | browser
298 |
299 | spaces
300 |
301 | url
302 | https://play.golang.org/p/{query}
303 | utf8
304 |
305 |
306 | type
307 | alfred.workflow.action.openurl
308 | uid
309 | BCD45A73-C5A2-4B36-BBB8-DD6CE2D94511
310 | version
311 | 1
312 |
313 |
314 | readme
315 | Details on how to use this workflow are found in the GitHub repo attached to the workflow.
316 |
317 | Double click this workflow in sidebar -> Open website.
318 |
319 | Post any issues and feature requests you have there. 💜
320 | uidata
321 |
322 | 81E69D82-0504-4F92-A607-C88110E69C64
323 |
324 | xpos
325 | 430
326 | ypos
327 | 40
328 |
329 | 8474618B-7176-421C-B7AB-601B83BAB4F3
330 |
331 | xpos
332 | 610
333 | ypos
334 | 270
335 |
336 | 8A0C6DCE-7A5E-4E1E-B841-576643197943
337 |
338 | note
339 | Official Go playground
340 | xpos
341 | 430
342 | ypos
343 | 160
344 |
345 | B62482BE-F9F8-4E81-BC4F-376931A2EEE9
346 |
347 | note
348 | You can attach connection to where you want. Either:
349 |
350 | 1. Official Go playground
351 | 2. Go play Space
352 | xpos
353 | 210
354 | ypos
355 | 160
356 |
357 | B9409AD1-C53F-48CB-84BB-632CAF2A75CF
358 |
359 | note
360 | Select some Go code and it will give you a playground to share
361 | xpos
362 | 10
363 | ypos
364 | 160
365 |
366 | BCD45A73-C5A2-4B36-BBB8-DD6CE2D94511
367 |
368 | note
369 | Open the playground in the browser
370 | xpos
371 | 430
372 | ypos
373 | 440
374 |
375 | E9E8BFEF-668E-418B-9122-64DB2A78DFAC
376 |
377 | colorindex
378 | 12
379 | note
380 | OneUpdater
381 | xpos
382 | 710
383 | ypos
384 | 240
385 |
386 | EDB86F6C-30F2-4E1A-8F2C-4BD241F5EFD1
387 |
388 | note
389 | Go play space
390 | xpos
391 | 430
392 | ypos
393 | 300
394 |
395 |
396 | version
397 | 1.1
398 | webaddress
399 | https://github.com/nikitavoloboev/small-workflows/blob/master/go-play
400 |
401 |
402 |
--------------------------------------------------------------------------------
/go.mod:
--------------------------------------------------------------------------------
1 | module github.com/nikitavoloboev/small-workflows
2 |
3 | go 1.14
4 |
5 | require (
6 | github.com/deanishe/awgo v0.22.1
7 | github.com/dustin/go-humanize v1.0.0
8 | )
9 |
--------------------------------------------------------------------------------
/goto-subreddit/Go to subreddit.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/goto-subreddit/Go to subreddit.alfredworkflow
--------------------------------------------------------------------------------
/goto-subreddit/readme.md:
--------------------------------------------------------------------------------
1 | # Go to Reddit Subreddit - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/goto-subreddit/Go%20to%20subreddit.alfredworkflow?raw=true)
2 |
3 | > Go to a subreddit that you specify. For searching subreddits, use [this](https://github.com/deanishe/alfred-reddit).
4 |
5 | 
6 |
7 | ## Contributing
8 |
9 | See [contribution guidelines](../contributing.md).
10 |
--------------------------------------------------------------------------------
/goto-subreddit/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/goto-subreddit/workflow/icon.png
--------------------------------------------------------------------------------
/goto-subreddit/workflow/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | bundleid
6 | nikivi.go.to.sub
7 | category
8 | Mine
9 | connections
10 |
11 | 05EBC522-8195-4564-9525-7FA0D4EA6340
12 |
13 | 1482B57B-388E-4944-AFF6-8BAD3BFB68BB
14 |
15 |
16 | destinationuid
17 | 05EBC522-8195-4564-9525-7FA0D4EA6340
18 | modifiers
19 | 0
20 | modifiersubtext
21 |
22 | vitoclose
23 |
24 |
25 |
26 | destinationuid
27 | F09FDBA1-A245-4099-88C1-4CD44A3AC864
28 | modifiers
29 | 1048576
30 | modifiersubtext
31 | New
32 | vitoclose
33 |
34 |
35 |
36 | destinationuid
37 | 893325FF-CA33-4918-A831-39E8E704B4B7
38 | modifiers
39 | 262144
40 | modifiersubtext
41 | Top (all)
42 | vitoclose
43 |
44 |
45 |
46 | destinationuid
47 | C471EC9A-ACA5-45EC-BCE5-3A8090DE294B
48 | modifiers
49 | 524288
50 | modifiersubtext
51 | Top (week)
52 | vitoclose
53 |
54 |
55 |
56 | destinationuid
57 | 32C3B89F-AF22-4FEE-B6C4-18042F842F35
58 | modifiers
59 | 8388608
60 | modifiersubtext
61 | Top (month)
62 | vitoclose
63 |
64 |
65 |
66 | 91D6FD5D-9A2D-41FF-A714-5D5A25161817
67 |
68 |
69 | destinationuid
70 | 1482B57B-388E-4944-AFF6-8BAD3BFB68BB
71 | modifiers
72 | 0
73 | modifiersubtext
74 |
75 | vitoclose
76 |
77 |
78 |
79 |
80 | createdby
81 | Nikita Voloboev
82 | description
83 | Go to any subreddit on Reddit
84 | disabled
85 |
86 | name
87 | Go to subreddit
88 | objects
89 |
90 |
91 | config
92 |
93 | browser
94 |
95 | spaces
96 |
97 | url
98 | https://www.reddit.com/r/{query}/
99 | utf8
100 |
101 |
102 | type
103 | alfred.workflow.action.openurl
104 | uid
105 | 05EBC522-8195-4564-9525-7FA0D4EA6340
106 | version
107 | 1
108 |
109 |
110 | config
111 |
112 | concurrently
113 |
114 | escaping
115 | 0
116 | script
117 | # THESE VARIABLES MUST BE SET. SEE THE ONEUPDATER README FOR AN EXPLANATION OF EACH.
118 | readonly remote_info_plist="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/goto-subreddit/workflow/info.plist"
119 | readonly workflow_url="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/goto-subreddit/Go%20to%20subreddit.alfredworkflow"
120 | readonly download_type='direct'
121 | readonly frequency_check='7'
122 |
123 | # FROM HERE ON, CODE SHOULD BE LEFT UNTOUCHED!
124 | function abort {
125 | echo "${1}" >&2
126 | exit 1
127 | }
128 |
129 | function url_exists {
130 | curl --silent --location --output /dev/null --fail --range 0-0 "${1}"
131 | }
132 |
133 | function notification {
134 | readonly local notificator="$(find . -type d -name 'Notificator.app')"
135 | if [[ -n "${notificator}" ]]; then
136 | "${notificator}/Contents/Resources/Scripts/notificator" --message "${1}" --title "${alfred_workflow_name}" --subtitle 'A new version is available'
137 | return
138 | fi
139 |
140 | readonly local terminal_notifier="$(find . -type f -name 'terminal-notifier')"
141 | if [[ -n "${terminal_notifier}" ]]; then
142 | "${terminal_notifier}" -title "${alfred_workflow_name}" -subtitle 'A new version is available' -message "${1}"
143 | return
144 | fi
145 |
146 | osascript -e "display notification \"${1}\" with title \"${alfred_workflow_name}\" subtitle \"A new version is available\""
147 | }
148 |
149 | # Local sanity checks
150 | readonly local_info_plist='info.plist'
151 | readonly local_version="$(/usr/libexec/PlistBuddy -c 'print version' "${local_info_plist}")"
152 |
153 | [[ -n "${local_version}" ]] || abort 'You need to set a workflow version in the configuration sheet.'
154 | [[ "${download_type}" =~ ^(direct|page|github_release)$ ]] || abort "'download_type' (${download_type}) needs to be one of 'direct', 'page', or 'github_release'."
155 | [[ "${frequency_check}" =~ ^[0-9]+$ ]] || abort "'frequency_check' (${frequency_check}) needs to be a number."
156 |
157 | # Check for updates
158 | if [[ $(find "${local_info_plist}" -mtime +"${frequency_check}"d) ]]; then
159 | if ! url_exists "${remote_info_plist}"; then abort "'remote_info_plist' (${remote_info_plist}) appears to not be reachable."; fi # Remote sanity check
160 |
161 | readonly tmp_file="$(mktemp)"
162 | curl --silent --location --output "${tmp_file}" "${remote_info_plist}"
163 | readonly remote_version="$(/usr/libexec/PlistBuddy -c 'print version' "${tmp_file}")"
164 |
165 | if [[ "${local_version}" == "${remote_version}" ]]; then
166 | touch "${local_info_plist}" # Reset timer by touching local file
167 | exit 0
168 | fi
169 |
170 | if [[ "${download_type}" == 'page' ]]; then
171 | notification 'Opening download page…'
172 | open "${workflow_url}"
173 | exit 0
174 | fi
175 |
176 | download_url="$([[ "${download_type}" == 'github_release' ]] && curl --silent "https://api.github.com/repos/${workflow_url}/releases/latest" | grep 'browser_download_url' | head -1 | sed -E 's/.*browser_download_url": "(.*)"/\1/' || echo "${workflow_url}")"
177 |
178 | if url_exists "${download_url}"; then
179 | notification 'Downloading and installing…'
180 | curl --silent --location --output "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow" "${download_url}"
181 | open "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow"
182 | else
183 | abort "'workflow_url' (${download_url}) appears to not be reachable."
184 | fi
185 | fi
186 | scriptargtype
187 | 1
188 | scriptfile
189 |
190 | type
191 | 0
192 |
193 | type
194 | alfred.workflow.action.script
195 | uid
196 | C64D30BD-0C81-4B35-B4B4-517E8C1BC175
197 | version
198 | 2
199 |
200 |
201 | config
202 |
203 | browser
204 |
205 | spaces
206 |
207 | url
208 | https://www.reddit.com/r/{query}/new
209 | utf8
210 |
211 |
212 | type
213 | alfred.workflow.action.openurl
214 | uid
215 | F09FDBA1-A245-4099-88C1-4CD44A3AC864
216 | version
217 | 1
218 |
219 |
220 | config
221 |
222 | triggerid
223 | goto subreddit
224 |
225 | type
226 | alfred.workflow.trigger.external
227 | uid
228 | 91D6FD5D-9A2D-41FF-A714-5D5A25161817
229 | version
230 | 1
231 |
232 |
233 | config
234 |
235 | argumenttype
236 | 0
237 | keyword
238 | sub
239 | subtext
240 | ⌘ = New | ⌃ = Top (all) | ⌥ = Top (week) | fn = Top (month)
241 | text
242 | Go to {query} subreddit
243 | withspace
244 |
245 |
246 | type
247 | alfred.workflow.input.keyword
248 | uid
249 | 1482B57B-388E-4944-AFF6-8BAD3BFB68BB
250 | version
251 | 1
252 |
253 |
254 | config
255 |
256 | browser
257 |
258 | spaces
259 |
260 | url
261 | https://www.reddit.com/r/{query}/top/?sort=top&t=all
262 | utf8
263 |
264 |
265 | type
266 | alfred.workflow.action.openurl
267 | uid
268 | 893325FF-CA33-4918-A831-39E8E704B4B7
269 | version
270 | 1
271 |
272 |
273 | config
274 |
275 | browser
276 |
277 | spaces
278 |
279 | url
280 | https://www.reddit.com/r/{query}/top/?sort=top&t=week
281 | utf8
282 |
283 |
284 | type
285 | alfred.workflow.action.openurl
286 | uid
287 | C471EC9A-ACA5-45EC-BCE5-3A8090DE294B
288 | version
289 | 1
290 |
291 |
292 | config
293 |
294 | browser
295 |
296 | spaces
297 |
298 | url
299 | https://www.reddit.com/r/{query}/top/?sort=top&t=month
300 | utf8
301 |
302 |
303 | type
304 | alfred.workflow.action.openurl
305 | uid
306 | 32C3B89F-AF22-4FEE-B6C4-18042F842F35
307 | version
308 | 1
309 |
310 |
311 | readme
312 | Details on how to use this workflow are found in the GitHub repo attached to the workflow.
313 |
314 | Double click this workflow in sidebar -> Open website.
315 |
316 | Post any issues and feature requests you have there. 💜
317 | uidata
318 |
319 | 05EBC522-8195-4564-9525-7FA0D4EA6340
320 |
321 | xpos
322 | 470
323 | ypos
324 | 10
325 |
326 | 1482B57B-388E-4944-AFF6-8BAD3BFB68BB
327 |
328 | xpos
329 | 170
330 | ypos
331 | 210
332 |
333 | 32C3B89F-AF22-4FEE-B6C4-18042F842F35
334 |
335 | xpos
336 | 470
337 | ypos
338 | 520
339 |
340 | 893325FF-CA33-4918-A831-39E8E704B4B7
341 |
342 | xpos
343 | 470
344 | ypos
345 | 270
346 |
347 | 91D6FD5D-9A2D-41FF-A714-5D5A25161817
348 |
349 | xpos
350 | 10
351 | ypos
352 | 210
353 |
354 | C471EC9A-ACA5-45EC-BCE5-3A8090DE294B
355 |
356 | xpos
357 | 470
358 | ypos
359 | 390
360 |
361 | C64D30BD-0C81-4B35-B4B4-517E8C1BC175
362 |
363 | colorindex
364 | 12
365 | note
366 | OneUpdater
367 | xpos
368 | 660
369 | ypos
370 | 10
371 |
372 | F09FDBA1-A245-4099-88C1-4CD44A3AC864
373 |
374 | xpos
375 | 470
376 | ypos
377 | 140
378 |
379 |
380 | version
381 | 1.3
382 | webaddress
383 | https://github.com/nikitavoloboev/small-workflows/blob/master/goto-subreddit
384 |
385 |
386 |
--------------------------------------------------------------------------------
/license:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) Nikita (nikiv.dev)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/local-host/Local host.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/local-host/Local host.alfredworkflow
--------------------------------------------------------------------------------
/local-host/readme.md:
--------------------------------------------------------------------------------
1 | # Local host - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/local-host/Local%20host.alfredworkflow?raw=true)
2 |
3 | > Open port that you specify at local host.
4 |
5 | 
6 |
7 | ## Contributing
8 |
9 | See [contribution guidelines](../contributing.md).
10 |
--------------------------------------------------------------------------------
/local-host/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/local-host/workflow/icon.png
--------------------------------------------------------------------------------
/local-host/workflow/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | bundleid
6 | nikivi.local.host
7 | category
8 | Mine
9 | connections
10 |
11 | 313CFB22-54DE-4C7D-AAB2-74BEAEB6DD66
12 |
13 |
14 | destinationuid
15 | DCC9376D-FA56-4ECB-9A9E-713A0B50412D
16 | modifiers
17 | 0
18 | modifiersubtext
19 |
20 | vitoclose
21 |
22 |
23 |
24 | destinationuid
25 | D0BE0533-09B2-4A09-BBF9-7745BBCCA530
26 | modifiers
27 | 1048576
28 | modifiersubtext
29 | Open in Chrome
30 | vitoclose
31 |
32 |
33 |
34 | destinationuid
35 | BF48C5AD-B1FE-4E7B-AEAD-A05394A7082D
36 | modifiers
37 | 262144
38 | modifiersubtext
39 | Open in Firefox
40 | vitoclose
41 |
42 |
43 |
44 | 9F0C6149-6519-4882-B7D5-95A3CB366EA3
45 |
46 |
47 | destinationuid
48 | 313CFB22-54DE-4C7D-AAB2-74BEAEB6DD66
49 | modifiers
50 | 0
51 | modifiersubtext
52 |
53 | vitoclose
54 |
55 |
56 |
57 | DCC9376D-FA56-4ECB-9A9E-713A0B50412D
58 |
59 |
60 | createdby
61 | Nikita Voloboev
62 | description
63 | Open port that you specify at local host
64 | disabled
65 |
66 | name
67 | Local host
68 | objects
69 |
70 |
71 | config
72 |
73 | concurrently
74 |
75 | escaping
76 | 0
77 | script
78 | # THESE VARIABLES MUST BE SET. SEE THE ONEUPDATER README FOR AN EXPLANATION OF EACH.
79 | readonly remote_info_plist="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/local-host/workflow/info.plist"
80 | readonly workflow_url="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/local-host/Local%20host.alfredworkflow"
81 | readonly download_type='direct'
82 | readonly frequency_check='7'
83 |
84 | # FROM HERE ON, CODE SHOULD BE LEFT UNTOUCHED!
85 | function abort {
86 | echo "${1}" >&2
87 | exit 1
88 | }
89 |
90 | function url_exists {
91 | curl --silent --location --output /dev/null --fail --range 0-0 "${1}"
92 | }
93 |
94 | function notification {
95 | readonly local notificator="$(find . -type d -name 'Notificator.app')"
96 | if [[ -n "${notificator}" ]]; then
97 | "${notificator}/Contents/Resources/Scripts/notificator" --message "${1}" --title "${alfred_workflow_name}" --subtitle 'A new version is available'
98 | return
99 | fi
100 |
101 | readonly local terminal_notifier="$(find . -type f -name 'terminal-notifier')"
102 | if [[ -n "${terminal_notifier}" ]]; then
103 | "${terminal_notifier}" -title "${alfred_workflow_name}" -subtitle 'A new version is available' -message "${1}"
104 | return
105 | fi
106 |
107 | osascript -e "display notification \"${1}\" with title \"${alfred_workflow_name}\" subtitle \"A new version is available\""
108 | }
109 |
110 | # Local sanity checks
111 | readonly local_info_plist='info.plist'
112 | readonly local_version="$(/usr/libexec/PlistBuddy -c 'print version' "${local_info_plist}")"
113 |
114 | [[ -n "${local_version}" ]] || abort 'You need to set a workflow version in the configuration sheet.'
115 | [[ "${download_type}" =~ ^(direct|page|github_release)$ ]] || abort "'download_type' (${download_type}) needs to be one of 'direct', 'page', or 'github_release'."
116 | [[ "${frequency_check}" =~ ^[0-9]+$ ]] || abort "'frequency_check' (${frequency_check}) needs to be a number."
117 |
118 | # Check for updates
119 | if [[ $(find "${local_info_plist}" -mtime +"${frequency_check}"d) ]]; then
120 | if ! url_exists "${remote_info_plist}"; then abort "'remote_info_plist' (${remote_info_plist}) appears to not be reachable."; fi # Remote sanity check
121 |
122 | readonly tmp_file="$(mktemp)"
123 | curl --silent --location --output "${tmp_file}" "${remote_info_plist}"
124 | readonly remote_version="$(/usr/libexec/PlistBuddy -c 'print version' "${tmp_file}")"
125 |
126 | if [[ "${local_version}" == "${remote_version}" ]]; then
127 | touch "${local_info_plist}" # Reset timer by touching local file
128 | exit 0
129 | fi
130 |
131 | if [[ "${download_type}" == 'page' ]]; then
132 | notification 'Opening download page…'
133 | open "${workflow_url}"
134 | exit 0
135 | fi
136 |
137 | download_url="$([[ "${download_type}" == 'github_release' ]] && curl --silent "https://api.github.com/repos/${workflow_url}/releases/latest" | grep 'browser_download_url' | head -1 | sed -E 's/.*browser_download_url": "(.*)"/\1/' || echo "${workflow_url}")"
138 |
139 | if url_exists "${download_url}"; then
140 | notification 'Downloading and installing…'
141 | curl --silent --location --output "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow" "${download_url}"
142 | open "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow"
143 | else
144 | abort "'workflow_url' (${download_url}) appears to not be reachable."
145 | fi
146 | fi
147 | scriptargtype
148 | 1
149 | scriptfile
150 |
151 | type
152 | 0
153 |
154 | type
155 | alfred.workflow.action.script
156 | uid
157 | 8227BF02-65B5-4A70-8033-06583898F087
158 | version
159 | 2
160 |
161 |
162 | config
163 |
164 | browser
165 | com.google.Chrome
166 | spaces
167 |
168 | url
169 | http://localhost:{query}
170 | utf8
171 |
172 |
173 | type
174 | alfred.workflow.action.openurl
175 | uid
176 | DCC9376D-FA56-4ECB-9A9E-713A0B50412D
177 | version
178 | 1
179 |
180 |
181 | config
182 |
183 | triggerid
184 | open local port
185 |
186 | type
187 | alfred.workflow.trigger.external
188 | uid
189 | 9F0C6149-6519-4882-B7D5-95A3CB366EA3
190 | version
191 | 1
192 |
193 |
194 | config
195 |
196 | argumenttype
197 | 0
198 | keyword
199 | port
200 | subtext
201 | ⌃ = Safari | ⌘ = Firefox
202 | text
203 | Open port {query} in Chrome
204 | withspace
205 |
206 |
207 | type
208 | alfred.workflow.input.keyword
209 | uid
210 | 313CFB22-54DE-4C7D-AAB2-74BEAEB6DD66
211 | version
212 | 1
213 |
214 |
215 | config
216 |
217 | browser
218 | com.apple.Safari
219 | spaces
220 |
221 | url
222 | http://localhost:{query}
223 | utf8
224 |
225 |
226 | type
227 | alfred.workflow.action.openurl
228 | uid
229 | D0BE0533-09B2-4A09-BBF9-7745BBCCA530
230 | version
231 | 1
232 |
233 |
234 | config
235 |
236 | browser
237 | org.mozilla.firefox
238 | spaces
239 |
240 | url
241 | http://localhost:{query}
242 | utf8
243 |
244 |
245 | type
246 | alfred.workflow.action.openurl
247 | uid
248 | BF48C5AD-B1FE-4E7B-AEAD-A05394A7082D
249 | version
250 | 1
251 |
252 |
253 | readme
254 | Details on how to use this workflow are found in the GitHub repo attached to the workflow.
255 |
256 | Double click this workflow in sidebar -> Open website.
257 |
258 | Post any issues and feature requests you have there. 💜
259 | uidata
260 |
261 | 313CFB22-54DE-4C7D-AAB2-74BEAEB6DD66
262 |
263 | xpos
264 | 180
265 | ypos
266 | 50
267 |
268 | 8227BF02-65B5-4A70-8033-06583898F087
269 |
270 | colorindex
271 | 12
272 | note
273 | OneUpdater
274 | xpos
275 | 650
276 | ypos
277 | 40
278 |
279 | 9F0C6149-6519-4882-B7D5-95A3CB366EA3
280 |
281 | xpos
282 | 10
283 | ypos
284 | 50
285 |
286 | BF48C5AD-B1FE-4E7B-AEAD-A05394A7082D
287 |
288 | xpos
289 | 460
290 | ypos
291 | 290
292 |
293 | D0BE0533-09B2-4A09-BBF9-7745BBCCA530
294 |
295 | xpos
296 | 460
297 | ypos
298 | 170
299 |
300 | DCC9376D-FA56-4ECB-9A9E-713A0B50412D
301 |
302 | xpos
303 | 460
304 | ypos
305 | 40
306 |
307 |
308 | version
309 | 1.2
310 | webaddress
311 | https://github.com/nikitavoloboev/small-workflows/blob/master/local-host
312 |
313 |
314 |
--------------------------------------------------------------------------------
/month-numbers/Month numbers.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/month-numbers/Month numbers.alfredworkflow
--------------------------------------------------------------------------------
/month-numbers/readme.md:
--------------------------------------------------------------------------------
1 | # Month numbers - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/month-numbers/Month%20numbers.alfredworkflow?raw=true)
2 |
3 | > Search for a month and copy the month number to your clipboard.
4 |
5 | 
6 |
7 | ## Contributing
8 |
9 | See [contribution guidelines](../contributing.md).
10 |
--------------------------------------------------------------------------------
/month-numbers/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/month-numbers/workflow/icon.png
--------------------------------------------------------------------------------
/month-numbers/workflow/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | bundleid
6 | nikivi.month.numbers
7 | category
8 | Mine
9 | connections
10 |
11 | 3FD0DA9D-7238-4BCF-B96B-518BF96BC747
12 |
13 | 57E7D8A0-DA41-457F-9FE1-154441AB917F
14 |
15 |
16 | destinationuid
17 | 86EFED13-62E2-45A0-96FE-FDBB9E23A406
18 | modifiers
19 | 0
20 | modifiersubtext
21 |
22 | vitoclose
23 |
24 |
25 |
26 | 86EFED13-62E2-45A0-96FE-FDBB9E23A406
27 |
28 |
29 | destinationuid
30 | 3FD0DA9D-7238-4BCF-B96B-518BF96BC747
31 | modifiers
32 | 0
33 | modifiersubtext
34 |
35 | vitoclose
36 |
37 |
38 |
39 |
40 | createdby
41 | Nikita Voloboev
42 | description
43 | Search for a month and copy the month number to your clipboard
44 | disabled
45 |
46 | name
47 | Month numbers
48 | objects
49 |
50 |
51 | config
52 |
53 | concurrently
54 |
55 | escaping
56 | 0
57 | script
58 | # THESE VARIABLES MUST BE SET. SEE THE ONEUPDATER README FOR AN EXPLANATION OF EACH.
59 | readonly remote_info_plist="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/month-numbers/workflow/info.plist"
60 | readonly workflow_url="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/month-numbers/Month%20numbers.alfredworkflow"
61 | readonly download_type='direct'
62 | readonly frequency_check='7'
63 |
64 | # FROM HERE ON, CODE SHOULD BE LEFT UNTOUCHED!
65 | function abort {
66 | echo "${1}" >&2
67 | exit 1
68 | }
69 |
70 | function url_exists {
71 | curl --silent --location --output /dev/null --fail --range 0-0 "${1}"
72 | }
73 |
74 | function notification {
75 | readonly local notificator="$(find . -type d -name 'Notificator.app')"
76 | if [[ -n "${notificator}" ]]; then
77 | "${notificator}/Contents/Resources/Scripts/notificator" --message "${1}" --title "${alfred_workflow_name}" --subtitle 'A new version is available'
78 | return
79 | fi
80 |
81 | readonly local terminal_notifier="$(find . -type f -name 'terminal-notifier')"
82 | if [[ -n "${terminal_notifier}" ]]; then
83 | "${terminal_notifier}" -title "${alfred_workflow_name}" -subtitle 'A new version is available' -message "${1}"
84 | return
85 | fi
86 |
87 | osascript -e "display notification \"${1}\" with title \"${alfred_workflow_name}\" subtitle \"A new version is available\""
88 | }
89 |
90 | # Local sanity checks
91 | readonly local_info_plist='info.plist'
92 | readonly local_version="$(/usr/libexec/PlistBuddy -c 'print version' "${local_info_plist}")"
93 |
94 | [[ -n "${local_version}" ]] || abort 'You need to set a workflow version in the configuration sheet.'
95 | [[ "${download_type}" =~ ^(direct|page|github_release)$ ]] || abort "'download_type' (${download_type}) needs to be one of 'direct', 'page', or 'github_release'."
96 | [[ "${frequency_check}" =~ ^[0-9]+$ ]] || abort "'frequency_check' (${frequency_check}) needs to be a number."
97 |
98 | # Check for updates
99 | if [[ $(find "${local_info_plist}" -mtime +"${frequency_check}"d) ]]; then
100 | if ! url_exists "${remote_info_plist}"; then abort "'remote_info_plist' (${remote_info_plist}) appears to not be reachable."; fi # Remote sanity check
101 |
102 | readonly tmp_file="$(mktemp)"
103 | curl --silent --location --output "${tmp_file}" "${remote_info_plist}"
104 | readonly remote_version="$(/usr/libexec/PlistBuddy -c 'print version' "${tmp_file}")"
105 |
106 | if [[ "${local_version}" == "${remote_version}" ]]; then
107 | touch "${local_info_plist}" # Reset timer by touching local file
108 | exit 0
109 | fi
110 |
111 | if [[ "${download_type}" == 'page' ]]; then
112 | notification 'Opening download page…'
113 | open "${workflow_url}"
114 | exit 0
115 | fi
116 |
117 | download_url="$([[ "${download_type}" == 'github_release' ]] && curl --silent "https://api.github.com/repos/${workflow_url}/releases/latest" | grep 'browser_download_url' | head -1 | sed -E 's/.*browser_download_url": "(.*)"/\1/' || echo "${workflow_url}")"
118 |
119 | if url_exists "${download_url}"; then
120 | notification 'Downloading and installing…'
121 | curl --silent --location --output "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow" "${download_url}"
122 | open "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow"
123 | else
124 | abort "'workflow_url' (${download_url}) appears to not be reachable."
125 | fi
126 | fi
127 | scriptargtype
128 | 1
129 | scriptfile
130 |
131 | type
132 | 0
133 |
134 | type
135 | alfred.workflow.action.script
136 | uid
137 | 94077C4C-3B77-4DB0-98A0-BDBA0FA629BE
138 | version
139 | 2
140 |
141 |
142 | config
143 |
144 | triggerid
145 | search months
146 |
147 | type
148 | alfred.workflow.trigger.external
149 | uid
150 | 57E7D8A0-DA41-457F-9FE1-154441AB917F
151 | version
152 | 1
153 |
154 |
155 | config
156 |
157 | autopaste
158 |
159 | clipboardtext
160 | {query}
161 | transient
162 |
163 |
164 | type
165 | alfred.workflow.output.clipboard
166 | uid
167 | 3FD0DA9D-7238-4BCF-B96B-518BF96BC747
168 | version
169 | 3
170 |
171 |
172 | config
173 |
174 | argumenttrimmode
175 | 0
176 | argumenttype
177 | 1
178 | fixedorder
179 |
180 | items
181 | [{"title":"January (01)","arg":"01","subtitle":""},{"title":"February (02)","arg":"02","subtitle":""},{"title":"March (03)","arg":"03"},{"title":"April (04)","arg":"04"},{"title":"May (05)","arg":"05"},{"title":"June (06)","arg":"06"},{"title":"July (07)","arg":"07"},{"title":"August (08)","arg":"08"},{"title":"September (09)","arg":"09"},{"title":"October (10)","arg":"10"},{"title":"November (11)","arg":"11"},{"title":"December (12)","arg":"12"}]
182 | keyword
183 | mon
184 | runningsubtext
185 |
186 | subtext
187 | Press enter to copy the month number
188 | title
189 | Months numbers
190 | withspace
191 |
192 |
193 | type
194 | alfred.workflow.input.listfilter
195 | uid
196 | 86EFED13-62E2-45A0-96FE-FDBB9E23A406
197 | version
198 | 1
199 |
200 |
201 | readme
202 | Details on how to use this workflow are found in the GitHub repo attached to the workflow.
203 |
204 | Double click this workflow in sidebar -> Open website.
205 |
206 | Post any issues and feature requests you have there. 💜
207 | uidata
208 |
209 | 3FD0DA9D-7238-4BCF-B96B-518BF96BC747
210 |
211 | xpos
212 | 350
213 | ypos
214 | 20
215 |
216 | 57E7D8A0-DA41-457F-9FE1-154441AB917F
217 |
218 | xpos
219 | 10
220 | ypos
221 | 20
222 |
223 | 86EFED13-62E2-45A0-96FE-FDBB9E23A406
224 |
225 | note
226 | Search months
227 | xpos
228 | 170
229 | ypos
230 | 20
231 |
232 | 94077C4C-3B77-4DB0-98A0-BDBA0FA629BE
233 |
234 | colorindex
235 | 12
236 | note
237 | OneUpdater
238 | xpos
239 | 540
240 | ypos
241 | 20
242 |
243 |
244 | version
245 | 1.4
246 | webaddress
247 | https://github.com/nikitavoloboev/small-workflows/blob/master/month-numbers
248 |
249 |
250 |
--------------------------------------------------------------------------------
/objects-library/Objects library.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/objects-library/Objects library.alfredworkflow
--------------------------------------------------------------------------------
/objects-library/readme.md:
--------------------------------------------------------------------------------
1 | # Objects library - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/objects-library/Objects%20library.alfredworkflow?raw=true)
2 |
3 | > Useful premade objects for workflows.
4 |
5 | Currently contains only [Vitor's](https://github.com/vitorgalvao) [OneUpdater](https://github.com/vitorgalvao/alfred-workflows/tree/master/OneUpdater).
6 |
7 | I use this workflow to quickly copy useful premade objects to my workflows.
8 |
9 | 
10 |
11 | ## Contributing
12 |
13 | See [contribution guidelines](../contributing.md).
14 |
--------------------------------------------------------------------------------
/objects-library/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/objects-library/workflow/icon.png
--------------------------------------------------------------------------------
/open-with-app/Open with app.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/open-with-app/Open with app.alfredworkflow
--------------------------------------------------------------------------------
/open-with-app/readme.md:
--------------------------------------------------------------------------------
1 | # Open with app - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/open-with-app/Open%20with%20app.alfredworkflow?raw=true)
2 |
3 | > File actions to quickly open file/folder in the application without going to `Open with...` menu
4 |
5 | 
6 |
7 | ## Contributing
8 |
9 | See [contribution guidelines](../contributing.md).
10 |
--------------------------------------------------------------------------------
/open-with-app/workflow/3AF332F9-4AE3-4396-9785-78B0677A29CB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/open-with-app/workflow/3AF332F9-4AE3-4396-9785-78B0677A29CB.png
--------------------------------------------------------------------------------
/open-with-app/workflow/45989721-9E50-4BEC-8362-08BE847F2475.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/open-with-app/workflow/45989721-9E50-4BEC-8362-08BE847F2475.png
--------------------------------------------------------------------------------
/open-with-app/workflow/BF2D5DFE-38FF-4077-A341-4E0BEFDF94E2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/open-with-app/workflow/BF2D5DFE-38FF-4077-A341-4E0BEFDF94E2.png
--------------------------------------------------------------------------------
/open-with-app/workflow/C96CE88F-544B-4BEB-87E7-FD6BD4E856FD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/open-with-app/workflow/C96CE88F-544B-4BEB-87E7-FD6BD4E856FD.png
--------------------------------------------------------------------------------
/open-with-app/workflow/E5CF2D70-1E75-4F8C-AD05-1FCCB7CFAF78.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/open-with-app/workflow/E5CF2D70-1E75-4F8C-AD05-1FCCB7CFAF78.png
--------------------------------------------------------------------------------
/open-with-app/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/open-with-app/workflow/icon.png
--------------------------------------------------------------------------------
/open-with-app/workflow/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | bundleid
6 | nikivi.open.with.app
7 | category
8 | Mine
9 | connections
10 |
11 | 115CB874-1FC9-4D18-A63E-B686A43F8649
12 |
13 |
14 | destinationuid
15 | CA8F9A11-5256-4EF2-9113-A146104AD853
16 | modifiers
17 | 0
18 | modifiersubtext
19 |
20 | vitoclose
21 |
22 |
23 |
24 | 3AF332F9-4AE3-4396-9785-78B0677A29CB
25 |
26 |
27 | destinationuid
28 | B65381DC-D719-4F11-83D2-F022FDA8CA8F
29 | modifiers
30 | 0
31 | modifiersubtext
32 |
33 | vitoclose
34 |
35 |
36 |
37 | 3B95E8DC-40AF-4C0C-B9B3-01EB0FD63E1A
38 |
39 |
40 | destinationuid
41 | CA8F9A11-5256-4EF2-9113-A146104AD853
42 | modifiers
43 | 0
44 | modifiersubtext
45 |
46 | vitoclose
47 |
48 |
49 |
50 | B65381DC-D719-4F11-83D2-F022FDA8CA8F
51 |
52 |
53 | destinationuid
54 | CA8F9A11-5256-4EF2-9113-A146104AD853
55 | modifiers
56 | 0
57 | modifiersubtext
58 |
59 | vitoclose
60 |
61 |
62 |
63 | C96CE88F-544B-4BEB-87E7-FD6BD4E856FD
64 |
65 |
66 | destinationuid
67 | 115CB874-1FC9-4D18-A63E-B686A43F8649
68 | modifiers
69 | 0
70 | modifiersubtext
71 |
72 | vitoclose
73 |
74 |
75 |
76 | CA8F9A11-5256-4EF2-9113-A146104AD853
77 |
78 | E5CF2D70-1E75-4F8C-AD05-1FCCB7CFAF78
79 |
80 |
81 | destinationuid
82 | 3B95E8DC-40AF-4C0C-B9B3-01EB0FD63E1A
83 | modifiers
84 | 0
85 | modifiersubtext
86 |
87 | vitoclose
88 |
89 |
90 |
91 |
92 | createdby
93 | Nikita Voloboev
94 | description
95 | File actions to quickly open file/folder in the application without going to Open with... menu
96 | disabled
97 |
98 | name
99 | Open with app
100 | objects
101 |
102 |
103 | config
104 |
105 | openwith
106 | /Applications/Visual Studio Code.app
107 | sourcefile
108 |
109 |
110 | type
111 | alfred.workflow.action.openfile
112 | uid
113 | 3B95E8DC-40AF-4C0C-B9B3-01EB0FD63E1A
114 | version
115 | 3
116 |
117 |
118 | config
119 |
120 | acceptsmulti
121 |
122 | filetypes
123 |
124 | name
125 | Code
126 |
127 | type
128 | alfred.workflow.trigger.action
129 | uid
130 | E5CF2D70-1E75-4F8C-AD05-1FCCB7CFAF78
131 | version
132 | 1
133 |
134 |
135 | config
136 |
137 | concurrently
138 |
139 | escaping
140 | 0
141 | script
142 | # THESE VARIABLES MUST BE SET. SEE THE ONEUPDATER README FOR AN EXPLANATION OF EACH.
143 | readonly remote_info_plist="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/open-with-app/workflow/info.plist"
144 | readonly workflow_url="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/open-with-app/Open%20with%20app.alfredworkflow"
145 | readonly download_type='direct'
146 | readonly frequency_check='7'
147 |
148 | # FROM HERE ON, CODE SHOULD BE LEFT UNTOUCHED!
149 | function abort {
150 | echo "${1}" >&2
151 | exit 1
152 | }
153 |
154 | function url_exists {
155 | curl --silent --location --output /dev/null --fail --range 0-0 "${1}"
156 | }
157 |
158 | function notification {
159 | readonly local notificator="$(find . -type d -name 'Notificator.app')"
160 | if [[ -n "${notificator}" ]]; then
161 | "${notificator}/Contents/Resources/Scripts/notificator" --message "${1}" --title "${alfred_workflow_name}" --subtitle 'A new version is available'
162 | return
163 | fi
164 |
165 | readonly local terminal_notifier="$(find . -type f -name 'terminal-notifier')"
166 | if [[ -n "${terminal_notifier}" ]]; then
167 | "${terminal_notifier}" -title "${alfred_workflow_name}" -subtitle 'A new version is available' -message "${1}"
168 | return
169 | fi
170 |
171 | osascript -e "display notification \"${1}\" with title \"${alfred_workflow_name}\" subtitle \"A new version is available\""
172 | }
173 |
174 | # Local sanity checks
175 | readonly local_info_plist='info.plist'
176 | readonly local_version="$(/usr/libexec/PlistBuddy -c 'print version' "${local_info_plist}")"
177 |
178 | [[ -n "${local_version}" ]] || abort 'You need to set a workflow version in the configuration sheet.'
179 | [[ "${download_type}" =~ ^(direct|page|github_release)$ ]] || abort "'download_type' (${download_type}) needs to be one of 'direct', 'page', or 'github_release'."
180 | [[ "${frequency_check}" =~ ^[0-9]+$ ]] || abort "'frequency_check' (${frequency_check}) needs to be a number."
181 |
182 | # Check for updates
183 | if [[ $(find "${local_info_plist}" -mtime +"${frequency_check}"d) ]]; then
184 | if ! url_exists "${remote_info_plist}"; then abort "'remote_info_plist' (${remote_info_plist}) appears to not be reachable."; fi # Remote sanity check
185 |
186 | readonly tmp_file="$(mktemp)"
187 | curl --silent --location --output "${tmp_file}" "${remote_info_plist}"
188 | readonly remote_version="$(/usr/libexec/PlistBuddy -c 'print version' "${tmp_file}")"
189 |
190 | if [[ "${local_version}" == "${remote_version}" ]]; then
191 | touch "${local_info_plist}" # Reset timer by touching local file
192 | exit 0
193 | fi
194 |
195 | if [[ "${download_type}" == 'page' ]]; then
196 | notification 'Opening download page…'
197 | open "${workflow_url}"
198 | exit 0
199 | fi
200 |
201 | download_url="$([[ "${download_type}" == 'github_release' ]] && curl --silent "https://api.github.com/repos/${workflow_url}/releases/latest" | grep 'browser_download_url' | head -1 | sed -E 's/.*browser_download_url": "(.*)"/\1/' || echo "${workflow_url}")"
202 |
203 | if url_exists "${download_url}"; then
204 | notification 'Downloading and installing…'
205 | curl --silent --location --output "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow" "${download_url}"
206 | open "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow"
207 | else
208 | abort "'workflow_url' (${download_url}) appears to not be reachable."
209 | fi
210 | fi
211 | scriptargtype
212 | 1
213 | scriptfile
214 |
215 | type
216 | 0
217 |
218 | type
219 | alfred.workflow.action.script
220 | uid
221 | 0873A998-83A2-4686-8C7E-4C85FD0AD0C8
222 | version
223 | 2
224 |
225 |
226 | config
227 |
228 | openwith
229 | /Applications/Marked 2.app
230 | sourcefile
231 |
232 |
233 | type
234 | alfred.workflow.action.openfile
235 | uid
236 | 115CB874-1FC9-4D18-A63E-B686A43F8649
237 | version
238 | 3
239 |
240 |
241 | config
242 |
243 | acceptsmulti
244 |
245 | filetypes
246 |
247 | name
248 | Marked 2
249 |
250 | type
251 | alfred.workflow.trigger.action
252 | uid
253 | C96CE88F-544B-4BEB-87E7-FD6BD4E856FD
254 | version
255 | 1
256 |
257 |
258 | type
259 | alfred.workflow.utility.junction
260 | uid
261 | CA8F9A11-5256-4EF2-9113-A146104AD853
262 | version
263 | 1
264 |
265 |
266 | config
267 |
268 | openwith
269 | /Applications/Sublime Text.app
270 | sourcefile
271 |
272 |
273 | type
274 | alfred.workflow.action.openfile
275 | uid
276 | B65381DC-D719-4F11-83D2-F022FDA8CA8F
277 | version
278 | 3
279 |
280 |
281 | config
282 |
283 | acceptsmulti
284 |
285 | filetypes
286 |
287 | name
288 | Sublime Text
289 |
290 | type
291 | alfred.workflow.trigger.action
292 | uid
293 | 3AF332F9-4AE3-4396-9785-78B0677A29CB
294 | version
295 | 1
296 |
297 |
298 | readme
299 | Details on how to use this workflow are found in the GitHub repo attached to the workflow.
300 |
301 | Double click this workflow in sidebar -> Open website.
302 |
303 | Post any issues and feature requests you have there. 💜
304 | uidata
305 |
306 | 0873A998-83A2-4686-8C7E-4C85FD0AD0C8
307 |
308 | colorindex
309 | 12
310 | note
311 | OneUpdater
312 | xpos
313 | 480
314 | ypos
315 | 130
316 |
317 | 115CB874-1FC9-4D18-A63E-B686A43F8649
318 |
319 | xpos
320 | 200
321 | ypos
322 | 130
323 |
324 | 3AF332F9-4AE3-4396-9785-78B0677A29CB
325 |
326 | xpos
327 | 10
328 | ypos
329 | 260
330 |
331 | 3B95E8DC-40AF-4C0C-B9B3-01EB0FD63E1A
332 |
333 | xpos
334 | 200
335 | ypos
336 | 10
337 |
338 | B65381DC-D719-4F11-83D2-F022FDA8CA8F
339 |
340 | xpos
341 | 200
342 | ypos
343 | 260
344 |
345 | C96CE88F-544B-4BEB-87E7-FD6BD4E856FD
346 |
347 | xpos
348 | 10
349 | ypos
350 | 130
351 |
352 | CA8F9A11-5256-4EF2-9113-A146104AD853
353 |
354 | xpos
355 | 390
356 | ypos
357 | 160
358 |
359 | E5CF2D70-1E75-4F8C-AD05-1FCCB7CFAF78
360 |
361 | xpos
362 | 10
363 | ypos
364 | 10
365 |
366 |
367 | version
368 | 1.2
369 | webaddress
370 | https://github.com/nikitavoloboev/small-workflows/blob/master/open-with-app
371 |
372 |
373 |
--------------------------------------------------------------------------------
/pastee/main.go:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/pastee/main.go
--------------------------------------------------------------------------------
/personal/Manage notes.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/personal/Manage notes.alfredworkflow
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # Alfred
2 |
3 | > [Alfred](https://www.alfredapp.com) workflows I use
4 |
5 | ## Workflows
6 |
7 | - [Search websites](search-websites) - Searches on popular websites. I use [Web Searches](https://github.com/nikitavoloboev/alfred-web-searches) and [Searchio](https://github.com/deanishe/alfred-searchio) for all other searches.
8 | - [Search Files](search-files) - A lot of [file filters](https://www.alfredapp.com/help/workflows/inputs/file-filter/) to find files quickly
9 | - [Search Selection](search-selection) - Search selected text on various websites with hotkeys.
10 | - [Search Content](search-content) - Actions to search through the insides of PDF and MindNode documents as well as Contacts.
11 | - [WiFi Tools](wifi-tools) - Check WiFi connection / Restart WiFi / Toggle it on/off.
12 | - [Go play](go-play) - Create [Go Playground](https://play.golang.org) from selected Go code for sharing.
13 | - [Useful utilities](useful-utilities) - Only has one utility, to search selected text in Alfred.
14 | - [Month numbers](month-numbers) - Search for a month and copy the month number to your clipboard.
15 | - [Clean Folders](clean-folders) - Trash items from Desktop and clean certain folders.
16 | - [Folder Search](folder-search) - Search folders from Alfred and open them in Finder/iTerm/Editor.
17 | - [File Actions](file-actions) - Various file actions I made to operate on files and folders.
18 | - [Go to Subreddit](goto-subreddit) - Go to a subreddit that you specify. For searching subreddits, use [this](https://github.com/deanishe/alfred-reddit).
19 | - [Focus](focus) - Start [Focus](https://heyfocus.com) blocking for some time that you specify.
20 | - [Local host](local-host) - Open port that you specify at local host.
21 | - [Objects library](objects-library) - Useful premade objects for workflows.
22 | - [Open with app](open-with-app) - File actions to quickly open file/folder in the application without going to `Open with...` menu.
23 | - [TODO Task](todo-task) - Write a task and display it on TouchBar, in middle of screen or menu bar.
24 | - [Birthday](birthday) - See time passed since your birthday.
25 | - [Dropbox Upload](dropbox-upload) - Upload and share files with Dropbox.
26 |
27 | ## Workflow Augmentations
28 |
29 | Below are workflows that were not made by me, I just augmented them in my own way to make them 'better' (for me).
30 |
31 | I often propose these changes to the workflow author so that the change is merged but sometimes the author does not want to accept the change so I am left with my own fork until then. Credit goes to the authors of these awesome workflows
32 |
33 | Take a look at the original workflows first, it will most probably work for you well.
34 |
35 | - [GitHub Jump](https://github.com/lox/alfred-github-jump) - Quickly jump to GitHub repositories you made/starred. ([My modification](https://github.com/nikitavoloboev/small-workflows/blob/master/augmentations/GitHub%20jump.alfredworkflow?raw=true))
36 | - I added many modifiers to do different things such as go directly to issues of the workflow, pull requests of it or even clone the repo to a specified directory.
37 | - I use this workflow many many times a day and it saved me a lot of time. [My modification](https://github.com/nikitavoloboev/small-workflows/blob/master/augmentations/GitHub%20jump.alfredworkflow?raw=true) has over [7,300 repos I starred](https://github.com/nikitavoloboev/github-stars) that are within 1 second access from you.
38 | - [Alfred Workflow Directory](https://github.com/jeeftor/AlfredWorkflowDirectory) - Quickly open any Alfred Workflow directory in your Terminal, Finder. ([My modification](https://github.com/nikitavoloboev/small-workflows/blob/master/augmentations/Workflow%20directory.alfredworkflow?raw=true))
39 | - I changed it so that by default it will cd to the workflow in my current iTerm tab but also it can export workflow to `~/Desktop` (you can change location) or it will open the workflow with an editor (VS Code or Sublime in my case).
40 | - [Directory watches](https://github.com/vitorgalvao/alfred-workflows/tree/master/RecentDownloads) - Search insides of directories and action on things. ([My modification](https://github.com/nikitavoloboev/small-workflows/blob/master/augmentations/Directory%20watches.alfredworkflow?raw=true))
41 | - I modified a script he once shared to quickly see insides of various directories and action on items of them to do various things opening the path in iTerm or moving the file somewhere.
42 | - [Recent Downloads](https://github.com/ddjfreedom/recent-downloads-alfred-v2) - View `~/Downloads` folder from Alfred and action on contents of it. ([My modification](https://github.com/nikitavoloboev/small-workflows/blob/master/augmentations/Recent%20Downloads.alfredworkflow?raw=true))
43 | - I modified it by adding few actions like opening the path in iTerm. Or opening the file/folder in VS Code.
44 |
45 | ## Personal workflows
46 |
47 | Below is a list of workflows that were made for my own personal use and will most certainly not work on your systems unless you change many things in the workflow.
48 |
49 | You can take some inspiration or ideas from these workflows if you wish.
50 |
51 | - [Manage notes](https://github.com/nikitavoloboev/small-workflows/blob/master/personal/Manage%20notes.alfredworkflow?raw=true) - I use it to manage editing and extending my [wiki](https://github.com/nikitavoloboev/knowledge).
52 |
53 | ## Fixing permission issues
54 |
55 | Some workflows here are written with Go. See [here](https://github.com/deanishe/awgo/wiki/Catalina) for instructions on fixing permissions in macOS refusing to run Go binary.
56 |
57 | ## Run
58 |
59 | Most workflows here are small enough that everything is done with Alfred blocks with minimal code. You can also open the contents of workflow. Like this:
60 |
61 | 
62 |
63 | Sometimes the workflows are written in [Go](https://golang.org/) and use [AwGo](https://github.com/deanishe/awgo) library for all Alfred related things.
64 |
65 | You can run those workflows like so. Assumes you have [Alfred command](https://godoc.org/github.com/jason0x43/go-alfred/alfred) installed.
66 |
67 | 1. Clone repo
68 | 2. cd to folder with workflow you want to edit
69 | 3. Run `alfred link` (makes symbolic link of [`workflow`](workflow) directory)
70 | 4. Running `alfred build` will build workflow and place binary inside [`workflow`](workflow) directory.
71 | 5. Make changes to code or modify Alfred objects to do what you want! Open debugger in Alfred or run the workflow with `workflow:log` passed in as argument to see the logs Alfred produces.
72 |
73 | 
74 |
75 | ## Other workflows
76 |
77 | See [Alfred Gallery](https://alfred.app/) and [this list](https://github.com/learn-anything/alfred-workflows).
78 |
79 | ## Contribute
80 |
81 | Always open to useful ideas or fixes in form of issues or PRs.
82 |
83 | Can [open new issue](../../issues/new/choose) (search [existing issues](../../issues) first) or [start discussion](../../discussions).
84 |
85 | It's okay to submit draft PR as you can get help along the way to make it merge ready.
86 |
87 | Join [Discord](https://discord.com/invite/TVafwaD23d) for more indepth discussions on this repo and [others](https://github.com/nikitavoloboev#src).
88 |
89 | ### 🖤
90 |
91 | [Support on GitHub](https://github.com/sponsors/nikitavoloboev) or look into [other projects](https://nikiv.dev/projects).
92 |
93 | [](https://discord.com/invite/TVafwaD23d) [](https://twitter.com/nikitavoloboev) [](https://nikiv.dev)
94 |
--------------------------------------------------------------------------------
/search-content/Search content.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-content/Search content.alfredworkflow
--------------------------------------------------------------------------------
/search-content/readme.md:
--------------------------------------------------------------------------------
1 | # Search Content - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/search-content/Search%20content.alfredworkflow?raw=true)
2 |
3 | > Actions to search through the insides of PDF and MindNode documents as well as Contacts.
4 |
5 | 
6 |
7 | ## Contributing
8 |
9 | See [contribution guidelines](../contributing.md).
10 |
--------------------------------------------------------------------------------
/search-content/workflow/25B10AEB-A152-4465-A992-53818C416EAD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-content/workflow/25B10AEB-A152-4465-A992-53818C416EAD.png
--------------------------------------------------------------------------------
/search-content/workflow/6D57C744-41AD-44F3-B941-863B242D62B6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-content/workflow/6D57C744-41AD-44F3-B941-863B242D62B6.png
--------------------------------------------------------------------------------
/search-content/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-content/workflow/icon.png
--------------------------------------------------------------------------------
/search-files/Search files.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/Search files.alfredworkflow
--------------------------------------------------------------------------------
/search-files/readme.md:
--------------------------------------------------------------------------------
1 | # Search files - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/search-files/Search%20files.alfredworkflow?raw=true)
2 |
3 | > A lot of [file filters](https://www.alfredapp.com/help/workflows/inputs/file-filter/) to find files quickly
4 |
5 | 
6 |
7 | ## Contributing
8 |
9 | See [contribution guidelines](../contributing.md).
10 |
--------------------------------------------------------------------------------
/search-files/workflow/04B7255A-49E1-423B-AE98-319E3B944069.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/04B7255A-49E1-423B-AE98-319E3B944069.png
--------------------------------------------------------------------------------
/search-files/workflow/04DA1148-4172-400D-975B-77622025E21C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/04DA1148-4172-400D-975B-77622025E21C.png
--------------------------------------------------------------------------------
/search-files/workflow/0B2D9E41-21AB-405F-8A4D-B47491598A47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/0B2D9E41-21AB-405F-8A4D-B47491598A47.png
--------------------------------------------------------------------------------
/search-files/workflow/1383B5DA-0525-498E-AAB8-150E5D35E1AD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/1383B5DA-0525-498E-AAB8-150E5D35E1AD.png
--------------------------------------------------------------------------------
/search-files/workflow/1AF49277-F905-425A-819F-BD400CEF29ED.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/1AF49277-F905-425A-819F-BD400CEF29ED.png
--------------------------------------------------------------------------------
/search-files/workflow/1FFBE4B4-3819-4F17-95DC-65ECBE884124.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/1FFBE4B4-3819-4F17-95DC-65ECBE884124.png
--------------------------------------------------------------------------------
/search-files/workflow/3053E552-E0AE-4B7E-9967-8D50924ECA77.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/3053E552-E0AE-4B7E-9967-8D50924ECA77.png
--------------------------------------------------------------------------------
/search-files/workflow/3603C545-0022-4E52-A8B7-45E9FFF50443.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/3603C545-0022-4E52-A8B7-45E9FFF50443.png
--------------------------------------------------------------------------------
/search-files/workflow/44407665-DF7A-40B3-B141-9844BCB2622B.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/44407665-DF7A-40B3-B141-9844BCB2622B.png
--------------------------------------------------------------------------------
/search-files/workflow/56D82740-33E9-4B85-9B5C-7DB3B49772F4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/56D82740-33E9-4B85-9B5C-7DB3B49772F4.png
--------------------------------------------------------------------------------
/search-files/workflow/72273002-2C12-41AA-8B00-9BC70F458A51.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/72273002-2C12-41AA-8B00-9BC70F458A51.png
--------------------------------------------------------------------------------
/search-files/workflow/78024F5D-3C7F-4A7A-B9D7-1FA3D15BB40C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/78024F5D-3C7F-4A7A-B9D7-1FA3D15BB40C.png
--------------------------------------------------------------------------------
/search-files/workflow/983D785B-9B16-4F4B-A8E9-1E5B0174E9C9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/983D785B-9B16-4F4B-A8E9-1E5B0174E9C9.png
--------------------------------------------------------------------------------
/search-files/workflow/9BC050AF-6C7A-481A-8B22-294718088C78.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/9BC050AF-6C7A-481A-8B22-294718088C78.png
--------------------------------------------------------------------------------
/search-files/workflow/9BCF53A1-B4BD-45BA-9F0C-80F2871DC37B.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/9BCF53A1-B4BD-45BA-9F0C-80F2871DC37B.png
--------------------------------------------------------------------------------
/search-files/workflow/9F1670EC-E79E-41FA-B541-F6E757E0DF47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/9F1670EC-E79E-41FA-B541-F6E757E0DF47.png
--------------------------------------------------------------------------------
/search-files/workflow/B964994F-932B-476E-A943-CB2EC8B05062.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/B964994F-932B-476E-A943-CB2EC8B05062.png
--------------------------------------------------------------------------------
/search-files/workflow/BA26AB10-27F4-41A3-B317-D10614E82935.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/BA26AB10-27F4-41A3-B317-D10614E82935.png
--------------------------------------------------------------------------------
/search-files/workflow/BF7FC6EC-156B-4076-9073-7DE46C61FB88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/BF7FC6EC-156B-4076-9073-7DE46C61FB88.png
--------------------------------------------------------------------------------
/search-files/workflow/C0BEB9C4-E2EB-44A9-9975-D029B2793ECE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/C0BEB9C4-E2EB-44A9-9975-D029B2793ECE.png
--------------------------------------------------------------------------------
/search-files/workflow/C4094CBD-1E63-41BC-970A-23D37CD13D6E.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/C4094CBD-1E63-41BC-970A-23D37CD13D6E.png
--------------------------------------------------------------------------------
/search-files/workflow/DA0A225C-B763-4CD6-AE87-DBF8765D9D60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/DA0A225C-B763-4CD6-AE87-DBF8765D9D60.png
--------------------------------------------------------------------------------
/search-files/workflow/E12B52E6-2A69-4ADE-AF3C-298DBA7CEB89.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/E12B52E6-2A69-4ADE-AF3C-298DBA7CEB89.png
--------------------------------------------------------------------------------
/search-files/workflow/E9D079C1-B439-4088-ADED-0F42AAF8B549.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/E9D079C1-B439-4088-ADED-0F42AAF8B549.png
--------------------------------------------------------------------------------
/search-files/workflow/EB40CB64-2242-4938-A9C6-575912C20B8C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/EB40CB64-2242-4938-A9C6-575912C20B8C.png
--------------------------------------------------------------------------------
/search-files/workflow/EBC5894C-6E68-4AAB-8947-18E929325FE4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/EBC5894C-6E68-4AAB-8947-18E929325FE4.png
--------------------------------------------------------------------------------
/search-files/workflow/EFE95ECE-64EC-4B1C-B8F1-F52208AC733B.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/EFE95ECE-64EC-4B1C-B8F1-F52208AC733B.png
--------------------------------------------------------------------------------
/search-files/workflow/F37F9D1D-B30E-42B4-A576-E3EA5B9F742E.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/F37F9D1D-B30E-42B4-A576-E3EA5B9F742E.png
--------------------------------------------------------------------------------
/search-files/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-files/workflow/icon.png
--------------------------------------------------------------------------------
/search-selection/Search selection.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-selection/Search selection.alfredworkflow
--------------------------------------------------------------------------------
/search-selection/readme.md:
--------------------------------------------------------------------------------
1 | # Search Selection - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/search-selection/Search%20selection.alfredworkflow?raw=true)
2 |
3 | > Search selected text on various websites with hotkeys.
4 |
5 | You can customise the hotkeys to ones you like. To make things easier for myself, I call the hotkeys from [Karabiner](https://nikitavoloboev.gitbooks.io/knowledge/content/macOS/apps/karabiner/Karabiner.html) with my custom modifier keys which you can take a look [here](https://github.com/nikitavoloboev/dotfiles) for.
6 |
7 | I also heavily use [Web Searches workflow](https://github.com/nikitavoloboev/alfred-web-searches) to search selected text on a wider array of websites.
8 |
9 | 
10 |
11 | ## Contributing
12 |
13 | See [contribution guidelines](../contributing.md).
14 |
--------------------------------------------------------------------------------
/search-selection/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-selection/workflow/icon.png
--------------------------------------------------------------------------------
/search-websites/Search websites.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/Search websites.alfredworkflow
--------------------------------------------------------------------------------
/search-websites/readme.md:
--------------------------------------------------------------------------------
1 | # Search websites - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/search-websites/Search%20websites.alfredworkflow?raw=true)
2 |
3 | > Searches on popular websites. I use [Web Searches](https://github.com/nikitavoloboev/alfred-web-searches) and [Searchio](https://github.com/deanishe/alfred-searchio) for all other searches.
4 |
5 | I also add many modifier key options to scope my searches better.
6 |
7 | 
8 |
9 | ## Contributing
10 |
11 | See [contribution guidelines](../contributing.md).
12 |
--------------------------------------------------------------------------------
/search-websites/workflow/1127BC62-DD3B-4005-9B34-AB0CFADB051F.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/1127BC62-DD3B-4005-9B34-AB0CFADB051F.png
--------------------------------------------------------------------------------
/search-websites/workflow/146F85B0-0C5C-4B63-BB42-FCA37B4181F5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/146F85B0-0C5C-4B63-BB42-FCA37B4181F5.png
--------------------------------------------------------------------------------
/search-websites/workflow/183DC403-68C6-40B5-AB94-C8EFE9C7E43B.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/183DC403-68C6-40B5-AB94-C8EFE9C7E43B.png
--------------------------------------------------------------------------------
/search-websites/workflow/193D060F-BAB2-4CED-AD5A-E3E3F3E87D6F.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/193D060F-BAB2-4CED-AD5A-E3E3F3E87D6F.png
--------------------------------------------------------------------------------
/search-websites/workflow/37ED8832-1FD5-46E1-8AE2-59AF11022A93.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/37ED8832-1FD5-46E1-8AE2-59AF11022A93.png
--------------------------------------------------------------------------------
/search-websites/workflow/3FCA627E-69CA-4C97-B9D8-4C45B2ED3CEF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/3FCA627E-69CA-4C97-B9D8-4C45B2ED3CEF.png
--------------------------------------------------------------------------------
/search-websites/workflow/4A3F8E58-17A1-47F8-9EEF-DB02059716E6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/4A3F8E58-17A1-47F8-9EEF-DB02059716E6.png
--------------------------------------------------------------------------------
/search-websites/workflow/62634646-FB07-4AED-B4B8-57427DFFBF21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/62634646-FB07-4AED-B4B8-57427DFFBF21.png
--------------------------------------------------------------------------------
/search-websites/workflow/62CAD691-222B-46BF-872E-831400C666AA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/62CAD691-222B-46BF-872E-831400C666AA.png
--------------------------------------------------------------------------------
/search-websites/workflow/6943818F-D651-47ED-833A-BE0692C9EE9E.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/6943818F-D651-47ED-833A-BE0692C9EE9E.png
--------------------------------------------------------------------------------
/search-websites/workflow/6E2F5D28-3C24-4A0E-868B-B7E8458130D9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/6E2F5D28-3C24-4A0E-868B-B7E8458130D9.png
--------------------------------------------------------------------------------
/search-websites/workflow/70E96744-F08C-4740-8B32-706DDC657BC6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/70E96744-F08C-4740-8B32-706DDC657BC6.png
--------------------------------------------------------------------------------
/search-websites/workflow/7EE275C6-301E-4A93-B0A3-B0C6C9838FBB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/7EE275C6-301E-4A93-B0A3-B0C6C9838FBB.png
--------------------------------------------------------------------------------
/search-websites/workflow/80BF4F73-C741-4BAD-8027-7AC28C522DFD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/80BF4F73-C741-4BAD-8027-7AC28C522DFD.png
--------------------------------------------------------------------------------
/search-websites/workflow/85F7CEA6-934E-4127-B2C4-B6CEE98D95B3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/85F7CEA6-934E-4127-B2C4-B6CEE98D95B3.png
--------------------------------------------------------------------------------
/search-websites/workflow/87AAAE94-DA95-4D19-947C-F604E99A1D08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/87AAAE94-DA95-4D19-947C-F604E99A1D08.png
--------------------------------------------------------------------------------
/search-websites/workflow/8836EFCE-F9CF-4CCE-8D73-ED1E59260E67.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/8836EFCE-F9CF-4CCE-8D73-ED1E59260E67.png
--------------------------------------------------------------------------------
/search-websites/workflow/8CE145BF-6ECE-417C-9BC7-E1A1C4DE5534.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/8CE145BF-6ECE-417C-9BC7-E1A1C4DE5534.png
--------------------------------------------------------------------------------
/search-websites/workflow/8DCEA3D5-DBB6-48C1-9972-B60DFDEF6231.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/8DCEA3D5-DBB6-48C1-9972-B60DFDEF6231.png
--------------------------------------------------------------------------------
/search-websites/workflow/9502628F-708E-4131-8C50-005ABEDA9F3C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/9502628F-708E-4131-8C50-005ABEDA9F3C.png
--------------------------------------------------------------------------------
/search-websites/workflow/A8BA4B5A-88DC-4EDD-9BB0-3D5F6A1675BE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/A8BA4B5A-88DC-4EDD-9BB0-3D5F6A1675BE.png
--------------------------------------------------------------------------------
/search-websites/workflow/ACF70BD1-4F9B-42CF-BADC-74441A205C99.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/ACF70BD1-4F9B-42CF-BADC-74441A205C99.png
--------------------------------------------------------------------------------
/search-websites/workflow/B215DB9E-231C-4F38-BE45-0AC689713916.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/B215DB9E-231C-4F38-BE45-0AC689713916.png
--------------------------------------------------------------------------------
/search-websites/workflow/B81F54C3-CED5-4CFE-AD34-8431F9E78288.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/B81F54C3-CED5-4CFE-AD34-8431F9E78288.png
--------------------------------------------------------------------------------
/search-websites/workflow/B8400670-4FCE-4992-A55D-F81A336CC82C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/B8400670-4FCE-4992-A55D-F81A336CC82C.png
--------------------------------------------------------------------------------
/search-websites/workflow/C12F319E-CAC7-4883-9CBA-65C4AFE009A8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/C12F319E-CAC7-4883-9CBA-65C4AFE009A8.png
--------------------------------------------------------------------------------
/search-websites/workflow/C9A9C868-A7D4-475C-AF70-68A4A5D9B7D4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/C9A9C868-A7D4-475C-AF70-68A4A5D9B7D4.png
--------------------------------------------------------------------------------
/search-websites/workflow/CBC50E38-D305-4BC6-BF89-0F106E3FA461.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/CBC50E38-D305-4BC6-BF89-0F106E3FA461.png
--------------------------------------------------------------------------------
/search-websites/workflow/CBDD132A-64D6-4A52-90E3-18B988244724.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/CBDD132A-64D6-4A52-90E3-18B988244724.png
--------------------------------------------------------------------------------
/search-websites/workflow/CE07D201-AA28-440D-BE08-6AFE7663ABC4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/CE07D201-AA28-440D-BE08-6AFE7663ABC4.png
--------------------------------------------------------------------------------
/search-websites/workflow/D06CE468-9B5B-4ACC-B1C3-FAA5C4129FD2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/D06CE468-9B5B-4ACC-B1C3-FAA5C4129FD2.png
--------------------------------------------------------------------------------
/search-websites/workflow/DA3436F6-9BAC-4AB4-8656-75C9AA080B70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/DA3436F6-9BAC-4AB4-8656-75C9AA080B70.png
--------------------------------------------------------------------------------
/search-websites/workflow/DDA6D61F-E6A8-44D4-BE6E-81B10508AEC1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/DDA6D61F-E6A8-44D4-BE6E-81B10508AEC1.png
--------------------------------------------------------------------------------
/search-websites/workflow/E57F3424-9E2D-456D-93A7-13DA368A615C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/E57F3424-9E2D-456D-93A7-13DA368A615C.png
--------------------------------------------------------------------------------
/search-websites/workflow/E954D61A-11ED-44AE-9213-B281148306B2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/E954D61A-11ED-44AE-9213-B281148306B2.png
--------------------------------------------------------------------------------
/search-websites/workflow/E96EDBD8-7A33-4173-B462-4B0EDC097EBB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/E96EDBD8-7A33-4173-B462-4B0EDC097EBB.png
--------------------------------------------------------------------------------
/search-websites/workflow/EA56BE8E-1B06-49AD-99A3-14B9866FEBB2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/EA56BE8E-1B06-49AD-99A3-14B9866FEBB2.png
--------------------------------------------------------------------------------
/search-websites/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/search-websites/workflow/icon.png
--------------------------------------------------------------------------------
/todo-task/TODO Task.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/todo-task/TODO Task.alfredworkflow
--------------------------------------------------------------------------------
/todo-task/readme.md:
--------------------------------------------------------------------------------
1 | # TODO Task - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/todo-task/TODO%20Task.alfredworkflow?raw=true)
2 |
3 | > Write a task and display it on TouchBar, in middle of screen or menu bar.
4 |
5 | ## Why use this?
6 |
7 | I use this workflow to create (or update) my current **active TODO**.
8 |
9 | The way this workflow works is that it creates a small `todo` file the Alfred data directory of this workflow.
10 |
11 | You can then by calling the external trigger or with `todo` trigger write the task you want to work on and it will be added as active TODO.
12 |
13 | 
14 |
15 | In order to make sure I always keep my active TODO in mind, I display it on my TouchBar with [help of BetterTouchTool](https://github.com/nikitavoloboev/my-mac-os/tree/master/btt).
16 |
17 | 
18 |
19 | There is also an action that will take selected text and put it as your active TODO. Or if you use [Keyboard Maestro](https://www.keyboardmaestro.com/main/), you can use [this macro](https://www.dropbox.com/s/mkn483urqme9hs2/Add%20selected%20text%20as%20todo.kmmacros?dl=1) to smartly grab text from various apps like 2Do tasks, Trello cards, or `TODO:`'s in code as well as any arbitrary text you want to make your active TODO.
20 |
21 | This workflow lets me work on tasks one by one in GTD style. No multi tasking. This approach works really well with [breaking down of complex tasks into smaller parts](https://wiki.nikitavoloboev.xyz/research/solving-problems.html).
22 |
23 | ## Contributing
24 |
25 | See [contribution guidelines](../contributing.md).
26 |
--------------------------------------------------------------------------------
/todo-task/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/todo-task/workflow/icon.png
--------------------------------------------------------------------------------
/todo-task/workflow/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | bundleid
6 | nikivi.todo.task
7 | category
8 | Mine
9 | connections
10 |
11 | 0072C59D-3BEB-4DD7-94D3-C8EE2846B2A1
12 |
13 | 15101BC7-D97A-4FB2-9395-A7AD893544A8
14 |
15 |
16 | destinationuid
17 | A01F674A-AF96-4863-83D9-402E28CAED8B
18 | modifiers
19 | 0
20 | modifiersubtext
21 |
22 | vitoclose
23 |
24 |
25 |
26 | 1E07DCA9-9A95-48B4-AD53-11ACDAC37663
27 |
28 |
29 | destinationuid
30 | 0072C59D-3BEB-4DD7-94D3-C8EE2846B2A1
31 | modifiers
32 | 0
33 | modifiersubtext
34 |
35 | vitoclose
36 |
37 |
38 |
39 | destinationuid
40 | 15101BC7-D97A-4FB2-9395-A7AD893544A8
41 | modifiers
42 | 1048576
43 | modifiersubtext
44 |
45 | vitoclose
46 |
47 |
48 |
49 | 2C38BF03-D9A6-4387-8886-B5ED81016B36
50 |
51 |
52 | destinationuid
53 | 1E07DCA9-9A95-48B4-AD53-11ACDAC37663
54 | modifiers
55 | 0
56 | modifiersubtext
57 |
58 | vitoclose
59 |
60 |
61 |
62 | 8C5A1837-E1CF-4DD9-9B5A-DC0C4BC0A581
63 |
64 |
65 | destinationuid
66 | 0072C59D-3BEB-4DD7-94D3-C8EE2846B2A1
67 | modifiers
68 | 0
69 | modifiersubtext
70 |
71 | vitoclose
72 |
73 |
74 |
75 |
76 | createdby
77 | Nikita Voloboev
78 | description
79 | Write a task and display it on TouchBar, in middle of screen or menu bar
80 | disabled
81 |
82 | name
83 | TODO Task
84 | objects
85 |
86 |
87 | config
88 |
89 | triggerid
90 | new todo
91 |
92 | type
93 | alfred.workflow.trigger.external
94 | uid
95 | 2C38BF03-D9A6-4387-8886-B5ED81016B36
96 | version
97 | 1
98 |
99 |
100 | config
101 |
102 | concurrently
103 |
104 | escaping
105 | 102
106 | script
107 | # Create the data dir and TODO file if it doesn't exist already
108 | if [ ! -d ~/Library/Application\ Support/Alfred/Workflow\ Data/nikivi.todo.task ]; then
109 | mkdir ~/Library/Application\ Support/Alfred/Workflow\ Data/nikivi.todo.task
110 | touch ~/Library/Application\ Support/Alfred/Workflow\ Data/nikivi.todo.task/todo
111 | fi
112 |
113 | # cd to to the Alfred dir
114 | cd ~/Library/Application\ Support/Alfred/Workflow\ Data/nikivi.todo.task
115 |
116 | # Remove the file
117 | rm -rf todo
118 |
119 | # Write the TODO task to the file
120 | echo -e "$1" > todo
121 | scriptargtype
122 | 1
123 | scriptfile
124 |
125 | type
126 | 0
127 |
128 | type
129 | alfred.workflow.action.script
130 | uid
131 | 0072C59D-3BEB-4DD7-94D3-C8EE2846B2A1
132 | version
133 | 2
134 |
135 |
136 | config
137 |
138 | concurrently
139 |
140 | escaping
141 | 0
142 | script
143 | # THESE VARIABLES MUST BE SET. SEE THE ONEUPDATER README FOR AN EXPLANATION OF EACH.
144 | readonly remote_info_plist="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/todo-task/workflow/info.plist"
145 | readonly workflow_url="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/todo-task/TODO%20Task.alfredworkflow"
146 | readonly download_type='direct'
147 | readonly frequency_check='7'
148 |
149 | # FROM HERE ON, CODE SHOULD BE LEFT UNTOUCHED!
150 | function abort {
151 | echo "${1}" >&2
152 | exit 1
153 | }
154 |
155 | function url_exists {
156 | curl --silent --location --output /dev/null --fail --range 0-0 "${1}"
157 | }
158 |
159 | function notification {
160 | readonly local notificator="$(find . -type d -name 'Notificator.app')"
161 | if [[ -n "${notificator}" ]]; then
162 | "${notificator}/Contents/Resources/Scripts/notificator" --message "${1}" --title "${alfred_workflow_name}" --subtitle 'A new version is available'
163 | return
164 | fi
165 |
166 | readonly local terminal_notifier="$(find . -type f -name 'terminal-notifier')"
167 | if [[ -n "${terminal_notifier}" ]]; then
168 | "${terminal_notifier}" -title "${alfred_workflow_name}" -subtitle 'A new version is available' -message "${1}"
169 | return
170 | fi
171 |
172 | osascript -e "display notification \"${1}\" with title \"${alfred_workflow_name}\" subtitle \"A new version is available\""
173 | }
174 |
175 | # Local sanity checks
176 | readonly local_info_plist='info.plist'
177 | readonly local_version="$(/usr/libexec/PlistBuddy -c 'print version' "${local_info_plist}")"
178 |
179 | [[ -n "${local_version}" ]] || abort 'You need to set a workflow version in the configuration sheet.'
180 | [[ "${download_type}" =~ ^(direct|page|github_release)$ ]] || abort "'download_type' (${download_type}) needs to be one of 'direct', 'page', or 'github_release'."
181 | [[ "${frequency_check}" =~ ^[0-9]+$ ]] || abort "'frequency_check' (${frequency_check}) needs to be a number."
182 |
183 | # Check for updates
184 | if [[ $(find "${local_info_plist}" -mtime +"${frequency_check}"d) ]]; then
185 | if ! url_exists "${remote_info_plist}"; then abort "'remote_info_plist' (${remote_info_plist}) appears to not be reachable."; fi # Remote sanity check
186 |
187 | readonly tmp_file="$(mktemp)"
188 | curl --silent --location --output "${tmp_file}" "${remote_info_plist}"
189 | readonly remote_version="$(/usr/libexec/PlistBuddy -c 'print version' "${tmp_file}")"
190 |
191 | if [[ "${local_version}" == "${remote_version}" ]]; then
192 | touch "${local_info_plist}" # Reset timer by touching local file
193 | exit 0
194 | fi
195 |
196 | if [[ "${download_type}" == 'page' ]]; then
197 | notification 'Opening download page…'
198 | open "${workflow_url}"
199 | exit 0
200 | fi
201 |
202 | download_url="$([[ "${download_type}" == 'github_release' ]] && curl --silent "https://api.github.com/repos/${workflow_url}/releases/latest" | grep 'browser_download_url' | head -1 | sed -E 's/.*browser_download_url": "(.*)"/\1/' || echo "${workflow_url}")"
203 |
204 | if url_exists "${download_url}"; then
205 | notification 'Downloading and installing…'
206 | curl --silent --location --output "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow" "${download_url}"
207 | open "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow"
208 | else
209 | abort "'workflow_url' (${download_url}) appears to not be reachable."
210 | fi
211 | fi
212 | scriptargtype
213 | 1
214 | scriptfile
215 |
216 | type
217 | 0
218 |
219 | type
220 | alfred.workflow.action.script
221 | uid
222 | B6A4F1AB-CFED-47B3-8BE3-7FE2595A3737
223 | version
224 | 2
225 |
226 |
227 | config
228 |
229 | argumenttype
230 | 0
231 | keyword
232 | todo
233 | subtext
234 |
235 | text
236 | {var:empty}
237 | withspace
238 |
239 |
240 | type
241 | alfred.workflow.input.keyword
242 | uid
243 | 1E07DCA9-9A95-48B4-AD53-11ACDAC37663
244 | version
245 | 1
246 |
247 |
248 | config
249 |
250 | action
251 | 0
252 | argument
253 | 1
254 | focusedappvariable
255 |
256 | focusedappvariablename
257 |
258 | hotkey
259 | 0
260 | hotmod
261 | 0
262 | hotstring
263 |
264 | leftcursor
265 |
266 | modsmode
267 | 0
268 | relatedAppsMode
269 | 0
270 |
271 | type
272 | alfred.workflow.trigger.hotkey
273 | uid
274 | 8C5A1837-E1CF-4DD9-9B5A-DC0C4BC0A581
275 | version
276 | 2
277 |
278 |
279 | config
280 |
281 | concurrently
282 |
283 | escaping
284 | 102
285 | script
286 | # Create the data dir and TODO file if it doesn't exist already
287 | if [ ! -d ~/Library/Application\ Support/Alfred/Workflow\ Data/nikivi.todo.task ]; then
288 | mkdir ~/Library/Application\ Support/Alfred/Workflow\ Data/nikivi.todo.task
289 | touch ~/Library/Application\ Support/Alfred/Workflow\ Data/nikivi.todo.task/todo
290 | fi
291 |
292 | # cd to to the Alfred dir
293 | cd ~/Library/Application\ Support/Alfred/Workflow\ Data/nikivi.todo.task
294 |
295 | # Remove the file
296 | rm -rf todo
297 |
298 | # Write the TODO task to the file
299 | echo -e "$1" > todo
300 | scriptargtype
301 | 1
302 | scriptfile
303 |
304 | type
305 | 0
306 |
307 | type
308 | alfred.workflow.action.script
309 | uid
310 | 15101BC7-D97A-4FB2-9395-A7AD893544A8
311 | version
312 | 2
313 |
314 |
315 | config
316 |
317 | applescript
318 | on alfred_script(q)
319 | tell application "Keyboard Maestro Engine" to do script "Move active todo to MindNode"
320 | end alfred_script
321 | cachescript
322 |
323 |
324 | type
325 | alfred.workflow.action.applescript
326 | uid
327 | A01F674A-AF96-4863-83D9-402E28CAED8B
328 | version
329 | 1
330 |
331 |
332 | readme
333 | Details on how to use this workflow are found in the GitHub repo attached to the workflow.
334 |
335 | Double click this workflow in sidebar -> Open website.
336 |
337 | Post any issues and feature requests you have there. 💚
338 | uidata
339 |
340 | 0072C59D-3BEB-4DD7-94D3-C8EE2846B2A1
341 |
342 | note
343 | Create TODO
344 | xpos
345 | 380
346 | ypos
347 | 30
348 |
349 | 15101BC7-D97A-4FB2-9395-A7AD893544A8
350 |
351 | note
352 | create TODO in MindNode
353 | xpos
354 | 380
355 | ypos
356 | 180
357 |
358 | 1E07DCA9-9A95-48B4-AD53-11ACDAC37663
359 |
360 | xpos
361 | 190
362 | ypos
363 | 30
364 |
365 | 2C38BF03-D9A6-4387-8886-B5ED81016B36
366 |
367 | xpos
368 | 30
369 | ypos
370 | 30
371 |
372 | 8C5A1837-E1CF-4DD9-9B5A-DC0C4BC0A581
373 |
374 | note
375 | Create TODO from selected text
376 | xpos
377 | 190
378 | ypos
379 | 160
380 |
381 | A01F674A-AF96-4863-83D9-402E28CAED8B
382 |
383 | xpos
384 | 545
385 | ypos
386 | 180
387 |
388 | B6A4F1AB-CFED-47B3-8BE3-7FE2595A3737
389 |
390 | colorindex
391 | 12
392 | note
393 | OneUpdater
394 | xpos
395 | 545
396 | ypos
397 | 30
398 |
399 |
400 | variablesdontexport
401 |
402 | version
403 | 1.9.3
404 | webaddress
405 | https://github.com/nikitavoloboev/small-workflows/blob/master/todo-task
406 |
407 |
408 |
--------------------------------------------------------------------------------
/todo.md:
--------------------------------------------------------------------------------
1 | - clean up repo, readme
2 | - update workflows docs + rewrite in rust/ts or go (good code)
3 |
--------------------------------------------------------------------------------
/useful-utilities/Useful utilities.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/useful-utilities/Useful utilities.alfredworkflow
--------------------------------------------------------------------------------
/useful-utilities/readme.md:
--------------------------------------------------------------------------------
1 | # Useful utilities - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/useful-utilities/Useful%20utilities.alfredworkflow?raw=true)
2 |
3 | > Only has one utility, to search selected text in Alfred.
4 |
5 | 
6 |
7 | ## Contributing
8 |
9 | See [contribution guidelines](../contributing.md).
10 |
--------------------------------------------------------------------------------
/useful-utilities/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/useful-utilities/workflow/icon.png
--------------------------------------------------------------------------------
/useful-utilities/workflow/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | bundleid
6 | nikivi.utilities
7 | category
8 | Mine
9 | connections
10 |
11 | 432BC856-0A4D-4BAB-B9D6-9C8C386C75D6
12 |
13 |
14 | destinationuid
15 | D9E9BC85-823E-4974-B595-8E95CC1A8F6D
16 | modifiers
17 | 0
18 | modifiersubtext
19 |
20 | vitoclose
21 |
22 |
23 |
24 | D7F39F5F-B33A-461E-8BCF-D0F5175035BE
25 |
26 |
27 | destinationuid
28 | D06FAE0A-3F34-4B96-9F3B-7B20D11112C3
29 | modifiers
30 | 0
31 | modifiersubtext
32 |
33 | vitoclose
34 |
35 |
36 |
37 |
38 | createdby
39 | Nikita Voloboev
40 | description
41 | Only has one utilty, to search selected text in Alfred
42 | disabled
43 |
44 | name
45 | Useful utilities
46 | objects
47 |
48 |
49 | config
50 |
51 | argumenttype
52 | 2
53 | keyword
54 | :update utilities
55 | subtext
56 |
57 | text
58 | Update utilities workflow
59 | withspace
60 |
61 |
62 | type
63 | alfred.workflow.input.keyword
64 | uid
65 | 432BC856-0A4D-4BAB-B9D6-9C8C386C75D6
66 | version
67 | 1
68 |
69 |
70 | config
71 |
72 | concurrently
73 |
74 | escaping
75 | 0
76 | script
77 | # THESE VARIABLES MUST BE SET. SEE THE ONEUPDATER README FOR AN EXPLANATION OF EACH.
78 | readonly remote_info_plist="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/useful-utilities/workflow/info.plist"
79 | readonly workflow_url="https://raw.githubusercontent.com/nikitavoloboev/small-workflows/master/useful-utilities/Useful%20utilities.alfredworkflow"
80 | readonly download_type='direct'
81 | readonly frequency_check='4'
82 |
83 | # FROM HERE ON, CODE SHOULD BE LEFT UNTOUCHED!
84 | function abort {
85 | echo "${1}" >&2
86 | exit 1
87 | }
88 |
89 | function url_exists {
90 | curl --silent --location --output /dev/null --fail --range 0-0 "${1}"
91 | }
92 |
93 | function notification {
94 | readonly local notificator="$(find . -type d -name 'Notificator.app')"
95 | if [[ -n "${notificator}" ]]; then
96 | "${notificator}/Contents/Resources/Scripts/notificator" --message "${1}" --title "${alfred_workflow_name}" --subtitle 'A new version is available'
97 | return
98 | fi
99 |
100 | readonly local terminal_notifier="$(find . -type f -name 'terminal-notifier')"
101 | if [[ -n "${terminal_notifier}" ]]; then
102 | "${terminal_notifier}" -title "${alfred_workflow_name}" -subtitle 'A new version is available' -message "${1}"
103 | return
104 | fi
105 |
106 | osascript -e "display notification \"${1}\" with title \"${alfred_workflow_name}\" subtitle \"A new version is available\""
107 | }
108 |
109 | # Local sanity checks
110 | readonly local_info_plist='info.plist'
111 | readonly local_version="$(/usr/libexec/PlistBuddy -c 'print version' "${local_info_plist}")"
112 |
113 | [[ -n "${local_version}" ]] || abort 'You need to set a workflow version in the configuration sheet.'
114 | [[ "${download_type}" =~ ^(direct|page|github_release)$ ]] || abort "'download_type' (${download_type}) needs to be one of 'direct', 'page', or 'github_release'."
115 | [[ "${frequency_check}" =~ ^[0-9]+$ ]] || abort "'frequency_check' (${frequency_check}) needs to be a number."
116 |
117 | # Check for updates
118 | if [[ $(find "${local_info_plist}" -mtime +"${frequency_check}"d) ]]; then
119 | if ! url_exists "${remote_info_plist}"; then abort "'remote_info_plist' (${remote_info_plist}) appears to not be reachable."; fi # Remote sanity check
120 |
121 | readonly tmp_file="$(mktemp)"
122 | curl --silent --location --output "${tmp_file}" "${remote_info_plist}"
123 | readonly remote_version="$(/usr/libexec/PlistBuddy -c 'print version' "${tmp_file}")"
124 |
125 | if [[ "${local_version}" == "${remote_version}" ]]; then
126 | touch "${local_info_plist}" # Reset timer by touching local file
127 | exit 0
128 | fi
129 |
130 | if [[ "${download_type}" == 'page' ]]; then
131 | notification 'Opening download page…'
132 | open "${workflow_url}"
133 | exit 0
134 | fi
135 |
136 | download_url="$([[ "${download_type}" == 'github_release' ]] && curl --silent "https://api.github.com/repos/${workflow_url}/releases/latest" | grep 'browser_download_url' | head -1 | sed -E 's/.*browser_download_url": "(.*)"/\1/' || echo "${workflow_url}")"
137 |
138 | if url_exists "${download_url}"; then
139 | notification 'Downloading and installing…'
140 | curl --silent --location --output "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow" "${download_url}"
141 | open "${HOME}/Downloads/${alfred_workflow_name}.alfredworkflow"
142 | else
143 | abort "'workflow_url' (${download_url}) appears to not be reachable."
144 | fi
145 | fi
146 | scriptargtype
147 | 1
148 | scriptfile
149 |
150 | type
151 | 0
152 |
153 | type
154 | alfred.workflow.action.script
155 | uid
156 | D9E9BC85-823E-4974-B595-8E95CC1A8F6D
157 | version
158 | 2
159 |
160 |
161 | config
162 |
163 | action
164 | 1
165 | argument
166 | 1
167 | focusedappvariable
168 |
169 | focusedappvariablename
170 |
171 | hotkey
172 | 13
173 | hotmod
174 | 1310720
175 | hotstring
176 | W
177 | leftcursor
178 |
179 | modsmode
180 | 0
181 | relatedAppsMode
182 | 0
183 |
184 | type
185 | alfred.workflow.trigger.hotkey
186 | uid
187 | 6402E710-5A01-4E8C-9EC5-6E26CFB6ECE9
188 | version
189 | 2
190 |
191 |
192 | config
193 |
194 | triggerid
195 | search alfred
196 |
197 | type
198 | alfred.workflow.trigger.external
199 | uid
200 | D7F39F5F-B33A-461E-8BCF-D0F5175035BE
201 | version
202 | 1
203 |
204 |
205 | config
206 |
207 | argument
208 | {query}
209 | leftcursor
210 |
211 |
212 | type
213 | alfred.workflow.utility.showalfred
214 | uid
215 | D06FAE0A-3F34-4B96-9F3B-7B20D11112C3
216 | version
217 | 1
218 |
219 |
220 | readme
221 | Details on how to use this workflow are found in the GitHub repo attached to the workflow.
222 |
223 | Double click this workflow in sidebar -> Open website.
224 |
225 | Post any issues and feature requests you have there. 💜
226 | uidata
227 |
228 | 432BC856-0A4D-4BAB-B9D6-9C8C386C75D6
229 |
230 | note
231 | Type .update objects if you want to check if there is update available
232 | xpos
233 | 270
234 | ypos
235 | 30
236 |
237 | 6402E710-5A01-4E8C-9EC5-6E26CFB6ECE9
238 |
239 | xpos
240 | 30
241 | ypos
242 | 30
243 |
244 | D06FAE0A-3F34-4B96-9F3B-7B20D11112C3
245 |
246 | xpos
247 | 225
248 | ypos
249 | 260
250 |
251 | D7F39F5F-B33A-461E-8BCF-D0F5175035BE
252 |
253 | xpos
254 | 60
255 | ypos
256 | 230
257 |
258 | D9E9BC85-823E-4974-B595-8E95CC1A8F6D
259 |
260 | colorindex
261 | 5
262 | note
263 | Run :update utilities to update this workflow
264 | xpos
265 | 440
266 | ypos
267 | 30
268 |
269 |
270 | version
271 | 1.2
272 | webaddress
273 | https://github.com/nikitavoloboev/small-workflows/blob/master/useful-utilities
274 |
275 |
276 |
--------------------------------------------------------------------------------
/wifi-tools/WiFi tools.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/wifi-tools/WiFi tools.alfredworkflow
--------------------------------------------------------------------------------
/wifi-tools/readme.md:
--------------------------------------------------------------------------------
1 | # WiFi Tools - [Download](https://github.com/nikitavoloboev/small-workflows/blob/master/wifi-tools/WiFi%20tools.alfredworkflow?raw=true)
2 |
3 | > Check WiFi connection / Restart WiFi / Toggle it on/off.
4 |
5 | It can:
6 |
7 | 1. **Check WiFi** - It pings google.com and if there is no response, you are offline and you get notification on the top.
8 | 2. **Restart WiFi** - Turns the WiFi on and off.
9 | 3. **Toggle WiFi on/off** - If on, will turn it off, if off will turn it on.
10 |
11 | 
12 |
13 | ## Contributing
14 |
15 | See [contribution guidelines](../contributing.md).
16 |
--------------------------------------------------------------------------------
/wifi-tools/workflow/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nikitavoloboev/alfred-past/e5356575f1f76ae5e48fabe611defc5a083a09da/wifi-tools/workflow/icon.png
--------------------------------------------------------------------------------