Set Editor zoom percentage per installation, not per project

Seeing how nobody ever replied to this question in tech support subforum, I conclude that this is not currently possible. So I’d like to add it to a feature wish list.

Please make it possible to tie Editor zoom percentage (found at the bottom of the window between the Binder and the main Editor window) to an individual Scrivener installation instead of to a project, so it stays the same with whatever project is opened on a particular machine.

I usually work on the same project on two computers: one is a desktop with a big monitor and another is a small netbook with 10 inch screen. If I use the default 135% editor zoom, it looks just fine on the big desktop screen, but really huge on the netbook. And if I change editor zoom to 105% it looks just fine on the netbook, but really tiny on the desktop.

What I’d like to have is for zoom on the netbook installation to always stick to 105% and for the desktop installation to always stick to 135%, not to hand the value over with the project each time it is saved.

P.S. - This whole problem is due to fact that Scrivener has weird relationship with font sizes in Editor. I haven’t been able to understand why 12 pt on one machine looks so different to 12 pt on another (which prevents me from setting zoom to 100% and calling it a day). I’ve never had this weird problem with any text editor I’ve used. 12 pt always stayed 12 pt and usable on any screen size & resolution. Scrivener’s 12 pt is just not the same as, say, LibreOffice’s 12 pt. :slight_smile:

The bit at the end is interesting to me, mainly because I’ve never really heard of anything like that before, or seen it myself (at least, described as a problem). A 12pt font on my Windows laptop looks the same as on my netbook, and both look about the same as Windows running through a virtual machine, hosted on a Mac. I would more immediately suspect a difference in type settings on the two computers, perhaps in relation to differing screen resolutions? Are the text size settings the same, in Control Panel, on both machines? Are the monitors similar in pixel density? If not, maybe adjusting the system text size can help normalise matters.

Anyway, to the request, I’ll add it to the list. It’s a bit muddy in implementation because things aren’t as clear-cut as what computer you are using. Many people, for instance, plug their laptop into their main monitor when they get home—some even go on using both. It might be better to tie such a setting to a particular monitor, but that could get annoying for those that work with three monitors at once, that sort of stuff.

Sorry for the veeeery late reply. :slight_smile:

See, that’s exactly what I was talking about. In any other application 12 pt looks the same regardless of the particular computer’s screen resolution. If I have, say, a LibreOffice file with font set to 12, it looks just the same both on big PC and on small netbook. It’s only Scrivener where they look different on different screen resolutions, which I cannot understand. It feels like the font size is fixed in Scrivener, as in set not in pixels (for screen), but in millimeters (for print). Sounds a bit crazy, but that’s the only explanation I can think of.

I can make screenshots if that helps?

Sorry if I didn’t make myself clear enough the first time - English is not my native language.

There are probably some differences as we use Qt to program Scrivener rather than the native Microsoft libraries (hence a Linux build). I don’t know if that’s what you’re talking about though, because my expectations are different from yours. Nearly all of the software I use has a literal approach to printing font sizes so that if you set up a low-res screen next to a high-res screen, the text on the high-res screen will be smaller. I rarely use word processors of any type though, so maybe it’s more common in WYSIWYG style software. That’s an entirely different approach to displaying text, though. I’m not sure how comparable it can be to something like Scrivener that just displays text using the system rules for doing so (and again, have you tried adjusting the system DPI setting so that 12pt looks the same on both of your computers?).

It’s not the computers’ settings that are the problem. It’s Scrivener.

Let me show you.

On this screenshot you see Scrivener with zoom set to 100% against LibreOffice Writer with zoom set to 100%. The font face is the same (PT Sans), the font size is the same (14 pt), and yet there is a huge difference in displayed text.

To get the same view as seen in Writer I have to zoom Scrivener to 135%

If Scrivener text editor behaved as expected, there would be no problem at all, because in such case a 14 pt font on 100% zoom would look the same in all applications including Scrivener. However, as it is now, it looks the same in all applications except Scrivener.

And since I have to zoom to get the expected results, it naturally causes problems on lower resolutions.

Ah, I see what you mean. I misunderstood you to mean you were comparing two entirely different screens with one another and noting that the fonts were different sizes.

This is intentional. If you prefer text to be displayed at Microsoft’s standard 96 PPI (72 * (1 + 1/3)) scale off of literal, than just leave Scrivener’s zoom setting at 135%—that is precisely why we set it to that as the default out of the box, because that is what most Windows users are accustomed to. LibreOffice also acts like Word and other MS products in this regard, but unlike us, they label that amplification level as “100%” like Microsoft does—even though, strictly speaking, it’s not accurate in terms of print metrics, where a point is 1/72nd of an inch).

If that were all there were too it, we probably would have done the same—but we also had cross-platform considerations to weigh into the decision. On a Mac, 100% is not 1.333x the natural font size. So cross-platform users would find it very strange to bring a 14pt text over to Windows and find it noticeably larger on their screen than they are used to, but still set to 100%. Keeping the same baseline means cross-platform users can crank the setting down to 100%, since that is what they are used to working with as a scale for what 14pt feels like on a Mac.

[size=80]i Scrivener for Windows at 135%; (b) Ditto at 100%; © Microsoft Word at 100%; (d) Scrivener for Mac at 100%[/i][/size]

Incidentally, LibreOffice does the same thing we’re doing on the Mac, for all of the same reasons. The default out of the box zoom setting for a new document is 75%, to bring the physical display size of the rendered text down to what Mac users will expect (since its internal engine is based on Microsoft’s amplified value of 100%). :slight_smile:

Thank you for the explanation. Now I understand what is going on, and this actually brings me back to my original request to tie zoom to the installation instead of a project. For cross-platform compatibility, in fact.

I shall explain. The reason why I’m having trouble with desktop and netbook is obviously not Scrivener messing up font sizes, but rather the way different OS handle zoom.

On the desktop I have Windows 8.1. And on the netbook I have Xubuntu 14.04.

On Windows I have to zoom Scrivener up to 135% in order to have font look the same as in all the rest of Windows text editors. And on Linux I have to bring Scrivener back to 100% to achieve the same effect. I suppose that, unlike Windows, Linux doesn’t zoom anything by default, so when I bring a project off of Windows to Xubuntu netbook the fonts look huge compared to what I expect to see - because the project itself is zoomed up to 135% and the rest of OS is not. Just like with Mac, I suppose?

The only way around it is changing zoom on the project each time I switch computers. Which means that 2/3 of writing sessions start with irritation instead of imagination. :frowning:

What I suggest is:

  • tie zoom percentage to the particular installation instead of a project; make it an application setting rather than project setting.

This way any project opened on any device with any OS would automatically acquire zoom setting from Scrivener installation on this device and adapt accordingly. It would allow the same project to be opened at 135% on one device, at 100% on another etc. without having to manually set zoom each time a user switches platform.

I realise L&L doesn’t support Linux. However, if my reasoning is correct, then the users switching between Mac and Windows should be experiencing the same for the same reasons exactly. And while on big screens the difference is not all that huge judging by your screenshots, it’s worse for small screens on lower screen resolutions.

Now again, I realise that there might not be so many users who switch between platforms every day. However, it would be great if L&L at least evaluated such a change if that’s at all possible and doesn’t require rewriting Scrivener code from scratch. :slight_smile:

That’s an interesting point. In fact this already works “as expected” between Windows and Mac, because we do not use the same interface configuration file on both platforms. The zoom is 100% by default on Mac, and 135% on Windows, and if you change it either way that setting will only stick to the platform when you open the project. But naturally, the Linux version is really, down to the core, the Windows version—it uses the same exact configuration file.

If at some point the Linux version becomes official, maybe it could use its own interface file, though this isn’t a cut and dry thing. For example, would you really want to set up your Outliner columns twice, corkboard appearance settings or have to split the interface twice, etc? There is a whole lot more in the UI file than the zoom setting, and it would be kind of weird to break that setting out into its own special INI file, for just one thing. :slight_smile:

Likewise, I don’t think the idea of having a universal zoom would work best for everyone. Sometimes you need a different zoom per project—in fact we even support different zoom settings per split, because one document may need more amplification than another to be legible. Removing all of that flexibility for a single setting that impacts all projects immediately would probably put a lot of people out.

Yeah, people merely switching computers frequently throughout the day are in a minority, let alone people switching entire operating systems. That’s why I’m not sure if some of these ideas are worth reducing the current flexibility for. I definitely do see your point, I’m just not thinking of a really good solution (beyond laying options upon options upon options—which I don’t really consider to be a good solution).

When saving a new ‘layout’, I am given the option to save outline, corkboard, and metadata appearance options. What if zoom level were another optional thing to save into a layout?

I tend plug my 13" MB Air into a 21" monitor when I’m at home, and so I usually have one layout saved for each screen. I often have to adjust the zoom, or just let it be over-sized on my external monitor; but being able to save the zoom level in addition to all the other aspects of the layout would be quite useful to me, and in this instance, would be a passable ‘fix’ to the various zoom sizes Jaaaarne is dealing with.

Which actually means never, I suppose. :slight_smile: Well… okay.

Although I don’t see how it would be so different from Win and Mac versions having their own interface files. How Linux is so different from them that it having an interface file would mean having to set stuff up twice? Cannot Linux developers, say, take original Windows .ini and just change this default zoom?

Or maybe there is something that I myself can do since there is not enough demand for such changes? Maybe tweak something manually on my Linux installation? :slight_smile: There has to be a solution.

Yeah, I suppose you have a point in that a different UI file for Linux wouldn’t be outrageous, given that Mac/Win users already have to duplicate their settings. I suppose I had always figured it a nice thing that Win/Lin users didn’t have to, though. :slight_smile:

That is something I had thought about in the meanwhile, since it is an INI file, you should be able to find the spot in a text editor and create a script that adjusts the zoom setting—not sure if that is any easier than just pulling it out of a list though once you load the project. But if you have several projects you copy around it might be better to do them all at once.