Commit Graph

814 Commits

Author SHA1 Message Date
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
Carsten Haitzler 81963af8d8 respect hidden comp state in border infra.
SVN revision: 50806
2010-08-04 06:24:06 +00:00
Carsten Haitzler 33eb15abc8 be like other compositors. work around the unmap thing and never unmap
if we have a compositor. just "mark" as unmapped and leave there.
pretend we are unmapped. disable events and stuff on the border to get
the behaviro right too so stacking or positioning is never affected.



SVN revision: 50761
2010-08-03 09:03:58 +00:00
Christopher Michael 5a7b450c04 Patch from rubenbb to fix ticket #562 (dpms being turned off by
fullscreen windows).

I modified this patch slightly. Removed some unused handlers. limits.h
is already included in e.h, so no need to reinclude it. Fixed formatting.



SVN revision: 50356
2010-07-18 19:06:00 +00:00
Andreas Volz 31663d7051 temoporary limited maximize algorithm
SVN revision: 50207
2010-07-12 22:12:02 +00:00
Andreas Volz c0a5d4e794 fix to prevent lost windows if resizing a window to offscreen coordinates
SVN revision: 50133
2010-07-08 21:05:34 +00:00
Andreas Volz 6e35928dea added two new configuration options for the geometry_manipulation conf plugin:
int         geometry_auto_move; // GUI
   int         geometry_auto_resize_limit; // GUI

This does influence the configure_request algorithm in the way that the user could disable the window 
geometry move and resize feature that is useful for e.g. Gnome fileselector or gnome-terminal tabs.
There was a use case on the list where this was not nice so I created an option to disable it. If one thinks
a special e.src shouldn't activate this feature by default, please change it.

SVN revision: 50083
2010-07-06 19:49:48 +00:00
Andreas Volz c86c1144fe req_window_oversize:
If a window likes to open with bigger 
initial coordinates bigger than the screen 
(minus ignore zones like not overlap allowed shelfes) 
the window should be sized to the maximum allowed size.

SVN revision: 50028
2010-07-04 19:10:09 +00:00
Andreas Volz c153c4b86e req_maximize_ignore_zone:
If a window likes to maximize while it stays below a ignore zone (like not overlap allowed shelfes) it should be maximized only in the overlap allowed zone. At returning to normal state it should be placed in the original position.

SVN revision: 49942
2010-06-29 21:04:34 +00:00
Andreas Volz bb3501c1c8 req_window_resize_move:
If a window resizes itself without border interaction it's moved to the next available coordinates which aren't covered by ignore zones like not overlap allowed shelfes.


SVN revision: 49910
2010-06-27 20:48:43 +00:00
Andreas Volz ce88316472 req_window_offscreen:
If a window likes to open with initial offscreen coordinates E should move it to the nearest onscreen coordinates.

req_window_ignore_zone:
If a window likes to open with initial coordinates in a window ignore zone (like not overlap allowed shelfes) if should be moved to the next allowed coordinates.



SVN revision: 49909
2010-06-27 20:41:52 +00:00
Cedric BAIL c6a118d738 * e: remove warning due to Ecore API change.
SVN revision: 49833
2010-06-24 16:19:12 +00:00
Andreas Volz cb1d2785fa temporary comment my latest change here.
while working with it I got some strange window placements. I need to analyze these situations before I release it to the public...


SVN revision: 49673
2010-06-14 19:44:56 +00:00
Andreas Volz 8610b9eaa9 Based on an IRC discussion I changed the smart placing mechanism to hit also if icccm.request_pos is true. Many Gnome based application try to start with coordinates below the shelfes and E allows it. This smoothly moves this windows away is smart placement is active. It's not as aggressive as Metacity, but now usable with vertical shelfes. If you don't like this change hit me and discuss it again on the list.
SVN revision: 49654
2010-06-12 12:54:18 +00:00
Gustavo Sverzut Barbieri 1c3afc74b2 Emit events when windows become or leave fullscreen.
SVN revision: 49258
2010-05-28 21:37:42 +00:00
Gustavo Sverzut Barbieri 5e42f12ffb if fullscreen border was moved between desks, update desk fullscreen count.
just happened to notice this possible error, no idea if paths could
really trigger it, but was simple enough to fix.



SVN revision: 49249
2010-05-28 18:54:25 +00:00
Jaime Thomas 202a06c9f6 Stop windows from jumping to (0,0) location when resizing using keybindings.
SVN revision: 48316
2010-04-25 18:50:14 +00:00
Christopher Michael 80c91b8d19 As per k-s, remove fix from e_config_dialog and instead, call e_border_show
inside uniconify.



SVN revision: 48138
2010-04-19 17:27:45 +00:00
Sebastian Dransfeld fadcb01bcb efreet: better naming
SVN revision: 48034
2010-04-15 19:21:03 +00:00
Sebastian Dransfeld 7c9c49eabc Make sure we free desktop before getting new
SVN revision: 47518
2010-03-27 20:53:41 +00:00
Sebastian Dransfeld fed2a494e1 Listen to cache update event
SVN revision: 47476
2010-03-26 05:34:10 +00:00
Sebastian Dransfeld 2277270e9c free desktop on border removal
SVN revision: 47474
2010-03-26 05:33:48 +00:00
Sebastian Dransfeld 346707729c Use efreet_desktop_get
We want to get a cached version which submits events for bd->desktop

SVN revision: 46845
2010-03-03 22:10:34 +00:00
Carsten Haitzler 07c6e7788d oooold patch from manio! in!
SVN revision: 46807
2010-03-03 00:32:39 +00:00
Carsten Haitzler fd7e0c09df hmmm something screwed with init done events.. remove 1 undone.
SVN revision: 46784
2010-03-02 12:31:20 +00:00
Sebastian Dransfeld cdd86db6ac Eet cache for efreet desktop
SVN revision: 46726
2010-03-01 18:16:32 +00:00
Christopher Michael 98e95cc950 Comment whole section as we never make use of it anyway.
SVN revision: 46674
2010-03-01 01:33:44 +00:00
Christopher Michael 3bc257bf8d Fix up formatting.
SVN revision: 46625
2010-02-27 22:51:19 +00:00
Carsten Haitzler 4513a24797 no more round trips! bad bad bad!
SVN revision: 46459
2010-02-25 12:26:10 +00:00
Christopher Michael 4461057e7a Add illume quickpanel zone fetch to border structure.
SVN revision: 46293
2010-02-19 03:21:30 +00:00
Christopher Michael 30b60b5bd3 No point in running find_by_client_window here as we do nothing with it
anyway.



SVN revision: 46104
2010-02-11 22:05:14 +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 e64e721ff2 Make sure that we always resize on keypress
When using alt on a window which resizes in steps, we could get 0
movement. Fixes bug #338.

SVN revision: 45339
2010-01-19 19:46:09 +00:00
Sebastian Dransfeld b7f399d159 make clang happy
SVN revision: 45153
2010-01-14 23:48:59 +00:00
Sebastian Dransfeld 6136509b9f make clang happy
x and y are used later and might be garbage

SVN revision: 45150
2010-01-14 23:48:26 +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
Carsten Haitzler 4ed5747b83 dont show ecore-evas of internal windows b4efore border evals! do it there!
SVN revision: 44995
2010-01-08 23:08:07 +00:00
Christopher Michael f435c770e4 Add illume atoms to e_border struct.
Add code to fetch illume atoms on border map & property changes (if needed).
    - This avoids a lot of round-trip calls to X when running illume2.
Remove whitespace & fix some formatting.
Use PATH_MAX instead of 4096.
Update illume2 code to use new border atoms and avoid round-trip X calls.



SVN revision: 44879
2010-01-04 18:15:56 +00:00
Christopher Michael 69581f2d37 A poller is not a timer. Use proper variable type, and proper delete function.
SVN revision: 44689
2009-12-23 14:04:22 +00:00
Christopher Michael 0007331545 Check that zone exists first before trying to use it.
No need to set border zone twice here.



SVN revision: 44640
2009-12-21 20:54:09 +00:00
Sebastian Dransfeld bda24a1f0d Make clang happy
SVN revision: 44230
2009-12-06 19:42:41 +00:00
Christopher Michael fc7e636c1f just some formatting I noticed while reading code.
SVN revision: 44205
2009-12-05 23:36:42 +00:00
Hannes Janetzek ad1669b3ec keep windows in current zone when it requests to be outside an existing zone
SVN revision: 43271
2009-10-25 15:58:19 +00:00
Hannes Janetzek 984c884fd6 fix pending_mode_resize
SVN revision: 42882
2009-10-05 03:05:10 +00:00
Hannes Janetzek cf7cfc3b58 cleanups and updated comment on sync.wait
SVN revision: 42837
2009-10-01 10:22:27 +00:00
Carsten Haitzler 09c4596276 from jeffdameth: fix sync protocol handling - re-enable it.
SVN revision: 42834
2009-10-01 08:45:24 +00:00
Hannes Janetzek 46c1c6000b fix unmaximize in smart and fill mode.
- move policy handling of move/resize to the externally accessible functions


SVN revision: 42751
2009-09-28 01:48:26 +00:00
Hannes Janetzek 0033fecdef reduce continous debug output for deleted borders
SVN revision: 42746
2009-09-27 22:22:39 +00:00
Hannes Janetzek 1321020294 - fix 'maximize fullscreen' action
- allow any maximized windows of any type to be manipulated when allow_manip is set
- remove 'maximize expand' option from config gui. this is the same as 'maximize smart'
- dont restirct iconify of fullscreen borders. this is policy that can be (and is) 
  restricted by gui.


SVN revision: 42735
2009-09-26 22:45:09 +00:00
Hannes Janetzek 8cc27a9ec8 - focus new window when it's the only one on current desk
- fix resizing by moveresize_request


SVN revision: 42681
2009-09-24 18:23:40 +00:00
Hannes Janetzek 273a513b04 e_border use e's macros for calloc/free
SVN revision: 42568
2009-09-19 17:08:34 +00:00
Hannes Janetzek 5d0fe47535 fix last commit: do not add pending move when doing only resize
SVN revision: 42567
2009-09-19 16:51:37 +00:00
Hannes Janetzek 2f92b4a7ff e_border: remove maximized state when maximized window is moved or resized
- merge _e_border_resize_internal with _e_border_move_resize_internal


SVN revision: 42566
2009-09-19 16:26:16 +00:00
Hannes Janetzek 5e2de9c09b refactor _e_border_cb_window_move_resize_reques. this screamed for a switch.
SVN revision: 42443
2009-09-12 15:51:44 +00:00
Hannes Janetzek b6836f77d0 refactor bd->changes.size evaluation
SVN revision: 42442
2009-09-12 15:24:28 +00:00
Hannes Janetzek f13cb425c1 factor duplicated ecore_evas_managed_move and ecore_x_icccm_move_resize_send
out to _e_border_client_move_resize_send(E_Border)


SVN revision: 42441
2009-09-12 13:53:43 +00:00
Hannes Janetzek be82a34929 simplify code. only refactoring
SVN revision: 42440
2009-09-12 13:18:02 +00:00
Hannes Janetzek 7bcc49c2fe - fixed e_remember_default_match to set match values
since these are not set by e_remember_update anymore
- remove E_Remember parameter from e_remmber_update. 
  if update is possible bd->remember is already set
- do not overwrite bordername value of remember on update. 
  should only be set by conf_border dialog
- make sure on update that match values are set otherwise 
  delete remember 


SVN revision: 42435
2009-09-12 11:08:07 +00:00
Hannes Janetzek f9fc3d09aa move applying of remember properties for new windows from e_border to e_remember
SVN revision: 42433
2009-09-12 09:18:41 +00:00
Hannes Janetzek 81a9f94b4c - allow glob matching in window remember -> advanced dialog has now editable entries
- option added to remember desktop file for e window match. 
    means no more ugly openoffice provided icons (= even if i dont use it ..
- e_border: added fallback for transient windows to use .desktop from main window   
- fixed bug in e_remember to not delete all remembers when last item of the conf_remember list is deleted 


SVN revision: 42432
2009-09-12 07:04:32 +00:00
Carsten Haitzler fb4208b4a3 ecomorph hookes from <hannes.janetzek@googlemail.com>
SVN revision: 42203
2009-09-03 12:37:10 +00:00
Hannes Janetzek 1e8112a09e remember the borders' .desktop file after restart
SVN revision: 42067
2009-08-28 09:25:36 +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
Carsten Haitzler 13ced8509f move eval into 2 stages - much better for the illumes of this world.
SVN revision: 41835
2009-08-17 07:54:02 +00:00
Miculcy Brian 8e9a06ea44 no, we can't try to kill a window on request and then expect that it is killed and hide the border...
SVN revision: 41317
2009-07-13 00:24:15 +00:00
Gustavo Sverzut Barbieri 9da81cfce6 fix e_border handling of without_border flag.
Ooops! My last changes to introduce without_border broke things, often
unnoticed but it was in the way when we requested resize of existing
window, done in the patch to reuse the e_dialog while toggling between
basic<->advanced by manio.

Thanks manio for spotting and Sachiel for the time help debugging it.


SVN revision: 41313
2009-07-12 00:21:28 +00:00
Gustavo Sverzut Barbieri be4f4af8a9 Do not evaluate deleted borders.
This bug was showing when fast toggling between advanced<->basic in
config dialogs.

Note, however, that there are a remaining alien bug with fast
toggling. It's aborting due adding evas object as member of another
from other canvas, which is not allowed. I tried to debug it and it's
REALLY weird, the advanced or basic create_widgets() are being called
twice, from inside the same function, like if the create_widgets() was
calling itself, but the code do not do that, I traced some that would
happen from e_widget_button_add()!!! Like if we had threads of were
being preempted from nowhere, really strange... seems like a stack
corruption :-(


SVN revision: 41038
2009-06-15 01:33:41 +00:00
Gustavo Sverzut Barbieri 7120b06df7 proper alignment when there is non-autohide shelves.
SVN revision: 40384
2009-04-25 18:49:39 +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
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
Carsten Haitzler 634485d2bc and properly hide windows that ask to be iconified on start!
SVN revision: 39853
2009-04-04 07:18:55 +00:00
Carsten Haitzler 834952304f ghost windows-- ?
SVN revision: 39655
2009-03-23 13:39:24 +00:00
Hannes Janetzek 4598a292ed use ECORE_EVENT_MODIFIER
SVN revision: 39538
2009-03-17 21:55:33 +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 eb2d1db1dc Icon rename finished. Now we have a fully compliant icon theme :)
now I'm going to fix E-MODULE-EXTRA...


SVN revision: 39495
2009-03-15 17:41:46 +00:00
Viktor Kojouharov 4d1fea4705 add fullscreen state remember
SVN revision: 39414
2009-03-08 10:35:05 +00:00
Davide Andreoli f64a04ec46 Make a new function:
e_util_icon_theme_set(Evas_Object *obj, const char *icon)
to use in place of e_util_edje_icon_set.
The new function (as it works for menu) search the icon in E theme and FDO themes
according to the config option.

SVN revision: 39371
2009-03-04 22:29:23 +00:00
Viktor Kojouharov 2a1c4aaa9c reduce the count on del
SVN revision: 39317
2009-03-01 21:32:09 +00:00
Viktor Kojouharov 82404b049e option to restrict mouse desktop flipping if there are fullscreen windows
SVN revision: 39271
2009-02-27 18:36:08 +00:00
Carsten Haitzler 32f6b5c391 this apparently fixes some fullscreen maximising issues
SVN revision: 38461
2009-01-05 13:07:19 +00:00
Cedric BAIL 773d102291 This commit is huge. I did test it a lot on my computer, and it run fine here.
But is so big i fear i could have broken some piece of code. So report any wrong
behaviour to me (cedric on #edevelop).

So moving e17 and efreet to eina_hash. With a little efreet API break so they
must come together.


SVN revision: 38185
2008-12-17 15:33:43 +00:00
Carsten Haitzler f4afa96251 gtk and qt have bizarrely wrong logic. for every configure request they
EXPECT a configurenotify to match. this is wrong. wm's are free to ignore
configurerequests if they liek - and dont have to thus send
configurenotifies...



SVN revision: 37922
2008-12-04 10:07:16 +00:00
Carsten Haitzler a76420657d patches - see mail.
SVN revision: 37618
2008-11-14 10:22:57 +00:00
Carsten Haitzler e9b740c27d use the loop_time - better synced anim timepoints and less overhead on
gettimeofday :)



SVN revision: 37393
2008-11-02 02:36:10 +00:00
Sebastian Dransfeld 98d487c8df Clean up drag on border del.
SVN revision: 37245
2008-10-27 14:14:42 +00:00
Sebastian Dransfeld 45f4519087 Create global drag object for border so we can manipulate it.
SVN revision: 37241
2008-10-27 13:32:08 +00:00
Sebastian Dransfeld 92ff3dab37 Fix callback for list sorting.
SVN revision: 37202
2008-10-27 07:33:21 +00:00
Sebastian Dransfeld 6dc64c5559 Correct callback for eina_hash_foreach.
SVN revision: 37169
2008-10-26 20:48:44 +00:00
Gustavo Sverzut Barbieri acd223581c Enforce step limit while resizing windows with keyboard.
Patch by Ivan.


SVN revision: 37108
2008-10-26 02:04:47 +00:00
Jaime Thomas ae3fde694a Keyboard resizing should still respect max/min size.
SVN revision: 37005
2008-10-22 23:15:32 +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
Carsten Haitzler 1d3533c12a add option to disable cursor and diasble the idle cursor anim.
SVN revision: 36313
2008-09-29 14:01:30 +00:00
Gustavo Sverzut Barbieri cd2f6c6d44 keyboard move/resize no accept modifiers.
* Control: value * 2
 * Alt: value / 2



SVN revision: 36302
2008-09-28 23:29:21 +00:00
Gustavo Sverzut Barbieri 77e8ea0a36 Keyboard move/resize: show popup when action begins and hide it on timeout.
* Popup is now displayed when the action begins instead of the first move.
 * Popup is hidden when timeout expires.



SVN revision: 36301
2008-09-28 23:06:14 +00:00
Carsten Haitzler b370f8315f remove/comment out printfs and remove fixme (to be removed) fake mouse up funcs
SVN revision: 36229
2008-09-25 01:34:39 +00:00
Carsten Haitzler 0b625413e9 fix remember to actually rememebr skip* stuff and save it
SVN revision: 36227
2008-09-25 01:01:07 +00:00
Gustavo Sverzut Barbieri 51cefe3402 e/border: make keyboard move and resize actions configurable.
No GUI for that yet, but it's already exported in e_config so one can
write such in future.



SVN revision: 36134
2008-09-20 15:53:28 +00:00
Carsten Haitzler 0b0dfa93a7 and - that vlc fullscreen bug. found. fixed. but vlc's x11 code is really
nasty. does some utterly evil things. should i send off some suggestions to
them? (like 1. dont reparent the window in xcommon.c line 217, dont play with
wm focus policies in xcommon.c line 2269 - just dont send the
_NET_ACTIVE_WINDOW, you shouldnt' need to (wm should make the focus be
correct itself and wm's that don't should get a freindly reminder from users
when they dont remain consistent with focus policy), and then... xcommon.c
2317 remove the do {} while loop - i can think of many reasons the wm may
choose not to map your client window (yet - or ever), so this will never work
"reliably" always. just put in an XSync(p_vout->p_sys->p_display, False);
instead to force the x pipe to flush and do everything you asked before
returning control to the code and thus avoiding any badaccess stuff from x).



SVN revision: 36093
2008-09-19 09:44:07 +00:00