Merge lp:~azzar1/unity/round-gtk-scaling-to-closest-integer into lp:unity

Proposed by Andrea Azzarone
Status: Merged
Approved by: Marco Trevisan (Treviño)
Approved revision: no longer in the source branch.
Merged at revision: 4215
Proposed branch: lp:~azzar1/unity/round-gtk-scaling-to-closest-integer
Merge into: lp:unity
Diff against target: 21 lines (+2/-2)
1 file modified
unity-shared/UnitySettings.cpp (+2/-2)
To merge this branch: bzr merge lp:~azzar1/unity/round-gtk-scaling-to-closest-integer
Reviewer Review Type Date Requested Status
Marco Trevisan (Treviño) Approve
David Jordan (community) Approve
Review via email: mp+313459@code.launchpad.net

Commit message

Round gtk scaling factor to closest integer.

Description of the change

Round gtk scaling factor to closest integer.

To post a comment you must log in.
Revision history for this message
Omer Akram (om26er) wrote :

What's the impact of this one ? Will scaling of 1.68 effectively result in 2X scaling ?

Revision history for this message
Andrea Azzarone (azzar1) wrote :

This will not affect unity scaling, neither text scaling. Just gtk
window scaling that is integer. So yes 1.68 will be 2.

On Fri, Dec 16, 2016 at 8:34 PM, Omer Akram <email address hidden> wrote:
> What's the impact of this one ? Will scaling of 1.68 effectively result in 2X scaling ?
> --
> https://code.launchpad.net/~azzar1/unity/round-gtk-scaling-to-closest-integer/+merge/313459
> You are the owner of lp:~azzar1/unity/round-gtk-scaling-to-closest-integer.
>
> Launchpad-Message-Rationale: Owner
> Launchpad-Message-For: azzar1
> Launchpad-Notification-Type: code-review
> Launchpad-Branch: ~azzar1/unity/round-gtk-scaling-to-closest-integer
> Launchpad-Project: unity

Revision history for this message
David Jordan (dmj726) wrote :

Will test shortly on 14" and 17" machines, though I expect to see some issues with text size, qt scaling, etc.

Revision history for this message
David Jordan (dmj726) wrote :

The sudden switch in scaling factor when the user manually picks say 1.68 is pretty jarring, and I'm not sure it would be readily understood why it's happening, especially when text size changes at each step.

Let's leave the manual scaling alone and just focus on defaulting to scales we can represent perfectly.

review: Needs Fixing
Revision history for this message
David Jordan (dmj726) wrote :

Actually, digging into this more, I'd say this is a minor improvement (moving the sudden, size increase to 1.5x instead of having the jump at 2x), so I'm definitely fine with this patch.

It's not a fix for bug #1649736 though.

review: Approve
Revision history for this message
Andrea Azzarone (azzar1) wrote :
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Looks good, thanks.

review: Approve
Revision history for this message
David Jordan (dmj726) wrote :

Looks good to me!

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Thanks for the patch!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'unity-shared/UnitySettings.cpp'
--- unity-shared/UnitySettings.cpp 2016-11-30 11:06:15 +0000
+++ unity-shared/UnitySettings.cpp 2016-12-20 16:33:36 +0000
@@ -346,7 +346,7 @@
346 const auto dpi = std::max(dpi_x, dpi_y);346 const auto dpi = std::max(dpi_x, dpi_y);
347347
348 if (dpi > DPI_SCALING_LIMIT)348 if (dpi > DPI_SCALING_LIMIT)
349 scale = static_cast<int>(std::lround(scale * dpi / DPI_SCALING_LIMIT));349 scale = static_cast<int>(scale * std::lround(dpi / DPI_SCALING_LIMIT));
350 }350 }
351351
352 return scale;352 return scale;
@@ -423,7 +423,7 @@
423 {423 {
424 changing_gnome_settings_ = true;424 changing_gnome_settings_ = true;
425 changing_gnome_settings_timeout_.reset();425 changing_gnome_settings_timeout_.reset();
426 unsigned integer_scaling = std::max<unsigned>(1, scale);426 unsigned integer_scaling = std::max<unsigned>(1, std::lround(scale));
427 double point_scaling = scale / static_cast<double>(integer_scaling);427 double point_scaling = scale / static_cast<double>(integer_scaling);
428 double text_scale_factor = parent_->font_scaling() * point_scaling;428 double text_scale_factor = parent_->font_scaling() * point_scaling;
429 glib::Variant default_cursor_size(g_settings_get_default_value(gnome_ui_settings_, GNOME_CURSOR_SIZE.c_str()), glib::StealRef());429 glib::Variant default_cursor_size(g_settings_get_default_value(gnome_ui_settings_, GNOME_CURSOR_SIZE.c_str()), glib::StealRef());