Non full screen window with elementary

Lev M lvmtime at gmail.com
Wed Aug 12 21:25:09 CEST 2009


Unfortunately, this method does not work.
It appears the window is only resized after it is shown. Until then, I
get what I set with evas_object_size_hint_min_set for the window background,
or if I don't set anything the minimum it decides to be.

I tried setting window to full screen and playing with
evas_object_size_hint_weight_set but that did nothing.

I finally solved the problem using Xlib. It doesn't seem as bad as
advertised (though that may be because I am used to working with w32 GDI).

If anyone is interested here is the solution:

static void get_screen_size(int *width, int *height)
{
    /* retrives screen size in pixels */
    /* ignores NULL parameters     */
   
    Display *disp = XOpenDisplay(NULL); /* get default display */


    if (NULL == disp) /* verify display is opened */
    {
        /* clear provided vars to avoid undefined results */
        if (NULL != width) *width = 0;
        if (NULL != height) *height = 0;
    }
   
    /* get screen dimentions */
    if (NULL != width) *width = DisplayWidth(disp, 0);
    if (NULL != height) *height = DisplayHeight(disp, 0);

    XCloseDisplay(disp); /* clean up */
}

c_c wrote:
> Hi,
>
> Lev M wrote:
>   
>> How can I get the screen resolution?
>>
>>     
>   I dont know the right answer - but one way would be to get the geometry of
> your window __before__ you move and resize it.
> evas_object_geometry_get({your_object}, &x, &y, &w, &h);
>   That way you have the w and h of the screen. NOw move/resize it.
>
> Lev M wrote:
>   
>> Am I missing something or is this just the current state of things?
>>
>>     
> There is some at http://trac.enlightenment.org/e/wiki/Elementary. That's all
> I know of. 
>   



More information about the devel mailing list