<commit_before>KISS-UI [![Build Status](https://travis-ci.org/cybergeek94/kiss-ui.svg?branch=master)](https://travis-ci.org/cybergeek94/kiss-ui)
=========
A UI framework for Rust based on the KISS (Keep It Simple, Stupid!) philosophy.

Powered by the [IUP][iup] GUI library for C by Tecgraf, via the bindings created for [iup-rust][iup-rust].

(No relation to the equally awesome [kiss3d][kiss3d].)

[kiss3d]: https://github.com/sebcrozet/kiss3d
[iup]: http://webserver2.tecgraf.puc-rio.br/iup/
[iup-rust]: https://github.com/dcampbell24/iup-rust

Contents
--------

* [Documentation](#documentation)
* [Usage](#usage)
* [Installing IUP Binaries](#installing-iup-binaries)
  * [Windows](#windows)
  * [Linux](#linux)
  * [OS X](#os-x)
* [Comparison to Other UI Frameworks](#comparison-to-other-ui-frameworks)
* [Enabling Visual Styles on Windows](#enabling-visual-styles-on-windows)

Documentation
-------------
[`kiss-ui` docs hosted on Rust-CI](http://rust-ci.org/cybergeek94/kiss-ui/doc/kiss_ui/)

Usage
-----

Simply add the following to your `Cargo.toml`:

```
[dependencies.kiss-ui]
git = "https://github.com/cybergeek94/kiss-ui"
```

####KISS-UI builds on all Rust release channels!

[iup-dl]: http://sourceforge.net/projects/iup/files/3.14/

Installing IUP Binaries
-------------------

You will need to install the IUP binaries for your system, which are available for download [here][iup-dl]. 

Consult the following for which files to download and where to install them. The specific steps depend on your platform and preferred method of linking: dynamic or static.

PRs amending or adding instructions for any platform are very welcome.

***
###Windows
####Dynamic linking
1. Navigate to `Windows Libraries/Dynamic`
  * 32-bit: Download `iup-3.14_Win32_dllw4_lib.zip`
  * 64-bit: Download `iup-3.14_Win64_dllw4_lib.zip`
2. Extract all `.dll` files to a folder where the linker can find them (pick one):
  * `<Rust install>/bin/rustlib/<platform target>/lib/` (recommended)
  * (using MinGW/MSYS) `<MinGW/MSYS install>/usr/lib`
  * `<Your cargo repository>/bin/<platform target>`
3. Copy the same DLLs to a folder in your PATH (pick one):
  * `<Rust install>/bin/` (recommended)
  * Create a folder anywhere and add it to your PATH.
  * Add one of the folders from step 2 to your PATH.

You should **NEVER** place arbitrary files in your Windows install folder, no matter how benign.

####Static Linking
TODO
***
###Linux
The Linux binary packages for IUP include both static and dynamic libraries. While efforts are underway to create up-to-date packages for various distributions' package managers, the currently most well supported methods of obtaining IUP binaries are to either compile them from source or download precompiled binaries from the creators.


#### Compile from Source
To compile from source, see [this page][iup-compile]. The instructions to check-out the source tree are available [here][iup-source]. If you understand how to build projects with Makefiles, then it shouldn't be too difficult.

#### Download the Precompiled Binaries
However, if you would rather download the precompiled binaries, begin by going to [the download page][iup-dl].

1. Navigate to the `Linux Libraries` folder.
2. Identify your kernel version. This can be done by entering the command `uname -r` into a terminal.
  * If you don't know if your Linux is 32-bit or 64-bit, use the command `uname -a` and look for the following:
    * `x86_64`: Your system is 64-bit.
    * `x86`: Your system is 32-bit.
3. Select and download the tarball for your kernel version and bit-arity.
  * For 32-bit (`x86`), there is only one package: `iup-3.14_Linux32_lib.tar.gz`
  * For 64-bit (`x86_64`), select one of the following based on your kernel version:
    * **>= 3.19**: `iup-3.14_Linux319_64_lib.tar.gz`
    * **>= 3.13**: `iup-3.14_Linux313_64_lib.tar.gz`
    * **>= 3.5**: `iup-3.14_Linux35_64_lib.tar.gz`
    * **>= 3.2**: `iup-3.14_Linux32_64_lib.tar.gz`
    * **2.6**: `iup-3.14_Linux26g4_64_lib.tar.gz`
4. Navigate to the folder where you downloaded the tarball to in a terminal.
5. Extract the tarball:
  * `mkdir iup_libs/`
  * `tar -xzvf <tarball file> -C iup_libs/`
6. Install the binaries:<commit_msg>Add note about Windows static linking<commit_after>KISS-UI [![Build Status](https://travis-ci.org/cybergeek94/kiss-ui.svg?branch=master)](https://travis-ci.org/cybergeek94/kiss-ui)
=========
A UI framework for Rust based on the KISS (Keep It Simple, Stupid!) philosophy.

Powered by the [IUP][iup] GUI library for C by Tecgraf, via the bindings created for [iup-rust][iup-rust].

(No relation to the equally awesome [kiss3d][kiss3d].)

[kiss3d]: https://github.com/sebcrozet/kiss3d
[iup]: http://webserver2.tecgraf.puc-rio.br/iup/
[iup-rust]: https://github.com/dcampbell24/iup-rust

Contents
--------

* [Documentation](#documentation)
* [Usage](#usage)
* [Installing IUP Binaries](#installing-iup-binaries)
  * [Windows](#windows)
  * [Linux](#linux)
  * [OS X](#os-x)
* [Comparison to Other UI Frameworks](#comparison-to-other-ui-frameworks)
* [Enabling Visual Styles on Windows](#enabling-visual-styles-on-windows)

Documentation
-------------
[`kiss-ui` docs hosted on Rust-CI](http://rust-ci.org/cybergeek94/kiss-ui/doc/kiss_ui/)

Usage
-----

Simply add the following to your `Cargo.toml`:

```
[dependencies.kiss-ui]
git = "https://github.com/cybergeek94/kiss-ui"
```

####KISS-UI builds on all Rust release channels!

[iup-dl]: http://sourceforge.net/projects/iup/files/3.14/

Installing IUP Binaries
-------------------

You will need to install the IUP binaries for your system, which are available for download [here][iup-dl]. 

Consult the following for which files to download and where to install them. The specific steps depend on your platform and preferred method of linking: dynamic or static.

PRs amending or adding instructions for any platform are very welcome.

***
###Windows
####Dynamic linking
1. Navigate to `Windows Libraries/Dynamic`
  * 32-bit: Download `iup-3.14_Win32_dllw4_lib.zip`
  * 64-bit: Download `iup-3.14_Win64_dllw4_lib.zip`
2. Extract all `.dll` files to a folder where the linker can find them (pick one):
  * `<Rust install>/bin/rustlib/<platform target>/lib/` (recommended)
  * (using MinGW/MSYS) `<MinGW/MSYS install>/usr/lib`
  * `<Your cargo repository>/bin/<platform target>`
3. Copy the same DLLs to a folder in your PATH (pick one):
  * `<Rust install>/bin/` (recommended)
  * Create a folder anywhere and add it to your PATH.
  * Add one of the folders from step 2 to your PATH.

You should **NEVER** place arbitrary files in your Windows install folder, no matter how benign.

####Static Linking
Static linking with IUP on Windows is not currently possible as it requires resource scripts (`.rc`) files from IUP to be compiled and linked in, which Rust does not currently support.

***
###Linux
The Linux binary packages for IUP include both static and dynamic libraries. While efforts are underway to create up-to-date packages for various distributions' package managers, the currently most well supported methods of obtaining IUP binaries are to either compile them from source or download precompiled binaries from the creators.


#### Compile from Source
To compile from source, see [this page][iup-compile]. The instructions to check-out the source tree are available [here][iup-source]. If you understand how to build projects with Makefiles, then it shouldn't be too difficult.

#### Download the Precompiled Binaries
However, if you would rather download the precompiled binaries, begin by going to [the download page][iup-dl].

1. Navigate to the `Linux Libraries` folder.
2. Identify your kernel version. This can be done by entering the command `uname -r` into a terminal.
  * If you don't know if your Linux is 32-bit or 64-bit, use the command `uname -a` and look for the following:
    * `x86_64`: Your system is 64-bit.
    * `x86`: Your system is 32-bit.
3. Select and download the tarball for your kernel version and bit-arity.
  * For 32-bit (`x86`), there is only one package: `iup-3.14_Linux32_lib.tar.gz`
  * For 64-bit (`x86_64`), select one of the following based on your kernel version:
    * **>= 3.19**: `iup-3.14_Linux319_64_lib.tar.gz`
    * **>= 3.13**: `iup-3.14_Linux313_64_lib.tar.gz`
    * **>= 3.5**: `iup-3.14_Linux35_64_lib.tar.gz`
    * **>= 3.2**: `iup-3.14_Linux32_64_lib.tar.gz`
    * **2.6**: `iup-3.14_Linux26g4_64_lib.tar.gz`
4. Navigate to the folder where you downloaded the tarball to in a terminal.
5. Extract the tarball:
  * `mkdir iup_libs/`
  * `tar -xzvf <tarball file> -C iup_libs/`
6. Install the binaries:
{'fraction_non_alphanumeric': 0.13179552567520575, 'fraction_numerical': 0.028515126927089372, 'mean_word_length': 4.025043680838672, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 25, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 20, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2665515', 'n_tokens_mistral': 3062, 'n_tokens_neox': 2784, 'n_words': 1000}