Commit Graph

218 Commits

Author SHA1 Message Date
Carsten Haitzler 7a59e58273 add support for X-Enlightenment-Single-Instance :)
SVN revision: 76756
2012-09-17 11:51:04 +00:00
Eduardo de Barros Lima adac052c0a Actually fix unmaximize left/right
Revert previous commit and set correct values for E_MAXIMIZE_LEFT and
E_MAXIMIZE_RIGHT to save x and w values.


SVN revision: 76201
2012-09-05 15:15:13 +00:00
Eduardo de Barros Lima c112a36760 Fix unmaximize left/right
We need to save original x and width values in both cases.



SVN revision: 76200
2012-09-05 14:59:43 +00:00
Mike Blumenkrantz f1e4a5909f add two new maximize modes: left and right
these will maximize a window to either the left or the right half of the screen, respectively
work started by etrunko in ticket #1422


SVN revision: 76198
2012-09-05 13:46:15 +00:00
Mike Blumenkrantz 0dab993c45 add "hidden" flag for borders which is set only when border_hide(3) is called; this prevents borders from being automatically shown on desk change when previously hidden
SVN revision: 75757
2012-08-28 07:41:11 +00:00
Mike Blumenkrantz 97faa73719 modal windows now properly block events on their parent windows
SVN revision: 75073
2012-08-10 08:59:05 +00:00
Mike Blumenkrantz 968fda6d06 formatting
SVN revision: 75070
2012-08-10 07:55:59 +00:00
Mike Blumenkrantz 2408d29b01 save fullscreen policy for borders when a window fullscreens
SVN revision: 74046
2012-07-18 07:20:25 +00:00
Mike Blumenkrantz 09e526e2ba add an intercept function for e_border to allow adjustments for movement of borders
SVN revision: 73363
2012-07-05 14:53:28 +00:00
Carsten Haitzler b2fec5b8dc try and address some focus issues...
SVN revision: 72751
2012-06-24 04:18:01 +00:00
Vincent Torri c3b0637802 e17: whitespaces--
SVN revision: 72561
2012-06-21 06:19:43 +00:00
Carsten Haitzler f674bd8a0b fix border events/grabs for move/resize and such.
SVN revision: 66703
2011-12-30 17:17:09 +00:00
Cedric BAIL 0a59d65e3f e: actually let E17 handle direct video rendering path.
NOTE: There is still the following list of issue :
	- stacking, with window that could get between the video
layer and the application layer.
	- border, if I turn them off the window get resized to
1x1 and I don't understand yet why.
	- comp-scale, as we don't understand that this window
are one, it display them separatly.

I think that the only possible answer is to enable this feature
only when composite is tunerd on and make window a smart object
so we could merge the video layer and the application in one
object.



SVN revision: 64257
2011-10-21 15:31:35 +00:00
Hannes Janetzek 69076c2a32 e17: use stringshare for icccm/netwm properties
SVN revision: 62935
2011-08-29 08:24:55 +00:00
Carsten Haitzler e0eeb1def3 get e17 to use the ecore pos map call to do accel/decel for shading,
and while we're at it allow more modes... like bouncing. pretty cool
to have bouncing shaded windows :)



SVN revision: 60476
2011-06-18 14:38:54 +00:00
Carsten Haitzler 004bdade85 make bulb gadget change glow/brightness based on actual backlight
brightness.



SVN revision: 60306
2011-06-14 14:24:45 +00:00
Miculcy Brian ca2c5c152f e17/fullscreen: restore maximize correctly
SVN revision: 58626
2011-04-13 10:49:10 +00:00
Doyun Kang 7b56742304 From: Doyun Kang <doyoun.kang@samsung.com>
Add support for shape input inheritance alongside normal shape support.



SVN revision: 58622
2011-04-13 09:06:34 +00:00
Hannes Janetzek 23428da6ea e17: allow themes to request argb window frames
if your window border theme will use transparency add:
data { item: "argb" "1" } to the respective border groups 


SVN revision: 57458
2011-03-01 16:17:23 +00:00
Eric Schuele 9e972367dd Keeping types consistent.
SVN revision: 56751
2011-02-06 16:25:52 +00:00
Eric Schuele 440c33eecf Allow users to remove border resistance on a per border basis.
SVN revision: 56745
2011-02-06 02:04:37 +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 39bf250f10 fmting
SVN revision: 51937
2010-09-07 09:08:34 +00:00
Mike Blumenkrantz 88e5bb4ff1 try fix broken vim formatting: VIM TABS ARE WRONG! I WILL SEND NINJAS AFTER THE NEXT PERSON WHO USES THEM!!!
SVN revision: 51879
2010-09-04 06:05:32 +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
Carsten Haitzler 81963af8d8 respect hidden comp state in border infra.
SVN revision: 50806
2010-08-04 06:24:06 +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 1c3afc74b2 Emit events when windows become or leave fullscreen.
SVN revision: 49258
2010-05-28 21:37:42 +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 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
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 907d84a94a whoops, this shouldnt have went in the patch
SVN revision: 42206
2009-09-03 14:23:14 +00:00
Carsten Haitzler fb4208b4a3 ecomorph hookes from <hannes.janetzek@googlemail.com>
SVN revision: 42203
2009-09-03 12:37:10 +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
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
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
Sebastian Dransfeld 92ff3dab37 Fix callback for list sorting.
SVN revision: 37202
2008-10-27 07:33:21 +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
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
Gustavo Sverzut Barbieri ba3e4fc00d Move and Resize using keyboard.
These new shortcuts will trigger move and resize modes that are
interactive using keyboard. Use arrows to move or resize (left/top =
shrink, right/bottom = enlarge), presse Escape to abort, Return or
mouse click or timeout to confirm.

This should work like WindowMaker or Kwin.

TODO:
 - add customizable thresholds.
 - figure out what to do with the old action "Move" and "Resize",
   they're really useless for keyboard, just works with mouse.




SVN revision: 36010
2008-09-16 00:11:26 +00:00
Carsten Haitzler 46675b10c1 use ecore_x vkbd wrappers now.
SVN revision: 35209
2008-07-25 02:09:28 +00:00
Carsten Haitzler 77e26d9daa add a way to force e to not remember a window of its own .
SVN revision: 35139
2008-07-17 14:01:36 +00:00
Carsten Haitzler 51c5110b2c vkbd hints...
SVN revision: 35127
2008-07-16 17:06:23 +00:00
Miculcy Brian f977c5fd12 Better sorted border menu.
SVN revision: 34635
2008-05-21 22:37:00 +00:00
Carsten Haitzler 1cf57c6566 support qtopia hint flags and also multiple netwm types
SVN revision: 33952
2008-03-07 11:51:31 +00:00
Carsten Haitzler 5551c78397 revert patch. never tested by submiter.
SVN revision: 33950
2008-03-07 10:35:58 +00:00
Carsten Haitzler b70f5a0ecc e:
1. configure/build changes to allow cross-compiling painlessly
2. pager module namespace changes - this was still dirty afdter the namespace
cleanup, so clean it up
3. add a powersave subsystem - doesnt have an "automatic" way to turn on and
off right now, this i think is best provided by modules (that do things like
monitor acpi status's (eg close lid of laptop), AC power status etc. etc.
this allows e to nicely defer "power" expensive actions to avoid disk
spinups etc.
4. move to use the new ecore poller system  - discussed long ago as part of
power management/saving issues. now it exists
5. add a canvas idle flush call that helsp cope with the new shm greedy
software x11 engine stuff
6. use the new powersave subsystem where appropriate
7. fix non-zeroed/initted memory access in e_fm_main
8. fix mem leak for e menus
9. remove ipc handlers for changed/removed config values
10. use animaotr not timer for menu scrolls - then menu scrolls obey the fps
config
11. fix up timer/poll happienss of cursor idle stuff
12. remove avoid damage from popups for now - causing problems
13. change battery and temp readouts to b e shorter so they fit
14. pager can emit signals on focus change for mini-windows now
15. temperature module now uses a slave process and uses stdin/out to talk to
it and get output - this makes e smoother as in my expereicne i found getting
the temp on my laptop actually took like 200ms so e "hang" for 200ms while
reading the acpi files - so now the subprocess does it and just writesa back
to e when it gets it.

ecore:
1. add ecore_pollers. see the documentation on them in doxygen comments :)
2. fix timers to only go off when they have to - bug there that made e's
select time out a LOT more than it needed to. defensive coding hid the
problem. now fixed. e should be much more power friendly now.
3. formatting/niceness in ecore_exe stuff
4. some comments on comments with SIGIO ideas vs. select
5. add call to be able to add an idle enterer at the start of the list of
them, not just the end (as has been the default)
6. fix ecore_evas to support auto evas idler calls after 0.5 secs of idle in
all canvases - and to do it right
7. if argb destination - set the shape EVENT shape (to mask out events in
transparent regions much like shape does withotu translucency)
8. in ecore_x add support for the event shape

evas:
1. fix cache to work properly and not just always fill up (as it seemed to
like to think cahce useage dropped below 0 when it didnt and thus just
over-fill)
2. software x11 engine now ONLY uses shm segments - no ximages over the
socket. this ximage hack was there to avoid the 2 round trips involved in
setting up an shm image - now i mitigated that wih an shm image cache pool.
it keeps shm images around and repurposes them for new update regions if
appropriate. this means many fewer shm creates (about 1/100th the number) and
since we recycle the memory less 0 memory page filling by the kernel - in the
end, i recorded about a 10-20% speedup over the old software x11 engine.
simple tests i have seen up to 120% speedups. idle flush now does something -
it frees all the cached shm segments. it has a hard-coded limit of 4mb worth
of shm segments (or 32 segments - whichever comes first) to keep around. once
can never complain much about speedups methinks :). also evas will defer sync
until the NEXT frame is written - this means evas can calculate the next
frame of data while x dma's/copies the images to the screen at the same time
(if you hve a dual core or multi-cpu machnike or your xserver is able to use
DMA to copy image data to the screen/video ram then this should see a decent
speedup).


SVN revision: 33448
2008-01-11 07:33:57 +00:00