[xmonad] Can avoidStruts stop working?

Bogdan Sinitsyn bogdan.sinitsyn at gmail.com
Wed Mar 9 13:43:07 UTC 2016


Thanks for testing and reminding. Now I'm a bit more sure that it's 
X.L.PerWorkspace bug. But I don't know how to fix existing code except some 
ugly workarounds. I'll think about it when I have more time.

On Wednesday, March 9, 2016 8:30:51 AM MSK you wrote:
> Bogdan
> I tested your theory about X.L.PerWorkspace bug. I completely commented
> that module out and used one layout for all my WS. Here is the lines of
> code i changed:
> https://gist.githubusercontent.com/davama/c380cb816a0b578f94ae/raw/da796fef7
> 2bd382bdea3b9f117ecb42728cf4052/xmonad.hs-without-perworkpace-module
> 
> The above change was tested with haskel xmonad 0.12 and with GIT xmonad.
> Interestingly with GIT xmonad, my avoidstruts breaks entirely for all WS.
> 
> Here is a screenshot of how the window clients look on my two visible
> workspaces upon login (using haskell xmonad):
> http://i.imgur.com/g8HW35g.png
> 
> This screen shot is taken after i do mod-shift-space per each visible WS:
> http://i.imgur.com/wBOO4qT.png
> 
> Please let me know if i can test something else.
> 
> Thanks
> 
> On Sat, Mar 5, 2016 at 2:23 PM, Dave Macias <davama at gmail.com> wrote:
> > Thank you for the pointer. Ill test without it and report soon.
> > 
> > As far as clearer explanation, this is the order of operations as they
> > happen:
> > 1. Login into computer or restart xmonad (mod-q)
> > 2. Xmonad starts but docks is not respected on all visible workspaces
> > 3. Use my current solution (mod+shift+space)
> > 4. Docks begin to be respected.
> > 5. Move on with life
> > 
> > Hope this is better.
> > Thank you for the continual support!
> > Really enjoy xmonad
> > 
> > Dave
> > 
> > 
> > 
> > Sent from my iPhone
> > 
> > > On Mar 4, 2016, at 11:59 AM, Bogdan Sinitsyn <bogdan.sinitsyn at gmail.com>
> > 
> > wrote:
> > > It seems to be like X.L.PerWorkspace bug. It does not handle messages
> > 
> > before
> > 
> > > it is run first time. But I still dunno how to fix it. Any ideas?
> > > 
> > >> On Friday, March 4, 2016 9:32:46 AM MSK you wrote:
> > >> I tried adding `dockStartupHook` to `myStartupHook` but no change. so i
> > >> moved it to `main` with still no change. So then i tried both location
> > 
> > but
> > 
> > >> nothing different, avoidStruts not working.
> > >> 
> > >> how it currently looks in my xmonad.hs file:
> > >> [code]
> > >> (....... (setLayout =<< asks (XMonad.layoutHook . config)) >>
> > >> docksStartupHook)
> > >> .......
> > >> myStartupHook = do
> > >> docksStartupHook
> > >> 
> > >>       ......
> > >> 
> > >> .....
> > >> main = do
> > >> ....
> > >> , startupHook = composeAll [
> > >> myStartupHook
> > >> , docksStartupHook
> > >> 
> > >>                        .....
> > >> 
> > >> [/code]
> > >> 
> > >> Just to reiterate, xmonad 0.12 from GIT allows me to reset the layout
> > 
> > but
> > 
> > >> avoidstruts does not work.
> > >> Same xmonad.hs code but w/o docksStartupHook under xmonad 0.12 from
> > >> haskell, still allows me to reset the layout but also respects docs
> > >> (avoidstruts) if and only if I reset the layout (mod-shift-space) on
> > >> all
> > >> "visible" workspaces after an xmonad start/restart. "Non-visible"
> > >> workspaces seem to work fine, avoidstruts works when spawning a window
> > >> client; as does reset layout.
> > >> 
> > >> My understanding is that GIT is now the "darcs" version of xmonad (aka
> > >> development version). That being the case, I can live for now under
> > 
> > haskell
> > 
> > >> xmonad with the annoyance of (mod-shift-space) upon xmonad
> > 
> > start/restart.
> > 
> > >> It's no biggy. I'll deal with it once GIT gets pushed to haskell
> > 
> > (unless we
> > 
> > >> abandoning haskell).
> > >> 
> > >> Hope all this makes sense.
> > >> 
> > >> Thanks again for assistance,
> > >> -Dave
> > >> 
> > >> 
> > >> On Fri, Mar 4, 2016 at 6:08 AM, Bogdan Sinitsyn <
> > 
> > bogdan.sinitsyn at gmail.com>
> > 
> > >> wrote:
> > >>> Add `docksStartupHook` to both your action on mod-shift-space and your
> > >>> startup
> > >>> hook(because you restore initial layout state before restart).
> > >>> 
> > >>>> On Thursday, March 3, 2016 9:29:38 AM MSK you wrote:
> > >>>> Yes, it's an action on a hotkey. (mod+shift+space) which resets
> > >>>> layout
> > >>>> on
> > >>>> workspace. See http://web.mit.edu/nelhage/Public/xmonad.hs
> > >>>> Under haskell xmonad, i had to (mod-shift-space) in order for the
> > 
> > docks
> > 
> > >>> to
> > >>> 
> > >>>> be respected, since it was never respected upon xmonad restart.
> > >>>> Under Git xmonad, docks are still not respected upon xmonad restart
> > 
> > but
> > 
> > >>> my
> > >>> 
> > >>>> previous solution (mod-shift-space) for displaying the dock, no
> > >>>> longer
> > >>>> works.
> > >>>> 
> > >>>> Here is my code:
> > >>>> https://raw.githubusercontent.com/davama/xmonad/master/xmonad.hs
> > >>>> 
> > >>>> 
> > >>>> On Thu, Mar 3, 2016 at 8:58 AM, Bogdan Sinitsyn <
> > >>> 
> > >>> bogdan.sinitsyn at gmail.com>
> > >>> 
> > >>>> wrote:
> > >>>>> Are you speaking about action on some hotkey instead of `setLayout
> > 
> > =<<
> > 
> > >>>>> asks
> > >>>>> (layoutHook . config)` or something else? If first then I dunno
> > 
> > what's
> > 
> > >>>>> wrong,
> > >>>>> can you give the whole config?
> > >>>>> 
> > >>>>>> On Thursday, March 3, 2016 8:36:10 AM MSK you wrote:
> > >>>>>> Thank you Bogdan for the reply. I did as suggested.  I tried
> > >>> 
> > >>> different
> > >>> 
> > >>>>>> versions:
> > >>>>>> 
> > >>>>>> `setLayout $ XMonad.layoutHook conf` -- original code. works fine
> > >>> 
> > >>> under
> > >>> 
> > >>>>>> Haskell xmonad 0.12. with GIT xmonad docks are not longer
> > >>>>>> respected.
> > >>>>>> `setLayout $ XMonad.layoutHook conf >> docksStartupHook` -- failed
> > >>>>>> on
> > >>>>>> xmonad restart
> > >>>>>> `(setLayout $ XMonad.layoutHook conf) >> docksStartupHook` --
> > >>>>>> passes
> > >>>>> 
> > >>>>> xmonad
> > >>>>> 
> > >>>>>> restart but setLayout to default does not work, neither respect for
> > >>>>>> docks
> > >>>>>> `(setLayout =<< asks (XMonad.layoutHook . config)) >>
> > >>> 
> > >>> docksStartupHook`
> > >>> 
> > >>>>> --
> > >>>>> 
> > >>>>>> passes restart. setLayout works. but still no respect for docks.
> > >>>>>> 
> > >>>>>> I feel like im very close.
> > >>>>>> Could it be that my `manageDocks` or `docksEventHook e` are not
> > >>> 
> > >>> properly
> > >>> 
> > >>>>>> configured?
> > >>>>>> 
> > >>>>>> Thank you again for assistance. Hopefully my struggles will help
> > >>> 
> > >>> someone
> > >>> 
> > >>>>>> else who reads this.
> > >>>>>> -Dave
> > >>>>>> 
> > >>>>>> On Wed, Mar 2, 2016 at 2:48 PM, Bogdan Sinitsyn <
> > >>>>> 
> > >>>>> bogdan.sinitsyn at gmail.com>
> > >>>>> 
> > >>>>>> wrote:
> > >>>>>>>> On Wednesday, March 2, 2016 2:38:34 PM MSK you wrote:
> > >>>>>>>> I did not quite understand how to try the `docksStartupHook`
> > >>> 
> > >>> after
> > >>> 
> > >>>>>>>> `setLayout =<<...`
> > >>>>>>> 
> > >>>>>>> `(setLayout =<< asks (layoutHook . config)) >> docksStartupHook`
> > >>>>>>> 
> > >>>>>>> --
> > >>>>>>> Bogdan Sinitsyn
> > >>>>> 
> > >>>>> --
> > >>>>> Bogdan Sinitsyn
> > >>> 
> > >>> --
> > >>> Bogdan Sinitsyn
> > > 
> > > --
> > > Bogdan Sinitsyn


-- 
Bogdan Sinitsyn


More information about the xmonad mailing list