Black Lives Matter. Support the Equal Justice Initiative and read our statement here.
Falix Software

Falix Software

Access FalixNodes and manage your servers all from one place.

Website
https://software.falixnodes.net/
Repository
https://github.com/FalixNodes-Software/Desktop-App
Category
Utilities
Snapcraft
sudo snap install falixnodes
License
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License

Falix Software (Formly FalixNodes Software)

image

🔗 Links

Download

Windows:

Microsoft Store

Linux:

Snap Store

Websites

Software Website

Help Center

Other

License

Q&A for Developers

Why is Font Awesome included offline? You could use a script instead.

Yes, I could of ended up using one of code that includes Font Awesome with the software. The reason why I include Font Awesome with the software in the /src/fonts/ folder is for offline usage. This way, if the user goes offline unexpectly, icons will stay load. Something would look off if the icons didn't load.

Why Electron?

What is it?

Electron is an open-source software framework developed and maintained by GitHub. It allows for the development of desktop GUI applications using web technologies: it combines the Chromium rendering engine and the Node.js runtime. - Wikipedia

Why I use it

I, Korbs, am mostly comfortable and knowledgeable with web coding languages such as HTML, CSS, and JavaScript. Using Electron was the right approach for me, and I've acquired a huge amount of experience with it over the last two years. Cross-platform support was also shortened.

There are tons of other good reasons why to use Electron, you can read more about that here on Alibaba Cloud (Article).

Why all these requirements to just build it?

The reason why the software needs all these requirements like Python and Visual Studio(Desktop Development with C++) is because of technology that was coded into the software like Glasstron and XTerm.

🕑 Timeline

  • 2021
    • May
      • 25th - Upgrade Electron from v12 or v9.4.4 to v13
      • 27th or 28th - Stable release of v3.0.0 for Windows 10
    • June
      • 18th - Will be removed from the Snapstore and switch to AppImage
      • 18th - Release v3.1.0
    • December
      • 15th - v4.0.0 Beta opens
    • October
      • 19th - Upgrade requirements of NodeJS from v14 to v16
  • 2022
    • October
      • 18th - Upgrade requirements of NodeJS from v16 to v18

Push Notification

What is it?

A push notification works simiar to a native notification, where it pops up like any other notification. With push notifcations, the developer can send a notification at any time he or she wants. Since we're doing this in Electron, the app has to be opened to see the notification. I could let the app run in the background after it closes, but I refuse to, as that could have an impact on performance.

How to use it?

Falix Software is using a service called Pushy, which is a reliable push notification delivery system. It's also cross-platform and supports Electron application, meaning we can use Pushy API in the main file of Falix Software.

Everything is already setup in the main file, I've had it setup where can you send the title, message, and url for the push notification. You just need to use it right.

In the notification data, when sending a notification, it should look like this:

{
  "title": "Title of Notification",
  "message": "This is a message, with a brief explanation or a short description.",
  "url": "https://example.com/"
}

In Pushy's API, the data is set out like this:

title - ${data.title}

message - ${data.message}

url - ${data.url}

You can see these used in the main file.

A notification is clicked, a invisible window will open and will trigger the shell.openExternal('') command. The reason why we use a URL that has this command seperately, is because using shell.openExternal doesn't seem to work in the main file on the Linux platform, but has been tested to work fine on Windows 10.

If a URL isn't used in the notification, you'll be fine. The invisible window will load nothing at all, making it a dummy window.

If a message or title isn't used, it will default to undefined.

If you want, you can read Pushy's Docs.

🔧 Preparing to Build

Requirements

Downloading Source Code

Using Git

If you have Git already installed, run the following command to download and automatically extract the source code from our GitHub:

git clone https://github.com/FalixNodes-Software/Desktop-App/

Using GitHub CLI

If you have GitHub CLI already installed, run the following command to download and automatically extract the source code from our GitHub:

gh repo clone FalixNodes-Software/Desktop-App

If you don't have Git or GitHub CLI installed, you can download it manually from our GitHub or install Git or install GitHub CLI.

You can also download the source code manually and go from there.

Building

Installing Dependencies

FalixNodes Software uses Electron and other required packages to run the app and uses Electron Builder to package it up nicely. Run the following commands to install them:

npm install install

Make sure Electron says ^9.4.4 in the package.json, everything else can be updated to it's latest version.

The reason why we use Electron 9.4.4 is because the new terminal built-in won't work properly on later versions of Elecron.

Make sure Electron Builder are under devDependencies in the package.json file or it will refuse to build.

Running

After all required dependencies are installed, you should be able to run the software with the start command provided in package.json.

To run the start command, simply run the following command:

npm start

Create a Package

Wanna create an installer? You can do this with Electron Builder, there is already a build command ready which is provided in package.json.

To start building the installer, run the following command:

npm run build

NOTE: If you're using versions of Windows older than Windows 10, please change appx to exe in the build configuration found in package.json, appx files are for Windows 10 only.

If you're using Windows 10, Electron may have some issues building the APPX file, as we don't use Electron Builder for Window 10.

💡 Credits

Built and maintained by Korbs Studio.

Game Panel controls possible thanks to /webview/browser/ in Electron Sample Apps by Hokein.

Blur composition effect possible thanks to Glasstron by AryToNex.

not_used
Manage servers in client Area Manage servers in client Area

Something missing? Edit this app.

Keyboard Shortcuts

Key Action
/ Focus the search bar
Esc Focus the search bar and cleans it
Select the next search result
Select the previous search result
Enter Open the selected search result
cmdEnter Ctrl+Enter Open the selected search result in a new tab