-
Notifications
You must be signed in to change notification settings - Fork 17
Support top-layer mode #191
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
Conversation
bbrto21
commented
Oct 18, 2021
- Add top to FlutterDesktopWindowProperties as a member
- If top is true, the window type will be NOTIFICATION with the top level priority
* Add top to FlutterDesktopWindowProperties as a member * If top is true, the window type will be NOTIFICATION with the top level priority Signed-off-by: Boram Bae <boram21.bae@samsung.com>
|
Related PR : |
|
@nojinjeong @HakkyuKim |
| top_ ? ECORE_WL2_WINDOW_TYPE_NOTIFICATION | ||
| : ECORE_WL2_WINDOW_TYPE_TOPLEVEL); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does EFL have any documentation for this enum? Do you know what the meaning of ECORE_WL2_WINDOW_TYPE_NOTIFICATION is? Shouldn't we use ECORE_WL2_WINDOW_TYPE_NONE instead of ECORE_WL2_WINDOW_TYPE_TOPLEVEL for normal windows?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't find any documents for this enum, but I found this
I guess the notification is what we are familiar with. The document says as follows.
A notification window, like a warning about battery life or a new E-Mail received.
ECORE_WL2_WINDOW_TYPE_NONE has the same meaning as ELM_WIN_UNKNOWN.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's still not clear. What's different between ECORE_WL2_WINDOW_TYPE_NOTIFICATION and ECORE_WL2_WINDOW_TYPE_TOPLEVEL? The default value of top_level is true (flutter-tizen/flutter-tizen#252), so the window type of normal apps will default to ECORE_WL2_WINDOW_TYPE_NOTIFICATION after this change. Is this intentional?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The default value of
top_levelis true (flutter-tizen/flutter-tizen#252),
It's my mistake, I'll fix it.
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
| wl_display* displayWrapper = | ||
| static_cast<wl_display*>(wl_proxy_create_wrapper(wl_display_)); | ||
| if (displayWrapper) { | ||
| wl_event_queue_ = wl_display_create_queue(wl_display_); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it necessary to destroy this queue manually?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added it, thank you for the review.
@bbrto21 |
I've talked with @HakkyuKim about the requirements, I would also have to test it with the device. |
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
Oops. host build failed. I guess something should be added to engine/ci/tizen/docker/Dockerfile Line 21 in e010550
|
|
Ah, it looks like |
engine/.github/workflows/build.yml Line 32 in e010550
engine/ci/tizen/build-engine.sh Line 46 in e010550
The |
* Fix naming convention Signed-off-by: Boram Bae <boram21.bae@samsung.com>
|
Does anyone have any of the following problems when push? |
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
swift-kim
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks much cleaner!
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
I added repeat count, please review again :)
I couldn't find any documentation related to this. so, I referred to the implementation of other modules in Tizen :( |
bwikbs
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your hard working!! It's really cool! ❤️
|
I'll publish a new engine release once this PR gets merged. |
|
As suggested by @xuelian-bai, there are a few things to check. |
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
|
@xuelian-bai @swift-kim @bwikbs Please, review again, I've updated this PR, it no longer uses global callbacks and busy waiting. |
swift-kim
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some nitpicks :)
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
|
For a while, I've been looking for |
| wl_registry_bind(registry, global->id, &tizen_policy_interface, 1)); | ||
| break; | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'itr' may be destroyed by eina_iterator_free
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found the below note. Thank you.
Note
The caller of this function should free the returned Eina_Iterator when finished with it.
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
xuelian-bai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* Support top-layer mode * Add top to FlutterDesktopWindowProperties as a member * If top is true, the window type will be NOTIFICATION with the top level priority Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Update based on review Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Destroy wl_event_queue Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Fix build break on host * Fix naming convention Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Remove unnecessary code Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Add repeat count to prevent infinite wait Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Retrieve global objects to bind tizen policy Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Update based on review Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Free Eina_Iterator after using it Signed-off-by: Boram Bae <boram21.bae@samsung.com>
* Support top-layer mode * Add top to FlutterDesktopWindowProperties as a member * If top is true, the window type will be NOTIFICATION with the top level priority Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Update based on review Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Destroy wl_event_queue Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Fix build break on host * Fix naming convention Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Remove unnecessary code Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Add repeat count to prevent infinite wait Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Retrieve global objects to bind tizen policy Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Update based on review Signed-off-by: Boram Bae <boram21.bae@samsung.com> * Free Eina_Iterator after using it Signed-off-by: Boram Bae <boram21.bae@samsung.com>
* Support top-layer mode * Add top to FlutterDesktopWindowProperties as a member * If top is true, the window type will be NOTIFICATION with the top level priority * Destroy wl_event_queue * Fix build break on host * Add repeat count to prevent infinite wait * Retrieve global objects to bind tizen policy * Update based on review * Free Eina_Iterator after using it Signed-off-by: Boram Bae <boram21.bae@samsung.com>
* Support top-layer mode * Add top to FlutterDesktopWindowProperties as a member * If top is true, the window type will be NOTIFICATION with the top level priority * Destroy wl_event_queue * Fix build break on host * Add repeat count to prevent infinite wait * Retrieve global objects to bind tizen policy * Update based on review * Free Eina_Iterator after using it Signed-off-by: Boram Bae <boram21.bae@samsung.com>
* Support top-layer mode * Add top to FlutterDesktopWindowProperties as a member * If top is true, the window type will be NOTIFICATION with the top level priority * Destroy wl_event_queue * Fix build break on host * Add repeat count to prevent infinite wait * Retrieve global objects to bind tizen policy * Update based on review * Free Eina_Iterator after using it Signed-off-by: Boram Bae <boram21.bae@samsung.com>
* Support top-layer mode * Add top to FlutterDesktopWindowProperties as a member * If top is true, the window type will be NOTIFICATION with the top level priority * Destroy wl_event_queue * Fix build break on host * Add repeat count to prevent infinite wait * Retrieve global objects to bind tizen policy * Update based on review * Free Eina_Iterator after using it Signed-off-by: Boram Bae <boram21.bae@samsung.com>
* Support top-layer mode * Add top to FlutterDesktopWindowProperties as a member * If top is true, the window type will be NOTIFICATION with the top level priority * Destroy wl_event_queue * Fix build break on host * Add repeat count to prevent infinite wait * Retrieve global objects to bind tizen policy * Update based on review * Free Eina_Iterator after using it Signed-off-by: Boram Bae <boram21.bae@samsung.com>
* Support top-layer mode * Add top to FlutterDesktopWindowProperties as a member * If top is true, the window type will be NOTIFICATION with the top level priority * Destroy wl_event_queue * Fix build break on host * Add repeat count to prevent infinite wait * Retrieve global objects to bind tizen policy * Update based on review * Free Eina_Iterator after using it Signed-off-by: Boram Bae <boram21.bae@samsung.com>
