Commit Graph

21033 Commits

Author SHA1 Message Date
Mike Blumenkrantz 493f6f595b Revert "e - restart window positioning - fix it"
This reverts commit d0229b3652.

see following patches
2016-02-08 14:51:21 -05:00
Carsten Haitzler d0229b3652 e - restart window positioning - fix it
so every time i restart e i have my windows all messed up. it's
INSANELY annoying and time consuming every single time having to move
a dozen or more windows back to where they should be just because i
restarted e. i've narrowed it down to 2 places. 1 which is trying to
handle "out of screen" windows and during startup it seems things are
not quite stable yet as the randr code figures things out until the
event storm settles down.

when this is then fixed - another bit of code just shuffles windows up
all the time by a titlebar whcih is also supremely annoying. this is
the code that adopes a new frame for a window.

so the nasty hack to avoid piles of pain right now is for the first 5
seconds of e's life - don't do this stuff. at least you can now use e
and not be annoyed to hell and back every restart.

yes a nicer fix may be better - but that's going to take a lot more
time and patience and until then - this will do.
2016-02-06 11:31:01 +09:00
Carsten Haitzler e75af1536d Revert "e bg: remove debug printf"
This reverts commit 77c2a2a3d1.

oops - i forgot i had all this other debugging there
2016-02-06 10:29:04 +09:00
Carsten Haitzler 77c2a2a3d1 e bg: remove debug printf 2016-02-06 10:27:09 +09:00
Mike Blumenkrantz e7a40cfc5f remove debug printf from e_bg
ref be1b11ca28
2016-02-05 13:29:44 -05:00
Carsten Haitzler 99a98997ad e - bgpreview widget - fix sizing of normal wallpapers after video add
sizing of bg previuews with normal edje wallpapers broke when adding
in video - fix back to where it was and working again
2016-02-05 22:01:27 +09:00
Carsten Haitzler be1b11ca28 e - video bgs - allow selection of video files for wallpapers
this allows video files to be played for wapapers - they loop and run
indefinitely. it is a special video object that shares the same source
across all outputs, so if you have the same video set, on 2 screens
(or desktops) then it's only decoded once and uses proxies to
ducplicate. this works in the pager too (it uses proxies).

this is for amusement and fun and ... because we can. :)
2016-02-05 18:35:49 +09:00
Carsten Haitzler 26a7ba3a58 e comp: fix crashes on exit/restart when e_comp is NULL
when we are shutting down i seem to get into a state where e_comp is
null yet we are still processing events. this fixes that and checks.
2016-02-05 18:35:49 +09:00
Mike Blumenkrantz b9c45c6159 check whether to reapply all callbacks for comp util objects when changing type
in the case where the existence of a zoomap in the comp frame edje has changed
during the course of changing the type, these callbacks must be updated with new
data params in order to ensure accurate operations during callbacks
2016-02-04 16:24:44 -05:00
Chris Michael 38d3654982 only specify sw, sh, fh variables if we intend on using them
This patch fixes an issue where building with wayland support but
disabling wl_drm module would cause compiler warnings about these
variables being defined but not used

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 13:14:29 -05:00
Mike Blumenkrantz 896781204f clamp minimum shelf size to 20px in shelf config
the majority of gadgets do not render correctly/anything under this size,
so allowing it to be set is not going to be helpful to anyone
2016-02-04 12:58:38 -05:00
Mike Blumenkrantz 733224241f require efl 1.17 2016-02-04 12:58:37 -05:00
Mike Blumenkrantz a2279cf119 remove efl version check macros in xwayland dnd handlers 2016-02-04 12:58:37 -05:00
Chris Michael 04e108dbac correctly wrap 1.18 API function calls
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 11:19:56 -05:00
Chris Michael b88e8b7a4d wrap 1.18 drm rotation functions around #ifdefs
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 11:17:48 -05:00
Chris Michael 04ea946f3d Add support for configuring output rotations
When running under DRM, this patch adds support for getting the
supported rotations of an output, listing them in the Screen Setup
dialog, and adds the ability to set a rotation on a given screen

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 09:16:02 -05:00
Mike Blumenkrantz fe5d2e6e61 add bool return for mouse-based E_Action callbacks
in many cases, a mouse action's callback will fail to execute as a result of multiple
objects being under the pointer at the time of the event. in this case,
the callback should be able to determine whether action callback processing should
continue.

as an example, when attempting to execute an action which only activates for
client objects, if the passed object is not a client then the callback should return
false to indicate that it was not able to perform the action for the given object,
allowing further actions to be attempted on this object
2016-02-03 18:09:18 -05:00
Mike Blumenkrantz 39c6f1c33a ignore subsequent bindings with ANY context after finding a previous ANY binding
if multiple ANY bindings exist for a given event, return the first one found
2016-02-03 18:09:18 -05:00
Chris Michael 35ade92624 update mailmap addresses
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-02 15:02:12 -05:00
Chris Michael 0aa683b97c update mailmap addresses
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-02 14:03:37 -05:00
Mike Blumenkrantz 331a3e74e1 disable map when unsetting zoomap child
if the existing map is left enabled when the child is removed from the
zoomap, the child object will be permanently misrendered with the previously
applied map
2016-02-01 17:31:20 -05:00
Mike Blumenkrantz 6a4488faea set child of zoomap as new content for comp util objects when changing type
the zoomap is deleted here anyway, so all this does is crash

ref 980135fc38
2016-02-01 17:23:02 -05:00
Mike Blumenkrantz b5103ac3e2 compare key OR keyname in e_bindings_key_event_find()
keys such as tab will have different names in key and keyname, eg.
"Tab" vs "ISO_Left_Tab", and both names are valid for comparisons

thanks to @billiob for pointing out this regression
2016-02-01 11:31:57 -05:00
Mike Blumenkrantz 782cf3606e send mouse out+in on desk flip end
this triggers mouse in events on objects under the mouse in order to
forcibly reapply focus for mouse-based focus policies

fix Tfrance
2016-02-01 11:04:38 -05:00
Mike Blumenkrantz ac6e800c35 enable drm e_alert during configure only if drm support is enabled 2016-02-01 11:04:38 -05:00
Mike Blumenkrantz 6544ae2c65 add back binding key->keyname check in e_bindings_key_event_find()
second copy/paste failure of the day...
2016-01-25 16:56:52 -05:00
Mike Blumenkrantz d6772d8911 update xkb.cur_group and send event upon serializing an EFFECTIVE layout in wl input
according to xkbcommon, the group returned from serializing the EFFECTIVE layout
is the one which is currently active. this array index should match up with the
list used in the xkb part of E_Config
2016-01-25 16:33:49 -05:00
Mike Blumenkrantz 8678e01ce9 do not update keymap group in _e_comp_wl_input_keymap_update()
this state is dead, and any group changes which have been made should
be reapplied based on the new state
2016-01-25 16:33:49 -05:00
Chris Michael c692381f2e add missing EINA_UNUSED for _xkb_changed_state function
This function does not use the event parameter, so mark it as unused

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-25 14:02:48 -05:00
Mike Blumenkrantz 10c43efc83 fill zone obstacles on x/y axis during useful geometry recalc
this fixes an issue where shrinking vertical shelves would cause vertically
maximized windows to always match the height of the shelf

possibly needs improving later depending on usage of zone obstacles in
the future...
2016-01-25 13:45:47 -05:00
Mike Blumenkrantz ea2ec5a2f3 use desk obstacles for calculating desk-specific zone useful geometry
typo--
2016-01-25 13:41:13 -05:00
Mike Blumenkrantz 6a20006ac2 prefer specific context activation for bindings over generic context
in the case where an ANY context action exists and a SPECIFIC context action
also exists for the exact same binding (eg. alt+click), the action which was
added to the config first would be activated

this is unreliable and confusing since it's impossible for users to determine
the order without either manually examining the config or clearing all bindings
and starting over, and this presupposes that the user is even aware of such an
issue

instead, now the most specific binding context will be chosen, with ANY used only
as a fallback in the case where no other binding could be activated for a given
scenario
2016-01-25 13:10:03 -05:00
Mike Blumenkrantz 37394b26c3 use event-finding functions to simplify key/edge binding handlers 2016-01-25 13:00:11 -05:00
Mike Blumenkrantz 93b106f17e add edge binding event find function
similar to key/mouse/wheel functions
2016-01-25 12:51:56 -05:00
Mike Blumenkrantz 6e3b9763b0 remove e_bindings_key_up_event_find, rename other one to e_bindings_key_event_find
key up and key down are identical, having two functions here is misleading
2016-01-25 12:38:45 -05:00
Mike Blumenkrantz e88823dd1b disable shelf shadows if "noshadow" data item exists in shelf theme
this used to be handled by the "shaped" flag back when shelves had their
own windows, but the handling for it was lost during the transition away from
the E18 compositor
2016-01-25 12:36:21 -05:00
Mike Blumenkrantz c637c70f1c add extra param to e_bindings_key_down_event_find() to return found binding
this should match the corresponding mouse binding function
2016-01-25 12:27:54 -05:00
Mike Blumenkrantz 6d45baa510 do not shortcut access of Efreet_Desktop->x hash in fileman
this subverts thread safety and also (now) avoids return data validation

fix T3096
2016-01-25 11:29:55 -05:00
Mike Blumenkrantz 85d7c121bd do not attempt to create x11 canvas during xwayland init
this kills the gl_drm engine
2016-01-22 17:06:42 -05:00
Mike Blumenkrantz 8f510bc228 add macros for creating and binding wayland globals in extensions file
wayland requires a ton of boilerplate code. anything that can be done to
reduce the amount of work (copy/pasting) required to handle extension adding
is a plus
2016-01-22 16:53:02 -05:00
Mike Blumenkrantz edba13322a disable bindings during wayland screenshot operations
recursive action activation is very bad.
2016-01-22 16:31:07 -05:00
Mike Blumenkrantz 446f9c4b68 defer screenshot action execution using a job
the drm screenshot action forcefully iterates the main loop, causing
the current loop (which triggered the action) to return after the screenshot
action has ended. during this time, it's possible for other actions to also
trigger, including triggering subsequent screenshot actions, so it's necessary
to defer the execution of the action until after the initial loop which triggered
the action has returned

 #Recursion
2016-01-22 16:25:32 -05:00
Mike Blumenkrantz 542079d841 move all wayland extension implementations into e_comp_wl_extensions.c
e_comp_wl.c getting a bit hard to manage already, future extension additions
are going to make it a lot worse
2016-01-22 16:25:29 -05:00
Mike Blumenkrantz df5106f1cb ship tiling module edj file
this never gets edited, no point in compiling it every build
2016-01-22 16:25:29 -05:00
Mike Blumenkrantz 1d092a08b4 move wayland protocols and generated files into separate directories
this should make it easier to track them as e starts shipping more private
extensions
2016-01-22 16:25:12 -05:00
Mike Blumenkrantz c86aa21e90 remove comp canvas key handler shortcuts for passing keys to wayland clients
now handled normally by disabling bindings
2016-01-22 13:13:08 -05:00
Mike Blumenkrantz fc6458bccd re-add MANAGER context bindings
these bindings activate before any other handler can process the
corresponding event and will block all propagation of the event upon
activation

as an example, the alt+wheel default binding for flipping desks currently
passes through a number of event handlers prior to activating the binding,
meaning that it's possible for the wheel action to have unwanted effects
when these handlers cause actions before the binding stops the propagation.
using a MANAGER context instead ensures that this is not possible
2016-01-22 12:59:19 -05:00
Mike Blumenkrantz 194b1ab336 disable binding activation when grab dialog, menus, or dnd is active
these are all cases where bindings should fail to activate in order to
avoid interfering with current operations

also fixes an issue where attempting to add or modify an existing
mouse/key/wheel binding would fail as a result of that binding activating
while the grab dialog was active
2016-01-22 12:58:16 -05:00
Mike Blumenkrantz 8500517e34 add function for disabling mouse/key/wheel/signal bindings
currently there are a lot of workarounds for inhibiting these bindings,
but it's getting harder to keep track of all the conditions and cases
where bindings need to be worked around

this should greatly simplify the process of toggling binding activation
in cases where such behavior is undesirable

acpi bindings are always allowed since they are unlikely to interfere with
operations where direct-input bindings would be harmful
2016-01-22 12:49:05 -05:00
Mike Blumenkrantz f54bf1ec60 allocate E_Shell_Data for all xdg surfaces (popups)
this crashes if the shell surface does not have shell data
2016-01-21 17:21:31 -05:00