altryne Posted June 15, 2013 Posted June 15, 2013 (edited) Download and Install mac apps. update 1.1 : There is now a progress window that shows the download update 1.2 : Uploaded to Packal update 1.3 : Fixed broken link, fixed download URL A simple workflow based on the community managed app list at homebrew-cask Usage : Install <app-name> If the app is in brew-casks directory, workflow will download/extract/mount and install the app. *It won't run over your app though, so if you want to update, remove the app first. Download (Packal link : http://www.packal.org/workflow/install-mac-apps) As always, feedback is more then welcome, help me test this guys, this took my whole weekend Doesn't support pkg. yet, will soon. Supports aleoop for updates Edited May 23, 2014 by altryne Enhorn and thec13 2
altryne Posted June 15, 2013 Author Posted June 15, 2013 I really want to put the appropriate icons for each app, but I don't know any API way to get icons for apps. Any1 have any idea of how that can be achieved?
hzlzh Posted June 16, 2013 Posted June 16, 2013 wow~ really powerful workflow, I just tried to install Chrome.app and it works very well and the speed is so fast. BTW, hope you can add this workflow to the List site below. altryne 1
altryne Posted June 16, 2013 Author Posted June 16, 2013 wow~ really powerful workflow, I just tried to install Chrome.app and it works very well and the speed is so fast. BTW, hope you can add this workflow to the List site below. I did yesterday... and it said it waits confirmation...
hzlzh Posted June 16, 2013 Posted June 16, 2013 I did yesterday... and it said it waits confirmation... Oh, found it on the list, the page cache was cleared. http://www.alfredworkflow.com/#Download%20and%20Install%20Mac%20Apps
laerador Posted June 16, 2013 Posted June 16, 2013 I really want to put the appropriate icons for each app, but I don't know any API way to get icons for apps. Any1 have any idea of how that can be achieved? I dont think you can do this without downloading the app. My Question: do you use brew in the background? As in: Will the apps appear as installed when using `brew cask list`? Or do you just use the repository and install the apps 'manually'?
altryne Posted June 16, 2013 Author Posted June 16, 2013 I dont think you can do this without downloading the app. My Question: do you use brew in the background? As in: Will the apps appear as installed when using `brew cask list`? Or do you just use the repository and install the apps 'manually'? I don't use it... I only use their repository for links to apps and search. I didn't like that they put the apps in /opt and not inside my Applications folder, thus making Alfred unable to launch them, so I built this.
laerador Posted June 16, 2013 Posted June 16, 2013 I don't use it... I only use their repository for links to apps and search. I didn't like that they put the apps in /opt and not inside my Applications folder, thus making Alfred unable to launch them, so I built this. True, but first you can run `brew cask linkapps` to make links to your ~/Applications-Folder (there is a Flag to links to /Applications instead but i dont remember it), but this only creates links which are not entirely picked up by Alfred. BUT: you can simply add /usr/local/Cellar to Alfreds Search Scope, so that Alfred will pick them up without any problems! But if you dont use it, i think your approach is quite good, maybe i will add some lines for me to use brew cask though -- i like to have everything in one place. Still, nice work!
altryne Posted June 17, 2013 Author Posted June 17, 2013 True, but first you can run `brew cask linkapps` to make links to your ~/Applications-Folder (there is a Flag to links to /Applications instead but i dont remember it), but this only creates links which are not entirely picked up by Alfred. BUT: you can simply add /usr/local/Cellar to Alfreds Search Scope, so that Alfred will pick them up without any problems! But if you dont use it, i think your approach is quite good, maybe i will add some lines for me to use brew cask though -- i like to have everything in one place. Still, nice work! Agreed, but it fixes Alfred compability, doesn't fix countless others, clean my mac for one. In anycase, most of the apps for mac come with their own update functionality, so the update function of cask is meaningless. Also, my workflow haz autocomplete! You can't compete with that with cli now, can you?
laerador Posted June 17, 2013 Posted June 17, 2013 Also, my workflow haz autocomplete! You can't compete with that with cli now, can you? Well I do have autocomplete for brew, i dont have one for cask, so you get your points (and alfred always looks nicer then cli )
vitor Posted June 18, 2013 Posted June 18, 2013 I didn't like that they put the apps in /opt and not inside my Applications folder, thus making Alfred unable to launch them, so I built this. BUT: you can simply add /usr/local/Cellar to Alfreds Search Scope, so that Alfred will pick them up without any problems! You don’t even need to go through that trouble, you can simply run brew cask alfred, and you get the integration, the command is there precisely for that. The other points are valid, though. altryne 1
avk_tp Posted June 23, 2013 Posted June 23, 2013 Download and Install mac apps. update 1.1 : There is now a progress window that shows the download A simple workflow based on the community managed app list at homebrew-cask Usage : Install <app-name> If the app is in brew-casks directory, workflow will download/extract/mount and install the app. *It won't run over your app though, so if you want to update, remove the app first. Download As always, feedback is more then welcome, help me test this guys, this took my whole weekend Doesn't support pkg. yet, will soon. Supports aleoop for updates I believe the link is down.
altryne Posted June 23, 2013 Author Posted June 23, 2013 I believe the link is down. Try this one please
Don Dahl Posted November 26, 2013 Posted November 26, 2013 Cool flow when operating several macs Thanks altryne 1
pstadler Posted December 20, 2013 Posted December 20, 2013 @altryne The progress window is neat! altryne 1
paulw Posted May 23, 2014 Posted May 23, 2014 I can't seem to get this workflow to successfully search for anything. Instead, I instantly get taken to the fallback search results, as soon as I type the first letter. Starting debug for 'Install Mac Apps' [ERROR: alfred.workflow.input.scriptfilter] Code 1: Traceback (most recent call last): File "actions.py", line 50, in <module> apps_list = get_apps() File "actions.py", line 43, in get_apps apps = get_apps_from_github() File "actions.py", line 29, in get_apps_from_github response = urllib2.urlopen(request) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 127, in urlopen return _opener.open(url, data, timeout) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 410, in open response = meth(req, response) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 523, in http_response 'http', request, response, code, msg, hdrs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 448, in error return self._call_chain(*args) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 382, in _call_chain result = func(*args) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 531, in http_error_default raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) urllib2.HTTPError: HTTP Error 404: Not Found [ERROR: alfred.workflow.input.scriptfilter] XML Parse Error 'The operation couldn’t be completed. (NSXMLParserErrorDomain error 4.)'. Row 1, Col 1: 'Document is empty' in XML: getting data from github [ERROR: alfred.workflow.input.scriptfilter] Code 1: Traceback (most recent call last): File "actions.py", line 50, in <module> apps_list = get_apps() File "actions.py", line 43, in get_apps apps = get_apps_from_github() File "actions.py", line 29, in get_apps_from_github response = urllib2.urlopen(request) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 127, in urlopen return _opener.open(url, data, timeout) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 410, in open response = meth(req, response) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 523, in http_response 'http', request, response, code, msg, hdrs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 448, in error return self._call_chain(*args) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 382, in _call_chain result = func(*args) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 531, in http_error_default raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) urllib2.HTTPError: HTTP Error 404: Not Found [ERROR: alfred.workflow.input.scriptfilter] XML Parse Error 'The operation couldn’t be completed. (NSXMLParserErrorDomain error 4.)'. Row 1, Col 1: 'Document is empty' in XML: getting data from github [ERROR: alfred.workflow.input.scriptfilter] Code 1: Traceback (most recent call last): File "actions.py", line 50, in <module> apps_list = get_apps() File "actions.py", line 43, in get_apps apps = get_apps_from_github() File "actions.py", line 29, in get_apps_from_github response = urllib2.urlopen(request) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 127, in urlopen return _opener.open(url, data, timeout) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 410, in open response = meth(req, response) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 523, in http_response 'http', request, response, code, msg, hdrs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 448, in error return self._call_chain(*args) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 382, in _call_chain result = func(*args) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 531, in http_error_default raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) urllib2.HTTPError: HTTP Error 404: Not Found
altryne Posted May 23, 2014 Author Posted May 23, 2014 Weird as hell! Works on my build server fine, filters and everything... I think it's a mac update issue, investigating. Thanx for notifying me I can't seem to get this workflow to successfully search for anything. Instead, I instantly get taken to the fallback search results, as soon as I type the first letter. Starting debug for 'Install Mac Apps' [ERROR: alfred.workflow.input.scriptfilter] Code 1: Traceback (most recent call last): File "actions.py", line 50, in <module> apps_list = get_apps() File "actions.py", line 43, in get_apps apps = get_apps_from_github() File "actions.py", line 29, in get_apps_from_github response = urllib2.urlopen(request) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 127, in urlopen return _opener.open(url, data, timeout) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 410, in open response = meth(req, response) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 523, in http_response 'http', request, response, code, msg, hdrs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 448, in error return self._call_chain(*args) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 382, in _call_chain result = func(*args) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 531, in http_error_default raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) urllib2.HTTPError: HTTP Error 404: Not Found [ERROR: alfred.workflow.input.scriptfilter] XML Parse Error 'The operation couldn’t be completed. (NSXMLParserErrorDomain error 4.)'. Row 1, Col 1: 'Document is empty' in XML: getting data from github [ERROR: alfred.workflow.input.scriptfilter] Code 1: Traceback (most recent call last): File "actions.py", line 50, in <module> apps_list = get_apps() File "actions.py", line 43, in get_apps apps = get_apps_from_github() File "actions.py", line 29, in get_apps_from_github response = urllib2.urlopen(request) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 127, in urlopen return _opener.open(url, data, timeout) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 410, in open response = meth(req, response) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 523, in http_response 'http', request, response, code, msg, hdrs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 448, in error return self._call_chain(*args) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 382, in _call_chain result = func(*args) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 531, in http_error_default raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) urllib2.HTTPError: HTTP Error 404: Not Found [ERROR: alfred.workflow.input.scriptfilter] XML Parse Error 'The operation couldn’t be completed. (NSXMLParserErrorDomain error 4.)'. Row 1, Col 1: 'Document is empty' in XML: getting data from github [ERROR: alfred.workflow.input.scriptfilter] Code 1: Traceback (most recent call last): File "actions.py", line 50, in <module> apps_list = get_apps() File "actions.py", line 43, in get_apps apps = get_apps_from_github() File "actions.py", line 29, in get_apps_from_github response = urllib2.urlopen(request) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 127, in urlopen return _opener.open(url, data, timeout) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 410, in open response = meth(req, response) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 523, in http_response 'http', request, response, code, msg, hdrs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 448, in error return self._call_chain(*args) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 382, in _call_chain result = func(*args) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 531, in http_error_default raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) urllib2.HTTPError: HTTP Error 404: Not Found paulw 1
altryne Posted May 23, 2014 Author Posted May 23, 2014 Fixed and updated in Packal http://www.packal.org/workflow/install-mac-apps @pauliw let me know if works for you now (v1.3) paulw and thec13 2
altryne Posted August 24, 2014 Author Posted August 24, 2014 Why does it put the app in user/name/application? Sorry for the late reply...It puts they apps there to differentiate between apps you installed personally. And to prevent "overrides". Also I think that putting apps in /Applications requires permissions. But not sure
zipcode Posted May 13, 2015 Posted May 13, 2015 Like the rest of the folks first say, this is an awesome workflow, very useful and powerful. It follows precisely in what a launcher app is designed to do when you get to extending custom routines to the app. It's simple and specific in how it works and what it does. Plus I believe, it has a couple other great aspects to it that I like which is slightly outside the scope of this thread. But first I'll address why I think it's great for my use. I'm constantly thinking of ways I can increase my production, using less mouse and more keyboard. So I love discovering these kind of addons for Alfred. Not only is it something I do very often on a weekly basis, but it fits exactly the style I look for when thinking on creating one myself or browsing ones being shared by friendly folks such as the people I notice within this forum community. Secondly, I wanted to mention the beauty of how well this fits Alfred's Workflow design starting with the simplicity of how it was created and how to use it as it follows right along with the way in how Alfred is used alone. It's a good example of how a workflow like this that doesn't sacrifice using more load on the computer resources while peforming such a common task much more efficiently. In fact, I believe it can be also used as an example of easily showing the potentials of what other uses can be added as a workflow. I hope I will eventually be able to share my appreciation in creating a useful workflow and sharing it here that others can find useful.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now