Portable and lightweight cross-platform desktop application development framework
OTHER License
Bot releases are hidden (Show)
Published by shalithasuranga almost 3 years ago
Milestone v4.0.0 was closed with 31 issues.
shouldRunInBackground
option to background
.stdIn
as an optional input.stdOut
, stdErr
, pid
, and exitCode
.extensions
array globally or in a specific mode.extensions
array.extension
setting has 4 fields: id
, command
, commandLinux
,commandDarwin
, and commandWindows
.command
's (platform-specific command's) value accepts ${NL_PATH}
global variable.--nl-port={}
, --nl-extension-id={}
and --nl-token={}
enableExtensions
config.documentRoot
) via config. Now, it's possible to launch the app without a subdirectory in the URL.Now developers can use Neutralinojs as a part of their software with any programming language by spawning Neutralinojs as a child process.
Use exportAuthInfo
to write auth details to ${NL_PATH}/.tmp/auth_info.json
. Then the parent process can pick up access details there. Note that WebSocket communication needs to be initiated via extensions API/loader.
dispatch
: Sends an event to a specific extension.broadcast
: Sends an event to all connected extensions. Useful for sending shutdown signals.getStats
: Returns details about loaded extensions and connected extensions.checkForUpdates
: Send a request to a seed URL (JSON) and fetch update details.install
: Install updates based on the currently downloaded manifest.appClientConnect
and appClientDisconnect
: Occurs when a new app instance is launched and closed respectively.extClientConnect
and extClientDisconnect
: Occurs when a new extension is connected and disconnected respectively.extensionReady
can be used to implement immediate extension calls. This is implemented from the client-side with extensions.getStats
and extClientConnect
. This event gurantees that it will be triggered regardless of the extension's start time.NE_EX_EXTNOTC
: Thrown by extensions.dispatch
if the target extension is not connected.NE_UP_CUPDMER
: Thrown by updater.checkForUpdates
if the JSON update manifest is invalid or applicationId is not matching.NE_UP_CUPDERR
: Thrown by updater.checkForUpdates
if the updater API cannot fetch the manifest.NE_UP_UPDNOUF
: Thrown by updater.install
when the update manifest is not loaded.NE_UP_UPDINER
: Thrown by updater.install
for update installation errors.NL_PORT
also becomes 0.writeToLogFile
config option. Earlier, the log file was created even thisfalse
.NL_APPVERSION
: Value of the version
key in the config file.Get started: https://neutralino.js.org/docs
Published by shalithasuranga about 3 years ago
Milestone v3.0.0 was closed with 16 issues.
exitProcessOnClose
config.os.getPath(name)
to get known platform-specific folders.logging
) for enabling/disabling logging feature.ready
, clientConnect
and clientDisconnect
Get started: https://neutralino.js.org/docs
Published by shalithasuranga about 3 years ago
Milestone v2.8.0 was closed with 5 issues.
NL_PID
global variable to get the process ID.Get started: https://neutralino.js.org/docs
Published by shalithasuranga about 3 years ago
Milestone v2.7.0 was closed with 7 issues.
windowClose
event.app.exit()
function.Get started: https://neutralino.js.org/docs
Published by shalithasuranga about 3 years ago
Milestone v2.6.0 was closed with 5 issues.
*
in block/allow lists.nativeAllowList
in config.Neutralino.os.showDialogOpen
Get started: https://neutralino.js.org/docs
Published by shalithasuranga over 3 years ago
Milestone v2.5.0 was closed with 5 issues.
setFullScreen
, isFullScreen
etc.Get started: https://neutralino.js.org/docs
Published by shalithasuranga over 3 years ago
Milestone v2.4.1 was closed with 4 issues.
Get started: https://neutralino.js.org/docs
Published by shalithasuranga over 3 years ago
Milestone v2.4.0 was closed with 2 issues.
Get started: https://neutralino.js.org/docs
Published by shalithasuranga over 3 years ago
Milestone v2.3.0 was closed with 3 issues.
minWidth
, minHeight
, maxWidth
, maxHeight
, and resizable
Get started: https://neutralino.js.org/docs
Published by shalithasuranga over 3 years ago
Milestone v2.2.0 was closed with 3 issues.
--path=<path>
and --mode=<mode>
Get started: https://neutralino.js.org/docs
Published by shalithasuranga over 3 years ago
A patch version to replace c++ filesystem API with platform-specific code.
Get started: https://neutralino.js.org/docs
Published by shalithasuranga over 3 years ago
The v2.1.0 milestone was closed with 1 issue.
Get started: https://neutralino.js.org/docs
Published by shalithasuranga over 3 years ago
Implementation of v2 spec on Linux, Windows, and macOS.
Get started: https://neutralino.js.org/docs
Published by shalithasuranga over 3 years ago
Milestone v1.9.0 was closed with 8 issues.
Highlights
Now developers can have native message boxes in their Neutralinojs applications via the Neutralino.os.showMessageBox(Object options)
method. The options
object should contain the following properties.
string title
: Title of the message box.string content
: Message box's content.string type
: Type of the message box. Accepted values are INFO
, WARN
, ERROR
, and QUESTION
.Neutralinojs server will include the boolean yesClicked
property into the response only for the question-type message boxes.
Example:
const options = {title: "Hello", content: "This is an example", type: "INFO"};
Neutralino.os.showMessageBox(options, function() { }, function() { });
Please notice that the macOS version of Neutralino is not having the most features. We will try to bring it to the same level soon.
Published by shalithasuranga over 3 years ago
Milestone v1.8.0 was closed with 5 issues.
Highlights
res.neu
archive.--load-dir-res
pre-defined command line argumentres.neu
When you release your application with the neu release
command, all application resources will be bundled into the res. neu
file. Therefore, now your final application bundle has platform-specific binaries and one resource file. If you need to load resources from the app
directory, you can provide the --load-dir-res
command-line argument.
Please notice that the macOS version of Neutralino is not having the most features. We will try to bring it to the same level soon.
Published by shalithasuranga almost 4 years ago
Milestone v1.7.0 was closed with 7 issues.
Highlights
neu listen
command.Now you can access an array of command-line arguments of the binary via NL_ARGS
. --debug-mode
is an in-built option for every Neutralinojs application. For now, it enables live reloading for developers.
Now Neutralino.os.dialogOpen(options)
will accept an object as the parameter. See the following example.
Neutralino.os.dialogOpen({title: "My dialog", isDirectoryMode:true});
The neu listen
command will enable the live reload feature for developers. When the application is launched via either neu listen
command or --debug-mode
option, a modification on the app
directory will automatically reload your application. Make sure your port 8080
is free before trying this feature.
Please notice that the macOS version of Neutralino is not having the most features. We will try to bring it to the same level soon.
Published by shalithasuranga almost 4 years ago
Milestone v1.6.0 was closed with 5 issues.
Highlights
window.iconfile
property as an optional property.Each operating system has an option to display notifications. Neutralino.os.showNotification(properties, s, e)
will show a notification on the current operating system.
properties
accepts a JSON object with the options for displaying a notification.
{
"summary": "Title of the message",
"body": "Content of the message"
}
s
and e
are usual callbacks for a generic Neutralinojs API function.
window.maximize: <boolean>
in settings.json
If this option has true
, the main window will be maximized at the startup of the application. Otherwise, it will use the given height and width. The default value is false
.
Example:
{
"appname": "myapp",
"appport": "5006",
"mode": "window",
"url": "/",
"window": {
"title": "My app",
"width": "1000",
"height": "700",
"maximize": true
}
}
Please notice that the macOS version of Neutralino is not having the most features. We will try to bring it to the same level soon.
Published by shalithasuranga over 4 years ago
Milestone v1.5.0 was closed with 10 issues.
window.iconfile
feature was added to macOsNeutralino.filesystem.readFile
for handling non-existent files..mp3
file support was added to all platforms.url: <path>
in settings.json
url
setting value can be either /
or a custom URL. This will be the entry point of Neutralino application. If /
is provided, index.html
will be served otherwise custom URL content will be served. Default value is /
.
Example:
{
"appname": "myapp",
"appport": "5006",
"mode": "window",
"url": "/",
"window": {
"title": "My app",
"width": "1000",
"height": "700",
"iconfile": "neutralino.png"
}
}
Published by shalithasuranga over 4 years ago
Milestone v1.4.0 was closed with 11 issues.
window.title
option added. Older setting was used as a shared identifier for url path and title whereas now appname
is kind of app id (won't support spaces). Thus, window.title
refers to the Native window title which supports spaces etc.
More native window properties/configuration added.
window.alwaysontop [bool]
on all platforms
If true
window will appear always on top.
window.borderless [bool]
on all platforms
If true title bar will be hidden and allows developer to make their own title bar using CSS.
window.iconfile [string]
on Windows and Linux
Sets an image/icon for Native window and it will appear on the task bar of the operating system. Transparent .png
is recommended.
NL_CWD
global variable was added to all platforms. it has the current working directory.
Binary file support was added to all platforms. Eg: .png
like images will be served by the Neutralino file server.
Quick build script was added to the macos as well. (bash build.sh macos
to build and copy all the things to dist
)
Example settings.json
structure for this version
{
"appname" : "myapp",
"appport" : "5006",
"mode" : "window",
"window" : {
"title": "My app",
"width" : "1000",
"height" : "700",
"fullscreen" : false,
"alwaysontop": true,
"borderless": false,
"iconfile": "neutralino.png"
}
}
Published by shalithasuranga almost 5 years ago
Neutralino.debug.log()
for all platformsNeutralino.app.exit()
for all platformsEg:-
{
"appname" : "myapp",
"appport" : "5006",
"mode" : "window",
"window" : {
"width" : "1000",
"height" : "700",
"fullscreen" : true
}
}
Milestone v1.3.0