NB: This is done for wayland clients where e_client delete function
has already freed the client wl_comp_data Before we get a shell
surface destroy message from wayland. (occurs due to async nature).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
When setting transient, tell the compositor that we need to reset the
window type for this surface.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
client->parent->modal code to the compositor side.
Also, after setting netwm.type, change the set_win_type in the
compositor data field so that the compositor will handle parent->modal
on next property fetch.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: add support for xdg_shell surface transient_for
Test Plan:
1. run e wayland server
2. run weston-stacking and set focus it
3. press 't' for creating transient_for surface
Reviewers: devilhorns, zmike, raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D1016
@feature
Summary:
there are no geometry restore codes in handler of
wl_shell_surface toplevel_set.
Test Plan:
1. run e wayland only server with devilhons's branch source (devs/devilhorns/e_comp_wl)
2. run terminology
3. make terminlogy surface to be maximized
4. make terminlogy surface to be un-maximized
5. move terminlogy surface
Reviewers: devilhorns, zmike, raster, stefan_schmidt
CC: cedric
Differential Revision: https://phab.enlightenment.org/D965
Summary: fullscreen_set handler for wl_shell_surface
Test Plan:
1. run e wayland only server with devilhons's branch source (devs/devilhorns/e_comp_wl)
2. run elementary_test -to "window states"
3. select fullscreen check box on elementary_test surface
Reviewers: devilhorns, zmike, raster, stefan_schmidt
Reviewed By: devilhorns
CC: cedric
Differential Revision: https://phab.enlightenment.org/D966
This fixes ticket T1526 - Selecting no input method would still allow
the configure button to be pressed, and items selected from the
language list.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Due to stupid_obj_del_workaround_hack, sound comes out during 3sec
even if media has been disappeared. Although the 3sec workaround should be gone,
pause media on close to fix the side effect.
Tiling wasn't being applied when enabling it with a new config because
we were comparing with the old config instead of just always applying.
This fixes T974.
Since icon/video will be drawn into livethumb's image canvas,
icon/video would be deleted on livethumb's deletion.
Therefore, don't register icon/video as comp object's del list.(duplicated deletion)
"frame_decode" callback shouldn't be invoked multiple time.
Summary:
add check new_gcc into the gadman's gadget add handler to prevent invalid ref_count increase
while moving between two zones. and also add object clean code for new_gcc and drag_gcc
when gadget is dropped.
Fixes T722
Test Plan:
1. create clock module on gadcon desktop (settings->gadgets, select "background" under layers, click "configure layer" and add a clock gadget).
2. drag clock gadget from one screen to the other. drop it there.
3. drag clock back to first screen
4. right click on clock and select "clock->remove".
Reviewers: raster, devilhorns, zmike
Subscribers: cedric
Maniphest Tasks: T722
Differential Revision: https://phab.enlightenment.org/D1256
this has been just way too confusing. i her user problems all the time
and they just cant see differences between connman module+gadget and
python econnman app.
we do need to have these settings in e in the end anyway... but until
then - disable
this dialog had a singl option in it - use shaped windows... and we
don't even use it anymore. remove the dialog to avoid confusion and
set use shaeped window to 0 - maybe config val could go entirely?
this will mean all users upgrading from e18 to e19 get the new preview
pager. thoose wanting the older plain pager can switch ti pager_plain.
anyon using git will find pager16 remove (or if still installed not
updated) so switch back to pager from pager16. :)
Summary:
pager16 is not properly resized when it is a desktop gadget.
Case 1. In move/resize mode, shrink is impossible since all items' min has been set by setting table options on resizing.
-> Do not set table options in _pager_resize().
Case 2. After log-in, if we open new window, pager has been get into move/resize mode.
frame resize was ignored, since it's invoked in the middle of resizing.
The detail is:
1) gadcon's frame is resizing
2) the table is resized
3) _pager_resize() -> e_gadcon_client_aspect_set() -> _gadman_gadget_size_hints_cb() -> try to resize frame
4) since frame is in the middle of resizing, the resize request has been ignored. (at start, since the initial size was 0, 0, pager get into move/resize mode)
-> Defer aspect setting.
fixes T1012
Test Plan:
Caes 1. try to shrink pager16 gadget on desktop
Case 2. open any window after log-in -> check whether the pager has been getting into move/resize mode and shrink
Reviewers: zmike
Subscribers: cedric, seoz
Maniphest Tasks: T1012
Differential Revision: https://phab.enlightenment.org/D1242
Summary: add the padding to the if clause
Test Plan: Set a padding and press WIN+Arrow keys
Reviewers: tasn
Reviewed By: tasn
CC: cedric
Differential Revision: https://phab.enlightenment.org/D1117
so e is using eo... and something in eo changes... and e fails to
compile entirely.... there are hacks to use eo... and this is not good.
eo is still in a beta state. that means any usage of it can (and
will) break. this is a problem for e. if e uses eo, then eo breaks in
an efl upgrade, e breaks. we can't really have that. we already hit
this problem in terminology with the app server code in elm. so let's
just not use eo in e until it's stable.
this removes eo usage in all places, with the e_menu code having a
small isedje() func due to some of its code paths doing special things
based on if the obj is an edje one or not as opposed to just a simple
"only emit if its an edje obj".
before trying to get list data from it.
NB: Safeguards added to stop crashes from happening during a
mouse_wheel (reported from Guy Martin).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
E master
fix crash and memory leak when press and release any key repeatedly.
Summary:
since the size of wl_array is determined based on one byte,
so in order to compare with uint32_t, the size of wl_array should
be divided by uint32_t's size.
and when calculate the size of wl_array by difference between two
address, address should type cast char* as one byte.
Test Plan:
(1) run terminology
(2) input any key several time.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
When we include support (in the wayland compositor) for compiling with
EGL, the inclusion of the EGL headers cause a conflict with the
Status structure name in this module, so lets rename it.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
When we include support (in the wayland compositor) for compiling with
EGL, the inclusion of the EGL headers cause a conflict with the
Status structure name in this module, so lets rename it.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
SUMMARY: Unify popup menu activation code to match other modules, and
utilize E_MENU_POP_DIRECTION_AUTO for shelves that are in various
positions. Also use the current evas mouse event coordinates and
gadget position to calculate menu popup position.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
this is not the correct way to use this function, and tiling should probably never call it. this is a function for (slowly) repositioning every client on the currently visible desktop while trying not to overlap. on failure, which occurs when clients cannot be placed without overlapping, it moves clients to 0,0.
fix T1310 because there is no i in team