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

Explain the different use cases of Layout.Spacing, Layout.Gaps and Hooks.ManageDocks. #199

Closed
xrvdg opened this issue Jul 3, 2017 · 3 comments

Comments

@xrvdg
Copy link
Contributor

xrvdg commented Jul 3, 2017

I wanted to start a discussion about the use cases of these layout modules as per issue #160 . The modules Layout.Spacing, Layout.Gaps and Hooks.ManageDocks seem to have overlapping functionality to the uninitiated.

Layout.Spacing vs Hooks.ManageDocks

Layout.Gaps already contains a note that if you want to leave space for a dock-type application you should use Hooks.ManageDocks. I think that Layout.Spacing should also contain the first sentence of the note:

Note that XMonad.Hooks.ManageDocks is the preferred solution for leaving space for your dock-type applications (status bars, toolbars, docks, etc.), since it automatically sets up appropriate gaps, allows them to be toggled, etc.

And maybe a link with reference to Layout.Gaps for the second sentence in the note.

However, XMonad.Layout.Gaps module may be useful in some situations where the automated approach of ManageDocks does not work; for example, to work with a dock-type application that does not properly set the STRUTS property, or to leave part of the screen blank which is truncated by a projector, and so on.

Layout.Spacing vs Layout.Gaps

The modules Layout.Spacing and Layout.Gaps seem to have overlapping functionality. Both create a gaps/space around a window. The differences being that:

  • Layout.Spacing is user friendlier if you want uniform gaps rather than different gap sizes;
  • Layout.Gaps can toggle the gaps, but I guess this is not to hard to implement for Layout.Spacing if desired. It already "toggles" the spaces with the smartSpacing* functions.

Are there more cases to use Layout.Gaps over Layout.Spacing?

@ellakk
Copy link

ellakk commented Jul 3, 2017

Are there more cases to use Layout.Gaps over Layout.Spacing?

The documentation clearly says Layout.Spacing is to add spacing around windows and Layout.Gaps is for the screen edges (Fallback if ewmh does not not work for some reason). I don't see how this functionality overlaps. There's a fad these days in the wm community to add gaps around windows for seemingly aesthetic reasons, there's a popular fork (confusingly called i3-gaps, it would be i3-spacing in xmonad terms) of I3 that's built around this functionality.

@xrvdg
Copy link
Contributor Author

xrvdg commented Jul 3, 2017

@ellakk you are absolutely right, I have read the documentation with i3-gaps in mind. My bad!

@xrvdg xrvdg closed this as completed Jul 3, 2017
@geekosaur
Copy link
Contributor

geekosaur commented Jul 3, 2017 via email

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

No branches or pull requests

3 participants