Jump to content

Search, Download and Install mac apps


Recommended Posts

Download and Install mac apps. 

 

xscreenshot2014-04-11154338.png.pagespee

 

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

 

screenshot2014-04-11154353.png

 

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 :D

 

Doesn't support pkg. yet, will soon.

Supports aleoop for updates

Edited by altryne
Link to comment

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...

Link to comment

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'?

Link to comment

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.

Link to comment

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!

Link to comment

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? :P

Link to comment

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.

Link to comment

Download and Install mac apps. 

 

Esrf+.png

 

update 1.1 : There is now a progress window that shows the download

 

4miE+.png

 

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 :D

 

Doesn't support pkg. yet, will soon.

Supports aleoop for updates

 

I believe the link is down.

Link to comment
  • 5 months later...
  • 4 weeks later...
  • 5 months later...
 

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
Link to comment

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
Link to comment
  • 1 month later...
  • 1 month later...

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 

Link to comment
  • 8 months later...

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.

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...