Tiling wasn't being applied when enabling it with a new config because
we were comparing with the old config instead of just always applying.
This fixes T974.
this is not the correct way to use this function, and tiling should probably never call it. this is a function for (slowly) repositioning every client on the currently visible desktop while trying not to overlap. on failure, which occurs when clients cannot be placed without overlapping, it moves clients to 0,0.
fix T1310 because there is no i in team
Summary:
change the time to call _add_hook to eval_fetch in tiling.
finally, tiling resize window after setting desk of client.
Reviewers: tasn
CC: cedric
Differential Revision: https://phab.enlightenment.org/D869
Summary:
initailize the tinfo before calling _remove_client.
remove call "_desk_should_tile_check" in "_remove_client", and added it before calling "_remove_client".
That's beause, in _desk_set_hook, use ev->desk (old desk) to initialize tinfo, and then only remove ec using _remove_client.
Test Plan:
(1) launch any app in one desk.
(2) change the any desk.
(3) launch browser or xchat like the app that launch time is relatively slow.
(4) change the in (1)'s desk quickly before completely launching browser or xchat.
(5) you can see wrong splited screen.
Reviewers: tasn, raster, zmike
CC: cedric
Differential Revision: https://phab.enlightenment.org/D860
Summary:
initialize the tinfo when remove client in tiling.
the reason why of "freezing" that tiling added window twice into _G.tinfo->tree.
then tiling module set to a different size about same window as if two different window.
finally, the event "E_EVENT_CLIENT_MOVE" occurs by changing geometry, and tiling resize the window again by the event "E_EVENT_CLIENT_MOVE".
next, it is the cause of this problem.
In (4), when user types ALT+TAP.
- tiling module adds uniconify window into _G.tinfo->tree.
- at this time, _G.tinfo is the informaion of one desk.
- E create input_only window and destoryed for a moment.
- tiling module initialize the _G.tinfo by the event EVAS_CALLBACK_DEL happend by destorying input window.
- now, _G.tinfo is the informaion of the other desk.
In (5), iconify app.
- tiling try to remove window from _G.tinfo->tree, but failed. (problem)
- because _G.tinfo isn't initialized to the desk including uniconify window at that time.
In (6), uniconify app.
- tiling change the _G.tinfo, then insert client info to _G.tinfo.
so I suggest that initializing the _G.tinfo when removing window.
Test Plan:
(1) launch any app.
(2) Iconify it.
(3) change the desk different with launching app.
(4) Uniconify app by ALT+TAP.
(5) Iconify it again.
(6) Uniconify it again.
Reviewers: raster, zmike, tom, tasn
Reviewed By: tasn
CC: cedric
Differential Revision: https://phab.enlightenment.org/D850