the values requested by the client will be based on its geometry and not
the geometry of the frame. using the frame geometry here results in windows
moving ↘ based on the top/left frame sizes
fix T2912
(2) e.src(s): add keyboard.repeat_delay, keyboard.repeat_rate into e.src files
Summary:
As of now, the default values of repeat delay/rate are being set in e_comp_wl.c.
Those values need to be configurable and will be used in e_comp_wl_init().
The limit of each of the values is defined from -1 to 1000. (maximum 1s).
If one of the two is negative, it means default repeat delay/rate are going to be used.
(e.g. delay:400, rate:25)
Test Plan:
N/A
Signed-off-by: Sung-Jin Park <input.hacker@gmail.com>
Reviewers: raster, stefan_schmidt, gwanglim, devilhorns, zmike
Subscribers: Jeon, ohduna, cedric
Differential Revision: https://phab.enlightenment.org/D3364
Summary:
libwayland-server.so will post an error if the requested version
is higher than the supported one anyway, so there's no point in
doing this.
Using MIN() to pick versions is a client side idiom.
#kansas
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3385
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.
We had it correct for most declarations and this series fixes it for
the rest.
Thanks for the sparse semantic parser for pointing this out.
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.
We had it correct for most declarations and this series fixes it for
the rest.
Thanks for the sparse semantic parser for pointing this out.
default values for these is set to a very high value, but it's possible
(and guaranteed) for some clients to set them to a value <= 0, which results
in a broken window
in the case where a client has no geometry set, attempting to update
the client's geometry during frame recalc will guarantee that wrong
geometry is set, resulting in a bad first frame
for security reaons, all the dbus methods that allow you to mess with
e are now in the msgbus module - load at your own risk. this is
irrelevant in x11, but in wayland this matters as wayland is actually
secure.
this also disables restart and shutdown dbus methods still in core.
they are there but non-functional due to possibly being able to be
abused in a wayland universe to "dos attack" the wm.
@fix
due to enabling manual rendering (and als animator frametiem to 10
secons) in e_comp_canvas.c when screensaver is active (blanking is
finished totallly - eg the fade to black) evas weill nto render the
last frame of the animation - skipping it and not rendering another
update until screensaver is disabled. this leaves a subtle ghost of
pixel data which is 1 step before black on the screen (until dpms
turns the monitor off).
this fixes that. this delays enabling manual render for 1 more second
after we have been told the screensaver is active. this is plenty of
time to update all the way to black.
@fix
in the case where a client is deleted, it's possible that the shell
surface may persist longer than the duration of the normal client delete
cycle, so it's necessary to ensure that the client will continue to exist
until the shell surface has been destroyed
Summary:
Found this with a quick valgrind session. For paths that are not directories, if we fail the `ecore_file_is_dir` condition memory will not be freed.
The change is to use the default e_path freeing function.
Test Plan:
Run enlightenment in valgrind. It should no longer show a mem leak like below.
```
==6912== 8 bytes in 1 blocks are definitely lost in loss record 186 of 5,940
==6912== at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6912== by 0x4D8574: e_path_dir_list_get (e_path.c:326)
==6912== by 0x4D1BA4: e_module_init.part.0 (e_module.c:183)
==6912== by 0x4D1DA8: e_module_init (e_module.c:153)
==6912== by 0x4371ED: main (e_main.c:868)
```
Reviewers: zmike
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D3356
This reverts commit bd0c590489.
the m->mirror object can never be deleted except in the case of a client
being removed from the owner desk. removing it at any point will break any
users of the deskmirror api and create other issues
ref T2846
Summary:
The imc import dialog at "Settings > Language > Input Method Settings >
Import .." had issue where the size was almost zero. When trying to
close the window it would SEGV.
The SEGV seems to be do the with dialog->cdata not being set.
The resize issue I am not so sure, but I upgraded to ELM and if fixed
the issue.
Test Plan:
Open "Settings > Language > Input Method Settings > Import ..."
- The size should not be really small
- When closing it should not cause E to SEGV
After applying the patch the above issues are fixed.
Reviewers: zmike
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D3353
there was previously a frame in which maximized x11 csd clients would
reposition themselves offscreen before rendering
this is now fixed by adjusting the client geometries either upon
unsetting the csd or re-setting it, allowing the client to retain its
expected positioning without jitters
a sticky window previously would always have the desk set for where
it was set as sticky, meaning that anything which tries to access it
will be reading wrong data here.
more useful information to provide is the last desk which the sticky
client was focused on, so update that upon focusing it
in the case that a mouse move event occurs, the compositor should validate
the event to ensure that the mouse cursor is actually over the window that
the event claims to be from
fix T2594