# Nitrogen Desktop Experience (NDE) This is a project I've had ideas about for a few years. The end goal is to create a DE (Desktop Environment) that can alter itself at runtime using various desktop agents which dictate the look and feel. For example: + A default desktop agent which provides a basic usable desktop + Another desktop agent to provide a macOS-like look and feel + A third desktop agent better suited for small screens, like phones and tablets --- ## Components + [`libnde`](src/libnde) : Library containing common components + [`libntk`](src/libntk) : Nitrogen ToolKit - all the GUI stuffies, API based on Java Swing and [Xwing](https://github.com/qrux/xwing/) + [`NitroWin`](src/NitroWin) : Nitrogen Window Manager --- ## Documents None yet. :crying_cat_face: --- ## Requirements + [FreeBSD](http://freebsd.org/) `>= 10.1` (tested using FreeBSD 11) + [`x11/libX11`](https://www.freshports.org/x11/libX11/) + [`x11/xproto`](https://www.freshports.org/x11/xproto/) + [`devel/cmake`](https://www.freshports.org/devel/cmake/) + [`devel/cmake-modules`](https://www.freshports.org/devel/cmake-modules/) (if this port is not available, then it has been merged with [`devel/cmake`](https://www.freshports.org/devel/cmake/)) + [`devel/boehm-gc`](https://www.freshports.org/devel/boehm-gc/) + [`devel/boehm-gc-threaded`](https://www.freshports.org/devel/boehm-gc-threaded/) --- ## Misc Tooling + [`devel/git`](https://www.freshports.org/devel/git/) **or** [`devel/git-gui`](https://www.freshports.org/devel/git-gui/) --- ## Building the NDE It's easy to build Nitrogen Desktop Experience. **Checkout** ```console $ git clone https://LadySerenaKitty@felinewith.me/LadySerenaKitty/nitrogen.git $ cd nitrogen ``` **Prep for build** ```console $ cmake . ``` **Build it!** ```console $ make ``` **Test** ```console $ ./test_Nitrogen.sh ```