dan sinclair wrote:
> Sebastian Dransfeld wrote:
>> 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.
>>
>> Sebastian
>>
> 
> Hm, using the ecore_x_netwm_state_request is actually causing evas to segv:
> #0  0x00002aaaac64f45d in evas_object_change (obj=0x5703a0)  at 
> evas_object_main.c:66
> 66         obj->layer->evas->changed = 1;
> (gdb) bt
> #0  0x00002aaaac64f45d in evas_object_change (obj=0x5703a0) at 
> evas_object_main.c:66
> #1  0x00002aaaab279e57 in _edje_part_recalc (ed=0x56ee80, ep=0x5701a0, 
> flags=3)
>     at edje_calc.c:1117
> #2  0x00002aaaab27a17a in _edje_recalc (ed=0x56ee80) at edje_calc.c:162
> #3  0x00002aaaab284d48 in _edje_thaw (ed=0x56ee80) at edje_util.c:1781
> #4  0x00002aaaab287688 in edje_thaw () at edje_util.c:49
> #5  0x00002aaaaac49ffe in ewl_idle_render (data=0x5703a0) at ewl_misc.c:456
> #6  0x00002aaaace9c715 in _ecore_idle_enterer_call () at 
> ecore_idle_enterer.c:78
> #7  0x00002aaaace9e635 in _ecore_main_loop_iterate_internal (once_only=0)
>     at ecore_main.c:487
> #8  0x00002aaaace9e957 in ecore_main_loop_begin () at ecore_main.c:79
> #9  0x00002aaaaac4a609 in ewl_main () at ewl_misc.c:357
> #10 0x0000000000402837 in main (argc=2, argv=0x7fffff998008) at main.c:104
> (gdb) quit
> 
> 
> If I do it before the window is realized (with the _state_set call) I 
> get a window that doesn't have a border, but isn't resized to the size 
> of the screen. I think the WM should do the resize, correct? Or do I 
> need to store the original position/size in ewl somewhere and restore 
> that when they drop out of fullscreen?
> 
> If you want to see what ewl is doing, do a cvs update as I've put the 
> code back. There are two tests you can run 'ewl_test widget' and then 
> click on the button on the bottom should try to use the _state_request 
> function to go fullscreen. The other test is 'ewl_test fullscreen' which 
> will do it before the window is realized.
> 
> Again, it's quite possible I've done something wrong with this, I just 
> don't know what it is, heh.

Maybe the window either has a size set, or sets it size later? If the 
state is set to fullscreen on map, the wm should make the window 
fullscreen without any client interaction. Same with the state request.

I can look at the test apps, I will probably have time for it tomorrow.

Sebastian


_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to