Find a file
2024-09-04 09:00:54 +07:00
.cargo basic scheme integration 2024-09-04 06:02:31 +07:00
src implement basic inheritance 2024-09-04 09:00:54 +07:00
.gitignore basic scheme integration 2024-09-04 06:02:31 +07:00
Cargo.lock basic scheme integration 2024-09-04 06:02:31 +07:00
Cargo.toml basic scheme integration 2024-09-04 06:02:31 +07:00
defs.scm implement basic inheritance 2024-09-04 09:00:54 +07:00
README.md implement basic inheritance 2024-09-04 09:00:54 +07:00
shell.nix basic scheme integration 2024-09-04 06:02:31 +07:00
tmp.scm implement basic inheritance 2024-09-04 09:00:54 +07:00

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.