Git Product home page Git Product logo

Comments (3)

geekosaur avatar geekosaur commented on September 28, 2024 1

I don't have this problem with VMware, and suspect it's a bug with Steam and non-reparenting window managers; they may incorrectly assume that a nonzero border width means there's no window frame. (Steam and a number of other cross-platform UI toolkits need to translate coordinates for their canvases between X11/Wayland-style and Windows-style, which means they need to account for window frames.)

from xmonad.

geekosaur avatar geekosaur commented on September 28, 2024 1

Reparenting is taking a new window and making it a child of a frame window. Most other window management systems, notably including Windows, make the frame and titllebar part of the client GUI toolkit; X11 gives it to the window manager.

Why this is relevant is that X11 also does window-relative addressing, while most others (again notably including Windows) use screen-relative. So when writing a cross-platform toolkit you need to translate between the two, which on X11 means you also need to account for the frame window, especially in the case of canvas widgets. Java, Mono, and Steam have all had problems with not identifying frame windows or their absence properly, leading to clients looping due to IMO poor coding practices.

from xmonad.

jhodgdev avatar jhodgdev commented on September 28, 2024

@geekosaur that's interesting. Would you be able to explain to me what 'reparenting' means in this context? Furthermore, could you suggest any other Xorg window managers I could test to see if the issue is truly with Steam?

Last night (after posting the initial report) I found out that applying noBorders myLayoutHook causes the same, unwanted behaviour but smartBorders . noBorders $ myLayoutHook works fine.

from xmonad.

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.