Hacker News new | past | comments | ask | show | jobs | submit login
Loop: Open-source macOS window manager (github.com/mrkai77)
177 points by edu 10 months ago | hide | past | favorite | 90 comments



Open-source, except for the "new framework used to make Loop's settings window", so don't expect to build from source.

https://github.com/MrKai77/Loop/issues/406


As stated in the comment on GitHub, Luminare will only be accessible by sponsors. If you have financial restrictions or are not able to sponsor me, I am open to giving the you the source code. However, this is all in order to make Loop more profitable, as I have put all my free time into making it. I hope you understand :)


I don't think anyone disputes rewarding individuals for software they provide to their patrons. I hope you prosper!

But "open source to those who pay" is quite a stretch of the definition.

If you check Open Source Initiative's list of approved licenses, you won't find anything that fits this definition:

https://opensource.org/licenses

The closest I know to what you're describing is Business Source License (BSL):

https://en.wikipedia.org/wiki/Business_Source_License

> The Business Source License (SPDX id BUSL) is a software license which publishes source code but limits the right to use the software to certain classes of users. The BUSL is not an open-source license, but it is source-available license that also mandates an eventual transition to an open-source license. This characteristic has been described as a compromise between traditional proprietary licenses and open source.


This did not occur to me, thanks for bringing this to my attention! I will definitely look into this! I guess Luminare may end up being fully open-sourced.


This fits even more with the Wikipedia definition of BSL.

Just call it what it is, there are no feel-good points for advertising it as something it isn't.

People are ambivalent about BSL licenses because of the way companies use them to step back from their previous commitment to open source.

They're still an improvement over closed-source licenses.


You can sell GPL software. But the purchasers can then turn around and distribute it: https://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMon...


I don't know if it would work for you, but dual licensing GPL software is a common way folks generate money to support their work.


I think this confuses "software is open source" like it's some intrinsic property of the software, and "if you pay me I will sell you the software under an OSS license which is totally fine.

It's a bit of an honor system because is allowed to just publish it for anyone to download for free but it's absolutely something you can do.


If you need to go proprietary to make enough money that's fine, but this is not open source and in particular it is not compatible with the GPLv3 license stated in the README. You have likely already given some users the right to redistribute Luminaire under GPLv3.


That's not Open Source then. And probably goes also against the GPLv3 license that you're using.


I don't think they're bound by the GPL if they're the sole copyright owner. Did they take outside contributions without a copyright assignment?


If you release software under a license then that version of the software is bound by the license.


Unequivocally false. A sole copyright holder is not bound by license terms in the same way as parties to whom the work is being licensed.


Maybe I'm missing something? But my assumption was that if I "acquired" (downloaded…) software licensed under e.g GPLv3, me as the user at least have the theoretical possibility to pursue the rights granted to me by the copyright holder in the license.

Of course the copyright holder can license new distributions under a different license (or different licenses at the same time). But are you saying that a copyright holder post hoc can revoke the license?

Wouldn't that be kinda weird? Suppose I buy some proprietary software (without any dependencies) because it's GPLv3, and then when I wanna exercise my rights, the sole copyright holder just goes "nah, when I think about it, this is actually not GPLv3".

(If you are correct, I guess that situation then might just be a civil case unrelated to the actual license where I essentially didn't get what I paid for)


No one claimed or even hinted that authors can retroactively revoke the license. But sole authors aren't bound by the terms of the GPL when they themselves distribute the software because they already have that right as an author without a license, as opposed to others who are granted that right by the license.


Hmm. I interpreted "[not publishing source code] goes also against the GPLv3 license that you're using" as meaning that the author is "bound" by the license to provide the source code.

Of course, the terms in GPLv3 that puts limits on the licensee / user (like that derivate works must be GPLv3) are not relevant.

But section 6 in the license stating that the source code must be distributed still holds true. Either OP distributes the source code to people who have the binaries, or the work is not licensed under GPLv3?


They can change the license by creating a new release with a new license, but existing versions with the previous license retain the previous license.


The copyright holders / holder can change or rescind the license, but not retroactively.


> this is all in order to make Loop more profitable, as I have put all my free time into making it.

How do you plan on monetising Loop?


I do not plan on ever monetizing the core functionality of Loop, which is why I initially turned to making some of the source paid. Of course, this didn't seem to work, so Loop is now once again, fully open source :p

Currently, the only way I am making money is via donations, and it seems to be working much better than how I initially was doing, so I'll see based on how these first few weeks with 1.0 ends up.


I wish you the best. I don't think "not-fully" open source would make a difference in terms of donations. Have you looked at setting up a Patreon?


I guess that may be true. I will definitely look into setting one up!


A popular model is delayed source code release, so new features are developed on a private branch and binary releases, along with the code, and made available to supporters and then after X weeks merged into the main branch. Not sure how this would work with GPL3.


Wow, this is bad


I always love indie apps and never want to discourage creators.

Some unsolicited advice though … given macOS in a few month time will have Window Tiling natively built in - you might want to articulate how Loop is different/better.

https://www.macrumors.com/2024/06/12/macos-sequoia-window-ti...


Actually, macOS Sequoia only has halves, maximize and quarters as resize options, and has very limited keyboard shortcuts. Some people will be happy with it, and some will need more. Loop is very flexible in terms of making custom window sizes, keybinds, cycles etc., and is perfect for those who need more!


Good to know. As someone with only mild interest in window managers, my first thought was that this will probably be obsoleted by the coming feature GP refers to. So GP is right, your explanation on the product page would be useful for at least some of us.


But expect Apple to add more features. I would be careful on staking a business plan on the current lack of windowing features in MacOS or you could find the rug pulled out from under you.

Good luck!


As long as I can assign useful keyboard shortcuts, that's enough for me and hits the sweet spot (hello Windows 7!).

I don't use the more advanced Rectangle features either.


I have been a long term Rectangle user on Mac and a WinSplitRevolution for decades on Windows, my biggest preference as a developer is for it to be keyboard centric.

I love the use of a numpad as a positional reference for the screen.

Hotkey + NumPad 6 = right side of screen full Hotkey + NumPad 5 = full screen Hotkey + Numpad 1 = Bottom left Quarter

Repeated presses of these cycle between Half, 3rd and Quarter

This reminds me of the Crysis UI which I still love as a weapon / armor switcher :)


Loop can actually be strictly keyboard centric if you want too. It's all fully customisable. I too only use the keyboard


Nice!


I really like Divvy for window management which takes a different approach from most of the others

https://apps.apple.com/fi/app/divvy-window-manager/id4138575...


Swish is the one that solved this problem for me. Feels similar to Loop and Penc, but is primarily trackpad-driven, but also customizable with modifier keys for additional functions. I wish it had more updates, but at least its core features have worked reliably.

You don't even press the keyboard to start, but you position the mouse over the window's titlebar and just use two-finger swipes. The website's homepage does a better job demonstrating it under a minute.

https://highlyopinionated.co/swish/


Any chance of a window manager that lets you alt tab between windows instead of between applications. So Alt-tab-tab-tab takes you 3 windows ago, not 3 applications ago, or worse 1 application ago and 2 unrelated windows of that application?

Man I really mis application menus being at the top of windows and being able to layer different windows from different applications in any order that I wish. VNC screen connections just make it into an even worse jumble.


Looks like AltTab is what you're looking for. https://alt-tab-macos.netlify.app/ (free, GPLv3)


There's at least Witch and Contexts.

https://manytricks.com/witch/

https://contexts.co/


I use both Witch and Rectangle. It's surprising how much you need third-party utilities to make macOS usable. The default window management is almost unusable without them. I also dislike the "one-button" philosophy and all the hidden behaviors, like menu items that only appear when you press the Option key. Sigh.


Having tried a lot of them, Contexts is one of the best Window Switcher replacements i could find, have been using it (and Rectangle) for a long time;

It’s fast, great quick search abilities, including `fn + [key]` to quick switch (acronym), etc.

And it doesn't constantly get updates, it just does its thing and does it well.


I really wish for some workflow that let me not use cmd-tab that much - that gets painful (cmd-tab, cmd-c, cmd-v, cmd-t, cmd-w... all day long)


I've got an annoying bug that made Contexts unusable to me. After 10-15 minutes it steals focus from the active window and then the OS will try to bring up the previous app, which means it might even switch desktops to do so.

If I quit contexts bug goes away for some time, but it returns after a while :(

Sent an email to the creator, but given the update cadence I am not holding my breath for a fix this decade.


IIRC it has something to do with full screen apps/use of spaces. Just don’t use either and the bug shouldn’t occur. Annoying but I love the app too much that it was worth giving those up.

If it annoys you enough see if rcmd works for you. It’s the next best alternative Ive found so far. The Dev is great too I use a bunch of his other apps (Lunar and Clop).


I’ve also had that bug happen, not sure why it isn’t happening anymore though…

I think it happened when not rebooting my Macbook for a long time and only with fullscreen windows, and i’d simply restart Contexts. But yea it was annoying indeed. Note that it might also be one of the many Apple macOS (api) bugs…


Most likely apple broke the behavior of an API. Such an annoying platform to maintain software for.


You can DIY and get any level of customization/integration you want

https://news.ycombinator.com/item?id=40713603


macOS has built in shortcuts to switch through windows of the currently focused application. I have it reconfigured to alt+tab

This is not exactly what you are looking for but I personally like it more this way. So for example, I can switch between editor and browser via cmd tab but then I can cycle through browser windows via alt tab. These are two separate actions and it prevents me from having to cycle too much (compared to a solution that cycles through all windows of all applications)

Also helps to build temporal and spatial muscle memory. The first browser window is the main one, the next one was the one before that and so on


Wait, what? Are all windows of an application positioned in the same layer on macOS?


No, all window of an application are not positioned on the same layer.

But when you tab into an application, all of its windows are brought to the front.

If you want to bring one specific window to the front you are supposed to use Exposé, but some power users don’t like this because it uses the mouse instead of the keyboard.


Yeah, when you press ⌘ Tab, you are switching between applications (and ⌘ ` switches between windows of the applications). Super weird IMO.


Conversely, I find the lack of per-app grouping on Windows (outside of the taskbar) irritating, particularly on multi-monitor setups. I understand that it’s not everybody’s preference but it should at least be an option.


The behavior dates back to the original Mac, which could only context switch between applications via a hack that simulated multitasking (the days of 128K memory, etc.)


Not really, no.

Having >1 app at once only appeared with Multifinder, which appeared in System 5.

https://en.wikipedia.org/wiki/MultiFinder

So that came along in 1987 alongside Macs with 1MB RAM. It built upon Switcher, which appeared with the 512kB Mac in 1985.

The reason all OSes now have file open/save dialog boxes is that the original Mac didn't have enough RAM to show a finder window alongside an app, so apps had to provide their own.


I was referring to Switcher, from 1985, which I believe ran on 128k Mac's. I was referring to Switcher because it set the user experience patterns and expectations for how app switching should work that led to multifinder and OSX per-app switching patterns.

The Mac OS has always been an app-first experience (leading users to tend to talk about the name of the app they are using) where Windows has always been a document-first experience (leading users to talk about the file type of the document they are opening). Apps and Documents are obviously both important, so this is a big of a ying and yang thing where it's clearly two sides of the same coin, and yet they lead to a bias to talking about, for example, keynote, which is an app, and to talking about PowerPoint decks, which are documents (again, a bias, not a totality).


Thanks for the reply.

> I was referring to Switcher, from 1985

Ah, OK. You didn't _say_ that, though.

> which I believe ran on 128k Mac's.

I don't think so, no.

The story of its development is here:

https://www.folklore.org/Switcher.html

It mentions needing the RAM, but not what system version. MultiFinder came in with System 5:

https://www.folklore.org/Switcher.html

... so, before that.

I would guess System 2, which was contemporaneous, but I don't know.

https://en.wikipedia.org/wiki/Classic_Mac_OS#Release_history

> I was referring to Switcher because it set the user experience patterns and expectations for how app switching should work that led to multifinder and OSX per-app switching patterns.

Huh. OK. I had never considered that before.


Super handy! I regularly work on multiple projects at once. Have 3 phpstorm windows open, but working on project A, I can just CMD+Tab because project A is focussed. I switch between browser, terminal, editor, etc. Then, when switching to project B, I do CMD+` once in every app, and I’m done.

To me, this makes windows feel like a maze and macos feel natural.


This is a nice feature. There is nothing wrong with letting people switch between windows from the same application.

There is still no reason why you cannot have both CMD-Tab switching between any window and also an option to switch between windows from the same app?


Just found about it on X[1], and I'm quite impressed for how well it looks and work. A great improvement over Rectangle and other options I've tried at some point.

1. https://x.com/JaceThings/status/1802996092616786259


FYI, I've been keeping a list here: https://taoofmac.com/space/apps/window_managers


You can add https://www.irradiatedsoftware.com/sizeup/ - commercial though


Surprised you don't have yabai on the list.


I don’t want to incentivize people to disable System Integrity Protection.


It doesn't require it for this functionality. SIP is needed for some additional features afaik.


Do you have a favorite?


Moom or Amethyst, depending on whether I need tiling or not.


Will test it and see if it’s a replacement for Magnet.

I have another very annoying issue with 3 screens which recover from energy saving after sleep slightly delayed and screw up my window positioning once in a while where all open windows end up on the main screen (I’m using spaces + a single desktop for all screens).

Does anyone know about a solution / tool here which rearranges windows on a previous saved state prior to sleep and waits until all screens are back detected before arranging them again?


Oh yes, I forgot how much of a pain that is. It’s so frustrating.

I’ve been using this for the last couple of years and forgot it was even an issue:

https://cordlessdog.com/stay/


Am I the only one who gave up and embraced the messy windows spread all over the desktop? (Used to use Rectangle.) It's kinda liberating, tbh.


No, not me. I long for a tiling window manager. It‘s not a phase, mom!


I too thrive in that chaos.


I am a big fan of Divvy (https://mizage.com/divvy/)—while both dated and paid, it has a wonderful feature of a visual tile map you can use. In all other cases I know, there are a bunch of shortcuts to make a window upper-top or something. But in many cases, it is not enough, as I need fine-grain control.


Divvy thankfully still works without issue and I love it, but when Apple drops Intel support via Rosetta it's going to be a sad day.

https://thelasso.app gets close, and adds more features (or visual clutter, imo), but still doesn't feel as quick and efficient to use when setting positions for multiple windows quickly. Divvy can be configured to stay open, and because it's always centered on each monitor, for some reason I can find it better than Lasso that opens where the mouse currently is.


Very impressive. I've been a very happy rectangle user for few years now but this new app is way more intuitive and visual. Good job guys ! Would love to be able to control the max size of the "maximize" behavior as I like to have the app in-focus to only fill 50% of my screen. Again, good job guys, it's very impressive and it already replaced Rectangle here !


Update : Controling the max size can be achieved with a custom setting... and it's beautifully done. Give it a try, that app is absolutely perfect already. The mouse setting is really fast and very efficient. Congratulation to the team.


more of a window resizing plugin, not a "window manager" at all. i guess that's what the mac users have gotten to calling these things though.

how is it different than BetterSnap and the army of similar tools? and more important, how is it better. is the differentiator that it is the only open source such plugin? these advantages should be highlighted in the README, and the screen movie thing should show them. i only see half screen tiling demoed, this has existed for a long time with any number of tools.

also how will it differ from sequoia.

AFAICT the unique thing here is the radial menu. i do like that a lot.


A similar mouse/trackpad-based window manager: https://deniz.co/penc/


How does this compare to magnet? Magnet has worked well for me for years, although recently I was trying to clean up my menu bar and realized there was no way to remove the menu bar icon. I’ll ask for some advice on that here actually since there are some Mac experts, is there some terminal incantation to remove a menu bar item?


Previous thread from about 2 weeks ago on a related topic (another tiling WM)[0]. I'm a big fan of the i3-like modes. What is the draw for people towards a window manager like this?

0: https://news.ycombinator.com/item?id=40596689


Pass. https://www.hammerspoon.org/ is a true hacker's toolbox, not just for window management. And all scripted with Lua.


Is this strictly mouse controlled? I use Divvy with a set of keyboard shortcuts to toss my windows around, and would be open to exploring a newer option...but not if it requires me to use the mouse.


Loop is fully usable via the keyboard!


Very good implementation, congrats! I mostly use a few commands from Raycast these days (next display is super cool) but will try this one for dragging.


i love that there's work on this happening -- there are a lot of projects in this space: magnet, rectangle, yabai, this one, others I've forgotten to name (sorry!)

i just can't wait until i can get tiling like i3 has on linux

stacking, tabbed, infinite auto tiling, all keyboard driven with some mouse support all things i miss on macos :(


Not related to Loop, but I'd suggest that you take a look at https://github.com/nikitabobko/AeroSpace if you haven't already!


I've been loving Aerospace. Is as close as i3wm you can get, on Mac OS.


Will do!


The title should be edited, this is only partially open-source.


Now fully open-source :)


Gonna have to try this. Been using bettersnaptool for years.


yet another wm but I use yabai.


Been waiting for 1.0.0 for a bit. This is super nice!




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: