After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 410633 - User-specified zoom level
User-specified zoom level
Status: RESOLVED FIXED
Product: evince
Classification: Core
Component: general
0.6.x
Other All
: Normal enhancement
: ---
Assigned To: Evince Maintainers
Evince Maintainers
: 485273 553234 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-02-22 01:44 UTC by Philip Ganchev
Modified: 2013-01-07 16:29 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement



Description Philip Ganchev 2007-02-22 01:44:33 UTC
Please add a function to allow the user to specify an arbitrary zoom level, such as 88.7% that can better fit specific document content and window size.
Comment 1 Philip Ganchev 2007-02-22 02:03:30 UTC
Ideally, the zoom level can be specified using a text box as an item under the View menu.  It would be preceded by the caption "Zoom: " that would have the accelerator "Z".  The text box would show the current zoom, as grayed out text.  When the menu item is activated, the text would be highlighted, allowing the user to enter a new zoom level.  Pressing Enter would close change the zoom and close the menu.

If it is not possible to do it using menu items directly, it can be done using a zoom bar or a dialog box.
Comment 2 Mariano Suárez-Alvarez 2007-02-22 09:00:39 UTC
Wouldn't Zooming to a selection provide a much more useful UI for this?

Entries in menus is hopefully against the HIG...
Comment 3 Philip Ganchev 2007-02-22 11:43:26 UTC
In some cases yes, because it is more direct -- you don't have to deal with numbers.  

But it is more convenient to specify a number
* if you know what the it is from experience, or
* to zoom out by a lot
* to repeatedly switch between two specific zoom levels while viewing a document.

The selection is laborious and requires dexterity.
Comment 4 Philip Ganchev 2007-02-22 23:13:29 UTC
I have changed my mind somewhat.  I still believe that there is a need for more precise zooming that does not involve the mouse.  The current zooming is too coarse in some cases, and selecting a region to zoom into can be ergonomically difficult.

But while absolute zoom is discoverable, it hinders direct manipulation.  To specify an absolute zoom, you need to think "what is my current zoom?  OK, now I need to multiply that number by about 1.5.  Let's see how that looks.  No, I guess that was too much -- let's try a slightly smaller number." and so on.

There are better ways to provide precise zooming:
* A finer zoom level, say using the Shift key as a modifier: "=" zooms, "Shift+=" fine-zooms, "-" zooms out, "Shift+-" fine-zooms out.
* Convenient selection for zoom-to-selection.  E.g., constrain the selection to the window's current aspect ratio.
* Zoom centered on the content under the pointer, if the mouse is pressed while zooming.
* Fast, responsive zoom, so that pressing "+" 8 times takes about as long as directly zooming in 8 levels would.
* Undo zoom level changes to a couple of levels.

Should I repost the bug with better wording?
Comment 5 Nickolay V. Shmyrev 2007-02-22 23:53:08 UTC
Philip, thanks a lot for your suggestions, some of them are really interesting. For example let's take zoom to selection first, we already have such bug in bugzilla. Are you interested to look into it?
Comment 6 Philip Ganchev 2007-02-23 02:58:49 UTC
You are referring to bug 324031.  

I've posted the appropriate ideas against bug 324031.  I'd be happy to discuss and post the suggestions in the right places.  But I don't think I will have time to implement it.  I have a lot of time pressure that will prevent me from learning C and the Evince codebase.

In the worst case, I wanted to publish the ideas.

As I understand, the third suggestion above extends bug 315198 and the supposed solution for 300641 and 303884 (which I don't see working in version 0.1.6).
Comment 7 Bryan W Clark 2007-05-07 18:44:48 UTC
I don't like adding lots of fine controls on the movement system and regretably we've done this a number of times.  They tend to add lots of complexity in a couple of ways.  Either we have to expose them in the UI so that people can find and use the controls in questions, which will make the menus large and cumbersome for most people.  Or we hide them from the UI to avoid clutter and the people who might benefit from their functionality don't ever find them unless they play with Evince a lot.  

Did you know that Alt-Up/Down isn't the same as Up/Down?  
Shift-PageUp/Down traverses 10 pages instead of one.  :)

And it's not that some of these aren't useful and there probably are a number of people who rely on them.  But we're filling up the keybindings with easter eggs.  I worry we're going to have conflicts if / when we want to add new features like better zooming, annotations, and form support (which we can deal with when we get there).  In the simplest argument, all the hidden keybindings end up being the command line interface to evince that only the advanced users get advantage of and I don't like going down that route.  It's often a little harder, but worth it to present the best experience to all the users.

On the bright side!  I think most of your other issues are actually fixed and I think the zoom selection support is something we should have.  I made comments on that bug as well.
Comment 8 Phil 2007-06-03 01:45:26 UTC
Having numerical zoom levels is useful to scale a document to the correct real life size.
Evince appears to display everything at 75 DPI instead of the actual resolution.  So, on my 96 DPI LCD monitor everything appears to be too small at 100% zoom.  Zooming to 128% would give me the right scaling.
Comment 9 Carlos Garcia Campos 2007-06-03 09:39:47 UTC
(In reply to comment #8)
> Having numerical zoom levels is useful to scale a document to the correct real
> life size.
> Evince appears to display everything at 75 DPI instead of the actual
> resolution.  So, on my 96 DPI LCD monitor everything appears to be too small at
> 100% zoom.  Zooming to 128% would give me the right scaling.
> 

This is already fixed since evince 0.7 (see bug #318285). What evince version do you have? if it's >= 0.7, please reopen that bug again. 
Comment 10 Phil 2007-06-03 09:51:34 UTC
I have 0.5.1 (came with Fedoce Core 5).
Sorry, I did not find the other bug.  I tried searching for evince and zoom since bugzilla does not accept three letter search terms like DPI.

Comment 11 Carlos Garcia Campos 2007-10-11 10:30:28 UTC
*** Bug 485273 has been marked as a duplicate of this bug. ***
Comment 12 Carlos Garcia Campos 2008-09-22 10:36:30 UTC
*** Bug 553234 has been marked as a duplicate of this bug. ***
Comment 13 Stefan Sauer (gstreamer, gtkdoc dev) 2011-10-30 09:22:22 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > Having numerical zoom levels is useful to scale a document to the correct real
> > life size.
> > Evince appears to display everything at 75 DPI instead of the actual
> > resolution.  So, on my 96 DPI LCD monitor everything appears to be too small at
> > 100% zoom.  Zooming to 128% would give me the right scaling.
> > 
> 
> This is already fixed since evince 0.7 (see bug #318285). What evince version
> do you have? if it's >= 0.7, please reopen that bug again.

Actually the dpi thing seems to be still not fixed. I am on a machine using ubuntu lucid (LTS) right now, that ships evince 2.30.3. I want to work with some lego assembly instructions and a 1:1 display is crucial as it shows parts in original size. On the screen I am not able to get it show things at the correct size (which I would expect at 100% zoom ratio).

My display is an LCD on a lenovo T410. Acording to http://members.ping.de/~sven/dpi.html

Horizontal resolution:  pixels 
Vertical resolution:   pixels 
Diagonal:   inches (35.81cm)
Display size: 11.96" × 7.47" (30.37cm × 18.98cm) = 120.43 PPI, 0.2109mm dot pitch, 14504 PPI²

The only place I find dpi setting is on the Apperance/Font settings and there it says 96. Changing that seems to have no effect on evince though.
Comment 14 Stefan Sauer (gstreamer, gtkdoc dev) 2011-10-30 09:32:36 UTC
Actually it is fixed. Also the font dpi settings are indeed unrelated. What matters are the dpi info in the xserver:

# xdpyinfo | grep resolution:
  resolution:    96x96 dots per inch
# xrandr --dpi 120
# xdpyinfo | grep resolution:
  resolution:    120x120 dots per inch

And then it works fine. Sorry for the noise. Wonder if evince could do anything to bring that to peoples attention.

Unfortunately the presentation mode seems to switch to Best-Fit. Would be nice if the top-toolbar could disappear after a short timeout like in totem.
Comment 15 José Aliste 2013-01-07 16:29:45 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.