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
Mike Blumenkrantz
950bee7ce4
handle multiple input regions for csd clients
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz
664c3dc468
move gadget del callbacks to AFTER priority
...
ensure gadget internals have longer lifetime than external callbacks on
gadget objects
ref 27091c510c
fix T5601, T5693
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz
8e54684a2e
delete gadget editor site when editor is deleted
...
leak--
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz
415a94b987
unpack gadget from site editor box on content_item del
...
the gadget should be deleted by the site, not by the gen(list|grid)
ref T5693
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz
59b14a4ace
unset gadget site's layout pointer after destroying gadgets
...
ensure this persists through gadget del callbacks
ref T5693
2017-07-14 18:40:50 -04:00
Derek Foreman
98f4336fcd
Fix clamping on screen blanker timeout
...
commit f43d2b881c
added the ability to set screen blanker timeouts as low as 6 seconds,
but E still clamped to 30 seconds when loading config.
2017-07-14 11:10:06 -05:00
Carsten Haitzler
f43d2b881c
e blanking - add new special "locked timeout" that can be shorter
...
this allows you to have a different timeout when locked thats much
shorter to save screen/power more unless you log in.
@feature
2017-07-14 09:43:29 +09:00
Carsten Haitzler
c58bf393e0
mouse hiding - only grab pointer not pointer and keyboard - simple
...
dont need kbd grabbed at all. just pointer.
2017-07-12 10:45:50 +09:00
Mike Blumenkrantz
76484915e2
always perform initial input ungrab when waking screen
...
in the case where the desklock timer was longer than the blank timer,
this would permanently break input
input is still broken for the duration of the screen blank animation and
any time the screen is blanked
2017-07-11 15:04:22 -04:00