Hi,
the problem is 2 parts in dillo - switching from the savedir to /tmp dir when first 'd' pressed and then repeating /tmp/d/tmp/d when another 'd' is pressed
the fix only fixes the repeat to /tmp/d/tmp/d when a second d is pressed but the changing from savedir to /tmp/d still happens when first d is pressed
your program only shows the second part of the problem (and that part is fixed) since it does the chdir("/tmp") itself and not what happens with dillo when the first 'd' is pressed
the fix only fixes the repeat not the initial change to /tmp dir from the savedir
This is a "design" decision by FLTK[1], as when a non-/ character is added it is considered as a relative path *to the current directory* which is always set to /tmp in Dillo (regardless of the save_dir) and it gets prefixed. [1]: https://github.com/fltk/fltk/issues/1004#issuecomment-2210810570 One option to work around it is to chdir() to the save_dir, so at least it would make a bit more sense. Another good idea is to switch to the native file chooser which also comes with other niceties (but this problem will continue there if the native file chooser is not available). Rodrigo.