Incidentally, I've been driving myself nuts trying to get names.lua working again, the way mifki showed me:
local blah = df.new(df.viewscreen_setupadventurest) ; blah.subscreen = 3
...doesn't work anymore.
I tried all sorts of different ways of trying to point it at the name selection screen like blah.child=df.viewscreen_layer_choose_language_namest:new() all the way to shit like trying to have the names screen declared first and then create a .parent as the viewscreen_setupadventurest which was pretty good at crashing df, but I've had shit for luck getting it to work outside of a weird case where it put a screen up properly which wanted the right inputs but it was blank and just prevented me from doing shit besides devel/pop-screen-ing it away.
Update: I didn't understand what that line mifki suggested was doing, so after pondering it I figured out I was a moron and what mifki did was show me how to make dfhack pull up the setup_adventurest screen and then fake input the key to bring up the custom name screen. Needed to use page = 7 instead of subscreen = 3 to get it working as it was, but since I was already getting a feel for shit I decided that, since I know shit about dialogs, I should obviously drive myself nuts trying to figure them out.
...then I checked the hack/lua/gui folder and came to learn it's just an editfield widget in a bitesize wrapper, and so:
No more -unit, -item, or -first flags necessary, it'll pick up the target from the relevant screens, and no need to run the script again to apply it, it'll apply it if the first name is changed, and it'll apply the full name on exit properly, so, yay!
Did a pull request (forgot how, fuck, did it backwards first try) with the updated names.lua and other scripts in there.