GNOME Bugzilla – Bug 705511
Add support for HiDpi in the icon grid
Last modified: 2014-08-21 16:13:08 UTC
See patches -- note that the libgd changes are already in master, and this depends on the gjs patches from bug 705465
Created attachment 250870 [details] [review] build: update libgd to master
Created attachment 250871 [details] [review] world: adapt to libgd API changes It now has a column in the model for a pulse spinner on the icon.
Created attachment 250872 [details] [review] window: create the model after the window So that we can make sure to have an application window to read the monitor scale from when the model is populated.
Created attachment 250873 [details] [review] world: use cairo surfaces in the icon grid This enables HiDpi support.
Review of attachment 250871 [details] [review]: ::: src/world.js @@ +27,3 @@ MTIME: Gd.MainColumns.MTIME, SELECTED: Gd.MainColumns.SELECTED, + LOCATION: Gd.MainColumns.LAST, Please add the new column to the enum, so that I don't forget what the GTypes mean in the constructor.
Review of attachment 250870 [details] [review]: I'd prefer to see one commit that bump libgd and updates for API changes, in case I need to git-bisect.
Review of attachment 250872 [details] [review]: This means that multiple windows (which are supported, although not really used) cannot share the model. Isn't there any way around this? In the end, our icons are always symbolic themed icons, can't we use GIcon instead and let GtkCellRendererPixbuf deal with the scale complexity?
Review of attachment 250873 [details] [review]: ::: src/util.js @@ +103,3 @@ + let app = Gio.Application.get_default(); + let window = app.get_windows()[0]; + let scale = window.get_scale_factor(); This gives you a wrong value if you have two windows on different screens. ::: src/world.js @@ +17,3 @@ // Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +const Cairo = imports.gi.cairo; imports.cairo, not gi.cairo
We don't have an icon grid anymore, closing.