Commit Graph

1137 Commits

Author SHA1 Message Date
Mike Blumenkrantz dbc1a2c92a fix guaranteed crash from typo in e_border_lower_below 2013-07-02 10:08:24 +01:00
Mike Blumenkrantz ca7b5169ff don't raise a border during layer set if it has a modal on the same or lower layer 2013-07-02 10:08:23 +01:00
Mike Blumenkrantz 8e0fd0bf4b if the warping border gets a modal window during the warp, do nothing after the warp 2013-07-02 10:08:23 +01:00
Mike Blumenkrantz c8c21fcc0f apply screen limit policy to border configure requests 2013-07-02 08:34:25 +01:00
Mike Blumenkrantz ff3b3c7309 call _e_border_action_finish when hiding/deleting the action_border 2013-06-25 09:19:04 +01:00
Mike Blumenkrantz 2841e44f48 move static variable decls to top of e_border 2013-06-25 09:19:04 +01:00
Mike Blumenkrantz 2b3a8d884a add proto for _e_border_action_finish 2013-06-25 09:19:04 +01:00
Mike Blumenkrantz 18a585df48 fix border show/hide events for new clients to not occur before border add event 2013-06-24 13:13:09 +01:00
Mike Blumenkrantz 30b83c7820 always show ecore-x windows for new clients after reparent 2013-06-24 10:07:12 +01:00
Mike Blumenkrantz 06e4663e7c pop all pointers when deleting a border 2013-06-24 08:56:17 +01:00
Mike Blumenkrantz 0f432b0600 use current border's action->func.end() if it exists when border is deleted to correctly terminate moves/resizes 2013-06-24 08:55:35 +01:00
Mike Blumenkrantz a720865946 don't unset resize pointer value before cancelling border resize 2013-06-24 08:54:51 +01:00
Mike Blumenkrantz a58ae572a4 move all pointer resets for borders to the move/resize end functions 2013-06-24 08:54:22 +01:00
Mike Blumenkrantz e251e4a8a6 prevent deletion of E_Exec instances from launchers
if a border appears which has a pid that does not match the pid of the e_exec instance which is found for it, prevent the exec deletion until the border is deleted so that we can track it

this fixes ibar tracking of efm windows
2013-06-21 14:37:46 +01:00
Mike Blumenkrantz 6f2ce10eb1 I guess maybe this was the unused variable that was supposed to be removed 2013-06-19 12:07:03 +01:00
Mike Blumenkrantz 3a10253805 revert a9ab914845
I have no fucking clue what this does, but I'm not reading through a rewrite of the whole file when the commit message is so obviously wrong
2013-06-19 10:43:59 +01:00
Chris Michael f1641f8b8c Fix formatting
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-19 10:32:58 +01:00
Chris Michael a9ab914845 Remove unused variable
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-19 10:32:31 +01:00
Mike Blumenkrantz d4e6c101ff always try to add phony e_exec instances to borders 2013-06-18 15:44:56 +01:00
Thomas Gstädtner 8b4802ad45 honor disable_all_pointer_warps in e_border_activate 2013-06-17 07:48:18 +01:00
Mike Blumenkrantz 2543d91f5e all focus ungrab events = noop for focus setting, not just notifypointer 2013-06-12 08:41:28 +01:00
Mike Blumenkrantz 8696b2dc6a fix e_border crash that I just added
mfw I realize I just guaranteed a crash: http://i.imgur.com/2lUQGC4.jpg
2013-06-11 14:07:22 +01:00
Mike Blumenkrantz 9d64707925 block duplicate border creation completely 2013-06-11 13:57:29 +01:00
Mike Blumenkrantz bc69d2ef60 don't try to show a border's desk after pointer warping 2013-06-11 11:48:18 +01:00
Mike Blumenkrantz 17339af862 only set icon change flag and remember change if window name/class is actually different 2013-06-10 13:36:03 +01:00
Yossi Kantor 3a68bf115b Tasks module - not updating task item on every border propery change anymore 2013-06-10 13:35:58 +01:00
Mike Blumenkrantz ee72a4bd53 fix border shade geometry calculations 2013-05-30 15:00:49 +01:00
Mike Blumenkrantz fe8fa9d249 use new border inset util functions wherever possible to make things look nicer 2013-05-30 14:32:03 +01:00
Mike Blumenkrantz fce97f9d46 add new border hack for qemu sdl window shading 2013-05-30 11:23:48 +01:00
Mike Blumenkrantz d95369726b start a new "hacks" section for border clients to reduce repeated match attempts against broken clients 2013-05-30 11:05:58 +01:00
Mike Blumenkrantz 1b58e6cf8e fix shape rect related crash from b738b9fe5f 2013-05-23 13:29:34 +01:00
Carsten Haitzler b738b9fe5f fix shape rects leak in e_border 2013-05-23 21:39:33 +09:00
Mike Blumenkrantz b0fb5ae565 greatly improve pointer focus models by hooking mouse callbacks to the comp win object 2013-05-22 11:07:01 +01:00
Mike Blumenkrantz c8d615f155 comp shape updates:
* move all shape rectangle stuff into e_container_shape

* use input rects for cutting comp shape when available

* set shape changed and render queue when container shape change callbacks are called

* create fewer comp wins (small memory improvement)
2013-05-21 11:21:05 +01:00
discomfitor 12944d7afe add e_exec_phony to create fake e_exec instances on e restart 2013-05-18 19:39:51 +01:00
discomfitor d8dc6df8c4 add E_Exec_Instance to E_Border and vice versa 2013-05-18 19:39:51 +01:00
Carsten Haitzler 8814dbc109 fix focus hang bug - zmike suggestion... 2013-05-16 14:44:33 +09:00
Mike Blumenkrantz ad89c33535 remove unused "modal_windows" option which was breaking dialog focus in some cases 2013-05-10 13:08:52 +01:00
Mike Blumenkrantz b797b4bb1b always unlock focus after pointer warp, even if warp border has previously been unset 2013-05-10 13:08:31 +01:00
Mike Blumenkrantz 4a7832a61b fix autoraise when mousing into already-focused windows 2013-05-10 13:08:01 +01:00
Mike Blumenkrantz 4da2c68fec fix floating border icons when changing border themes 2013-05-10 12:29:58 +01:00
Mike Blumenkrantz 053a14197e correctly send border move events for shading where applicable 2013-05-10 10:43:09 +01:00
Mike Blumenkrantz 0bcb83b2b6 more accurately init window position for re-managed windows 2013-05-10 10:40:54 +01:00
Mike Blumenkrantz c533d03e59 block border resize action for shading/shaded windows 2013-05-10 10:40:20 +01:00
Mike Blumenkrantz 11388ab67e block window shade animation for new clients 2013-05-10 10:39:56 +01:00
Mike Blumenkrantz 84b071df66 set shape input rects for shaped windows 2013-05-09 14:07:53 +01:00
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
Mike Blumenkrantz c7d18cac51 fix bug where keyboard resizing of windows was not possible if timeout was set to zero
SVN revision: 82386
2013-01-08 08:14:09 +00:00
Mike Blumenkrantz 59c4945890 another focus bug: pointer no longer warps when closing a window if pointer was not over a window when window was closed
SVN revision: 81470
2012-12-20 16:50:44 +00:00
Mike Blumenkrantz 72a901f954 finally fix insanely long-lived bug where pointer warp would end abruptly if the timer was called again before the X cursor move had occurred
SVN revision: 81469
2012-12-20 16:38:12 +00:00
Mike Blumenkrantz 7d1cc24f5c only do pointer warp for sloppy focus if the mouse is currently over another window, otherwise just do the other focus-in manually
ticket #morlenxus


SVN revision: 81455
2012-12-20 13:52:49 +00:00