ianyh / Amethyst

Automatic tiling window manager for macOS à la xmonad.
https://ianyh.com/amethyst/
MIT License
14.74k stars 487 forks source link

[Feature request] screen padding in addition to window margins #997

Open donnydark0 opened 4 years ago

donnydark0 commented 4 years ago

1) Max width Proposal: Adding option to set a maximum window width Reason: Allow for smaller window size when only 1 window is open, e.g. in "tall" layout, but still make use of full screen size when several windows open

2) Margin Behaviour Proposal: Change margin behavior to only work as a separator between windows Reason: If you like a gap between windows you have to set a margin. However, margin also acts as a padding at the edges of the screen. As of right now you cannot have zero gap at the edges AND gap between windows.

minego commented 4 years ago

I'd like to second the comment about margins. I really like having a gab between my windows, but I don't want that padding around the edges of the screen.

This could be resolved for me by allowing negative values for screen padding to account for the window margins.

vladimirlogachev commented 3 years ago

Sure, allowing negative values for screen padding will remove unnecessary space at the screen edges, which will look awesome.

chmurson commented 2 years ago

problem 1. looks related to this one: https://github.com/ianyh/Amethyst/issues/1076, slightly different solution but I believe the source problem is the same.

Im not entirely sure what you mean by:

(...) but still make use of full screen size when several windows open

mike-lloyd03 commented 2 years ago

I'd like to voice support for max window width as well.

The idea is that if a single window is open, it's width is limited to a user defined value, leaving padding on the left and right side. If a second window is open, the layout would act as normal (no additional padding). I use LeftWM for my Linux machine and this is a feature they've included if you're looking for something to model after. This is really handy on an ultrawide monitor.

Single window:

--------------------------------------------------------
|             |--------------------------|             |
|             |                          |             |
|             |                          |             |
|             |                          |             |
|             |                          |             |
|             |                          |             |
|             |                          |             |
|             |                          |             |
|             |                          |             |
|             |__________________________|             |
--------------------------------------------------------

Multiple windows:

--------------------------------------------------------
||--------------------------||------------------------||
||                          ||                        ||
||                          ||                        ||
||                          ||                        ||
||                          ||________________________||
||                          ||------------------------||
||                          ||                        ||
||                          ||                        ||
||                          ||                        ||
||__________________________||________________________||
--------------------------------------------------------
mike-lloyd03 commented 1 year ago

You can achieve a max window width with a custom layout. See https://github.com/ianyh/Amethyst/issues/1076#issuecomment-1440957027

ianyh commented 1 year ago

I'm in favor of handling something like a max window width in a custom layout because I don't see a universally correct position for such windows.

The screen padding idea (with allowances for negative values) is compelling, though. You could also accomplish that with a custom layout, but it seems more universally applicable across layouts.