Summary:
since the variable 'preferred_rot' is checked its validation in _elm_win_xwin_update(),
so, should be initialize it before invoking.
@fix
Reviewers: jypark, woohyun, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D2987
Summary:
if app sets available rotations before invoking elm_win_alpha_set(),
wm rotation doesn't work.
this patch fixes it.
Test Plan: N/A
Reviewers: jypark
Reviewed By: jypark
Differential Revision: https://phab.enlightenment.org/D2946
In the widget code, focus origin is added. It can know
the focus movement is originated by which action.
The widgets can choose the item focus moves to last focused item
or geometrically nearby item by focus origin.
In gengrid, focus moves to last focused item if focus origin is
ELM_FOCUS_REVERT. It moves to nearby item if focus origin is from
ELM_FOCUS_UP to ELM_FOCUS_LEFT.
TODO: widgets have items should add the direction feature if it
want the focus to move to nearby item.
@feature
Summary:
Calling the elm_config_accel_preference_get api with "none" as parameter,
it means user does not want to use acceleration.
Reviewers: Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D2920
Summary:
elm_list, elm_genlist widgets are handle focus highlight
relying on only elm_widget_focus_highlight_enabled_get() API.
The API is not considered about auto focus highlight feature.
So, we need to check a flag for auto focus from _elm_config.
It resolves T2555.
@fix
Test Plan: elementary_test -> List Focus or Genlist Focus
Reviewers: raster, cedric, SanghyeonLee, singh.amitesh
Reviewed By: SanghyeonLee, singh.amitesh
Maniphest Tasks: T2555
Differential Revision: https://phab.enlightenment.org/D2914
Summary: This fixes T2624 where ecore_wl_window_update_location was
being called inside the Ecore_Evas too often. It is now only called
from the Elementary window whenever we update the opaque region. This
should help to fix the resize issue that we are seeing in wl.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
* convert opaque region theme part to SPACER
- add rels for shaded/maximized state
* namespace opaque region theme part
* update opaque region only on pre-render
- fixes race condition between render size and opaque size
ref T2575
Summary: This patch fixes opaque region setting under wayland in a
more proper/accurate way. This now sets the opaque region to be Just
what is visible (ie: only the dialog).
NB: This does not actually fix T2575 as that problem is inside E itself.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This fixes T2575 more accurately (combined with previous
theme adjustments). Previous code would use a spacer object to help
calculate window opaque region. This is no longer necessary due to the
previous theme changes, and now calculates window opaque region to
coincide with what Enlightenment is expecting.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Add the "autohide" property to elm_win. This property, when set to
EINA_TRUE, automatically hides the window upon a "delete,request" signal.
Create ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN, a new quit policy that
automatically exit from the elm_run loop when all windows are hidden.
It is an alternative to autodel to conciliates the memory management
framework of Eo with any other memory management model the program may
be using (e.g. RAII principles of C++).
Create the auxiliary function "_elm_win_policy_quit_triggered" to check
triggering of quit policies.
The check in "smart_hide" is now necessary, since
ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN can be triggered when a window
is hidden.
Create the auxiliary function "_elm_win_flush_cache_and_exit" to avoid
code repetition for exiting the elm_run loop.
Make a small update on documentation in elm_win.h to mention the new
autohide property.
@feature
Reviewers: raster, felipealmeida, cedric, tasn
Reviewed By: felipealmeida
Differential Revision: https://phab.enlightenment.org/D2751
Patch adds connected/disconnected elm_atspi_bridge events to avoid
races between window getting focus and AT-SPI2 bus initialization.
When bridge gets connected windows will reemit all "Created",
"Activated" and "Deactivated" events with regard to window focus.
Summary: This is a patch to fix T2453 where elm apps in weston/E did
not display the icon on the border. This is just preliminary support
because it only tries to find the efreet desktop file based on
_elm_appname. This support Could be extended to allow efreet to search
based on window title, etc, etc.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
When application does not have any value of engine,
this app should be launched with elm_config's value.
Signed-Off-By: Wonsik Jung <sidein@samsung.com>
this delays norender and throttle handling to allow for quick
show/hide etc. changes an app may make so to not jump state so often.
this also fixes an issue wqhere config may change leaving all windows
in norender mode.
Summary:
For instance, ecore_evas sets initial withdrawn state EINA_FALSE if elm_engine is "buffer".
Therefore, the initial withdrawn state is derived from ecore_evas property.
@fix
Reviewers: raster, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D2435
Removed the constructing method elm_obj_win_constructor.
Now "name" and "type" are properties that must be set at creation, like this:
eo_add(ELM_WIN_CLASS, NULL,
elm_obj_win_name_set("example"),
elm_obj_win_type_set(ELM_WIN_BASIC));
Also, the "title" property can be set at creation now.
This commit also updated one of the elementary test to show
the new one of doing it.
This lets users of the API just add a callback and automatically
get animation ticks. It's done per window, because update rate
may be different for different windows (think different screens).
Summary: This fixed the elm_win_window_id_get function when running in
wayland to return the ecore_wl_window_id rather than the surface id.
This change is necessary so that anyone calling this function can use
the return value in ecore_wayland function calls.
NB: Thanks to Hermet for pointing this out ! :)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
When object in elm_win lose their focus, elm_win save it on focus_highlight.prev structure,
and add **EVAS_CALLBACK_DEL** event callback. But after changed focus object also lose their focus from other,
**EVAS_CALLBACK_DEL** on prev object is not deleted if their in_theme is not **EINA_TRUE**.
This could be cause **'Memory Leak' **until previous focused objects are deleting.
checking in_theme of prev focus_highlight is for send signal on prev focused view(edje),
so 'if' sentence for checking previous existance and in_theme need to be separated.
@fix
Test Plan:
You can easily check this on elementary_test. launch radio sample and make focus by keyboard and
change focus repeatly, callback is added as per focus movement, but callback del is not called.
Reviewers: seoz, woohyun, raster, Hermet
Reviewed By: Hermet
Subscribers: jaehwan
Differential Revision: https://phab.enlightenment.org/D2276
Summary:
When evas gl/elm glview runs with direct rendering, it can not set these bits to window surface.
Because of no interface and method.This patch can do that.
This patch just uses current interface as a elm_config_accel_preference_set instead of new API.
Also, it is related D2144 patch.
Test Plan: ElmGL View test menu in elementary_test app JP's test app.
Reviewers: spacegrapher, cedric, raster, jpeg
Reviewed By: jpeg
Subscribers: mer.kim
Differential Revision: https://phab.enlightenment.org/D2145
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
this adds logic in elm widget and elm win to figure out how to
automatically show a focus hilight when switching focus, or to hide
it. this really should be the default mode, thus in all default
profiles (default, standard, mobile) it's turned on. this means if you
tab or shif+tab or use arrow keys to switch focus, the focus hilight
will magicallly appear. click with a mouse to change focus and it'll
disappear assuming you want to use the mouse to do things. If focus is
explicitly turned on in config or in the window by api, then this has
no effect and focus will remain on all the time. this adds apis to
change these config values and options in the default elm config tool
to swizzle them as well as config upgrade handling for existing configs.
@feature
this fixes a deprecation of elm engine done just before 1.13 release
that ends up breaking "make doc" and also will make ELM_ENGINE env var
stop working (the latter was intentional). but since this is relied on
for things like make doc - keep the env var and haveit set preferred
engine and let people migrate away from using the engine var EXCEPT
for things like the shot engine
@fix
the elm config tool only lets you set accel preference. if you set
none, then the old engine config takes charge, but there is no way to
change/set this, so deprecate the old engine set and don't use it.
this accel preference has been around for a while, so use it now
instead.
Summary:
When ecore_evas_window_profile_supported_get API return EINA_FALSE,
elm_win widget should not get profile from ecore_evas_window_profile_get API.
@fix
Reviewers: woohyun, Hermet, seoz
Reviewed By: seoz
Differential Revision: https://phab.enlightenment.org/D1943
while this is technically an abi break, it should actually have no
real impact. it will have warnings - sure, but running existing code
will simply not see the extra parammeters on the stack and not use
them so it'll continue to work. if we removed paramms, we'd be in
pain. (same applies to params passed in registers).
this fixes T2031
Internal hacks should not affect user facing API. This commit adds a new
API to do the internal hack. This is still bad, but it's much less than
what was there before.
This fixes the main issue introduced by commit:
63a5cdf0f8516c16a62233da0c2af0e10a13264b
this is a giant hack to provide widget parenting in e. do not use this function, do not use this type, do not even read the related documentation.
@feature
This new @feature is just a convenient way to create dialogs, It
mimic the elm_win_util_standard_add() function but crete a
standard dialog, with background and the parent set.
WinDialog test changed to use the new function.
Once the window alpha is on, it would not go back to non-alpha window
automatically.
- non-alpha theme -> alpha theme: switch to alpha window
- alpha theme -> non-alpha theme: stay in alpha window
@feature
DISPLAY environment variable may set regardless of Elementary/EFL.
Mostly user has no way to switch their intent engine such as "buffer"
Guarantee work application engine with their intended engine first.
@fix
this fixes a longstanding race condition where tooltip windowss could exist with a shape rectangle due to race conditions between applying window properties (eg. alpha) and reapplying the input rect
Summary:
Change requested by TAsn. Previuosly AT-SPI headers were kept private
and included directly into elementary source code. From now on,
AT-SPI headers can be included from Elementary.h public header, however
will be marked as beta APIs.
Commit includes following changes:
* include all atspi headers into new elm_interfaces.h header.
* marking all at-spi interfaces methods/properties as @protected.
* wrap all common headers with EFL_BETA_API_SUPPORT.
* make some common APIs visible in lib, by adding EAPI attribute
(if someone decides to use beta APIs).
Test Plan: out-off tree build with gcc, g++
Reviewers: tasn
Reviewed By: tasn
Subscribers: seoz, q66, kuuko
Maniphest Tasks: T1721
Differential Revision: https://phab.enlightenment.org/D1528
Summary:
There were wrong checkings in elm_win_size_base_get and
elm_win_size_step_get
@fix
Reviewers: seoz, Hermet
Differential Revision: https://phab.enlightenment.org/D1533
This is a fix upon 6e7686c030fab162edb3128de005ec00ea8c0ffc.
This correctly deletes the list even if the windows are still referenced
and even if they are deleted from under out feets.
This reverts commits 123ca6a8744729525889bbc09ee1aff4b2b97b75, 0d527b03f4f630e81ab4480d7160bbf6352b0bac
this is still unusable even after being fixed so the fix was unnecessary to begin with
lots of code unsing ENGINE_COMPARE where it should get the engine from
the ecore_evas directly - it happened to work as we happened to have
apps that have windows only for x11, or wayland etc, but not both in
an app. this was wrong, so remove the engine compare macro and do it
properly. no laziness.
Summary:
Elementary application crashes on startup when it is running with
wayland engine. This crash problem happens while ecore_x_screensaver API
is being called from _win_noblank_eval funcion. Thus we should not call
ecore_x_screensaver APIs if elm win doesn't have X11 window.
Test Plan:
1. build efl and elementary to support x11 and also wayland
1. run weston without xwayland
2. run elementary_test on the weston
Reviewers: raster, seoz, stefan_schmidt, devilhorns
Differential Revision: https://phab.enlightenment.org/D1293
this deals with an issue brought up today on irc - seemingly rage
asking for accel is causing segvs in vbox with its gl accel subsystem
- the only way to disable this is an env var, and this is unfriendly,
so make config gui and stuff to mess with accel preference to fix this.
Summary:
Main purpose of exposing widget actions and keyboard shortcuts
is to allow accessibility clients to implement alternative methods
of GUI navigation.
Reviewers: z.kosinski
Reviewed By: z.kosinski
Subscribers: seoz
Differential Revision: https://phab.enlightenment.org/D1227
Don't call ecore_x functions unless we are running under an
X11-compatible engine, else we get segfaults in elm_apps.
Signed-off-by: Chris Michael <cp.michael@samsung.com>