platform/upstream/enlightenment.git
2 years agoe_comp_wl_input: fixed to use client's y position to warp pointer when locked pointer... 73/292073/1
Sungjin Park [Thu, 27 Apr 2023 04:34:19 +0000 (13:34 +0900)]
e_comp_wl_input: fixed to use client's y position to warp pointer when locked pointer is destroyed

Change-Id: I276348fd94fc7b7a0a892d43a1e9fcd36c2d59dc
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
2 years agoe_comp_wl_input: fixed to update region_pending in locked_pointer_set_region callback 71/292071/1
Sungjin Park [Thu, 27 Apr 2023 04:31:14 +0000 (13:31 +0900)]
e_comp_wl_input: fixed to update region_pending in locked_pointer_set_region callback

Change-Id: I02aae0b8083c4a52258cd236b36edb61597371b6
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
2 years agoecomp_wl & e_comp_wl_input: moved header inclusion to .c file for relative pointer... 61/292061/1
Sungjin Park [Thu, 27 Apr 2023 02:13:52 +0000 (11:13 +0900)]
ecomp_wl & e_comp_wl_input: moved header inclusion to .c file for relative pointer and pointer constraints

Change-Id: Ifb289508648b5ff5d269d727deb02d17ba10a457
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
2 years agoe_comp_wl: prepend mouse move event handler to prevent mouse move propagation when... 13/292013/1
Sungjin Park [Tue, 25 Apr 2023 11:51:34 +0000 (20:51 +0900)]
e_comp_wl: prepend mouse move event handler to prevent mouse move propagation when required

Change-Id: Ic61a340f0fbab911747a46b2ff0fea352a301878
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
2 years agoe_comp_wl_input: set/unset pointer relative motion handler when a pointer constraint... 12/292012/1
Sungjin Park [Tue, 25 Apr 2023 11:49:31 +0000 (20:49 +0900)]
e_comp_wl_input: set/unset pointer relative motion handler when a pointer constraint is activated/deactivated

Change-Id: I5a279f8fe8186912850b50c0c1f09725a2258a4d
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
2 years agoe_input_evdev: modified to send pointer relative motion event when required 11/292011/1
Sungjin Park [Tue, 25 Apr 2023 11:38:25 +0000 (20:38 +0900)]
e_input_evdev: modified to send pointer relative motion event when required

Change-Id: I15850efd519d0481ad260b836d08ec844e9d00ab
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
2 years agoe_input: added internal APIs to set/get pointer relative motion handler 10/292010/1
Sungjin Park [Tue, 25 Apr 2023 11:36:53 +0000 (20:36 +0900)]
e_input: added internal APIs to set/get pointer relative motion handler

Change-Id: I5e95285611c1f52b9531b1388dc96e3fd325bc40
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
2 years agoe_comp_wl & e_comp_wl_input: added signal emitters for pointer constraints 09/292009/1
Sungjin Park [Tue, 25 Apr 2023 11:25:02 +0000 (20:25 +0900)]
e_comp_wl & e_comp_wl_input: added signal emitters for pointer constraints

Change-Id: I868c98a32d62bbb722950ed40e1f4228ce661364
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
2 years agoe_comp_wl & e_comp_wl_input: added implementation for zwp_pointer_constraints_v1_inte... 08/292008/1
Sungjin Park [Tue, 25 Apr 2023 11:18:24 +0000 (20:18 +0900)]
e_comp_wl & e_comp_wl_input: added implementation for zwp_pointer_constraints_v1_interface

Change-Id: Ib8393b03d78761e97cd92cd2b179d0d877ff1c25
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
2 years agoe_comp_wl & e_comp_wl_input: added implementation for zwp_relative_pointer_v1_interface 06/292006/1
Sungjin Park [Tue, 25 Apr 2023 10:52:09 +0000 (19:52 +0900)]
e_comp_wl & e_comp_wl_input: added implementation for zwp_relative_pointer_v1_interface

Change-Id: Ic712d83511d7a3f7bcdc61a5e12640d5f5ad4e6e
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
2 years agopackaging: added support for relative pointer and pointer constraints wayland extension 05/292005/1
Sungjin Park [Tue, 25 Apr 2023 07:49:24 +0000 (16:49 +0900)]
packaging: added support for relative pointer and pointer constraints wayland extension

Change-Id: Ib19f6fd473dc3d7356bb107ae80d48ad5a18cec8
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
2 years agovideo: Fix render failure for 1x1 size 88/291788/1
Seunghun Lee [Fri, 21 Apr 2023 05:13:10 +0000 (14:13 +0900)]
video: Fix render failure for 1x1 size

While determining whether the given vertices represent the portrait or
the landscape rectangle, the margin of 1 pixel has been used because
sometimes there has been 1 pixel difference between two adjacent
vertices. This could be because of evas map algorithm, but I'm not sure.

If the dimension of rectangle would be 1x1 it wouldn't be worked, so if
the given vertices represent the rectangle that has 1x1 dimension, then
no margin would be used.

Change-Id: I0c776060ed3124dfd72717e474f193929ae51c6a

2 years agoe_client: inherit parent's zoom when transform core update 72/291672/1
Junseok Kim [Wed, 19 Apr 2023 05:11:05 +0000 (14:11 +0900)]
e_client: inherit parent's zoom when transform core update

Change-Id: I5f0c8415f95eadba1e335eaebe23f0eee8417c74

2 years agoe_policy_wl: send configure event while handling tizen_policy_set_layout request 47/291647/2 accepted/tizen/7.0/unified/20230424.020444
Doyoun Kang [Wed, 19 Apr 2023 01:16:58 +0000 (10:16 +0900)]
e_policy_wl: send configure event while handling tizen_policy_set_layout request

Change-Id: Id2889160e456dd1596aa21e2ab3fa0e850e7de71

2 years agoe_comp_wl/e_xdg_shell: modify code for handling configure event size 46/291646/1
Doyoun Kang [Wed, 19 Apr 2023 00:24:29 +0000 (09:24 +0900)]
e_comp_wl/e_xdg_shell: modify code for handling configure event size

We modify code to call configure_send function with width and height are -1 when only
the window's state is changed.
If the width and height are -1, this means we don't need to consider the size value
while sending configure event.

So, in this case, we don't update the configure size value.

Change-Id: I5d75520c915acc5b558d63524b638761f2242626

2 years agoe_input: fix build warning about unused function 52/291552/1
duna.oh [Tue, 18 Apr 2023 06:12:40 +0000 (15:12 +0900)]
e_input: fix build warning about unused function

The function '_device_handle_axis()' is only used
when LIBINPUT_HAVE_SCROLL_VALUE120 is undefined.

Change-Id: I8e1ae2db20074a300342d30f691b7c23d4ca4881

2 years agoe_info: add -use_cursor_timer option in winfo (enlightenment_info) 28/291528/1
duna.oh [Tue, 18 Apr 2023 03:59:05 +0000 (12:59 +0900)]
e_info: add -use_cursor_timer option in winfo (enlightenment_info)

new option 'use_cursor_timer' to enable/disable cursor_timer
which hides cursor when no mouse events comes
ex) winfo -use_cursor_timer [1:on] [0:off]

Change-Id: I1d8b0ba28650885c333b64f0623f6416c4ef985a

2 years agoe_config: add a new configuration - wm_win_rotation_swap_size 16/291516/1 accepted/tizen/7.0/unified/20230418.141956
Doyoun Kang [Tue, 18 Apr 2023 02:12:08 +0000 (11:12 +0900)]
e_config: add a new configuration - wm_win_rotation_swap_size

If this config is enabled, then window size can be swapped when it is rotated.
But it's up to e-module which is in charge of rotation functionality.

Change-Id: Ida40692d119cc0b42788c0b7ee5a153f029590c4

2 years agoe_info: add zone's angle information in topvwins 82/291482/1 accepted/tizen/7.0/unified/20230418.093704
Doyoun Kang [Mon, 17 Apr 2023 06:16:43 +0000 (15:16 +0900)]
e_info: add zone's angle information in topvwins

Change-Id: I6b669405289521fcb5ffc9c4cb865b901ccab981

2 years agoe_comp_wl: add _e_comp_wl_region_area_check function 58/291458/1
Junkyeong Kim [Fri, 14 Apr 2023 09:07:48 +0000 (18:07 +0900)]
e_comp_wl: add _e_comp_wl_region_area_check function

if requested region size(x+w or y+h) is over origin base region area,
set base region area to requested size.

Change-Id: I1d76b2e32330b1a4917c1172d0a57fc49a665521

2 years agoe_client/e_policy: subdivide the shadow size of decorator 59/291359/1
Doyoun Kang [Thu, 13 Apr 2023 11:22:45 +0000 (20:22 +0900)]
e_client/e_policy: subdivide the shadow size of decorator

We subdivided the shadow size of decorator into top, bottom, left, right.

Change-Id: Iabfa65039407ef8b9cfa23370a62497f59194db2

2 years agoe_info: print all ECs list on topwins operation 40/291340/1
Junseok Kim [Tue, 11 Apr 2023 06:31:45 +0000 (15:31 +0900)]
e_info: print all ECs list on topwins operation

There was no way to present invisible ECs list because of past topwins prints just evas object in e_comp->evas.
So, print all ECs on topwins operation.

Change-Id: I6f5170d26d2a4e1ae9f5e5760bd369eced5f919a
(cherry picked from commit e9453ea6c5ba5ea23a495e4bbf146b83fc4c6739)

2 years agoe_policy_wl: set desk_iconify_skip for cursor window 28/291328/1
Doyoun Kang [Thu, 13 Apr 2023 09:55:47 +0000 (18:55 +0900)]
e_policy_wl: set desk_iconify_skip for cursor window

We add code that the cursor window is not iconified by desk_iconify.

Change-Id: Idd4f03b3fc96515b65679682b027966999ab4bff

2 years agoe_policy: set desk_iconify_skip for service windows 93/291293/1
Doyoun Kang [Thu, 13 Apr 2023 02:32:01 +0000 (11:32 +0900)]
e_policy: set desk_iconify_skip for service windows

We add code that the service windows (such as home screen, quickpanel,
lock screen, etc) not to be iconified by desk_iconify.

Change-Id: I500af48b147c758b11d7ba62fd89fdd69ad1efa1
(cherry picked from commit b26b957ce22715633ccc6cab05af7b7098fc2112)

2 years agoe_policy_wl: change a layout geometry considering the shadow size 82/291182/1
Doyoun Kang [Tue, 11 Apr 2023 06:56:54 +0000 (15:56 +0900)]
e_policy_wl: change a layout geometry considering the shadow size

Change-Id: Id50ebd0086c36b381d7dfcbf8a7cd018cc38dda2

2 years agoe_client/e_policy_wl: add the shadow size for decoration 28/291128/2 accepted/tizen/7.0/unified/20230410.160650
Doyoun Kang [Mon, 10 Apr 2023 07:30:53 +0000 (16:30 +0900)]
e_client/e_policy_wl: add the shadow size for decoration

We add a shadow size for the client side decoration.
- E_Client struction : add a shadow value
- E_Policy_Hint_Type : add a E_POLICY_HINT_DECORATION_SIZE_SHADOW

Change-Id: I2044aba597dfb43408282574b6133dfcf650dd5c

2 years agoe_policy_wl: change aux hint name for decoration properties 27/291127/1
Doyoun Kang [Mon, 10 Apr 2023 06:46:50 +0000 (15:46 +0900)]
e_policy_wl: change aux hint name for decoration properties

We changed aux hint name related with client size decoration as below.
* E_Policy_Hint_Type
  - E_POLICY_HINT_RESIZE_HEADER_HEIGHT -> E_POLICY_HINT_DECORATION_SIZE_HEADER
  - E_POLICY_HINT_RESIZE_FOOTER_HEIGHT -> E_POLICY_HINT_DECORATION_SIZE_FOOTER
* hint_name
  - wm.policy.win.resize.header_height -> wm.policy.win.decoration.size.header
  - wm.policy.win.resize.footer_height -> wm.policy.win.decoration.size.footer

Change-Id: Iceb68af9d9fd6e116a779b96e4a11845e8b106b3

2 years agoe_desk: use transform_core to desk zoom 91/290991/1
Junseok Kim [Tue, 4 Apr 2023 04:07:31 +0000 (13:07 +0900)]
e_desk: use transform_core to desk zoom

Use transform_core API to desk zoom instead of transform_core_update_with_desk_zoom function.

There was a bug that video window blinking that enabled both of transform and desk zoom.

When the video window changed their size, the transform_core_update called by EVAS_CALLBACK_RESIZE before idle time.
And then, after idle time, following called the transform_core_update_with_desk_zoom by E_EVENT_CLIENT_RESIZE.
In this situation, it makese the window blinking because their're has different coordinates and zoom value of evas_map.

For fix this issue, use transform_core API to doing desk zoom to zoom at same time with other transform.

Change-Id: Ie2adf7d4af1d6239fb04d732ea3e51d6fc2ecee5

2 years agoe_util_transform: Add e_util_transform_zoom 90/290990/1
Junseok Kim [Tue, 4 Apr 2023 03:54:27 +0000 (12:54 +0900)]
e_util_transform: Add e_util_transform_zoom

Added e_util_transform_zoom for contain zoom information for using zoom API of evas_map.

Change-Id: I03b4d2ae0c8e0344c467157db592e963e437748a

2 years agoe_input_device: set input thread name 89/290989/1
Jihoon Kim [Tue, 4 Apr 2023 09:50:28 +0000 (18:50 +0900)]
e_input_device: set input thread name

Change-Id: I411af19f820f41fda3b856ac561a6382ec29b05c
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2 years agoe_comp_object: Quick fix for video punching issue 05/289605/2
Seunghun Lee [Fri, 10 Mar 2023 00:16:04 +0000 (09:16 +0900)]
e_comp_object: Quick fix for video punching issue

Applying render copy operation to smart object of video view didn't get
to take effect immediately after calling e_comp_object_mask_set() for
some reason. And it caused a visual glitch that the video view didn't
get displayed for a while.

Calling e_comp_object_mask_set(), the size of a rectangle object called
mask object must be 0x0 because there is obviously no
evas_object_resize() with this object. It would not be able to make evas
update its view. But it should be different for changing render
operation on smart object of video view. It should make some changes on
evas and make evas update its view. But it doesn't seem to work this
way. I'm not entirely sure, but it seems a bug in evas. Yet, I could be
wrong.

Since calling evas_object_resize() with the mask object seems to resolve
the issue, so let's avoid the issue with this way.
After all, calling evas_object_resize() with the mask object in
e_comp_object_mask_set() does make sense, and I don't see any side
effect in it.

Note that we might need to make another patch for this problem because
it's not the solution to get rid of root cause of the issue.

Change-Id: I04037517c30812f4120b9c024cea349e36723d71

2 years agoe_client: use rand_r() instead of rand() 72/290772/1 accepted/tizen/7.0/unified/20230405.151558
Doyoun Kang [Mon, 3 Apr 2023 02:55:28 +0000 (11:55 +0900)]
e_client: use rand_r() instead of rand()

we changed code to use rand_r instead of rand for thread safety

Change-Id: I0c0b35d1a42ace33428df7f11e3eebf4dc133d10

2 years agoe_comp_wl: remove selection target when ec going to delete 26/290726/1
Junseok Kim [Fri, 31 Mar 2023 07:02:18 +0000 (16:02 +0900)]
e_comp_wl: remove selection target when ec going to delete

Change-Id: I91f6ef96f004b016214916b90b10bf18abfa9fd7

2 years agoe_comp_wl_data: check focused resource is dnd icon resource 25/290725/1
Junseok Kim [Thu, 30 Mar 2023 10:08:21 +0000 (19:08 +0900)]
e_comp_wl_data: check focused resource is dnd icon resource

Check focused resource is same with DnD icon resource on start_drag request callback.
There was a bug that DnD icon window sometimes didn't appear.
It caused by focus set to the DnD icon window before receive start_drag request by timing issue.
Then the source window lose their focus, finally start_drag request fail.

For fix this issue, check the icon_resource is focused and continue the callback.

Change-Id: Ifb9c64df0123102f7cb925ce19c9902111318654

2 years agoe_comp_wl_data: set visible value of the drag_client to False when the drag finished. 24/290724/1
Junseok Kim [Thu, 30 Mar 2023 06:31:41 +0000 (15:31 +0900)]
e_comp_wl_data: set visible value of the drag_client to False when the drag finished.

Set visible value of the drag client to 0 when the drop finished.

There're many log about show blocked of the drag client after the drop
finished.
It's caused by the visible value of the drag client is 1 even though the
drag client didn't draw their surface after the drop finished.
To solve this problem, we set the visible value of the drag client to 0
when the drop finished.

Change-Id: I6994de1e5f11a3d1e1d2922948f43f10fd8d1753

2 years agoe_comp_wl: fix cursor flickering when mouse_out occurs 61/290661/1
duna.oh [Thu, 30 Mar 2023 06:08:00 +0000 (15:08 +0900)]
e_comp_wl: fix cursor flickering when mouse_out occurs

Showing and hiding a cursor is request-triggered operation by clients.
Hiding a cursor when mouse_out occurs is unnecessary server-side operation
and causes cursor flickering when mouse moves between apps.

Scenarios:
1. When mouse moves between cursor-supported apps (App 1 & App 2), App 2
sets its cursor and E20 hides an old cursor and shows a new one.

2 When mouse moves from a cursor-supported app to a cursor-unsupported app,
the cursor-unsupported app sets its cursor as null and E20 hides a cursor.

Change-Id: I3e15fd821064aa819f93eaed664c7d700a46b05a

2 years agosupport the set_auto_placement request of the tizen_launch_appinfo 92/290592/1 accepted/tizen/7.0/unified/20230330.014320
Doyoun Kang [Wed, 29 Mar 2023 08:25:01 +0000 (17:25 +0900)]
support the set_auto_placement request of the tizen_launch_appinfo

1. change version of tizen_launch_appinfo to 2
2. implement callback function for set_auto_placement of tizen_launch_appinfo
3. add E_CLIENT_INTERCEPT_HOOK_AUTO_PLACEMENT intercept hook

Change-Id: I7a007e403337af41873b1c2205939098d41cf6d4

2 years agoRename function name to get timestamp 76/290276/1 accepted/tizen/7.0/unified/20230328.140140
Jihoon Kim [Wed, 22 Mar 2023 07:28:20 +0000 (16:28 +0900)]
Rename function name to get timestamp

The function to get timestamp can be used generally.

Change-Id: Iff1e7db62724d15731dab2971d06ff5b317b21aa
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2 years agoFix timestamp overflow issue 90/290190/2
Jihoon Kim [Tue, 21 Mar 2023 08:01:19 +0000 (17:01 +0900)]
Fix timestamp overflow issue

Change-Id: Ie94b23adf5180c769f1ca9cec0403006d415e9e1
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2 years agoe_policy_wl: support tizen_policy_set_layout request 46/290246/1
Doyoun Kang [Wed, 22 Mar 2023 01:40:21 +0000 (10:40 +0900)]
e_policy_wl: support tizen_policy_set_layout request

Change-Id: I97bfb3fdf6ee52489644c2edf4ba8e21b4db8006

2 years agoe_comp_wl: Change input region set method 16/289716/1
Junkyeong Kim [Mon, 13 Mar 2023 11:28:30 +0000 (20:28 +0900)]
e_comp_wl: Change input region set method

erase round off error protection code.
use ec's w and h value instead state's w and h to get input region.

Change-Id: I197500f61b8d3655ae609036ca91d03c99ca285f

2 years agoe_client: fix bug for calculating ppu size 82/289682/1
Doyoun Kang [Mon, 13 Mar 2023 09:10:09 +0000 (18:10 +0900)]
e_client: fix bug for calculating ppu size

Change-Id: I677a598fa5aec7f228ecf0a486d174ffa517642c

2 years agoRevert "e_comp_wl: Change input region set method" 56/289456/1
Junkyeong Kim [Wed, 8 Mar 2023 01:54:42 +0000 (10:54 +0900)]
Revert "e_comp_wl: Change input region set method"

This reverts commit e73ae666dfcef2058ea9e150ed60428bb1c8aa04.

Change-Id: Iee34018bc783422a6267c77b82f4ad393ea4c2ef

2 years agoRevert "e_comp_object: Add input region set condition" 55/289455/1
Junkyeong Kim [Wed, 8 Mar 2023 01:48:44 +0000 (10:48 +0900)]
Revert "e_comp_object: Add input region set condition"

This reverts commit 363e8d480b0760cc8577f982ec27fc3aefa6fd00.

Change-Id: I525d0f795c01b38a776da90cacc5024ae6f9e6a9

2 years agoe_policy_wl: add callback functions for set/unset pin mode 74/289374/1
Doyoun Kang [Mon, 6 Mar 2023 11:23:07 +0000 (20:23 +0900)]
e_policy_wl: add callback functions for set/unset pin mode

Change-Id: I3e4f8442a525b77bb542213eeebfd2ed104012dc

2 years agoe_comp_object: Add input region set condition 78/289278/1
Junkyeong Kim [Fri, 3 Mar 2023 08:33:59 +0000 (17:33 +0900)]
e_comp_object: Add input region set condition

if width or height is 0, input region can be set 0x0.
it can makes region set error.
so do not add rect if width or height is c0.

Change-Id: Icc63a111a0fd6b49efe60d46e9772a096ee0e1d7
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
2 years agoe_comp_wl: Change input region set method 77/289277/1
Junkyeong Kim [Fri, 3 Mar 2023 08:22:46 +0000 (17:22 +0900)]
e_comp_wl: Change input region set method

eina_tiler_intersection API has round off error. so do not use this API.
intead, use input region rectangle directly.

Change-Id: I744b79ebd3ac6ae759403709362730516b6e8797
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
2 years agoe_input: support other axis_source (finger/continuous) than mouse wheel 44/289244/1
duna.oh [Thu, 2 Mar 2023 08:45:05 +0000 (17:45 +0900)]
e_input: support other axis_source (finger/continuous) than mouse wheel

Change-Id: I704ef4980832ad6cfa248b4912fbf05c3b6f6068

2 years agoe_client: modify e_client_pinned_set function 62/289162/2
Doyoun Kang [Thu, 2 Mar 2023 06:33:19 +0000 (15:33 +0900)]
e_client: modify e_client_pinned_set function

We changed a layer of the pinned set window to ABOVE layer

Change-Id: I5967f14ae43d17313c98802a612d2c339fedcfe6

2 years agoe_info_client/server: add -prop_set option in winfo (enlightenment_info) 61/289161/1
Doyoun Kang [Thu, 2 Mar 2023 06:23:10 +0000 (15:23 +0900)]
e_info_client/server: add -prop_set option in winfo (enlightenment_info)

We add new option "prop_set" to test some property in winfo (enlightenment_info)
ex) winfo -prop_set [window] [property] [value]

First we support test for pinning window.
- winfo -prop_set 0x12345678 pin 1

Change-Id: I114b4b020870fcf8d1892f507b699303f4f67443

2 years agoe_comp_wl: refactors handling state change callback 69/288969/2 accepted/tizen/7.0/unified/20230228.035356
Doyoun Kang [Thu, 16 Feb 2023 01:35:09 +0000 (10:35 +0900)]
e_comp_wl: refactors handling state change callback

We refactor code to handle each evas_object_smart_callback for changing state
(such as maximize/unmaximize, fullscreen, etc) separately.

Change-Id: I676e5a7b44dbf2f013fb6aebbd6690c00971bff3

2 years agoRevert "e_comp_wl/e_xdg_shell: refactor the size of configure event" 68/288968/1
Doyoun Kang [Wed, 15 Feb 2023 05:48:31 +0000 (14:48 +0900)]
Revert "e_comp_wl/e_xdg_shell: refactor the size of configure event"

This reverts commit 871409cb2f434cfe532137ca8eaa0451f4568ef2.

Change-Id: I11d0a70f38430358a2784e9fc6a25ae975826a88

2 years agorefactor code to handle sync_client_geometry_add 98/288598/1
Doyoun Kang [Mon, 20 Feb 2023 01:59:46 +0000 (10:59 +0900)]
refactor code to handle sync_client_geometry_add

There was a potential bug for handling tizen_position_set request if the ec is under
pending_geometry.
We refactored code handling sync_geometry_set to compare the buffer size not serial.
For this, if the tizen_position_set was called under pending geometry, then we called
e_comp_wl_commit_sync_client_geometry_add with size(0x0).
In this case, the client could not send the buffer chagne event for size(0x0), so the
tizen_position_set request remained not to handled.

To resolve this, we refactor the e_comp_wl_commit_sync_client_geometry_add function.

Change-Id: Ib36eec68b918a5ebacbb192037a9dc4a082137a0
(cherry picked from commit 4fa1f5bfa1a3dc651c2b0b8746c76a40e3765aa9)

2 years agoe_comp_wl: fix bug for handling tizen_move_resize_geometry_set 89/288589/1
Doyoun Kang [Mon, 20 Feb 2023 01:49:13 +0000 (10:49 +0900)]
e_comp_wl: fix bug for handling tizen_move_resize_geometry_set

There was a bug that the window didn't move if a client called the tizen_move_resize_geometry_set
with same size. In this case, the server waited for the changing buffer event, but the client
didn't change the buffer. So, the server didn't move window until getting buffer change event.

To resolve this, we add code to check the size of geometry both current and requested.
If the size is same, then we doesn't pend to change geometry, and just move window.

Change-Id: I28c58fc28cbc9511c3e1ae6076933afae947813c

2 years agoe_comp_wl: Send wl_data_device event to client considering input region 75/288575/2
Junseok Kim [Thu, 9 Feb 2023 10:11:22 +0000 (19:11 +0900)]
e_comp_wl: Send wl_data_device event to client considering input region

There was a bug that window that didn't seen to user receives
wl_data_device_enter event.

In this case, the window has 32bit colored, full size window, input rect
to drawing shelves at bottom of the screen.
And the enlightenment consider only the client's geometry to send
wl_data_device_enter event.
The above situations can cause that the window receive the
wl_data_device_enter event.

For fix this issue, consider input region of the client when send the
wl_data_device_enter event.

Change-Id: Ib13496aecd249ac752a9d0ee02819ac10ee48aa4

2 years agoe_client: Add function to get E_Client under pointer consider input rect 74/288574/1
Junseok Kim [Thu, 9 Feb 2023 09:53:56 +0000 (18:53 +0900)]
e_client: Add function to get E_Client under pointer consider input rect

Add function to get E_Client under pointer with considering input rect
of client.

Change-Id: I33d41f1434da70feb42f203bfc43412ff969b344

2 years agoe_info_server: consider position for drawing input_region 65/288465/1 accepted/tizen/7.0/unified/20230220.064531
Doyoun Kang [Fri, 17 Feb 2023 01:48:06 +0000 (10:48 +0900)]
e_info_server: consider position for drawing input_region

Change-Id: I2aa1814e1d8cc1a0d400e41f527e904a6d7de02a

2 years agoremove handling enlightenment-tests in post script 05/288305/1 accepted/tizen/7.0/unified/20230216.140339
Doyoun Kang [Wed, 15 Feb 2023 02:14:30 +0000 (11:14 +0900)]
remove handling enlightenment-tests in post script

Change-Id: I019cd74e344d355d8e878cc8aaa94814b91f2006

2 years agoremove enlightenment-tests in enlightenment package 00/288300/1
Doyoun Kang [Wed, 15 Feb 2023 01:21:29 +0000 (10:21 +0900)]
remove enlightenment-tests in enlightenment package

Change-Id: If6a8c66c1f88d366011d349f9071362dc3d59d54

2 years agoe_devicemgr: handle init_generator_with_sync request 69/288269/1
duna.oh [Fri, 9 Dec 2022 05:42:46 +0000 (14:42 +0900)]
e_devicemgr: handle init_generator_with_sync request

init_generator_with_sync req. is available since tizen_input_devie_manager v.5
e_devicemgr handles this request by sending error_none event when device
is added in E20 and ready to generate input events.
If device is not ready in timer's duration (1 sec), e_devicemgr sends errors.

Change-Id: I85ea9ae8d75aca16e8debe8fef6a5fed89a5f653

2 years agoe_process: check internal window while handling activate/deactivate process 97/288197/1
Doyoun Kang [Mon, 13 Feb 2023 11:15:46 +0000 (20:15 +0900)]
e_process: check internal window while handling activate/deactivate process

There was a bug that the status of process didn't change to DEACTIVATE when the internal ec got
focused.

For resolve this problem, we check the focus ec is internal ec or not. If focus ec is internal,
then e changes the previous activate process' state to DEACTIVATE.

Change-Id: I62961438c61cfc0685c595e93c9406c41eed963b

2 years agoe_util_transform: fix flickering when client attach null buffer 95/288195/1 accepted/tizen/7.0/unified/20230215.154338
Changyeon Lee [Mon, 13 Feb 2023 05:37:36 +0000 (14:37 +0900)]
e_util_transform: fix flickering when client attach null buffer

client attach null buffer when it want to unmap
size of ec is updated by size of buffer and core transform use
size of ec.
so ec is transformed by 0x0 size when window  is unmapped and
core transform is enabled.
it cause flickering frame when client attach valid buffer after
it is unmapped.

ex) window is 1920x1080 and core transform size is 3840x2160
1. client attach null buffer and it is umapped
2. transform is updated by 0x0 size because size of ec is 0x0
3. but ec is visible because hide effect
3. client is rendered with transform 0x0 size
4. client attach 1920x1080 size buffer and transform is updated
   by 3840x2160
5. client is rendered with transform 3840x2160 size

Change-Id: Icd74973ae3bd18fda47fcadc47d9fad37bc667a5

2 years agoe_comp_wl.h: remove unused function 84/288184/1
Doyoun Kang [Mon, 13 Feb 2023 07:02:04 +0000 (16:02 +0900)]
e_comp_wl.h: remove unused function

Change-Id: I020264804229c39426ed21daab7c92ec8a3f7896

2 years agoe_comp_wl: refactor code to handle sync_geometry_set 73/288173/1 accepted/tizen/7.0/unified/20230214.105912
Doyoun Kang [Mon, 13 Feb 2023 02:03:56 +0000 (11:03 +0900)]
e_comp_wl: refactor code to handle sync_geometry_set

We refactor code to handle the tizen_move_resize_set_geometry request.
We handled it using the serial data of buffer, but there was a case not to set the serial data.
So, we changed code that e compares the buffer size and requested geometry size instead of the
serial data.

Change-Id: I0994f382797de3108e9c6c3645b0449f750b4832

2 years agoe_comp_object: fix the size of effect object 69/287869/1 accepted/tizen/7.0/unified/20230209.070254
Changyeon Lee [Mon, 6 Feb 2023 11:36:05 +0000 (20:36 +0900)]
e_comp_object: fix the size of effect object

the size of effect object should be set with the size of comp object
when map of effect object is disabled, not the size of buffer.
because the size of buffer can be different with the size of comp object
when client attach buffer which is not matched comp object.

Change-Id: I609f29db78d666f5efe18a39d1f295fb23a6af02

2 years agoe_desk: check code whether ec is deleted in e_desk_geometry_set 92/287792/1
Doyoun Kang [Mon, 6 Feb 2023 07:23:02 +0000 (16:23 +0900)]
e_desk: check code whether ec is deleted in e_desk_geometry_set

Change-Id: I262d85056fe9a44de5f84626e055daafb906df33

2 years agoe_policy_visibility: check bg_state before calling uniconify_render_pending 17/287617/1 accepted/tizen/7.0/unified/20230202.173329
Doyoun Kang [Wed, 1 Feb 2023 09:51:46 +0000 (18:51 +0900)]
e_policy_visibility: check bg_state before calling uniconify_render_pending

Change-Id: I83a38396dcae98aa019cd264c91ad1b8ccec00a2

2 years agoe_comp_wl_tizen_hwc: add wait_commit to log of feedback timeout 26/287426/1
Changyeon Lee [Thu, 19 Jan 2023 10:00:42 +0000 (19:00 +0900)]
e_comp_wl_tizen_hwc: add wait_commit to log of feedback timeout

Change-Id: I1fcada3c3cd323fde9610324189ffcaacc75c4b7

2 years agoe_comp_wl: modify code sending configure event in ec->frame resize callback 53/287253/1 accepted/tizen/7.0/unified/20230126.170230
Doyoun Kang [Wed, 25 Jan 2023 07:46:54 +0000 (16:46 +0900)]
e_comp_wl: modify code sending configure event in ec->frame resize callback

We changed code not to send configure event if the buffer size is same to the ec's size in ec->frame's
resize callback.

Change-Id: I8a4ca2e51c4226d33e983ae8c99143953e060606

2 years agoe_policy_wl: add a new aux hint for resizing window by ppu 76/286576/2
Doyoun Kang [Tue, 10 Jan 2023 04:50:35 +0000 (13:50 +0900)]
e_policy_wl: add a new aux hint for resizing window by ppu

We add a new aux hint value for ppu.
- wm.policy.win.resize.ppu

Change-Id: I563f4621978bcb37d8ce8410b6e0e615350e6c21

2 years agoe_client: support ppu for resizing window 70/286570/1
Doyoun Kang [Tue, 10 Jan 2023 01:48:23 +0000 (10:48 +0900)]
e_client: support ppu for resizing window

We add a new feature that the window is resized based on the ppu.
If a user sets the ppu value to window and requests to resize window by display server,
e adjusts the window's size according to the ppu value.

Change-Id: Idb7c3d77b9760ca60c4a3d57028af7e53ddb15bd

2 years agoe_xdg_shell_v6: Set wait_next_commit flag to True when min/max_size_set 02/286402/1 accepted/tizen/7.0/unified/20230110.032025
Junseok Kim [Thu, 5 Jan 2023 03:53:16 +0000 (12:53 +0900)]
e_xdg_shell_v6: Set wait_next_commit flag to True when min/max_size_set

There was a bug that min/max size set didn't work even the client send wl_surface_commit after min/max_size_set
The commit callback didn't work because of unset of the wait_next_commit flag.
And it causes the min/max size didn't adjust to the toplevel surface.

For resolve this issue, set wait_next_commit flag to True when doing min/max_size_set.

Change-Id: If8534017bdae2d19f45f34b06620f0ca03cc9b2d

2 years agoe_hwc_window: handle invalid case of releasing the usable queue buffer 57/286357/1 accepted/tizen/7.0/unified/20230106.165617
Changyeon Lee [Wed, 4 Jan 2023 09:03:07 +0000 (18:03 +0900)]
e_hwc_window: handle invalid case of releasing the usable queue buffer

if client attach general buffer after the queue buffer is attached,
the usable queue buffer is released and client can not get the queue buffer
for next frame.
it is invalid sequence of client rendering but we should handle this case.
add checking the usable queue buffer is relased and unset queue of ec.

Change-Id: I31ae261974fb3b4d76bf40cfcfbb02d22dd6b36d

2 years agoe_service_quickpanel: check qp_ignore_indicator_mode config while handling gesture... 57/286257/1 accepted/tizen/7.0/unified/20230103.164449
Doyoun Kang [Tue, 3 Jan 2023 01:12:29 +0000 (10:12 +0900)]
e_service_quickpanel: check qp_ignore_indicator_mode config while handling gesture event

If the qp_ignore_indicator_mode is set, then e doesn't send the gesture event to indicator

Change-Id: Ife43fffddd082fc9fcf9b4434b4068d9a1d49b38

2 years agoe_config: add qp_ignore_indicator_mode configuration 50/286250/1
Doyoun Kang [Mon, 2 Jan 2023 23:28:45 +0000 (08:28 +0900)]
e_config: add qp_ignore_indicator_mode configuration

If this configuration is set, the quickpanel service window can be shown regardless of the indicator's
state (such as shown, hidden, etc).

FYI,
default value is 0, it means that the quickpanel service can only be shown when the indicator is shown.

Change-Id: I33d13f2e63905d5032cbe60722dd7fc483c72e07

2 years agoe_client: set above_show_pending flag if non alpha window while calculating visibility 92/286092/1
Doyoun Kang [Tue, 27 Dec 2022 10:40:21 +0000 (19:40 +0900)]
e_client: set above_show_pending flag if non alpha window while calculating visibility

Change-Id: If25a7129bd6f4f4edcd9ae869183f80ad75b6026

2 years agoe_info_server: add client name to file of dump buffers 61/286061/1 accepted/tizen/7.0/unified/20221229.170951
Changyeon Lee [Mon, 26 Dec 2022 05:10:20 +0000 (14:10 +0900)]
e_info_server: add client name to file of dump buffers

Change-Id: Ia5d68468201949b511af8b9908e24db0d9f1a855

2 years agoe_policy_wl: do not send allowed_aux_hint event when delete the aux_hint 53/285953/1
Junseok Kim [Thu, 22 Dec 2022 07:03:11 +0000 (16:03 +0900)]
e_policy_wl: do not send allowed_aux_hint event when delete the aux_hint

The event that "tizen_policy_allowed_aux_hint" means the aux hint allowed, not the request allowed.
But the allowed_aux_hint event sent when the aux_hint_del proceed.
It seems misuse of event and client can understand as the deleted aux hint still allowed.

For prevent misunderstanding and correct the mean of event, don't send allowed_aux_hint when delete the aux hint.

Change-Id: I0d7c5fba29963f0638bc9832b9ca1dd5f34edf45

2 years agoe_comp_wl: add cursor_timer when mouse_wheel and mouse_down/up 04/285904/1
duna.oh [Tue, 13 Dec 2022 06:25:28 +0000 (15:25 +0900)]
e_comp_wl: add cursor_timer when mouse_wheel and mouse_down/up

add scenarios when setting cursor hide timer
1. when mouse wheel is scrolled.
2. do not set hide timer when mouse down occurs, and set hide timer
when mouse up occurs.

Change-Id: I3ff45dcd1ffcef9dff30acb9487992fe43e8cbe1

2 years agoe_comp_object: fix continuously generate E_EVENT_CLIENT_PROPERTY 84/285684/1
Changyeon Lee [Fri, 16 Dec 2022 08:12:59 +0000 (17:12 +0900)]
e_comp_object: fix continuously generate E_EVENT_CLIENT_PROPERTY

if ec has pending geometry but client does not send wl_surface_commit
request, E_EVENT_CLIENT_PROPERTY is continually generated with below
sequence.

1. pending_geometry and changes.pos of client is set true
2. changes.pos is set false and evas_object_move is called in
   _e_client_eval(it is called in idle_enterer_before)
3. changes.pos is set true in _e_comp_intercept_move because
   ec has pending geometry
4. E_EVENT_CLIENT_PROPERTY is added in _e_client_eval
5. ecore main loop is wake up with E_EVENT_CLIENT_PROPERTY
6. step 2 is repeated

Change-Id: Id817e13569759c0807188e2bbd342274454673ae

2 years agovideo: Move video update job to E_MAIN_HOOK_POST_CLIENT_IDLER_BEFORE 56/285656/1 accepted/tizen/7.0/unified/20221219.021144
Seunghun Lee [Thu, 15 Dec 2022 08:16:10 +0000 (17:16 +0900)]
video: Move video update job to E_MAIN_HOOK_POST_CLIENT_IDLER_BEFORE

This patch is to change the order of jobs like this:

Old:
  video update job -> e_client_idler_before() -> hwc commit job

New:
  e_client_idler_before() -> video update job -> hwc commit job

The problem with the old way is that if the E_Client for video gets
updated for some reason in the process of e_client_idler_before(), then
video update job couldn't get a chance to be up to date with it and hwc
commit job would end up getting done without the update.

It would be obviously better if we could commit all changes to onscreen
at once as far as possible. And this patch is made to achieve it.

It is necessaty to add a new hook point called
E_MAIN_HOOK_POST_CLIENT_IDLER_BEFORE in e_main, because there is no way
to insert a video update job handler between e_client_idler_before() and
hwc commt job,

The callbacks associated with the hook point will be called right after
the call e_client_idler_before().

This way, video update job will be able to get a chance to be up to date
with changes which might be made in the process of
e_client_idler_before().

Change-Id: I857e0efcb12e7a06c18921bdfc6e6077fd5f521d

2 years agoe_client: Appy base output resolution to subsurfaces 55/285655/1
Seunghun Lee [Thu, 15 Dec 2022 06:19:16 +0000 (15:19 +0900)]
e_client: Appy base output resolution to subsurfaces

This patch is to apply base output resolution of toplevel window to all
subsurfaces. So, it removes call to e_comp_wl_hook_del() and continue to
listen E_COMP_WL_HOOK_SUBSURFACE_CREATE hook point.

Some wayland clients repeatedly reuse wl_surface to create wl_subsurface
with a different parent from previous one. The problem is that the
subsurface can't get applied with base output resolution of a new
toplevel window in this case.

To apply base output resolution of a new parent to all associated
sub-surfaces, we should call e_client_transform_core_update() for a
toplevel window whenever a subsurface gets created with a new parent.

Since e_client_transform_core_update() recursively updates transform for
all sub-surfaces, calling e_client_transform_core_update() for a
toplevel window should also update transform for all subsurfaces.

Change-Id: I3253f83e0ab1cf1f5381bbfba2693d9d642d88ca

2 years agoe_policy_wl: set desk_iconify_skip to DESKTOP type window 43/285343/1 accepted/tizen/7.0/unified/20221214.051717
Doyoun Kang [Fri, 9 Dec 2022 02:57:42 +0000 (11:57 +0900)]
e_policy_wl: set desk_iconify_skip to DESKTOP type window

Change-Id: If553ac1b182c2ee7451092460ec977dd25ca6aaf

2 years agoe_client: add e_client_desk_iconify_skip_set/get APIs 42/285342/1
Doyoun Kang [Fri, 9 Dec 2022 02:54:49 +0000 (11:54 +0900)]
e_client: add e_client_desk_iconify_skip_set/get APIs

We provide APIs for setting/getting a value to skip iconify by desk as below.
- E_API void e_client_desk_iconify_skip_set(E_Client *ec, Eina_Bool skip);
- E_API Eina_Bool e_client_desk_iconify_skip_get(E_Client *ec);

Change-Id: I680a0301d72c71822bf8b83c3fdf0f203559cdc0

2 years agoe_client: check ec->frame is visible when finding focusable ec in topmost focus policy 30/285330/1
Junseok Kim [Wed, 7 Dec 2022 06:46:36 +0000 (15:46 +0900)]
e_client: check ec->frame is visible when finding focusable ec in topmost focus policy

There was a bug that focus given to the iconified window that fully obscured by evas object hide (not unmap, called by E20 module).
When the evas object hide called, the window was uniconic state so that state of visibility client still be E_VIS_ICONIFY_STATE_UNICONIC.
But, the visibility of the window turn to fully obscured, and iconified by visibility.

Finally, the window has property as below:
 - stack was topmost window of normal layer
 - focused: true
 - visibility.obscured : fully obscured (2)
 - vc->state : E_VIS_ICONIFY_STATE_UNICONIC (1)
 - iconic : true (1)
 - exp_iconify.by_client : false (0)
 - ec->frame visible : false
 - ec->mapped : true

The window will be show again by next visibility calculate, but the window have to loose their focus in this time.
for fix this issue, do not give focus to the window when the evas object is not visible.

NOTE: This is only for topmost focus policy.
      In focus history policy case, the window will be show soon so that the window can take focus.

NOTE2: This patch replaces the patch 2b0f37d491a700fbec56e91618825cc2dedd5585,
       which patch is prevent issue in topmost focus policy.

Change-Id: I21a0e8fd8610f7aa878e616cfa671ea49c5811e9

2 years agoe_comp_wl: add log of gap idle_exiter between prepare callback of wayland event loop 09/285309/1
Changyeon Lee [Wed, 7 Dec 2022 10:38:36 +0000 (19:38 +0900)]
e_comp_wl: add log of gap idle_exiter between prepare callback of wayland event loop

if the job of main thread has much time or does not get CPU scheduling, the synchronous call
(ex: wl_display roundtrip) is blocked until the job is done. it is the regular operation of
a synchronous call but sometimes it has too much time.
this patch is for debugging it.

Change-Id: Ife0d9f0ad32807fd892c7b2f991d966427c0c72c

2 years agoe_policy_visibility: change vc->state to iconic while canceling grab 04/285304/1
Doyoun Kang [Thu, 8 Dec 2022 23:43:45 +0000 (08:43 +0900)]
e_policy_visibility: change vc->state to iconic while canceling grab

If the E_Vis_Client is under running uniconify_render, then we change vc->state value
to E_VIS_ICONIFY_STATE_ICONIC in _e_vis_client_grab_cancel() function.

Change-Id: Ib67e414bb1243f42c23c47c10a7a167b903a51e6

2 years agoe_devicemgr_wl: set the list of 'dev->resources' to NULL after eina_list_free() 46/285046/1
duna.oh [Mon, 5 Dec 2022 03:54:39 +0000 (12:54 +0900)]
e_devicemgr_wl: set the list of 'dev->resources' to NULL after eina_list_free()

Change-Id: If9ee0cf2500c25e4a69dfbe763d2af6d11842955

2 years agovideo: Refactor the function for cropping viewport 65/284965/1
Seunghun Lee [Tue, 15 Nov 2022 07:19:21 +0000 (16:19 +0900)]
video: Refactor the function for cropping viewport

This is about reconsidering variable and function names to enhance
readability.

No functional changes.

Change-Id: Ia8ea36d7c4af13992e17da82fbc38a7bbbd64351

2 years agovideo: Fix transform translation 64/284964/1
Seunghun Lee [Thu, 1 Sep 2022 00:09:35 +0000 (09:09 +0900)]
video: Fix transform translation

The function _e_video_hwc_coord_transform() did actually translate the
90 and 270 degree rotations into the inverse of what it's supposed to
do.

Since it's to get the points in buffer-local coordinates from physical
screen-local coordinates, it has to translate 90 and 270 degree
rotations into inverse of buffer_transform().

Change-Id: Ib48fe10dd6213888bf563e5645f8954d34cf36e2

2 years agovideo: Handle negative positioned video 63/284963/1
Seunghun Lee [Thu, 11 Aug 2022 05:43:32 +0000 (14:43 +0900)]
video: Handle negative positioned video

If video sub-surface has negative position, e_comp_wl_output_find()
returns NULL unless there is an output which has negative position.
So, it would eventually fail to calculate physical geometry to be
applied to physical device associated with the output.

To resolve this problem, here it uses e_comp_wl_output_find_all() to get
all outputs on which a E_Client is overlapped. And then it uses a first
output among the returned outputs because it's not ready yet to support
for displaying video on multi output.

The same is true of e_comp_zone_xy_get(). As the name suggests, the
e_comp_zone_xy_get() function returns a zone which contains given x, y
position. So it returns nothing with negative x, y position unless there
is a zone which has negative position.

For this reason, this patch uses a zone referenced directly by E_Client
instead of the value returned from e_comp_zone_xy_get().

Change-Id: I5c20927ab418e4194209790a1c5a4b8bc50ebb38

2 years agoe_comp_wl: Add e_comp_wl_output_find_all() 62/284962/1
Seunghun Lee [Thu, 11 Aug 2022 05:21:19 +0000 (14:21 +0900)]
e_comp_wl: Add e_comp_wl_output_find_all()

The function returns an array containing all E_Comp_Wl_Output on which
given E_Client is placed.

It's been fine with e_comp_wl_output_find() so far, but if given
E_Client is the window placed on negative poisition, then
e_comp_wl_output_find() returns null unless there is a output that
has negative position which doesn't make sense.

Change-Id: I3ddb891803ff88ff0de48dbc58055ac190a2fa84

2 years agoe_comp_object: defer move,resize,clear when render_update_lock is enabled 97/284897/1 accepted/tizen/7.0/unified/20221201.164843
Changyeon Lee [Wed, 2 Nov 2022 10:46:32 +0000 (19:46 +0900)]
e_comp_object: defer move,resize,clear when render_update_lock is enabled

there is a visual bug when client move and resize buffer when render_update_lock
is enabled because evas_object is resized and moved but buffer of client is not
updated. (buffer of render_update_lock is fill to evas_image_object)
and buffer of render_update_lock is cleared in comp_object if e_comp_object_clear
is called so defer clear of comp_object until render_update_lock is disabled.

Change-Id: Iabe67a558c7ea62d0f84cd6c041f2f24b32a3c1b

2 years agoe_comp_object: fix missing unrference buffer of render_update_lock 01/284801/1 accepted/tizen/7.0/unified/20221129.172451
Changyeon Lee [Mon, 31 Oct 2022 06:46:34 +0000 (15:46 +0900)]
e_comp_object: fix missing unrference buffer of render_update_lock

Change-Id: Iaf018573a808b95f7e69666552b981507445078a

2 years agoe_policy_wl: Add new aux hint for set visibility.ignore_geometry 27/284727/1
Junseok Kim [Thu, 27 Oct 2022 08:49:24 +0000 (17:49 +0900)]
e_policy_wl: Add new aux hint for set visibility.ignore_geometry

Added new aux hint for set visibility.ignore_geometry property of the target client.
hint: "wm.policy.win.visibility.ignore_geometry"
val: "1": set ignore_geometry / "0": unset ignore_geometry

Change-Id: Id912cc1bf2309dabfe77cd1a9c9bb2000c01cb77

2 years agoe_config: Add configuration to adjust visibility.ignore_geometry to all windows 26/284726/1
Junseok Kim [Thu, 27 Oct 2022 06:09:00 +0000 (15:09 +0900)]
e_config: Add configuration to adjust visibility.ignore_geometry to all windows

For adjust visibility.ignore_geometry to whole windows, added the configuration that calc_vis_ignore_geometry.
When the calc_vis_ignore_geometry is True, all of the new E_Client set the visibility.ignore_geometry to True.

It is not fix each client's visibility.ignore_geometry value to configured value.
each client can change their value at any time.

Change-Id: I7804183a7bb340d7b725eb5b198ba00994123bc1

2 years agoe_client: Add ignore_geometry property to E_Client to ignore geometry calc when vis... 25/284725/1
Junseok Kim [Thu, 27 Oct 2022 06:03:02 +0000 (15:03 +0900)]
e_client: Add ignore_geometry property to E_Client to ignore geometry calc when vis calc

Ignore_geometry is property for ignore geometry calculation during calculate visibility after once the window show and the property set.
The window that set visibility.ignore_geometry always retain unobscured even if the window is stack in lowest after client attach buffer that not NULL.
It makes the client to do something their jobs under other client window.

Change-Id: Idce08255223d451cbd39b09166849a45cc9586c3

2 years agodevicemgr: send max_touch_count events to all tizen_input_device_manager bound 39/284539/1 accepted/tizen/7.0/unified/20221128.015430
duna.oh [Thu, 17 Nov 2022 02:22:57 +0000 (11:22 +0900)]
devicemgr: send max_touch_count events to all tizen_input_device_manager bound

This patch is modification of the following commit.

-------------------------
commit f57a73ce40323b8c2b1f5847375090165c52dcc6
Author: duna.oh <duna.oh@samsung.com>
Date:   Thu Nov 10 14:34:33 2022 +0900

    e_devicemgr: create tizen_input_devices only for first bound seat & manager

Change-Id: I92cc3a49f7419fe60352bbaddfdfce59d573a5ac

2 years agoe_devicemgr: add null checking and break from for-loop 38/284538/1
duna.oh [Fri, 11 Nov 2022 02:35:59 +0000 (11:35 +0900)]
e_devicemgr: add null checking and break from for-loop

Change-Id: I83d7b62195b21997cec9e0c242644506dc37e587

2 years agoe_client: Unset current focus when the new focusable ec found 11/284511/1
Junseok Kim [Fri, 18 Nov 2022 05:43:22 +0000 (14:43 +0900)]
e_client: Unset current focus when the new focusable ec found

There was a bug that couldn't receive focus changed event when client unobscured by activate using topmost focus policy.

For more detail, in topmost focus policy, issues following below sequence.
1. Focused window(winA) requests Activate below to fully obscured window(winB).
2. winA requests Activate before winB showing.

The Activate below request didn't doing uniconify render, so stack was changed immediately.
and it cause visiblity changes immediately and visibility changed event send to each client.

The winB didn't focused because of the winB is not shown till the uniconify rendering by visibility.
in this case, winA still focused but winA is not focusable window before winB shown or winA Activated.

It can cause the client didn't receive focus changed event after the client unobscured.
(client regards the fully-obscured means loose focus)

for fix this problem, always focus unset before focused window when there're new focusable window.

Change-Id: Iaccfa5ed77bd46f58a4f82acd9109e534da54606