agl-compositor sends maximized for surfaces configured to non-maximized size

Description

First, I call

agl_shell_desktop_set_app_property(agl_shell_desktop, app_id, AGL_SHELL_DESKTOP_APP_ROLE_POPUP, 640, 180, 0, 0, 640, 720, output)

then I create a surface with that app_id. In addition, I do

xdg_toplevel_set_min_size(toplevel, 640, 720) xdg_toplevel_set_max_size(toplevel, 640, 720)

just in case.

The problem is that still I receive xdg_toplevel_configure with fullscreen dimensions.

Snippet from the logs

[03:06:51.129] Setting surface to initial size of surface to 1080x1920 [03:06:51.129] Added surface 0xaaaada5f6bd0, app_id ivi-to-ic to pending list [03:06:51.134] Checking pending surface 0xaaaada5f6bd0, app_id ivi-to-ic

Environment

None

Attachments

1

Activity

Show:

Walt Miner 
December 8, 2021 at 3:47 PM

Close for LL 12.1.0

Marius Vlad 
November 11, 2021 at 10:27 AM

Believe this has been resolved into master. Closing it.

Vasyl Vavrychuk 
November 4, 2021 at 10:25 PM

for now it is working fine. I think I can do more testing during investigation of other issues, such as https://lf-automotivelinux.atlassian.net/browse/SPEC-4127#icft=SPEC-4127.

Marius Vlad 
November 4, 2021 at 5:48 PM

I've pushed a change at https://gerrit.automotivelinux.org/gerrit/c/src/agl-compositor/+/26831.

I've taken another look at the protocol and the fact that you're doing it (setting the surface as a pop-up role) before the client shell, shouldn't have been impacted at all. Done a bunch of local tests and it wouldn't really matter. But instead I've discovered that the state was sent not matter the role being set-up so that might explain why we're seeing passing already dimensions different than 0.

Do you mind applying https://gerrit.automotivelinux.org/gerrit/c/src/agl-compositor/+/26831 and check if that works for you?

Vasyl Vavrychuk 
November 2, 2021 at 9:07 AM

Hmm, it seems that the application that calls set_app_property() is started before the client shell? Could you confirm that?

True, I have my application and agl shell client running by separate systemd services, so systemd runs them in parallel. BTW. Using "After=" to arrange ordering does not work because sd_notify is sent by afb-daemon when it forks cluster-dashboard, but now by cluster dashboard itself when it sends agl-shell ready.

Fixed

Details

Assignee

Reporter

Labels

Components

Priority

Created October 26, 2021 at 9:24 AM
Updated December 8, 2021 at 3:47 PM
Resolved November 11, 2021 at 10:27 AM

Flag notifications