winex11.drv: Add support for _NET_WORKAREA

Alexandre Julliard julliard at winehq.org
Thu Sep 11 06:27:48 CDT 2008


Dmitry Timoshkov <dmitry at codeweavers.com> writes:

>      SetRect( &rect, 0, 0, width, height );
> +    rc_work = rect;
>  
> -    if (root_window != DefaultRootWindow( gdi_display ) || !query_screens())
> +    if (!XGetWindowProperty( gdi_display, DefaultRootWindow(gdi_display), x11drv_atom(_NET_WORKAREA), 0,
> +                             ~0, False, XA_CARDINAL, &type, &format, &count,
> +                             &remaining, (unsigned char **)&work_area ))
>      {
> -        default_monitor.rcWork = default_monitor.rcMonitor = rect;
> +        if (type == XA_CARDINAL && format == 32 && count >= 4)
> +        {
> +            SetRect( &rc_work, work_area[0], work_area[1],
> +                     work_area[0] + work_area[2], work_area[1] + work_area[3] );
> +        }
> +        XFree( work_area );
> +    }
> +
> +    if (root_window != DefaultRootWindow( gdi_display ) || !query_screens( &rc_work ))
> +    {
> +        default_monitor.rcMonitor = rect;
> +        default_monitor.rcWork = rc_work;

That won't do the right thing in desktop mode.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list