Mike Blumenkrantz [Wed, 19 Feb 2014 14:38:51 +0000 (09:38 -0500)]
fix race condition when repeatedly resizing clients too fast
T993
Tom Hacohen [Fri, 21 Feb 2014 09:31:00 +0000 (09:31 +0000)]
feature: Tiling: Merge the tiling module rework..
This patchset builds upon and improves the existing tiling module.
It includes a lot of bug fixes and features over the existing module.
What to expect:
Very stable, especially compared to previous tiling code.
Tiling is done in a tree, so you can essentially tile however you'd like.
Good support of floating windows.
Tom Hacohen [Fri, 21 Feb 2014 09:28:15 +0000 (09:28 +0000)]
Tiling2: Rename module to tiling1 in the desktop file.
Tom Hacohen [Fri, 21 Feb 2014 09:27:03 +0000 (09:27 +0000)]
Tiling2: Adjusted makefile for E.
Tom Hacohen [Thu, 20 Feb 2014 15:56:07 +0000 (15:56 +0000)]
Tiling2: Fix handling windows that become untilable after we've added them.
This fixes T946.
Tom Hacohen [Thu, 20 Feb 2014 15:49:33 +0000 (15:49 +0000)]
Tiling2: Change all checks for ignored windows to check if tiled.
Tom Hacohen [Thu, 20 Feb 2014 15:44:38 +0000 (15:44 +0000)]
Tiling2: Cleaned up maximized check function a bit.
Tom Hacohen [Thu, 20 Feb 2014 15:38:14 +0000 (15:38 +0000)]
Tiling2: Fixed maximized windows handling.
This got broken with all the reshuffling. Another fix.
Tom Hacohen [Thu, 20 Feb 2014 15:32:25 +0000 (15:32 +0000)]
Tiling2: Merge back restore client and the non sizing variant.
Tom Hacohen [Thu, 20 Feb 2014 15:31:14 +0000 (15:31 +0000)]
Tiling2: Fixed geometry restore for maximized and fullscreen windows.
Tom Hacohen [Thu, 20 Feb 2014 15:04:59 +0000 (15:04 +0000)]
Tiling2: Merge all the tiling callbacks and checks to 1 place.
Tom Hacohen [Thu, 20 Feb 2014 14:59:12 +0000 (14:59 +0000)]
Tiling2: Added maximized to the is_tilable checks.
Tom Hacohen [Thu, 20 Feb 2014 14:56:27 +0000 (14:56 +0000)]
Tiling2: Fix handling of maximized windows.
This fixes T978.
Tom Hacohen [Thu, 20 Feb 2014 14:41:59 +0000 (14:41 +0000)]
Tiling2: Handle windows becoming fullscreen while tiled.
Tom Hacohen [Thu, 20 Feb 2014 14:29:44 +0000 (14:29 +0000)]
Tiling2: Only restore maximized if different than current.
Tom Hacohen [Tue, 18 Feb 2014 16:33:14 +0000 (16:33 +0000)]
Tiling2: Ifdef out ecore_x specific stuff when in Wayland Only.
Tom Hacohen [Tue, 18 Feb 2014 15:22:47 +0000 (15:22 +0000)]
Tiling2: Don't tile iconic windows when loading the module.
This fixes T976.
Tom Hacohen [Tue, 18 Feb 2014 14:08:57 +0000 (14:08 +0000)]
Tiling2: Del all callbacks when unloading module.
This fixes T971.
Tom Hacohen [Thu, 13 Feb 2014 09:41:47 +0000 (09:41 +0000)]
Tiling2: reapply tree on frame's deletion, not client removal.
According to mike this should work better with animations.
Fixes T947.
Tom Hacohen [Wed, 12 Feb 2014 15:08:31 +0000 (15:08 +0000)]
Tiling2: When adding clients, add them relative to the current one.
This fixes clients to be added relative to the current one, and not at
the end of the current children list.
This fixes T944.
Tom Hacohen [Wed, 12 Feb 2014 12:34:38 +0000 (12:34 +0000)]
Tiling2: Fixed coding conventions.
Tom Hacohen [Wed, 12 Feb 2014 12:32:57 +0000 (12:32 +0000)]
Tiling2: Properly apply settings from the config dialog.
This fixes T911.
Tom Hacohen [Wed, 12 Feb 2014 12:20:56 +0000 (12:20 +0000)]
Tiling2: Fixed setting of floating on non tiled desktops.
Tom Hacohen [Wed, 12 Feb 2014 12:10:19 +0000 (12:10 +0000)]
Tiling2: Store extra on more windows, including ones in non-tiling desktops.
Tom Hacohen [Wed, 12 Feb 2014 11:55:14 +0000 (11:55 +0000)]
Tiling2: Moved a function to a better location.
Tom Hacohen [Wed, 12 Feb 2014 11:53:27 +0000 (11:53 +0000)]
Tiling2: Removed useless desk show hook.
Tom Hacohen [Wed, 12 Feb 2014 11:34:48 +0000 (11:34 +0000)]
Tiling2: Fixed applying of desktop is tiled config.
This now changes things as we click apply.
Tom Hacohen [Tue, 11 Feb 2014 10:53:47 +0000 (10:53 +0000)]
Tiling2: Fixed tiling2 according to enlightenment's sticky event changes.
Changes in e were introduce in:
29cd45142a6cba1c28faa940d3b332f78e484a2d
Tom Hacohen [Mon, 10 Feb 2014 09:27:57 +0000 (09:27 +0000)]
Tiling2: Fixed formattign, again.
Fixes T919.
Tom Hacohen [Mon, 10 Feb 2014 09:09:36 +0000 (09:09 +0000)]
Tiling2: Fixed resize issues.
This fixes T913.
Tom Hacohen [Fri, 7 Feb 2014 10:01:40 +0000 (10:01 +0000)]
Tiling2: Renamed space between windows -> padding.
Tom Hacohen [Fri, 7 Feb 2014 10:00:34 +0000 (10:00 +0000)]
Tiling2: Implemented window padding.
Thanks to cippp for the feature request + some code.
Tom Hacohen [Fri, 7 Feb 2014 09:55:47 +0000 (09:55 +0000)]
Tiling2: Use a define to set the max window padding.
Tom Hacohen [Fri, 7 Feb 2014 09:54:14 +0000 (09:54 +0000)]
Tiling2: Get rid of a redundant define.
cippp [Fri, 7 Feb 2014 09:51:06 +0000 (09:51 +0000)]
Tiling2: Added config to set window spacing.
cippp [Fri, 7 Feb 2014 09:50:13 +0000 (09:50 +0000)]
Tiling2: renamed local variables.
cippp [Thu, 6 Feb 2014 23:45:09 +0000 (01:45 +0200)]
Tiling2: Added a link to the module's settings when right-clicking gadget.
Tom Hacohen [Thu, 6 Feb 2014 16:57:48 +0000 (16:57 +0000)]
Tiling2: Added a config to disable floating mode.
Tom Hacohen [Thu, 6 Feb 2014 16:06:32 +0000 (16:06 +0000)]
Tiling2: Added a gadget to indicate current tiling mode.
Tom Hacohen [Thu, 6 Feb 2014 15:06:11 +0000 (15:06 +0000)]
Tiling2: Added a gadget group to the theme.
Tom Hacohen [Thu, 6 Feb 2014 14:51:10 +0000 (14:51 +0000)]
Tiling2: Removed unneeded images from theme.
Tom Hacohen [Wed, 5 Feb 2014 09:53:20 +0000 (09:53 +0000)]
Tiling2: Removed debug print that was causing segfaults.
Tom Hacohen [Tue, 4 Feb 2014 16:24:44 +0000 (16:24 +0000)]
Tiling2: Fixed coding conventions using efl_indent.
Tom Hacohen [Tue, 4 Feb 2014 16:00:51 +0000 (16:00 +0000)]
Tiling2: Updated wiki path.
Tom Hacohen [Tue, 4 Feb 2014 15:49:46 +0000 (15:49 +0000)]
Tiling2: Get rid of __UNUSED__ in favour of EINA_UNUSED.
Tom Hacohen [Tue, 4 Feb 2014 15:04:37 +0000 (15:04 +0000)]
Tiling2: Build infra - this can be removed when merged to E.
Tom Hacohen [Wed, 29 Jan 2014 15:23:22 +0000 (15:23 +0000)]
Tiling2: Added an help button.
Tom Hacohen [Thu, 23 Jan 2014 15:09:21 +0000 (15:09 +0000)]
Tiling2: E_Client already has a property for sticky, use it.
Before this change, I duplicated this in extra.
Tom Hacohen [Thu, 23 Jan 2014 14:58:49 +0000 (14:58 +0000)]
Tiling2: Implemented mouse drag to swap.
This is a new mouse action that lets you swap window with mouse drag.
Tom Hacohen [Thu, 23 Jan 2014 14:18:42 +0000 (14:18 +0000)]
Tiling2: Fix bug with cleaning up actions when shutting down.
Tom Hacohen [Tue, 21 Jan 2014 15:51:48 +0000 (15:51 +0000)]
Tiling2: Removed redundant structure members.
Tom Hacohen [Tue, 21 Jan 2014 14:57:35 +0000 (14:57 +0000)]
Tiling2: Don't try to remove non-tiled windows from the tile tree.
Tom Hacohen [Tue, 21 Jan 2014 14:53:35 +0000 (14:53 +0000)]
Tiling2: Add "floating" as a split mode.
This lets people just create floating windows, without the need to toggle.
Tom Hacohen [Mon, 20 Jan 2014 16:29:09 +0000 (16:29 +0000)]
Tiling2: Improved setting of client borders.
No need to have a special entry point for that.
This fixes the issues with persistant pixel border.
Tom Hacohen [Mon, 20 Jan 2014 16:28:07 +0000 (16:28 +0000)]
Tiling2: Fixed issues with removing/restoring clients.
Tom Hacohen [Mon, 20 Jan 2014 16:13:20 +0000 (16:13 +0000)]
Tiling2: Fixed removing clients from extras hash.
Tom Hacohen [Mon, 20 Jan 2014 15:49:36 +0000 (15:49 +0000)]
Tiling2: Have a common entry func for most functions.
Tom Hacohen [Mon, 20 Jan 2014 15:29:31 +0000 (15:29 +0000)]
Tiling2: Simple logic cleanup.
Tom Hacohen [Mon, 20 Jan 2014 15:25:00 +0000 (15:25 +0000)]
Tiling2: Properly ignore e util clients.
This fixes all the error messages that are printed on e startup.
Tom Hacohen [Mon, 20 Jan 2014 15:22:43 +0000 (15:22 +0000)]
Tiling2: Update original information every time a client is added.
Even if it's not the first time that client is added.
Tom Hacohen [Mon, 20 Jan 2014 15:14:05 +0000 (15:14 +0000)]
Tiling2: Fixed bug with client border menu.
This fixes duplicate entries.
Tom Hacohen [Mon, 20 Jan 2014 14:28:15 +0000 (14:28 +0000)]
Tiling2: Stop fiddling with stacking and layers.
Tom Hacohen [Mon, 20 Jan 2014 13:54:58 +0000 (13:54 +0000)]
Tiling2: Don't set client layers.
This fixes some of the input region issues I was having.
The bug is still in e, but this solves some stuff.
Tom Hacohen [Mon, 20 Jan 2014 12:08:12 +0000 (12:08 +0000)]
Tiling2: Fixed adjacent node swapping.
Really swap adjacent nodes, not just nodes having a border on the
same line, but never touching.
Also, it's now weighted, so the best matching node will be chosen, not
the first matching.
Tom Hacohen [Mon, 20 Jan 2014 11:41:39 +0000 (11:41 +0000)]
Tiling2: Fixed extra hash cleanup for ignored users.
It should always be cleaned, now that we keep it for ignored windows as well.
Tom Hacohen [Mon, 20 Jan 2014 10:46:52 +0000 (10:46 +0000)]
Tiling2: Be more defensive about removing clients.
This will delete clients even in cases we didn't delete before.
Tom Hacohen [Mon, 20 Jan 2014 10:38:22 +0000 (10:38 +0000)]
Tiling2: Improve debug output in tree dump.
Tom Hacohen [Fri, 17 Jan 2014 17:25:23 +0000 (17:25 +0000)]
Tiling2: Style changes.
Tom Hacohen [Fri, 17 Jan 2014 17:15:19 +0000 (17:15 +0000)]
Tiling2: Handle compositor resize hook.
Tom Hacohen [Fri, 17 Jan 2014 17:13:22 +0000 (17:13 +0000)]
Tiling2: Have a desk walker function and use it.
Tom Hacohen [Fri, 17 Jan 2014 16:24:53 +0000 (16:24 +0000)]
Tiling2: Fixed re-tiling on e restart/module unload reload.
Tom Hacohen [Fri, 17 Jan 2014 16:00:11 +0000 (16:00 +0000)]
Tiling2: Fixed desktop setting.
Tom Hacohen [Fri, 17 Jan 2014 15:55:54 +0000 (15:55 +0000)]
Tiling2: Fixed error message.
Tom Hacohen [Fri, 17 Jan 2014 15:45:48 +0000 (15:45 +0000)]
Tiling2: Unmaximize windows when starting to tile them.
Tom Hacohen [Fri, 17 Jan 2014 14:01:48 +0000 (14:01 +0000)]
Tiling2: Added weight correction code.
Total weight should always be 1.0.
This may go off sometimes because of the nature of floating point.
Always correct it when reapply tree.
Tom Hacohen [Fri, 17 Jan 2014 13:51:57 +0000 (13:51 +0000)]
Tiling2: Added support for swapping windows.
Tom Hacohen [Fri, 17 Jan 2014 13:48:59 +0000 (13:48 +0000)]
Tiling2: Fixed a bug in the tree walker.
Tom Hacohen [Fri, 17 Jan 2014 12:29:33 +0000 (12:29 +0000)]
Tiling2: Fixed error messages with ignored windows.
Tom Hacohen [Fri, 17 Jan 2014 11:30:41 +0000 (11:30 +0000)]
Tiling2: Fixed moving non-tiled windows.
Tom Hacohen [Thu, 16 Jan 2014 17:40:14 +0000 (17:40 +0000)]
Tiling2: Removed some redundant code.
Tom Hacohen [Thu, 16 Jan 2014 17:26:06 +0000 (17:26 +0000)]
Tiling2: Remove the step restriction.
Enlightenment already enforces that, and using it makes things choppy.
Tom Hacohen [Thu, 16 Jan 2014 17:18:29 +0000 (17:18 +0000)]
Tiling2: Restrict allowed resizes of windows.
Tom Hacohen [Thu, 16 Jan 2014 15:16:28 +0000 (15:16 +0000)]
Tiling2: Fixed resizing of clients at "forbidden" borders.
For example, leftmost window's left border.
Tom Hacohen [Thu, 16 Jan 2014 14:50:56 +0000 (14:50 +0000)]
Tiling2: Use resize_mode for detecting resize direction.
Tom Hacohen [Thu, 16 Jan 2014 14:45:51 +0000 (14:45 +0000)]
Tiling2: Better block of window moving.
Tom Hacohen [Thu, 16 Jan 2014 13:13:04 +0000 (13:13 +0000)]
Tiling2: Added a menu item to toggle floating windows.
Tom Hacohen [Thu, 16 Jan 2014 13:03:50 +0000 (13:03 +0000)]
Tiling2: Get rid of the use_rows config.
Tom Hacohen [Thu, 16 Jan 2014 12:53:23 +0000 (12:53 +0000)]
Tiling2: Removed debug printfs.
Tom Hacohen [Thu, 16 Jan 2014 12:39:36 +0000 (12:39 +0000)]
Tiling2: Better handle parent == NULL case.
Tom Hacohen [Thu, 16 Jan 2014 12:39:12 +0000 (12:39 +0000)]
Tiling2: if can't find the parent, pass NULL, not the root.
Tom Hacohen [Thu, 16 Jan 2014 12:27:34 +0000 (12:27 +0000)]
Tiling2: Cleaned up ignored windows support.
Tom Hacohen [Thu, 16 Jan 2014 11:59:42 +0000 (11:59 +0000)]
Tiling2: Added untested support for sticky windows.
Just don't tile them.
Tom Hacohen [Thu, 16 Jan 2014 11:59:20 +0000 (11:59 +0000)]
Tiling2: Remove client from floating window list when cleaning.
Tom Hacohen [Thu, 16 Jan 2014 11:45:37 +0000 (11:45 +0000)]
Tiling2: Remove things I don't need from config and config dialog.
Tom Hacohen [Thu, 16 Jan 2014 11:32:53 +0000 (11:32 +0000)]
Tiling2: Fix a bug with reordering of windows in some cases.
Tom Hacohen [Thu, 16 Jan 2014 11:21:14 +0000 (11:21 +0000)]
Tiling2: Properly handle more than one desk.
Tom Hacohen [Wed, 15 Jan 2014 13:03:16 +0000 (13:03 +0000)]
Tiling2: Added an hack to workaround the stupid e resize bug.
The bug with the frame created after the first resize.
Tom Hacohen [Tue, 14 Jan 2014 17:25:32 +0000 (17:25 +0000)]
Tiling2: Added resizing support.
There are still some bugs.
Tom Hacohen [Tue, 14 Jan 2014 15:29:27 +0000 (15:29 +0000)]
Tiling2: Don't tile centred windows.
Tom Hacohen [Tue, 14 Jan 2014 15:17:56 +0000 (15:17 +0000)]
Tiling2: Removed end_special_input.