Next-level academia! Repository for the Native Overleaf project, attempting to integrate Overleaf with native OS features for macOS, Linux and Windows.

Overview

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?

switching between system light and dark mode

Download directly for your system below!

Contents

Features

  • standalone native application
  • system-based dark / light mode switching
  • notifications of chats, comments and comment threads
  • preferences pane integrated in the Overleaf sidemenu
  • automatic update checking
  • words-per-day tracker, reminder & graph (useful for the 200-words-per-day-doctrine)

notification badgecount notification center showcase notification center wordcount hour preferences pane wordcount overview graph

Next Features

  • automated local backups of projects (planned for future version)
  • notifications for tracked changes (planned for future version)
  • integrate Writeful for Overleaf extension (future version if technically possible)

Looking to contribute?

Tips

  • 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 reflect recent changes.
  • 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 background, so you will not get notifications while working in a project. 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.

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 feature with a large number of supported platforms.

Download binary

If there is interest in this project, I will add it to Homebrew for easy updates. 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.

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 in v1.4.0. If you encounter a related issue, look at issue #3 or open a new issue.

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), run nativefier '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.

Comments
  • Can't open app on macOS M1

    Can't open app on macOS M1

    Hey, I just downloaded the ARM version (1.3.1) for macOS and upon launching, I get the message:

    "Overleaf” is damaged and can’t be opened. You should move it to the Bin.

    Quick update: The x64 works

    runtime error 
    opened by smeingast 10
  • Trouble using institutional login

    Trouble using institutional login

    opened by fjwillemsen 3
  • Dark mode does not remember whether to include PDF

    Dark mode does not remember whether to include PDF

    I always work in dark mode, but prefer the PDF to be displayed regularly, so I deselect the "Include PDF" button in the app menu. However, when quitting/reopening the app, this setting is always reset and the PDF is displayed in dark mode, too, so I always have to manually toggle the "Include PDF". Perhaps it would be possible for the app to remember the settings?

    bug 
    opened by smeingast 1
  • Optimizations

    Optimizations

    Hi,

    I wanted to try this out after seeing you on Reddit. I was able to run the software on my M1 Macbook, but it will not let me log in via my Google account as I get the message "This browser or app may not be secure. Try using a different browser. If you’re already using a supported browser, you can try again to sign in." When this happens, I cannot even back out to try another option.

    bug 
    opened by kevinkarnani 1
  • Dark Mode Options not Visible

    Dark Mode Options not Visible

    Floris-Jan,

    I just downloaded your app, and am using the win32 x64 release on a Windows 10 machine.

    Where is the option/shortcut to enable dark mode? I am unable to access the native-overleaf preferences menu, neither in the project page nor in a file directly.

    Also, I receive a popup from the `word count' option which promptly disappears after outputting a red error message.

    Best regards,

    Jarmill

    opened by Jarmill 2
  • Relative numbering for Overleaf

    Relative numbering for Overleaf

    Hey!

    I am using the Overleaf editor using the Vim keybindings and I will find very useful to have the possibility of use a relative numbering for the editor, just like it is implemented using this Chrome extension

    Any idea if this could be easily implemented in this project?

    opened by 0xAdriaTorralba 0
  • Chrome extensions support?

    Chrome extensions support?

    Thanks for this tool @fjwillemsen. Super useful. Do you know how one could use SLext from within? SLext's has a super useful command bar, that I use quite frequently.

    enhancement 
    opened by tferr 2
Releases(v1.7.6)
Owner
Floris-Jan Willemsen
Hi! I am Floris-Jan Willemsen, PhD student computer science in Amsterdam. This profile hosts both research projects and private projects.
Floris-Jan Willemsen
🆙 Upscayl - Free and Open Source AI Image Upscaler for Linux, MacOS and Windows built with Linux-First philosophy.

Upscayl ?? Free and Open Source AI Image Upscaler Upsacyl.Demo.mp4 Upscayl is a cross-platform application built with the Linux-first philosophy. This

Upscayl 5.1k Sep 21, 2022
A modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux and Web

简体中文 | English Koodo Reader A cross-platform ebook reader Download | Preview | Roadmap | Document Preview Feature Format support: EPUB (.epub) Scanned

Troye Guo 8.6k Dec 29, 2022
Hacker Tools cross-platform desktop App, support windows/MacOS/LInux ....

Hacker Tools cross-platform desktop App, support windows/MacOS/LInux ....

51pwn 29 Jan 8, 2023
A guide that teach you build a custom version of chromium on macOS/Windows/Linux that supporting hardware/software HEVC decoding.

enable-chromium-hevc-hardware-decoding A guide that teach you build a custom version of chromium on macOS/Windows/Linux that supports hardware/softwar

Sta Zhu 778 Jan 1, 2023
🎛 Desktop application (Windows / macOS / Linux) for Home Assistant built with Electron

Home Assistant - Desktop Desktop App (Windows / macOS / Linux) for Home Assistant built with Electron Installation Just download the latest version fo

Pheelix 12 Dec 11, 2022
🎛 Desktop application (Windows / macOS / Linux) for Home Assistant built with Electron

Home Assistant - Desktop Desktop App (Windows / macOS / Linux) for Home Assistant built with Electron Installation Just download the latest version fo

Ivan Prodanov 4 Sep 22, 2022
An Anime Game launcher for Linux with automatic patching fixing detection of Linux/Wine and telemetry disabling

An Anime Game launcher for Linux with automatic patching fixing detection of Linux/Wine and telemetry disabling

An Anime Team 367 Jan 4, 2023
Medusa on steroid, take your medusa project to the next level with some badass features 🚀

medusa-extender Full documentation website Medusa on steroid, take your medusa project to the next level with some badass features ?? The extender pro

Adrien de Peretti 200 Jan 3, 2023
Inter Process Communication Module for node supporting Unix sockets, TCP, TLS, and UDP. Giving lightning speed on Linux, Mac, and Windows. Neural Networking in Node.JS

Inter Process Communication Module for node supporting Unix sockets, TCP, TLS, and UDP. Giving lightning speed on Linux, Mac, and Windows. Neural Networking in Node.JS

Node IPC 43 Dec 9, 2022
An open-source, blazing fast code editor for Windows, Mac, and Linux.

Thermite An open-source, blazing fast code editor for Windows, Mac, and Linux. About Thermite is a Blazing Fast, Open-Source, Cross-Platform Code Edit

Keston 4 Oct 25, 2022
Requestly Desktop App (Mac, Linux, Windows)

Requestly Desktop App Requestly Desktop App. Debug your network request across all apps (Safari, Chrome, Firefox, Brave...) using a single app. Direct

Requestly 14 Jan 2, 2023
This is an unofficial front end for Hacker News, reminiscent of the Windows XP era Outlook email client on a Windows XP default desktop

Hacker XP Hacker News styled as the Windows XP Outlook email client. Try out Hacker XP here! Description This is an unofficial front end for Hacker Ne

null 19 Jul 12, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A lightweight, standalone package to integrate full PWA features into Remix 💿

Remix PWA PWA integration & support for Remix Remix PWA is a lightweight, standalone npm package that adds full Progressive Web App support to Remix ?

Abdur-Rahman 220 Jan 3, 2023
MSP Sentry Open Source repository. Integrate Sentinel One with ConnectWise (Or whatever you want)

MSPSentry-FOSS Integrate Sentinel One with ConnectWise Manage. Requirements Docker Node.js if you don't want to use a container (Not recommended) Some

Ted Williams 5 Sep 4, 2022
This repository demonstrates how to integrate your Dialogflow agent with 3rd-party services services using a Node.JS backend service

This repository demonstrates how to integrate your Dialogflow agent with 3rd-party services services using a Node.JS backend service. Integrating your service allows you to take actions based on end-user expressions and send dynamic responses back to the end-user.

ddayto 10 Jul 21, 2022
solana-base-app is a base level, including most of the common features and wallet connectivity, try using `npx solana-base-app react my-app`

solana-base-app solana-base-app is for Solana beginners to get them up and running fast. To start run : run npx solana-base-app react my-app change th

UjjwalGupta49 33 Dec 27, 2022