xmonad / xmonad-contrib

Contributed modules for xmonad
https://xmonad.org
BSD 3-Clause "New" or "Revised" License
584 stars 274 forks source link

Extract redundant layouts into new module: X.L.FocusTracking #784

Closed LSLeary closed 1 year ago

LSLeary commented 1 year ago

Description

X.L.StateFull's FocusTracking and the eponymous TrackFloating were redundant, hence the former was slated for deprecation. However, the latter and its host module are somewhat poorly named; the layout modifier has little relation to floats. As such, it's renamed and rehosted, becoming the eponymous FocusTracking.

The redundant offerings in the original modules are redefined in terms of the new module where possible, and deprecated.

See: #418; comments on #253, #783.

The situation is a bit of a mess. This seemed like the best way to resolve it, but I'm open to other options.

Checklist

LSLeary commented 1 year ago

@geekosaur The closest we could get to doing it "right" in contrib would be a layout modifier that tracks a stack for the underlying layout and manually handles the changes it sees every time the layout runs, interpreting insertions and deletions to shift focus accordingly. I don't want to write it, though—I'm tired of spending my efforts on hacky code to work around xmonad's weaknesses. Better to fix problems at the source.

LSLeary commented 1 year ago

Sorry about my sloth. I picked up a couple of other projects over the holidays and got stuck on one of them.

I've made the changes to the docs, but I didn't touch the rest of X.L.TrackFloating. The docs in that module have a lot of cruft—if I were to rewrite them, I'd mostly just be stripping them away. I don't mind doing that, but perhaps someone else wants to edit them a bit more selectively.