Commit Graph

15049 Commits

Author SHA1 Message Date
Tom Hacohen 99e8b518f2 Tiling2: Added a gadget to indicate current tiling mode. 2014-02-21 09:15:10 +00:00
Tom Hacohen 68a84521ae Tiling2: Added a gadget group to the theme. 2014-02-21 09:15:10 +00:00
Tom Hacohen 47eec07d9a Tiling2: Removed unneeded images from theme. 2014-02-21 09:15:09 +00:00
Tom Hacohen 651e627c4b Tiling2: Removed debug print that was causing segfaults. 2014-02-21 09:15:09 +00:00
Tom Hacohen ee587a37b0 Tiling2: Fixed coding conventions using efl_indent. 2014-02-21 09:15:09 +00:00
Tom Hacohen 05df3290dc Tiling2: Updated wiki path. 2014-02-21 09:15:09 +00:00
Tom Hacohen 1b4821155c Tiling2: Get rid of __UNUSED__ in favour of EINA_UNUSED. 2014-02-21 09:15:09 +00:00
Tom Hacohen e034e518df Tiling2: Build infra - this can be removed when merged to E. 2014-02-21 09:15:09 +00:00
Tom Hacohen 5b5ffa37d4 Tiling2: Added an help button. 2014-02-21 09:15:09 +00:00
Tom Hacohen bf69b855b3 Tiling2: E_Client already has a property for sticky, use it.
Before this change, I duplicated this in extra.
2014-02-21 09:15:09 +00:00
Tom Hacohen e2f4596ff7 Tiling2: Implemented mouse drag to swap.
This is a new mouse action that lets you swap window with mouse drag.
2014-02-21 09:15:09 +00:00
Tom Hacohen b48cd9c9f8 Tiling2: Fix bug with cleaning up actions when shutting down. 2014-02-21 09:15:09 +00:00
Tom Hacohen ea175537cf Tiling2: Removed redundant structure members. 2014-02-21 09:15:09 +00:00
Tom Hacohen 7aaf444ee8 Tiling2: Don't try to remove non-tiled windows from the tile tree. 2014-02-21 09:15:09 +00:00
Tom Hacohen 792022196f Tiling2: Add "floating" as a split mode.
This lets people just create floating windows, without the need to toggle.
2014-02-21 09:15:09 +00:00
Tom Hacohen ff078996ff Tiling2: Improved setting of client borders.
No need to have a special entry point for that.
This fixes the issues with persistant pixel border.
2014-02-21 09:15:09 +00:00
Tom Hacohen bb1d53614c Tiling2: Fixed issues with removing/restoring clients. 2014-02-21 09:15:09 +00:00
Tom Hacohen ca6f1e74f5 Tiling2: Fixed removing clients from extras hash. 2014-02-21 09:15:09 +00:00
Tom Hacohen f6fa07e812 Tiling2: Have a common entry func for most functions. 2014-02-21 09:15:09 +00:00
Tom Hacohen 55e669fae4 Tiling2: Simple logic cleanup. 2014-02-21 09:15:08 +00:00
Tom Hacohen 03c6fee356 Tiling2: Properly ignore e util clients.
This fixes all the error messages that are printed on e startup.
2014-02-21 09:15:08 +00:00
Tom Hacohen 21f30a1ac2 Tiling2: Update original information every time a client is added.
Even if it's not the first time that client is added.
2014-02-21 09:15:08 +00:00
Tom Hacohen b89709267d Tiling2: Fixed bug with client border menu.
This fixes duplicate entries.
2014-02-21 09:15:08 +00:00
Tom Hacohen 5b50d42521 Tiling2: Stop fiddling with stacking and layers. 2014-02-21 09:15:08 +00:00
Tom Hacohen 3114e63faf 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.
2014-02-21 09:15:08 +00:00
Tom Hacohen 1e3f71af71 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.
2014-02-21 09:15:08 +00:00
Tom Hacohen e3fcc03152 Tiling2: Fixed extra hash cleanup for ignored users.
It should always be cleaned, now that we keep it for ignored windows as well.
2014-02-21 09:15:08 +00:00
Tom Hacohen 41ecdc1ebd Tiling2: Be more defensive about removing clients.
This will delete clients even in cases we didn't delete before.
2014-02-21 09:15:08 +00:00
Tom Hacohen 507a6db1e1 Tiling2: Improve debug output in tree dump. 2014-02-21 09:15:08 +00:00
Tom Hacohen 9adc5336c0 Tiling2: Style changes. 2014-02-21 09:15:08 +00:00
Tom Hacohen 86aa218cb2 Tiling2: Handle compositor resize hook. 2014-02-21 09:15:08 +00:00
Tom Hacohen 32c4da7f5e Tiling2: Have a desk walker function and use it. 2014-02-21 09:15:08 +00:00
Tom Hacohen 0b007b2ff6 Tiling2: Fixed re-tiling on e restart/module unload reload. 2014-02-21 09:15:08 +00:00
Tom Hacohen 39e17e96f8 Tiling2: Fixed desktop setting. 2014-02-21 09:15:08 +00:00
Tom Hacohen f0efa12921 Tiling2: Fixed error message. 2014-02-21 09:15:08 +00:00
Tom Hacohen 08b877fa1f Tiling2: Unmaximize windows when starting to tile them. 2014-02-21 09:15:08 +00:00
Tom Hacohen 163c6377b3 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.
2014-02-21 09:15:07 +00:00
Tom Hacohen 6795380282 Tiling2: Added support for swapping windows. 2014-02-21 09:15:07 +00:00
Tom Hacohen 6fb54d58ac Tiling2: Fixed a bug in the tree walker. 2014-02-21 09:15:07 +00:00
Tom Hacohen d03fb0a0f8 Tiling2: Fixed error messages with ignored windows. 2014-02-21 09:15:07 +00:00
Tom Hacohen 2f80f460e4 Tiling2: Fixed moving non-tiled windows. 2014-02-21 09:15:07 +00:00
Tom Hacohen 5d044ecad3 Tiling2: Removed some redundant code. 2014-02-21 09:15:07 +00:00
Tom Hacohen df14cca8dd Tiling2: Remove the step restriction.
Enlightenment already enforces that, and using it makes things choppy.
2014-02-21 09:15:07 +00:00
Tom Hacohen b5434d1de5 Tiling2: Restrict allowed resizes of windows. 2014-02-21 09:15:07 +00:00
Tom Hacohen ae8acb24b2 Tiling2: Fixed resizing of clients at "forbidden" borders.
For example, leftmost window's left border.
2014-02-21 09:15:07 +00:00
Tom Hacohen 15a4ec0c40 Tiling2: Use resize_mode for detecting resize direction. 2014-02-21 09:15:07 +00:00
Tom Hacohen f5e96784be Tiling2: Better block of window moving. 2014-02-21 09:15:07 +00:00
Tom Hacohen dae37e1dea Tiling2: Added a menu item to toggle floating windows. 2014-02-21 09:15:07 +00:00
Tom Hacohen 5cec6d14cb Tiling2: Get rid of the use_rows config. 2014-02-21 09:15:07 +00:00
Tom Hacohen b092052297 Tiling2: Removed debug printfs. 2014-02-21 09:15:07 +00:00
Tom Hacohen ceb1cc414e Tiling2: Better handle parent == NULL case. 2014-02-21 09:15:07 +00:00
Tom Hacohen 3804d5165a Tiling2: if can't find the parent, pass NULL, not the root. 2014-02-21 09:15:07 +00:00
Tom Hacohen 052a13b462 Tiling2: Cleaned up ignored windows support. 2014-02-21 09:15:07 +00:00
Tom Hacohen bfdb22b0b8 Tiling2: Added untested support for sticky windows.
Just don't tile them.
2014-02-21 09:15:07 +00:00
Tom Hacohen 8ab30821fb Tiling2: Remove client from floating window list when cleaning. 2014-02-21 09:15:06 +00:00
Tom Hacohen 5e209ea583 Tiling2: Remove things I don't need from config and config dialog. 2014-02-21 09:15:06 +00:00
Tom Hacohen 4b2a53d1d4 Tiling2: Fix a bug with reordering of windows in some cases. 2014-02-21 09:15:06 +00:00
Tom Hacohen 156f6ff984 Tiling2: Properly handle more than one desk. 2014-02-21 09:15:06 +00:00
Tom Hacohen 1b3500f31a Tiling2: Added an hack to workaround the stupid e resize bug.
The bug with the frame created after the first resize.
2014-02-21 09:15:06 +00:00
Tom Hacohen 6b606cde41 Tiling2: Added resizing support.
There are still some bugs.
2014-02-21 09:15:06 +00:00
Tom Hacohen 3aa597c4af Tiling2: Don't tile centred windows. 2014-02-21 09:15:06 +00:00
Tom Hacohen 3914926b13 Tiling2: Removed end_special_input. 2014-02-21 09:15:06 +00:00
Tom Hacohen 8dd65b90f3 Tiling2: Create a move/resize function that will update extra. 2014-02-21 09:15:06 +00:00
Tom Hacohen b0593cd939 Tiling2: Reapply tree when resizing/moving windows. 2014-02-21 09:15:06 +00:00
Tom Hacohen 592dfb9dd2 Tiling2: Fixed buy with deleting last vertical split. 2014-02-21 09:15:06 +00:00
Tom Hacohen e9779f70bf Tiling2: Bug fixing. Things seem to work now. 2014-02-21 09:15:06 +00:00
Tom Hacohen 1a2ffcd06e Tiling2: Changed add to return new root and fixed top-level vertical. 2014-02-21 09:15:06 +00:00
Tom Hacohen 1114b54c71 Tiling2: Added a useful debugging function. 2014-02-21 09:15:06 +00:00
Tom Hacohen 0c5afecfc9 Tiling2: More bug fixing. 2014-02-21 09:15:06 +00:00
Tom Hacohen f7f204353d Tiling2: Handle more delete cases. 2014-02-21 09:15:06 +00:00
Tom Hacohen 38e13e2648 Tiling2: Fixed a few bugs. 2014-02-21 09:15:06 +00:00
Tom Hacohen 21ac77185b Tiling2: Get rid of split_type, use levels instead and bug fixes. 2014-02-21 09:15:06 +00:00
Tom Hacohen f64763ab6e Tiling2: Fixed tree update bugs. 2014-02-21 09:15:05 +00:00
Tom Hacohen aac439698b Tiling2: Removed more code. 2014-02-21 09:15:05 +00:00
Tom Hacohen da4212680a Tiling2: Completely get rid of the stacks concept. 2014-02-21 09:15:05 +00:00
Tom Hacohen 9831904a88 Tiling2: Fixed a bug in tree-walker. 2014-02-21 09:15:05 +00:00
Tom Hacohen dd7c25b506 Tiling2: Moved fullscreen check into 'is_tilable'. 2014-02-21 09:15:05 +00:00
Tom Hacohen 091eeb2df4 Tiling2: Removed more redundant code. 2014-02-21 09:15:05 +00:00
Tom Hacohen af06d8db25 Tiling2: More code cleanups. 2014-02-21 09:15:05 +00:00
Tom Hacohen 29693d93b3 Tiling2: Cleaned up some more code. 2014-02-21 09:15:05 +00:00
Tom Hacohen ea19439b72 Tiling2: Removed more redundant code. 2014-02-21 09:15:05 +00:00
Tom Hacohen 81eb74ca92 Tiling2: Make it possible to toggle split type from key bindings. 2014-02-21 09:15:05 +00:00
Tom Hacohen 76c4fb85d9 Tiling2: Moved more redundant code. 2014-02-21 09:15:05 +00:00
Tom Hacohen 96645931bd Tiling2: Added a mode toggle action. 2014-02-21 09:15:05 +00:00
Tom Hacohen fad33bde8d Tiling2: Removed some more code I don't need. 2014-02-21 09:15:05 +00:00
Tom Hacohen 4c590afe7e Tiling2: Allow not finding a parent if it's the first window. 2014-02-21 09:15:01 +00:00
Tom Hacohen 5ad0edeb84 Tiling2: Added a function to test if we should tile. 2014-02-21 09:15:01 +00:00
Tom Hacohen f1068feed3 Tiling2: Remove more stack related code.
For now, you can't resize windows.
2014-02-21 09:15:00 +00:00
Tom Hacohen d81034ac36 Tiling2: Start using window tree. 2014-02-21 09:14:56 +00:00
Tom Hacohen 9060fa64b9 Tiling2: Fixed bugs and improve the window tree implementation. 2014-02-21 09:14:56 +00:00
Tom Hacohen cfd4ea4f9f tiling2: Added window_tree. 2014-02-21 09:14:56 +00:00
Tom Hacohen 6b68b99491 Tiling2: Initial commit. 2014-02-21 09:14:44 +00:00
Carsten Haitzler 22369ffc7b ensure that the bg object exists before emitting signals in e_desk_show() 2014-02-21 09:34:25 +09:00
Chris Michael ab15d6e2b4 bugfix: Fix wl_desktop_shell compiler warning for Mike
The keys array stores keys as unsigned int, so with a little bit of
casting voodoo, we can avoid the nasty compiler warning messages about
void pointers used in arithmetic.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2014-02-20 17:11:56 +00:00
Mike Blumenkrantz 0bd9052c7e better fix for exec client removal: don't remove if exec is deleted 2014-02-18 06:56:54 -05:00
Mike Blumenkrantz fba7100590 fix client menu layer checks
T984
2014-02-18 06:45:20 -05:00
Mike Blumenkrantz 37c1345aa1 fix crash when repeatedly opening multiple client menus 2014-02-17 17:30:15 -05:00
Mike Blumenkrantz ef360e1684 resize damage tiler on resize
this fixes render races which occur when damages and resizes happen in quick succession
2014-02-17 19:11:33 -03:00
Mike Blumenkrantz 14c7e58a29 improve infos for e_comp_util_wins_print() 2014-02-17 19:11:33 -03:00
Mike Blumenkrantz b317bedf5a remove comp object dirty flag
this logic was useful for another issue which has since been fixed. it currently only serves the purpose of triggering a race condition crash which I do not enjoy.
2014-02-17 16:21:02 -03:00
Mike Blumenkrantz 4c2db4342a bugfix: unref client when removing from exec if exec is deleted
fixes a race condition where client would never be freed when closing lots of windows simultaneously
2014-02-17 16:21:02 -03:00
Sebastian Dransfeld 60483a11a0 randr: split config and current setup
This is so the current config does get changed unless the user requests
it, and makes it possible to have several configs.
2014-02-17 08:44:56 +01:00
Carsten Haitzler fd0048b0f4 ibar - fix separator to properly be horizontal on vertical ibars 2014-02-15 21:35:48 +09:00
Mike Blumenkrantz 7423b5cac1 really fix deskmirror sticky+hidden client handling
quickaccess...
2014-02-15 01:32:07 -05:00
Mike Blumenkrantz 025e0b7565 show hidden clients in deskmirror when in pager or taskbar mode 2014-02-15 01:25:21 -05:00
Mike Blumenkrantz 6da74c5f06 bugfix: only remove an ibar no-order icon if ALL icon's clients are skip
T953
2014-02-14 15:58:49 -05:00
Mike Blumenkrantz de7d818f99 break when finding a non-skip new ibar exec 2014-02-14 15:57:33 -05:00
Mike Blumenkrantz 9419f687aa make e_win delete callback less recursive-prone 2014-02-14 15:49:49 -05:00
Mike Blumenkrantz 964ebfb5d7 also fix wp2 close button to not crash 2014-02-14 15:49:38 -05:00
Mike Blumenkrantz 3121ae65a9 fix wp2 crash
T902
2014-02-14 15:19:03 -05:00
Mike Blumenkrantz e6fa8f3176 don't unfullscreen clients if:
* iconic

* hidden (desk flipped)

* not on current zone

T920
2014-02-14 15:08:23 -05:00
Mike Blumenkrantz bbf29c6a2a only set want_focus for non-hidden clients when deferring focus setting
T950
2014-02-14 14:56:16 -05:00
Mike Blumenkrantz 46a715db35 hidden clients should be hidden in deskmirror 2014-02-14 14:46:07 -05:00
Mike Blumenkrantz 8df52a1f22 don't create remembers for ignored clients 2014-02-14 14:40:16 -05:00
Mike Blumenkrantz 96316e2969 bugfix: no more crashing when deleting entry widgets 2014-02-14 14:12:12 -05:00
Mike Blumenkrantz 494e6bc5ee another revision for client geometry resets: take new geometry instead of ignoring it 2014-02-14 13:43:15 -05:00
Mike Blumenkrantz 1c82215eaa force client changes when calling e_win geometry functions 2014-02-14 13:42:49 -05:00
Mike Blumenkrantz 208e7e17bc bugfix: adding/changing comp match window types is now possible 2014-02-14 13:05:17 -05:00
Mike Blumenkrantz 92c7ec1dad DOCKs should actually be "none" so they don't get shadows 2014-02-14 13:05:00 -05:00
Mike Blumenkrantz 3bb0867815 set DOCK type on systray window 2014-02-14 12:48:34 -05:00
Mike Blumenkrantz 9d9ee6c33b add default comp match for DOCK window types 2014-02-14 12:46:53 -05:00
Mike Blumenkrantz c7cf99ba45 bugfix: comp match adding once again functional 2014-02-14 12:41:34 -05:00
Mike Blumenkrantz 09cb41f1dc only reset move/resize attempts if the pending move/resize is different than the current one 2014-02-13 22:46:48 -05:00
Mike Blumenkrantz d80dbc1a35 add maximize_override client flag
sometimes you just want to do stuff on a client without any maximize logic applying!
2014-02-12 20:37:52 -05:00
Mike Blumenkrantz aa37188e02 add maximize_pre and unmaximize_pre smart callbacks 2014-02-12 20:37:39 -05:00
Mike Blumenkrantz 7571ccb2d8 reapply geometry and unset post flags when a client intercept gets the current geometry 2014-02-12 19:50:50 -05:00
Mike Blumenkrantz 0b2e3ea2e3 add unmaximize_done client smart callback 2014-02-12 19:50:17 -05:00
Mike Blumenkrantz 82faa72a45 move maximize_done client smart callback to the end of maximize 2014-02-12 19:49:58 -05:00
Mike Blumenkrantz 0d2945149a client signal actions are not mouse actions
mouse actions have a different end path which causes pointer popping to not occur

T913
2014-02-12 12:06:13 -05:00
Mike Blumenkrantz 1f534c3b32 set client move/resize vars in time for client hooks 2014-02-12 11:50:00 -05:00
Carsten Haitzler 3e17092db8 fix segv with comp post_updates
if we keep a list of e clients... either make sure any client deleted
is removed from the list on deletion... OR use ref/unref to ensure it
stays alive as long as it's in the list.
2014-02-12 12:34:28 +09:00
Mike Blumenkrantz 6802ae750d send smart object to comp effect end cb 2014-02-11 22:29:34 -05:00
Mike Blumenkrantz 449ec43d1f size comp zoomap child to pixmap, not client
this affects nothing
2014-02-11 21:45:04 -05:00
Mike Blumenkrantz 57f0bf6429 fix zoomap alpha setting
doesn't affect anything right now, but someday...
2014-02-11 21:43:54 -05:00
Mike Blumenkrantz 5a14f9f00e unset client.saved after unmaximize callback 2014-02-11 19:28:25 -05:00
Mike Blumenkrantz 3f5b5b03b2 call unmaximize smart callback for all unmaximizes, fix client sizing on directional unmax 2014-02-11 19:01:36 -05:00
Mike Blumenkrantz ffe5670b39 add "maximize_done" smart callback for clients 2014-02-11 18:48:56 -05:00
Mike Blumenkrantz e564187759 hook shadow_change smart callback to fix deskmirror shadows without crashing constantly 2014-02-11 18:48:14 -05:00
Mike Blumenkrantz adb398b6be Revert "fix pager16 shadow inconssistency"
This reverts commit c91840ea54.
2014-02-11 18:42:17 -05:00
Mike Blumenkrantz 2fd21db5e0 Revert "fix deskmirror crash from c91840ea54a398f56a513a9d02608f323d7e8f65"
This reverts commit 6221fb7c90.
2014-02-11 18:42:06 -05:00
Mike Blumenkrantz c3ce56c1dc it's possible that a comp effect has no post-effect callback 2014-02-11 18:40:22 -05:00
Mike Blumenkrantz bf48616a47 remove shadow check from shape apply 2014-02-11 18:40:02 -05:00
Mike Blumenkrantz d9be56ad41 add smart callback on comp object for shadow change 2014-02-11 18:39:51 -05:00
Mike Blumenkrantz 6221fb7c90 fix deskmirror crash from c91840ea54
T941
2014-02-11 18:31:06 -05:00
Carsten Haitzler ed5f83ab0b fix probably NULL ic segv cause in efm
this SHOULD fix T933 if i could ever reproduce it...
2014-02-11 14:49:23 +09:00
Mike Blumenkrantz 0291edd719 hook STICKY client property change in deskmirror
T936
2014-02-10 20:14:59 -05:00
Mike Blumenkrantz 29cd45142a remove E_EVENT_CLIENT_(UN)STICK, use E_EVENT_CLIENT_PROPERTY & E_CLIENT_PROPERTY_STICKY 2014-02-10 20:10:38 -05:00
Mike Blumenkrantz e895d86839 set comp mirror alpha the same way as objects
T928
2014-02-10 09:54:01 -05:00
Mike Blumenkrantz 722b18de9a set precise_is_inside based on shaped || shaped_input 2014-02-10 09:48:13 -05:00
Mike Blumenkrantz e7127a93ff don't set input shape differently on shaped_input clients
T931
2014-02-10 09:45:53 -05:00