An easy to use, cross platform, GUI library for writing Haskell applications.
Go to file
2020-11-25 12:19:48 -03:00
app Provide oldInst on merge method of Single/Container instances 2020-11-25 00:00:54 -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 Only reset inputField Render request if path changed. Fix line width formatting 2020-11-25 12:19:48 -03:00
test/unit Clear Render request from inputField when focus is lost/widget is disposed/merged 2020-11-25 00:26:46 -03:00
.ghci Basic scrollbar display, minor general improvements and tests that will not stand the test of time 2020-05-07 17:04:26 -03:00
.ghcid Initial commit 2019-09-23 11:46:21 -03:00
.gitignore Rename project from hs-gui to monomer 2020-05-07 17:04:27 -03:00
.hlint.yaml Move hlint hints to config file 2020-09-30 17:28:58 -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 Add tests for checkbox 2020-11-12 20:26:19 -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 Fix Test build 2020-07-30 01:39:48 -03:00
stack.yaml.lock Fix Test build 2020-07-30 01:39:48 -03:00
tasks.md Avoid rendering on every frame if not needed 2020-11-24 23:26:12 -03:00
test-cases.md Add test cases for style (cursor) functions 2020-11-22 21:48:49 -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