Unity panel height and launcher width don't scale with system DPI/font settings

Bug #1075417 reported by Daniel van Vugt
80
This bug affects 21 people
Affects Status Importance Assigned to Milestone
Unity
Fix Released
Medium
Brandon Schaefer
ubuntu-nexus7
Confirmed
Medium
Unassigned
unity (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

System Settings > Universal Access > Text size = Larger
or
gsettings set org.gnome.desktop.interface text-scaling-factor 1.0
increasing the value above 1.0 as desired.

Most things scale properly except Unity. Most of Unity's fonts scale correctly, but elements like the launcher, tooltips, and panel don't grow like they should.

I'm not sure if bumping the Gnome font size like this is the right approach or we should be doing something more like:
    xrandr --dpi ...

Tags: mobile nexus7

Related branches

tags: added: mobile nexus7
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I'd be surprised if this was not a duplicate... :)

Changed in unity:
milestone: none → 7.0.0
Revision history for this message
Matt Fischer (mfisch) wrote :

Daniel,

Can you explain more about what is not scaling here? I bumped the font size and logged out/in and the dash looks fine. Maybe even take a picture if you can?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The fonts grow, but the panel height itself does not. There's no space left around the larger font. Similarly, the launcher width should scale with the DPI setting and not have to be set manually. In the dash, I noticed the larger fonts did not make the icons more spread out, so many icon labels are clipped/truncated.

For a correct implementation of scaling an icon grid to fit larger fonts look at the System Settings dialog (gnome-control-center).

Revision history for this message
Chris Wayne (cwayne) wrote :

@Daniel,

Did you log out/back in after changing the text size? After doing that, my dash looks just fine, but before I logged in/out, the icons were a bit misaligned. Perhaps there is a bug here though that the launcher should scale, but technically that has nothing to do with text size, does it?

Changed in ubuntu-nexus7:
status: New → Incomplete
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Unity panel/launcher don't scale with system DPI/font settings

OK, forget the dash. It seems better after restarting. But the panel, launcher and tooltips all fail to scale, despite the fact that their fonts do.

summary: - Unity panel/launcher/dash don't scale with system DPI/font settings
+ Unity panel/launcher don't scale with system DPI/font settings
description: updated
Changed in ubuntu-nexus7:
status: Incomplete → New
summary: - Unity panel/launcher don't scale with system DPI/font settings
+ Unity panel/launcher width don't scale with system DPI/font settings
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Unity panel/launcher width don't scale with system DPI/font settings

As I mentioned on a couple of mailing lists in July:

"I would hope it's obvious to everyone, but it's not the font you want to explicitly scale. It's everything you want to scale based on the detected monitor DPI. Something like:

panel_height_inches = 0.25
panel_height_pixels =
    panel_height_inches * gdk_screen_get_resolution(screen)

And fonts should scale automatically if not already, when you:
    gdk_screen_set_resolution(screen, DPI)

[http://developer.gnome.org/gdk/stable/GdkScreen.html#gdk-screen-get-resolution]"

Revision history for this message
Chris Wayne (cwayne) wrote :

I can confirm that the font's look fine, but the launcher does not scale.

Changed in ubuntu-nexus7:
status: New → Confirmed
Chris Wayne (cwayne)
Changed in ubuntu-nexus7:
importance: Undecided → Medium
Omer Akram (om26er)
Changed in unity:
importance: Undecided → Medium
Changed in unity (Ubuntu):
importance: Undecided → Medium
status: New → Confirmed
Changed in unity:
status: New → Confirmed
summary: - Unity panel/launcher width don't scale with system DPI/font settings
+ Unity panel height and launcher width don't scale with system DPI/font
+ settings
Stephen M. Webb (bregma)
Changed in unity:
milestone: 7.0.0 → 7.0.1
Stephen M. Webb (bregma)
Changed in unity:
milestone: 7.0.1 → 7.2.0
Revision history for this message
Otus (jan-varho) wrote :

This makes Unity very difficult to use on retina-like screens, or even a 1080p 13" laptop (160 DPI). If you make fonts large enough to be comfortably visible, text gets clipped.

The default theme's window decorations also look ugly, because the icons are constant size... but that may be a different bug.

Stephen M. Webb (bregma)
Changed in unity:
status: Confirmed → Triaged
Changed in unity (Ubuntu):
status: Confirmed → Triaged
description: updated
Revision history for this message
Oscar Tiderman (oscar-tiderman) wrote :

Surprised that this is not a more pressing issue, higher resolutions start rolling out on high end laptops all over and Unity is not fit for fight here. I just got a 3200x1800 13.3" laptop and using Unity on this screen is not for the faint of heart. Sure I could scale everything with xrandr but that is just an ugly workaround. Hope to see some fast improvement in this area, make Ubuntu ready for high end as well.

Changed in unity:
status: Triaged → In Progress
assignee: nobody → Brandon Schaefer (brandontschaefer)
Changed in unity (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity - 7.1.2+14.04.20140220-0ubuntu1

---------------
unity (7.1.2+14.04.20140220-0ubuntu1) trusty; urgency=low

  [ CI bot ]
  * Add dynamic HiDPI support to the launcher. (LP: #1075417)
  * Add dynamic HiDPI support to the tooltips.
  * Add dynamic HiDPI support to the quicklist.
  * The decor now scales with the DPI value.

  [ Brandon Schaefer ]
  * Remove the nux::Property panel_height; Replace it with a function.
    Now PanelStyle holds up to monitors::MAX panel_height. Now to get
    the panel height for the monitor you just use PanelHeight(int
    monitor). Added a signal panel_height_changed() that will emit the
    new panel height, and the monitor that was changed. Its not
    currently used. (LP: #1075417)
  * UnitySettings: use proper gnome scaling-factor

  [ Marco Trevisan (Treviño) ]
  * UnitySettings: use proper gnome scaling-factor
  * DecoratedWindow: add menu
  * DecoratedWindow: make sure that the top_layout exist when setting up
    the decorations If there's no layout, then we don't need any
    texture. Also this might cause a crash if a window is about to be
    mapped but not yet fully framed. (LP: #1281610)

  [ Sebastien Bacher ]
  * Drop g-s-d override, unity-settings-daemon landed
 -- Ubuntu daily release <email address hidden> Thu, 20 Feb 2014 16:25:16 +0000

Changed in unity (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Owais Lone (loneowais) wrote :

I have a HighDPI laptop and would like to help test these changes as I'm running 14.04. I installed the latest unity but it didn't scale automatically. I had to change `/org/gnome/desktop/interface/scaling-factor` to 2 in order to make unity scale.

It still does not scale text in quicklists, panel, tooltips, alt-tab and dash. Rest of the Gnome apps (Gtk3) scale perfectly well.

Changed in unity:
status: In Progress → Fix Committed
Revision history for this message
Stephen M. Webb (bregma) wrote :

Fix Released in Unity Unity 7.2.0.

Changed in unity:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.