Commit Graph

415 Commits

Author SHA1 Message Date
Carsten Haitzler 9abcae15f6 comp fps debug - show separate input and output fps 2020-08-17 18:22:12 +01:00
Carsten Haitzler 1f4c6b41d8 e comp - remove obsolete comp render animator and lock fps options 2020-08-17 18:22:11 +01:00
Carsten Haitzler 072fd2d741 e system - isolate stdio of commands we run so they dont pollute 2020-07-14 13:31:29 +01:00
Carsten Haitzler f6e4be1005 e wl screen dimming.blanking/timeouts/lock handling redo/fixup
so there was a fair bit of stick-tape and chewing gum in putting the
wl screensaving in e_Screensaver.c ... it thus was very different to
the x stuff. it SHOULd have had e_comp_wl handle idle timeout like the
xserver did and then glue in the same way the x code did to be
conistsent. instead of trying to fix the chewing gum ball there in
e_Screensver.c to find the logic holes ... i made it work like the
code as indicated above. this now makes it work reliably. dim
reliably. lock reliably. it even doesnt exit on ctrl+alt+backspace
once desklock is up now to allow locks to really lock... (dont use
locks during dev then if you need ctl+alt+backspace).

at least now all this dpms/screensavwr/brightness/backlight/lock goop
is consistent between wl and x11 and wl seems reliabkle now (to me).

knock this off as an annoyance fixed.

@fix
2020-06-28 15:06:37 +01:00
Elyes HAOUAS 3524bc167c tree-wide: get rid of trailing whitespace (part 1)
Remove trailing white spaces.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11780
2020-05-14 12:30:31 +02:00
Carsten Haitzler d428726382 comp - commented out debug for later use 2020-05-01 14:00:50 +01:00
Carsten Haitzler 7e81c0bd8e silence another ERR log with invalid obj type 2019-11-08 16:29:05 +00:00
Carsten Haitzler e69a27a81c e comp - tell user about invalid env var options
it seems people are using these env vars so we should tell them if
they have invalid options.
2019-09-24 01:17:08 +01:00
Mike Blumenkrantz e7cfd06675 avoid performing client rescales during shutdown 2017-11-07 10:40:00 -05:00
Mike Blumenkrantz ef69fabd47 add client refs for the nocomp client
this client may be referenced after deletion during render loop

fix T6151
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz 1d5977c02a do not unnecessarily rescale clients
this function is mainly for rescaling maximized/fullscreen clients to fit new
dimensions, so don't call on other clients since this can trigger unwanted resize
 events
2017-09-28 13:03:37 -04:00
Mike Blumenkrantz 20ea0ed150 add/use helper function for rescaling individual clients
in any case where client needs to be rescaled to use new screen geometry
certain things must happen, such as handling shaded state and forcing the
new geometry to be applied
2017-09-12 13:21:04 -04:00
Mike Blumenkrantz 6dd9205e0a rename E_EVENT_COMPOSITOR_RESIZE -> E_EVENT_COMPOSITOR_UPDATE 2017-09-01 13:40:11 -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 d2c2f48bec break out client rescaling into separate function 2017-08-04 16:05:15 -04:00
Carsten Haitzler 03aeb1d463 fix fallthrough warnings 2017-08-04 12:35:27 +09:00
Mike Blumenkrantz a1e9b9bf0f show clients immediately after pixmap refresh if visibility is pending 2017-07-28 15:44:55 -04: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 213618b762 do not set e_comp log level 2017-07-21 14:43:36 -04: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 031d64c2ec Revert "Revert "move x11 suspend window grabbing to comp_x, ungrab on resume""
This reverts commit e90f63b25b.

move back to comp_x, put back grab on resume.

input is still broken with this commit, do not use.
2017-07-11 15:03:55 -04:00
Carsten Haitzler c13fa73866 e - make some comment notes on broken lock display on saver etc.
we have some visual glitches i'm on a mission to fix... and the above
is one of those. timeout for lock should begin after screen has gone
black first.
2017-07-11 16:57:14 +09:00
Carsten Haitzler 3fc786413c e - fix desklock + grabs with hiding pointer on screen powerdown/up 2017-07-11 16:57:14 +09:00
Carsten Haitzler e90f63b25b Revert "move x11 suspend window grabbing to comp_x, ungrab on resume"
This reverts commit 7bc179da5a.

this now totally broke the glitch fix and it now animates in reverse
on suspend and does nothng on resume... testing might be a good idea
beforehand...
2017-07-11 09:00:05 +09:00
Mike Blumenkrantz 7bc179da5a move x11 suspend window grabbing to comp_x, ungrab on resume
ref d0c5fb465b
2017-07-10 09:49:34 -04:00
Carsten Haitzler d0c5fb465b support connected standby (non-s3 sleep/freeze) that new lpatops sport
this requires we have to force dpms on to reduce power. to avoid
glitches with the pointer staying around in x we need to support
suspending it too so it hides cleanly like the screen dims or undims.
also use the new powersave freeze mode to do this.

note that i've tested this on s3 supporting laptops and non-s3 and it
"works for me". it may require more testing and work. there is more to
power saving than just this as well but for now that's out of scope as
you have to mess with linux device autosuspend timeouts and a bunch
more (wowlan ... blahblah).

i need to find the source of the intermittent wakeups too in e. there
is a long lived timeout (8-ish seconds?) but more specifically e keeps
waking up from fd's and then reading /sys stuff about battery - some
event is causing us to do this... maybe to suspend this or make
battery checking very rare when in freeze mode (or screen off) etc.

so this fixes some glitches as well as supports a new way of sleeping
"alive" when hardware literally doesnt support normal s3 sleep... so
kind of a fix with a feature.
2017-07-10 10:18:50 +09:00
Mike Blumenkrantz 44693a1852 only unredirect clients during comp update after 3 failures
tfw your conditional is backwards
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz 63f3fe949c block "user" client resizes during comp client updating phase
resizing objects triggers clip resizes and further event feeding which
can propagate mouse events such that clients try to resize themselves
during the update phase, resulting in illegal compositor behavior
2017-06-24 12:34:12 -04:00
Mike Blumenkrantz 2716802ec9 set pass events on shape debug rects 2017-06-23 17:49:43 -04:00
Mike Blumenkrantz 1cbddb6d8f avoid refocusing deleted wl clients during comp input ungrabbing
this is an error
2017-04-14 11:48:43 -04:00
Mike Blumenkrantz 4eb60da0b3 make SHAPE_DEBUG activate with E_SHAPE_DEBUG env var
this is useful for debugging and the option to recompile is not always
available
2017-04-14 11:48:43 -04:00
Mike Blumenkrantz 118a70730f handle nested compositor delete requests
the previous implementation of this using ee callbacks broke during
elm integration since elm overrides all of those callbacks
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz 05ef0b0280 call e_randr2_shutdown in comp shutdown
this should always be called, not just in comp_x
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz cc434190ad call wl/x compositor shutdown functions directly during comp shutdown 2017-03-10 15:55:06 -05:00
Mike Blumenkrantz a117c977dd e_menu_grab_window_get() -> e_menu_is_active()
0 is a valid canvas window id, and this function was no longer being used
for its original purpose
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 98ab29ea3c add event for xwayland init 2017-02-24 14:15:38 -05:00
Carsten Haitzler ccf3a6f5fe e comp - quiet some warnings for casts that are ok
add soem void 8 casts for casts that are ok alignment-wise but that
generate warnings
2017-02-12 16:25:35 +09:00
Carsten Haitzler eb8f2a68b0 e comp - fix stupid cast to from eina rect* to char* to eina rect* again
just causes warnings and makes no sense...
2017-02-12 16:25:35 +09:00
Derek Foreman 1fe5b56500 Replace some ecore_time_get users with ecore_loop_time_get
I'm confident these sites can use loop time safely, and they're
frequent callers.
2017-02-10 15:18:19 -06:00
Derek Foreman 73aecd73ab Replace all timer_add with timer_loop_add
So yeah, I've literally used sed to replace every occurrence of
ecore_time_add() with ecore_timer_loop_add() because I'm reasonably
confident that no part of E has a legitimate need for timer based on the
exact current time.

It would be really nice if I'm not wrong. :)

The reason for this is the incredible spew of clock_gettime() calls I'm
seeing on an ARM system (that should have a vdso for gettime, but...)
This can amount to thousands of system calls per second.

 #YOLO
2017-02-03 15:52:28 -06:00
Mike Blumenkrantz e2f8d2ba69 implement pointer-constraints v1
xwayland nyi
2017-02-03 15:13:45 -05:00
Mike Blumenkrantz 3e6f2f1fa7 add workarounds for ctxpopup geometry for use in input shape tiling
ref T4687
2016-10-26 10:28:30 -04:00
Mike Blumenkrantz ef33638c42 create substruct for E_Comp to put canvas objects into
allow adding/removing objects in the future without breaking abi
2016-10-25 12:01:17 -04:00
Mike Blumenkrantz 7dc0930c8a add new flag for zone edge objects to allow shape cutting while repeating events
fixes case where edge binding would (possibly) trigger but then not allow input
to any canvas objects at the screen edge
2016-10-17 11:18:46 -04:00
Mike Blumenkrantz 7cbca19705 print object type in shape debug if name does not exist 2016-10-02 09:34:48 -04:00
Mike Blumenkrantz 528cdd2614 remove more useless E_Comp struct members 2016-09-09 11:38:08 -04:00
Mike Blumenkrantz 94f6b03ec3 remove E_Comp->name
this served no purpose
2016-09-09 11:38:08 -04:00
Mike Blumenkrantz 2f7e22ccf4 move new version of e_comp_top_window_at_xy_get() to dnd, restore old version
this resolves pointer-based focus issues introduced while attempting to
fix dnd-related bugs

ref a4a2f6b09e
ref 1a982fd72a
2016-08-08 11:31:28 -04:00
Carsten Haitzler e9246a336b Revert "Fix getting top object in comp canvas"
This reverts commit a4a2f6b09e.

No. you broke dnd AGAIN. try:

1. in X11 dnd to something that DOEs NOT accept xdnd. try xev. what e
will do is ignore the window and drop ONTO THe DESKTOP BG underneath
because it skips the window as if it were not there at all. this
involves losing files and finding them clustered on your desktop bg
where drops "diod nothing"
2. this seems to lead the the dnd hanging and not stopping on mouse
release. i need to right clikc to convince it to stop.
3. there's the case for xdnd clients that refuse the drop too - test
that!

this fixes this. try the above tests before working on this.
2016-08-06 13:24:26 +09:00
Derek Foreman a4a2f6b09e Fix getting top object in comp canvas
Correctly return the top non-repeating event window

ref 1a982fd72a
2016-07-26 15:17:36 -05:00