Commit Graph

40 Commits

Author SHA1 Message Date
Carsten Haitzler 1e2d589b14 csd - fix size hint handling and sizing to not be broken
gtk and efl can use csd. we kind of were copying gtk's but we got it
wrong... in efl. and in etoo as a result. this fixes it to use
min/bas/max size as covering the whole window including the insets.

@fix
2020-01-17 22:06:14 +00:00
Mike Blumenkrantz 60269f3ecf use CSD geometry during move/resize display
this should provide more user-relevant information
2015-11-24 17:31:47 -05:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz 471dcb24cb __UNUSED__ -> EINA_UNUSED
this has been bugging me forever. __UNUSED__ is no longer a valid macro here.
2015-03-18 18:09:09 -04:00
Chris Michael 432b76390b de-e_comp_get()ify e_moveresize
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-23 14:35:37 -05:00
Mike Blumenkrantz 29b57b40f6 show moveresize info immediately upon beginning an operation 2014-05-30 11:00:37 -04:00
Mike Blumenkrantz b3ea9e9e9d feature: break out e_moveresize_client_extents for calculating client step sizes
if using an external moveresize implementation, this function is very handy
2014-01-14 20:28:59 -05:00
discomfitor 9150cf6812 feature: allow moveresize visuals to be replaced
the existing moveresize popup infrastructure is very limiting in that it requires you to create a popup. if you don't want to create a popup, now you don't have to.
2014-01-14 20:28:58 -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 37ff81ef2b set ignore events on move/resize info popups 2013-06-25 09:19:00 +01: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
Mike Blumenkrantz f36ecd9d3d giant comp rejiggering commit #2: popups are now objects drawn directly onto the compositor canvas with no xwindows of their own
* added a number of new e_comp functions and macros

* options for disabling effects on objects: this option does not currently have any effect

* all modules which used gadcon popups have been adjusted

* all modules which used input windows to detect close events for gadcon popups have been adjusted to use new popup autoclose functionality

* shelves are now always drawn on the compositor canvas, meaning objects will never get clipped by the shelf (ticket #1810)

* shelves no longer have an event object

SVN revision: 84060
2013-02-18 13:43:47 +00:00
Sebastian Dransfeld 436323bf59 e: cleanup layer handling
It seems people put random numbers as layers, so it is better to define
available layer numbers.

This patch also puts popups below fullscreen windows, as it sucks to get
popups during presentations. A better solution is maybe to put popups
above fullscreen, but have a presentation mode to put fullscreen windows
above popups?

SVN revision: 77293
2012-10-02 08:54:35 +00:00
Chidambar Zinnoury 8f0a2d783c e: forgot to set those strings as translatable.
SVN revision: 73875
2012-07-15 11:41:03 +00:00
Chidambar Zinnoury f45d356c62 e: some more plural and times lovin'.
SVN revision: 73874
2012-07-15 11:39:50 +00:00
Mike Blumenkrantz ad11feb626 formatting
SVN revision: 73612
2012-07-12 10:51:56 +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
Christopher Michael 539a4df22e Add unused.
SVN revision: 51319
2010-08-18 18:43:43 +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
Hannes Janetzek b212674d65 fix warnings
SVN revision: 42475
2009-09-14 00:31:07 +00:00
Carsten Haitzler fb4208b4a3 ecomorph hookes from <hannes.janetzek@googlemail.com>
SVN revision: 42203
2009-09-03 12:37:10 +00:00
Carsten Haitzler 0f27441f3d fix artiface where movereisze info stays in old location then jumps to new
after first move/resize event


SVN revision: 31185
2007-08-05 08:32:26 +00:00
lok bce79230e1 Fixed an issue when Display information is enabled when moving windows but not when resizing.
SVN revision: 30929
2007-07-22 01:27:43 +00:00
Sebastian Dransfeld f6dc1dc1cc Remove stale code.
Fix comments.


SVN revision: 29159
2007-03-25 22:45:00 +00:00
rephorm 462bda0f22 another chunk
all group names prefaced by e/
its entirely possible i missed a few small places in this, so there may be some growing pains in the next day or two

also, spectrum content -> e.swallow.content


SVN revision: 25057
2006-08-23 03:39:02 +00:00
rephorm a5c71890d4 ****** MAJOR THEME REWORKING -- BREAKAGE *********
Almost every signal and required part name has changed. This means that ALL themes other than the default one are now broken. Sorry, but this had to happen.

I have a list of mappings from old to new at http://rephorm.com/files/dump/e_theme_map.txt

There will probably be a little more cleanup on this in the coming days. Then I'll write it all up in a nice theme spec.


SVN revision: 25033
2006-08-22 07:39:11 +00:00
sebastid 6a638a7806 Fix EAPI warnings.
SVN revision: 19597
2006-01-07 10:39:46 +00:00
tsauerbeck c356249423 popups showing the current size/position on move/resize now optionally invisible
SVN revision: 16989
2005-09-27 11:22:46 +00:00
Carsten Haitzler 8e02e46a08 allow move resize box to follow the object its moving/resizing
SVN revision: 15690
2005-07-09 15:37:28 +00:00
Carsten Haitzler 8705b83353 writign stuff
SVN revision: 15178
2005-06-07 13:53:27 +00:00
Carsten Haitzler 0d718f9850 dont display until move actually starts
SVN revision: 14648
2005-05-07 16:22:29 +00:00
Carsten Haitzler 7d1af2368e move resize use popup...
SVN revision: 14631
2005-05-07 04:50:14 +00:00
sebastid 7f5601e4b2 Window layers, incomplete.
SVN revision: 14446
2005-04-28 09:55:41 +00:00
sebastid 33a0a7905d Cleanup
SVN revision: 14404
2005-04-27 08:42:36 +00:00
sebastid 6780fe0a54 Remove layer setting
SVN revision: 14402
2005-04-27 08:27:38 +00:00
sebastid 88c56ca7ac Don't need layer setting for wm internal window
SVN revision: 14401
2005-04-27 08:26:30 +00:00
sebastid cfb61da41b Use right parent window
SVN revision: 14398
2005-04-27 07:30:37 +00:00
Carsten Haitzler cc79b3af64 check for NULL
SVN revision: 14397
2005-04-27 07:07:46 +00:00
sebastid e1c37fb87c Check.
SVN revision: 14395
2005-04-27 07:03:31 +00:00
sebastid 11cec998a6 Remove duplicate code.
SVN revision: 14329
2005-04-24 21:11:44 +00:00