Commit Graph

39 Commits

Author SHA1 Message Date
Mike Blumenkrantz 91edd1ce2f E_CLIENT_*FOREACH() macros no longer take a E_Comp param 2015-03-13 15:45:07 -04:00
Mike Blumenkrantz 091142b032 remove E_Client->comp 2015-03-13 15:41:21 -04:00
Mike Blumenkrantz 1aa31dca7a maximize typo
CID 1219857
2014-06-02 04:58:55 -04:00
Mike Blumenkrantz 60aee8d0b9 improve maximize calculations for vertical shelves 2014-05-30 15:55:21 -04:00
Mike Blumenkrantz 5f731a8a63 clamp client calc geometry to zone when maximizing 2014-05-30 15:53:37 -04:00
Mike Blumenkrantz ce3e7056ae remove unused vars 2014-03-13 09:34:10 -04:00
Mike Blumenkrantz 8b4162d681 fix maximization geometry on desks with shelves
in some cases during startup a client can get post-maximize geometry before the sizing algorithm is applied

fix T1052
2014-03-05 10:08:09 -05:00
Mike Blumenkrantz ee6b8e8c38 simplify maximize shelf fill visibility check 2014-03-05 10:08:09 -05:00
Mike Blumenkrantz 5857bd32e5 fix e_maximize_client_shelf_fill() to account for all shelves 2014-02-21 17:19:01 -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 9e8e755cdf formatting: all at once
SVN revision: 82625
2013-01-11 10:34:29 +00:00
Vincent Torri c3b0637802 e17: whitespaces--
SVN revision: 72561
2012-06-21 06:19:43 +00:00
Stefan Schmidt e793c4d769 e: More y1 to yy1 renaming thanks to y1 global
SVN revision: 72525
2012-06-20 07:54:23 +00:00
Lucas De Marchi 6638a10e20 FORMATTING
* Remove vim modelines:
 find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
 find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;

* Remove leading blank lines:
 find . -name '*.[cxh]' -exec sed -i '/./,$!d'

If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0



SVN revision: 50816
2010-08-04 16:57:32 +00:00
Vincent Torri f6b0251f3a 'return' not needed here
Patch by Andreas Nilsson

SVN revision: 44064
2009-11-30 19:10:35 +00:00
Cedric BAIL f8c05999e4 * e: Cleanup use of Eina data structure.
Patch from Peter van de Werken <pwerken-e@a-eskwadraat.nl>.


SVN revision: 41916
2009-08-21 15:08:49 +00:00
Cedric BAIL 1087de2397 Remove Evas list and replace them with Eina list.
No change for ->next and ->data access right now, as the patch is already
big enough.



SVN revision: 36962
2008-10-22 11:49:33 +00:00
Carsten Haitzler db4a8f8ba4 patch from petet can de werken with sticky signals and maximize
SVN revision: 33925
2008-03-05 02:54:30 +00:00
Miculcy Brian da5fb739e5 Fix for shelfs on specified desktops: Do not maximize until a shelf which is only visible on other desktops.
(http://bugs.enlightenment.org/show_bug.cgi?id=199)


SVN revision: 31905
2007-09-30 23:21:54 +00:00
Christopher Michael e0e2492e00 When using "fill available space", take into account if the border is on the
current desk or not. This fixes bug #113.

Fix minor formatting issue in e_border.c


SVN revision: 30915
2007-07-20 08:27:59 +00:00
Viktor Kojouharov b54e1cdc4c added an option for the shelf to let itself be overlapped by maximized windows
SVN revision: 26282
2006-10-01 20:10:37 +00:00
e-taro a3b4f52a5b This looks as if it was fixed ages ago.
SVN revision: 26045
2006-09-23 08:46:07 +00:00
e-taro 8d148768cb 1) Maximizing in individual directions with <alt><f10> and <ctrl><f10> works now
2) Maximizing in both directions at once uses the "maximum volume" heuristic (seems to work well)


SVN revision: 26043
2006-09-23 08:39:41 +00:00
Carsten Haitzler 31a13f4cd6 fix maximize on zone > 0
SVN revision: 25445
2006-09-04 14:25:35 +00:00
Carsten Haitzler 0a5e26b82b jamse brown ... errr... gadman is dead.
basically if moduels wish to put objects on a desktop - they now will have to
DIY and look after themselves. until we have gadcons with "free" layout that
do similar stuff - but this simply means module authors need to d a bit more
work. gadman code is unmaintained and a burden - thus removed.

also borders and e_win's have their own pointers now - this should nuke the
stuck pointer bug... :)


SVN revision: 24925
2006-08-20 04:48:27 +00:00
sebastid 6027cd3d4c Fix dock maximize.
SVN revision: 24452
2006-08-08 00:00:41 +00:00
Christopher Michael 03cca925e3 Remove some printfs.
SVN revision: 24126
2006-07-22 19:10:40 +00:00
Carsten Haitzler f8c6092553 1. autofoot patches.
2. fix maximize to work again. :)


SVN revision: 23375
2006-06-11 10:23:49 +00:00
Carsten Haitzler 3dca1a1058 printf--
SVN revision: 22489
2006-05-08 13:38:41 +00:00
Carsten Haitzler 2796c8917e fix maximize to respect shelves
SVN revision: 22487
2006-05-08 13:09:51 +00:00
Carsten Haitzler 3295ab33b7 fix shape change handling to... skip same shape changes
SVN revision: 22389
2006-04-29 01:19:56 +00:00
Christopher Michael 36aa7e2d70 Add some functions to e_ilist and e_widget_ilist.c . Fix commented
unused variables (just removed them). Added Cursor Settings and Startup
Settings dialogue. Removed General Settings dialog.


SVN revision: 20020
2006-01-25 04:06:51 +00:00
Christopher Michael 3dad5445ad Remove Unused Variables. C++ is bad, mkay.
SVN revision: 20002
2006-01-24 03:03:28 +00:00
Carsten Haitzler 5f71f7acf5 2 pending patches in my inbox.
1. "allow overlap" patch for modules - needs better names in the gui (Allow
windows to overlap maybe - as allow overlap is very vague)
2. itray module (buggy - buggy - beware. i know why. beware i said!)
3. TODO items


SVN revision: 19911
2006-01-20 04:04:14 +00:00
sebastid 6a638a7806 Fix EAPI warnings.
SVN revision: 19597
2006-01-07 10:39:46 +00:00
tsauerbeck 414160668a fixed some warnings
SVN revision: 16961
2005-09-26 12:28:35 +00:00
sebastid 30661f967f maximize zoom isn't a maximized mode, it's a fullscreen mode.
Check other windows when doing maximize fill.
Check windows of type dock when doing maximize expand and smart.


SVN revision: 15432
2005-06-19 17:13:37 +00:00
sebastid 8556b412c2 Maximize type as an arg to e_border_maximize. Makes it possible to use
several different maximization types in one session.
Fix the different maximization policies. They only care about gadgets now,
must be fixed to care about other constraints.


SVN revision: 15431
2005-06-19 14:59:41 +00:00
sebastid cef3ed4690 Maximize update. Needs more work, but not now.
SVN revision: 15424
2005-06-18 15:49:24 +00:00