An easy to use, cross platform, GUI library for writing Haskell applications.
Go to file
2021-02-26 10:05:09 -03:00
app Generalize and (somehow) simplify SizeReq relate logic 2021-02-25 22:03:01 -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
examples Improve label multi line support. Fixed width is no longer needed for it to work 2021-02-23 13:22:17 -03:00
src Move SizeReq to Core 2021-02-26 10:05:09 -03:00
test/unit Generalize and (somehow) simplify SizeReq relate logic 2021-02-25 22:03:01 -03:00
.ghci Simplify Renderers image interface. Replace existsImage with getImage 2020-12-16 23:53:55 -03:00
.ghcid Handle box child size with same logic as stack 2021-02-23 19:27:55 -03:00
.gitignore Add serialization support 2021-01-12 14:34:39 -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 Improve cursor icon situation 2021-02-14 22:03:18 -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 Move SizeReq to Core 2021-02-26 10:05:09 -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