Commit Graph

15999 Commits

Author SHA1 Message Date
Mike Blumenkrantz fc16acfb4a remembering size on a window should also remember maximize state 2014-12-08 17:08:00 -05:00
Mike Blumenkrantz 6d7ecefa02 greatly reduce FAILURE_MAX
ref T1820
2014-12-08 17:08:00 -05:00
Mike Blumenkrantz 12f469ad20 remove access module from build
this hasn't been updated in over 1.5 years and has caused me to waste time repeatedly fixing build-related issues. in addition, it uses symbols which are no longer even available in efl.

if nobody updates/maintains this, it will be removed for e20 release

src/modules/access/e_mod_main.c: In function '_cover_new':
src/modules/access/e_mod_main.c:765:4: warning: implicit declaration of function 'ecore_x_input_multi_select' [-Wimplicit-function-declaration]
2014-12-08 17:08:00 -05:00
Mike Blumenkrantz 9d1a3ad45b reduce shape recalc for clients which cannot currently receive input 2014-12-07 20:24:09 -05:00
Mike Blumenkrantz 0d2001013f redo shaped client checks to use shape flags instead of rect pointer, fix shapeless clients
according to the shape extension protocol, the number of rectangles returned should be checked to determine a client's shape. if 0 is returned, the client has no shape, meaning that it either should not be drawn or should have no input region. this improves behavior with various client window types such as tooltips

ref T1820
2014-12-07 20:18:27 -05:00
Mike Blumenkrantz 6f024d3abf add failure count for client rendering, drop clients after FAILURE_MAX tries
this traps clients which are showing and hiding themselves extremely quickly and prevents them from crashing us when we try to draw them

fix T1820
2014-12-07 20:18:27 -05:00
Mike Blumenkrantz e0969644d6 fix X crash when trying to apply desktop window profile to client without desk 2014-12-07 20:18:27 -05:00
Mike Blumenkrantz e3b993a332 ensure clients are visible before triggering shape/render queue 2014-12-07 20:18:27 -05:00
Marcel Hollerbach 8dab06aa9a everything: terminate bc instead of quit
On some systemd SIGQUIT causes the logger to save a coredump.
Quiting bc here does not need save a backtrace here, the termination is
not a crash its a "closing" of the program.
2014-12-06 18:07:55 +01:00
Carsten Haitzler b656546184 e randr - fix warning (signed vs unsigned cmp) 2014-12-05 13:58:10 -05:00
Carsten Haitzler b84c0fe11d e - randr - stop saving config using XID - this is utterly WRONG
so e was storing randr config using XIDs to match outputs etc. this is
all kinds of wrong. XIDs are NOT STATIC. they change from xserver to
xserver and from run to run. they MAY be the same. they may not. so
this was just broken.

use output name + edid as a big "string" (name.edid) as a way ofr
identifying config for a specific combination of output plus monitor
and to find/identify the corrent output+monitor to apply it to (of
course missing edid gets replaced with ??? and missing output name is
??? too - i have never seen a missing output name so you get this at
least).

so this FIXES "restore" of screen mode on login for starters. this
does nothing to "fix" the screen setup dialog in any way. there are
separate issues there.

this also breaks e_randr config compat so i bumped epoch so your old
config is rejected. i don't see a sensible way of porting the config
forward.
2014-12-05 13:57:56 -05:00
Takeshi Banse be39fb0ada cpufreq: teach cpuinfo_{min,max}_freq as available frequencies
Summary:
The intel_pstate scaling driver exposes the `scaling_cur_freq` since
kernel 3.17 [*], it would be fine that the min and max frequencies
are known even without the `scaling_available_frequencie`.

This commit teaches to use the cpuinfo_{min,max}_freq as fallback in
case the `scaling_available_frequencies` is not available within
intel pstate.

[*] https://lkml.org/lkml/2014/11/11/1060

Signed-off-by: Takeshi Banse <takebi@laafc.net>

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1686
2014-12-05 13:57:06 -05:00
Mike Blumenkrantz 4dc20f5c85 attempt to run eeze_scanner on failure to connect, not successful connect
ref T1612
2014-12-05 13:56:32 -05:00
Mike Blumenkrantz 7e3b22dacc only attempt to start eeze_scanner a couple times before giving up
ref T1612
2014-12-05 13:56:32 -05:00
Mike Blumenkrantz b75e419086 store eeze_scanner connection poller to avoid creating an infinite number
ref T1612
2014-12-05 13:56:31 -05:00
Mike Blumenkrantz 0a95e6e117 don't exit e_fm when eeze init fails, send RASTER mode instead 2014-12-05 13:56:31 -05:00
Mike Blumenkrantz ae5ac60dca print more descriptive error messages when scanner connection fails, also don't exit() here
ref T1612
2014-12-05 13:56:31 -05:00
Mike Blumenkrantz 50f5b74cd8 apply pointer warp effects immediately when instant warping
fix T1462
2014-11-28 15:07:32 -05:00
Mike Blumenkrantz 5a578eefc1 ensure string safety on dbus message in connman agent
fix T1812
2014-11-25 15:41:01 -05:00
Mike Blumenkrantz 171576c327 force shape queue on notification delete
fix T1801
2014-11-25 15:27:25 -05:00
Mike Blumenkrantz 1106200675 set skip pager/taskbar hints on parent window instead of client window
this is a change in behavior as compared to E17-E18 where any setting of related flags would alter the client hints

ref T1692
2014-11-25 15:04:21 -05:00
Marcel Hollerbach b2f576965d Fix wrong deskshow function
Summary:
The loop E_CLIENT_REVERSE_FOREACH was used to iconify and uniconify the
icons. The worked well for uninconify.

But if the first client with the focus gets iconifyed the lower one in
the stack will get the focus and will be raised to the top, but the loop
will continue with the next of the now iconifyed e_client, so this one
will be skipped.

Now the forward loop is used to iconify and the reverse to uniconify the
e_clients.

This fixes T1797

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, cippp

Maniphest Tasks: T1797

Differential Revision: https://phab.enlightenment.org/D1655
2014-11-12 21:01:32 +01:00
Mike Blumenkrantz f9370f013e fix internal window border changing 2014-11-03 17:04:14 -05:00
Carsten Haitzler c8d16cdef6 e_auth - null out compilert memset opts like lokker 2014-11-03 17:03:42 -05:00
Mike Blumenkrantz 4bfb77c118 fix teamwork popup positioning for non-dbus popups 2014-10-12 04:49:49 -04:00
Mike Blumenkrantz a6023f6649 thaw evas on winlist activation with no clients available
fix T1667
2014-09-23 13:18:03 -04:00
Mike Blumenkrantz 4374a04e2e client hooks should not continue to be called if the client has been deleted 2014-09-23 13:18:01 -04:00
Mike Blumenkrantz d4e289727a force comp render queue more aggressively to detect changes in nocomp 2014-09-23 10:31:25 -04:00
Mike Blumenkrantz 16f3595f7d comp render queue on every client resize instead of on unmaximize 2014-09-23 10:31:24 -04:00
Stefan Schmidt 2cd2b0a764 modules/teamwork: Use eina_file_mkstemp() to avoid problems with umask
Keeping the snprintf to arrange for the tmp file name including the i->addr
in the filename.

CID: 1039805
2014-09-19 10:06:32 -04:00
Mike Blumenkrantz 349a9f5262 add borderless theme for deskmirror clients to support various animations 2014-09-18 18:23:43 -04:00
Mike Blumenkrantz 309ff82429 force render queue on unmaximize if client was fullscreen
fix T1665
2014-09-18 11:52:46 -04:00
Mike Blumenkrantz 7003b3ed08 end nocomp on nocomp end...always 2014-09-16 11:07:13 -04:00
Mike Blumenkrantz 351bde444c manually break out of nocomp
in the event that there was only one window open and it was closed, this would permanently break the compositor

fix T1665
2014-09-16 11:07:08 -04:00
Mike Blumenkrantz 9b8a6df115 check protocol visibility for nocomp breaks, not comp object visibility
new comp objects are never going to be visible during nocomp
2014-09-16 11:07:02 -04:00
Mike Blumenkrantz 72366e49f9 don't add nocomp damages for input-only windows 2014-09-16 11:06:59 -04:00
Igor Murzov db45e4067d Restore translated strings accidentally dropped in fac4e89 2014-09-12 14:03:26 +04:00
maxerba fac4e89dfa Updating desktop files, eo.po and fr.po 2014-09-11 21:14:58 +02:00
Carsten Haitzler c70c334792 Revert "redo pager modules to use more accurately named edje groups"
This reverts commit 9488fddc59.

no - this breaks theme api. AGAIN ... like e18. see email to e-devel.
2014-09-11 16:24:54 +09:00
Chris Michael 284e2641e6 conf_paths: Fix 'user directory' frame to resize better and adjust
size of Default & Paths lists.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-10 14:34:50 -04:00
Chris Michael 1cd25a1595 Revert "bugfix: When we free the pixmap, clear any user data set on the resource"
This reverts commit b41dbbe9cf.

Revert this ... it works, but it's not the "proper" fix as it just
causes the crash(s) to happen elsewhere ... time to dig deeper
2014-09-10 10:24:07 -04:00
Chris Michael b41dbbe9cf bugfix: When we free the pixmap, clear any user data set on the resource
This was a cause of some memleaks/crashes in the wayland compositor
because the compositor was trying to access properties of the E_Pixmap
after it had already been freed. By setting the user_data to NULL, the
functions in the compositor which were failing will now stop trying to
access the pixmap after it's been freed.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-10 09:49:53 -04:00
Mike Blumenkrantz 9488fddc59 redo pager modules to use more accurately named edje groups 2014-09-10 09:02:03 -04:00
Mike Blumenkrantz ec1cd25cfe rename E19* defines/texts to just E so they don't need to keep being updated 2014-09-09 12:30:50 -04:00
Stefan Schmidt 452048354d e_fm: Include config.h to know about HAVE_UDISKS_MOUNT
We are checking for the various mount options here given by configure.
-Wundef showed that we might not have the defines right so better
include config.h here.
2014-09-09 10:44:21 +02:00
Mike Blumenkrantz 20a5b2bc18 fix nocomp skipping for skippable objects
fix T753
2014-09-08 09:12:21 -04:00
vivek 3999e39962 wl_desktop_shell: Added shell_surface_destroy API for destroying all surfaces
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
2014-09-08 08:15:22 -04:00
Mike Blumenkrantz 0cf20e5407 fix e_randr double comparison warnings 2014-09-07 23:02:38 -04:00
Mike Blumenkrantz a69a5a1796 add dblequal() util function to be used for addressing the infinite comparison warnings 2014-09-07 23:02:32 -04:00
Mike Blumenkrantz 93e0dd20c0 add docs for all the comp_object data keys 2014-09-07 12:49:19 -04:00
Mike Blumenkrantz a81707a507 throw CRI on e_object type errors 2014-09-07 12:35:50 -04:00
Mike Blumenkrantz 0028c7aea3 fix client positioning when initial position is offscreen or size is huge
ref T1571
2014-09-07 12:35:45 -04:00
Mike Blumenkrantz 30bd5e4a0d remove misleading old comment 2014-09-07 11:45:31 -04:00
Mike Blumenkrantz 0988340f81 add another main loop iteration after resuming for desklock visibility
fix T1498
2014-09-07 11:15:17 -04:00
Mike Blumenkrantz 7448e3706c simplify eeze backlight detection 2014-09-07 09:25:16 -04:00
Mike Blumenkrantz 1c9d1b2de1 only default to led subsystem backlight if it isn't a mail or kbd device
fix T1497

do backlights with subsystem=leds still exist or have they fixed that yet?
2014-09-07 09:25:16 -04:00
Chris Michael 7645f39446 remove useless return
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-05 15:52:09 -04:00
Mike Blumenkrantz 0e19d32806 use e_auth hash function instead of eina hash for passwords
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
2014-09-05 15:05:58 -04:00
Mike Blumenkrantz 721dfe82c2 add e_auth_hash_djb2 inline
all eina hash functions are now useless for any case where the hashed value needs to be stored, so it's necessary for e to provide its own hash function to use for password storage
2014-09-05 15:02:10 -04:00
Mike Blumenkrantz 6318fd042b add short path to ensure ConfigureNotify event after request
fix T1485
2014-09-05 15:01:52 -04:00
Mike Blumenkrantz 33ff637a7c fix pointer crashes from wrong #ifdefs in 1f439893f1 2014-09-05 14:29:39 -04:00
Mike Blumenkrantz fdcd207323 clean up function/macro use in e_pointer 2014-09-05 14:27:59 -04:00
Chris Michael 2b8d76747d Revert "bugfix: Set pointer timer & poller members to NULL after we delete the"
This reverts commit bb2dab1a5d.

Revert this because the macro already sets the pointers to NULL.
2014-09-05 12:27:01 -04:00
Chris Michael 095d34bc90 modules/notification: e_comp_object_util_zone_get Can return NULL so
we should check the return before trying to use it. Should fix Phab
T1618

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-05 12:20:54 -04:00
Chris Michael bb2dab1a5d bugfix: Set pointer timer & poller members to NULL after we delete the
timer/poller

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-05 11:40:00 -04:00
Chris Michael 7688549511 modules/conf_display: Fix CID1039753 Unused pointer value
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-05 11:16:55 -04:00
Chris Michael f43a315793 modules/conf_keybindings: Fix CID1039754 Unused pointer value
The "Don't know EINA_LIST_FOREACH macro" bandit strikes again !!

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-05 11:12:44 -04:00
Chris Michael c5023f1d4e modules/conf: Fix CID1039755 Unused pointer value
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>
2014-09-05 11:10:54 -04:00
Chris Michael 36bcc26085 modules/pager_plain: Fix CID1039809 Dereference before null check
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-05 11:05:59 -04:00
Chris Michael 911bffd23e modules/ibar: Fix Dereference before null check. Also remove extra
call to ibar_resize_handle (is already called from ibar_fill).

Fixes CID1039813

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-05 11:02:16 -04:00
Chris Michael c8dd1d95d3 modules/fileman: Fix Dereference before null check
Fixes CID1039814

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-05 10:57:21 -04:00
Chris Michael 4b4b80bcb5 modules/everything: Fix dereference before null check
Fixes CID1039816

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-05 10:50:25 -04:00
Chris Michael e9599c2597 modules/everything: Fix dereference before null check
Fixes CID1039817

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-05 10:47:53 -04:00
Chris Michael ae1c3286ee modules/bluez4: Fix dereference before null check
Fixes CID1039818

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-05 10:44:07 -04:00
Stefan Schmidt 2e651c9ec1 modules/everything: Last orrurance of missing parentheses
Again, a logic problem as without the parentheses this would evauluate to
false in all cases.

CID 1212002
2014-09-05 14:40:49 +02:00
Stefan Schmidt 1180a5300b modules/everything: More parentheses fixes for correct logic
Without the correctparenthese this would always evaluate to false.

CID 1212000, CID 1212001
2014-09-05 14:38:36 +02:00
Stefan Schmidt 831a45a2cb modules/everything: Fix parentheses for CHECK_TYPE macro
Without these parentheses the logic would always be false.

CID 1211999, CID 1212003
2014-09-05 14:33:24 +02:00
Stefan Schmidt 47d2987208 e_module: Remove dead code after return statement.
Never executed as we retrun before in any case.

CID 1039762
2014-09-05 14:25:15 +02:00
Stefan Schmidt 5bfbe933fe module/connman: Remove dead code after return.
The if else above retruns in both cases. This code was never executed.

CID 1039761
2014-09-05 14:14:33 +02:00
Stefan Schmidt c281d6da82 e_alert_main: Don't monitor in E in wayland only mode to avoid endless restarts
When running in Wayland only mode we don't have XCB available so a
xcb_connection would fail and we would restart endlessly.

I have been bitten by that often enough now. Better shutdown E cleanly and don't
use the watchdog functionality for now. This needs a wayland specific solution
anyway.
2014-09-05 12:12:13 +02:00
Stefan Schmidt 99f9244d1c e_comp_wl: Remove unused variable and mark parameter as unused. 2014-09-05 11:54:45 +02:00
Chris Michael ffe713d0df bugfix: use existing compositor canvas pointer as the windows pointer
when doing wayland windows (internal dialogs), and in such a case
don't free the window pointer on window hide/destroy.

NB: This fixes the case when running wayland-only and dialogs would
actually show 2 pointers.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-04 15:55:18 -04:00
Chris Michael 1f439893f1 bugfix: handle case of pointer_xy_get being called if we are not
wayland-only and also not working with an X client.

bugfix: Fix case of pointers_size_set not adjusting pointer structure
fields with new size when rendering wayland pointers.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-04 15:51:46 -04:00
Chris Michael b92b34621c e-comp-wl: Remove blank line
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-04 12:50:41 -04:00
vivek ded8356fc7 e_comp_wl: Handle surface opaque region in subsurface commit from cache
Summary: When we commit a subsurface from cache, we should adjust the
client's shape rectangles so that they get applied when rendering.

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1412
2014-09-04 12:49:54 -04:00
Chris Michael 31045f715b bugfix: wl-drm: Fix hard-coded screen size of the ecore_evas
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>
2014-09-04 10:05:59 -04:00
Igor Murzov 3136b5e29a Update russian translation 2014-09-03 19:04:41 +04:00
Igor Murzov aba7a8c9d5 Improve messages in bindings configuration dialogs 2014-09-03 18:04:19 +04:00
Mike Blumenkrantz 5733e7b3f7 non-client comp object creation checks "noshadow" edje flag on passed objects
returns theme functionality from e17
2014-09-03 09:46:27 -04:00
vivek 992f999301 bugfix: Check for parent surface before creating popup
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
2014-09-02 08:35:50 -04:00
Mike Blumenkrantz 8a10f288ad use a non-conflicting data item for comp mirror creation 2014-09-01 14:22:44 -04:00
Mike Blumenkrantz 74c3e0a979 shorten rendering path when creating comp mirrors from comp mirrors 2014-09-01 13:55:02 -04:00
Mike Blumenkrantz f45b00834f Install everything.pc in $prefix/libdata/pkgconfig on FreeBSD
fix T1605
2014-09-01 12:33:31 -04:00
Mike Blumenkrantz b6dc08a3b3 fix tw warnings 2014-09-01 12:32:23 -04:00
Mike Blumenkrantz 8cff990c24 redo tw download handlers to use a valid object check
fix T1544
2014-09-01 10:30:53 -04:00
Mike Blumenkrantz 77c63e0387 redo comp object util refs to be more consistent and not break evas 2014-09-01 10:30:53 -04:00
Mike Blumenkrantz 44545b53a9 don't break nocomp for client activate requests 2014-09-01 10:30:53 -04:00
Mike Blumenkrantz cdaa53fc8f only add damages for nocomp clients if they are protocol-visible 2014-09-01 10:30:53 -04:00
Mike Blumenkrantz e949fcc077 only use pixmap size shortcut on non-internal clients
this gets broken pretty easily since we resize all over the place
2014-09-01 10:30:53 -04:00
Mike Blumenkrantz d9b9497a00 systray should now update comp_x client pixmap size since it's handling window resizes 2014-09-01 10:30:53 -04:00
Mike Blumenkrantz 85bc707ab9 yet another systray overhaul to avoid destroying batter after nocomp ends
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.
2014-09-01 10:30:53 -04:00
Mike Blumenkrantz 79b1f37a36 fix stupid pixmap refresh logic 2014-09-01 10:30:53 -04:00
Davide Andreoli 54e039c0ac Fix gadcon popup to reposition correctly on size changes
None was setting the visible flags, that is checked before reposition the popup
2014-08-31 15:34:36 +02:00
Srivardhan Hebbar 0c91ba8505 teamwork: Fixed sliders issue.
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
2014-08-29 13:49:17 -04:00
Gwanglim Lee 00690dab17 added mobile policy module
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
2014-08-29 13:48:01 -04:00
Seunghun Lee e3f4f0f976 set the maximized valuable of E_Client before calling _e_client_frame_update when unmaximize the client.
Summary: since maximized valuable is used in _e_client_frame_update, so the valuable should be updated.

Test Plan:
(1) run any application.
(2) Maximize the app by key binding.
(3) Change the border type.
(4) Unmaximize the it by key binding.
(5) try to maximize it again, but couldn't

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1357
2014-08-29 13:46:25 -04:00
Mike Blumenkrantz ee5be41194 Revert "mixer: Optionally select an external mixer application."
This reverts commit e4e2550484.

apparently some people don't know what "feature freeze" means...
2014-08-29 10:38:51 -04:00
Brian 'morlenxus' Miculcy e4e2550484 mixer: Optionally select an external mixer application.
This feature allows to define an external mixer application, which replaces the internal mixer.
Examples: 'terminology -e alsamixer', 'pavucontrol'
@feature
2014-08-29 15:32:05 +02:00
Mike Blumenkrantz 7b8ad92604 set X pixmap size on client init 2014-08-28 13:30:07 -04:00
Chris Michael e8b3be70ab fix dnd compiler warnings when building for wayland-only
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 12:36:02 -04:00
Chris Michael 18f5337fa3 fixed backlight compiler warnings when building for wayland-only
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 12:33:10 -04:00
Chris Michael 8e4a45a40e fix e_screensaver_update compiler warnings when building for
wayland-only

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 12:30:29 -04:00
Chris Michael 46e960397d fix unused variable if building for wayland-only
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 12:22:09 -04:00
Chris Michael 3edef4a1a8 remove call to show pointer during canvas_new function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 12:10:09 -04:00
Chris Michael 7f9eefbd7b destroy pointer when destroying window since we create new pointers
for every window again.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 11:40:19 -04:00
Chris Michael e9807c5ba7 add fixme note
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 11:40:19 -04:00
Tom Hacohen 37462c7cb7 Tiling: Respect min size hints (set to floating if doesn't fit).
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.
2014-08-28 16:33:54 +01:00
Chris Michael 63b5da69f0 fix pointer for stupid X11...but this breaks pointers in wayland (for
now) :(

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 11:10:07 -04:00
Chris Michael 6440aa513f create window pointer based on compositor type
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 11:08:36 -04:00
Chris Michael 28b512d5a7 fix X compositor to use e_pointer_window_new
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 11:01:46 -04:00
Chris Michael 88e61f09cc add back 'pixels' field structure for pointer
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 11:00:22 -04:00
MinJeong Kim 73ce914020 Check whether attached buffer exists, before using it.
Summary:
Because attached buffer can be NULL for removing surface content,
check of pending.buffer should be done before getting resource value of the buffer.

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1370
2014-08-27 08:26:38 -04:00
Jérémy Zurcher 25aabe7aa7 add missing 'pragma GCC diagnostic push' 2014-08-27 09:22:27 +02:00
Chris Michael 6b56465bac use a new e_pointer for the window canvas
This fixes an issue where internal dialogs were not using the e
cursors but would default back to an x cursor

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 14:36:57 -04:00
Chris Michael 7840d11459 be sure to send the wl_data_device_send_enter when changing surface
focus and add some more debugging for dnd

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 14:11:28 -04:00
Chris Michael 78bcbfff35 trap return value of shm_buffer_get
This function Can fail to return an shm_buffer if the buffer_resource
is an EGL buffer.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 14:06:57 -04:00
Chris Michael 559d53bc5d Add checks for client being a wl pixmap in some functions
If we don't do this, then when we run in X11 with wl client support,
we crash in various places (iconify, etc) when trying to work with
normal X clients.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:39 -04:00
Chris Michael 4bc11ee5d5 fix dereference of incomplete pointer type
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:39 -04:00
Chris Michael b10c0d91ab Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:39 -04:00
Chris Michael 31e38208b4 wl-x11: Declare keyboard strings as NULL (initially) to avoid crash
when updating keymap

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:39 -04:00
Mike Blumenkrantz f56a08fc6c move wl client_resize protocol calls to idler 2014-08-26 10:10:39 -04:00
Mike Blumenkrantz e7a0b193f3 automatically enable pointer and keyboard for wayland-in-X 2014-08-26 10:10:38 -04:00
Mike Blumenkrantz 362a9b6cce reuse existing render post callback for wayland clients 2014-08-26 10:10:38 -04:00
Chris Michael d9cdcdbef4 Fix elm apps crashing from invalid e_remember
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
2014-08-26 10:10:38 -04:00
Chris Michael 8fa7e4f59d Fix inproper setting of window type during transient_set.
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>
2014-08-26 10:10:38 -04:00
Chris Michael 4066cf2ca9 Reduce usage of EC_CHANGED.
Lock subsurface border type to borderless.
Remove commented out code.
Don't mark border.changed during pre_frame callback.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael 6485968ca0 reorder client idler and stacking functions so we can call them after
post_move.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael a15eaa46c4 Reduce potential of unnecessary function calls:
- When we are doing client eval, don't check for Just changes in
property OR fetching. Rather we will check using an AND.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael c93ea90edf Simplify both transient_set functions (wl_shell and xdg_shell).
Remove debugging noise.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael dba9916abe Remove NULL checks for valid client->comp_data ... let the crashing begin !!
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael 201918eca8 Add ERR messages for EINTERN & EAPI functions.
Remove NULL checks ... let the crashing begin !!

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael d1e4cf0be8 Add error messages in EINTERN & EAPI functions.
Remove NULL checks ... let the crashing begin !!

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
MinJeong Kim 6b808e2f3f Remove unwanted NULL check in internal function
Summary: Remove unwanted NULL check in internal function.

Reviewers: gwanglim, devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1250
2014-08-26 10:10:38 -04:00
Seunghun Lee 89b2881476 clear parent's list of transients, when set parent to NULL.
Summary: we also need to clear parent's resource.

Test Plan: N/A

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1238
2014-08-26 10:10:38 -04:00
Chris Michael 814b50f7e6 wl-desktop-shell: Avoid runtime ERR noise for something that is not
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>
2014-08-26 10:10:38 -04:00
Mike Blumenkrantz 3b649534c9 Fix building Enlightenment for X11-only, Wayland-Only, and X11 with Wayland clients.
Signed-off-by: Chris Michael <cp.michael@samsung.com>

Additional authors: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael 5448f0a1ac handle setting any pending opaque regions during surface commit and
cleanup the input region code also

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael bb64229ae9 fix return variable type from e_pixmap_window_get function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael 0ba4fecd76 change client transient_for id to uint64_t
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael 07b6052db1 wl_drm: Add short block to mark setup for drm egl rendering
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>
2014-08-26 10:10:38 -04:00
MinJeong Kim f0ba92d39e Add simple clipboard based on wayland protocol
Summary:
Whenever any client requests new selection_set,
the data is saved to server-side clipboard directly on this revision.
So data device is able to keep data which is copied from client app have closed already
and is able to provide those data to new focused surface before coming new selection_set request.

Reviewers: devilhorns

Subscribers: cedric, gwanglim

Differential Revision: https://phab.enlightenment.org/D1165
2014-08-26 10:10:38 -04:00
Seunghun Lee 1370d6bd32 Implement wayland subsurface support based on E_Client.
Summary: Support subsurface interface of wayland.

Test Plan:
1. Build enlightenment on devs/devilhorns/e_comp_wl branch.
2. Run enlightenment.
3. Run weston-subsurfaces
   - should be built after removing code of gl surface (not yet implemented)
   - just comment out the line egl_state_create in function of demoapp_create()

Reviewers: gwanglim, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1182
2014-08-26 10:10:38 -04:00
Gwanglim Lee a96d7290f5 Add missing wl_resource_destroy
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
2014-08-26 10:10:38 -04:00
Chris Michael 7418547f76 Don't run xrdb or xmodmap when we are wayland only
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Seunghun Lee e5f293214d move the part of code for fetch transient_for in eval time to _e_shell_surface_parent_set().
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
2014-08-26 10:10:38 -04:00
Gwanglim Lee 6248f11b80 remove EINA_UNUSED in move and resize callbacks
Summary: remove EINA_UNUSED from used function parameters

Test Plan: N/A

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1173
2014-08-26 10:10:38 -04:00
MinJeong Kim 2799388093 Fixed trying to create damage area with 0x0 size
Summary:
This revision fixed failure to create damage area using Eina_Tiler on surface damage callback.
It was caused by trying to create Eina_Tiler with 0x0 size which is from size of E_Client.

Test Plan:
1. Run elementary_test.
2. Select one of the test apps.(no more magic fail message)

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, gwanglim

Differential Revision: https://phab.enlightenment.org/D1171
2014-08-26 10:10:38 -04:00
Seunghun Lee 4152e1e2dd remove setting ec->parent before evaluation.
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
2014-08-26 10:10:37 -04:00
MinJeong Kim ed16127395 Add focus surface setting of keyboard for copy and paste between clients
Summary:
To enable copy and paste between clients,
wayland data device requires to know what surface is focused.
So this revision have make keyboard get focused surface when client is focused or unfocused,
and create data_offer for new focused surface in order to let new focused surface be able to get data from current selection data_source.

Test Plan:
1. Run wayland server
2. Run elementary_test -to entry5 on wayland server.
3. Run elementary_test -to entry5 on wayland server again. (preparing two clients)
4. Copy text on one of clients, and paste to the other.

Reviewers: devilhorns

CC: gwanglim, cedric

Differential Revision: https://phab.enlightenment.org/D1157
2014-08-26 10:10:37 -04:00
Seunghun Lee 97c39e74cc fix crash when client in wayland request to set parent to null.
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
2014-08-26 10:10:37 -04:00
Seunghun Lee 2b21742a91 Added conversion for image format to ARGB from XRGB for wayland. evas_object_image_data_set will be used instead of evas_object_image_data_copy_set.
Summary: this patch will provide to launch the application based on XRGB8888 like weston-simple-shm.

Test Plan: launch weston-simple-shm

Reviewers: devilhorns, zmike, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1137
2014-08-26 10:10:37 -04:00
Seunghun Lee 0667d4ce34 Change time unit to milli-second from second when send event of frame done for wayland client.
Summary: that's because weston sample client supposed that the time passed by frame callback is milli-second.

Reviewers: devilhorns, zmike, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1133
2014-08-26 10:10:37 -04:00
Seunghun Lee 6a1ef8b846 map/unmap surface in committing surface should be valid, only when buffer is newly attached. check if buffer is newly attached, when do map/unmap surface.
Summary:
There is a case that client do commit twice after one wl_surface_attach.
In this case, even if no buffer attached, unmapping the surface.
Because server already clear the buffer in first commit.

This patch fixes it.

Reviewers: devilhorns, zmike, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1115
2014-08-26 10:10:37 -04:00
MinJeong Kim b9caebbf7b Add missing function
Summary:
Added missing function _e_comp_wl_data_find_for_client.
@fix

Reviewers: devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1102
2014-08-26 10:10:37 -04:00
Chris Michael 5481440c75 Fix formatting.
Rename data_resource_list to data_resources.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
MinJeong Kim 450206b599 Implement selection copy & paste using data interfaces of wayland
Summary: It supports selection copy & pasete with wl_data_device_manager, wl_data_device, wl_data_offer and wl_data_source.

Test Plan:
1. Build enlightenment on devs/devilhorns/e_comp_wl branch.
2. Run enlightenment.
3. Run elementary_test -to entry5 (or any entry samples).
4. Select any block of text.
5. Do copy the block and Copy anywhere you want.

Reviewers: gwanglim, devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1094
2014-08-26 10:10:37 -04:00
Chris Michael 8bd30c9b98 pass the compositor ecore_evas to e_pointer_canvas_new
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 488ffacc39 pass the ecore_evas to e_pointer_canvas_new and use Eina_Bool for
true/false values

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael eafb4ce000 use Eina_Bool for true/false values
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 8c90407ce7 use the pointer from the compositor for e_win and don't free the pointer when the window closes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 20e17c97ac create the compositor e_pointer on the ecore_evas
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 01fd44e485 add new e_pointer files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Seunghun Lee e402e2363a 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.

Reviewers: devilhorns, zmike, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1089
2014-08-26 10:10:37 -04:00
Chris Michael f1bf03e87b remove old e_pointer code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael d6254f4634 flush clients Before we dispatch main loop events as clients may queue
events onto the loop.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael d52e926a32 add EGL headers for wayland compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael b2e2219235 fix define check for shutting down wayland compositor.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 165cf8db81 enable checking of windows going outside of e_config->screen limits
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 2ab2a9a36f re-enable checking of current client geometry when get a configure
message.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 832cfa8f3d add support for mouse wheel events and pass them to wayland
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 581975d255 check if client is getting destroyed before we try to unmap it.
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>
2014-08-26 10:10:37 -04:00
Chris Michael 5b581d88c3 check for valid comp_data before trying to use it.
Don't set pointer to 'k' in keydown event (we don't need it).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 379799e903 unify surface parent setting code for use with wl_shell and xdg_shell.
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>
2014-08-26 10:10:37 -04:00
Chris Michael 894d147844 update some fixme/notes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael b38f37f0e6 fix building theme module with wayland-only
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 024caabef9 Fix state of popup windows to skip taskbar, pager, etc, etc.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 2ed054a669 wl-desktop-shell: Unify popup_parent code and fix placement of popup
windows.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 46f34ace54 fix compiler warning about unused variables when building for X11 or Wayland.
NB: Each different build (x11/wl-only) had various unused variables.
This is a squash of the commits to fix all that.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael c308904e9b fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 8d720e4b04 remove debug/warning message
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael d278de2d76 e-comp-wl: Handle setting window parent for internal dialogs.
Move parent->modal setting from the shell module to the compositor.
Support setting of various window types (dialogs, menus, etc).
Handle setting of internal properties (min size, max size, etc).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 08a98cdb87 wl-desktop-shell: Simplify transient_set functions and move the
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>
2014-08-26 10:10:36 -04:00
Chris Michael 0d7eb396bd remove dead comments
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael f92644446a Implement focus_down_set function to grab mouse & wheel bindings.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael aac748dcdc Implement focus_check function and call on delete_request.
Don't try to ping clients that we are forceably killing.
Implement e_grabinput calls during focus_set.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 86ca279327 Fix defines for building with wayland-only or wayland-client support.
NB: This fixes internal dialogs not having frames

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 2a44c2717e Release array of keyboard keys when we shutdown input
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 92bbc30710 Implement client stacking.
Ungrab mouse & wheel bindings when we delete the client.

Signed-off-by: Chris Michael <cp.michael@samsung.com>

remove client stacking code (apparently handled in e_client already)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael fc21ca524c fix define check for wayland client uuid store
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael b7e263bf12 Implement setting of client priority during focus events.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00