Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IconMan GROW_UP window moves upwards when shrinking by >1 button #839

Open
sam6816 opened this issue Mar 30, 2023 · 2 comments
Open

IconMan GROW_UP window moves upwards when shrinking by >1 button #839

sam6816 opened this issue Mar 30, 2023 · 2 comments
Labels
type:bug Something's broken!

Comments

@sam6816
Copy link

sam6816 commented Mar 30, 2023

fvwm3 1.0.6a (released)
with support for: ReadLine, XPM, PNG, SVG, XShm, XRandR, XRender, XCursor, XFT

I am running it on archlinux.

Expected Behaviour

Well I configured a FvwmIconMan module to show only icons and to grow upwards. I also made some iconify and deiconify menu functions, so I can eg. deiconify all on the current page.

I want to place the IconMan at the bottom of the screen and then to stay there.

Actual Behaviour

With fvwm3 the problem is (only?) when I do:

+ "&Open all" All (iconic, CurrentPage, !Fvwm*) Iconify false

With 10 buttons=iconic windows the top edge does move back down, but only by 1. The bottom edge moves up by 8 or so.

Enabling logging: oh so that is how it works?

Steps to Reproduce:

GROW_UP ie. neg. y-geometry is needed, plus a empty-IconMan-at-once conditional command.

Place the lower edge at a special point, or do it with a dozen windows/buttons.

An empty IconMan has the same height as one with one button.

Extra Information

I saw the change from 2.6.9 to 2.7.0 about size hint warnings. Now with fvwm3 these are gone. But that new waiting loop in xmanager.c has a high counter. I put some stderr-fprintfs there to see what is going on. I reduced the counter from 20000 to 500.

I place the IconMan at y -55 to have the y coordinate "1000".

starting

size_manager page ICONS: 1120 1005 200 20
queried: y: 1000, h: 20, queried: 20
counter:500 20 20
after:500 20 20
queried: y: 1000, h: 20, queried: 20
counter:500 20 20
after:500 20 20

iconify manually

queried: y: 1000, h: 40, queried: 20
counter:500 20 40
after:481 40 40
queried: y: 980, h: 60, queried: 40
counter:500 40 60
after:491 60 60

deiconify manual

queried: y: 960, h: 40, queried: 60
counter:500 60 40
after:488 40 40
queried: y: 980, h: 20, queried: 40
counter:500 40 20
after:486 20 20

again manual -- is/was back to y:1000

queried: y: 1000, h: 40, queried: 20
counter:500 20 40
after:491 40 40
queried: y: 980, h: 60, queried: 40
counter:500 40 60
after:489 60 60

queried: y: 960, h: 40, queried: 60
counter:500 60 40
after:490 40 40
queried: y: 980, h: 20, queried: 40
counter:500 40 20
after:490 20 20

now iconify all 3 with cond. command All (Raised,...)

queried: y: 1000, h: 40, queried: 20
counter:500 20 40
after:0 20 40
queried: y: 1000, h: 60, queried: 20
counter:500 20 60
after:0 40 60
queried: y: 980, h: 60, queried: 40
counter:500 40 60
after:490 60 60

manual deicon

queried: y: 960, h: 40, queried: 60
counter:500 60 40
after:491 40 40
queried: y: 980, h: 20, queried: 40
counter:500 40 20
after:486 20 20

man icon 2x

queried: y: 1000, h: 40, queried: 20
counter:500 20 40
after:485 40 40
####deicon
queried: y: 980, h: 20, queried: 40
counter:500 40 20
after:485 20 20

man icon: 3 windows = 2 additional buttons

queried: y: 1000, h: 40, queried: 20
counter:500 20 40
after:484 40 40
queried: y: 980, h: 60, queried: 40
counter:500 40 60
after:488 60 60

now...

all DE-icon with cond. command = shrink the man-window at once

queried: y: 960, h: 40, queried: 60
counter:500 60 40
after:0 60 40
queried: y: 960, h: 20, queried: 60
counter:500 60 20
after:0 60 20

#here the window has moved upwards to 980

man. icon.: should be at y:1000

queried: y: 980, h: 40, queried: 20
counter:500 20 40
after:489 40 40

The "after:0 60 20" means even after the waiting loop the two don't match.

Mathematically speaking it shouldn't be hard to get "1000" with 960, 60 and 20. But I see this GROW_UP flag is tricky.

@sam6816 sam6816 added the type:bug Something's broken! label Mar 30, 2023
@ThomasAdam ThomasAdam added this to the 1.0.7 milestone Apr 1, 2023
@ThomasAdam ThomasAdam removed this from the 1.0.7 milestone Jul 6, 2023
@ThomasAdam
Copy link
Member

Hi @sam6816

Can you try sending me a PR to address this?

@sam6816
Copy link
Author

sam6816 commented Sep 2, 2023

Not directly I'm afraid...I guess "PR" is pull request, so doesn't that mean you are expecting a (first) fix from me?

(sorry I don't check my email every day)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:bug Something's broken!
Projects
Status: To do
Development

No branches or pull requests

2 participants