Commit Graph

154 Commits

Author SHA1 Message Date
Tom Hacohen 6da3771eb8 Tiling: Clean up the tiling entry check code.
This makes it a little less redundant.
2014-07-28 10:41:54 +01:00
Mike Blumenkrantz 40d0505e51 check tileable state before enforcing client entry existence
fix T1304
2014-07-27 16:58:58 -04:00
Mike Blumenkrantz d621cb6738 tiling should stop pussyfooting around frame changes and do its own gruntwork
fix T993
2014-07-27 16:53:25 -04:00
Mike Blumenkrantz 06cbbb1ac4 correctly use EC_CHANGED in tiling 2014-07-27 16:45:39 -04:00
Mike Blumenkrantz 3bb96a77f0 remove calls to e_place_zone_region_smart_cleanup() in tiling unload
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
2014-06-16 13:35:57 -04:00
Tom Hacohen b16f04279a Tiling: Mark already deleted client as non-tilable.
This should fix T1301, however I can't reproduce.
2014-06-03 12:49:10 +01:00
Tom Hacohen 70e9b54dde Tiling: Use pre_frame_assign hook instead of fetch.
This essentially reverts 8f0272eb40.

Seunghun Lee, that's why I told you to ask Mike. :)

Fixes T1311
2014-06-03 12:42:30 +01:00
Seunghun Lee 8f0272eb40 tiling: removed unnecessary resizing of window.
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
2014-05-19 09:46:05 +01:00
Seunghun Lee c907a0eead tiling: fix that tiling can't remove client in _desk_set_hook.
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
2014-05-16 10:21:31 +01:00
Seunghun Lee 60d78371db tiling: fix enlightenment can be freezed by infinite event callback.
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
2014-05-14 11:05:51 +01:00
Tom Hacohen dfbb42b81d Tiling: Set pass events on the split type popup. 2014-05-06 15:56:38 +01:00
Tom Hacohen 1433be5e3c Tiling: Add informational popup when changing tiling mode. 2014-05-06 15:44:55 +01:00
Tom Hacohen 10d009339a Tiling: Allow changing tiling mode through key-binding from all desktops.
Without this it is impossible to change the tiling mode using the key binding
but you can still change it using the gadget which is stupid.
2014-05-06 14:41:48 +01:00
Tom Hacohen f3d0f73cf6 Tiling: Fix toggle floating mode for untiled window.
This is useful in case they are going to become tiled, e.g maximized
or just from another desktop.
2014-05-06 14:38:44 +01:00
Tom Hacohen 938dee1e3b Tiling: Fix some issues and simplify code.
This fixes the issue with a floating window turned tiled and then closed
leaving a ghost window.
2014-05-06 14:22:04 +01:00
Tom Hacohen 07841a6b5e Tiling: start migrating the code to use smart callbacks.
Those are meant to be better than the e hooks.
2014-03-20 17:40:23 +00:00
Chris Michael 915f8f0613 @bugfix: Fix building for WAYLAND_ONLY by using the proper define
sed -i 's/WAYLAND_ONLY/HAVE_WAYLAND_ONLY/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:04 +00:00
Carsten Haitzler 565faa1155 based on submission from Seunghun, Lee - dont access NULL desk
this effectively accepts D574 but is re-done with different formatting.
2014-03-05 15:27:15 +09:00
Tom Hacohen 652392beff Tiling2: Fix handling windows that become untilable after we've added them.
This fixes T946.
2014-02-21 09:15:18 +00:00
Tom Hacohen 5bf441960d Tiling2: Change all checks for ignored windows to check if tiled. 2014-02-21 09:15:18 +00:00
Tom Hacohen 6a7aeb7695 Tiling2: Cleaned up maximized check function a bit. 2014-02-21 09:15:18 +00:00
Tom Hacohen 555ac8c0d9 Tiling2: Fixed maximized windows handling.
This got broken with all the reshuffling. Another fix.
2014-02-21 09:15:18 +00:00
Tom Hacohen fbcd03c48a Tiling2: Merge back restore client and the non sizing variant. 2014-02-21 09:15:18 +00:00
Tom Hacohen baaad1c09a Tiling2: Fixed geometry restore for maximized and fullscreen windows. 2014-02-21 09:15:18 +00:00
Tom Hacohen 116045fb8c Tiling2: Merge all the tiling callbacks and checks to 1 place. 2014-02-21 09:15:18 +00:00
Tom Hacohen 2b778b2aea Tiling2: Added maximized to the is_tilable checks. 2014-02-21 09:15:18 +00:00
Tom Hacohen 5e25cddeb1 Tiling2: Fix handling of maximized windows.
This fixes T978.
2014-02-21 09:15:18 +00:00
Tom Hacohen 457271f167 Tiling2: Handle windows becoming fullscreen while tiled. 2014-02-21 09:15:18 +00:00
Tom Hacohen 249def581b Tiling2: Only restore maximized if different than current. 2014-02-21 09:15:18 +00:00
Tom Hacohen ce7da97d8e Tiling2: Ifdef out ecore_x specific stuff when in Wayland Only. 2014-02-21 09:15:18 +00:00
Tom Hacohen 59d428b6e6 Tiling2: Don't tile iconic windows when loading the module.
This fixes T976.
2014-02-21 09:15:18 +00:00
Tom Hacohen 8463b7af47 Tiling2: Del all callbacks when unloading module.
This fixes T971.
2014-02-21 09:15:18 +00:00
Tom Hacohen b4900203d5 Tiling2: reapply tree on frame's deletion, not client removal.
According to mike this should work better with animations.

Fixes T947.
2014-02-21 09:15:18 +00:00
Tom Hacohen 89881a0c50 Tiling2: Fixed coding conventions. 2014-02-21 09:15:17 +00:00
Tom Hacohen 4c846ca7fc Tiling2: Properly apply settings from the config dialog.
This fixes T911.
2014-02-21 09:15:17 +00:00
Tom Hacohen 555730c2bc Tiling2: Fixed setting of floating on non tiled desktops. 2014-02-21 09:15:11 +00:00
Tom Hacohen fe43bd7576 Tiling2: Store extra on more windows, including ones in non-tiling desktops. 2014-02-21 09:15:10 +00:00
Tom Hacohen 3294d8e562 Tiling2: Moved a function to a better location. 2014-02-21 09:15:10 +00:00
Tom Hacohen 08947d8220 Tiling2: Removed useless desk show hook. 2014-02-21 09:15:10 +00:00
Tom Hacohen 32e1ec2034 Tiling2: Fixed applying of desktop is tiled config.
This now changes things as we click apply.
2014-02-21 09:15:10 +00:00
Tom Hacohen 82e252fa71 Tiling2: Fixed tiling2 according to enlightenment's sticky event changes.
Changes in e were introduce in: 29cd45142a
2014-02-21 09:15:10 +00:00
Tom Hacohen f4a7b6512a Tiling2: Fixed formattign, again.
Fixes T919.
2014-02-21 09:15:10 +00:00
Tom Hacohen 92b0d0171c Tiling2: Fixed resize issues.
This fixes T913.
2014-02-21 09:15:10 +00:00
Tom Hacohen e48cd878ce Tiling2: Renamed space between windows -> padding. 2014-02-21 09:15:10 +00:00
Tom Hacohen d83e18f21e Tiling2: Implemented window padding.
Thanks to cippp for the feature request + some code.
2014-02-21 09:15:10 +00:00
Tom Hacohen b4df3d18a1 Tiling2: Use a define to set the max window padding. 2014-02-21 09:15:10 +00:00
Tom Hacohen 82fb13e6fa Tiling2: Get rid of a redundant define. 2014-02-21 09:15:10 +00:00
cippp 48c1cc947f Tiling2: Added config to set window spacing. 2014-02-21 09:15:10 +00:00
cippp f62fe4972f Tiling2: Added a link to the module's settings when right-clicking gadget. 2014-02-21 09:15:10 +00:00
Tom Hacohen 8254aa45b2 Tiling2: Added a config to disable floating mode. 2014-02-21 09:15:10 +00:00