Commit Graph

1041 Commits

Author SHA1 Message Date
Mike Blumenkrantz 43c540a4f1 block mouse focus events if desk animation is running 2013-05-08 13:43:19 +01:00
Mike Blumenkrantz b5e79146a3 update container shapes and apply comp hidden when (un)shading windows 2013-05-08 12:42:59 +01:00
Mike Blumenkrantz 2c420cde8b leave britney^Wgravity alone (during shading)! #2 2013-05-08 12:33:07 +01:00
Mike Blumenkrantz 9c91d45f5d remove redundant setting of bd->changed 2013-05-08 12:32:55 +01:00
Mike Blumenkrantz ddaa6013c6 e_border borderless flag is now used at highest priority when determining which border to set 2013-05-08 08:47:17 +01:00
Mike Blumenkrantz 2a8316de75 leave britney^Wgravity alone (during shading)! 2013-05-07 10:14:25 +01:00
Mike Blumenkrantz 8966fa40d9 window shading no longer changes xwin geometry and looks nicer 2013-05-07 08:50:35 +01:00
Mike Blumenkrantz 2353c5f2ac add another check for vmware windows, ticket #1057 2013-04-25 11:50:48 +01:00
Mike Blumenkrantz 3a983e8d59 move border shadow checks to e_util 2013-04-23 17:10:20 +01:00
Mike Blumenkrantz 646943d897 ignore window focus in events on iconic borders; these are guaranteed to be wrong 2013-04-23 16:26:19 +01:00
Mike Blumenkrantz de99185efa block refocus of currently focused window when applying desk focus 2013-04-23 16:25:56 +01:00
Mike Blumenkrantz 6c25df272a set border icon change flag when going from borderless->not-borderless frame 2013-04-18 12:31:52 +01:00
Mike Blumenkrantz a94060e402 fix move/resize check on borders during deletion to fix crash and pop pointer 2013-04-18 10:53:54 +01:00
Mike Blumenkrantz 1751571993 add bg_object name for border 2013-04-17 09:43:40 +01:00
Mike Blumenkrantz 62d405c48a apply border shape rects in a better spot; window resizing now functional again 2013-04-17 05:57:25 +01:00
Mike Blumenkrantz 3165012074 fix an e_border crash which I discovered by clicking in exactly the right frame with bd_change debugging enabled 2013-04-16 13:51:50 +01:00
Chris Michael 57ca050f7c Add e_border_input_object_set function.
Add missing function prototype declarations for mouse events.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-16 12:56:12 +01:00
Chris Michael 9842c268c3 Add an input object to e_border structure.
Only setup input object callbacks once.
Use input object for mouse_in/out detection.

NB: This is needed for wayland clients to properly function with
regard to E's border pointer focus.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-16 12:54:59 +01:00
Mike Blumenkrantz 00e30bc528 fix window event input when rapidly switching desks 2013-04-16 11:06:15 +01:00
Mike Blumenkrantz ef5be6c343 fix shaped windows 2013-04-16 09:02:13 +01:00
Mike Blumenkrantz 0cc242b5b6 remove some no-longer needed border shape code 2013-04-16 08:43:23 +01:00
Mike Blumenkrantz 8f350c7974 fix crash when action is active on border during deletion 2013-04-16 07:35:26 +01:00
Mike Blumenkrantz 718dfef61d giant comp rejiggering commit #6:
* border->fx REMOVED, related border api REMOVED

* comp edc has new class of groups: e/comp/effects[/auto]
** these are effects which can be applied to any compositor object through the e_comp_win_effect* api and are written in embryo
*** two types - base and auto - base = manual, for use with animators; auto are "trigger and forget", for use as actual effects

* desk flip transition animations moved to comp effects and FIXED(ish)

* "zoom" effect renamed to "diagonal" for slightly less misleading name since it never did any zooming

* actual "zoom" effect added

* border hierarchy now as follows: cw->effect_obj swallows cw->shobj, cw->shobj swallows cw->bd->bg_object ?: cw->obj, if (cw->bd->bg_object) cw->bd->bg_object swallows cw->obj
** cw->effect_obj now used for all positioning and comp logic
** cw->effect_obj ONLY used for object transformation effects (moving, zooming, fading, etc)
** cw->shobj ONLY for comp visual/non-movement effects (focus effect, unfocus opacity, legacy shadows); this is a candidate for removal/rewrite in E19

* even more comp shape rewrites

* desk flip animation time now controlled by theme since edje doesn't support setting transition time in C; related config value removed

* desk flip transitions (in e_desk.c) rewritten

* various modules (evry/illume2) updated to use comp effects instead of fx offset

* desk flip configuration BROKEN(ish)
2013-04-15 08:39:16 +01:00
Mike Blumenkrantz 505cec1d91 giant comp rejiggering commit #5:
* border frame/object now drawn directly on compositor canvas

* border shadows now in border theme with edje hint, non-updated themes still receive comp object shadows FOR NOW

* e_border MOVE/RESIZE pointer mode defines are now e_pointer.h enums

* added BD_CHANGED() util macro for setting bd->changed and printing a debug line to assist in finding places where this all-important flag is wrongly set

* bd->bg_win removed entirely

* bd->pointer objects moved to compositor object; now only one pointer object exists for each compositor

* resizing windows now shows a new and totally-intended scaling effect for window contents

* some additional retooling of border deletion/free callbacks

* fixed lurking potential bug where window could recieve focus from autoraise timer after border had been deleted

* more comp shape improvements/rewrites

* desk transitions are now BROKEN(ish)

* various modules updated to not be totally broken with these changes
2013-04-15 08:39:16 +01:00
Mike Blumenkrantz bf9933a336 E_FN_DEL macro renamed to E_FREE_FUNC with param order swapped for consistency 2013-02-22 13:18:30 +00:00
Mike Blumenkrantz ea3f93025b set border transparency more accurately when adopting windows in comp 2013-02-22 11:47:41 +00:00
Mike Blumenkrantz 458ec6aefc set initial window opacity to max
SVN revision: 84305
2013-02-22 09:49:51 +00:00
Mike Blumenkrantz 12ffdeb622 e's compositor now obeys _NET_WM_WINDOW_OPACITY as a normal atom in e_border
additionally:

* actions are now available for setting/changing window opacity

* window remembers can now remember window opacity

SVN revision: 84303
2013-02-22 09:33:13 +00:00
Mike Blumenkrantz b247247dfd fix 2 pointer warp bugs:
* warping to a window which is covered by another window containing the current pointer coordinates
* focus changes no longer break sometimes when winlist warping very quickly


SVN revision: 84046
2013-02-18 10:13:20 +00:00
Mike Blumenkrantz 3b17c96518 someone got a little overzealous with nulling pointers...need the border ee to not be null when we try to free it
SVN revision: 83952
2013-02-15 13:10:40 +00:00
Carsten Haitzler 6b76c89e5b and remvoe from hashes before 0ing win.
SVN revision: 83894
2013-02-14 13:07:12 +00:00
Carsten Haitzler ec27564e32 paranoia - set thigns we free to nullin case a side-effect of a later
call calls some callback that somehow accesses the bd we are
freeing... :)



SVN revision: 83892
2013-02-14 13:02:56 +00:00
Carsten Haitzler 77f9977ce1 someone forgot to worry about warp_timer_border on deletions. :)
SVN revision: 83891
2013-02-14 12:54:38 +00:00
Mike Blumenkrantz f1114045b0 fix pointer warping for new client windows to not start from a random location
SVN revision: 83809
2013-02-11 07:55:02 +00:00
Mike Blumenkrantz aa6a2d173d giant comp rejiggering commit because anything smaller would have broken something:
* remove xwin for container canvas: now drawn directly on the compositor canvas

* added SHAPE_DEBUG define for bored developers

* bindings now use new e struct for mouse/wheel events

* container+zone now get mouse events from smart callbacks instead of x events

* rename comp api namespace

* change comp underlay theme to have a swallow for the wallpaper

* add names to all zone/container/comp objects to make debugging much easier

* some minor related updates to go along with this

SVN revision: 83752
2013-02-07 13:20:07 +00:00
Mike Blumenkrantz 321f2b4fa3 comp structs now public, remove comp struct accessor functions, add comp utility functions to simplify getting comp from an e_object
SVN revision: 83745
2013-02-07 13:19:47 +00:00
Mike Blumenkrantz 13a3f968ec add "vmware" class to mapping disable keywords
ticket #1057


SVN revision: 83734
2013-02-07 11:43:36 +00:00
Mike Blumenkrantz 6773c911b6 unify all pointer warping code to rely on e_border_pointer_warp_to_center functions
SVN revision: 83636
2013-02-05 15:15:04 +00:00
Mike Blumenkrantz ec87e69908 add yet another pointer warp option: disable all warps
ticket #asdfuser


SVN revision: 83629
2013-02-05 13:33:49 +00:00
Mike Blumenkrantz 0949e8ea63 fix window autoraise triggering from pointer_slide
ticket #2183


SVN revision: 83507
2013-01-31 10:58:27 +00:00
Carsten Haitzler 1d1015ec84 fix window unmap event handling with synthetic unmaps - only really an
issue during manageing (startup) of a border - race condition. may
misee hides. this fixes it but needs efl 1.8. :/



SVN revision: 83420
2013-01-29 08:25:24 +00:00
Mike Blumenkrantz bbff627334 better fix for initial placement of wine windows, also fixes bug where windows would be placed slightly offscreen
SVN revision: 83059
2013-01-22 08:39:10 +00:00
Mike Blumenkrantz 8fcf2cbcca remove old e_msg-based comp api as well as e_manager_comp api, replacing both with e_comp functions and events
this completely breaks anything external which used comp, so module api version has been bumped


SVN revision: 82973
2013-01-18 12:47:14 +00:00
Mike Blumenkrantz 0dea8f3339 small improvement to window dragging: when allowing drag of maximized windows, changing the screen of a window will automatically attempt to resize the window so as to better fit the screen
exploring this change led to the discovery of a default theme bug: maximizing a window blocks events to resize hotspots on the bottom part of the window regardless of config settings


SVN revision: 82813
2013-01-15 14:43:19 +00:00
Mike Blumenkrantz 9e8e755cdf formatting: all at once
SVN revision: 82625
2013-01-11 10:34:29 +00:00
Carsten Haitzler 5f8e9293a0 ghost window-- after iconify+uniconify+withdraw
SVN revision: 82542
2013-01-10 10:15:32 +00:00
Mike Blumenkrantz cc42401f59 fix E_Win handling of window state changes, also fix e_border handling of changes.prop setting
ticket #2091


SVN revision: 82534
2013-01-10 09:24:42 +00:00
Mike Blumenkrantz 8e127335cb force window border (theme) inset to be applied to new client placement geometry, fixing issues where windows would appear to "slide" across the desktop by the size of the border inset; this was primarily noticeable when using wine applications
SVN revision: 82460
2013-01-09 13:24:24 +00:00
Mike Blumenkrantz 8096505844 geometry_auto_move option (enabled by default) now also corrects applications which fail in their attempts to center windows on multimonitor systems
SVN revision: 82448
2013-01-09 10:11:55 +00:00
Lucas De Marchi 0675dd03a0 e: rename option use_composite to use_shaped_win
In order to move composite inside the core we need to kill the
use_composite option. However in some places it is being used to switch
between ARGB and shaped windows. It doesn't make much sense to keep the
advanced/engine dialog to let the user toggle this options if we have
composite always enabledm, but lets allow the user to shoot
himself on the foot (for now).

Next step will be to move the comp module files to core so user can't
unload it anymore.



SVN revision: 82433
2013-01-09 03:21:25 +00:00