um is currently just a command line utility, but pragmatism is one of the core values of Ultramarine. Having a proper GUI version of um is our next step towards that.
Naming
While umgui is the codename, we need to have a human readable name for better UX.
Internal suggestions:
- Ultramarine Control
- Ultramarine Control Center
- Lazurite1
We will choose "Ultramarine Control Center" for now but this could subject to change in the future.
Technical Details
We would like this GUI application separated from the command line tool. This should be created in a subdirectory named umgui/.
We're fine with either atlas or nimble.
Use the official owlkettle repo (netto is using my fork for libhelium support, which is not needed here).
Optional challenge: interop between nim and go described here. If we don't want to deal with interop, just shell out using osproc. Examples of osproc can also be seen in the aforementioned past projects.
Design
As a rule of thumb tab the app into different pages (separate page for um status, um tweaks, um paste (#10)), avoid too many dialogs.
Internationalization
Use gettext. Can either try https://github.com/Parashurama/nim-i18n or do something like libnm.nim to obtain interop for gettext from C. Place translations under umgui/po/.
umis currently just a command line utility, but pragmatism is one of the core values of Ultramarine. Having a proper GUI version ofumis our next step towards that.Naming
While
umguiis the codename, we need to have a human readable name for better UX.Internal suggestions:
We will choose "Ultramarine Control Center" for now but this could subject to change in the future.
Technical Details
We would like this GUI application separated from the command line tool. This should be created in a subdirectory named
umgui/.We're fine with either atlas or nimble.
Use the official owlkettle repo (netto is using my fork for
libheliumsupport, which is not needed here).Optional challenge: interop between nim and go described here. If we don't want to deal with interop, just shell out using
osproc. Examples ofosproccan also be seen in the aforementioned past projects.Design
As a rule of thumb tab the app into different pages (separate page for
um status,um tweaks,um paste(#10)), avoid too many dialogs.Internationalization
Use gettext. Can either try https://github.com/Parashurama/nim-i18n or do something like libnm.nim to obtain interop for
gettextfrom C. Place translations underumgui/po/.Footnotes
quote from roachy: "It's what the color ultramarine is made of, so it's kinda like you're making your own Ultramarine by tweaking it." ↩