Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here

nimx

GUI library

Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star half bd79095782ee4930099175e5ce7f4c89fa3ddabcd56fffcc7c74f6f2a2d46b27 (2 ratings)
Rated 4.75 out of 5
Subscribe to updates I use nimx


Statistics on nimx

Number of watchers on Github 282
Number of open issues 8
Average time to close an issue 4 days
Main language Nimrod
Average time to merge a PR about 9 hours
Open pull requests 4+
Closed pull requests 13+
Last commit about 2 years ago
Repo Created over 5 years ago
Repo Last Updated about 2 years ago
Size 2.83 MB
Organization / Authoryglukhov
Contributors8
Page Updated
Do you use nimx? Leave a review!
View open issues (8)
View nimx activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating nimx for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)
What people are saying about nimx Leave a review
It is awesome!

===========

nimx |travis| |nimble|

.. |travis| image:: https://travis-ci.org/yglukhov/nimx.svg?branch=master :target: https://travis-ci.org/yglukhov/nimx

.. |nimble| image:: https://raw.githubusercontent.com/yglukhov/nimble-tag/master/nimble_js.png :target: https://github.com/yglukhov/nimble-tag

Cross-platform GUI framework in Nim <https://github.com/nim-lang/nim>_.

Live demo in WebGL <http://yglukhov.github.io/nimx/livedemo/main.html>_

.. image:: ./doc/sample-screenshot.png

Quick start

Installation

.. code-block:: sh

nimble install nimx

Usage

.. code-block:: nim

# File: main.nim
import nimx.window
import nimx.text_field

proc startApp() =
    # First create a window. Window is the root of view hierarchy.
    var wnd = newWindow(newRect(40, 40, 800, 600))

    # Create a static text field and add it to view hierarchy
    let label = newLabel(newRect(20, 20, 150, 20))
    label.text = "Hello, world!"
    wnd.addSubview(label)

# Run the app
runApplication:
    startApp()

Running

.. code-block:: sh

nim c -r --threads:on main.nim

Supported target platforms

Nimx officially supports Linux, MacOS, Windows, Android, iOS, Javascript (with Nim JS backend) and Asm.js (with Nim C backend and Emscripten <http://emscripten.org>_).

Troubleshooting

Nimx is tested only against the latest devel version of Nim compiler. Before reporting any issues please verify that your Nim is as fresh as possible.

Running nimx samples

.. code-block:: sh

cd $(nimble path nimx | tail -n 1)/test
nake # Build and run on the current platform
# or
nake js # Build and run in default web browser

Reference

TODO

nimx open issues Ask a question     (View All Issues)
  • over 3 years Please try to support unicode strings
  • over 4 years can not support unicode character
nimx open pull requests (View All Pulls)
  • Exe icon implemented
  • add border shadow on button
  • Log Texture memmory
  • sample01_welcome.nim
nimx list of languages used
Other projects in Nimrod