Commit Graph

9643 Commits

Author SHA1 Message Date
Mike Blumenkrantz 19c652e069 rename client menu move/resize items to indicate real function
ref T2112
2015-04-29 22:08:18 -04:00
Carsten Haitzler cbe533c848 e client - desk wait - ref it properly and clean up delfn
delfn's on desks being referred to as profile.wait_desk were never
cleared when client was freed. als the desk itself never got an obj
reference - fix that and ref/unref it.
2015-04-28 12:29:54 -04:00
Carsten Haitzler cd04374949 e - xsettings - calloc buffer since we leave 3 of 4 bytes unset
the first 4 bytes is a msb/lsb thing for xsetttings - we ignore 3 of
the 4 bytes. thus we should just calloc the whole buffer to ensure its 0
2015-04-28 12:29:49 -04:00
Mike Blumenkrantz 187608ba7a use client geom for comp object centering functions if ec->new_client is set 2015-04-28 12:27:33 -04:00
Mike Blumenkrantz 85e9c985b0 ensure client max w/h props are set before applying them to client geom 2015-04-28 12:24:19 -04:00
Carsten Haitzler 7c868b5be1 e_shelf - check visiblity with zone and desk FIRST not later
es->cfg->desk_show_mode if false (default) implies a shelf is always
visible - true, as it's sticky (visible on all desktops). but this
didn't check zone. check zone first THEN this.
2015-04-28 12:23:14 -04:00
Mike Blumenkrantz 3807b38b72 fix submenu visibility during scroll
sometimes while quickly moving the cursor through menu items with submenus
the visibility flag would toggle more quickly than the menu object's visibility.
this is no longer the case
2015-04-20 18:09:36 -04:00
Mike Blumenkrantz f5273475eb clear app menu cache any time a desktop is edited internally
ref T2271
2015-04-20 16:06:21 -04:00
Mike Blumenkrantz a312cc2429 add function for clearing app menu cache
ref T2271
2015-04-20 16:06:20 -04:00
Mike Blumenkrantz 92d8abd38c use client geometry for starting unmaximize calculations
the resize operations in this function operate off client geometry, so
stop using frame geometry

fix T2170
2015-04-20 15:34:37 -04:00
Mike Blumenkrantz 5f5786ab50 fix nocomp_override conditional which would inaccurately toggle nocomp
hooray gcc 5.0
2015-04-14 20:38:43 -04:00
Mike Blumenkrantz facd645829 set E_Exec_Instance desktop during client idler if none present
ref T2284
2015-04-13 16:22:32 -04:00
Mike Blumenkrantz 4207c1240e raise deskmirror windows on startup
these get added bottom -> top on creation, so ensure that they are raised
2015-04-09 14:21:01 -04:00
Mike Blumenkrantz 2091ef60d8 always lower e_layout children upon packing
fixes issues where a new child added would appear above other child objects
if the new child was meant to be stacked below other children

mostly noticeable in deskmirror
2015-04-09 14:20:59 -04:00
Mike Blumenkrantz 66da90fa0f remove layer setting from deskmirror
smart child objects can't have layers. apparently.
2015-04-09 14:20:56 -04:00
Carsten Haitzler 666da6ab83 e clients - make sure we handle client with a NULL zone 2015-03-11 16:05:52 -04:00
Mike Blumenkrantz 31bf6cb7e6 don't modify pixmap hash when changing pixmap parent window
moderately certain I originally wrote this to work in the other direction
and then failed to remove it when I switched to setting parents instead of
children. regardless, pixmap hash should not be changed here
2015-03-11 16:03:27 -04:00
Mike Blumenkrantz 5e48e67b23 fix crash when using e_comp_object_util_center_pos_get() with non comp_objects 2015-03-06 18:57:37 -05:00
Mike Blumenkrantz baf9640ef5 fix horizontal/vertical smart maximize
fix T2170
2015-03-06 17:18:15 -05:00
Mike Blumenkrantz d3d4cbd616 use stderr messages when failing to init X compositor
can't show error dialogs when we're about to exit, may as well print something useful

fix T2182
2015-03-06 15:02:20 -05:00
Mike Blumenkrantz 28d85ea90a exit immediately if any unrecognized arg is passed on startup
ref T2182
2015-03-06 15:02:13 -05:00
Mike Blumenkrantz 35e1e2488f never resize client clip object 2015-03-04 17:08:23 -05:00
Mike Blumenkrantz 1d4f7027a4 set ec->fullscreen before applying fullscreen geometry 2015-03-04 17:08:22 -05:00
Carsten Haitzler e7924ad814 e - menus - fix submenu popup direction when zones are not at 0 y 2015-02-25 15:48:58 -05:00
Carsten Haitzler df7a245f55 e - menus - fix autoscroll on zones not at 0 y... 2015-02-25 15:48:53 -05:00
Carsten Haitzler 1815275df5 efm - make dir listing far faster - no file magic content and dont sync
this speed sup dir listing in efm drastically. first the e fm back end
uses an io thread that just spools through everything fast and sends
it over the mainloop to then send by ipc to e.

and on the e side we no longer use the heavy file internal magic using
api calls that wander all over a file for magic numbers - this is
insanely slow and brings listing to a crawl.
2015-02-24 13:09:05 -05:00
Mike Blumenkrantz 577a577dbd don't clamp bgpreview vsize if bgpreview is a fullscreen overlay 2015-02-23 17:34:42 -05:00
Mike Blumenkrantz f7c07dd086 fix dialog sizing when icon setting fails 2015-02-23 16:54:00 -05:00
Mike Blumenkrantz 800ec5eaa3 do not reapply focus on canvas object ungrab/close for pointer-focus enthusiasts 2015-02-20 09:56:15 -05:00
Mike Blumenkrantz c15e0848b5 revert some comp object debugging bits that snuck into another commit 2015-02-19 11:13:46 -05:00
Mike Blumenkrantz 2d4929e68e rename extremely frustratingly-named E_Screen_Limits enum and members
this came in a patch that I take full responsibility for not adequately reviewing at the time.
the names are confusing and counterintuitive, and it does not properly include the client namespace.

backported to avoid future backport conflicts
2015-02-18 18:56:18 -05:00
Mike Blumenkrantz 7ea12ff367 clamp client size to screen when client limit policy does not allow offscreen
fix T1779
2015-02-18 18:38:39 -05:00
Mike Blumenkrantz 9567acde42 don't send unfocused signal to override clients
fix T2099
2015-02-18 16:36:11 -05:00
Mike Blumenkrantz f06634622a use direct path for setting icons in util theme set function when icon is a path
fix T1888
2015-02-18 16:14:54 -05:00
Mike Blumenkrantz 5b84c92f12 block linear desk flips that would wrap if desk flip wrapping is disabled
fix T1948
2015-02-18 16:14:49 -05:00
Vincent Torri 3bdc2ebbba add MIN define for non-linux systems 2015-02-15 17:54:25 -05:00
Carsten Haitzler 257118514e e - client list update after adding to client list - fix netwm bug
this fixes T2029
2015-02-12 23:14:59 -05:00
Carsten Haitzler 20cf69893e maximization bug affecting libreoffice and others - fix
the problem is something changes window gravity... what i don't know,
but hey - just forcibly move window to 0,0 which is where we expect it
anyway when resizing.

@fix
2015-02-12 23:14:52 -05:00
Mike Blumenkrantz e7f995294a ensure no duplicate XDG paths are prepended during startup
the previous patch(es) had a number of issues which made them unsuitable for general use:

* only checking "/usr" and "/usr/local" paths, despite this only being accurate if e was installed into /usr or /usr/local

* only checking if the paths were at the beginning of the string, when it's possible that they could be anywhere

* failure to also check XDG_CONFIG_DIRS

* improper formatting: this is a bit of a nitpick, but there are no correct instances of 'strcmp(a, b) == 0' in the e codebase.
2015-01-29 16:07:04 -05:00
Mike Blumenkrantz 1359adbbbd continue to hide window input regions on desk flip if they are shaded 2015-01-23 14:26:59 -05:00
Carsten Haitzler 88319af396 comp base - make base black. makes for better screenshots of blank areas 2015-01-20 21:52:39 -05:00
Mike Blumenkrantz 4d04162470 don't set deskmirror scale for non-mb objects 2015-01-15 17:18:07 -05:00
Carsten Haitzler 023516621e e - force a config flush before sys actions that could kill e
@fix

this should fix T1988. after some looking here is what i think is
happening. he is asking the system (sysvinit or systemd) to
halt/reboot, but these end up killing the e process before it can save
its config that is lurking around still in ram as opposed to on disk,
so puttting in a config flush before beginning such a system action
will ensure everything is on disk.
2015-01-13 23:03:32 -05:00
Mike Blumenkrantz 23e37eed8a fix build from tarball when configured mount backend is different from origin
previously the generated e_fm_shared_types.h file was wrongly distributed with the rest of the source tree when it should not have been
2015-01-11 12:58:17 -05:00
Mike Blumenkrantz f7701ff905 don't change shade.x/y during unshade or after shade
fix T1930
2015-01-08 18:23:48 -05:00
Mike Blumenkrantz 0d32652545 check focus after X nocomp end
fix T1768
2015-01-08 18:23:46 -05:00
Mike Blumenkrantz be0d07877e add E_VERSION_MAJOR define for external module usage
this should simplify writing modules with conditional code for different versions of e
2015-01-05 15:51:35 -05:00
Mike Blumenkrantz 963d033699 disable client stack debugging
this should have been turned off for e19 release but I forgot
2015-01-05 15:51:11 -05:00
Mike Blumenkrantz 7570d8809e completely block border changes on MWM borderless windows
ref T1963

seriously.
2015-01-03 00:44:19 -05:00
Mike Blumenkrantz f53936eaba don't set gravity on client windows during X move/resize
fix T1940
2015-01-03 00:44:17 -05:00
Chris Michael 5390c49803 bugfix: Fix e_notification file having missing initializers for Eldbus
Messages & Signals

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-12-31 15:39:39 -05:00
Chris Michael 0b5ea1f5c2 bugfix: Fix e_msgbus file having missing initializers for Eldbus
Messages & Signals

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-12-31 15:39:34 -05:00
Mike Blumenkrantz c3e86c328d comp pending resizes should not require both w+h to change 2014-12-31 15:39:06 -05:00
Chris Michael a3c7ebc28d call e_powersave_init Before we call e_screensaver_init because the
init of e_screensaver sets up an event handler for the
powersave_update event (which would be 0 unless powersave is init
first).

Thanks to dt9 for the report ! ;)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-12-18 11:40:12 -05:00
Carsten Haitzler 9df2d5f016 Revert "Randr: Fix null dereference."
This reverts commit 4aef218d28.

Revert "randr: remember crtcid for fast lookup on reconnect"
This reverts commit 55b4ad41d1.

Revert "randr: further cleanup"
This reverts commit 3e02824663.

these make nvidia randr resolution changing work again. sorry seb.
even though cleanups might be nice... this code is FIDDLY and every
driver seems to work differently, so take it easy and be very careful
- make no assumptions. i know it works on my intel desktop and nvidia
deskop atm. once i get a vga cable i'll fix up intel laptop with
external display that has problems. i can try radeon too later. but
right now - this stuff needs to work. being clean is far less
important than working. :)
2014-12-16 19:49:23 -05:00
Carsten Haitzler 19621ec426 Revert "randr: Don't track active outputs"
This reverts commit 01f43e3618.

this broke nvidia randr - i cant tunr my screens on or off anymore.
2014-12-16 19:49:21 -05:00
Tom Hacohen 88a0872760 Randr: Fix null dereference.
CID1181926
2014-12-16 16:44:01 -05:00
Sebastian Dransfeld 569eff8750 randr: Don't track active outputs
Remove tracking of active outputs to reduce code complexity.
2014-12-16 16:44:01 -05:00
Sebastian Dransfeld c4dc8c8f04 randr: TODO++ 2014-12-16 16:44:00 -05:00
Sebastian Dransfeld 2ca7a20d85 randr: remember crtcid for fast lookup on reconnect
When an output is set inactive, it is disconnected from a crtc. Now we
remember the id of the last crtc it was connected to, so we get a faster
lookup on reconnect.
2014-12-16 16:44:00 -05:00
Carsten Haitzler 38adb8db89 e randr - restore edp checks
the dp checks were looking for edp stuff. but due to naming they appeard as
eDP or maybe edp or EDP - thus were simplified to dp. put more explicit
checks there.
2014-12-16 16:44:00 -05:00
Sebastian Dransfeld 33d5ebb9fa randr: Don't match DP as LID
On my intel laptop DP are my DisplayPort connections, not LID.
2014-12-16 16:44:00 -05:00
Sebastian Dransfeld cd94ed7052 randr: further cleanup
Primarly two things removed:
1. crtc->outputs should only contain outputs which should be enabled
So looping them twice in e_randr_apply is definitly wrong.

2. _e_randr_crtc_find should find a crtc for an output
So looping our crtcs again in _active_set is definitly wrong. If
_e_randr_crtc_find does not find us a crtc, it should be fixed there.
2014-12-16 16:44:00 -05:00
Carsten Haitzler 71cb5462ba e randr - make it work on nvidia - lots of "wrong" things fixed
i've spent a while testing randr on my nvidia box and drviers. it now
works - i can turn screens on and off. i couldn't before. e_randr was
trying to be too smart for its own good. it wasnt matching up outputs
to crtcs, was thinking outputs active when they were not, etc. etc.
etc. - reality is e_randr could do witha  lot of simplification, but
at this stage i'm just going to hammer it into shape to work across as
many drivers and setups as i can test against.
2014-12-16 16:44:00 -05:00
Marcel Hollerbach 367eea52ec Register the new window into out evas.
Summary:
Otherwise the mouse up event is emitted to the evas but the evas does
not work with it, because it does not know the window it is from. This
leads to a evas_event_down_count_get bigger than 1 which leads to a
missing mouse_out event. With this missing mouse_out event _post_up_handle
in evas_event.c is not called anymore, this means all the click events
are getting emitted to the object which was last clicked.

This fixes T1894.

Test Plan: Drag and Drop a icon somewhere and click somewhere after that, the evas will not get stuck anymore

Reviewers: raster

Subscribers: cedric, abyomi0, zmike, raster

Maniphest Tasks: T1894

Differential Revision: https://phab.enlightenment.org/D1771
2014-12-13 09:18:25 +01:00
Mike Blumenkrantz 4da2b0885f apply client size based on correct remember value, only apply if value != 0
ref T999
2014-12-08 17:08:00 -05:00
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 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
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
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 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 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
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
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 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
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 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 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
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 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
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
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 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 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
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 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
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
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 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 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
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 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
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
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
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 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 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 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 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 894d147844 update some fixme/notes
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 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 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
Chris Michael 118f4eb05e fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
MinJeong Kim 4a5387df60 Resize input/damage/opaque pending tilers when client is resized
Summary: When the client resized, it need to resize tilers for surface region also.

Reviewers: devilhorns, zmike, raster, gwanglim

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1020
2014-08-26 10:10:36 -04:00
Gwanglim Lee faf44b7a8a add client property event into wayland eval fetch handler
Summary: add client property event for wayland client

Reviewers: devilhorns, zmike, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1015
2014-08-26 10:10:36 -04:00
Seunghun Lee 2cc4a1cf80 use calloc to allocate memory of E_Comp_Wl_Buffer which is set to zero, instead of malloc.
Summary: E_Comp_Wl_Buffer's busy value should be updated after initialization as zero.

Reviewers: devilhorns, zmike, raster

Reviewed By: devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1011
2014-08-26 10:10:36 -04:00
Seunghun Lee 9f81abb729 use eina_hash_int64_new to create hash table "clients_win_hash" in case wayland, instead of eina_hash_int32_new.
Summary:
since the data as a key of hash is 64bit integers, clients_win_hash should be created to int64.
if not, loss of data can occur when add or delete data from hash table.

Test Plan:
(1) run any application. (added ec to hash table)
(2) close the application. (try to delete ec from hash table, but couldn't)
(3) after that, if _e_comp_wl_cb_render_post is called, since refer to ec which was already freed, enlightenment had been crashed.

Reviewers: devilhorns, zmike, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1006
2014-08-26 10:10:36 -04:00
Chris Michael 57b3c40ad1 cleanup unused code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 6717b77001 Switch Wayland Compositor to use Eina_Tiler for damages, opaque, input, etc.
Add code to hold references to 'buffers'.
 - Release 'buffers' After they have been rendered by the compositor.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael c6a3d4cfca Add structures for a buffer and reference to a buffer.
Switch client_data structure to use eina_tiler for input, opaque,
damage regions.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 1d1d82ea12 fix botched 'git merge' from desktop_window_profile patch
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 5e7d2ce5d4 fix potential crash with e_comp_get.
e_manager_current_get Can return NULL so we should check that.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 2e24cc5760 cleanup e_pixmap code (remove debugging statements)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 1238686136 set client shape rectangle properly based on input area
- fix wl client crashses (patch from gwanglim)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael dc4e619dea fix building for wayland-only when --enable-wayland-clients is not
specified

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 8c64e5c208 remove unncessary variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 0e643b36f7 only declare certain variables if we are building for X
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 7499b51b68 fix include of comp_wl header to work with wayland_only option
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 92fd5b4be1 add missing EINA_UNUSED
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 84f5c2f608 add checks for pixmap type being X before accessing the image (for
cases where we are running wayland clients)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 79599394da update various files for compositor structure changes
- X compositor
  - shell module
  - drm module
  - x11 module
2014-08-26 10:10:35 -04:00
Chris Michael 1b7103323d fix e_pixmap for compositor structure change.
remove memcpy of wl_buffer data.

NB: This Is REALLY not needed in ANY compositor !!!
NB: This DOES cause lots of current Failures within the existing X Compositor ... ie: Wayland Clients inside X do NOT work at this point :(

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael a6ed5677b2 update X compositor code for structure rename
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael df278c9a74 Several fixes for Wayland Compositor:
- post a wl_buffer release After rendering is completed.
  - change code to follow compositor structure name
  - when creating compositor (inside X), set input keymap
  - don't set "reparent" for all new clients

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 0b0c464efd fix e_client sructure for running wayland client applications inside X.
update compositor structure for ability to run X and Wayland Clients.
update wayland compositor data & input file(s) for data structure rename.

NB: Both the X compositor and the Wayland compositor have different
"client data" to store, so e_client structure needs different fields

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 9f56b2aafc set delete_request for internal e_clients and add giant FIXME note for
internal windows

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael e35dba6caf fix destroying pointer & keyboard resources on shutdown
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael c40d085ccf check for existing pixmap when showing a window so we don't create a
new pixmap if we don't need to.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 434219f758 rewrite wayland compositor:
- reduce memory usage
 - remove duplicated pixmaps
 - remove duplicated pointer images

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 5ea94188f5 remove EINA_UNUSED for parameter that is actually used
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael adf559a850 Add wayland compositor data & input files to build order
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:34 -04:00
Chris Michael 6fded4853d rewrite e_pixmap code:
- reduce variable usage for non-x
  - remove need to memcpy wayland buffer image data
  - add function for setting pixmap buffer resource
  - add shm_buffer access calls around getting wl_buffer data

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

Additional authors: zmike
2014-08-26 10:10:34 -04:00
Chris Michael 688c5303f6 fix unused variables if building for wayland only
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:34 -04:00
Chris Michael 217d5a95bc remove old wayland compositor and old shell files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:34 -04:00
Mike Blumenkrantz cef6ebd2db fix post-effect stacking BITCH and post-effect transient stacking 2014-08-26 09:45:04 -04:00
Mike Blumenkrantz e0125a483a fix internal transient clients 2014-08-26 00:27:08 -04:00
Carsten Haitzler 525b963133 transient client windows - improve behavior
* if unplaced, place centered on transient-for on initial placement
  rather that screen centered
* if transient.move and transient.resize options follow options are on
  make transients floow as intended
2014-08-25 20:56:08 +09:00
Mike Blumenkrantz 21da3ed343 use comp object api function for shape cutting to prevent mirrors from getting shapes cut 2014-08-22 18:14:23 -04:00
Mike Blumenkrantz 462d79e147 redo/simplify PRESENT usage in compositor to no longer use PRESENT
keith said no
2014-08-22 09:56:11 -04:00
Carsten Haitzler 3d006676fb e comp settings - dont need version checks for partial render mode
we need far newer efl versions already long after this feature went
in, so no need for code checks
2014-08-18 12:59:32 +09:00
Wonguk Jeong 2da663a001 efm: clarify function name which is getting selected icons
_e_fm2_uri_icon_list_get() ->  _e_fm2_uri_selected_icon_list_get()
2014-08-17 23:35:41 +02:00
Wonguk Jeong b481c124c8 efm: bug fix in source icons finding logic on dnd
Summary:
There were a few crash cases during drag and drop.
- move file in Desktop using efm,
- move file in same directory using differnt efm

The root cause is icon finding logic. efm finds icons based on URI string.
But, the found icon could be different with selected one since there could be multiple efm in same directory.

Therefore, this patch filter out icon which is not selected icon.

Fixes T1364

Test Plan:
case 1. open efm -> goto desktop -> move file from ~/Desktop to ~/Desktop/folder
case 2. open two efm -> goto same directory in two efm -> move file to {currentdirectory}/folder in any efm

Reviewers: raster, zmike

Subscribers: cedric, seoz

Maniphest Tasks: T1364

Differential Revision: https://phab.enlightenment.org/D1331
2014-08-17 17:04:15 -04:00
Mike Blumenkrantz 62023bc722 nocomp enforcing is now more accurate 2014-08-16 09:46:56 -04:00
Mike Blumenkrantz 6bf8e24320 nocomp checks more correctly skip comp_skip objects 2014-08-16 09:46:21 -04:00
Mike Blumenkrantz 45906bdf20 fix infinite stacking loop when enforcing nocomp 2014-08-15 19:17:33 -04:00
Sebastian Dransfeld b6032b1fbd e_randr: position unknown monitors far right 2014-08-14 12:46:31 +02:00
Sebastian Dransfeld 0cb5704016 e_randr: better initial loading of x config
On first creation of randr config, get output position from crtc and
save config afterwards.
2014-08-14 09:55:02 +02:00