17
submitted 1 year ago by DrOps@feddit.de to c/linux@lemmy.ml

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?

top 6 comments
sorted by: hot top controversial new old

Consider posting what you did.

[-] palordrolap@kbin.social 6 points 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.

[-] hunger@programming.dev 3 points 1 year ago

Maybe you are running Wayland and not X11?

[-] DrOps@feddit.de 5 points 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.

[-] hunger@programming.dev 0 points 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 3 points 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?

this post was submitted on 12 Aug 2023
17 points (90.5% liked)

Linux

48335 readers
558 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS