Merge lp://qastaging/~samuel-thibault/compiz/ezoom_focus_tracking into lp://qastaging/compiz/0.9.13

Proposed by Samuel thibault
Status: Needs review
Proposed branch: lp://qastaging/~samuel-thibault/compiz/ezoom_focus_tracking
Merge into: lp://qastaging/compiz/0.9.13
Diff against target: 2188 lines (+1695/-52)
21 files modified
debian/compiz-dev.install (+1/-0)
debian/compiz-plugins-default.install (+2/-0)
debian/control (+1/-0)
plugins/ezoom/CMakeLists.txt (+1/-1)
plugins/ezoom/ezoom.xml.in (+48/-11)
plugins/ezoom/src/ezoom.cpp (+196/-37)
plugins/ezoom/src/ezoom.h (+31/-3)
plugins/focuspoll/CMakeLists.txt (+9/-0)
plugins/focuspoll/compiz-focuspoll.pc.in (+12/-0)
plugins/focuspoll/focuspoll.xml.in (+29/-0)
plugins/focuspoll/include/accessibilitywatcher/accessibilitywatcher.h (+70/-0)
plugins/focuspoll/include/accessibilitywatcher/focusinfo.h (+71/-0)
plugins/focuspoll/include/focuspoll/focuspoll.h (+50/-0)
plugins/focuspoll/src/accessibilitywatcher.cpp (+732/-0)
plugins/focuspoll/src/focusinfo.cpp (+123/-0)
plugins/focuspoll/src/focuspoll.cpp (+225/-0)
plugins/focuspoll/src/private.h (+75/-0)
plugins/mousepoll/src/mousepoll.cpp (+14/-0)
plugins/mousepoll/src/private.h (+1/-0)
plugins/showmouse/showmouse.xml.in (+3/-0)
po/POTFILES.in (+1/-0)
To merge this branch: bzr merge lp://qastaging/~samuel-thibault/compiz/ezoom_focus_tracking
Reviewer Review Type Date Requested Status
Compiz Maintainers Pending
Review via email: mp+345941@code.qastaging.launchpad.net

Commit message

ezoom: add focus tracking based on at-spi a11y events.

This adds a focuspoll module which tracks focus events from a11y, used by ezoom concurrently to mouse events so the zoom moves nicely while working with the keyboard only.

Description of the change

Hello,

This is a resubmission of ksamak's work in https://code.launchpad.net/~ksamak/compiz/ezoom_focus_tracking, with (I believe) all raised comments addressed, notably:

- avoid the singleton technique
- avoid useless copies
- using smart pointers to avoid any memory leak
- better document at-spi workarounds

Samuel

To post a comment you must log in.
4174. By Samuel thibault

Fix corrupted iterator and explain why

4175. By Samuel thibault

merge from trunk

4176. By Samuel thibault

rework the translation correction to integrate it better and thus fix various translation oddities

4177. By Samuel thibault

Only warp mouse if it is out of zoomed screen

4178. By Samuel thibault

fix bogus unique method

4179. By Samuel thibault

Make event coordinates incorrect by default so they get ignored by default

4180. By Samuel thibault

Be more defensive against bogus event coordinates

4181. By Samuel thibault

Also make alternate coordinates bogus by default

4182. By Samuel thibault

Simplify source code

4183. By Samuel thibault

Avoid crashes in case the child went away in between

4184. By Samuel thibault

Automatically look at the first element of a table instead of the table

4185. By Samuel thibault

Also consider mouse clicks for its tracking delays

Otherwise when using both mouse and focus tracking tracking in ezoom, if one
clicks after a one-second wait and that produces a focus tracking event, the
mouse wraps there. The one-second delay should also apply here, which is a mere
matter of making mouse clicks be reported by mousepoll.

Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

You have unresolved conflict pushed. See POTFILES.in.

"This adds a focuspoll module which tracks focus events from a11y"
Are all changes here related to this? For example I see there are max value change that seems unrelated. Same with some description changes...

If these changes does not depend on focuspoll or are unreleated to adding focuspoll I would like to see these changes to be split out inside separate merge requests. Smaller changes are easier to review and could be merged without waiting for full review on this.

Revision history for this message
Samuel thibault (samuel-thibault) wrote :

The conflict is there simply since the very recent merging of my other i18n branch.

Yes, all changes are related to this, I moved what I could find out into other branches (the i18n branch is one of them).

The max value is actually related: with focus tracking, the current maximum zoom movement speed is not enough for some users which want to get the new position very quickly. The description changes are also due to the new possibility of the combination of mouse and focus tracking.

Really I believe I moved what I could: this contains only the addition of the focuspoll plugin (which is mere addition of code) and its integration in ezoom with the corresponding changes: option tuning, zoom computation etc.

4186. By Samuel thibault

merge from trunk

4187. By Samuel thibault

Add change lost during merge (?!)

4188. By Samuel thibault

Drop unused option

4189. By Samuel thibault

Add missing deletes

4190. By Samuel thibault

fix build

4191. By Samuel thibault

Avoid tracking non-expanded menu items

4192. By Samuel thibault

Ignore zeroed component areas

4193. By Samuel thibault

fix memleak of focus info

4194. By Samuel thibault

Extend workaround for missing coords at end of text

4195. By Samuel thibault

Fix crash in menus

4196. By Samuel thibault

Add missing piece of backport

4197. By Samuel thibault

fix build

4198. By Samuel thibault

Add missing delete

4199. By Samuel thibault

Add missing frees and dups

4200. By Samuel thibault

Do not duplicate constant strings

4201. By Samuel thibault

Better handle table focus

4202. By Samuel thibault

Guard against AT-SPI parent loops

4203. By Samuel thibault

Fix some missing references

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

We have recently switched Compiz to Git. Can you please re-submit this (and other proposals if they are still actual) against https://git.launchpad.net/compiz ?

I don’t have much knowledge of the Compiz code yet, but I will do my best to review them.

Unmerged revisions

4203. By Samuel thibault

Fix some missing references

4202. By Samuel thibault

Guard against AT-SPI parent loops

4201. By Samuel thibault

Better handle table focus

4200. By Samuel thibault

Do not duplicate constant strings

4199. By Samuel thibault

Add missing frees and dups

4198. By Samuel thibault

Add missing delete

4197. By Samuel thibault

fix build

4196. By Samuel thibault

Add missing piece of backport

4195. By Samuel thibault

Fix crash in menus

4194. By Samuel thibault

Extend workaround for missing coords at end of text

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches