Commit Graph

263 Commits

Author SHA1 Message Date
Mike Blumenkrantz 580b884d41 fix uninitialized var in randr config dialog which potentially broke initial monitor layout
SVN revision: 81593
2012-12-21 21:35:17 +00:00
Maxime Villard 4a52c46268 From: Maxime Villard <rustyBSD@gmx.fr>
Subject: [E-devel] [e][PATCH] Optimizations v2
Date: Fri, 21 Dec 2012 22:17:32 +0100

Hi,
same patch as before: removed useless nullchecks and
switched some free()'s to E_FREE().



SVN revision: 81592
2012-12-21 21:31:13 +00:00
Mike Blumenkrantz 27896bfae3 stringshare leak--
SVN revision: 81531
2012-12-21 10:15:41 +00:00
Christopher Michael 69cb1822e1 Fix monitor apply settings.
NB: According to a conversation with T_UNIX, we actually do use the
ecore_x randr functions to apply the config.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81377
2012-12-19 15:39:51 +00:00
Christopher Michael 829558db50 Fix randr widget applying settings as per discussion with T_UNIX.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81376
2012-12-19 15:39:47 +00:00
Christopher Michael be20b9d15d Add some debugging for disabled monitors.
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
2012-12-19 14:21:50 +00:00
Christopher Michael 75981aa321 Set struct field for Enabled/Disabled Before we try to find possible
crtc.
If the monitor's crtc does not have a current_mode (because it was
previously disabled), then grab the last available mode (typically the
largest) and set the crtc current_mode to that.
Add some debugging for Enable/Disable.
Remove code which was trying to use ecore_x calls to re-enable a
monitor.
Use the randr function for trying to enable an output (if previously
disabled).

NB: Enable/Disable Does work, HOWEVER in my testing I have found that
when you re-enable a monitor, you will need to completely back out of
X and restart it in order for the Monitor to show output again. Unsure
if this is an X bug or something in e_randr or someother weirdness....

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81367
2012-12-19 14:21:47 +00:00
Christopher Michael 7829e00b45 Comment out some debugging printfs.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81351
2012-12-19 11:04:35 +00:00
Christopher Michael 1d174b11ba Add header for crtc_set function.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81350
2012-12-19 11:04:32 +00:00
Christopher Michael 80539b0c9a Fix smart monitor object to handle disabled monitors more gracefully.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81349
2012-12-19 11:04:28 +00:00
Stefan Schmidt b2663a26fa e/conf_randr: Move radio creation into the block that needs it.
Discussed with devilhorns.

SVN revision: 81339
2012-12-19 09:47:40 +00:00
Christopher Michael 16c88a39bd Update UNUSED for basic apply function as we do not need the config
dialog here anymore.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81266
2012-12-18 15:27:59 +00:00
Christopher Michael 394885c2e6 And don't pass the root window to the apply function anymore
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81265
2012-12-18 15:21:00 +00:00
Christopher Michael 58ef1a0190 Remove root window as function parameter for apply function (not used
anymore).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81263
2012-12-18 15:16:49 +00:00
Christopher Michael 1d6ea657a9 Remove root window as a function paramater (not used anymore).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81262
2012-12-18 15:16:44 +00:00
Christopher Michael 6c3a3d14d3 Check if a monitor supports rotation (via different orientations), and
if not then disable the rotate ability on the frame.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81261
2012-12-18 15:16:39 +00:00
Christopher Michael 4709380a02 If we change size on the monitor, be sure to set the current mode.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81256
2012-12-18 14:44:08 +00:00
Christopher Michael 817207bad1 Be more proactive when we create monitors:
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
2012-12-18 14:16:12 +00:00
Christopher Michael f40b20b7a9 Be sure to set output policy if we are cloned or not.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81254
2012-12-18 14:15:48 +00:00
Christopher Michael 9e2fb834b9 When telling the monitor to apply changes we should check to see what
actually changed and update things accordingly.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81236
2012-12-18 11:13:49 +00:00
Christopher Michael 649446a72e Add safety check for valid zone. If we do not have one, return current
one.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81227
2012-12-18 09:35:19 +00:00
Cedric BAIL db610957a7 e: seriously, WTF with all this non resizable config setting window, it's insane !
SVN revision: 81199
2012-12-18 03:25:45 +00:00
Christopher Michael 373bd3ce00 Add function for a monitor to apply it's changes.
NB: This is needed because apparently the e_randr serialization code
works DIRECTLY on the E_Randr_Info structures (E_Randr_Output_Info,
etc, etc). Sooo, in order to save and restore a randr config, we need
for the monitor to update those structures First before we tell
e_randr to save things else it will save with incorrect values.

NB: This is the START of save/restore configuration work.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81161
2012-12-17 15:46:55 +00:00
Christopher Michael 66d8162518 Add function prototype for a monitor to apply it's changes.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81160
2012-12-17 15:46:52 +00:00
Carsten Haitzler 92380c140d nth from eina list returns data. .not list node...
SVN revision: 81153
2012-12-17 15:31:36 +00:00
Christopher Michael 30484c09cf Fix TODO note for recent Enable/Disable commit.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81149
2012-12-17 14:29:02 +00:00
Christopher Michael 507e6a25fb Fetch all current monitor values once (rather than a fetch for each
change).
Add code to apply Disabled/Enabled state.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81140
2012-12-17 13:42:15 +00:00
Christopher Michael 3ba73d30d8 Add function to return current enabled state.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81139
2012-12-17 13:42:12 +00:00
Christopher Michael cce210cd53 Make randr dialog not resizable.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81138
2012-12-17 13:42:08 +00:00
Christopher Michael 230a80bc2a Add function prototype for returning enabled state.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81137
2012-12-17 13:42:04 +00:00
Christopher Michael 059d1139fe Provide method to compute a proper layout size (needed for case of
blank config).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81135
2012-12-17 12:55:35 +00:00
Christopher Michael 3f84da5d34 If we unclone (from a blank config) than we need to update the current
x/y of the monitor.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81134
2012-12-17 12:55:32 +00:00
Christopher Michael 5016734bc9 Remove comment/todo that does not belong here.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81133
2012-12-17 12:55:29 +00:00
Christopher Michael e49d7dcad2 Remove blank line.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81132
2012-12-17 12:55:27 +00:00
Christopher Michael 54267c8ad8 Remove dead comment.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81131
2012-12-17 12:55:22 +00:00
Christopher Michael 3c270359ce Delete any cloned monitors when we delete the main one.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81124
2012-12-17 11:35:16 +00:00
Christopher Michael f224102a0b Fix "mini clone" movement when a monitor moves.
Fix "mini clone" movement when a monitor resizes.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81122
2012-12-17 11:30:41 +00:00
Christopher Michael 91ddccec87 Fix monitor clone position for the case of "initial blank setup"
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81114
2012-12-17 10:22:01 +00:00
Christopher Michael b55027332b Remove some erroneous printfs.
When we are uncloning, don't use crtc geometry but rather use the
monitors visual position.
When we show, we need to re-apply any existing rotation (in case
monitor is uncloned).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81113
2012-12-17 10:21:57 +00:00
Christopher Michael 9ec140a681 Add code to start working with no previous config and nothing
specified in xorg (ie: blank setup). We will detect (manually) what is
cloned and setup accordingly. (NB: Still needs work).
Add function to find a monitor based on crtc id (used for blank setup
clones).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81111
2012-12-17 09:21:08 +00:00
Christopher Michael fb6c724151 Add some printfs (commented out).
When we unclone a monitor (on initial startup), if it has not been
manually placed yet, use the crtc geometry for position & size.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81110
2012-12-17 09:21:05 +00:00
Christopher Michael 7d6a9cd155 Set randr widget minimum size to proper values.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81109
2012-12-17 09:21:02 +00:00
Christopher Michael a3cf759911 Add function to randr widget to return the best layout size.
Modify widget creation to use randr layout size function:
  NB: Needed because we cannot rely on E_RANDR_12->current_size to
provide us with something usable.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81108
2012-12-17 09:20:59 +00:00
Christopher Michael 99d170a6a9 Comment out some debugging printfs.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81107
2012-12-17 09:20:56 +00:00
Christopher Michael fa0264ef5c Add function to return the list of monitors.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81106
2012-12-17 09:20:53 +00:00
Christopher Michael 2a4d3cb73e Add smart callback hook for monitor changed.
Add functions to return randr widget changed state.
Add function to randr widget so we can apply changes.
Add single randr_changed_set function (reduce duplicated code).
Use E_INSIDE to determine cloning.
Remove some printfs.
Call randr_changed_set where needed.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81105
2012-12-17 09:20:49 +00:00
Christopher Michael 6e1b9916f3 Add prototypes for randr_changed_get and randr_changes_apply functions.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81104
2012-12-17 09:20:46 +00:00
Christopher Michael 0b31476241 Add prototypes for smart monitor functions.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81103
2012-12-17 09:20:44 +00:00
Christopher Michael b0d6204b83 Add a clone object (mini to represent this monitor).
Record monitor's current geometry when move starts (so if we unclone
we can restore the position).

Port Raster's mouse pointer changes to new dialog :)

Fix refresh_rate fill function to take the monitor object (needed so
we can raise changed signal).

Add functions for getting the "current" information from the monitor
object (Used during apply).

Fix up swallowing and unswallowing of clones so that they restore
to the original position (before cloning).

Fix up smart move & resize function to not apply map if not visible.

Use a single "map_apply" function (reduce duplicated code).

Hook into radio changed (refresh rate) so we can send the changed
signal.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81102
2012-12-17 09:20:41 +00:00
Christopher Michael 6e7b845965 Hook into the randr widget "changed" event.
Call the randr widget apply function to handle applying changes.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81101
2012-12-17 09:20:38 +00:00