GNOME Bugzilla – Bug 725135
Add support to configure display border
Last modified: 2016-04-05 17:15:55 UTC
I have filed bug 725133 to add support for XRandR output border property and mentioned use-cases there, this bug is to allow user to configure border.
Some documentation: http://en.wikipedia.org/wiki/Overscan What Apple does in this case: http://support.apple.com/kb/HT5841 Having a way to setup the amount of overscan/underscan is clearly something we'd need to avoid clipped desktops when plugging into (digital or analogue) TVs. Allan and Jakub will come up with some preliminary designs that we can iterate over.
https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/system-settings/displays/xrandr-borders.png
Support for this in gnome-desktop and mutter has landed in master; I will be attaching the control-center patch we use in Endless. It's not as fancy and configurable as in the mockup linked by Matthias above, but it's simple and very useful when connecting your laptop to a TV.
Created attachment 306444 [details] [review] display: Add option to enable and disable overscan compensation
This also needs a mechanism to detect whether the driver supports underscanning at all. We are planning with Jasper to implement it in Mutter and add a gnome-desktop API similar to the rotation one.
Review of attachment 306444 [details] [review]: Can you please post a current screenshot? There should be one with the rotation buttons, and one without. ::: panels/display/cc-display-panel.c @@ +1978,3 @@ + gboolean value; + + value = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check_button)); Why a check button rather than a switch? @@ +2233,3 @@ + if (!gnome_rr_output_is_builtin_display (output)) + { + priv->scaling_check = gtk_check_button_new_with_label (_("Adjust screen for TV")); Will need designer input for that option.
Mutter patches: https://git.gnome.org/browse/mutter/log/?h=wip/underscan (pending review from Jasper) gnome-desktop dependency issue: https://bugzilla.gnome.org/show_bug.cgi?id=751814
Created attachment 306572 [details] [review] display: Add option to enable and disable overscan compensation -- New version that depends on the new gnome-desktop API
Created attachment 306573 [details] screenshot How it looks
(In reply to Cosimo Cecchi from comment #9) > Created attachment 306573 [details] > screenshot > > How it looks I'm guessing you hacked it so that the tick box would show, because I can't imagine why you'd want the internal display to show up that config option :)
Review of attachment 306572 [details] [review]: I'll let Allan look at the rest. ::: panels/display/cc-display-panel.c @@ +2232,3 @@ + /* overscan */ + if (!gnome_rr_output_is_builtin_display (output) && + gnome_rr_output_supports_underscanning (output)) Could we, either here or in gnome-desktop (or maybe in mutter?) check whether the display is actually a TV, for example, does it have 1080p/1080i, is it 16/9? And similar checks for CRT screens possibly.
A couple of comments on the UI itself: - I would prefer a switch, because the change has "physical" effects on the UI. - "Scaling for TV" makes me think that other parts of the UI, like the shell chrome, or applications will be scaled to appear bigger on the TV screen We need to convey that this is the switch will shrink the image on the TV to "uncrop" the default image, but without using negative connotations, because we don't want it to be seen as an "unbreak" my setup (because, we really should be default to unbroken, right).
(In reply to Cosimo Cecchi from comment #9) > Created attachment 306573 [details] > screenshot > > How it looks The UI looks OK to me, although the checkbox isn't the neatest/clearest approach (you have two labels rather than one, for example). Also, as Bastien pointed out, the effect of this control is quite dramatic. A switch might be a better choice for that reason. You could do something like: Fit TV Display [ On | Off ] Or: Adjust for TV [ On | Off ]
Created attachment 325272 [details] [review] display: add option to enable and disable overscan compensation Adds a switch that allows to control overscan compensation, when the driver supports it. Based on a patch by Tomeu Vizoso <tomeu.vizoso@collabora.com>
Created attachment 325273 [details] screenshot How it looks v2
Thanks for the feedback - I updated the patch as for comments.
(In reply to Cosimo Cecchi from comment #16) > Thanks for the feedback - I updated the patch as for comments. That looks like an interdiff. Can you post a squashed patch? Only change I would make would be to move the "adjust for TV" above "refresh rate", so the options are ordered in order of importance. Allan?
Created attachment 325401 [details] [review] display: add option to enable and disable overscan compensation -- Now with the full patch. I think I prefer it this way because of the two comboboxes being near each other, and because resolution and refresh rate are similar things. But I can easily change it if others think otherwise.
Review of attachment 325401 [details] [review]: Looks good, pending Allan's review on where the switch would go.
(In reply to Bastien Nocera from comment #19) > Review of attachment 325401 [details] [review] [review]: > > Looks good, pending Allan's review on where the switch would go. In my mind, the switch goes logically first - it's the "this is a TV" control, and "it's a TV" has consequences for refresh rate. Maybe that's just my naive way of looking at it though. :)
Created attachment 325442 [details] [review] display: add option to enable and disable overscan compensation -- Moved the switch above the refresh rate.
Review of attachment 325442 [details] [review]: > Based on a patch by Tomeu Vizoso <tomeu.vizoso@collabora.com> He's also marked as the author of the patch. So please either change this or don't forget --reset-author before committing :) Please branch for gnome-3-20 before committing. Thanks for driving this through.
Fixed author and branched for gnome-3-20 before pushing. Attachment 325442 [details] pushed as 47dcfee - display: add option to enable and disable overscan compensation