Repository navigation
Conversation
a5256a0 to
05b16d1
Compare
|
top layers over fs is expected. New ones should. |
#15881 disagrees with you. Besides, dark, ritz, etc... also think so. The reason being there isn't a layer that's below fullscreen but above normal windows. bars etc... use top in noctalia wayle etc.. and when you cycle them in fullscreen, they render over fullscreen |
|
Yeah but nobody likes that. The protocol is stupid and there should be an option to not put any top layers above fullscreen. That's what overlay is for. So make this optional and everyone is happy. |
|
Yeah. Having timing-dependent behavior like we currently do just feels buggy, even if the spec says it's technically okay. Users go "oh not this bug again" and toggle fullscreen, which they really shouldn't have to do |
|
The protocol doesn’t even prescribe that that should happen, it just describes that that’s what tends to happen. It also means that if you don’t want notifications to pop up over fullscreen windows, there is no layer to place them. Also when I ran into this I also saw it as a bug and went “welp gotta un-fs and fs my game again, which is annoying because it’s in hdr so it’ll blank out for a while” e: As it stands now, there is no layer between tiled/floating windows and fullscreen windows. |
|
Added a config opt to control this. Defaults to true, which is the old behaviour
|
fad9e3c to
bd0967a
Compare
|
I have absolutely no idea why the tests are failing in github CI. Wait until layer spawn, wait until alpha is correctly set - all for naught. Layer tests are just not working on CI. Always passes in local. |
|
I don't like it. But, if we're gonna change this, just make all |
|
Bug: Top layers that were never even visible still seem to block DS with "fadeout in progress" when closing under the fullscreen app. e.g. my bar normally shows up only when holding SUPER, this pr prevents that perfectly fine, but game goes out of ds for a fraction of a second when releasing SUPER and the bar closes.
Bit of a conflict here, if "new top layers go above fullscreen" is indeed how the protocol should be interpreted, why should there not even be an option to follow the protocol? |
From your other comments in other discussions, the regressor is #15991 - this MR or anything it changes have nothing to do with that. |
|
My other comments elsewhere have nothing to do with layers fading. Without this PR the new top layer would obviously be visible on top of the game already, and the fadeout should block DS. It's definitely something this PR needs to account for when the fading layer isn't even visible. |
FWIW, the protocol doesn't actually say which way this should go. All it really does is comment on how some compositors worked at the time of writing. Not to say that what other compositors do is totally irrelevant, but we certainly aren't violating the spec by saying "FS goes above the |
@Dregu Got a fix for this. Beforehand, any fadeouts whatsoever would block solitary (and thus DS), even ones on |
|
If you say so, I did specifically only test an invisible (i.e. opened before fullscreen) top layer on main though and its fadeout did not block DS. And yes the protocol specifically says "order is undefined" so we can do whatever we want with FS, screw all the shells that assume top might go above FS. |
|
Can confirm that this PR fixes the issue I was seeing in #15881. |
|
Really busy nowadays and don't have the time for this. I'll get to this as soon as I can (prob on the 18th or that weekend) |
7400729 to
9905d35
Compare
13aba9c to
957bd57
Compare
…sed and fullscreen
…allow_new_top_layers_over_existing_fullscreen = false was tested in the prev test commit
…orrow. It probably won't come.
Fixes an issue where a fadeout (on *any* layer) would block solitary, and thus also DS, while in progress.
957bd57 to
39b414b
Compare
|
@vaxerski poke |
…ync upon work area change (hyprwm#16493) * change * test-preliminary * new helper function -- extracted from hyprwm#15937 * test - complete (cherry picked from commit 1bd31aa) [Hypoland: without the hyprtester and nix parts]

Describe your PR, what does it fix/add?
Title
Fixes #15881
Adds the config opt:
misc:allow_new_top_layers_over_existing_fullscreen, which is self descriptive.Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
Default value for the new config opt is true to prevent stuff that relies on the "old" (config value true, not exactly old since there is a config for this but many ppl seem to consider = false to be a net improvement so mayhaps the config value could be removed in the future and = false could become the new standard. Or maybe wayland protocol will become less ambiguous and we'll just follow that) behaviour still works.
Hypractl Layers: Do not show a layer before it's properly mapped. It's a race condition if this is done ontop of making little sense: with hardware rendering the mapping happens fast enough for this to not matter but in github tests CI it incorrectly displays the alpha of the layers.
Is it ready for merging, or does it need work?
WIP