[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [E-devel] Ecore_X fullscreen support

dan sinclair wrote:

I've been fiddling with Ewl trying to add in a call to fullscreen a window but I don't seem to be getting anywhere. This might be because I'm using the wrong functions, I'm not sure.

My current assumption is that when I set the FULLSCREEN hint the window will get big, move on top and drop its border, without me having to do any extra code. Is that assumption valid? Or do I need to set borderless, raise the window and resize to the size of the root window myself?

I've tried to set the hint in two ways. The simpler is to just use: ecore_x_netwm_state_request_send((Ecore_X_Window)win->window,
                                  NULL, ECORE_X_WINDOW_STATE_FULLSCREEN,
                                  ECORE_X_WINDOW_STATE_FULLSCREEN, TRUE);

The more complicated you can see in: http://everburning.com/tmp/fullscreen.diff. (Yes, I know, my webserver is stupid, just view source to see it formatted correctly.) It seems like most applications just use ecore_evas_fullscreen, but this won't work for us as we use ecore_x and not ecore_evas.

Am I just doing something wrong here, or is something below Ewl not acting as it should be?

The ecore_x_netwm_state_request_send() function should be correct. But don't send the ECORE_X_WINDOW_STATE_FULLSCREEN twice (although it shouldn't matter). It is possible to request two changes in one call, but if you only want to change one property use ECORE_X_WINDOW_STATE_UNKNOWN. (There should be an ECORE_X_WINDOW_STATE_NONE there, please add it :).

The request will (should) only work if the window is mapped. Else the state should be set on the window with ecore_x_netwm_window_state_set().

If it still doesn't work, I've done something wrong somewhere.