An easy to use, cross platform, GUI library for writing Haskell applications.
Go to file
2021-01-06 12:51:58 -03:00
app Remove unneeded code 2021-01-06 10:50:21 -03:00
assets Add theming to scroll 2020-10-25 22:29:55 -03:00
cbits Avoid rendering on every frame if not needed 2020-11-24 23:26:12 -03:00
docs Avoid rendering on every frame if not needed 2020-11-24 23:26:12 -03:00
src Fix missing resize after Leave if follow up Enter did not request a resize 2021-01-06 12:51:58 -03:00
test/unit Make hover style take precedence over focus 2021-01-04 10:07:47 -03:00
.ghci Simplify Renderers image interface. Replace existsImage with getImage 2020-12-16 23:53:55 -03:00
.ghcid Simplify Renderers image interface. Replace existsImage with getImage 2020-12-16 23:53:55 -03:00
.gitignore Unpack fields on basic types 2020-11-29 02:52:36 -03:00
.hlint.yaml Make zstack handle mouse according to used regions. Make stack adjust its size to its content. Simplify related settings 2020-12-28 23:00:25 -03:00
ChangeLog.md Initial commit 2019-09-23 11:46:21 -03:00
Info.plist Avoid rendering on every frame if not needed 2020-11-24 23:26:12 -03:00
LICENSE Minor adjustment to license 2020-07-10 22:08:19 -03:00
package.yaml Fix unit tests. Remove hedgehog-classes dependency and related utilities module 2020-12-18 00:22:29 -03:00
profile.sh Initial commit 2019-09-23 11:46:21 -03:00
README.md Add tests for image 2020-11-16 18:04:23 -03:00
Setup.hs Initial commit 2019-09-23 11:46:21 -03:00
stack.yaml Use upgraded nanovg bindings (temporarily from my fork) 2020-12-31 13:38:00 -03:00
stack.yaml.lock Use upgraded nanovg bindings (temporarily from my fork) 2020-12-31 13:38:00 -03:00
tasks.md Remove unneeded code 2021-01-06 10:50:21 -03:00
test-cases.md Add scroll resize test. Add pending value drag tests for integralField. Complete original testing plan 2020-12-26 17:03:03 -03:00
watch-tests.sh Improve inputField, add new tests 2020-11-15 23:58:26 -03:00

Monomer

An easy to use, Elm/Flutter inspired, GUI library for writing native applications in Haskell.

Objectives

  • It should be easy to use
  • It should be possible to extend it with custom widgets
  • It should work on Windows, Linux and macOS
  • It should have good documentation
  • It should have good examples

Ideally, in the future, this project will

  • Be able to run in mobile
  • Support Vulkan/Metal

Why would I want to use this library

  • You want to write your application in Haskell
  • You want to write a native, not Electron based, application
  • You prefer not to use Gtk

These are not objectives for this project

  • Have a native look and feel
  • Be a research project pushing the boundaries on how GUIs are created

Current limitations

  • Multi-platform features depend on what SDL already provides
    • Copy/paste is only supported for text, not images
  • Text input capabilities are basic, supporting only left to right editing at the moment