The goal
To create a notebook whose options, when the notebook is opened, are fixed regardless of edits done to the notebook.
E.g. WindowSize -> Automatic and WindowMargins -> 30 should be a starting value even if one has saved that notebook from full screen mode.
The motivation
Notebooks are shared, e.g. through Google Drive, and opened on different devices. It is annoying to open a notebook, which was previously used with 250% magnification, taking half of 4K screen, on a 13" laptop.
The question
Is there a good approach which is flexible, doesn't trigger dynamic warning and if possible works from a stylesheet?
I've thought that maybe something like WindowSize -> Dynamic[dynamic, Initialization :> (dynamic = init)] where dynamic and init are references to specific TaggingRules.
It won't work because notebook options are overwritten. Moreover, Initialization can be triggered when the Kernel is restarted which is not desirable.
Edit:
I have not received any answers so I'm moving tests I've done to an answer. I think they fit there and the goal is to reduce unanswered stack. But I will gladly accept any answer that fulfills all stated requirements.
FileChangeProtectionoption (forNotebook) looks interesting, might lead to a solution for your question. – Silvia Sep 06 '16 at 10:56FileChangeProtection -> None, I'm guessing maybe it also accepts a function value. – Silvia Sep 06 '16 at 11:09