Commit Graph

256 Commits

Author SHA1 Message Date
Mike Blumenkrantz 488e37c140 fix edge flipping after dragging to an invalid flip edge containing a shelf
ticket #1701


SVN revision: 83618
2013-02-05 08:55:23 +00:00
Mike Blumenkrantz 9e8e755cdf formatting: all at once
SVN revision: 82625
2013-01-11 10:34:29 +00:00
Mike Blumenkrantz 829a5b0d28 in fact, if we're being serious, linear_flip_to doesn't need flip eval either since it calls a function which does a flip eval
SVN revision: 81465
2012-12-20 14:57:55 +00:00
Mike Blumenkrantz fe991936c0 linear_flip_to already does a flip eval, don't need it here
SVN revision: 81464
2012-12-20 14:52:50 +00:00
Mike Blumenkrantz ae7ca9105f Hi,
here is a patch.

 1. free() already null-checks the passed argument, so it is not
    necessary to do 'if(x) free(x)'.

 2. Moved some '{free(x); x = NULL}' to E_FREE.

 3. In e_start_main.c, 'buf' is allocated with the size of the
    two arguments + '=', so we don't need to check for lenght;
    we should use sprintf().

 thanks
Maxime Villard


SVN revision: 81364
2012-12-19 14:20:34 +00:00
Sebastian Dransfeld 427b6c34df e: Cleanup
Removes unused variables, drops duplicate return or break
     statements and drops unnecessary checks.

Patch by Igor Murzov

SVN revision: 77490
2012-10-04 23:26:48 +00:00
Sebastian Dransfeld beb76614ac e: Adjust fullscreen stacking
Allow popups above fullscreen, unless presentation mode is set.

SVN revision: 77317
2012-10-02 12:53:38 +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
Sebastian Dransfeld f2ac4219af e: correct layer for edge windows
Need a layer above fullscreen if fullscreen flip is to be able to work.

SVN revision: 77283
2012-10-02 07:23:27 +00:00
Mike Blumenkrantz d3ab905f13 prevent edge bindings from activating while they are activating
ticket #1469


SVN revision: 76386
2012-09-10 09:42:51 +00:00
Mike Blumenkrantz 787017ca11 add E_GADCON_ORIENT_LAST for iterating
SVN revision: 76307
2012-09-07 13:16:29 +00:00
Carsten Haitzler 7a5d5b5fa4 add zone geometry property to windows and keep it updated.
SVN revision: 75310
2012-08-16 09:29:42 +00:00
Mike Blumenkrantz 3d09bfa6db add mouse button to E_Event_Zone_Edge
SVN revision: 73401
2012-07-06 08:26:23 +00:00
Mike Blumenkrantz ba64e79b7c add edge binding config option to enable edge bindings on multihead
ticket #906


SVN revision: 73262
2012-07-04 09:32:05 +00:00
Mike Blumenkrantz 37461278bc add e_shelf_zone_dummy_new(), e_shelf_list_all(), and e_gadcon_dummy_new() to allow for creating an object (such as a task bar) which simulates a shelf for the purpose of removing its geometry from _e_zone_useful_geometry_calc(), thus preventing windows from being placed under it
ticket #643


SVN revision: 72999
2012-06-28 10:59:19 +00:00
Vincent Torri c3b0637802 e17: whitespaces--
SVN revision: 72561
2012-06-21 06:19:43 +00:00
Stefan Schmidt fc52a4642d e: More y0 and y1 renaming to avoid global shadowing
SVN revision: 72532
2012-06-20 08:48:18 +00:00
Carsten Haitzler e0a1aea90e umm no. this is already done elsewhere fir xinerama style multi-head.
for true multihead there is nothing, but this code sure as hell doesnt
do it :) remove.



SVN revision: 71612
2012-06-01 01:10:32 +00:00
Mike Blumenkrantz 428d501a30 e ticket #291: multihead and desktop switching
upon mousing into a screen edge, other connected screens will now be checked for location. if another screen is near the current edge, no binding will be triggered


SVN revision: 71580
2012-05-31 10:28:00 +00:00
Stefan Schmidt c43f83ef52 e/e_zone: Comment out debug printf's
Make the log more readable again. Nobody wants all this strange symbols in
his log without a good reason.

SVN revision: 71559
2012-05-30 12:27:40 +00:00
Vincent Torri 6975000ffd E17: missed that one
SVN revision: 70976
2012-05-13 17:48:08 +00:00
Cedric BAIL 2d0970da9a e: warning--.
SVN revision: 70751
2012-05-04 02:34:56 +00:00
Carsten Haitzler 7c23365cf9 fix edge bindings to work if you add other bindings to corners other
than edge flips.



SVN revision: 70558
2012-04-30 12:29:34 +00:00
Doyoun Kang 02fc2b8a8c From: Doyoun Kang <doyoun.kang@samsung.com>
Subject: [E-devel] [Patch] e_zone bug fix

I found a minor bug in e_zone.c. The bug is that the E_EVENT_ZONE_DEL
event doesn't occur when the zone is deleted.



SVN revision: 70453
2012-04-25 00:46:37 +00:00
Carsten Haitzler c9a95709e3 null out black canvas handle when freed - just in case.
SVN revision: 69593
2012-03-24 02:24:53 +00:00
Carsten Haitzler 515819cdb5 make all zone matching agree on the same convention - use zone->num,
not zone->id. zone->id is for matching u to zinerama/xrandr
screens/outputs. e re-sorts based on highest res screens first, lower
res later.



SVN revision: 67951
2012-02-15 04:35:18 +00:00
Carsten Haitzler cdb864ed8e remove all traces of selecting engine in e17 - wont actuallly ever be
needed beyond compositor. :)



SVN revision: 66513
2011-12-26 06:24:59 +00:00
Mike Blumenkrantz e4f9b1bd09 warning--
SVN revision: 64103
2011-10-16 15:12:45 +00:00
Viktor Kojouharov 96ff415a02 fully remove the BG panning.
add a float_set message directed towards the bg object on desk show


SVN revision: 64102
2011-10-16 14:53:27 +00:00
Carsten Haitzler 436918fe7a work on improving edge bindings. having a look at this i'm more
convinced that we need to dump edge bindings as they stand entirely
and turn it into an event registration system.

virtual desktops register for edge events on the zone they are on as
they flip around or are created or destroyed. shelf for audiohide
registers a region of an edge etc.



SVN revision: 64100
2011-10-16 04:24:27 +00:00
Carsten Haitzler c05527d86f begin to fix up edge bindings.
SVN revision: 64085
2011-10-15 07:11:11 +00:00
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
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
Carsten Haitzler 935bed067e icons on the desktop... a work in progress. you will need ~/Desktop to exist
with stuff in it. i suggest copying some of the favorites files over
(home.desktop etc.)


SVN revision: 29975
2007-05-13 09:12:30 +00:00
Sebastian Dransfeld 39e228c73a Formatting.
SVN revision: 29448
2007-04-08 21:00:30 +00:00
Sebastian Dransfeld faf9f548bf Merge all app executing into one function.
SVN revision: 29026
2007-03-24 17:42:12 +00:00
Christopher Michael 973e258658 Fix for the "white background" some people are seeing on startup.
This should not affect people that were not seeing that behavior.
See comments for explaination.


SVN revision: 28547
2007-03-03 18:38:44 +00:00
Carsten Haitzler e57524d44c fix segv with orphaned windows when their desk goes bye bye.
SVN revision: 28526
2007-03-02 14:45:09 +00:00
Christopher Michael 2d830e59a7 Applied lok's e_remember & e_zone patches to fix missing checks.
SVN revision: 28407
2007-02-21 00:24:53 +00:00
Carsten Haitzler 07d6799234 1. update bugs in todo.
2. quickly add a new icon for "removable devices"
3. add removable device support to e17's fm - via dbus/hal. seems to work
well :)  (requires pmount to mount devices though)


SVN revision: 28143
2007-01-28 07:22:50 +00:00
Christopher Michael b41938517c Fix some minor formatting issues.
SVN revision: 27776
2007-01-03 23:03:44 +00:00