need to somehow call one of the to_glib_ functions on GtkWindow to get an object with a WindowExt trait that I can call get_position() on.
there doesn't seem to be a way of retrieving the window position from GtkWindow (other than the default position which gets set). may have to give up on this.
keeping in mind that an ID can be an arbitrary string, maybe it's worth filtering the set of IDs to just the type that bitsy naturally produces (base36), finding the highest one and incrementing it…
if user loads a file, the output file should have the same name (possibly with a suffix)
idea: copy the "new palette" colour inputs above the palette selection. add a default option to the palette selection called "as above". leave the "new palette" option as is.
if bg/fg are a part of SelectedPalette they will need to be separated out in the application state.
SelectedPalette will need a new enum variant.
render_preview() will need a new step to map the background/foreground to the desired colours, if selected palette is not "as above".