• src/conio/x_cio.c x_cio.h x_events.c x_events.h

    From Deuc┬┐@VERT to Git commit to main/sbbs/master on Thu May 4 13:14:36 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/b4ce023c8bc4ea2d936bbd2a
    Modified Files:
    src/conio/x_cio.c x_cio.h x_events.c x_events.h
    Log Message:
    Overhaul of X support

    Create initial window at final size to avoid extra resize at start
    - Load vmode before initializing the window
    Track scaling whenever the X window is adjusted
    Replace x11_window_height/x11_window_width with vstat.winwidth/vstat.winheight Resize zim from init_mode_internal() to ensure it tracks current size on initial expose
    Honour ciolib_initial_scaling
    Check xim validity in local_draw_rect() in case of race
    Add check to prevent divide-by-zero in handle_resize_event()
    Use vstat for current on-screen info, and x_cvstat for desired info
    - This allows using vstat.scaling in place of old_scaling
    Have scaling set use a new mutex-protected variable
    Fill in local_draw_rect() so we don't miss expose
    Set max window size based on user area (or root window size if not available) The WM Cyan uses may hate this...

    This absolutely *must* fix the issue in SF ticket 103.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net