URGENT HELP NEEDED
Recently the settings panel of Native Overleaf was broken by changes to Overleaf. Please help us get the app back in working order by discussing in issue #32!
Native Overleaf
Overleaf is a fantastic webtool for writing and cooperating on LaTeX documents. However, would it not be even better if it were to behave like a native app on your system?
Download directly for your system below!
Contents
- Contents
- Features
- Next Features
- Hints
- Download binary
- How it works
- Troubleshooting
- Compile your own
- Ideas, questions, contributions?
Features
- standalone native application
- system-based dark / light mode switching
- notifications of chats, comments and comment threads
- notifications of tracked changes
- preferences pane integrated in the Overleaf sidemenu
- automatic update checking and release notes display
- words-per-day tracker, reminder & graph (useful for the 200-words-per-day-doctrine)
Next Features
- addition to Homebrew for easier updates
- automated local backups of projects (planned for future version)
- date range selection for wordcount graph (planned for future version)
- integrate Overleaf extensions (if technically possible, discussed here: issue #8)
Hints
- The preferences pane can be found in the same left-side menu as the other Overleaf settings.
- You can run multiple instances of Native Overleaf, allowing you to keep multiple projects open at the same time and receive notifications for each project.
- The word count tracker tracks the total words in the project, so includes anything written by other authors. It counts the words in the compiled PDF, hence it must be recompiled to track a new change in the number of words.
- The word count tracker uses the local date of your system, hence inconsistencies may arise when switching time zones. If necessary, the word count can be reset using the button in the preferences pane.
- Notice on notifications: For notifications to work, the app must be allowed to by your system. You will only receive notifications for projects that are opened in the app. Multiple instances of the app can be openened at the same time. Important: to get notifications for chats, the chat window must have been opened at least once after loading a project (you can close it again). This is a limitation of the way we listen for new chat messages. If someone has a better idea, please get in touch.
- PDF dark mode works by inversing the colors and reversing the hue, meaning the white-grey-black scale is inversed while the colors remain largely the same. This can make graphics appear slightly different. PDF dark mode has been implemented by adjusting the PDF web viewer, not the source or the PDF itself, so downloaded files are untouched.
Download binary
Should you have any problems running the app, please comment on or open an issue! For now, the following binaries have been precompiled and can be downloaded directly:
Mac
Linux
Windows
If your platform / architecture is missing, let me know via the discussions page, or compile it yourself using the instructions below.
How it works
Using nativefier, the Overleaf website is wrapped as an Electron app and injected with JavaScript. While this is not optimally efficient and we may switch to a more efficient framework in the future, it does allow combining the webapp with native features for a large number of supported platforms.
Troubleshooting
If you have any problem running the app not fixed with these instructions, please comment on or open an issue!
Institutional login
This has been fixed since v1.4.0. If you encounter a related issue, look at and comment on issue #3.
Unable to open on Mac
If you get the message that "Apple can't verify this app doesn't contain malware", use right-click -> open to open it. If you get "This app is damaged and can't be opened", download the archive again and unzip it using Finder's built-in Archive Utility or ditto (otherwise codesigning metadata may be lost).
Wordcounts & projects
Currently, the wordcount tracking settings are globally. In the future we can change this to per-project settings. If you want this, please create an issue.
Compile your own
Want to adjust some settings or just build from scratch for your device? Easily create your own native version of Overleaf! In just four easy steps you can compile Overleaf as a native app for your device.
- Step 1: open your terminal and
cd
to wherever you want to install Overleaf. - Step 2: download this repository (e.g.
git clone https://github.com/fjwillemsen/NativeOverleaf.git
). - Step 3: install the package.json dependencies, and optionally the devDependencies if you want to change the JavaScript code.
- Step 4: use the
compile-all.sh
script (without codesigning) for inspiration, executing and modifying the commands as needed. Alternatively (not recommended), runnativefier 'https://overleaf.com' --name 'Overleaf' --app-version <latest version> --darwin-dark-mode-support --inject bundled_script.js --icon Icon/<select icon>
. If you have an Apple Silicon (M1/M2) Mac, be sure to add--arch arm64
as Homebrew may still be an Intel process in some cases. If you do not intend to distribute the app, leave out the codesigning, otherwise create your own self-signed certificate.
After being built, the app appears in the folder - you can copy it to another location if desired.
Ideas, questions, contributions?
Please use the GitHub discussions page for this project. This allows others to read and chime in as well. If you'd like to contribute, great! Feel free to submit pull requests via forks.