Commit Graph

46 Commits

Author SHA1 Message Date
Carsten Haitzler 7557486ab3 fix crash in syscon when you press pr 2x in a row quickly to shutdown
not pretty but a fix... for now
2017-03-26 17:19:46 +09:00
Derek Foreman 73aecd73ab Replace all timer_add with timer_loop_add
So yeah, I've literally used sed to replace every occurrence of
ecore_time_add() with ecore_timer_loop_add() because I'm reasonably
confident that no part of E has a legitimate need for timer based on the
exact current time.

It would be really nice if I'm not wrong. :)

The reason for this is the incredible spew of clock_gettime() calls I'm
seeing on an ARM system (that should have a vdso for gettime, but...)
This can amount to thousands of system calls per second.

 #YOLO
2017-02-03 15:52:28 -06:00
Carsten Haitzler 14b6a658cf e syscon - dont show syscon if desklock is up - you can't respond
this also will lock desklock as syscon grabs input away from desklock.
press pwr button while desklock is up to find out. this fixes that.

@fix
2016-04-21 12:17:04 +09:00
Mike Blumenkrantz 6e3b9763b0 remove e_bindings_key_up_event_find, rename other one to e_bindings_key_event_find
key up and key down are identical, having two functions here is misleading
2016-01-25 12:38:45 -05:00
Mike Blumenkrantz c637c70f1c add extra param to e_bindings_key_down_event_find() to return found binding
this should match the corresponding mouse binding function
2016-01-25 12:27:54 -05: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
Mike Blumenkrantz 1736d1ecb9 e_client functions no longer require E_Comp param 2015-03-13 16:53:19 -04:00
Mike Blumenkrantz dd5cf53542 remove e_comp_util_evas_object_comp_get() usage 2015-03-13 15:24:13 -04:00
Mike Blumenkrantz ed897a231e de-e_comp_get()ify e
mrw I remember how to regex http://i.giphy.com/dC9dujPVeAfIY.gif
2015-03-13 15:12:20 -04:00
Cedric BAIL 3f9af38da2 edje: remove use of deprecated functions. 2014-06-07 21:10:55 +02:00
Mike Blumenkrantz 4cc1ca57e3 syscon buttons: because reusing the existing button widget was too much hassle
fix T1155
2014-05-07 20:07:48 -04:00
Chidambar Zinnoury be6b912adb Bugfix: e syscon: Cleanup everything when closing the dialog by clicking outside of it.
Inputs were still being held, leading to inability to interact with windows unless restarting Enlightenment.
2014-04-21 23:24:21 +02:00
Chidambar Zinnoury f193f90ce8 Bugfix: e syscon: Use correct coordinates to have the dialog centered on multiple zones. 2014-04-21 23:04:47 +02:00
Mike Blumenkrantz 4b58fa9a4e replace ev->keyname with ev->key
see efl 5ae4cfd1923e502731f4d8fc2bf67b1f536a9216
2014-03-13 13:03:34 -04:00
Mike Blumenkrantz fccfb20972 add autoclose callback for syscon to null pointer
previously, repeated uses of syscon would cause a crash
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz e23019825e set syscon popup layer before autoclose 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 02f6dcdf2a set a layer for syscon popup
still working on keyboard....

T818
2014-01-20 11:18:47 -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
discomfitor c34a28707f e_popup_autoclose() now also allows a delete function to replace normal popup deletion 2013-05-18 19:39:52 +01:00
Mike Blumenkrantz cf2c170c8c fix syscon to use popups more effectively
SVN revision: 84264
2013-02-20 10:47:53 +00: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
Mike Blumenkrantz fd307cdf7d formatting
SVN revision: 75103
2012-08-10 13:48:50 +00:00
Mike Blumenkrantz bbdb3c7b05 use e,state,focused for syscon focus signals since other themes support these
SVN revision: 72940
2012-06-27 11:28:30 +00:00
Mike Blumenkrantz 11c893aa4d keyboard support for syscon
ticket #333


SVN revision: 72938
2012-06-27 10:58:49 +00:00
Mike Blumenkrantz 154673d7b8 more dead stores
SVN revision: 64913
2011-11-07 23:38:57 +00:00
Carsten Haitzler a1aa9fe1de and hide syscon when doing multi-press action
SVN revision: 63930
2011-10-09 07:17:08 +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
Carsten Haitzler 5a182334b7 i'm not kidding... my CAT found this bug! crap. i need to unleash
pussy on e more often to find bugs.



SVN revision: 63147
2011-09-04 03:55:03 +00:00
Christopher Michael fbc45ea4d1 Add UNUSED, Remove unused variables, formatting, etc, etc, etc.
SVN revision: 51449
2010-08-19 20:39:17 +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
Lucas De Marchi c426218dfe Remove unneeded code with notnull.cocci script
The notnull.cocci script from Coccinelle finds places where you check if a
variable is NULL, but it's known not to be NULL. The check can be safely
removed. For example, this code would be caught by notnull:

if (!var) return;
if (var && var->fld) { ... }

It's needless to check again if var is not NULL because if it's in fact NULL,
it would have returned on the previous "if". This commit removes all the
trivial places where this pattern happens. Another patch will be generated for
the more complex cases.


SVN revision: 50241
2010-07-14 02:05:47 +00:00
Cedric BAIL c6a118d738 * e: remove warning due to Ecore API change.
SVN revision: 49833
2010-06-24 16:19:12 +00:00
Christopher Michael fa790a1557 Make sure the data in the list is valid. (Ran into an odd segv here,
so added this catch to trap it).



SVN revision: 49248
2010-05-28 16:20:31 +00:00
Sebastian Dransfeld a9bf975e7b export less
SVN revision: 45455
2010-01-22 20:28:39 +00:00
Christopher Michael dd1031c82e More API Inconsistency fixes:
e_flowlayout_min_size/e_flowlayout_max_size_ changed to size_min/max
e_entry_min_size_* changed to e_entry_size_min_*
e_slider_min_size changed to e_slider_size_min_*




SVN revision: 42164
2009-09-01 16:47:09 +00:00
Gustavo Sverzut Barbieri be6a6ba639 improvements to e_border positioning.
* e_border_center() will center window in a better way, accounting
   the shelves/panels instead of just centering on the screen. This is
   better and most noticeable if screens are small and a big shelf on
   just one edge.

 * e_border_move_without_border(), e_border_resize_without_border()
   and e_border_move_resize_without_border() will assume the given
   values do not acount border/decorations (client_inset) and will do
   automatically. As stated in documentation, this is specially useful
   when it is a new client and thus have no decorations when it is
   positioned, when decorations are added window would be placed at
   wrong position. One can try this by adding efwin window overflowing
   the bottom-right corner, closing it and when reopen fileman would
   try to make it inside the screen, this would not work well with
   part of the window still being outside.

 * e_win_move(), e_win_resize() and e_win_move_resize() will now use
   new e_border functions.



SVN revision: 40307
2009-04-23 02:24:59 +00:00
Massimiliano Calamelli 7ee24941ef Syscon module:
- allow to action buttons to be translated when the language is changed;

Setting panel:
- fix compiler warnings;
- allow to categories and items to be translated when the language is changed;



SVN revision: 40256
2009-04-20 22:36:17 +00:00
Vincent Torri 7506655ca9 ecore_x_window_del -> ecore_x_window_free
SVN revision: 39924
2009-04-10 09:57:57 +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
Davide Andreoli 19761ce78b Fix syscon icons.
Note that you need a fresh config to correctly see the icons in syscon.

SVN revision: 39401
2009-03-06 22:45:36 +00:00
Carsten Haitzler fd8cb46a11 syscon -> labels!
SVN revision: 38695
2009-01-22 05:41:33 +00:00
Carsten Haitzler 16b2dc8697 make extra syscon actions able to be disabled.
illume disables its extra syscon actiosn when they are not appropriate
fix next/prev window list buttons to really keep a logical order going
correctly.



SVN revision: 37813
2008-11-27 01:50:00 +00:00
Carsten Haitzler 6cf459572f make extra actions work. use them from illume.
SVN revision: 37811
2008-11-26 12:54:23 +00:00
Christopher Michael 302bd8a48a Fix up formatting and remove whitespace. Still trying to figure out why this
shows a blank dialog tho :(



SVN revision: 37803
2008-11-25 22:54:44 +00:00
Carsten Haitzler 5a29e1f6b5 syscon module added - provides a system entry in main menu (build in one gone
now). syscon has a poup with buttons (configurale) that offer all the
logout/reboot etc. stuff. also able to extend with more items or inline them
into the theme too.

not complete. need config for being able to extend the syscon popup (and use
it) and no gui config for configuring what should appear and how it should
look. possibly theme should have custon elements for the ones curently using
button + icon look. also no keyboard control.



SVN revision: 37797
2008-11-25 08:05:58 +00:00