Commit Graph

12153 Commits

Author SHA1 Message Date
Mike Blumenkrantz 57176bf29d do not rescale override x11 clients during hint fetching 2017-08-25 14:47:10 -04:00
Mike Blumenkrantz ec047b1a98 perform client zone updates on canvas move/resize when not ignored
overrides still need zone updates here
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 00c01d0ae6 use client frame for internal win geometry setting on show
calling these functions on the elm_win has no effect here
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz e93f67e74a go back to image widget for video filepreviews
this still has some funkiness related to initial geometry but it looks
better and doesn't have weird resolution bugs

fix T4293
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 28783cfc23 use evas size hints for image widget internals if internal obj is not edje obj 2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 29b736257c destroy dropped gadgets after drop operation completes
the gadget object is used during the drop callback, so destroying it
before the callback breaks the drop operation
2017-08-25 14:47:09 -04:00
Mike Blumenkrantz 4d8e1d5e29 perform gadget site layout before calling drop callback
calling this inside the drop callback resets the dropped gadget's position
and causes the drop operation to fail
2017-08-25 14:47:09 -04:00
Mike Blumenkrantz feb17c898d set moving gadgets in pointer site to have moving state
prevent spurious resizes during layout
2017-08-25 14:47:09 -04:00
Mike Blumenkrantz 850f5b40f8 handle gadget ctxpopup placement for desktop gadgets
fix T5877
2017-08-25 14:47:09 -04:00
Mike Blumenkrantz 096f1084a5 always use client geometry for comp object centering functions
this should always be more accurate than the object geometry, which may
or may not have been applied at any given time
2017-08-21 10:16:35 -04:00
Mike Blumenkrantz 40df7bddc8 make grab dialog text read a bit more clearly 2017-08-21 10:16:35 -04:00
Mike Blumenkrantz c31cb51499 replace <br> with <ps/> for all text 2017-08-21 10:16:35 -04:00
Mike Blumenkrantz 37d1bf3ea0 force min size calc on dialog show
this resolves a number of dialog sizing issues where text or content could
be clipped due to deferred sizing
2017-08-21 10:16:35 -04:00
Carsten Haitzler 014b74bc74 e sys - add listening to prepare for shutdown/suspend from systemd
listen to the prepare and post signals... just print right now as not
really used... but knowing and logging is good.
2017-08-21 23:15:04 +09:00
Jean-Philippe Andre bc55beb638 config: Add env var to skip profile save
This only skips writing the profile name to
  ~/.e/e/config/profile.cfg

This allows easier testing of E with custom profiles.
Note that this goes together with another patch in elementary, but the
env var is different (note: we could use a single one). This is only
meant for debugging.

export E_CONF_PROFILE_NOSAVE=1
2017-08-21 19:04:02 +09:00
Carsten Haitzler 8da6aa4142 xsettings - fix warning for buffer that could be a bit small
warnings of buffer being a little small in theory. fix.
2017-08-21 12:16:27 +09:00
Carsten Haitzler da791a0bf5 e mixer - handle pulse exit/disconnect and not keep e client sinks
we keps e client sinks even if we were dicsonnected from pulse... this
caused fun crashes. fix

@fix
2017-08-20 01:02:03 +09:00
Carsten Haitzler d196f25a2b filepreview - properly set min size on cells not in a broken way
this should fix T5891
2017-08-20 01:02:03 +09:00
Carsten Haitzler 73e3ed1bb0 e x11 focus fixup - dont do the fixup if input grabbed
this actually fixes everything fully and has focus working nicely now
with the fixup
2017-08-20 01:02:03 +09:00
Mike Blumenkrantz 09a8888f76 batch x11 maximize state change requests
if an app wants to set both horizontal and vertical, set both at the same
time to improve performance and accuracy
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 5610c4cad0 locally store the backlight level when suspending/hibernating
ensure that the exact level which was set before suspend/hibernate is reapplied

fix T1420
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 5998f175b5 temporarily cache x11 configure requests which reposition hidden windows
when an app tries to position itself before being shown, attempt to store this
and apply it in order to effectively handle cases where an app attempts to show
on a specific screen, e.g., presentation apps which show a console on one monitor
and the presentation on a different monitor

fix T1571
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 5f87fbca2e only set new clients to current desk if desk has not yet been set
placement policies can override setting windows onto the current desk
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 3c31e67b05 use menu item geometry to determine whether menu item is onscreen
fix T2126
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz f64812122f lock menu eventing during menu idler positioning
ensure moving menus doesn't trigger menu item activation
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 121e7fab4b replace existing resize pointer mode for x11 client-initiated resizes
ensure there is no mismatch between pointer modes when pushing/popping modes

fix T4893
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz b246cc27ee handle focus reverting correctly when using desk flip all actions
perform the focus revert once the last desk has finished flipping and based
on all available visible windows

fix T3495
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 7402dc8eda only update wl client window size on commit if no pending resize exists
this breaks pending resizes

fix T4189
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz ac91f3b2c5 clamp xsettings font size to 12 when size is 0
font class config does not require the user to select a size, so do
extra clamping here when a size isn't set

fix T3093
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 2b984e68b9 add MISC client property event to be manually triggered whenever misc props change
there's too many properties to create flags/events for all of them, so just use this
if it's one of the many misc props

currently only used for skip_{pager,taskbar,winlist}
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz bda9bfb8c0 avoid hiding->showing->hiding->etc submenus for active menu items 2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 6fa35c353d ensure client rescale picks up current geometry
in some cases this would restore the wrong geometry and windows could become oddly
sized
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 91dc28967a add separate desklock key up handler to correctly handle caps lock on wayland
x11 modifier handling in events is broken: the modifier state is the state from
before the event, meaning that pressing caps lock will never result in an event where
the modifier is not set in the corresponding event

wayland handles this more sensibly, though it should be detected on key up rather
than key down

fix T5737
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz a1e585862c use EC_CHANGED for client menu attr changes 2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 528bad7252 block updating window remembers while applying them
some attrs (e.g., desk setting) change the position/size of a window before
another attr is set, changing the original value

fix T5295
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz b078599fdd send theme signal for dialogs when no buttons are present 2017-08-18 15:52:50 -04:00
Mike Blumenkrantz d07408e76c do not center xwl clients on their parent during first commit
xwl clients are placed differently

ref b817db7f09

fix T5845
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz b80f0fce56 don't set focus attrs in wl surface commit for xwl clients
these should be getting set in other places...I think...
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 6ee841ecd5 use xwindow check to determine whether to check icccm accept/take focus attrs 2017-08-18 15:52:50 -04:00
Mike Blumenkrantz ff8964a1c6 don't force xwl drag client motion for override drag clients
this should improve dnd visuals a bit

ref T5593
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz a12e9f954b end xdnd operations on window hide if no FINISHED event is received
fix T5886
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 6b2a9a0f7b set gadget ctxpopup priority based on anchor
fix T5877
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz a59328b34a add internal action for showing a menu using object geometry 2017-08-18 15:52:50 -04:00
Mike Blumenkrantz abc70abbf0 make menu autoplacement more consistent by preferring DOWN placement 2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 3271efaba4 capture zone for newly-added bryces based on name
the last number is always the zone number
2017-08-16 10:58:51 -04:00
Mike Blumenkrantz b6759a8c27 do not apply x11 pointer focus if key/mouse grabs exist
fix T5871
2017-08-16 10:42:14 -04:00
Mike Blumenkrantz b2c5c20cde manually get client under pointer for checking x11 pointer focus
e_client_under_pointer_get() ignores overrides.

ref 3ee5a0378d

fix T5878, T5871

IF ONLY THERE WERE SOME METHOD FOR TESTING COMMITS BEFORE THEY WERE PUSHED
2017-08-14 07:30:04 -04:00
Al Poole 16d23a628f Efm: file properties, fix widget sizing issue.
Summary: This fixes the erroneous sizing of labels in Efm preview dialogues.

Reviewers: zmike!

Subscribers: stephenmhouston, cedric, raster

Differential Revision: https://phab.enlightenment.org/D5093
2017-08-13 09:52:02 +09:00
Marcel Hollerbach 5b3f38efcf leave the E_Comp_Wl_Data define in e_comp.h
otherwise bulding without wayland breaks
2017-08-12 22:47:52 +02:00
Marcel Hollerbach fcd271dd1b e_comp_wl: move types into typedef section
WIth this we dont need a second define of the same type in e_comp.h

This fixes a duplicated definition warning
2017-08-12 15:17:03 +02:00
Marcel Hollerbach 8ef5a7c89d e_comp: stop including e_comp_x here without a reason 2017-08-12 15:17:03 +02:00
Mike Blumenkrantz 57c448739a add support for external gadget providers in the gadget editor
this allows external gadget managers to add their gadget types into
existing editor/layouts
2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 408128df95 handle destruction of demo gadgets without crashing
demo gadgets automatically call _gadget_free() on object delete, avoid
recursively calling it
2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 2d80ef091e further improve keyboard handling while gadget editor is active 2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 92a0cb11d6 disallow demo gadget ids from counting towards wizard success 2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 4e4f66fc2b prune gadgets from editor if destroyed while editor is active 2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 2047ca3bfe handle case where eglBindWaylandDisplay fails during wl init 2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 65fe42fdef avoid object hide animations during shutdown 2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 31994d4876 don't center wl popups on their parents
ref b817db7f09
2017-08-11 18:48:49 -04:00
Carsten Haitzler fe7c39fa18 e_start - remove evas deps - don't need them.
e_start isnt really using evas atm - cserve2 env vars arent being set
so remove it - e_start can start a little faster with less linking...
good for startup time perhaps and mem footprint of e_start while it
babysits
2017-08-11 15:43:39 +09:00
Carsten Haitzler ead1be7bd6 meosn build - go back to requires_e it's uses in main meson.build 2017-08-11 14:35:24 +09:00
Cedric Bail 77e4b72d2b alert: protect use of drm code inside the proper ifdef. 2017-08-10 21:43:17 -07:00
Carsten Haitzler 2349a298f0 meson build - reformat and trim build files a bit to be more compact
working on it...
2017-08-11 08:28:23 +09:00
Derek Foreman 022dd52cd9 Remove more pre-ecore-drm2 stuff
We no longer need a HAVE_DRM2 define since it's become synonymous with
HAVE_WL_DRM.
2017-08-10 13:32:15 -05:00
Derek Foreman 1cdbcb0d94 Resynch with weston's dmabuf implementation
Weston's dmabuf implementation continues to be modular enough that we can
pull it in with minimal change.

This updates us to version 3 of the protocol - required by recent mesa to
use dmabuf buffers instead of wl_drm ones.

Currently only contains stubs for format query.
2017-08-10 11:32:45 -05:00
Marcel Hollerbach bcf0110277 meson: we need to link dl 2017-08-10 15:47:44 +02:00
Derek Foreman 15cb70f13a Remove ecore_drm support
ecore_drm2 supersedes this, ecore_drm is deprecated, and we depend on
an efl version newer than the deprecation, so none of this code should
ever be built.
2017-08-09 15:10:44 -05:00
Derek Foreman 0b26bdc2f8 Stop doing complicated things after a segfault
The chance of any of this succeeded is near zero, and it sometimes ends
up in a tight loop after a crash.
2017-08-09 15:10:41 -05:00
Derek Foreman 0fd23928f0 Add a compatibility layer to protect against ecore_drm2 api change
In case we roll an E release before the next EFL one, we need these
API changes to be hidden.

Later we can remove this...
2017-08-09 14:59:26 -05:00
Derek Foreman 50169af1db Update to recent ecore_drm2 changes 2017-08-09 14:59:25 -05:00
Mike Blumenkrantz fd6f9f1c14 destroy gadget configs when deleting a gadget site 2017-08-07 14:48:07 -04:00
Mike Blumenkrantz 08d70dd958 clamp internal win min/max size hints to 0
ref T5845
2017-08-07 11:04:23 -04:00
Mike Blumenkrantz 0bea40f4dd do not defer wl gl init 2017-08-07 10:29:00 -04:00
Carsten Haitzler 3ee5a0378d e - do workaround with in events due to flags to get ptr focus right
so we egnore some mouse in evets due to their flags (crossing events
thansk to grab changes or other stuff) that we want to ignore for
other reasons like when a popup menu happens and so on... so if we get
a mouse in... 0.1 sec later double check where the pointer is with a
poll then fix focus. this should patch over a long standing annoyance
here in x11.

@fix
2017-08-06 18:34:42 +09:00
Carsten Haitzler 4fe7827af2 fix fallthrough warnings and tag as fallthrough
this code was intending to do this.. so tag as such
2017-08-05 12:37:39 +09:00
Mike Blumenkrantz 1a622a68ed make mouse-activated menus function as expected with 0 passed as activate time 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz 5cfc3c846e make menu_show action pop the menu in automatically-calculated direction 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz 541e33fc73 don't arbitrarily bind version=1 for wl extension resources 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz c1cf0249a0 make action routes usable in subcompositors 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz 862b02adc8 extend key action routing for general action contexts
this allows authorized clients to activate validated actions
2017-08-04 16:05:16 -04:00
Mike Blumenkrantz 8748b197fa implement action routing for wayland clients
this allows a wayland client to request that a given action name be bound
to the requested surface using a mode to restrict activation of the binding

modes include:
* shared
 - activated when any surface from the client has focus
* topmost
 - activated when the requested surface has focus and is the topmost client
* exclusive
 - activated when the requested surface has focus; blocks other action routes

 #SamsungFeatures

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2017-08-04 16:05:16 -04:00
Mike Blumenkrantz 01b7cf8227 add function to return a currently-active menu 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz fa3c7655c2 split out gadget enums into separate header 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz d5a1b30ab4 add gadget site as param for gadget wizard callbacks
it's important to be able to track this lifetime in order to cancel the
wizard if the site is deleted
2017-08-04 16:05:16 -04:00
Mike Blumenkrantz 09aee20e3c save config automatically when removing gadgets 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz cb3911cc3a make client size hints apply more accurately
* clamp min/max first
* only apply step adjustments when obeying min/max sizes
* make aspect calculations more accurate
2017-08-04 16:05:16 -04:00
Mike Blumenkrantz c804650482 rescale x11 clients after fetching hints
ensure that clients initially respect useful geometry after size hints
have been fetched
2017-08-04 16:05:16 -04:00
Mike Blumenkrantz f892b360fe optimize setting zone useful geometry as dirty
if this would result in a no-op then don't emit event or trigger client
rescaling
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 2c3f65d6f8 apply client hints when rescaling a client
ensure rescales obey hints
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz daedf48a4b add module file to E_Module struct 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz cb80d5157c more accurately determine gadget editor visibility
ref 2675422e9d
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 81fe0b4d49 set gadgets in the editor's pointer site as moving
prevent random resizes during gadget layout
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 2f97cb69db finish wl window stacks
fix T5350
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 29617bf80b move Ecore_X_Stack_Type member from client to x11 comp_data
no functional changes
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz b817db7f09 center wl clients on their parent when doing first commit
this resolves some bizarro pointer warping
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 1814080164 do not add delete/kill request smart callbacks for non-internal wl clients
this is not functional for other windows
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 4e86fb57e1 restack child windows on parent_set() even if child is ignored
ensure that this happens as expected since it may not occur elsewhere for
some cases
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 6d5bb4ac5c use explicit rounding for bryce scaling 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 7eba1a99ed track zone states and modify bryces accordingly 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz d66ee1a729 mark zone useful geometry as dirty when applying move/resize 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 519cf154fa deduplicate zone move/resize code 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz e5f60c6aee rescale clients on useful geometry dirty 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz d2c2f48bec break out client rescaling into separate function 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 7a3876ffc9 add and use new event for zone useful geometry changing
many times it's useful to have an event for actual zone geometry change
vs useful geomtry change, so split this out and use the right handler where appropriate
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz fe95a5841f do not immediately rescale windows when changing zone geometry
this is already handled later in e_comp_canvas_update()
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 4ced6d8591 clamp vertical bryce size to useful zone geometry
this should improve layouts when vertical and horizontal layouts are mixed
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz ea57b06863 check for desk/zone mismatch in e_zone_desk_useful_geometry_get() 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz c4a75a0272 do not reposition new bryces after using editor
this is now handled more accurately by bryce internals
2017-08-04 16:05:15 -04:00
Carsten Haitzler 011bb9711c e bindings - fix warning about uninitialized val
was not an actual bug, but compiler doesn't know better and we have
enough noise in warnings...
2017-08-04 14:51:50 +09:00
Carsten Haitzler 03aeb1d463 fix fallthrough warnings 2017-08-04 12:35:27 +09:00
Mike Blumenkrantz 30ada88a34 reject gadget site layout attempts only when it would be impossible
a site with orient set is expected to fill using only one axis, so a size
of 0xH or Wx0 is valid in some cases

fix T5806
2017-08-03 11:52:24 -04:00
Mike Blumenkrantz 541c30b3c4 set gadget recalc immediately when not in canvas smart calc 2017-08-03 11:52:18 -04:00
Mike Blumenkrantz a9f6017209 Revert "reset comp object update regions when a render occurs"
This reverts commit e6ab84ffd5.

fix T5817
2017-08-03 11:39:02 -04:00
Marcel Hollerbach 5820015f77 e_startup: check for efreet errors
for the case efreet does not come up with any event, give a error to the
  user
2017-08-01 22:55:46 +02:00
Carsten Haitzler 3051df7fee gadget recalc - if you add a job...del and add again
if you add a job to do things like defer a calc till later in the loop
(or if later in size calc - it'd be the next loop run after rendering)
... then del the previous job and add a new one. why? order of
operation. if you add job a... because of event a, then add job b,
because of event b ... if for whatever reason, event a happens again
and you skip adding job a... job a will run before jbo b, even though
the LAST event is later and that 2nd event a may relay on event b
state/calculations. so always del then add to ensure then that job a
happens ater b if this scenario happens. it just leads to fewer
surprises and weird issues.
2017-07-31 17:41:35 +09:00
Carsten Haitzler d870549c0f e - fix eet image format test to actually use key when loading
fix complaint from eet format test ... was failing because we didnt
use a key

@fix
2017-07-30 22:55:19 +09:00
Mike Blumenkrantz ab328c6512 implement support for wl aux hints
this is a direct copy of a feature from tizen git with no modifications other
than what was required for compilation and functionality

https://git.tizen.org/cgit/platform/upstream/enlightenment/commit/?id=8ea090222cee86b57e54f1444c5b63252380fba5
https://git.tizen.org/cgit/platform/upstream/enlightenment/commit/?id=2c5593325c3f32efa92da3c371a780e434a30efd

fix T5780
2017-07-28 15:45:01 -04:00
Mike Blumenkrantz 0b887245cc remove left/right maximize before removing vertical maximize
ensure maximize states are removed accurately and in the right order

ref b48419c577
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 23613b3ded set client opacity any time netwm hint has changed in fetch
fix T5370
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 096c6b4090 continue to fetch netwm opacity hint if it changed since the last fetch
some apps (e.g., wine) do not trigger any event when changing this property,
and they use the property in order to simulate window fade in/out

ref T5370
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 5702f0975e reset comp object update regions when a render occurs
allow saving the current update regions in case evas decides not to render
this object
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz fac907e0c5 handle updates_full when adding comp object update regions
this flag means that the entire surface should be redrawn

ref T5370
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 596e48d066 use ecore_x_netwm_opacity_get() for x11 opacity checking
this makes the check for opacity more accurate since it returns a bool
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz ae748e6487 return updates_full state from e_comp_object_damage_exists() 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz a1e9b9bf0f show clients immediately after pixmap refresh if visibility is pending 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 2f2075f588 remove tooltips from desktop gadget editors
this looks bad?
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz d2cdde01d1 set max size hint on desktop gadget editor gadgets when editor is resized
ensure that the gadgets size based on grid item size
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 4ce460525c return immediately when setting a null gadget style if current style is null 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz d216cce6eb use zone size for un-oriented new gadgets
this is a relative size which I set based on zone size, so avoid the
possibility of using unsized site geometry
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 9eed5f49a8 abort gadget site layouts if the gadget site has not been sized
this triggers infinite loops, and a resize on the site will trigger a layout
automatically
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 3e982446ec trigger gadget site recalc job if gadget object hints change 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz cd6fc802e9 defer setting recalc on gadget sites
if this is set during a smart_calculate() call then it will potentially
loop forever
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz c648ae4048 make gadget resize anchoring able to omit axes
when grabbing e.g., the top center of a gadget, it feels better to just
have that resize perform vertical adjustments instead of also allowing
horizontal changes
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz b3c6a4e184 position desktop gadgets more accurately during resize
do resize before altering position to ensure positioning feels smooth
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 39b1e09662 apply gadget aspects with greater precision
aspect ratio is not an integer, rounding it prematurely loses precision
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz aae2f42726 break out gadget aspecting into separate function 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 2675422e9d ignore desktop gadget editor keybinds while editor is hidden 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 3bda41f895 reject invalid comp object resizes
interceptors are called before any of the normal evas object geometry
validations, so ensure that invalid sizes are not applied
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 5ddb8779e2 focus x11 root window on init when starting with xwayland
comp canvas does not have a valid xwindow and is unfocusable
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 04ef45f55d add special case for xwl-originating drags to set dnd actions
there are no protocol methods received for setting actions, so fill them
in from the xwl source
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz def1b28174 save xwindow of x11 selection owner, not client
gtk uses non-application xwindows for managing selections, so this would always
fail when bridging selections from gtk apps
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz d33351e653 remove wl focus check function
idk what this was for but it was wrong
2017-07-28 15:44:55 -04:00
Carsten Haitzler d7b2d6c496 randr - discovered new output names that are display panels in laptops
add to the list like lvds, edp etc. ... adding DSI/dsi
2017-07-27 14:30:53 +09:00
Mike Blumenkrantz 2b50b69448 Revert "only do configure for wl clients in commit when a buffer is attached"
This reverts commit 9dcc4f632f.

this breaks some corner cases, must investigate further...
2017-07-24 13:24:56 -04:00
Mike Blumenkrantz 9dcc4f632f only do configure for wl clients in commit when a buffer is attached
a null attach does not require a resize, only a hide
2017-07-24 08:26:59 -04:00
Mike Blumenkrantz b472a11f84 ignore wl client ssd mouse events for windows without ssd
ref T5770
2017-07-24 08:12:54 -04:00
Mike Blumenkrantz 4a766e9e2f Revert "e comp - stop trying to set size again and again to the same"
This reverts commit 6e882d2e4f.

this is identical to cd3490f35c which was
also reverted.
2017-07-24 08:12:51 -04:00
Carsten Haitzler 358f154b83 e powerrsave sleep - add fd get
i could have sworn i added this... i swear i remember adding the fd
get line... how did it not make it? this is odd. well add it and fix
my spining cpu issue after moving to select to fix pipe wait not being
threadsafe.
2017-07-23 17:28:53 +09:00
Carsten Haitzler 6e882d2e4f e comp - stop trying to set size again and again to the same
i found e spinning at 100% just with 1 windows in wayland... open 2
terminology wins and move mouse form one to the other... 100% cpu. e
was moving seemingly a cursor client window? to the same coord again
and again as it was hidden...

this fixes that. no more spinning cpu
2017-07-23 00:19:51 +09:00
Carsten Haitzler 70d08a770e powersave sleep - use fd's and seletc. ecore pipe cant be used 2017-07-22 22:43:51 +09:00
Marcel Hollerbach 3c106c6b81 meson: we need -rdynamic here not -export-dynamic
this is passed to the compiler not linker, so we need to tell the
compiler to pass that to the linker.
2017-07-22 10:43:13 +02:00
Mike Blumenkrantz 263ee54545 rename bg_blank_object -> resize_object for a more accurate name 2017-07-21 14:43:37 -04:00
Mike Blumenkrantz 35b1d20b81 destroy desktop gadgets when the parent zone is removed 2017-07-21 14:43:37 -04:00
Mike Blumenkrantz 23c473db7b resize comp bg_blank_object on zone update
various things hook this to check when the compositor is resized
2017-07-21 14:43:37 -04:00
Mike Blumenkrantz 0d85c2c5a1 rework internal win centering
call resize before attempting to center to ensure accurate positioning
2017-07-21 14:43:37 -04:00
Mike Blumenkrantz e184ffd49f do not use elm api to unset centered flag during resize
this triggers a full eval which resizes the window and breaks the compositor
2017-07-21 14:43:37 -04:00
Mike Blumenkrantz 24ae5b53fb perform immediate move on bryce during autosize
ensure that positioning doesn't animate across zones and break config

fix T5666
2017-07-21 14:43:36 -04:00
Mike Blumenkrantz 213618b762 do not set e_comp log level 2017-07-21 14:43:36 -04:00
Mike Blumenkrantz 6928ca8ce4 pass screen id when opening config dialog with ASK hotplug policy 2017-07-21 14:43:36 -04:00
Mike Blumenkrantz 48a7181089 add a configurable default policy (default: extend) for screen hotplugging
make an effort to "just work" instead of the classic enlightenment ux of being
as annoying as possible

ref T5707
2017-07-21 14:42:29 -04:00
Mike Blumenkrantz e65c64ff63 use 1 second for screen config apply delay
I want my life back from all this time spent waiting...
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 449f12e62f move x11 randr defines to e_comp_x_randr.c 2017-07-20 17:18:33 -04:00
Mike Blumenkrantz e8dc71cd48 meson. 2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 4d3e157b30 hide pointer cursor clients when unsetting them
ensure the pointer remains hidden even if the client does not unmap its surface

 #TheDisappointer
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 66e95311ff only map wl pointer clients if they are the active cursor
ensure cursors which are randomly committed when not being used as
a cursor (e.g., all efl wayland cursors) are not shown

 #TheDisappointer
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 3055c0ecae remove wl screenshooter protocol
this should never have existed, as it makes no sense for a compositor to
use protocol in order to allow itself to take screenshots
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 4ec22df15f check for different types of load errors during startup image load tests
in the case where files are not found (possibly not installed/corrupted),
attempt to continue starting and not brick a running session
2017-07-20 17:18:33 -04:00
Carsten Haitzler e38ac79a3c pointer freeze - delay by 10 sec... because anim is used for hiding
this broke pointer hiding entirely... fix
2017-07-19 10:31:29 +09:00
Derek Foreman 4077b3ce59 Don't block wayland client updates during screen saver fade out
We stop allowing client updates when the screensaver is on to save power,
however this happens at the start of the fade-out.  On wayland this stops
any visible client change.

If we wait until after the canvas is set to manual render instead then
we get similar benefit but don't lose display updates while they're
still visible.

Fix T5714
2017-07-18 15:17:05 -05:00
Mike Blumenkrantz 859d129edd fix E_API definition
last of the bad refs I think?

ref f8de1a3f88
2017-07-17 11:05:15 -04:00
Mike Blumenkrantz ea502c5e2b reduce include deps for enlightenment_thumb binary 2017-07-17 08:14:24 -04:00
Mike Blumenkrantz f8de1a3f88 reduce include deps for enlightenment_imc binary 2017-07-17 08:14:24 -04:00
Mike Blumenkrantz 4b4b003245 toggle NOGRAB on client input rects during move operations 2017-07-17 08:14:24 -04:00
Mike Blumenkrantz a1d62d01e8 handle multiple input regions for csd clients 2017-07-17 08:14:24 -04:00
Mike Blumenkrantz 0912906ea1 Revert "handle multiple input regions for csd clients"
This reverts commit 950bee7ce4.

accidentally pushed wrong ref, multiple incomplete broken commits were
merged

:(

fix T5739
2017-07-17 08:14:24 -04:00
Mike Blumenkrantz 219b25aff4 Revert "toggle NOGRAB on client input rects during move operations"
This reverts commit 8af555cae0.
2017-07-17 08:14:24 -04:00
Carsten Haitzler e130557be7 Revert "reduce include deps for enlightenment_imc binary"
This reverts commit ee71ea63ec.

Revert "reduce include deps for enlightenment_thumb binary"
This reverts commit cce14fa839.

both of these i reverted.... because they both CHANGE the define of
E_API like:

and this is wrong. e.h defines this so that these symbols are exposed.
E_API, EAPI and friends are desighned to explicitly expose symbols.
because if you try and make STRICTER binaries that only have symbols
for what was EXPLICTLY exposed like the CFLAG -fvisibility=hidden ...
then any api not explicitly marked with the attribute of visible which
that E_API macro is intended for... will be invisible. it will not
exist. this means a whole MOUNTAIN of modules stop loading as they
can't find these symbols. E_API isn't just source sugar tagging. it's
actually functional. i'd suggest using -fvisibility=hidden in your
CFLAGS by default. it's also not always portable between all compilers
so beware... (it was introduced years ago in gcc... i think clang
offers it. i don't know about icc or any others).

so since E_API is defined in e.h ... we may as well keep the e.h
include there instead of hand re-writing a list of includes. does
reducing the include deps really have an impact worth talking about on
compile time? the commit logs didn't say. but it does break module
loading and does it by adding lots of lines of code that are far mroe
easily broken now (this is an examplt). :)
2017-07-15 10:13:21 +09:00
Mike Blumenkrantz 327b69015b make efm build without elm includes 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz c809f8b72d split macros out of e.h into separate file 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 4b656d59c9 bump E_VERSION_MAJOR
should have been done a while ago
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz bc294e9bce remove unused Evas.h include from e_fm_ipc.c 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz ad56e78872 only store the compositor's own data manager resource to e_comp_wl->mgr.resource 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz cce14fa839 reduce include deps for enlightenment_thumb binary 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz ee71ea63ec reduce include deps for enlightenment_imc binary 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz a57e39a5ea fix e_alert build with wayland only 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 94633fbde1 fix wayland-only build 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 16378acfd2 remove unused defines 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 9173deb1fc remove egl from build
not needed
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 6630e602a9 save config after clearing desktop gadget site 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 4a12f5c3f2 use correct key name for BackSpace in desktop gadget key handler 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 03325b0195 always check for autoclose object when adding gadget objs to edit grabber
ensure popups can be closed as expected during editor operations
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 02b3755828 hide gadget editor if gadget triggers a popup
show again when popup is hidden
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 35f4bc1cdc add better handling for interacting with gadget popups while editor is up
includes gadget wizards

ref T4648
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 5e7e38d2c4 don't close gadget editor if ON_HOLD is set or click is not button 1 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 4e8836e591 prune unconfigured gadgets from comp object sites upon site del
automatically created sites shouldn't trigger wizards upon show
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 3da7e0d1e0 freeze pointer animations while screensaver is active 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz c895a7fae5 freeze edje during dpms 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 74613ff0fd only set qt theme override env vars if option to do theme matching is enabled 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz b7776798c7 don't attempt desk flips from client move handler
this should be handled by normal zone handlers now
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 8af555cae0 toggle NOGRAB on client input rects during move operations 2017-07-14 18:40:50 -04:00