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

New module: X.L.ConditionalLayout #825

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

slotThe
Copy link
Member

@slotThe slotThe commented Aug 23, 2023

Supersedes #582

What I haven't done, yet we probably should (not necessarily in this PR):

TODOS:

New module: X.L.ConditionalLayout

Provide conditional variants of 'ModifiedLayout' and 'Choose', so that modifications (specific layouts) are only applied when a particular condition is met.

Co-authored-by: Tomas Janousek tomi@nomi.cz
Co-authored-by: Ivan Malison IvanMalison@gmail.com


Description

Include a description for your changes, including the motivation
behind them.

Checklist

  • I've read CONTRIBUTING.md

  • I've considered how to best test these changes (property, unit,
    manually, ...) and concluded: cursory testing on my computer yielded the desired results, though someone else should look at this.

  • I updated the CHANGES.md file

Provide conditional variants of 'ModifiedLayout' and 'Choose', so that
modifications (specific layouts) are only applied when a particular
condition is met.

Co-authored-by: Tomas Janousek <tomi@nomi.cz>
Co-authored-by: Ivan Malison <IvanMalison@gmail.com>
XMonad/Layout/ConditionalLayout.hs Outdated Show resolved Hide resolved
XMonad/Layout/ConditionalLayout.hs Outdated Show resolved Hide resolved
@slotThe slotThe marked this pull request as draft August 30, 2023 18:46
@slotThe
Copy link
Member Author

slotThe commented Aug 30, 2023

There's a but that I can't figure out right now: Assuming something like

myLayout = onWorkspace "4" (tall ||| Full) $ Full ||| tall ||| Mirror tall
 where
  tall = Tall 1 (3/100) (1/2)

one needs to issue five M-SPC calls to cycle through all layouts, regardless which branch one is on right now (some of those M-SPC invocations will just not do anything—at least not visibly).

Haven't tried debugging this yet, as its getting late, but perhaps someone else immediately knows what's up.

@geekosaur
Copy link
Contributor

Is using Choose internally wise? That's going to add a couple extra mod-space-s and I'm wondering how that interacts with the explicit condition (wouldn't it effectively invert it?).

@geekosaur
Copy link
Contributor

Also it may be better to leave PerScreen alone until we decide what's happening with #813.

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

Successfully merging this pull request may close these issues.

Display bug with IfMax, PerScreen, PerWorkspace with decorated layouts
2 participants