Commit Graph

31 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 046aecdf06 fix invalid read of notification popup after delete 2013-05-03 13:39:38 +01:00
Mike Blumenkrantz 53d8c89791 unbreak notification callbacks, fix notification crashes
this should not have been committed as-is, and I'm very disappointed at the lack of testing here.
2013-04-25 09:12:43 +01:00
Mike Blumenkrantz 711f91f1f6 add name to notification content objects+mirrors 2013-04-19 09:41:21 +01:00
Mike Blumenkrantz 6371da9a61 add new modes for notification display when using multiple monitors, shows a TODO bug for comp zoomap mirrors 2013-04-18 15:50:49 +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
José Roberto de Souza 84550effc5 e: Add client api to notifications
Patch by: José Roberto de Souza  <zehortigoza@profusion.mobi>



SVN revision: 82119
2013-01-03 22:08:10 +00:00
José Roberto de Souza 80a3d9fb7a e: Change notification module to use internal notification API
Patch by: José Roberto de Souza  <zehortigoza@profusion.mobi>



SVN revision: 82118
2013-01-03 22:08:05 +00:00
Mike Blumenkrantz 38987b7872 set name for notification popups
SVN revision: 81217
2012-12-18 08:14:43 +00:00
Carsten Haitzler 0598a7a710 merge notification with AUTHORS and remove duplicatre files. icon also
now trimmed. also use propr module namespacing for theme.



SVN revision: 79706
2012-11-26 12:37:34 +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
Mike Blumenkrantz 8a004228af actually allocate the correct length when merging notifications, fixes case where the last character gets cut off
SVN revision: 76508
2012-09-12 08:47:59 +00:00
Mike Blumenkrantz ad210971f7 ensure notification size cannot be too large
SVN revision: 72582
2012-06-21 09:06:47 +00:00
Vincent Torri 9d9ce41db0 E17: fix some warning
SVN revision: 71233
2012-05-18 13:02:20 +00:00
Tom Hacohen 0efb4871dd E notification: Fix notification concatenations.
SVN revision: 67502
2012-01-24 17:37:47 +00:00
Tom Hacohen cd2d5add05 E notification: Use <br/> not <br>.
SVN revision: 67278
2012-01-17 15:50:37 +00:00
Tom Hacohen 769348ef64 E notification: Support newlines in notifications.
SVN revision: 66872
2012-01-04 15:13:24 +00:00
Tom Hacohen 844eb83a38 E notification: Fix notification markup.
Apparently there's a limited markup language that should be supported.

SVN revision: 66868
2012-01-04 13:43:33 +00:00
Tom Hacohen ecdd149227 E notification: Added a way to allow e to send markup notifications.
SVN revision: 66236
2011-12-15 08:13:39 +00:00
Tom Hacohen 5e19ee65a3 E notification: Fixed notifications with newlines.
Use the new evas_textblock_text_utf8_to_markup.

SVN revision: 66198
2011-12-14 15:04:24 +00:00
Mike Blumenkrantz 1a06e90a94 maybe fix some obscure notify bug
SVN revision: 66098
2011-12-11 16:19:03 +00:00
Tom Hacohen a2d50b9302 E notification: Fixed truncation of merged messages.
SVN revision: 65765
2011-12-01 09:38:41 +00:00
Tom Hacohen f17fdabb27 E notification: Fixed issue with notification content.
The len passed to snprintf should include the \0. This caused garbage to
be printed to screen when merging empty bodied notifications.

SVN revision: 65763
2011-12-01 09:14:03 +00:00
Mike Blumenkrantz 6b3dec76ad hmm probably shouldn't try to set notify bg to a garbage value
SVN revision: 65658
2011-11-28 16:49:21 +00:00
Mike Blumenkrantz feaaa18746 notifications now display on the correct screen
thx to devilhorns and jeffdameth for e internals nonsense


SVN revision: 64968
2011-11-09 04:41:27 +00:00
Mike Blumenkrantz 0b319f5445 limit number of displayed popups to POPUP_LIMIT (7)
SVN revision: 64957
2011-11-08 14:36:38 +00:00
Mike Blumenkrantz 9ece62de39 BY YOUR POWERS COMBINED, I AM CAPTAIN FEATURES!
add option (disabled by default) to simulate previous notification module behavior of placing notification based on full multiple monitor geometry
when not checked, uses primary display geometry only


SVN revision: 64706
2011-11-03 16:03:23 +00:00
Mike Blumenkrantz 26d555de4d rewrite image handler to work more like notification-daemon (aka correctly)
SVN revision: 64701
2011-11-03 14:32:55 +00:00
Carsten Haitzler 218fb2917a fix icon in notification module to scale right.
SVN revision: 64550
2011-10-31 09:41:27 +00:00
Mike Blumenkrantz f373243dc5 merge notification module into core e!
SVN revision: 64475
2011-10-28 02:49:24 +00:00