Deja View is a nifty lightweight Microsoft Word Add-In (VSTO) that automatically retains a document's view settings internally.
Deja View uses the Custom XML Parts embedding feature of Microsoft Word to save the application's view parameters within the document. When a document is opened Deja View looks for any previously embedded view parameters. If found, Deja View attempts to restore the view parameters of the Microsoft Word application window.
The Deja View add-in has one main user interface (UI) component, namely a ribbon group. An option dialog is made available from the Deja View ribbon group.
If the add-in is installed and loads correctly at the startup of Microsoft Word, it will be accessible under the "Add-ins" tab of the main ribbon.
If this button is pressed, all tags (custom XML parts) from Deja View will be remove from the active document. The button will be displayed as disabed when no Deja View tags are discovered. If the document is saved with Deja View enabled, view tags will be embedded and this button will immediately be enabled.
Use this button to manually check for updates to the Deja View add-in.
Also, mousing over this button will show a tooltip that displays the current version of Deja View.
This button will show the Deja View options dialog.
This option allows a quick and easy means to temporarily enable / disable the Deja View add-in.
If checked, Deja View will ask before saving view settings to this document.
If checked, Deja View will automatically check for updates when the add-in is loaded. It will not check more than once per day.
This button shows a dialog that displays the Deja View tags currently embedded in the active document.
This button shows a dialog that displays the current view parameters. If Deja View is enabled, these parameters will be saved to the document when the document is saved.
This button applies the last Deja View view parameters to the current document. This should automatically happen when a document is loaded. This button simply offers a manual method.
This button resets all options to the default. It prompts before performing the reset.
This button shows a dialog that displays the Deja View logs that correspond to the active document.
The Internet URL for Deja View to use when checking for updates. The default is https://dejaview.lexem.cc/autoupdate.
This option determines if Deja View will remember the document window's location. Default is checked. This allows users to reopen several documents, each returning to the same location on their screen.
This feature also allows for multiscreen displays. If a document is opened on a computer with a different number of display screens or a smaller resolution then the computer that the document was last saved on, so that the document would not be visible when displayed, Deja View will automatically detect that the document window is not visible on the present display and center the document on the primary screen.
Save and restore the visibility and width details for side navigation pane.
Save and restore the document window view layout. The value corresponds to Microsoft's WdViewType Enum.
Save and restore the document zoom level.
Save and restore the setting to show rulers.
Save and restore the settings for how the ribbon should be displayed. Typically the ribbon is expanded and pinned. But users may wish to hide the ribbon when viewing certain documents.
Invisibly and quietly, Deja View embeds a small XML segment (called "tags" in the user interface) into the XML-based Word document (.docx) when it is saved. Changes to application window view dimensions will only be retained if the document is saved.
The following is an example of an embedded XML segment:
<lexidata xmlns="Dejaview">
<navigation>
<width>231</width>
<show>true</show>
</navigation>
<application>
<left>3</left>
<top>3</top>
<width>700</width>
<height>788</height>
<windowstate>0</windowstate>
<view>1</view>
<draft>true</draft>
<rulers>true</rulers>
<zoom>100</zoom>
<ribbonheight>161</ribbonheight>
<location>
<dauid>4297f44b13955235245b2497399d7a93</dauid>
<uid></uid>
<top></top>
<left></left>
<ts></ts>
</location>
</application>
</lexidata>
The Dejaview.dll, Dejaview.dll.manifest, and Dejaview.vsto files have all been packaged by an installation project built using the Microsoft Installer tool.
The latest installation binary may be downloaded here: https://dejaview.lexem.cc/latest
Visual Studio Community 2022
Microsoft® Word for Microsoft 365 MSO (Version 2308 Build 16.0.16731.20052) 64-bit
Deja View is signed with a standard SHA256RSA certificate issued by Sectigo Public Code Signing CA R36. It is valid from 1/31/2023 to 2/1/2024.
If there is no support for the project I will be forced to resort to an untrusted self-signed certificate.
Extremely limited support will be offered at this time.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Copyright 2023 M. V. Pereira
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
M. V. Pereira - truthbearer@gmail.com
Project Link: https://github.com/mvp3/DejaView
Public Site: https://dejaview.lexem.cc
The original author of this project and its code is M. V. Pereira.
The code is very simple and much help was derived from online forums and Visual Studio Docs.