Commit Graph

21 Commits

Author SHA1 Message Date
Carsten Haitzler d17851f714 fix leak in randr2 when matching clone modes 2015-06-08 20:53:13 +09:00
Carsten Haitzler 1a19a72a61 e - randr2 - filter to the "best" common mode match on clone config
this should fix T2100
2015-05-21 13:03:04 +09:00
Yomi aa56794304 Fix misspelling in e_randr2.c
Summary: Fix misspelling in e_randr2.c

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2476
2015-05-07 18:41:11 -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 97a1642222 fix typo when setting event state in e_randr2_screen_refresh_queue()
a non-event should not unset this variable
2015-04-23 08:33:20 -04:00
Mike Blumenkrantz a452baafca move comp_x screen setup code into e_randr
this was not x-specific, so move it for use in wl compositors
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz a4ea6e7f23 add a small screen management interface to E_Comp, remove hardcoded x11 randr calls
this interface is extremely basic and should allow easy additions for other display
backends
2015-04-22 21:19:00 -04:00
Mike Blumenkrantz e383b5b55a always register E_EVENT_RANDR_CHANGE
failing to register this will cause event handlers for it to fail
on creation
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz 881e0ab805 move all x11-related randr code into e_comp_x_randr.c 2015-04-22 16:16:05 -04:00
Mike Blumenkrantz 7104e637ef _config_screen_find() -> e_randr2_config_screen_find() 2015-04-22 16:07:58 -04:00
Mike Blumenkrantz b4e65519d1 move acpi lid status tracking from e_randr to e_acpi 2015-04-22 16:05:16 -04:00
Mike Blumenkrantz 853d04592e move e_randr internal screen changing timer -> e_randr2_screen_refresh_queue() 2015-04-22 16:04:36 -04:00
Carsten Haitzler da4d1ecfe8 add options to randr2 to ignore acpi and hotplug randr events. 2015-04-09 15:44:07 +09:00
Carsten Haitzler e60889981e randr2 - handle missing clone src and walk back config only structs 2015-02-23 12:11:46 +09:00
Carsten Haitzler 054adb6351 e - randr - handle missing relative display and use priority for zone
this makes highest priority screen the lowest (0) zone. this also
handles missing screesn that you are relative "of". missing clones are
not working atm. also zone reconfigure moves windows now too
2015-02-13 19:24:31 +09:00
Carsten Haitzler adf5b5dc84 e - remove earns from randr2
for wahetever reason i dont get warnings from gcc:

-Wno-shadow -Wno-unused-but-set-parameter -Wno-clobbered -W -Wall -Wextra

are the warning flags i get and i simplt dont get a tonne like using
uninitialized var. don't know why.
2015-02-11 21:45:39 +09:00
Carsten Haitzler da7bb6e9a1 shut up shadow warnings 2015-02-11 12:28:29 +09:00
Carsten Haitzler 790183d74a e - randr - laptop lids - handle plug/unplug and well as lid open/close
this fixes some issues in the new randr2 code that made it not work
right with plug/unplug and lid close/open. now it does work right and
plugging/unplugging displays is seamless (if your driver does not give
plug/unplug events bind a key to update screen config acvtion and e
will figure it out when you hit the key).
2015-02-09 18:22:02 +09:00
Carsten Haitzler 91969500de e - randr2 - handle lid close/open as screen unplug/plug
when your laptop lid opens/closes even if we dont get a randr event
with a disconnect, the screen as logically been unplugged (you can't
see it anymore) so we should treat it as if the screen is not
connected. this fixes that.
2015-02-05 12:00:36 +09:00
Chris Michael 4b992e38fd de-e_comp_get()-ify e_randr2
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 14:35:45 -05:00
Carsten Haitzler 33d4531f1d e - rewrite randr code entirely. core and dialog. dialog is basic atm
the dialog for now is simple and lets you just raw edit the properties
per screen in a dialog. nothing fancy. not user firendly. but it works.

the randr core has been totally rewritten and tested against a range
of drivers and setups before even getting a commit. it works solidly
and configures screens reliably now. drivers tested:

nvidia
intel
radeon

some drivers still are unreliable in terms of delivering plug/unplug
events for outputs (both intel and radeon are flakey - nvidia is solid
and reliable). so to fix this there is now a screen redo action you
can bind to a hotkey or something and have e re-evaluate current
screen setup and apply ny pending config if needed.

also to make reconfiguring prettier the screen is faded to black
first, then configured, then faded back in. some drivers work
flawlessly with this, others still flicker some garbage.

i admit - i haven't tested nouveau, but my general take on this is the
randr code is now in far better shape than where it was (minus pretty
and easy dialog). the dialog can be done next, but i'd like to get the
core in now for more testing.

@fix
2015-01-25 22:50:23 +09:00