My goal is to make feh behave as if its in fullscreen while being effectively tiled.
I created a custom rule on BSPWM "bspc rule -a feh state=tiled" that forces feh to be tiled.
Launching feh with -F does indeed make it pseudo-fullscreen and tiled, but the image is not resized accordingly.
According to the log feh_event_handle_ConfigureNotify is being called but the following if statement fails:
if ((w->w != ev->xconfigure.width) || (w->h != ev->xconfigure.height))
Without looking too much at the winwidget code, I assume its related to window mapping.
Would it be possible to address this by queuing the event or changing if statement?
Below is full log and screenshot of an example.
In the log you could see second event handled properly once the window is mapped.
feh --debug -F image.png
options.c +461 feh_parse_option_array : Got option, getopt calls it 70, or F
filelist.c +207 add_file_to_filelist_recursively : file is image.png
filelist.c +288 add_file_to_filelist_recursively : Adding regular file image.png to filelist
options.c +116 init_parse_options : Options parsed
filelist.c +511 feh_prepare_filelist : sort mode requested is: 0
winwidget.c +839 winwidget_loadimage : filename image.png
imlib.c +345 feh_load_image : filename is image.png, image is 0x55e03bd2dd58
imlib.c +310 feh_is_image : file image.png has mime type: image/png
imlib.c +488 feh_load_image : Loaded ok
winwidget.c +753 winwidget_inotify_add : Adding inotify watch for image.png
winwidget.c +140 winwidget_create_from_file : image is 998x458 pixels, format png
winwidget.c +174 winwidget_create_window : winwidget_create_window 998x458
winwidget.c +381 winwidget_update_title : winwid->name = (null)
winwidget.c +1003 winwidget_register : window 0x55e03bd2dd20
winwidget.c +476 winwidget_render_image : winwidget_render_image resize 1 force_alias 0 im 998x458
winwidget.c +553 winwidget_render_image : sx: 0 sy: 0 sw: sh: dx: 1413522816 dy: 32577 dw: 461 dh: 311 zoom: 1.000000
winwidget.c +570 winwidget_render_image : sx: 0 sy: 0 sw: 998 sh: 458 dx: 461 dy: 311 dw: 998 dh: 458 zoom: 1.000000
winwidget.c +576 winwidget_render_image : winwidget_render(): winwid->im_angle = 0.000000
winwidget.c +381 winwidget_update_title : winwid->name = feh [1 of 1] - image.png
winwidget.c +862 winwidget_show : Waiting for window to map
events.c +431 feh_event_handle_ConfigureNotify : configure size 956x1052
winwidget.c +875 winwidget_show : Window mapped
main.c +265 feh_main_iteration : Performing blocking select - no timers, or zooming
main.c +265 feh_main_iteration : Performing blocking select - no timers, or zooming
main.c +265 feh_main_iteration : Performing blocking select - no timers, or zooming
main.c +265 feh_main_iteration : Performing blocking select - no timers, or zooming
main.c +265 feh_main_iteration : Performing blocking select - no timers, or zooming
events.c +431 feh_event_handle_ConfigureNotify : configure size 956x524
events.c +434 feh_event_handle_ConfigureNotify : assigning size and rerendering
winwidget.c +476 winwidget_render_image : winwidget_render_image resize 0 force_alias 0 im 998x458
winwidget.c +553 winwidget_render_image : sx: 0 sy: 0 sw: sh: dx: 1413522816 dy: 32577 dw: 0 dh: 42 zoom: 0.957916
winwidget.c +570 winwidget_render_image : sx: 0 sy: 0 sw: 998 sh: 458 dx: 0 dy: 42 dw: 956 dh: 439 zoom: 0.957916
winwidget.c +576 winwidget_render_image : winwidget_render(): winwid->im_angle = 0.000000
winwidget.c +381 winwidget_update_title : winwid->name = feh [1 of 1] - image.png
What happens:

What should happen:

My goal is to make feh behave as if its in fullscreen while being effectively tiled.
I created a custom rule on BSPWM "bspc rule -a feh state=tiled" that forces feh to be tiled.
Launching feh with -F does indeed make it pseudo-fullscreen and tiled, but the image is not resized accordingly.
According to the log feh_event_handle_ConfigureNotify is being called but the following if statement fails:
Without looking too much at the winwidget code, I assume its related to window mapping.
Would it be possible to address this by queuing the event or changing if statement?
Below is full log and screenshot of an example.
In the log you could see second event handled properly once the window is mapped.
What happens:

What should happen:
