Yesterday I tried to layout a bunch of program windows via xdotools moveto and resize. In theory they should have been all the same size, but they came out all different, and none had the targeted size. They all had space around them. What is involved in this process? Are there invisible borders, or stuff like that?

  • palordrolap@kbin.social
    link
    fedilink
    arrow-up
    6
    ·
    1 year ago

    I noticed something similar the other day when playing around with xdotool. I asked it where a window was and then moved the window to that position - what should have been a no-op - and the window moved. I figured it was an interaction with the Cinnamon window manager. Yours (if not Cinnamon) may be doing the same.

    xdotool reports where it “thinks” a window is. Requesting where a window be moved with xdotool is handed off to the window manager, which may or may not take into account window spacing, borders, the phase of the moon, etc., and so that might put the window in a slightly different place.

    You could try wmctrl instead. It’s not as feature rich, but can definitely move windows around and might have different results for you. (I know I use it for one thing in particular and that seems to work, but then it has been a while since I set it up and I can easily imagine having tweaked the numbers until things looked right.)

    There’s also that some software really doesn’t like to be moved or resized and will refuse to change. That’s bad practice, but there’s nothing that can be done really, unless you have an especially forceful window manager.

    • DrOps@feddit.deOP
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      Nope, I switched back to X11 after I found, that xdotool couldn’t work with Wayland, and ydotool doesn’t support window handling.

      • Tobias Hunger@programming.dev
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        1 year ago

        Autsch! I would never do that… X11 is such a broken mess, but then my window management needs seem to be very different from yours.

        Applications do have a say in how big they get rendered (typically by giving a min/max/preferred size), which window managers may or may not resepct/adjust for after the window comes up. Maybe it is just that.

  • davefischer@beehaw.org
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    Most windows in X are actually two windows: one inset inside the other. That’s how you get a border & title bar. Does that account for the error you’re seeing?