Commit Graph

175 Commits

Author SHA1 Message Date
Mike Blumenkrantz ecf3a65a09 move if{} block into another if{} block to avoid null deref
SVN revision: 55715
2010-12-22 23:05:47 +00:00
Mike Blumenkrantz 5ec802d8ba again with the tabs! ecrustified!
SVN revision: 55713
2010-12-22 23:02:00 +00:00
Miculcy Brian aee4aff7dc Fix geometry for maximized windows when using shelfs on specified desktops.
SVN revision: 55081
2010-11-30 11:10:22 +00:00
Carsten Haitzler 1943305019 ok - always kepe black win. need for illume. just make 1x1 when not
used.



SVN revision: 55078
2010-11-30 09:21:23 +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
Carsten Haitzler d484062996 1. only make zone black win+canvas if/when needed (btw - can still do
better and only create what is needed to surround the fullscreen
window if it cant be fullscren and needs a black border).
2. set bg color of root to black - e has its own bg anyway.



SVN revision: 54748
2010-11-20 16:18:58 +00:00
Sebastian Dransfeld 3c12d4daba __UNUSED__ last
SVN revision: 54193
2010-11-05 18:40:31 +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
Andreas Volz cd158657f1 overlap shelfes are for sure useful geometry
SVN revision: 49908
2010-06-27 20:31:36 +00:00
Andreas Volz 2fdb25b89b this was for sure a bug -> it should be x instead of y
SVN revision: 49907
2010-06-27 20:27:20 +00:00
Cedric BAIL c6a118d738 * e: remove warning due to Ecore API change.
SVN revision: 49833
2010-06-24 16:19:12 +00:00
Gustavo Sverzut Barbieri f43545400a annoyances--: do not place desktop icons under shelves.
The new trend these days seems to be "place a shelf on top of the
screen", in that case your desktop icons will get under that shelf and
looks annoying, people laugh at E users that use that :-D (fortunately
I'm the one that usually laugh...)

Fixed, but possible other places to be fixed as well. If one wants to
avoid the shelves, use the e_zone_useful_geometry_get().

e_zone now emits E_EVENT_ZONE_MOVE_RESIZE when the useful geometry
becomes dirty. Maybe it is worth to add a new signal, but I'm reusing
it until someone complains.




SVN revision: 49431
2010-06-04 01:12:04 +00:00
Hannes Janetzek 8b7e86be29 fix bottom right and bottom left edge position
SVN revision: 49305
2010-05-29 18:21:23 +00:00
Christopher Michael 4461057e7a Add illume quickpanel zone fetch to border structure.
SVN revision: 46293
2010-02-19 03:21:30 +00:00
Sebastian Dransfeld f0015c1e97 Only move resize edge windows in one func
SVN revision: 45499
2010-01-23 20:11:55 +00:00
Sebastian Dransfeld 2de0425541 Fix #483
For corner shelves, detect movement in corner windows
Use ev->root.{x,y} as event coordinates, we do not care where the mouse
moves within the edge windows.
Convenience function for window -> edge detection.

SVN revision: 45498
2010-01-23 20:06:02 +00:00
Sebastian Dransfeld 1f0929c9d5 Only flip if edge window present
SVN revision: 45495
2010-01-23 18:33:24 +00:00
Sebastian Dransfeld 5b22c194a8 Create/ delete edge bindings for shelves as needed
Fixes bug #483

SVN revision: 45371
2010-01-20 22:36:45 +00:00
Sebastian Dransfeld a89ce69fca weird git
SVN revision: 45369
2010-01-20 21:38:01 +00:00
Sebastian Dransfeld 712af7f69e set layer on creation
SVN revision: 45368
2010-01-20 21:32:46 +00:00
Sebastian Dransfeld f098d9df85 Only create edge windows which have bindings
Previously all windows always existed, and edge bindings showed/hided
windows as needed. And e_zone_flip_win_disable/ e_zone_flip_win_restore
f**k'ed this up.

Will fix bug #483 soon.

SVN revision: 45366
2010-01-20 21:30:17 +00:00
Sebastian Dransfeld c3a71f394d make clang happy
SVN revision: 45184
2010-01-15 12:01:52 +00:00
Christopher Michael dec35ad102 When creating the canvas for a zone, use the zone->x & zone->y as canvas
position rather than always at zero/zero.



SVN revision: 45116
2010-01-14 18:24:14 +00:00
Christopher Michael df9e501b10 No point in running find_by_client_window here, we don't use the border
anyway.



SVN revision: 45057
2010-01-12 03:33:34 +00:00
Sebastian Dransfeld bda24a1f0d Make clang happy
SVN revision: 44230
2009-12-06 19:42:41 +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
Viktor Kojouharov 7acb839557 reconfigure the zone bg on zone move/resize, and make sure it is recalculated if the bg pans
SVN revision: 42419
2009-09-11 17:27:08 +00:00
Hannes Janetzek 7ae508168e fix naming and warnings
SVN revision: 42278
2009-09-05 12:43:44 +00:00
Cedric BAIL f8c05999e4 * e: Cleanup use of Eina data structure.
Patch from Peter van de Werken <pwerken-e@a-eskwadraat.nl>.


SVN revision: 41916
2009-08-21 15:08:49 +00:00
Viktor Kojouharov 648d75caab Larger backgrounds can now be set to scroll whenever a E changes between desks. Kind of like a transition, but uses only one (the first desk's), larger wallpaper instead of several wallpapers for all desks, and it overrides the transition settings if activated.
The option can currently be activated from Virtual Desktops Settings -> Advanced. A better home and preview would be better for these settings.

In more detail, this option can make a wallpaper, larger than the geometry of the zone, scroll appropriately with each desk change. Consider a nice panorama picture, which is as wide as the total desks' width. Then, at most, E will scroll the background by 1 / (number of desks) for each desk change. The direction of the scrolling is dependent on the desk change itself. Also, the user can specify a coefficient of maximum scrolling for each axis. If the coefficient is 0, the wallpaper will not move.

More advanced animations can be constructed with edje. The data item "directional_freedom" "(1|0) (1|0)" can toggle the actual wallpaper scrolling done by E for each axis. A message with the current x/y position, panning w|h, and zone w|h is sent to the background edje with each desk change animation tick. An example embryo script that handles the message, and changes a hypothetical "a1" part in the "e/desktop/background" group is shown below:

         public message(Msg_Type:type, id, ...) {
            if (type == MSG_INT_SET) {
               new x = getarg(2);
               new y = getarg(3);
  //	     new max_x = getarg(4);
  //	     new max_y = getarg(5);
  //	     new w = getarg(6);
  //	     new h = getarg(7);
               custom_state(PART:"a1", "default", 0.0);
               set_state_val(PART:"a1", STATE_FILL_POS, 0.0, 0.0, -x / 4, -y / 4);
               set_state(PART:"a1", "custom", 0.0);
            }
         }




SVN revision: 40543
2009-05-07 18:39:55 +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
Gustavo Sverzut Barbieri 855f5080af export function to get useful area of zone.
This should be used by other parts of e17, like window placement.


SVN revision: 40197
2009-04-18 21:44:21 +00:00
Vincent Torri 0e6ad24c60 remove useless subwindow code
SVN revision: 39975
2009-04-11 08:33:44 +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
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
Cedric BAIL 1087de2397 Remove Evas list and replace them with Eina list.
No change for ->next and ->data access right now, as the patch is already
big enough.



SVN revision: 36962
2008-10-22 11:49:33 +00:00
Cedric BAIL 3d6749983b Switch to eina_stringshare.
This could also change the usage of string share in E17.



SVN revision: 36679
2008-10-15 15:12:56 +00:00
Christopher Michael dee8316081 Formatting/Whitespace fixes.
SVN revision: 35014
2008-07-07 00:53:52 +00:00
Sebastian Dransfeld 493223f32c Add edge move event, so a slide in on the edge will show a shelf.
Fix interrupt hiding on mouse in.


SVN revision: 34872
2008-06-19 13:23:20 +00:00
Carsten Haitzler e4483a8c0e add warp event by having current.
SVN revision: 34215
2008-04-07 19:06:13 +00:00
Sebastian Dransfeld 2cbb26fb44 Need to update edge windows after updating flip.
SVN revision: 33728
2008-02-11 17:27:18 +00:00
Sebastian Dransfeld 804737eb4d Only show edge windows which are in use.
SVN revision: 33532
2008-01-19 11:41:42 +00:00
Christopher Michael f980a42516 Remove unused function prototype.
SVN revision: 33335
2008-01-03 22:06:56 +00:00
Christopher Michael f890f93942 Cannot use mouse_down on the input windows to pop the menu because of the
input_window's layer. This was causing menus to popup over applications.


SVN revision: 33334
2008-01-03 22:05:40 +00:00
Christopher Michael 680afdc9e8 Delete edge input windows when we free the zone.
Handle mouse clicks inside the edge input windows so that menus & such can
still be shown if a user clicks the mouse down while on top of one of the
edge windows.


SVN revision: 33258
2007-12-27 03:42:04 +00:00
Carsten Haitzler 4a2bc0e79c patches, caching fixes, zone dynamic creation/deletion handling, stuff.
SVN revision: 33127
2007-12-14 05:57:16 +00:00
Sebastian Dransfeld d4767f9221 Something to do on a dark winter day.
SVN revision: 32950
2007-12-02 20:19:21 +00:00
Sebastian Dransfeld a793f7ef39 Add x and y coords in event.
SVN revision: 32831
2007-11-22 20:48:15 +00:00
Sebastian Dransfeld 8034a61fb4 Remove unecessary event free, default is to free the event struct.
SVN revision: 32828
2007-11-22 20:09:04 +00:00