Commit Graph

748 Commits

Author SHA1 Message Date
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
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
Gustavo Sverzut Barbieri 35b67bef0b e_border_resize() now updates the popup.
SVN revision: 35986
2008-09-14 20:31:03 +00:00
Carsten Haitzler bfc017e352 fix focus set loop.
SVN revision: 35928
2008-09-10 12:42:39 +00:00
Carsten Haitzler bf9ed932f9 some debugging printfs - also avoid feeding focus back to the last focused
window if its one of a set of types.



SVN revision: 35726
2008-08-29 03:30:45 +00:00
Carsten Haitzler dbaf8091ff emove debug printf's
SVN revision: 35676
2008-08-26 04:12:41 +00:00
Carsten Haitzler 6c0718f75f add soem debugging.
SVN revision: 35675
2008-08-26 03:04:07 +00:00
Carsten Haitzler bec9b880b0 1. set focuse on activate in illume
2. fix focus set when not visible



SVN revision: 35673
2008-08-26 02:21:51 +00:00
Carsten Haitzler b6089acc00 fix self-feeding grab + event and in/out loop!
SVN revision: 35652
2008-08-25 08:35:41 +00:00
Carsten Haitzler 286b140ea1 and only put border on latest focused once it actually is focused.
SVN revision: 35650
2008-08-25 04:34:19 +00:00
Sebastian Dransfeld 3199439ed8 fix against efreet API breakage
SVN revision: 35492
2008-08-14 20:49:37 +00:00
Carsten Haitzler 99fc29f7aa and respect focus lock out flag more
SVN revision: 35431
2008-08-11 01:22:33 +00:00
Carsten Haitzler 0fb524dc8c remove debugging! works!
SVN revision: 35375
2008-08-07 07:08:16 +00:00
Carsten Haitzler 235d4f9810 oops. missed case.
SVN revision: 35374
2008-08-07 06:45:02 +00:00
Carsten Haitzler bd78344930 try this...
SVN revision: 35373
2008-08-07 06:16:35 +00:00
Carsten Haitzler d9a47f051c add debugging... nasty focus issue to find...
SVN revision: 35372
2008-08-07 06:00:09 +00:00
Carsten Haitzler e465ff1575 more testing...
SVN revision: 35371
2008-08-07 05:11:45 +00:00
Carsten Haitzler 68488d9ba3 debugging...
SVN revision: 35370
2008-08-07 04:57:23 +00:00
Carsten Haitzler 32ab3af8ee try this now...
SVN revision: 35369
2008-08-07 04:30:02 +00:00
Carsten Haitzler 8012bce997 ok - try this instead.
SVN revision: 35368
2008-08-07 04:16:21 +00:00
Carsten Haitzler 204ed15db8 testing...
SVN revision: 35366
2008-08-07 03:09:46 +00:00
Carsten Haitzler dc88eeb646 handle bizarre focus properties. ie take_focus - but a window that never
actually takes focus...


SVN revision: 35365
2008-08-06 22:57:37 +00:00
Carsten Haitzler 9410a6265c fix java app focus.
SVN revision: 35317
2008-08-03 21:54:49 +00:00
Carsten Haitzler 46675b10c1 use ecore_x vkbd wrappers now.
SVN revision: 35209
2008-07-25 02:09:28 +00:00
Carsten Haitzler a582ec3e78 fix propery event for windows.
SVN revision: 35198
2008-07-23 22:10:10 +00:00
Miculcy Brian 010994d27d Reenable pointer warp - the fixme config option to disable it is already there:
config panel->windows->window focus->advanced->"slide pointer to a new focused window"


SVN revision: 35175
2008-07-20 20:21:03 +00:00
Miculcy Brian 50ecadbb80 Fix bugzilla id 398 - Unmaximize problems with xinerama.
SVN revision: 35174
2008-07-19 21:52:44 +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
Carsten Haitzler c5a6384cf5 handle forced resized in about dialogs
SVN revision: 35037
2008-07-08 19:41:42 +00:00
Carsten Haitzler 85bdd7b5b8 use the cancel and turn off fakes... leave code - just complain.
SVN revision: 34609
2008-05-19 04:15:47 +00:00
Carsten Haitzler 9a417fc4b4 focus stack broken in focus new window and click to focus. fix.
SVN revision: 34596
2008-05-18 14:17:39 +00:00
Sebastian Dransfeld d558710860 formatting
SVN revision: 34396
2008-04-28 16:10:05 +00:00
Carsten Haitzler b1c69d3f5f put in some place markers in efm for categories in a fm widget - nothing
there currently but the entry, and fix focus of iconified windows. broke it
before.


SVN revision: 34389
2008-04-28 10:50:36 +00:00
Carsten Haitzler 7f2c0926ca dont focus iconified windows! that's just silly!
SVN revision: 34372
2008-04-26 06:41:48 +00:00
Carsten Haitzler 1186949fbc cedrics for web
SVN revision: 33971
2008-03-09 16:43:58 +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 7cc26d7eea focus - deny entirely in any visual and technical way, if asked.
SVN revision: 33943
2008-03-06 10:17:39 +00:00
Carsten Haitzler db4a8f8ba4 patch from petet can de werken with sticky signals and maximize
SVN revision: 33925
2008-03-05 02:54:30 +00:00
Miculcy Brian 0c3c93f9ad Fixed: Pointer sliding (focus) shouldn't happen when dragging in...
Bugzilla: 380


SVN revision: 33684
2008-02-06 00:03:23 +00:00
Carsten Haitzler 4c72ca99bd no need to strdup to "" for name and class and machne - NULL is acceptable.
SVN revision: 33590
2008-01-24 23:59:16 +00:00
Sebastian Dransfeld 44f1e31aa1 Clean up unmaximize.
SVN revision: 33471
2008-01-13 18:53:58 +00:00
Sebastian Dransfeld bcd8b9c322 Fix unmaximize (bug #176)
SVN revision: 33470
2008-01-13 18:27:33 +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
Eric Schuele 636d2ecf29 Change name for consistency
SVN revision: 33271
2007-12-28 22:58:48 +00:00
Miculcy Brian 73672354b3 Allows to focus a specified window on start using the remember settings.
This is for the users who don't want to give new windows by default the focus.


SVN revision: 33268
2007-12-28 03:18:37 +00:00
Miculcy Brian 38bf25eceb When a window is closed, the focus was given to a window on the wrong desktop. Fixies.
SVN revision: 33267
2007-12-28 02:49:39 +00:00
Eric Schuele beac12a11a Make sure xrandr is present before using it to change the display resolution during a fullcreen operation.
SVN revision: 33262
2007-12-27 06:38:28 +00:00
Miculcy Brian 7bb7bb21dd Allow to disable mouse slide on newly focused windows. This is consistent with sloppy and mouse
focus but some users don't like it much, so here is the option...
Remember: It breaks the focus logic when you for example have sloppy focus mode, pointer over a
window but focus on another window!


SVN revision: 33202
2007-12-22 01:46:22 +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 e9e513b86b Fix fullscreen on desktop change (patch by Hannes Janetzek).
SVN revision: 33066
2007-12-09 15:40:14 +00:00
Sebastian Dransfeld 2b60a23b28 formatting
SVN revision: 32948
2007-12-02 20:03:29 +00:00
Sebastian Dransfeld b2bd892200 Fix compile warnings.
SVN revision: 32947
2007-12-02 19:48:09 +00:00
Miculcy Brian 55760113f6 This patch fixes a few sloppy focus problems (mouse was over a window which doesn't have the focus,...). See bug #210.
Great work sECuRE!


SVN revision: 32892
2007-11-26 21:33:23 +00:00
Sebastian Dransfeld fa53aa99e0 Use convenience macro.
SVN revision: 32830
2007-11-22 20:38:35 +00:00
Carsten Haitzler d8b528ac8c send mroe signals.
SVN revision: 32404
2007-11-06 08:46:54 +00:00
Eric Schuele 3470430324 Fix issue with moving from unshaped borders to shaped borders (i.e. Fullscreen -> default).
SVN revision: 32174
2007-10-27 19:30:49 +00:00
Carsten Haitzler ec84855e6a use the shadowed window tree from ecore
SVN revision: 31977
2007-10-05 12:11:55 +00:00
Carsten Haitzler 8b7a332c73 this is ugly - but it reduces trails from dropshadow or desktop redraws on
slow boxes. i had to
1. use bg pixmaps
2. defer window moves until idle enterer that runs AFTER the rendering
3. simple resizes from top-left are handled, but if top-left of frame needs
to mvoe all bets are off and its not deferred anymore.


SVN revision: 31945
2007-10-03 07:13:02 +00:00
Christopher Michael 1f1db34ff6 Remove some efreet printfs.
SVN revision: 31894
2007-09-30 17:44:46 +00:00
Carsten Haitzler a6825b262b move init splash to its own process to make it smoother and able to be up
before the main loop.


SVN revision: 31795
2007-09-24 01:16:47 +00:00
Christopher Michael f211a9b33d Check that border has a "pointer" before trying to delete it. Working on
fixing bug #191.


SVN revision: 31614
2007-09-04 16:28:24 +00:00
Carsten Haitzler 8128302bd5 lok's xdnd work
SVN revision: 31378
2007-08-18 10:37:16 +00:00
Eric Schuele 549fc86562 I suspect this was intended.
SVN revision: 31375
2007-08-18 02:28:40 +00:00
Carsten Haitzler ea0b0dd7d8 winlist -> module!
SVN revision: 31178
2007-08-05 04:41:55 +00:00
Sebastian Dransfeld c0e8135c40 More desktop ref/free.
SVN revision: 30994
2007-07-26 12:38:18 +00:00