Re: #koi #split-screen-feauture #swap-screen #agl-compositor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marius,
Thank you for your last reply. I wuold share my work to ensure if I move on correctly direction or not. I had removed the json object accordigly as mentioned in your message, so the instruction assume the form:

mp_hs_->showWindow(application_id.toStdString().c_str(), nullptr);

Furthemore I had used you applicamtion splitv with minor modification. The result is shown in figure IMG-0684.jpg. The behaviour is exactly what I want to achieve, but the area occupied by the app is unreacheble until app is kill ed. Done this the screen return to the status fullscreen. When you launch the second application, as shown in the figure IMG-0683.jpg, the screen is splitted correctcly. Such as described by you, the application (dashboard) takes information about screen by (Window.width, Window.height) QML instructions. But again I can control only the left side of the screen, the right side is definetly lost. Could you please tell me if this i issue can be solved?

Figure IMG-0683.jpg shows the dashboard application runs perfectly. When I press the plus button in top bar, the homescreen sends a message to my custom service to enable AGL_SHELL_DESKTOP_APP_ROLE_SPLIT_VERTICAL. So far all works perfectly. Now, I want to inform the agl-compositor by a custom service use enum AGL_SHELL_DESKTOP_APP_ROLE_SPLIT_VERTICAL or AGL_SHELL_DESKTOP_APP_FULLSCREEN, but these instructions are ignored in my lambda even though, code runs and program prints the debug information correctly.

QObject::connect(
      hmi.get(), &HmiFeature::statusScreenChanged,
      [aglShell, grapich_role](QJsonObject obj) {
        if (obj["role"].toInt() == 2) {
          qDebug() << "split condition";
          const auto role = agl_shell_desktop_app_role::AGL_SHELL_DESKTOP_APP_ROLE_SPLIT_VERTICAL;
          aglShell->set_window_props(nullptr, grapich_role, role, 0, 0);
        } else if (obj["role"].toInt() == 1) {
          qDebug() << "full condition";
          const auto role = agl_shell_desktop_app_role::AGL_SHELL_DESKTOP_APP_ROLE_FULLSCREEN;
          aglShell->set_window_props(nullptr, grapich_role, role, 0, 0);
        } else {
          qDebug() << should disable application on screen";
          aglShell->deactivate_app(grapich_role);
        }
      });

Finally through the button to recall the launcher I want to deactivate the apps shown on screen separately. Infact, again, I am able to activate/deactivate only the left one. (IMG-0685.jpg)
When I'm using the instruction:

aglShell->deactivate_app(grapich_role);

it seems does not sort any effect and the application remain visible on screen.

In your opinion, it does make sense?
I'm glad hear from you any kind advice.

Best regard,
Francesco

_._,_._,_

Links:

You receive all messages sent to this group.

View/Reply Online (#9188) | Reply To Group | Reply To Sender | Mute This Topic | New Topic
Mute #koi | Mute #split-screen-feauture | Mute #swap-screen | Mute #agl-compositor
Your Subscription | Contact Group Owner | Unsubscribe [list-automotive-discussions82@xxxxxxxxxxx]

_._,_._,_

Attachment: IMG-0683.jpg
Description: JPEG image

Attachment: IMG-0684.jpg
Description: JPEG image

Attachment: IMG-0685.jpg
Description: JPEG image


[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux