The SHIP has three modes - Keyboard, Ink Input, and Ink Correction, each with it's own geometry.
A default start position and size are provided in the configuration file.
The user may place the UI in each mode individually on the screen to best match their preference, and that mode will remember it's location for the duration of the session.
I propose the user-selected locations should be persisted so each remembers it's last location between sessions as well.
1) Add distinct entries in the configuration file for the position in each mode.
2) Provide sane defaults.
3) Write changes to the configuration file to be read on next start up.
Note: This will interact with the idea of each keyboard having it's width specified as part of it's definition.