Commit Graph

164 Commits

Author SHA1 Message Date
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
Sebastian Dransfeld 840a97ae0b Add edge events.
SVN revision: 32827
2007-11-22 20:08:07 +00:00
Sebastian Dransfeld 18b29ad02f Always show edge windows, prepare for edge events to show shelves.
SVN revision: 32826
2007-11-22 19:46:54 +00:00
Carsten Haitzler 2dc7874df7 xinerama support work-infra in for xrandr1.2 and comments as to what is needed.
SVN revision: 32100
2007-10-17 11:06:59 +00:00
Sebastian Dransfeld 51e232b6a1 Function is gone.
SVN revision: 31297
2007-08-13 06:02:40 +00:00
Christopher Michael 7935a4da9f Adding fileman as a module. This commit includes necessary changes to
e_zone, e_int_menus, etc, etc to make this happen.


SVN revision: 31258
2007-08-12 09:57:24 +00:00
Viktor Kojouharov 504384fae0 new option to hide the desktop icons (under virtual desktops -> advanced)
SVN revision: 30943
2007-07-23 16:32:10 +00:00
Carsten Haitzler 48adce79f4 fix some todo's
SVN revision: 30082
2007-05-26 17:16:21 +00:00
Carsten Haitzler d4b9eaa1ae work on the fm - no more segv if no Desktop dir - i hope
SVN revision: 30041
2007-05-20 08:41:36 +00:00
Carsten Haitzler a252795105 and kind of handle fm slave spawns properly - i.e. spawn on demand, queue
messages until client is connected, then flush them.


SVN revision: 29991
2007-05-13 23:23:56 +00:00
Carsten Haitzler 39ebcd07fd fix multi-select on desktop
SVN revision: 29981
2007-05-13 14:18:59 +00:00
Carsten Haitzler bf0e763b8a 1. fix dnd so icons dod TO where you dnd them and stay there.
2. fix de-select on the desktop.
3. deselect icons in other filemanager windows (fwin) if icons get selected
in another fwin


SVN revision: 29978
2007-05-13 13:03:40 +00:00