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

Remove Window Resize Constraint #2526

Open
Mirage-Panda opened this issue Jan 27, 2025 · 4 comments
Open

Remove Window Resize Constraint #2526

Mirage-Panda opened this issue Jan 27, 2025 · 4 comments
Labels
discussion Discussion enhancement New feature or request

Comments

@Mirage-Panda
Copy link

Feature Request

I recently came across a Github repo called macwmfx which takes advantage of disabled SIP (and requires something called ammonia injector) to perform certain tasks like disabling traffic lights and removing window resize constraints.
This would be especially useful for people on 13" or 14" laptop screens.

Right now, installing this tool is still a hassle, and I think including some of these features in yabai's scripting addon would be straightforward and offers more customisability within the program.

Just something else

The rounded corners on MacOS can look really strange on configs that have smaller window gaps. I came across a tool made by the same person has another Github repo called apple sharpener which disables MacOS corner masks which also requires the ammonia injector.

@koekeishiya
Copy link
Owner

koekeishiya commented Jan 27, 2025

For these modifications to work you need to inject into every application, or into some part that every application themselves load (usually by hooking PID 1 - launchd, to facilitate the load). Doing so would require disabling more security features than what yabai requires currently to inject into Dock.app.

Edit:
I personally don't think the BSP layout is very productive for real work at this point, and I also don't think removing window size constraints is very productive. The applications that enforce such constraints usually do so because those are the sizes in which the GUI remain usable.

The only reason I have not attempted to do something different for yabai yet is that I no longer use my mac for real work, or in the minority of cases when I do, I only have 2 windows up on the same workspace and use scratchpad to temporarily show and hide windows that I access sporadically.

@Mirage-Panda
Copy link
Author

Right, I didn't think about the injection part of this. If you were to implement this feature, maybe it can be enabled as something separate from the scripting addon?

I like to use the books app, and when have another window in a vertical split, the books app blocks the other window when focused. The same is true for the apple music app.
For me personally, I do light work on my mac, and when I do have lots of windows open, the BSP layout is actually very suited for productivity. The resize constraints is just an annoyance that just… doesn't feel right. TWMs on Linux desktops don't have resize constraints, and I personally have done some crazy things when dual-booting Asahi Linux.

As for stability, I think square windows is much easier to implement, since it is something everyone can appreciate, and doesn't break things as much. As of right now, the janky (no pun intended) solution is to use jankyborders, width > 8, square paired with an undocumented order=above option.

@koekeishiya
Copy link
Owner

I don't necessarily disagree with what you are saying, but I think the best way forwards for now would be to contact the developers of the tools you listed and see if they would be interested in streamlining the installation and usage process of their software.

@koekeishiya koekeishiya added enhancement New feature or request discussion Discussion labels Jan 27, 2025
@Mirage-Panda
Copy link
Author

Mirage-Panda commented Jan 27, 2025

I'm not much of a coder myself, so I can't really make pull requests and that kind of fancy stuff. I can try to contact the developer and see but for now, I can contact them about the installation process and see if they can simplify it a bit

Edit: maybe pull requests are a little complex because it requires a rework of quite a few systems

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Discussion enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants