Commit Graph

78 Commits

Author SHA1 Message Date
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 6795380282 Tiling2: Added support for swapping windows. 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 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 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 1a2ffcd06e Tiling2: Changed add to return new root and fixed top-level vertical. 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 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 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 6b68b99491 Tiling2: Initial commit. 2014-02-21 09:14:44 +00: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 a9627e84f5 remove a bunch of unnecessary ecore-x calls from modules 2014-01-14 20:28:57 -05:00
Mike Blumenkrantz 86656e4df9 compositor rewrite / charlie-foxtrot situation
huge fustercluck commit because there wasn't really a way to separate out the changes. better to just rip it all out at once.

* compositor and window management completely rewritten. this was the goal for E19, but it pretty much required everything existing to be scrapped since it wasn't optimized, streamlined, or sensible. now instead of having the compositor strapped to the window manager like an outboard motor, it's housed more like an automobile engine.

** various comp structs have been merged into other places (eg. E_Comp_Zone is now just part of E_Zone where applicable), leading to a large deduplication of attributes

** awful E_Comp_Win is totally dead, having been replaced with e_comp_object smart objects which work just like normal canvas objects

** protocol-specific window management and compositor functionality is now kept exclusively in backend files

** e_pixmap api provides generic client finding and rendering api

** screen/xinerama screens are now provided directly by compositor on startup and re-set on change

** e_comp_render_update finally replaced with eina_tiler

** wayland compositor no longer creates X windows

** compositor e_layout removed entirely

* e_container is gone. this was made unnecessary in E18, but I kept it to avoid having too much code churn in one release. its sole purpose was to catch some events and handle window stacking, both of which are now just done by the compositor infra

* e_manager is just for screensaver and keybind stuff now, possibly remove later?

* e_border is gone along with a lot of its api. e_client has replaced it, and e_client has been rewritten completely; some parts may be similar, but the design now relies upon having a functional compositor

** window configuration/focus functions are all removed. all windows are now managed solely with evas_object_X functions on the "frame" member of a client, just as any other canvas object can be managed.

*** do NOT set interceptors on a client's comp_object. seriously.

* startup order rewritten: compositor now starts much earlier, other things just use attrs and members of the compositor

* ecore_x_pointer_xy_get usage replaced with ecore_evas_pointer_xy_get

* e_popup is totally gone, existing usage replaced by e_comp_object_util_add where applicable, otherwise just placed normally on the canvas

* deskmirror is (more) broken for now

* illume is totally fucked

* Ecore_X_Window replaced with Ecore_Window in most cases

* edge binding XWindows replaced with regular canvas objects

* some E_Win functionality has changed such that delete callbacks are now correctly called in ALL cases. various dialogs have been updated to not crash as a result

comp files and descriptions:

e_comp.c - overall compositor functions, rendering/update loop, shape cutting

e_comp_x.c - X window management and compositor functionality

e_comp_wl.c - Wayland surface management and compositor functionality

e_comp_canvas.c - general compositor canvas functions and utilities

e_comp_object.c - E_Client->frame member for managing clients as Evas_Objects, utility functions for adding objects to the compositor rendering systems

additional authors: ivan.briano@intel.com

feature: new compositor

removal: e_border, e_container, e_popup
2014-01-14 20:22:02 -05:00
Mike Blumenkrantz abff6f1427 conf2 and related subsystems were a fun and useful experiment, but this is not their time. removed.
see econf.git
2013-11-25 16:04:01 -05:00
Boris Faure de187284fc tiling: fix segv when adding a stack without config 2013-04-20 18:27:06 +02:00