Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Developer procedure #6

Closed
Habbie opened this issue Oct 10, 2014 · 14 comments
Closed

Developer procedure #6

Habbie opened this issue Oct 10, 2014 · 14 comments

Comments

@Habbie
Copy link
Contributor

Habbie commented Oct 10, 2014

Normal users ('the 99%') will make do with the modules we include, and will not have to bother with brew or rocks or whatever.

For the rest, being developers, and users who want beta stuff, we need to document how to submit and how to use third party mods. Probably comes down to how Mjolnir works right now for all modules.

@Habbie
Copy link
Contributor Author

Habbie commented Oct 10, 2014

Provide a minimal way to install/manage modules

Users who need modules we don’t ship, can install luarocks (although we should look at how we make this less insanely broken)

@cmsj cmsj added this to the 1.0 milestone Oct 14, 2014
This was referenced Oct 14, 2014
@Habbie Habbie added the docs label Oct 18, 2014
@cmsj
Copy link
Member

cmsj commented Oct 19, 2014

CONTRIBUTING.md covers the angles for devs who want to submit their modules to us.

@cmsj cmsj mentioned this issue Oct 29, 2014
@cmsj
Copy link
Member

cmsj commented Nov 7, 2014

@Habbie how do you feel about deferring this past 1.0? I'm not seeing any interest in working on this, and I'm starting to think maybe we leave it until someone actually asks how they can distribute third party extensions. It shouldn't need any code changes in Hammerspoon at that point, right? Just documentation for how they should do it.

@Habbie
Copy link
Contributor Author

Habbie commented Nov 7, 2014

I agree, it's not a blocker.

@cmsj cmsj removed this from the 1.0 milestone Nov 7, 2014
@tmandry
Copy link
Contributor

tmandry commented Dec 7, 2014

Longer term, I don't necessarily see this as being restricted to developers. What if a normal user wants to install a module that gives them functionality out of the box, like a full-on window manager? They could install as many of these as they want to customize their OSX workflow, just like plugins in a text editor. Is this a use case you want to support?

@cmsj
Copy link
Member

cmsj commented Dec 17, 2014

@tmandry yes, I think that is worth supporting, although I'd still like to explore having them shipped with Hammerspoon where possible. If an extension was suitably crafted, a user could either just enable a given set of behaviours when Hammerspoon loads, or have hotkeys that flip them into different modes.

Either way, we support loading extensions from ~/.hammerspoon/ now, so it's already possible for people to distribute extensions outside of the app :)

@cmsj
Copy link
Member

cmsj commented Dec 17, 2014

I'm going to re-milestone this for 1.0, because it is a question that's come up twice now, so I think we should cover it in some docs somewhere.

@cmsj cmsj added this to the 1.0 milestone Dec 17, 2014
@tmandry
Copy link
Contributor

tmandry commented Dec 17, 2014

Sounds good. I think there is a lot of merit in having separate release cycles for plugins whose maintainers want to update them regularly. Sounds like ~/.hammerspoon will work for now.

@bradparks
Copy link

I'd like to do a new pure lua extension. Do I have to rebuild the app in XCode every time I want to test my extension? Or can I just drop it in a folder somewhere and it'll get picked up and reloaded every time my config is reloaded?

I've read this and seen this but neither were explicit about how to test this simple case of a pure lua extension. Thanks!

@bradparks
Copy link

Hey... I'm sure it was obvious to most, but I just figured out how to test a pure lua extension easy... All I had to do was create a new folder at:

/Applications/Hammerspoon.app/Contents/Resources/extensions/hs/my_extension

and drop the init.lua file in there, and it's working great. Thanks!

@cmsj
Copy link
Member

cmsj commented Sep 18, 2015

@bradparks yep, that works. you can also put it into ~/.hammerspoon/ which may be easier

@lowne
Copy link
Contributor

lowne commented Sep 19, 2015

yes, better put it into ~/.hammerspoon/hs/my_extension/init.lua, this way your code will survive app updates etc.

@bradparks
Copy link

ah! good point... thanks a bunch!

latenitefilms referenced this issue in latenitefilms/hammerspoon Apr 8, 2017
@cmsj
Copy link
Member

cmsj commented Sep 4, 2017

I'm going to close this out - we have Spoons now, which likely cover much of what this issue was intended to cover.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants