.cargo | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
defs.scm | ||
README.md | ||
shell.nix | ||
tmp.scm |
QPlatformInputContextPlugin Gtk.IMContext zwp_input_method_context_v1 zwp_input_method_v2 xim
zwp_text_input_v3? send backend: zwp_virtual_keyboard_v1?
Scheme
Note: I'm not a Scheme professional, this is an experiment, feel free to suggest improvements.
Concepts:
- Layout - a procedure that returns a UI layout
API:
popup.setLayout(layout: Layout | null)
keyboard.setLayout(layout: Layout | null)
TODO: multiple inheritance, diamond problem (it's technically allowed but the semantics aren't very good)
MAYBE PLANNED: associated data (currently classes instances are singletons, which really simplifies ffi)
NOT PLANNED: dynamic classes (i.e. updating classes after their definition). You can probably hack something up if you really need it.