Commit Graph

101 Commits

Author SHA1 Message Date
Mike Blumenkrantz 8d71213839 e_client_name_get() -> e_client_util_name_get()
this should be inlined
2014-02-05 10:55:50 -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 718dfef61d giant comp rejiggering commit #6:
* border->fx REMOVED, related border api REMOVED

* comp edc has new class of groups: e/comp/effects[/auto]
** these are effects which can be applied to any compositor object through the e_comp_win_effect* api and are written in embryo
*** two types - base and auto - base = manual, for use with animators; auto are "trigger and forget", for use as actual effects

* desk flip transition animations moved to comp effects and FIXED(ish)

* "zoom" effect renamed to "diagonal" for slightly less misleading name since it never did any zooming

* actual "zoom" effect added

* border hierarchy now as follows: cw->effect_obj swallows cw->shobj, cw->shobj swallows cw->bd->bg_object ?: cw->obj, if (cw->bd->bg_object) cw->bd->bg_object swallows cw->obj
** cw->effect_obj now used for all positioning and comp logic
** cw->effect_obj ONLY used for object transformation effects (moving, zooming, fading, etc)
** cw->shobj ONLY for comp visual/non-movement effects (focus effect, unfocus opacity, legacy shadows); this is a candidate for removal/rewrite in E19

* even more comp shape rewrites

* desk flip animation time now controlled by theme since edje doesn't support setting transition time in C; related config value removed

* desk flip transitions (in e_desk.c) rewritten

* various modules (evry/illume2) updated to use comp effects instead of fx offset

* desk flip configuration BROKEN(ish)
2013-04-15 08:39:16 +01:00
Carsten Haitzler f534e30089 put lucas's makefiles back.. but what do you do to make it not break
between builds from older vs newer makefile setup?



SVN revision: 79024
2012-11-09 14:49:05 +00:00
Carsten Haitzler 5fa813e1cc lucas... u're going to hate me... but i'm reverting this whole lot of
module build chnages because its fundamentally broken. it DOES NOT
PRODUCE .SO FILES. just .la and .a files. the only reason u dont
notice is.. you ALREADY had .so's installed. i just got in from the
airport... synced and updated.. rebuilt and was met with all modules
not loading... literally - no .so's are installed int he module dirs.
try rm -rf the instaleld module tree.

regardless... this has to be reverted be3cause it's a major break. the
idea is right/nice. the implementation is causing... problems.



SVN revision: 79015
2012-11-09 10:45:35 +00:00
Lucas De Marchi 0000e87ffc e/modules: delete old Makefile.am's
SVN revision: 78983
2012-11-07 21:50:53 +00:00
Lucas De Marchi 92eee9068a e: use AM_CPPFLAGS instead of INCLUDES
Get rid of warnings like below with recent automake (1.11 and newer):
src/bin/Makefile.am:6: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/bin/Makefile.am: installing './depcomp'
src/modules/access/Makefile.am:11: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')



SVN revision: 78720
2012-10-31 20:40:40 +00:00
Sebastian Dransfeld 80b0b615b8 e: Cleanup
Fixes potential invalid memory reads.

Patch by Igor Murzov

SVN revision: 77491
2012-10-04 23:27:01 +00:00
Sebastian Dransfeld 4735da0b0c E: Revert change in layer to pos map
Seems there is a lot of code which is connected to the current mapping,
and no need to create a lot of fuzz because of one unused layer.

SVN revision: 77309
2012-10-02 12:02:02 +00:00
Sebastian Dransfeld 66714d9e41 illume2: And fix the previous fix
SVN revision: 77307
2012-10-02 11:50:51 +00:00
Sebastian Dransfeld b83598a504 illume2: Correct layer check value
The old code wanted all windows above layer 50 which has now shifted one
position down.

SVN revision: 77306
2012-10-02 11:48:41 +00:00
Sebastian Dransfeld 1a46149167 illume2: simplify layer to pos mapping
SVN revision: 77302
2012-10-02 10:57:20 +00:00
Sebastian Dransfeld 7e76afdd0a illume2: Fix layer to position map
There is a bug here somewhere. In _policy_border_show_below we search
only the layers _above_ the window?!?

SVN revision: 77298
2012-10-02 10:26:10 +00:00
Christopher Michael 6608e80725 E (Illume): Update border layer position to match changes in
e_container_layer_map.



SVN revision: 77297
2012-10-02 10:21:09 +00:00
Christopher Michael fdf581a87e Illume: Fix ticket 1486 (Illume Home Key Button no longer works). Fix
some layering issues with Back/Forward also.

Implement a "hide_above" function to hide anything above Home window.



SVN revision: 76646
2012-09-14 07:40:31 +00:00
Christopher Michael 5b80ad77d9 E (Illume): Fix border_show_below also (and remove some printfs).
SVN revision: 76592
2012-09-13 08:51:45 +00:00
Christopher Michael 3ed9034661 E (Illume): Fix borders not iconifying in mobile profile when you
launch new apps or switch focus.



SVN revision: 76590
2012-09-13 08:33:14 +00:00
Cedric BAIL c2a29811d5 e: massiv warning cleanup !
SVN revision: 70756
2012-05-04 09:38:52 +00:00
Carsten Haitzler 515819cdb5 make all zone matching agree on the same convention - use zone->num,
not zone->id. zone->id is for matching u to zinerama/xrandr
screens/outputs. e re-sorts based on highest res screens first, lower
res later.



SVN revision: 67951
2012-02-15 04:35:18 +00:00
Mike Blumenkrantz 89ecb6a8fc warning--
SVN revision: 64111
2011-10-16 15:27:49 +00:00
Hannes Janetzek 9f3f86a0f0 e17/illume/tablet: fix initial placement of windows using icccm pos request
SVN revision: 63449
2011-09-17 13:51:23 +00:00
Hannes Janetzek f8fb4a32af e17/ill/tablet: make home screen work with indicator again
SVN revision: 63176
2011-09-04 22:10:31 +00:00
Hannes Janetzek ff8c5b60ec e17/illume: more work on tablet policy
SVN revision: 63102
2011-09-03 02:20:14 +00:00
Christopher Michael e7540c354d E/Illume: Remove UNUSED here...yes, bd is actually used.
SVN revision: 62991
2011-08-30 14:59:19 +00:00
Hannes Janetzek 79fa5b5efa e17/ill/tablet:
- dont hide_border_below, makes it work with comp-scale
- fix single app layout wrt zone useful geometry


SVN revision: 62940
2011-08-29 11:28:43 +00:00
Hannes Janetzek 6fa8c702c2 e17/ill/tablet: layout evry always on the left and single when keyboard is active
SVN revision: 62925
2011-08-28 21:17:15 +00:00
Hannes Janetzek cebc3fe7e3 e17/illume/tablet: cleanup policy, refactor, remove poinless comments
SVN revision: 62922
2011-08-28 16:18:26 +00:00
Hannes Janetzek eda579a019 e17/illume: started a more tablet compatbile policy
SVN revision: 62894
2011-08-28 03:39:25 +00:00
Christopher Michael 002f844940 E: Illume2/Policy: Remove some extra comments (printfs) that are not
needed.



SVN revision: 60785
2011-06-28 23:44:29 +00:00
Carsten Haitzler f45709a73a and fill in policy holes with handling transitions to/from fullscreen
etc.



SVN revision: 57125
2011-02-17 13:06:53 +00:00
Carsten Haitzler 71c6ac602e also set geom fro indicator
SVN revision: 57122
2011-02-17 11:43:02 +00:00
Carsten Haitzler a82f5c99c4 fix some design and policy issues so it's simple and sane tyo write a
new home screen and softkey - looking at indicator next.



SVN revision: 57119
2011-02-17 10:55:59 +00:00
Carsten Haitzler 5a7a504cb8 conformant home window... should not be sized down :)
SVN revision: 57111
2011-02-17 07:44:51 +00:00
Christopher Michael e6b15ffc17 e_illume_border_show already handles raise, so remove call to explicit
e_border_raise.



SVN revision: 56246
2011-01-20 22:28:33 +00:00
Christopher Michael 3c51a6bc0a Allow dialogs to be bigger than 'minimum' size; instead, just check
that the dialogs size is not greater than the zone. This is much nicer
for file dialogs.



SVN revision: 56244
2011-01-20 19:54:17 +00:00
Christopher Michael 7fab214109 Some dialogs don't play nice if we check visible property so remove.
SVN revision: 56242
2011-01-20 18:49:34 +00:00
Christopher Michael af0c123f41 Some 'dialog' windows report a zero min width & height (which messes
up position calculations). Trap for that, and if mins are zero, then
use existing dialog width/height. (code following that handles a
dialog being too large for the zone).

Thanks again to Jeff Hoogland for bringing this to my attention.



SVN revision: 56236
2011-01-20 06:39:16 +00:00
Mike Blumenkrantz 572ed90432 more uninitialized values
SVN revision: 56148
2011-01-16 01:22:41 +00:00
Mike Blumenkrantz 15468f69f6 fix include paths for all these makefiles to add $top_builddir/src/bin instead of $top_srcdir/src/lib
SVN revision: 55884
2011-01-05 17:50:05 +00:00
Christopher Michael a2bf209842 NB: This commit for Tasn; getting systray to work with
illume-indicator ;)

Systray:
  - Do NOT assume we are drawing to the desktop if we are not a shelf;
rather, get the ecore_x_window of the gadget containers evas.

Illume-Indictor:
  - Use a popup window on the indicator window so that systray module
can work with illume-indicator.

Illume:
  - Add some traps in case e_border_name_get does not return something.



SVN revision: 54052
2010-10-30 19:05:48 +00:00
Christopher Michael d070f976b1 If we are going to cycle focus backward, we need to loop the focus
stack in reverse.



SVN revision: 53084
2010-10-05 19:23:04 +00:00
Lucas De Marchi 25113159a5 Fix common misspellings
Some misspellings were manually reverted since in E there are tons of .po with
phrases in other languages. Other than that all the changes in the following
files were reverted:

 * src/modules/illume/dicts/English_(US).dic
 * src/modules/illume-keyboard/dicts/English_(US).dic


Following misspellings were fixed:

acquited->acquitted
adres->address
adress->address
alreayd->already
aquire->acquire
arbitarily->arbitrarily
cant->can't
Capetown->Cape
carefull->careful
causalities->casualties
Celcius->Celsius
certian->certain
commandoes->commandos
considerd->considered
conveyer->conveyor
dependant->dependent
didnt->didn't
discontentment->discontent
doesnt->doesn't
everytime->every
exemple->example
existance->existence
existant->existent
existince->existence
Farenheit->Fahrenheit
forbad->forbade
funguses->fungi
guage->gauge
guerilla->guerrilla
guerillas->guerrillas
happend->happened
hasnt->hasn't
heros->heroes
inbetween->between
independant->independent
inital->initial
intrusted->entrusted
irregardless->regardless
isnt->isn't
knifes->knives
layed->laid
loosing->losing
marrage->marriage
midwifes->midwives
miniscule->minuscule
monickers->monikers
mroe->more
noone->no one
occured->occurred
omre->more
paralell->parallel
payed->paid
planed->planned
quitted->quit
quizes->quizzes
seperated->separated
seperate->separate
shoudl->should
similiar->similar
simplier->simpler
specifiying->specifying
teh->the
toke->took
torpedos->torpedoes
Tuscon->Tucson
unecessary->unnecessary
useage->usage
usefull->useful
useing->using
waht->what
wanna->want
whith->with
wich->which
withing->within




SVN revision: 52006
2010-09-08 23:59:07 +00:00
Christopher Michael 7542136e82 Add UNUSED where needed.
Fix a few harmless warnings about parens.
Fix warnings about comparison between signed and unsigned.



SVN revision: 51443
2010-08-19 19:33:23 +00:00
Christopher Michael b64b865ff4 Add some safety checks.
Refactor some if statements to be simplier.



SVN revision: 50899
2010-08-08 12:44:04 +00:00
Christopher Michael 1f672ba9cf Add some safety checks.
Reorder some checks inside functions (easier/faster checks first).

When mode changes and we check the 'home' window count, make sure we
actually have some home windows first before trying eina_list_count on
a potentially null list.

When doing focus back/forward, make sure we have a focused border to
begin with.

Dot some i's and cross some T's ;)



SVN revision: 50896
2010-08-08 11:37:34 +00:00
Christopher Michael 4e019a9f23 Update layout of windows if indicator or softkey module is
loaded/unloaded.



SVN revision: 49561
2010-06-08 05:23:44 +00:00
Christopher Michael 2ea9dd7909 Use our own border show/hide functions.
SVN revision: 48628
2010-05-05 16:17:24 +00:00
Christopher Michael c5aa274610 Add code for 'focus forward' in the policy.
SVN revision: 48469
2010-04-30 13:17:33 +00:00
Christopher Michael 0736f6493f Fix focus_home function to hide windows below when home is focused.
No need to layout windows which are not visible.



SVN revision: 48173
2010-04-20 19:34:12 +00:00
Christopher Michael aaffb12f22 Check previous border's zone before setting focus.
SVN revision: 48154
2010-04-20 00:10:10 +00:00