monitor existing, then disable the ability to toggle the indicator.
NB: This is for silly people who (for whatever reason) decide that
it's a good idea to try and turn off their Only monitor.
NB: Fixes Phab Ticket T257
Signed-off-by: Chris Michael <cp.michael@samsung.com>
- Add previous monitor geometry to smart data structure.
- When we set the crtc, also set the monitor current geometry.
- Add function to return the previous monitor geometry.
- On a mouse up, check for monitor location difference versus previous
geometry, if nothing changed then we have no 'move' to do.
- When we start a resize, record the previous geometry and raise the
monitor.
- When a monitor is moved/resized we call the position_update function
which already loops all monitors, so no need to loop them twice.
- Fix position_update function to allow some Snapping Fuzziness so
that on a move/resize any adjoining monitors (within tolerance) will
more reliably snap to each other.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
After a monitor has been moved, snap it to the closest monitor.
NB: This should fix cases where a monitor could not be positioned next
to another monitor which had a resolution of 1368. Previously, the
second monitor could only move to 1366 due to a rounding issue when
converting coordinates to virtual. Now, the second monitor (when
finished moving) will Snap to the proper position.
NB: (Currently) In order for the snapping to work, either the
monitors' X axis or Y axis must be equal. Ideally, this should be
fixed to allow for some percentage of position flexibility.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
it has no mode set yet, then we try to get the preferred mode. If that
fails we will try the crtc size, if That fails we will fallback to a
safe 640x480. When getting preferred size, if the output does not
specifiy a preferred mode (but does list availabe modes), then we will
assume the largest size.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Add function to get a monitor's preferred mode size.
Add function to find any clones of a monitor.
Add function to find a valid crtc for an output
NB: Raster, this should fix your reported problem ;)
Signed-off-by: Chris Michael <devilhorns@comcast.net>
Add function to apply changes.
Add callback hook for monitor(s) changed.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84216
Add code to create any clones on initial startup.
Add function to find a monitor object based on crtc.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84211
When we are creating the monitors, account for 'possible' outputs also.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84198
Add grid object to structure.
Add callbacks to handle when grid gets moved or resized so we can
update the monitor's copy of the grid geometry.
Update calls to monitor_grid_set to pass in geometry now.
Add monitor_virtual_size_set call.
Add code to deal with grid getting moved & resized.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84171
Use ecore_x_randr functions to get crtcs & outputs (Fixes problem of
running Screen Setup dialog in Xephyr)
Add code for min_size_get function.
Remove code which used e_layout widget.
Add code to create new randr widget based on evas_object_grid.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84150
- Create monitor smart object
- Set crtc and output config for monitor.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84131
actual canvas geometry when doing collision detection.
Port the previous "JackDanielz" fix (using frame geometry vs using
object geometry) to the actual move function also.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82868
determine collision/intersection for cloning reasons (needed due to
monitor object itself having some padding around the frame which was
causing erroneous intersection calculations).
NB: Calling this one the JackDanielZ fix ;)
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82867
position, not size for comparison.
When we create monitors, assign the proper crtc to the monitor.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82330
If we are trying to add a disabled monitor, check for possible outputs.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 81368
If during the process of monitor creation, we reach one that is
cloned into a parent monitor, but the parent monitor has not been
created yet, then add it to a deferred list so we can create it (and
swallow it) into the parent monitor.
Make use of the existing e randr serialization to save/restore settings.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 81255