finestructure / Hummingbird

A macOS utility that makes window management a breeze
https://hbird.app
MIT License
224 stars 20 forks source link

Homebrew Cask #11

Closed rileytwo closed 5 years ago

rileytwo commented 5 years ago

Hi! I think this app is great, and I've spent the last few weeks looking for something exactly like this. Thank you for making it possible! If I can, I try to download as many of the applications I intend to use through Homebrew with brew cask.

I was disappointed to see that this wasn't available through Homebrew, so I made a cask! I'm posting the contents here to see if there's anything that you think I should change. Did I specify the url, name, and homepage right? The url was taken from the site download link, but if there is a better link you would prefer me to use, let me know.

cask 'hummingbird' do
  version '3.0.0-8'
  sha256 '24422e8cf4ac57a61cd25771cbaa02cc172be7cf73141780f52682326c8faabb'

  url "https://finestructure.co/s/Hummingbird-#{version.no_dots}.zip"
  name 'Hummingbird'
  homepage 'https://finestructure.co/hummingbird'

  app 'Hummingbird.app'
end

With the above cask, I was able to successfully install Hummingbird without any issues. If you see something amiss, please point it out!

Again, thanks for the app 😄

finestructure commented 5 years ago

Hi Riley,

that’s great, thanks so much for looking into this! I’m a fan of installing via cask but I often forget it’s there.

How did you find out about Hummingbird? I’m always looking for ways to improve reach.

The link is fine, although I do wonder what the update mechanism would be. Where does the cask definition live? I’m not planning on a lot of major changes, except one in the next few weeks, which is around the payment model.

This will change the downloadable version of Hummingbird to paid + license. I’m not sure if that model is compatible with brew cask. Does it have to be freeware?

Of course the open source version will still be around and have the same functional code as the “paid” version. I’m just adding a paid option for users who don’t want to build the app (or don’t have the means) - or want to support an indie developer :)

Cheers, Sven

On 2 Sep 2019, at 17:24, Riley Roach notifications@github.com wrote:

Hi! I think this app is great, and I've spent the last few weeks looking for something exactly like this. Thank you for making it possible! If I can, I try to download as many of the applications I intend to use through Homebrew with brew cask.

I was disappointed to see that this wasn't available through Homebrew, so I made a cask! I'm posting the contents here to see if there's anything that you think I should change. Did I specify the url, name, and homepage right? The url was taken from the site download link, but if there is a better link you would prefer me to use, let me know.

cask 'hummingbird' do

version '3.0.0-8'

sha256 '24422e8cf4ac57a61cd25771cbaa02cc172be7cf73141780f52682326c8faabb'

url "https://finestructure.co/s/Hummingbird-#{version.no_dots}.zip"

name 'Hummingbird'

homepage 'https://finestructure.co/hummingbird'

app 'Hummingbird.app' end With the above cask, I was able to successfully install Hummingbird without any issues. If you see something amiss, please point it out!

Again, thanks for the app 😄

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

rileytwo commented 5 years ago

Not a problem Sven!

I'm a fan of the "hold a modifier key and click-anywhere-on-a-window" functionality that many GNU/Linux desktop environments offer.

I first discovered dmarcotte/easy-move-resize in a Stack Overflow post when searching for a macOS version of the functionality I described above. I noticed that easy-move-resize hadn't been updated in a while, so I looked at the forks and noticed Hummingbird in particular because the repo was renamed.

Where does the cask definition live?

I'm not sure I understand what you're asking here--are you asking where it is currently? or are you asking where it would be once it's accepted into Homebrew?

As for whether Hummingbird needs to be freeware to be included in Homebrew, I'm not entirely sure. I've downloaded casks before that ultimately required a license to be activated in order to get the full functionality an application has to offer. For example, I've downloaded CleanMyMac X, Adguard, and BetterTouchTool through brew cask without any troubles.

However, I think the easiest route would be creating a custom tap, which is separate from the core of Homebrew, but allows users to still install binaries and applications using brew on the command line. If you aren't keen on maintaining that yourself, I'd be happy to do so on your behalf! I won't go into much detail here, but we can discuss the specifics later on if that is something you're interested in pursuing.

Can you give a bit more detail on the paid model versus the open source/free version?

To me, it sounds like there will two options of downloading and installing Hummingbird:

In option one, does the user need to purchase Hummingbird before being able to download the app? Or, does the user download Hummingbird and enter a license upon opening the app? Requiring a purchase before download would make the situation a little more difficult, and I'm not sure a cask would be possible in that case. I'm sorry if I misunderstood--I just want to make sure I fully understand the situation!

Thanks, Riley

finestructure commented 5 years ago

Hi Riley,

I'm not sure I understand what you're asking here--are you asking where it is currently? or are you asking where it would be once it's accepted into Homebrew?

Both, I guess =) I’d like to understand what the update mechanism would be, really. I wouldn’t want the cask to grow stale so I’d at least want to be able to open an MR to fix it myself. I haven’t worked with casks at all so far, beyond just running brew cask install and I don’t know how the taps work.

However, I think the easiest route would be creating a custom tap, which is separate from the core of Homebrew, but allows users to still install binaries and applications using brew on the command line. If you aren't keen on maintaining that yourself, I'd be happy to do so on your behalf! I won't go into much detail here, but we can discuss the specifics later on if that is something you're interested in pursuing.

That sounds like a plan. How about a repo under “finestructure” that we both have access to? It’d probably be better to have it sit next to the Hummingbird source.

Can you give a bit more detail on the paid model versus the open source/free version?

It’ll be a free to download, free to try for a week or two.

To me, it sounds like there will two options of downloading and installing Hummingbird:

• Purchase Hummingbird, and download via https://finestructure.co/s/Hummingbird-{version goes here}.zip on Hummingbird's homepage (or, download Hummingbird, and then enter in a license).

• Clone this repository, and build Hummingbird from source. Since this requires more work from the user, this option will be free and will not require the user to enter in a license or make a purchase.

Yes, exactly!

Let me know how that maps onto your plans for the cask and then we can maybe discuss how to best set that up technically.

Cheers, Sven

rileytwo commented 5 years ago

Hey Sven,

This will be my first experience with casks as well! It'll be a learning experience for the both of us :smile:.

When preparing the cask, I took a look at the Contributing.md, and the Adding a Cask.md pages to get a grip on the basics of creating and maintaining/updating casks.

I think a repo under finestructure that the both of us have access to is a good idea. I'm still relatively new to GitHub, so I'm not sure if there's anything I need to do on my end to help with setting that up.

I have the cask, hummingbird.rb locally on my machine. Should move this discussion to something like Slack or Discord, and we can talk about setting up the repo and the details of the cask there?

Thanks, Riley

finestructure commented 5 years ago

When preparing the cask, I took a look at the Contributing.md, and the Adding a Cask.md pages to get a grip on the basics of creating and maintaining/updating casks.

Alright, I’ve had a quick look through that. Sounds like one way is to have the cask added to Homebrew directly and the other is a tap, where the cask definition lies outside of homebrew, right?

I have no strong opinion what’s better. I don’t think there’ll be a lot of changes after the next release, so maybe just having it in Homebrew itself is fine.

I think a repo under finestructure that the both of us have access to is a good idea. I'm still relatively new to GitHub, so I'm not sure if there's anything I need to do on my end to help with setting that up.

In any case, I’ve created https://github.com/finestructure/Hummingbird-cask and sent you an invite.

I have the cask, hummingbird.rb locally on my machine. Should move this discussion to something like Slack or Discord, and we can talk about setting up the repo and the details of the cask there?

I’ve only just realised we’ve been having this exchange via the Github issue 🤦‍♂️ - I was responding to the emails!

No big deal though but let’s take this to email proper: sas@finestructure.co 🙂

Cheers, Sven

rileytwo commented 5 years ago

Hey @finestructure, I sent you an email--checking in to see if you got it?

finestructure commented 5 years ago

Yes, I got it, apologies for being slow right now. Will reply asap! :)