Commit Graph

473 Commits

Author SHA1 Message Date
Carsten Haitzler 03d0f1d2dc e - fix float warnings cmp where they actually may cause issues 2016-12-28 19:55:20 +09:00
Andy Williams 33ecfe5b99 scale: Allow user to choose scale not multiplier
Misleading text now makes sense.
2016-11-19 15:54:50 +00:00
Carsten Haitzler 81d2596209 e randr - fix randr dialog to do restore right again
post e20 commit that allowe dradnr dialog to come up for a specifci
streen broke restore option - now this fixes it.
2016-01-11 09:01:55 +09:00
Carsten Haitzler e1369a24bd per-desk profiles - move to per screen and use elm derived profiles
this removes the per desktop profile config and replaces it with a
per-screen one that is tied to a specific display so it is far more
logical than per desktop. this allows e to set up different scaling
per screen for apps that use elementary for example via this derived
profile.

this of course is slightly problematic for e itself since it now uses
elm - as this will cause e to go kind-of-crazy with differing profiles
as it fights with itself and elm if 2 screens have different profiles.
this requires elm to be fixed to allow custom profiles per window.

this also currently won't switch profile of a window when you
reconfigure screens.

@feature

xx
2016-01-08 21:54:31 +09:00
Marcel Hollerbach 903099c021 e_randr2: Add NULL check
e crashed for me when starting the screen configure tool.
Adding the NULL check here fixes that.
2015-12-10 11:43:54 +01:00
Carsten Haitzler ecca33310d e randr - feature fix that allows config to jump to specific screen
as part of another fix for having e just pop up the screen config
dialog when a new screen is detected that isn't configured, allow
config dialog for randr to get screen output name via input params

@fix
2015-12-07 19:52:41 +09:00
Vivek Ellur dbfa9682bb Fix null dereference issue
Summary:
@Fix
possible null dereference issue while referencing cs2->id. So added a condition
to check it

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3309
2015-11-10 12:26:48 -05:00
Carsten Haitzler ee16a11455 e - randr allow you to turn off screens and keep them off if config says so 2015-07-19 22:41:48 +09:00
Carsten Haitzler 591a3752e6 e randr2 - add some logic for knowing when to ask to configure a screen
start of a "what do you want to do with this screen (clone, extend etc.)"
feature
2015-05-21 13:03:05 +09:00
Chris Michael baac769b0f conf_randr: Reduce debug output noise
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-13 14:50:40 -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 e7219bab37 remove dead conf_randr files 2015-04-22 21:20:57 -04:00
maxerba 6604268f2d Make some randr messages translatable 2015-04-20 16:23:33 +02:00
Carsten Haitzler da4d1ecfe8 add options to randr2 to ignore acpi and hotplug randr events. 2015-04-09 15:44:07 +09:00
Mike Blumenkrantz 58447e9508 completely remove E_Manager
the final step in flattening all the canvas/screen apis
2015-03-19 16:53:32 -04:00
Mike Blumenkrantz dbcd03044e remove manager number from e_bg functions
this is no longer relevant; related code will be removed soon
2015-03-18 19:12:32 -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
Mike Blumenkrantz 09ec213a31 remove e_util_zone_current_get() usage 2015-03-13 17:58:45 -04:00
Mike Blumenkrantz 1fe1c94245 comp canvas functions no longer require an E_Comp param 2015-03-13 16:07:08 -04: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 1c222e0329 e randr config - fid selecting of screen to populate correctly 2015-02-02 14:13:58 +09: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
Mike Blumenkrantz a744ed8f36 randr widget needs to set min size hint on calc 2015-01-15 03:05:20 -05:00
Carsten Haitzler 70753a7903 e - randr - stop saving config using XID - this is utterly WRONG
so e was storing randr config using XIDs to match outputs etc. this is
all kinds of wrong. XIDs are NOT STATIC. they change from xserver to
xserver and from run to run. they MAY be the same. they may not. so
this was just broken.

use output name + edid as a big "string" (name.edid) as a way ofr
identifying config for a specific combination of output plus monitor
and to find/identify the corrent output+monitor to apply it to (of
course missing edid gets replaced with ??? and missing output name is
??? too - i have never seen a missing output name so you get this at
least).

so this FIXES "restore" of screen mode on login for starters. this
does nothing to "fix" the screen setup dialog in any way. there are
separate issues there.

this also breaks e_randr config compat so i bumped epoch so your old
config is rejected. i don't see a sensible way of porting the config
forward.
2014-11-29 10:05:36 +09:00
Mike Blumenkrantz 99589eb5af remove E_Win+e_canvas, convert all internal wins to use elm_win
known issues:

* keybindings for efm windows (eg. ctrl+w) are broken until the rest of the conversion is completed
2014-11-20 15:26:21 -05:00
maxerba fac4e89dfa Updating desktop files, eo.po and fr.po 2014-09-11 21:14:58 +02:00
Cedric BAIL 3f9af38da2 edje: remove use of deprecated functions. 2014-06-07 21:10:55 +02:00
Andy Williams d0459685e0 Apologies, somehow this file got stomped, putting back 2014-05-17 22:27:35 +01:00
Andy Williams bfe9dfcf6f Display the correct background for monitors @fix T1260
Looks like a typo, but let's use the correct coordinates to look up the
zone
2014-05-17 22:17:26 +01:00
Mike Blumenkrantz b82ef28332 remove impossible/unnecessary randr rotation checks
CID 1039944
2014-04-04 15:04:28 -04:00
Sebastian Dransfeld 35fea59e2d conf_randr: redo randr dialog to trust e_randr_cfg
Prevously conf_randr worked directly against ecore_x_randr. Now we
rather modify e_randr_cfg, and use e_randr to apply changes against
ecore_x_randr.
2014-03-06 15:18:15 +01:00
Sebastian Dransfeld c994e235f9 conf_randr: hide refresh rates when none to show 2014-03-06 15:18:15 +01:00
Sebastian Dransfeld d9acc5a5c2 conf_randr: don't store variable when used once 2014-03-06 15:18:15 +01:00
Sebastian Dransfeld 77ea4d2256 conf_randr: remove clone support
Clone isn't well supported in base randr config. Remove until it is.
2014-03-06 15:18:15 +01:00
Sebastian Dransfeld 6e87cec645 conf_randr: use refresh_rate function from e_randr 2014-03-06 15:18:15 +01:00
Sebastian Dransfeld 464df11e28 conf_randr: remember whether geometry has changed 2014-03-06 15:18:14 +01:00
Mike Blumenkrantz 645a3f0b60 correctly fix conf_randr warnings 2014-01-18 15:16:46 -05:00
Mike Blumenkrantz a1d8fd1b6a revert previous "removed" warnings" commit chunk which added more warnings 2014-01-18 15:15:25 -05:00
ChunEon Park 7474036140 enlightenment - removed warnings. 2014-01-18 19:37:02 +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
Mike Blumenkrantz abff6f1427 conf2 and related subsystems were a fun and useful experiment, but this is not their time. removed.
see econf.git
2013-11-25 16:04:01 -05:00
Stefan Schmidt 56fe7e4e5b conf_randr: Compare mode against correct smart data.
This copy and paste bug compared the sd mode against the parent sd mode.
Classical c&p bug when having two blocks of code so similar.

CID: 1039954
2013-11-15 15:55:45 +01:00
Carsten Haitzler fdc9b52299 randr dialog - fix badly broken screen resizing logic. now it works reliably. 2013-11-14 15:10:36 +09:00
Sebastian Dransfeld 51a7ff2847 e/randr: lower monitor on middle click
If monitors are stacked above each other it is diffiult to find the
monitor below.
2013-11-04 11:16:05 +01:00
Chris Michael ee0a87773c Fix rare bug where getting refresh rate may cause a crash if
mode->name is NULL by checking mode id instead of name.

Also if we are disabling a monitor, set current mode to 0.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-10-17 18:07:22 +01:00
Chris Michael 0d03652c84 Improve monitor resize/mouse interaction (hopefully).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-10-15 10:18:20 +01:00
Chris Michael 886a5c4808 Fix randr cloning support with odd monitor sizes
Now, if a clone cannot be set to the same resolution as the parent,
then we will go through all the parent modes and try to find one that
Both support.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-10-14 09:07:26 +01:00
Chris Michael 0d28595b66 Fix issue where randr dialog would crash when trying to close after
cloning.

Don't free the mode_info returned from mode find as this mode info is
still part of the monitors collection of modes.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-10-14 08:30:22 +01:00
Chris Michael 2b4a0e675b Fix RandR dailog issues.
- Detect when cloning is changed and update monitor "changes"
- When cloning, we cannot necessarily match parent's Mode, so find a
mode which matches on Size.
- Fix mouse pointer change issue where pointer was not being unset.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-26 12:15:34 +01:00
Chris Michael 7a2bfc7907 Add Clone Change to Changes Enum
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-26 12:15:34 +01:00