-
-
Notifications
You must be signed in to change notification settings - Fork 278
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
X.L.PerWorkspace possible bug #76
Comments
What problems were you having, exactly? Removing PerWorkspace pretty much rules it out as a cause, so I don't quite see how it could have been concluded that it was at fault. ManageDocks (which provides I also note that your "remove PerWorkspace" version unconditionally applies |
Basically when under git-xmonad my dzen bars are covered by the window clients and I had gone through a whole session on the mailing list trying to figure out what it was exactly (back in March) and that's where things were left. ( My current xmonad.hs file uses
Thanks! |
dzen2 doesn't set |
@f1u77y thanks for the comment. So i changed my scripts calling Not sure why it works now. Tested with both haskell-xmonad and git-xmonad. (never had an issue with haskell-xmonad) Did dzen behavior change or xmonad change? |
On Thu, Aug 25, 2016 at 6:09 PM, Dave [email protected] wrote:
Before strut caching was added, xmonad would iterate through all windows to xmonad 0.12 caches existence of struts, but does so buggily. It was As a practical matter, having to check every new window for struts is brandon s allbery kf8nh sine nomine associates |
@geekosaur yes that check is more expensive then checking only _NET_WM_WINDOW_TYPE but there can be many other checks in about the original issue: i know situation when it reproduces
|
Not sure it's those specifically. I realized last night that I have more evidence that some things are being run at the wrong time and/or in the wrong context, meaning any conditional layouts etc. are likely to fail in unexpected ways. While testing/debugging the NSP loggers, I had discovered that the logHook is run at least 3 times during xmonad startup, before the layout has been run properly. Last night, I realized this was very likely related to both these bugs and the particular way that the 0.12 strut bug manifests, which has otherwise been obscure: the layout is run at least once (which triggers the logHook to be run), and likely multiple times, before any windows have been recognized and possibly before the monitor information and other aspects of server and display configuration have been processed. |
@geekosaur but WM_NAME change runs and i still dont know what to do with layouts that require to be run for updating their state. i see one of soltions(sending some message that makes layout update on startup for |
@davama I had to do this to make avoidStruts work again: liskin/liskin-xmonad-conf@b1154d2, liskin/liskin-xmonad-conf@6660fa9 I suspect the problem is that AvoidStruts caches the list of struts in its layout modifier instance and updates it via messages, but these messages only ever reach it if it's the current active layout. I have described my reasoning and my proposed fix here: 28e9f8b |
Yes, but making cache layout-local is required. I described the reason in the comments to 28e9f8b. |
@liskin actually all i did was run Interestingly i noticed that with the
Not sure why but some googling brought me here and here Not sure if it is a dzen issue or xmonad issue at this point. Edit:
Things work as expected. Window clients respect dzen dock when using |
On Thu, Sep 1, 2016 at 2:13 PM, Dave [email protected] wrote:
Because the struts are (incorrectly) being cached in the data associated brandon s allbery kf8nh sine nomine associates |
Just a note for @f1u77y, had the strutMap ( xmonad-contrib/XMonad/Hooks/ManageDocks.hs Line 228 in 28e9f8b
|
It would also necessitate `XQueryTree` and getting the strut props for
every returned window as part of the next relayout to rebuild the cache (so
you still need to force `docksStartupHook` or equivalent sometime before
that point).
The ability to do this as part of a "it's pear shaped; start over from
scratch" would probably be a good idea. Forcing it to happen is not. And,
while arguably relayout is a good place to do that forcing, also arguably
there are two different kinds of relayout: "start over completely" vs.
"reset the user adjustable parameters". (Actually three, but the third is
`refresh` not `setLayout`. Although actually that might be exactly the
right place to flush and rebuild the cache.)
|
The "two different kinds of relayout" thing will be solved by having the cache in extensible state instead of the layout instance. |
@geekosaur as far as i can understand, you suggest to recalc cache in |
Update: As far as my initial issue, docks not being respected, that is fixed. So from my perspective this can close, but im not a developer. Thank you all for the support. -Dave |
@davama What do you mean by " |
@liskin
That line looks like this: So i just went back to: and things work fine again. Hope it's clear. |
Oh, you probably just didn't import it. And I guess you didn't use this: e38fb3b#diff-79e50f9693ab1653ba2edaa25759c9f8R88 either, did you? |
@liskin you were right, i didnt. i thought it was applied to the master already. should have double checked. Can't seem to figure out where to add this Snippet of my config:
Thanks! |
Perhaps you're missing an import? |
The import is there i did try this: (perhaps doing it wrong) but got a crazy error here xmonad-contrib-#76-error My layout looks like so:
I double checked the xmonad src code i built from, and i can confirm that the #80 changes were made. |
It really looks like you're compiling your config against an xmonad version that does not have the #80 changes. If you really have |
That's what i was thinking too. That's why i checked again Well i did the rebuild once more. (perhaps my rebuild process is wrong) My order of operations:
xmonad fails. Thanks again |
I'm out of ideas. :-( |
@davama |
Yeah, good catch. :-) |
Playing around with different scenarios: and at the same time figuring out what i dont need in my config:
Replaced or added with:
In every scenario i can think of, the docks are respected every time. Dont know who manages the documentation but that might need an update if i did this correctly. Doc Anything else to try? |
ofc it does, is's for 0.11 version |
Hello,
Had this issue on xmonad mailing list here
Not sure really if it's a
PerWorkspace
bug but that was the final conclusion.So basically to summarize what happened on that chain. I was having issues with
avoidStruts
under git-xmonad but nothing of that sort using haskell-xmonad (usingcabal install
).Mr. Bogdan suggested to remove
PerWorkspace
all together, which i did but no change. (changes here) (currently using PerWorkSpace under haskell-xmonad; willing to test again)When i use haskell-xmonad
avoidstruts
andToggleStruts
seems to work fine. Under git-xmonad they do not. My dzen bars are covered by the window clients on all WS (visible, non-visible).My config is here.
Decided to bring this issue to GIT since it's much easier to read and maybe more eyes will look at it.
Hope this is clear.
Thanks,
Dave
The text was updated successfully, but these errors were encountered: