-
-
Notifications
You must be signed in to change notification settings - Fork 275
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
Display bug with IfMax, PerScreen, PerWorkspace with decorated layouts #75
Comments
In fact, the problem appears when leaving a decorated layout controlled by IfMax, even if not from IfMax. Going to I had a look at the code to try and understand the difference between IfMax and ToggleLayouts, but couldn't spot the origin of the problem. |
On Mon, Aug 15, 2016 at 12:39 PM, Thibault notifications@github.com wrote:
Have you tried it with a layout not controlled by IfMax? Decoration has brandon s allbery kf8nh sine nomine associates |
Thanks for your answer. Layouts not controlled by IfMax switches from decorated to undecorated without any visible problems: I'll write a few MWEs, so you can see if the bug is reproductible. I'm using latest packaged XMonad (from main repositories) on an up-to-date ArchLinux. |
there are some fixes in X.L.IfMax in master, try it. 0.12 hasn't that fixes |
@f1u77y : As I said in my previous message, I already tried with the git version of IfMax, not the full git xmonad-contrib though. I'll write a MWE later today. |
couldn't you give your conf? i experienced sort of that bug and thought it was fixed in master |
Hi again, Here's a MWE, as promised: import XMonad
import XMonad.Config.Azerty
import XMonad.Layout.BinarySpacePartition (emptyBSP, ResizeDirectional(..), SelectMoveNode(..), Rotate(Rotate))
import XMonad.Layout.IfMax
-- import MyIfMax
import XMonad.Layout.NoFrillsDecoration
import XMonad.Layout.ToggleLayouts (toggleLayouts, ToggleLayout (ToggleLayout))
myLayoutHook = IfMax 1 Full $ noFrillsDeco shrinkText def emptyBSP
main :: IO ()
main = do
xmonad azertyConfig {
terminal = "urxvt"
, layoutHook = myLayoutHook
} Apologies for using AzertyConfig: feel free to replace with def. This is the version I've been testing with. With this MWE, and using git IfMax (imported as MyIfMax):
@f1u77y, FWIW, my full config is here, but this one doesn't use IfMax, so shouldn't be of any help. |
i think i got the problem. UPD: as i can see, we cannot get the number of the windows on the workspace where layout runs in |
Thanks for looking into it! By the way, what I'm actually trying to achieve is to have decorations if and only if there's more than one (non-floating) window in the current workspace. I really prefer decorations over borders to indicate focus. If you have any idea :-) I'm currently doing this with a custom MultiToggle Transformer, but that's obviously not automatic. |
you can use X.L.IfMax version with a workaround as a temporary solution but you can experience other problems with messages(e.g. struts may work badly or smth else) |
I just tried it, it seems to work perfectly, including struts (XMobar), toggling them, and layout messages. I haven't tested exhaustively, but everything in this config seems to work well. |
@f1u77y Did your fixes for X.L.IfMax make it into |
@pjones that fix is just a workaround. Layout should know, what(in this case at least how many) windows are there on its workspace at every moment; that's the only way that allows to fix this bug. |
Weeding old stuff in my inbox... how completely should it need to know this, @f1u77y ? Because some things require actually running the layout, and you can't do that if it's not displayed. (Notably, if I |
I just countered the same issue in version |
I decided to go with the approach shared here: https://www.reddit.com/r/xmonad/comments/glkc6r/can_xmonad_apply_window_decorations_nofrillsdeco/fqy1vda/ |
I think the correct way to fix this is to add an That being said, @f1u77y's workaround is probably quite safe as well, as sending extra I'm not an IfMax user myself so this is low-prio for me but I'd be happy to review/mentor any efforts towards fixing this. |
When using IfMax with a decorated layout, the decorations appear on other workspaces, even over other windows, if the other workspace uses a different layout, and the decorations don't disappear on a given workspace if the layout is changed by IfMax.
This basic LayoutHook exhibits the bug:
This seems to be specifically related to IfMax, since using ToggleLayouts with the same two layouts doesn't display this behavior.
The text was updated successfully, but these errors were encountered: