If you want to build your custom version of Moodle Desktop, please follow the Electron Guides that you will find in https://electron.atom.io/docs/
Please, consider the following:
- For building a Windows version you will need a Windows computer.
- The Mac version will require a Mac computer.
- The Linux version may require a Linux distribution (depending on the selected target).
Note also that if you want to publish your custom versions in the Windows or Apple stores, you will need to sign-up for a developer account (it costs money).
Moodle HQ provides a branding service of Moodle Desktop via the The Branded Moodle Mobile App. This service includes publishing in the stores and code signing.
I'm feeling lucky
If you are already familiar with Electron (or simply want to get your feet wet before diving deeper), you can get started easily. But first, you'll have to grab a copy of Moodle Mobile 2 from Github. See our docs here if you need help.
Once you have a copy, you'll see that there is a folder named desktop located in the root directory. This is where the Electron configuration file for the desktop app is located (aptly named "electron.js"). When we build our app, the distribution files will also be placed in this folder. The "electron.js" file defines the configuration for the desktop app with sane defaults. You can modify it if you want to (you don't really have to though) and use either of these scripts to build the desktop app :
npm run desktop.pack(only generates the package directory without really packaging it. This is useful for testing purposes)
npm run desktop.dist(to package in a distributable format (e.g. dmg, windows installer, deb package))
Deleting the profile
Sometimes the app can get into a bad state and you might want to delete its data. When using the desktop environment, you need to delete the contents of the profile folder.
- On Windows this can sometimes be found at C:\Users\ (your username) \AppData\Roaming\moodlemobile
Just quit the app, delete all the files in this folder, and open it again; you'll start with a fresh app.