This feature allows to define an external mixer application, which replaces
the internal mixer.
Examples: 'terminology -e alsamixer', 'pavucontrol'
@feature
this re-commits this with tab fixes (no tabs)
This feature allows to define an external mixer application, which replaces the internal mixer.
Examples: 'terminology -e alsamixer', 'pavucontrol'
@feature
Summary:
shell_surface_destroy function is a common destroy function to destroy all type of surfaces and to remove redundancy in code
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1421
users should keep in mind that this is not the fort knox of password storage, and someone who copies your config file could rainbow table a short password stored with this hash very easily. at some point in the future, if someone has the interest and time, perhaps this can be improved
fix T1627
If the function returned a handle to an object, the handle may be lost.
In _e_configure_fill_cat_list: Pointer returned from a function was
never used (CWE-563)
NB: Someone should have read EINA_LIST_FOREACH on this one ;)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
NB: This makes use of newly added ecore_evas_screen_geometry_get of
the ecore_evas_drm code in order to get the current screen size and
adjust the ecore_evas accordingly.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
xdg_shell requires a parent surface in order to create a popup, so we
should check the validity of the parent resource and error out
accordingly
Summary: Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1388
bottom line, this is a pile-of-shit protocol to work with if you're compositing. at present, any xembeds which were present before a nocomp event will be permanently destroyed, and they can't be recovered until the app re-creates them. afaik, no app does this unless you restart it.
Summary:
This is a fix for bug T1553: [Teamwork Settings] Sliders Should Be Disabled When Select "Disable remote media fetching"
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: zmike, devilhorns
Subscribers: cedric
Maniphest Tasks: T1553
Differential Revision: https://phab.enlightenment.org/D1375
Summary: mobile policy module provides user interface for small mobile devices like phones.
Test Plan: N/A
Reviewers: raster, devilhorns, zmike
Subscribers: seoz, zmike, cedric
Differential Revision: https://phab.enlightenment.org/D817
This feature allows to define an external mixer application, which replaces the internal mixer.
Examples: 'terminology -e alsamixer', 'pavucontrol'
@feature
This fix floats all the windows that don't fit because of their min size
restrictions.
It can be made better, at the moment it is very simple. An example
broken case would be the following:
Assume we have 3 windows, A, B and C.
B and C both hand a min width of half the screen.
First we create A, then B. Everything works as they share the screen,
but when we add C, both B's and C's restrictions "fail" so they are both
set to float although in reality, floating C is enough. This can be
fixed by doing a live scan of the tree every time a window is floated,
though it's not essential at the moment.
Fixes T952.
Don't set changes.icon during surface creation. There are functions
that get called when icccm.class changes and That is the place to set
changes.icon.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Additional authors: zmike
This fixes the issue of some wayland applications always showing up
with the e_border visible.
If we get a transient_set from wl_shell or xdg_shell, don't reset the
client's netwm.type. Some wayland applications are sending us
transient_set with parent to NULL....so don't explicitly set the
netwm.type to dialog.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: we also need to clear parent's resource.
Test Plan: N/A
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1238
really an error.
When we call shell_surface_parent_set with a NULL parent resource,
then there is No reason to try and find the pixmap window of a NULL
parent. Avoid that function call and just set the appropriate
properties and get out.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
When the new drm hw accel engine is ready, we can replace this little
bit of code and have hardware-accelerated drm.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
There are no resource free codes in xdg shell destroy handler
and xdg popup destroy handler. e should delete wayland resource as
client requested.
Test Plan:
1. run e as wayland server
2. run weston-stacking in e
3. click with right mouse button to create xdg popup surface
4. click main surface area to delete xdg popup surface
Reviewers: devilhorns, zmike, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1196
Summary:
we need to set ec->parent before eval time.
that's because client can request to commit surface calling shell.configure() before eval time.
in this case, ec->parent isn't set yet, configure(move) will be failed.
in order to fix it, we have to set ec->parent in _e_shell_surface_parent_set() before eval time,
but we should check if ec already have parent, and if so, remove its parent's transients before change the value of ec->parent.
Test Plan: N/A
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1177
Summary: remove EINA_UNUSED from used function parameters
Test Plan: N/A
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1173
Summary:
the value of "ec->parent" should be set in evaluation time,
therefore ec->parent->transients will be reset automatically.
Reviewers: devilhorns
CC: cedric
Differential Revision: https://phab.enlightenment.org/D1155
Summary: Clear the E_Client's parent if client request to set parent to null.
Test Plan: run weston-stacking.
Reviewers: devilhorns
CC: cedric
Differential Revision: https://phab.enlightenment.org/D1154
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
this was a neat experiment, but apparently it's not going to be usable for a long time in anything outside efl/elm
This reverts commits f87b9900fa, a49cede790, 81038f8d02, 47cfb31752.
Summary:
Since mouse up handler is invoked after selector_free, there was a crash.
reproduce: double click on selector area (tabbar area on top) to launch app -> SEGV
Fixes T1264
Test Plan: enlightenment -> everything -> double click on selector area (tabbar on top)
Reviewers: raster, zmike
CC: seoz, cedric
Maniphest Tasks: T1264
Differential Revision: https://phab.enlightenment.org/D886
Summary:
change the time to call _add_hook to eval_fetch in tiling.
finally, tiling resize window after setting desk of client.
Reviewers: tasn
CC: cedric
Differential Revision: https://phab.enlightenment.org/D869
Summary:
initailize the tinfo before calling _remove_client.
remove call "_desk_should_tile_check" in "_remove_client", and added it before calling "_remove_client".
That's beause, in _desk_set_hook, use ev->desk (old desk) to initialize tinfo, and then only remove ec using _remove_client.
Test Plan:
(1) launch any app in one desk.
(2) change the any desk.
(3) launch browser or xchat like the app that launch time is relatively slow.
(4) change the in (1)'s desk quickly before completely launching browser or xchat.
(5) you can see wrong splited screen.
Reviewers: tasn, raster, zmike
CC: cedric
Differential Revision: https://phab.enlightenment.org/D860
Summary:
initialize the tinfo when remove client in tiling.
the reason why of "freezing" that tiling added window twice into _G.tinfo->tree.
then tiling module set to a different size about same window as if two different window.
finally, the event "E_EVENT_CLIENT_MOVE" occurs by changing geometry, and tiling resize the window again by the event "E_EVENT_CLIENT_MOVE".
next, it is the cause of this problem.
In (4), when user types ALT+TAP.
- tiling module adds uniconify window into _G.tinfo->tree.
- at this time, _G.tinfo is the informaion of one desk.
- E create input_only window and destoryed for a moment.
- tiling module initialize the _G.tinfo by the event EVAS_CALLBACK_DEL happend by destorying input window.
- now, _G.tinfo is the informaion of the other desk.
In (5), iconify app.
- tiling try to remove window from _G.tinfo->tree, but failed. (problem)
- because _G.tinfo isn't initialized to the desk including uniconify window at that time.
In (6), uniconify app.
- tiling change the _G.tinfo, then insert client info to _G.tinfo.
so I suggest that initializing the _G.tinfo when removing window.
Test Plan:
(1) launch any app.
(2) Iconify it.
(3) change the desk different with launching app.
(4) Uniconify app by ALT+TAP.
(5) Iconify it again.
(6) Uniconify it again.
Reviewers: raster, zmike, tom, tasn
Reviewed By: tasn
CC: cedric
Differential Revision: https://phab.enlightenment.org/D850
Summary:
currently, if we shrink pager gadget horizontally, the resize guide (blue rectangle) became smaller (16x16, pager16: 4x4) than real pager size.
There was hard-coded min value.
calculate min value base on aspect ratio for real.
@fix
Test Plan: pager -> begin move/resize -> make it small horizontally as much as possible -> check whether the guide is fit on real size.
Reviewers: raster, zmike
CC: seoz, cedric
Differential Revision: https://phab.enlightenment.org/D793
now that larger xinerama setups are getting more common, it's also the case that shm creation is more likely to fail due to SHMMAX defaults only working on displays smaller than than 8,388,609 total pixels. in this case, we print a helpful error message so the user can (optionally) increase SHMMAX
@bugfix: If we are going to be using ecore_x functions, we need to
include the Ecore_X header file
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
text part of pager popup is updated every desktop change.
But, the text part name is mismatched with style in elementary.
Honestly, I've fixed in pager16 as well since it's same problem. obviously.
Unfortunately, I couldn't test pager16.. where the hell is it.
Fixes T1189
Test Plan: enlightement -> desktop change by using key input -> check whethere proper desktop name is shown on pager popup or not
Reviewers: raster, zmike
CC: seoz, cedric, maxerba
Maniphest Tasks: T1189
Differential Revision: https://phab.enlightenment.org/D780
When available width is less than minimum width, the height was computed according to the available width, but the window width was effectively the minimum width: its height was thus more than needed.
The function now takes the minimum dimensions so that correct height and width are computed.
– Use zone coordinates on desktop icons to have the popup placed where it should be with multiple screens.
– Use correct window content coordinates to account for the client frame.