Commit Graph

36 Commits

Author SHA1 Message Date
Carsten Haitzler 45938e3b48 e - fix dont blank with fs windows when a fs window exits 2021-08-20 12:17:06 +01:00
Carsten Haitzler 15e395b88e blanking - fiddling with it to try find a vbox bug... fix some things
make dpms delay longer - 10 sec.
force pointers to not render if comp not rendering
nuke open menus on blank
remove unused vars
2021-05-12 23:13:16 +01:00
Carsten Haitzler 048a40414f remove offline+presentation mode - this has confused people
i've seen various people get confused as to why their screen won't
blank and never heard of anyone using offline mode. i think this can
retire and just disabkling blanking manually or as presentation/media
tools do these days... they ask to suspend screensaver anyway. yes it
also affects notifications - but that is a good question - if you want
these or not? may as well simplify.
2020-10-05 09:20:05 +01:00
Carsten Haitzler 839d7f4dc2 e blanking - offer option to not use dpms
so a new bug in a gpu driver. if dpms is enabled, wakeup doesn't
happen. mouse doesn't do anything, rendering doesn't happen... i can
use the keyboard and ctrl+alt+enmd restart e or killall -HUP
enlightenment and e restarts and renders ... but nothing appears.
interestingly if i let it timeout again and wake it up a second
time... things render (but e is confused it seems and mouse input
doesnt work until i restart e). it's some kind of xorg/driver bug here
with this dpms - no dpms and all is fine. all e does with regards to
dplms is enable or disbale it (and set the timeouts) so e isn't doing
antyhign special otherwise with dpms on vs off ... so somethnig deeper
down the stack here, but to get a desktop that works at least for now,
add an option to not use dpms.
2018-07-17 13:19:48 +09:00
Carsten Haitzler f6a92a5753 fix fullscreen no blank logic in e's dpms code
while this is still the wrong place and has other bugs, this fixes
T5464 ... but different things to fix now. @fix
2017-05-07 14:35:14 +09: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
Chris Michael ebf1318b0d Fix invalid compositor type check in e_dpms_force_update
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-23 10:00:36 -05:00
Chris Michael eff826b4e3 Fix formatting and remove extra blank line
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-23 09:48:58 -05:00
Mike Blumenkrantz 38d5746977 check compositor screen iface existence before deref in dpms
fixes crash in compositors lacking screen ifaces
2015-08-19 15:32:24 -04:00
Mike Blumenkrantz 376945dcd8 add dpms handling for wayland compositors 2015-07-27 16:54:31 -04:00
Mike Blumenkrantz 2d3c43a39c replace some x11 compositor checks with calls to util function 2015-07-01 16:25:45 -04:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz 471dcb24cb __UNUSED__ -> EINA_UNUSED
this has been bugging me forever. __UNUSED__ is no longer a valid macro here.
2015-03-18 18:09:09 -04:00
Stefan Schmidt fe024b561b e_dpms: de-e_comp_get()ify 2015-01-23 13:42:01 +01:00
Chris Michael 35cac300f3 Revert "don't clear 'changed' variable unless we are going to use it. (fixes"
This reverts commit 58cbf19c10.
2014-10-03 13:45:16 -04:00
Chris Michael 58cbf19c10 don't clear 'changed' variable unless we are going to use it. (fixes
compiler warning when building for wayland-only)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-03 13:30:48 -04:00
Mike Blumenkrantz c04d754ac5 enabling drm output module should NOT require X-less build.
these defines all need to be changed from HAVE_WAYLAND_ONLY to something like WITH_X or we're going to have lots of problems with xwayland later on
2014-03-18 16:14:04 -04:00
Chris Michael 915f8f0613 @bugfix: Fix building for WAYLAND_ONLY by using the proper define
sed -i 's/WAYLAND_ONLY/HAVE_WAYLAND_ONLY/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:04 +00:00
Carsten Haitzler 5c8710ded3 fix screen blanking while fullscreen window is up - work again
@fix - this fixes T1019 - when a window is fullscreen the display just
NVER can blank no mater what. it's hrdcoded, and wrong to enforce. if
an app wants to display screensaver - there is the xscreensaver extn -
or maybe supporting an explicit property on a window would work
better, but just equating fullscreen == never blank is wrong. it's an
option now. off by default.
2014-03-01 08:04:09 +09:00
Mike Blumenkrantz 86656e4df9 compositor rewrite / charlie-foxtrot situation
huge fustercluck commit because there wasn't really a way to separate out the changes. better to just rip it all out at once.

* compositor and window management completely rewritten. this was the goal for E19, but it pretty much required everything existing to be scrapped since it wasn't optimized, streamlined, or sensible. now instead of having the compositor strapped to the window manager like an outboard motor, it's housed more like an automobile engine.

** various comp structs have been merged into other places (eg. E_Comp_Zone is now just part of E_Zone where applicable), leading to a large deduplication of attributes

** awful E_Comp_Win is totally dead, having been replaced with e_comp_object smart objects which work just like normal canvas objects

** protocol-specific window management and compositor functionality is now kept exclusively in backend files

** e_pixmap api provides generic client finding and rendering api

** screen/xinerama screens are now provided directly by compositor on startup and re-set on change

** e_comp_render_update finally replaced with eina_tiler

** wayland compositor no longer creates X windows

** compositor e_layout removed entirely

* e_container is gone. this was made unnecessary in E18, but I kept it to avoid having too much code churn in one release. its sole purpose was to catch some events and handle window stacking, both of which are now just done by the compositor infra

* e_manager is just for screensaver and keybind stuff now, possibly remove later?

* e_border is gone along with a lot of its api. e_client has replaced it, and e_client has been rewritten completely; some parts may be similar, but the design now relies upon having a functional compositor

** window configuration/focus functions are all removed. all windows are now managed solely with evas_object_X functions on the "frame" member of a client, just as any other canvas object can be managed.

*** do NOT set interceptors on a client's comp_object. seriously.

* startup order rewritten: compositor now starts much earlier, other things just use attrs and members of the compositor

* ecore_x_pointer_xy_get usage replaced with ecore_evas_pointer_xy_get

* e_popup is totally gone, existing usage replaced by e_comp_object_util_add where applicable, otherwise just placed normally on the canvas

* deskmirror is (more) broken for now

* illume is totally fucked

* Ecore_X_Window replaced with Ecore_Window in most cases

* edge binding XWindows replaced with regular canvas objects

* some E_Win functionality has changed such that delete callbacks are now correctly called in ALL cases. various dialogs have been updated to not crash as a result

comp files and descriptions:

e_comp.c - overall compositor functions, rendering/update loop, shape cutting

e_comp_x.c - X window management and compositor functionality

e_comp_wl.c - Wayland surface management and compositor functionality

e_comp_canvas.c - general compositor canvas functions and utilities

e_comp_object.c - E_Client->frame member for managing clients as Evas_Objects, utility functions for adding objects to the compositor rendering systems

additional authors: ivan.briano@intel.com

feature: new compositor

removal: e_border, e_container, e_popup
2014-01-14 20:22:02 -05:00
Miculcy Brian 9d781fa8ac Backlight, screenlock and screensaver don't check for fullscreen windows - we have presentation mode for that.
SVN revision: 82772
2013-01-14 17:26:13 +00:00
Mike Blumenkrantz 9e8e755cdf formatting: all at once
SVN revision: 82625
2013-01-11 10:34:29 +00:00
Carsten Haitzler f0c9f5121c lots of buglet-fixing. this does:
1. make idle fade timer work at all (dodnt work before)
2. fixes backlight status on e restart
3. fixes setting bl level on start
4. improves the compositor fade in/out effect by ALSO fading backlight
in and out... oh so much smoother now
5. fixes label in ui to be seconds, not minutes.
6. in order to make this all work - it adds a special screensaver
event inside of e that the screensaver subsystem generates based on
the real x one.



SVN revision: 80538
2012-12-09 06:27:42 +00:00
Mike Blumenkrantz 7a3eb421ff spellcheck hooooooooooooooooooooooo
SVN revision: 77562
2012-10-08 06:59:58 +00:00
Carsten Haitzler 4639f361b3 more dpms /screensaver setting force set to work around an apparent
xorg bug.



SVN revision: 76342
2012-09-08 12:17:29 +00:00
Carsten Haitzler 7d595adf7b work around x dpms bug which seems to forget about doing dpms 2nd time
around so force a reset of screensaver/dpms settings after coming out
of blank.



SVN revision: 75940
2012-09-02 07:37:24 +00:00
Gustavo Sverzut Barbieri 6f2213cb25 convert init/shutdown to EINTERN, move some to _update().
Do not abuse the concept of e_*_init(), make them call-once and those
that needed multiple call are renamed to e_*_update(). To make sure
convert them to EINTERN so the symbols are not exported.

Actually I guess too much is exported as EAPI while they should be
EINTERN, but that would require manual investigation, while this patch
was basically created with sed + grep.



SVN revision: 54795
2010-11-22 15:21:32 +00:00
Gustavo Sverzut Barbieri c5642870c3 do not abuse _init(), provide _update() method instead.
SVN revision: 54794
2010-11-22 15:21:24 +00:00
Gustavo Sverzut Barbieri d374b7ccb8 utility to query for fullscreen in current/all zones.
keeping local count of borders is too error prone, instead query
it. Right now the count is being done for the current zone only, I
guess this is the best policy.



SVN revision: 54793
2010-11-22 15:21:17 +00:00
Lucas De Marchi 6638a10e20 FORMATTING
* Remove vim modelines:
 find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
 find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;

* Remove leading blank lines:
 find . -name '*.[cxh]' -exec sed -i '/./,$!d'

If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0



SVN revision: 50816
2010-08-04 16:57:32 +00:00
Christopher Michael 5a7b450c04 Patch from rubenbb to fix ticket #562 (dpms being turned off by
fullscreen windows).

I modified this patch slightly. Removed some unused handlers. limits.h
is already included in e.h, so no need to reinclude it. Fixed formatting.



SVN revision: 50356
2010-07-18 19:06:00 +00:00
Carsten Haitzler 38c5103bae ---------------------------+------------------------------------------------
Reporter:  ruben          |       Owner:  raster            
 Type:  Bug                |      Status:  new               
 Priority:  Major          |   Milestone:  Enlightenment 0.17
 Component:  enlightenment |    Keywords:  dpms, fullscreen  
 Blocking:                 |   Blockedby:                    
---------------------------+------------------------------------------------
        
patch - Close Ticket #562



SVN revision: 50240
2010-07-13 23:56:47 +00:00
Cedric BAIL c6a118d738 * e: remove warning due to Ecore API change.
SVN revision: 49833
2010-06-24 16:19:12 +00:00
Gustavo Sverzut Barbieri 9e581982f7 Do not activate DPMS, Screen Saver or Locker if there is a fullscreen window.
I guess there is nothing more annoying than having a fullscreen window
to watch a quick movie, read some text or webpage or whatever and have
the DPMS to show, or the screensaver to be activated or your screen to
be locked.

This patch uses the new border signal and counts, if there is at least
one fullscreen border, then avoid doing these annoyances.

I'm not accounting for any border parameter/property, like if it is in
a visible screen or desktop. I hope this is fine, otherwise let me know.

I also asked and common sense at IRC (at least to me and englebass) is
that there is no need to configure such behavior, so there is no
configure option for it.

I'm also thinking about maximized windows to have a configurable
behavior to match this, but I'm not sure.



SVN revision: 49262
2010-05-28 22:13:20 +00:00
Gustavo Sverzut Barbieri d2be2c99a7 dpms, screensaver and desklock now respect "presentation" mode.
Wow, no need to go to "Settings" and then 3 dialogs to do my presentations!


SVN revision: 40381
2009-04-25 16:49:53 +00:00
Christopher Michael 7a3f2f0ed2 Ravenlock's combined dpms/screensaver patches and new config dialogs.
Nice work :)


SVN revision: 28346
2007-02-13 16:33:35 +00:00