Subject: [E-devel] [Patch][e] add code to handle the floating mode
I added code to handles the floating mode in e.
I added the structure for floating mode in E_Border structure. If an
application sets the floating mode using elm_win_floating_mode_set(),
e gets this event - ECORE_X_EVENT_WINDOW_PROPERTY (atom:
ECORE_X_ATOM_E_ILLUME_WINDOW_STATE) - and sets floating mode
information to added structure in E_Border.
SVN revision: 76806
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
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
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
* 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
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
* 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
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