- [ ] Complete widget toolkit. - [ ] Finish missing widgets. - [ ] Text input (multiline, passwords, etc.) - [ ] Check boxes - [ ] Scroll bars - [ ] Tabs? - [ ] Widget containers - [ ] Widget focus / input (this is mostly done manually now; needs to be made automatic) - [ ] IME for Japanese - [ ] Support generally for IMEs in the compositor - [ ] Support for IME text in Terminal, widget library text boxes, other apps? (no other apps use keyboard input for purely textual reasons at the moment, save for the login manager, and that's getting ported to the widget library); this should also allow for a clipboard since it would mean being able to inject arbitrary text. - The IME itself should be a separate app from the compositor (eg., Python) and take nearly full control over the keyboard while active, but without restricting mouse actions. Key functions it does not understand should be allowed through to the application. We should also be able to display IME status / settings in the panel (either through an externally-provided menu, or something integrated into the panel; since it's all Python, we could load a module for it...). IME communication should be through extension to the Yutani protocol. - [ ] Redesigned graphical login - Using the widget toolkit to provide a better login experience. - [ ] Basic HTML-based web browser. - Either through a port of something (litehtml?) or an in-house engine. - [ ] Clean up / rewrite IP stack. - Listening sockets - POSIX/BSD sockets API - ARP, full DHCP stack, etc.