Go to file
Toan Pham b1378ce77b enhance winlist next window selection
Summary:
The original next window selection of winlist is weak.  It searches the next window with the following conditions:

1.  Next non-overlaped window in the direction of user's selection (up,down,right,left).
2.  The next window has to be the closest window from the currently selected window (calculated from shortest distance from each window's border, in the direction of selection)
3.  the second distant requirement is this:
      delta2_next = abs(ec_orig->x - ec_orig->w / 2 - ec->x + ec->w/2);
    * Which I believe is a mistake, should be:
      delta2_next = abs(ec_orig->x + ec_orig->w / 2 - ec->x + ec->w/2);

These two conditions are weak, and they sometimes can result in unexpected selection to the user.

The enclosed patch enhances the next window selection: 1) A next window selection can be the window that's overlapping with the in-focused window.  2)  calculates the next window from the center of the currently focused window to the next window, and it also takes into account directionality (a window that's farther in the direction of selection has a better chance of being selected then a window that's closer in the direction of selection, but offset-ed in the lateral direction.)

Test Plan:
1.  Create 4 key binds for "next window to left, right, up, down".
2.  Open up 4 different windows and position them in odd/random positions.
3.  Try to navigate to each window (with the winlist shortcut keys) before this patch.
4.  Try with this patch, and evaluate if the window selection is more **PREDICTABLE**.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2661

I fixed the weridness and it behaves much more reliably now with
"tall" or "wide" windows. also fixed some formatting etc. etc. - this
now works better and now if u alt+tab AND then use arrow keys while
holding alt... it'll navigate around geometrically rather nicely.

so big fixes and good for pointing out the simpleness of the original
code. :)

  - raster

@feat
2015-12-22 19:05:04 +09:00
config (1) e_config.c/e_comp_wl.c: add code for making repeat values configurable 2015-11-30 14:05:10 -05:00
data L10N: Update Finnish translations 2015-11-14 02:36:01 +02:00
doc Update links in head.html 2015-08-06 12:02:28 -04:00
m4 __UNUSED__ -> EINA_UNUSED 2015-03-18 18:09:09 -04:00
pkgbuild pkgbuild: we do not support Bluez. 2014-06-16 04:54:51 +02:00
po Updating italian translation 2015-12-12 11:48:11 +01:00
src enhance winlist next window selection 2015-12-22 19:05:04 +09:00
.arcconfig add .arcconfig for e17. 2013-02-23 22:26:42 +09:00
.gitignore Update gitignore. 2014-09-03 15:42:29 +01:00
.mailmap update mailmap 2015-09-05 13:55:50 +02:00
AUTHORS AUTHORS: Add Marcel to authors file. 2014-12-03 13:28:45 +00:00
BUGS Fix common misspellings 2010-09-08 23:59:07 +00:00
COPYING E17: Update copyright year. 2012-07-03 06:54:49 +00:00
ChangeLog E18.0 release 2013-12-21 17:08:47 -05:00
INSTALL add teamwork module 2013-06-14 15:36:11 +01:00
Makefile.am autotools: install .pc files to the correct directory on FreeBSD 2014-08-07 22:53:47 +01:00
NEWS 20.0 NEWS updates 2015-11-30 14:52:06 -05:00
README Update README for those viewing this repo from github. 2015-08-03 15:52:09 -04:00
README.wayland remove note about window close crashing 2015-11-04 18:26:06 -05:00
autogen.sh autotools: modified autogen.sh script to be able to build from different directory. 2014-09-22 14:46:52 +02:00
configure.ac disable building wl_wl module for now 2015-12-09 13:28:37 -05:00
e19_workdir_setup.sh feature: add script to set some debug vars 2014-01-14 20:28:29 -05:00
enlightenment.pc.in fix @dataroot@ missing warning. 2014-03-14 11:52:48 -03:00
enlightenment.spec.in menu: match file looked by code. 2015-08-21 17:06:54 +02:00
netwm.txt add support for new netwm csd X atoms 2015-01-03 00:42:42 -05:00
x-ui.sh remove e17 preload/precache hacks 2012-10-10 07:39:08 +00:00
xdebug.sh fix typo 2010-12-27 22:15:53 +00:00

README

Please report bugs and send patches to phab.enlightenment.org

Enlightenment 0.19.0

Requirements:
-------------

Must:
  efl elementary
  libc libm libX11 libXext
  xcb xcb-shape xcb-keysyms

Heavily suggested:
  evas_generic_loaders (all loaders)

NOTE: Users of DR16 will need to rename the $prefix/bin/enlightenment
file prior to installing DR19 or it will be overwritten.

You can also use the configure --prefix option to put enlightenment in a separate tree
of its own (recommended) like:

  ./configure --prefix=/usr/local/e19

You will, as usual, need to add the subsequent bin dir to your $PATH etc.


NOTES:

* if you do not want security issues make sure sysactions.conf is in
/etc/enlightenment (not PREFIX/etc/enlightenment) as this is the first place
it looks at. This file is intended to be customized by packagers and
system integrators to match your policies and scripts/tools.