Commit Graph

16923 Commits

Author SHA1 Message Date
Mike Blumenkrantz dc444f5489 fix animation refcounting when toggling object visibility very quickly
previously the animating flag would receive an additional increment for
every effect, even if it was currently animating a prior effect, leading
to objects which were never deleted
2015-06-19 16:28:13 -04:00
Mike Blumenkrantz 6d9c2a5371 add comp object bool flag to indicate whether a compositor effect is currently running 2015-06-19 16:27:51 -04:00
Mike Blumenkrantz 8f76e14e66 make e_comp_object_effect_stop() return bool for object validity 2015-06-19 16:27:32 -04:00
Mike Blumenkrantz 2a137d4fbe sanitize bool return of _e_comp_object_animating_end() 2015-06-19 16:25:33 -04:00
Mike Blumenkrantz 0f926d2ae9 only apply deskmirror client visibility logic for non-deleted clients 2015-06-19 14:13:02 -04:00
Mike Blumenkrantz 9c3427a66c return an accurate value for override clients in e_comp_object_util_zone_get() 2015-06-17 15:58:39 -04:00
Mike Blumenkrantz 35d08b996f use current zone for visibility effects on override windows 2015-06-17 15:58:32 -04:00
Chris Michael 571633a32b e-comp-wl: #if 0 out a currently unused function for pre_frame assignment.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-17 11:28:55 -04:00
Mike Blumenkrantz 6797a3c328 remove a stupid elm win hack flagged for deletion
may trigger crashes on non-updated elementary
2015-06-16 17:02:35 -04:00
Yomi 0dc33a5aeb Fix misspellings in E's files.
Summary: Fix misspellings and spaces in E's files.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2676
2015-06-16 16:10:21 -04:00
Mike Blumenkrantz ad7b4ecc43 allow layer-blocked clients in deskmirror to restack 2015-06-16 15:51:30 -04:00
Toan Pham d3a1a72b98 added quick tile to corner feature
Summary: added quick tile to corner feature, Fixes T2408

Reviewers: zmike

Subscribers: abyomi0, cedric

Maniphest Tasks: T2408, T2419

Differential Revision: https://phab.enlightenment.org/D2638
2015-06-16 15:08:21 -04:00
Toan Pham 1469e9b973 Center a dialog window when it is displaying off-screen
Summary: Center a newly created dialog window when it is displaying off-screen.  Fixes T2419

Reviewers: zmike

Subscribers: cedric

Maniphest Tasks: T2419

Differential Revision: https://phab.enlightenment.org/D2646
2015-06-16 14:28:54 -04:00
Mike Blumenkrantz da895a24dd only play visibility effects for allowed clients 2015-06-15 17:02:47 -04:00
Mike Blumenkrantz 73fecddd7e add utility function for determining if a comp object should animate 2015-06-15 17:00:29 -04:00
Mike Blumenkrantz 6ce353fced use new visibility effects by default for menu + combo windows
tooltip effects by default...probably too powerful for average users?
2015-06-15 13:53:34 -04:00
Mike Blumenkrantz 75d0a1a681 send client/screen/pointer geometry to visibility effect edje 2015-06-15 13:47:33 -04:00
Mike Blumenkrantz c914e9bac2 unify comp object visibility effect animation code 2015-06-15 13:47:01 -04:00
Mike Blumenkrantz aea0ffc0ca add flag for detecting whether an effect is currently set on a comp object
also improve refcounting for effect apis and add return values for use in
determining whether an effect was successfully set/started
2015-06-15 13:44:47 -04:00
Mike Blumenkrantz 8ab1d7da3a add flag to E_Comp_Object for detecting show animation state
this allows improvements to the code which provides hide animations,
allowing clients to begin hiding during their show animations instead
of rendering a black rectangle
2015-06-15 13:41:42 -04:00
Mike Blumenkrantz fd4226eb8f use a safe iterator when deleting clients during comp shutdown
it's conceivable that, were there a bug in client refcounting,
this could become an infinite loop and prevent shutdown/restart.
since, at this point, we don't really care about deleting anything,
ensure that the loop will end
2015-06-15 13:35:34 -04:00
Carsten Haitzler 6b64e40122 e - e client, comp win etc. reffing fix ... part 2
this follows 56cabf59c6 then
4e5521b4d8 where i have been trying to
fix a crash with e client and comp win references etc. i have gone
over all referencing with a fine tooth comb and found all the nigglies
i can., no leaks now, no crashes, no valgrind complaints etc. so i
call this fixed now. as best i know this is new in e20, so not a
backport fix
2015-06-15 20:27:25 +09:00
Carsten Haitzler 56cabf59c6 e - bring back fullscreen crash bug while fixing refcount correctness
refs were inconsistent - thus this fixed the fullscreen quit bug by
never freeing a client. this brings the bug back by fixing this client
leak. i'll look again at this later.
2015-06-14 19:16:09 +09:00
Carsten Haitzler f1bd800037 e - fix crash in desktop lookup+fixup where exe_inst is null 2015-06-14 17:50:14 +09:00
Carsten Haitzler 4e5521b4d8 e comp - fix refcounting for e_comp and comp clients
the refcoutning for e_comp and e comp clients seemed to be a bit off -
i read over every ref and unref carefully and fix it. this leads to
the com-_data being null (properly now), so now check for that too.
2015-06-14 16:06:37 +09:00
Carsten Haitzler 0bbb20a3be e - mixer - allow to 150% volume with some "stickynedd" from 100 to 120 2015-06-14 15:01:44 +09:00
Toan Pham fa40a9406b fixed window focus and keyboard input issues
Summary: fixed window focus and keyboard input issues if the to-be-focused window is in an iconized state

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2644
2015-06-11 20:05:09 -04:00
Toan Pham 09d9384f1d Changed search pattern to focus window by name to case-insensitive.
Summary: Sometimes a window has a name that's not like the application name, for example.  chromium-browser application will have a window name: Chromium-browser.  Most users will try to match the window name with "chromium-browser", but it wont work b/c the e's window name match is case sensitive.  Most users, would not know that the window name of chrome is "Chromium-browser", so it is pretty much impossible for them to setup a focus-to-window-name binding properly.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2645
2015-06-11 14:38:10 -04:00
Mike Blumenkrantz ba39887b26 rename visibility effect struct member effect -> visibility_effect
feeble attempt at making future added effects more intelligible
2015-06-11 12:47:04 -04:00
Mike Blumenkrantz ef5bfbad26 add compositor visibility effects and matching configuration
these are specific types of animation for use when toggling window visibility.
they combine with existing compositor window animations to provide nicer integration
for very specific types of windows

see https://www.youtube.com/watch?v=hIVdd0Z2K00 for a demo
2015-06-11 11:35:44 -04:00
Mike Blumenkrantz 7f63c4ec2d allow comp matching for UNKNOWN type windows
sometimes this is a valid type and we want to match it
2015-06-11 11:33:45 -04:00
Carsten Haitzler 6289eba6a4 e menu - an extra object ref causes menus to never be freed
this has been in e for ages - someone not noticed, but this fixes
visual artifacts of left over menus on the top-left. this extra ref
really makes no sense. it's not like this ref is then accomoanied by a
matching unref somewhere else (after much debugging).

@fix
2015-06-10 21:32:01 +09:00
Chris Michael d73b3d1e70 wl-desktop-shell: Fix popup menu placement for xdg surfaces
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-09 09:43:34 -04:00
Carsten Haitzler 921d4dee2b e - mixer - clean up popup a bit with mute next to slider etc. 2015-06-09 17:22:40 +09:00
Carsten Haitzler dd6e4f33f8 e mixer - fix segv on desklock if default sink not set yet 2015-06-09 16:18:24 +09:00
Carsten Haitzler 5d7fa51309 mixer - dont make list scrollable horizontally for nicer look 2015-06-09 16:17:07 +09:00
Carsten Haitzler e63f358933 Revert "Revert "fix mixer gcc class name""
This reverts commit 6bacf20705.

oops - i was wrong. totally misread that patch i thinkg it changed
mixer -> emix
2015-06-09 14:39:15 +09:00
Carsten Haitzler 774e8297d2 e - shelf menu - handle deletion properly if cb is not for shelf menu
it seems that some changes now make the shel menu post callback be
called for older menus not part of the shelf and thus shelf menu
stored != menu the cb is for - thus resulting in deletion of the wrong
menu
2015-06-09 14:29:25 +09:00
Carsten Haitzler 918f4bffcc e - mixer - don't do anything on desklock if no mixer context exists 2015-06-09 11:10:35 +09:00
Carsten Haitzler 6bacf20705 Revert "fix mixer gcc class name"
This reverts commit 718b3206cb.

no - this REPLACEs the mixer module. the same old mixer gadget that
was originally in e now will be replaced by this new epulse/emixer
gadget. thus the "mixer" gadcon name.
2015-06-09 11:09:12 +09:00
Mike Blumenkrantz 718b3206cb fix mixer gcc class name 2015-06-08 15:02:24 -04:00
Mike Blumenkrantz 8f2d8748e1 add gadcon visibility handling, send hide signal to pager desks on hide
this (in combination with elm changes) should greatly reduce cpu usage
2015-06-08 14:53:31 -04:00
Mike Blumenkrantz 829b401494 fix shelf visibility state signals
previous behavior resulted in hide being sent when animations began
instead of at end
2015-06-08 14:52:40 -04:00
Mike Blumenkrantz b277a5630f completely freeze all deskmirror object events/animations during hide 2015-06-08 14:51:58 -04:00
Mike Blumenkrantz 38670e0553 disable animations on clients during hide 2015-06-08 14:47:42 -04:00
Mike Blumenkrantz 424bdf93be only freeze/thaw edje objects on non-input clients 2015-06-08 14:46:33 -04:00
Mike Blumenkrantz 81e29519c9 fix eo errors for ilist icon select state 2015-06-08 12:35:39 -04:00
Chris Michael db66433374 wl-desktop-shell: Fix T2357: Update xdg_shell for version 5
Summary: This fixes the Enlightenment wayland desktop shell by
updating it to support xdg_shell version 5. Fixes T2357 where gtk apps
would not work. Confirmed working now.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-08 12:23:40 -04:00
Carsten Haitzler 4f6df6b7ca e mixer - replace with epulse/emixer
this is emixer (epulse) from

http://git.enlightenment.org/devs/ceolin/epulse.git

the emixer binar is rewritten though and the emix lib is compiled-in
into the module and into the binary as oppopsed to a shared lib with
loadable modules. this supports alsa and pulse. a much more solid mixer.
2015-06-08 21:15:09 +09:00
Carsten Haitzler d17851f714 fix leak in randr2 when matching clone modes 2015-06-08 20:53:13 +09:00
Carsten Haitzler bc595f3d74 e desklock - listen to randr screen changes and re-do locks
fix due to new randr2 stuff
2015-06-06 19:23:19 +09:00
Mike Blumenkrantz 4703f8e0e6 lower minimum backlight clamp to 5%
sometimes 10% is still way too bright
2015-06-05 09:13:23 -04:00
Carsten Haitzler 1734fcaac2 enlightenment deskenv support - fix dialog labelling and desktop name
1. Enlightenment, not X-Enlihgtenment for the desktop. we're a proper DE name
2. Have a fixed desktop env list and efreet gives very... odd results
(eg X-Geequie because some rogue desktop file decides it's good to
have this in it :)).
2015-05-28 11:41:28 +09:00
Carsten Haitzler b3cc1dc364 e start - path manipulation - don't add a : if there already is one
avoids adding more : chars to make a broken path even worse
2015-05-27 08:43:13 +09:00
Derek Foreman 6ba90335e2 Resize the canvas at the end of canvas init
Summary:
wl_drm sets up a resize callback, so if the resize occurs before zone setup
wl_drm's call to e_comp_canvas_update will setup extra zones (breaking the
wizard).

Reviewers: zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2567

 #butts
2015-05-22 12:25:25 -04:00
Mike Blumenkrantz e70fcc565d fix focusing client on mouse events which trigger actions (with exceptions)
block focus events only if focus has changed to another client or the current
client's layer-actual has been lowered

regression from 719b2baeba
2015-05-21 12:32:26 -04:00
Carsten Haitzler 591a3752e6 e randr2 - add some logic for knowing when to ask to configure a screen
start of a "what do you want to do with this screen (clone, extend etc.)"
feature
2015-05-21 13:03:05 +09:00
Carsten Haitzler 1a19a72a61 e - randr2 - filter to the "best" common mode match on clone config
this should fix T2100
2015-05-21 13:03:04 +09:00
Mike Blumenkrantz fb32300ea7 use layout for theme import dialog
fixes min sizing
2015-05-20 08:19:18 -04:00
Mike Blumenkrantz fc1a94216b remove legacy entry widget pointer setting code
fix T2424
2015-05-20 08:19:18 -04:00
Chris Michael 27a11e0c46 Properly fix T2182 (add a --version option to enlightenment)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-18 14:41:45 -04:00
Chris Michael e5b654cf9e allow starting enlightenment with the valgrind option again
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-18 14:22:26 -04:00
Mike Blumenkrantz 83eebacb5d allow new fullscreening clients to replace current nocomp where applicable 2015-05-18 13:20:35 -04:00
Mike Blumenkrantz 9b420c8d69 force xwindow stacking to obey nocomp policy and stack below current nocomp
fix T2277
2015-05-18 13:20:35 -04:00
Mike Blumenkrantz 205d8b0b74 reject client fullscreening based on config and desk visibility 2015-05-18 13:20:35 -04:00
Mike Blumenkrantz e717a2e107 fix nocomp popping on comp input ungrabbing
regression from e24666b929
2015-05-18 13:20:35 -04:00
Boram Park 5c46de06c6 e_comp_wl: fix not sending a mouse enter event to client.
Summary:
First of all, currently cdata->ptr.x,y contains e_client related pos.
But, cdata is owned by e_comp, not per e_client. So cdata->ptr.x,y should contain
absolute pos.
And, when a pointer resource is created, enter event should be sent to client.

Change-Id: I21cb031e293fe281e35ba89f3a96116a28a48856
Signed-off-by: Boram Park <boram1288.park@samsung.com>

Test Plan:
1. run e as wayland server
2. move cursor to around 50,50
3. run elementary_test
4. click the mouse left button on slide toggle widget.
   (Don't move a cursor out of elementary_test. If you do, you can't find bug)

Reviewers: gwanglim, raster, devilhorns, ManMower, zmike

Reviewed By: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2330
2015-05-18 11:53:05 -04:00
Chris Michael a2d22437fd fix call to e_comp_wl_input_keymap_set for building with
wayland-client support

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-18 11:48:31 -04:00
Chris Michael 77d5882aa8 remove cpp warning
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-18 11:42:51 -04:00
Chris Michael 41a120eafe ELM_WIN_DIALOG_BASIC is broken in wl right now, so for wl create
normal elm windows for now.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-18 11:32:09 -04:00
Chris Michael 59c737dd28 remove unused variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-18 09:24:01 -04:00
Chris Michael ea26fc1f87 add missing EINA_UNUSED for function paramater
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-18 09:22:39 -04:00
Chris Michael 379ea5b2f0 Fix call to e_comp_wl_input_keymap_set
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-18 09:21:03 -04:00
Chris Michael 646db93b53 add missing EINA_UNUSED for function paramater
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-18 09:20:16 -04:00
Derek Foreman 7f6f4b6966 wayland: Remove a lot of E_Comp_Data pointers
Summary: We should just use e_comp->wl_comp_data everywhere we can.

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2507
2015-05-18 09:08:52 -04:00
MinJeong Kim 20871a1e8f e_menu: remove an unnecessary comparison
Summary:
Remove an unnecessary comparison.
It fixes coverity CID 1291841 Same on both sides.
@fix

Reviewers: raster, devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2523
2015-05-18 08:36:09 -04:00
Derek Foreman e1c9bfa619 wayland-compositor: Set server mode
Summary:
If we don't set server mode we can deadlock when trying to use functions
that way for server mode to become set.

This can currently cause a startup freeze in e_scale_init().

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2520
2015-05-15 14:44:21 -04:00
Nicolas Marcotte 3e3dc6dcc5 added a macro and a fucntion to switch to desktop D on screen S as specified in https://phab.enlightenment.org/T2218
Summary: Merge branch 'master' of https://git.enlightenment.org/core/enlightenment initnal implementation of https://phab.enlightenment.org/T2218

Reviewers: raster

Subscribers: raster, cedric

Differential Revision: https://phab.enlightenment.org/D2231

Fixed:
Modified patch to use existing macros for walking all screens.
2015-05-15 16:13:13 +09:00
Chris Michael 40b877f527 wl-drm: Don't enable/disable an output until after we have set the current mode
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-14 08:38:13 -04:00
Chris Michael fd2e05f715 drm randr: More work on getting RandR functional in E-Wl. This adds a
function to remove an output from e_comp_wl also.

NB: Not entirely complete yet

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-13 14:50:40 -04:00
Chris Michael baac769b0f conf_randr: Reduce debug output noise
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-13 14:50:40 -04:00
Chris Michael 829c9ffc73 wl-desktop-shell: Quiet debug output
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-13 14:50:40 -04:00
Chris Michael ab9abcb598 remove unused 'serial' variable in mulit-move callback
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-13 13:20:33 -04:00
Chris Michael 3a15df2454 fix numerous compile errors from D2482
NB: Mental Note: COMPILE BEFORE PUSH !!

 # butts

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-13 12:26:07 -04:00
jhyuni.kang c59595e964 Support wl_touch and send wl_touch events to client
Summary:
Currently enlightenment-wayland support pointer and keyboard events.(in input)
         So I added EVAS_CALLBACK_MULTI_* event handler and hanling functions for wl_touch interface.
         This code send wl_touch events to client like a pointer event.

Test Plan:
In wayland + enlightenment environment, generate multi touch events.
           The enlightenment will be send wl_touch events to client.

Reviewers: raster, devilhorns, zmike

Reviewed By: devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2482
2015-05-13 12:05:57 -04:00
Chris Michael 57fdd5613d send screen paramaters in proper order to e_comp_wl_output_init
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-13 12:05:17 -04:00
Boram Park 7a078ba99b e_comp_wl: fix segfault in case parent's surface is destroyed before subsurface is destroyed
Summary:
A parent surface can be destroyed. In this case, ec->comp_data->sub.data->parent has
a wrong address which has already destroyed. Then, it occurs segmentation fault.
To avoid segfault, ec->comp_data->sub.data->parent should be NULL when a parent surface
is destroyed.

Signed-off-by: Boram Park <boram1288.park@samsung.com>

Test Plan: Run attached test program(subsurface)

Reviewers: gwanglim, cedric, devilhorns, zmike

Reviewed By: devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2484
2015-05-12 14:43:00 -04:00
Daniel Kolesa 82116f63ab remove str(n)dupa usages
str(n)dupa are GNU extensions that duplicate a string, using an alloca'd
buffer. This patch removes their definitions from e.h (which should only
contain E's own API, without fallback definitions for libc functions)
which were wrong anyway (they failed in cases where str(n)dupa was an
actual function, not a macro).

Instead, we replace them depending on context with alloca+memcpy+strlen
or a static buffer (used in contexts where we are sure that the buffer
will contain the string entirely)

@fix
2015-05-11 16:45:30 +01:00
Yomi 413463d2cd Fix misspelling in e_client.h
Summary: Fix misspelling in e_client.h

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2477
2015-05-07 19:01:05 -04:00
Yomi aa56794304 Fix misspelling in e_randr2.c
Summary: Fix misspelling in e_randr2.c

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2476
2015-05-07 18:41:11 -04:00
Chris Michael 6d2c8c46da wl-drm: Start on making the RandR config dialog usable in drm
NB: 'Apply' does not function yet, needs another API or 2 in ecore_drm

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:44:50 -04:00
Chris Michael 8039ecb9b7 make e_acpi_lid_is_closed function callable from wl_drm module
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:44:22 -04:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Chris Michael 93971bb6fc Fix T2385 : internal windows not showing resize cursor
If we are going to set the internal elm windows to borderless and
handle frames inside E, then we need to also unset any existing
pointer objects which may be on the wayland Ecore_Evas.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-04 12:40:06 -04:00
Yomi 96ba030edb Correct misspelling.
Summary:
Correct misspelling.
Changes: Fix misspelling in e_desk.c

     src/bin/e_desk.c

Reviewers: zmike, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2466
2015-05-03 17:45:17 -04:00
Jean Guyomarc'h 385a06bd02 e_ipc: fix creation of IPC server when $DISPLAY is a path
Summary:
Some implementations of the X server (e.g. Xquartz) define their $DISPLAY
as a path. Since ecore_ipc_server_add() does not create non-existant
directories, and since it may not worth to hide the socket in a complex
path, this patch aims at reducing the $DISPLAY by only keeping its basename.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2465
2015-05-02 10:05:00 -04:00
Mike Blumenkrantz e9420be020 fix infinite loop when changing ibar sources
fix T1951
2015-04-30 17:04:47 -04:00
Mike Blumenkrantz 038df92cdd only apply fwin focus to main efm object if no icon is editing 2015-04-30 16:06:09 -04:00
Mike Blumenkrantz 9976e1610a add efm function for getting an editing icon 2015-04-30 16:05:55 -04:00
Mike Blumenkrantz 4dee742079 don't destroy efm icon entry on client focus-in if icon's client is being focused 2015-04-30 16:05:21 -04:00