Commit Graph

36 Commits

Author SHA1 Message Date
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
Carsten Haitzler 8462dc3c04 put in "key allowed" call in e_bindings for keys to filter out
problematic key binds. :)
2013-06-13 20:10:52 +09:00
Mike Blumenkrantz aa6a2d173d giant comp rejiggering commit because anything smaller would have broken something:
* remove xwin for container canvas: now drawn directly on the compositor canvas

* added SHAPE_DEBUG define for bored developers

* bindings now use new e struct for mouse/wheel events

* container+zone now get mouse events from smart callbacks instead of x events

* rename comp api namespace

* change comp underlay theme to have a swallow for the wallpaper

* add names to all zone/container/comp objects to make debugging much easier

* some minor related updates to go along with this

SVN revision: 83752
2013-02-07 13:20:07 +00:00
Mike Blumenkrantz 41759238cd a much requested feature: drag-only edge bindings
ticket #281


SVN revision: 83628
2013-02-05 13:13:33 +00:00
Mike Blumenkrantz e525ed8e61 break out bindings resets into functions based on their type for more fine-grained binding resets
SVN revision: 75649
2012-08-24 09:51:37 +00:00
Mike Blumenkrantz b6a8f51cba add e_bindings_reset() for resetting all bindings from e_config
SVN revision: 75465
2012-08-20 13:51:13 +00:00
Mike Blumenkrantz 21df8f0a2f add an amazing hack which, when a vmware player window is opened, disables keyboard remapping until the window is closed. this is stupid, but seems to be the only way to keep it from breaking keymaps on some setups
ticket #1057


SVN revision: 74919
2012-08-06 10:21:41 +00:00
Mike Blumenkrantz 0768dd02ae edge bindings now allow for the use of any mouse button for clicky bindings
ticket #681


SVN revision: 73402
2012-07-06 08:27:09 +00:00
Vincent Torri c3b0637802 e17: whitespaces--
SVN revision: 72561
2012-06-21 06:19:43 +00:00
Mike Blumenkrantz 207c0aed10 rename E_BINDING_CONTEXT_BORDER to E_BINDING_CONTEXT_WINDOW: technically this is in reference to an E_Border, but it gets confusing when looking at code that deals with both windows (E_Borders) and window borders/frames themselves. this name change will clarify the difference
SVN revision: 71841
2012-06-08 10:10:16 +00:00
Carsten Haitzler 7c23365cf9 fix edge bindings to work if you add other bindings to corners other
than edge flips.



SVN revision: 70558
2012-04-30 12:29:34 +00:00
Carsten Haitzler 436918fe7a work on improving edge bindings. having a look at this i'm more
convinced that we need to dump edge bindings as they stand entirely
and turn it into an event registration system.

virtual desktops register for edge events on the zone they are on as
they flip around or are created or destroyed. shelf for audiohide
registers a region of an edge etc.



SVN revision: 64100
2011-10-16 04:24:27 +00:00
Carsten Haitzler a0781f02c4 allow 1 of the syscon entries to be marked iwth is_main=2 as the
"default" one so if you press the binding that broung syscon up again
while syscon is up - and later than 0.5 seconds after syscon came up
and more than 2 times, then it execs that default action (eg power
down, suspend etc.)



SVN revision: 63831
2011-10-05 09:39:39 +00:00
Christopher Michael b74c7ea0ca Patch from Sung-Jin Park to add function for easy searching of
key_bindings.

- Add e_bindings_key_find() in e
This patch is to provide a convenient function to find out key
bindings by 
matching a combination of keyname and modifier
without walking and matching e_config->key_bindings.
This will be convenient function like existing e_bindings_key_get() in
e.



SVN revision: 63515
2011-09-21 11:31:07 +00:00
Gustavo Sverzut Barbieri 6f2213cb25 convert init/shutdown to EINTERN, move some to _update().
Do not abuse the concept of e_*_init(), make them call-once and those
that needed multiple call are renamed to e_*_update(). To make sure
convert them to EINTERN so the symbols are not exported.

Actually I guess too much is exported as EAPI while they should be
EINTERN, but that would require manual investigation, while this patch
was basically created with sed + grep.



SVN revision: 54795
2010-11-22 15:21:32 +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
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
Christopher Michael d2d1e49bf5 Add bindings for ACPI.
Add acpi bindings to config.
Add handlers in e_acpi for common/default acpi events.
Add actions for some missing ACPI events.
 - NB: Dim/Undim screen do nothing currently except a printf.



SVN revision: 49309
2010-05-29 19:57:13 +00:00
Viktor Kojouharov b6ec16d97e hide edge event windows that are not used by any action
put the edge windows on the correct layers
allow edge click bindings
use actions for auto-hide shelves
toggling auto-hide will cause edge event windows to show/hide if necessary


SVN revision: 42864
2009-10-02 20:53:05 +00:00
Cedric BAIL 46e8efcd8c Let me introduce you to Ecore_Input. The idea is to share as much as possible event
between all ecore graphic engine to ease porting of application and reduce the amount of
specific code per engine. This patch does just that.
	All your application should continu to work has previously, if it's not the case
please report any new behaviour regarding mouse and keyboard.


SVN revision: 39505
2009-03-16 16:24:43 +00:00
Viktor Kojouharov 9bbc8158bd edge and corner binding infrastructure. If you have an old config, enable the conf_edgebindings module and hit 'Reset to defaults' to get edge desktop switching.
The edge/corner picker needs some love from someone who is not artistically challenged.  And a proper module icon as well.


SVN revision: 39220
2009-02-25 22:21:46 +00:00
Carsten Haitzler 0a8ffffa5f add in gadman for desktop. happy dave! :)
SVN revision: 34610
2008-05-19 04:37:34 +00:00
sebastid 98e61fa3d3 ++const
SVN revision: 25011
2006-08-21 16:25:57 +00:00
stffrdhrn 218717c8dc Clean up compile warnings:
* char * -> const char * for stringshare strings
 * char * -> const char * where needed in functions
 * remove unused vars in some places


SVN revision: 20912
2006-03-02 12:03:48 +00:00
Carsten Haitzler 00616d3fec wheel bindings! WERD! hard-coded ones for now, need to make these config
values that can be set/changed/deleted via ipc and are saved/loaded :)


SVN revision: 16847
2005-09-22 12:47:45 +00:00
Carsten Haitzler 9e7cd72067 ok lots of things here...
1. e17 is now relocatable. the wm will determine its install prefix on the
fly when it is run. so you can use --prefix=/usr/local/e17 and just move the
base dir (/usr/local/e17) to anywhere you like at any later time and e will
adjust and find it. it still has built in fallbacks too so it will use the
compiled prefix as normal if its hunting and 2 checks dont pass.

2. edit mode for gadgets will work with alt+left click on a gadget and
instantly end when u lift the mouse. alst ctrl+alt+g will activate/deactivate
edit mode

3. borderless windows are not allowed to be shaded

4. shaded windows are not allowed to have their border changed

5. just have never seen the pager mess up bug - so until there is some way
of reproducing it or even knowing its still there - remove

6. autoraise timers should be fixed on focus changes

7. stickiness remembering works in the pager now on start of a remembered app


SVN revision: 15966
2005-07-31 06:22:31 +00:00
Carsten Haitzler 76bda119c0 winlist alt-tab works (and dhift-alt-tab to go in reverse)... it is NOT
complete... gfx are ugly. i have fixme's. it doesnt work with pointer focus
really... etc.


SVN revision: 15264
2005-06-12 06:50:34 +00:00
Carsten Haitzler 3520914ccd and now it shoudl be able to change click to focs <-> mouse focus dynamically
and it all shoudl work - i hope.


SVN revision: 14870
2005-05-20 10:14:51 +00:00
Carsten Haitzler ea2fa22046 TODO items. bugs. start module - its a START. it doesnt work that well. needs
work in the menu code to handle fixing menus to a launch rect.


SVN revision: 14831
2005-05-18 05:06:05 +00:00
Carsten Haitzler 350fab40ce fix up button bindings for windows - return the action found too so we can
track.


SVN revision: 14510
2005-04-30 05:07:28 +00:00
Carsten Haitzler 9f7013f03e key bindings... um.. kinda... work...
SVN revision: 14505
2005-04-29 19:42:19 +00:00
Carsten Haitzler 67bc506c7a bindings + action system gets its first test run with button bindings. seems
to work well. grabs buttons. responds to input events and context. calls
appropriate action callbacks. you can add actions fairly easily. the cool bit
is that actions can be added on the fly... like ooh - lets say from...
MODULES :) ie module could load and enable then add lots of custom actions.
these could be custom in c code in the module.. OR... they could even be bits
of embryo loaded ... or perl... or python... or... anyway - you can figure it
out. it's justa  bi-product of doing the action system this way. (btw - the
actions can be overridden too by modules so a module could change a default
action or even just augment it...)


SVN revision: 14495
2005-04-29 16:04:43 +00:00
Carsten Haitzler b950085e25 hungarian po
fix zh_CN probs
work on bindings code - add actions system framework. it's not ready for
sliding in yet as i need to fill out actions  but once i do i can slide the
current code across and then work on sliding keybindings in.


SVN revision: 14378
2005-04-26 15:06:06 +00:00
Carsten Haitzler 9f9fb168c2 work in multihead again! :)
SVN revision: 14342
2005-04-25 08:29:53 +00:00
Carsten Haitzler bdbf2f2079 get rid of ecore warning
SVN revision: 14338
2005-04-25 05:58:45 +00:00
Carsten Haitzler 179c017b8f intl empty dir needs to be there for make distcheck to pass
add placeholder for bindings.


SVN revision: 14336
2005-04-25 03:06:06 +00:00