GithubHelp home page GithubHelp logo

Comments (4)

ahesford avatar ahesford commented on September 25, 2024

It's not so much a bug as a design decision, but maybe the logic needs refinement if we lose the only connected display. Are you seeing this behavior with a single display, or do you have multiple heads?

When you turn off your display and turn it back on again, your monitor or graphics adapter is generating a disconnect/reconnect event. It seems that AMD hardware is very aggressive about this, while Intel is not always aggressive enough. What frustrates me is that the AMD driver doesn't fire the disconnect/reconnect sequence until after the display is powered back on. It would be better to send the disconnect as soon as the display goes off and send the reconnect when it comes back on, to better reflect actual display usability. However, I don't know if or where that behavior might be changed.

In a multiple-display setup, all client views are evacuated from a display that is disconnected and moved onto the nearest available display. (These views store their last position before evacuation, so they will be restored to their original location when the display returns.) However, we un-maximize windows before evacuation.

In general, we interpret a "disconnect" as an intentional reconfiguring of the output. Imagine you have a small display connected beside your primary laptop output and, because it's small, you use it with a maximized mail client and nothing else. At some point, you disconnect that small display and connect the laptop to a nice 4k TV. In the process, our evacuation/restoration behavior will 1) yank your mail client onto the primary display when you pull the plug, un-maximizing it in the process; 2) determine after the TV is connected that the mail client's original location can be restored, so the view will be relocated to the TV. It is not clear in either of these stages that preserving the maximized status is desirable.

That is not generally true for a "power-down" event caused by, for example, wlopm. We intentionally do not reconfigure the output when the display goes dark without a hardware disconnect, because we assume the display will eventually wake up again and your views should be preserved. Unfortunately, in your case, the hardware triggers the disconnect and we are unable to tell the difference between you sleeping a display or yanking its cable.

from labwc.

vanfanel avatar vanfanel commented on September 25, 2024

It's not so much a bug as a design decision, but maybe the logic needs refinement if we lose the only connected display. Are you seeing this behavior with a single display, or do you have multiple heads?

Single display.

Maybe in this case the fullscreen view could be preserved? With only one display, it would be ok, I guess.

from labwc.

charbelnicolas avatar charbelnicolas commented on September 25, 2024

I have this rule for all windows:

<windowRule identifier="*" serverDecoration="no" fixedPosition="yes" />

When I turn the monitor off and back on, the foot terminal fullscreen window unmaximizes itself and adds the server decorations even though I have the windowRule serverDecoration set to no.

Should I open a new issue for this?

from labwc.

johanmalm avatar johanmalm commented on September 25, 2024

Should I open a new issue for this?

Yes please. I'm not sure what's going on there. It might be a issue relating to when we apply the window-rules.

from labwc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.