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>
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>
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>
- 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>
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>
smart data's list of modes. This will get freed when the dialog closes.
Fix some formatting for 80 columns.
NB: Should fix etrunko crash ;)
Signed-off-by: Chris Michael <devilhorns@comcast.net>
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>
outputs to zero, and free any allocated outputs before trying to apply
settings.
Also, check for valid mode (not 0) before trying to fetch mode_info.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
NB: If you have more than one output, XRandR has the option/support to
set a specific monitor as the primary output. These changes allow some
distinction in the dialog between which output is primary (a faint
glow around the monitor). This is just the "display" portion of
Primary Output support ... next is a method to Change that.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
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>
If a monitor gets re-enabled and no current mode is set (which is
typically the case), then find a mode based on size.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
When we call "grid_set" (as a result of the grid object moving or
resizing), we should update the monitor position text.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
Some people have reported that resizing is difficult, or that they
could not get to the max resolution of their monitor(s). Skipping the
refresh rate check during resolution finding fixes that ... With a big
fat Gotcha !!! because now after changing resolutions, the refresh
rate May not match what was previously selected....
So, as a word of CAUTION: After you set a resolution you should now
Verify your Refresh Rate before Applying, else you may be getting an
undesirable rate :/
Signed-off-by: Christopher Michael <cp.michael@samsung.com>