====== Input method in FreeBSD virtual terminal (Week5) ====== Date: 07/05-07/11 ===== Tmux-rime ===== This week I divided all commands into two main categories: One is to send keys literally, that is, the ''%%key%%'' command, and the other is to perform special IME actions, e.g., ''%%delete-char%%'', ''%%commit-raw%%''. And all keymappings of keys and commands are defined with tmux's ''%%bind-key%%'' command. I also drew the structure diagram of ''%%tmux-rime%%'' and made a slide. * The diagram: https://gitlab.com/Cycatz/tmux-rime/-/blob/main/assets/structure_small.png * The slide: https://gitlab.com/Cycatz/tmux-rime/-/blob/main/slide/presentation.pdf ==== Todos ==== I believed I have finished the basic skeleton of the ''%%tmux-rime%%'' project, here are some todos I might implement someday. === IME functions === * Candidate selection * Schema selection === Customization === * Custom IME status bar * Custom plugin options * Use tmux user options (prefixed with ''%%@%%'') to define variables * Custom key mappings * Define what keys need to be bound in tmux === Misc === * Write tests * Write documentation * Set up plugin installation process