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
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
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
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
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
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
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
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
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
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
- 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
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
- 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
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
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
* 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
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
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
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
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
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
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
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
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