I have made claims that I have not left the compiz project and that I have been maintaining it over the past 4 years, despite the lack of releases by not fault but my own. At the request of some of the original compiz developers, I am now posting a compilation of some of the contributions I've made over time, since the beginning. Since the most important contributions are code and easiest to show (thanks to the advent of git), I will focus on proof of this facet. I do understand your doubts but hopefully this will put some minds a bit more at ease. 1) Support (originally forums but always IRC) 2) Testing 3) Bug reporting 4) Development: Contribution Compilation Contributor: Scott Moreau ********* core ********** * compiz-0.9.5.0-series * * * ************************* commit a02b427846f3eb77bc6d32caaf52687031eea9d7 Author: Scott Moreau <oreaus at gmail.com> Date: Fri May 27 21:04:14 2011 -0600 Redetect devices unconditionally when handling ConfigureNotify event. This fixes the case where an output was moved but outputChangeNotify is not called. commit 3ea8ae7436af890ee82f1855e1a8ca4c6a76407f Author: Scott Moreau <oreaus at gmail.com> Date: Tue May 17 17:51:02 2011 -0600 Use CMAKE_PREFIX_PATH when searching for libraries. commit 6f5aeaf44b1f1a60e9ddb661955a07b8f5ac56f1 Author: Scott Moreau <oreaus at gmail.com> Date: Fri May 13 03:10:04 2011 -0600 * Bump version to 0.9.5 commit dabbfbdc99c7e0a2da8e448b8feb6e55bec18fa5 Author: Scott Moreau <oreaus at gmail.com> Date: Fri May 6 18:28:14 2011 -0600 Respect CMAKE_PREFIX_PATH and CMAKE_INCLUDE_PATH when searching for headers. commit c324d200c16cb158089349c7cb68dd5cf01f399d Author: Scott Moreau <oreaus at gmail.com> Date: Sat Apr 30 00:30:39 2011 -0600 Add resize_from_center option. commit 148a3f313089d7f47d8bcab65b9e18495da345e3 Author: Scott Moreau <oreaus at gmail.com> Date: Sat Apr 30 00:08:24 2011 -0600 Cleanup resize options. commit f6921b6f06b27c48437a439b91ddd96f2ec8395b Author: Scott Moreau <oreaus at gmail.com> Date: Fri Mar 18 19:02:46 2011 -0600 Remove unused macro. commit 00a508cd491e834b802980174e7c0c8cec8acdac Author: Scott Moreau <oreaus at gmail.com> Date: Fri Mar 18 13:08:36 2011 +0800 If the root window gets focus, unset activeWindow before calling focusDefaultWindow to make sure the latter really focusses another window. Forward port 33f695e7c6e4fb8ac627df0978fea7771fe1b3d5 to master commit 1fb701594b78e950c031974d83c3566d1d648156 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Mar 18 13:06:13 2011 +0800 If an unexpected window gets focus (e.g. by a client calling XSetInputFocus directly), make sure that moving the input focus to a default window still works when that window is closed. Forward port 556b681adaab3fe27fa456037be82e902dd371be to master commit 149bc1f4aa91b9def2b344d8ad0dab8407533f62 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Mar 18 13:01:03 2011 +0800 Don't grant focus to override_redirect windows. Most other window managers don't even track override_redirect windows, so applications relying on the focus being granted to override_redirect windows are broken anyway. Forward port 30a92d8a060d79181a28840d7c66428ef431200c to master commit f6d33f07d7d5cb8544d053104372a27dc09dfd22 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Mar 18 12:58:29 2011 +0800 Don't let focus stay on the root window. It may happen that the root window is focussed, e.g. by some client calling XSetInputFocus with the root window as target. As that most likely isn't what the user wants, focus the default window instead. Forward port a9a35b6034517404b0c3ed4296f0c33d7d8d1d11 to master commit 3eda41caaa6127fe899275c4ef4f1027cc97db9b Author: Scott Moreau <oreaus at gmail.com> Date: Tue Feb 22 07:54:43 2011 -0700 Use glib CLAMP macro. commit d1cb4117ca6209152c4d666d6251d9aa8e258ad9 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Feb 22 07:48:05 2011 -0700 Remove unnecessary definition. commit 7f58d0ee826bc3f24dadbf17ec7b0bd9a3f92b47 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Feb 22 07:13:33 2011 -0700 Avoid using reserved definition. commit 0301c9f5e600dd9e9e600091af954aa065152097 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Oct 14 23:37:26 2010 -0600 Get rid of Prev/Next Slide since they are entirely unused. commit 3dc23d798a87df24af7420360c035ff5f7039cb9 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Oct 14 23:23:11 2010 -0600 Paint all viewports if caps are transparent. commit 42c96c2f819a62f547c5a7572c7f476d74046a76 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 30 21:22:04 2010 +0000 Remove unused variables to silence warnings. commit ded08438415a7cb001889354d53c9bcd7482f4da Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 30 13:26:59 2010 +0000 Handle top and bottom cap colors separately. commit e317a17e4a989217ab07dedf0bfae41cebfeb994 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 30 12:06:03 2010 +0000 Remove cap image settings since it's handled by cubeaddons. commit 69a33d131151ad4a5c653de86fd4885bf372c1d6 Author: Scott Moreau <oreaus at gmail.com> Date: Sun Oct 3 18:32:55 2010 -0600 Fix porting bugs. commit bd8a26c8360f376a67a38111da5933d88584ca81 Author: Scott Moreau <oreaus at gmail.com> Date: Sun Oct 3 00:45:12 2010 -0600 Remove duplicate if statement. commit 0ab36e34e0891ba5e19c86b834745b265b338ef3 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 30 15:22:04 2010 -0600 Remove unused variables to silence warnings. commit fe128714a388cd375e2ad8c5f3c35052dac54232 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 30 07:26:59 2010 -0600 Handle top and bottom cap colors separately. commit e368adfd1be52a33785f009dcc6de0c91d4cd4ab Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 30 06:06:03 2010 -0600 Remove cap image settings since it's handled by cubeaddons. commit 3a4069bf836951df3362a0bcc17908d614188917 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Sep 28 16:09:43 2010 -0600 Don't require both opengl and composite since opengl already requires composite. This can cause flicker or momentary black screen with some drivers. commit 912aac97f000028bda2391edb5b9e5880cef7494 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Sep 28 16:09:43 2010 -0600 Don't require both opengl and composite since opengl already requires composite. This can cause flicker or momentary black screen with some drivers. commit 506424629573e1a0cb1b190c755e9903a9bf549d Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 2 16:14:45 2010 -0600 Add reszie_from_center option. commit 81a69a7d4f39e642ecdd4b5de5363c42e89e17e4 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 2 16:14:45 2010 -0600 Add reszie_from_center option. commit 853135578ec09f2c2773d429ed32803740fa6330 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 2 16:14:45 2010 -0600 Add reszie_from_center option. commit 9f936c237095922647960b5e58e6be5c64efb28c Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 06:52:54 2010 -0600 Properly fix warnings. commit fc8d33481c3e479f97735d98aca006a25d1ffe01 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 05:59:37 2010 -0600 Fix warnings. commit 755122ed260fbe15a0c26f77f733ed3c1780ed80 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 05:19:14 2010 -0600 Fix warnings. commit e8a3e6e0c2feef71ec1d9d27fd5227ac6e67d692 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 05:02:24 2010 -0600 Fix warning. commit f83b1076ecb002be4a7806cf42052b156c351679 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 04:52:11 2010 -0600 Fix warning. commit ad2ff983eb40bceee41e6d259fb7c1a072851ed1 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 04:48:17 2010 -0600 Fix typo. commit c9cb32fa9b82973670f884181231e8f6c0a94ef6 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 03:03:06 2010 -0600 Fix warnings. commit 9dfda73467a838871e74387110b72fbf6b67c54c Author: Scott Moreau <oreaus at gmail.com> Date: Tue Aug 10 18:03:15 2010 -0600 Don't use bool as int. Fixes 'inside cube'. commit 7200386dc8bdd24d6253c6a4eb87b63e0aeceb61 Author: Scott Moreau <oreaus at gmail.com> Date: Sat Jul 24 17:02:50 2010 -0600 Fix warnings. commit 400b91864ed692f5611649052f8b93841a104ecf Author: Scott Moreau <oreaus at gmail.com> Date: Fri Apr 16 15:58:32 2010 -0600 Add hint so image button appears in ccsm. commit 0e71b1e2d3f12a24b5dba188b4f7b10b196c0073 Author: Scott Moreau <oreaus at gmail.com> Date: Sat Apr 3 12:02:32 2010 -0600 Fix build. Errors introduced by 69c7f0cf084359d666447f4573d7cc8d8b6420d0 commit b5e0fc02322d37ba5d73edc1ab4b8127b3126ff2 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 10:55:27 2010 -0700 Properly calculate damage region. commit 4360728006585da95738d2aafda436e0fd8fa148 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 10:45:58 2010 -0700 Draw more finely granulated ellipse outline. commit 374393a340dfefbac9c6441d6c1a3cbf80d2b220 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 10:41:22 2010 -0700 Add option to change erase size. commit e7f252407a646d73d5019fc11eea72e3d1348eb0 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 10:40:52 2010 -0700 Use the same width for all lines. commit 3f6c5425d108bcd8684c2d13ae7f6f55a991bec9 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 10:40:01 2010 -0700 Make corners of rectangles square while dragging. commit db87069dab2edec369a1c347e4b9f382c26289ec Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 08:45:04 2010 -0700 General reorganization and cleanup. commit 37332a37b4ee93c23e10be06af73b36c18ceb396 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 08:44:47 2010 -0700 Add option to use initial click point as center for drawing shapes. commit 618676e2b02309fbe4af4214fe33de9b9428412b Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 08:44:33 2010 -0700 Add straight line drawing function. commit b93cac5d0c36f0d7b30e2d1a303859b547dc8586 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 08:43:56 2010 -0700 Draw ellipses instead of circles. commit 4c52e497d8daab2cc71db0d66c6e9b89f18178a0 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 15 15:31:11 2010 -0700 Fix longstanding damage issue. commit 6da1124112165f35bea278281e709d96066125fa Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 15 14:32:41 2010 -0700 Fix longstanding damage issue. commit 5aad8381b701b974348751611dc7d5da41664351 Author: Scott Moreau <oreaus at gmail.com> Date: Sat Feb 13 02:04:58 2010 -0700 Categorize resize options. commit d68d2fd397ace7e65707301170d3c552e1e0f431 Author: Scott Moreau <oreaus at gmail.com> Date: Sat Feb 13 02:03:07 2010 -0700 Categorize switcher options. commit 26bb656c9559602370e33f992a5605af0de071c6 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 1 06:28:40 2010 -0700 Implement shape drawing interface. commit 2a64ba120608e0f0623882860e85f58972b9f7b2 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Jan 7 07:56:07 2010 -0700 Fix typo. commit a7b31d76e583d745473d2ef6369efbf1f7704ce3 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Jan 26 10:50:04 2010 -0700 Get erase button working. commit a34f26bd3f44a2e8fe500b70b7ccb1adb0394a59 Author: Scott Moreau <oreaus at gmail.com> Date: Sat Dec 5 14:00:03 2009 -0700 Properly expand variables. commit 5e115cf18f4829984f55f6d8cee25e871977daa8 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Nov 9 13:15:44 2009 -0700 Reorganize scale options commit 790e4b7f37d5f09d7946170ba7931ddbdb0b1356 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Nov 3 21:53:28 2009 -0700 Reorganize core options commit b65f0d448e8eae2a2aa87ab54dd52024d5406ece Author: Scott Moreau <oreaus at gmail.com> Date: Tue Nov 3 20:58:47 2009 -0700 Move rotate to desktop category and reorganize options commit d8eee13b945d264f2961f19b35348ecd7198ffa6 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Nov 3 20:57:19 2009 -0700 Move cube to desktop category and reorganize options ******** grid ******** * master * * * ********************** commit 6496d381ffd2d2f3100298577cd3534689f6e03c Author: Scott Moreau <oreaus at gmail.com> Date: Sat Sep 24 01:32:42 2011 -0600 Revert several key functionality breakages. This reverts back to commit fcc746d39070b706f81c2683165a0baadefb3155. commit fcc746d39070b706f81c2683165a0baadefb3155 Author: Scott Moreau <oreaus at gmail.com> Date: Thu May 26 05:30:01 2011 -0600 Animate indicator visuals. commit ff4ed4a4d0d34fbd83a5e6ca19f9a423681a414d Author: Scott Moreau <oreaus at gmail.com> Date: Tue Feb 22 20:21:55 2011 -0700 Removed unused code. commit 866c7147a1e1803d020a03226aaa59e5f1524de1 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Feb 22 15:00:10 2011 -0700 Change cycling to give a more natural feel. commit 2e46ff5f7b5fb9404d25f7bfebee2692fb85b17f Author: Scott Moreau <oreaus at gmail.com> Date: Tue Sep 28 16:30:57 2010 -0600 Don't require composite since opengl already does. commit 236720391cb552b048545520eabb94aba6f72c8c Merge: ac8d52b ca91d73 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Jul 1 22:20:10 2010 -0600 Merge branch 'master' of git+ssh:// git.compiz.org/git/compiz/plugins/grid commit ac8d52b31ff02d9abf6dcaf3070c61fa9eb0bac9 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Jul 1 22:04:37 2010 -0600 Add NULL check to prevent potential crash. commit d18577d3c64b9d3ff33992116deb2883f31b317b Author: Scott Moreau <oreaus at gmail.com> Date: Tue Jun 22 14:42:29 2010 -0600 Add restore window keybinding. commit 2713efaeb41b83dfd2ad5a8cbe8f15a0037342cc Author: Scott Moreau <oreaus at gmail.com> Date: Tue Jun 22 00:21:48 2010 -0600 Minor cleanup. commit 57d659b00379280daeddff8b03d87c79d8d93183 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Jun 22 00:16:32 2010 -0600 Better center check handling. commit 1b69f97464409d8ffd36ad6b1cbd9a90f336e96a Author: Scott Moreau <oreaus at gmail.com> Date: Mon Jun 21 20:53:50 2010 -0600 Center windows with maximum width less than desired width. commit 69f0ec46a6e6282801627a7d7cfdb229ea2789ba Author: Scott Moreau <oreaus at gmail.com> Date: Mon Jun 21 14:32:04 2010 -0600 Fix warning. commit 6dc3b64a6f20986b9452f94d970543e6ca880105 Author: Scott Moreau <oreaus at gmail.com> Date: Wed Jun 2 17:32:51 2010 -0600 Store resizeCount for each window. commit 01e32199ffed7c9b84cb951e83b82dbe10a84b5f Author: Scott Moreau <oreaus at gmail.com> Date: Wed Jun 2 17:27:58 2010 -0600 Center window if its minimum width is greater than desired width, which causes buggy behavior with middle keys. commit 68ee2227070b2b02840fc8110cbd48f6389ead49 Author: Scott Moreau <oreaus at gmail.com> Date: Wed Jun 2 17:15:03 2010 -0600 Minor cleanup. commit 671e6617b920100fd0cd84ce167baf98fe99273b Author: Scott Moreau <oreaus at gmail.com> Date: Mon May 31 19:36:12 2010 -0600 Store original size on grab. commit 68aad60ca65630c9af7143cdec09ccffdfe8e563 Author: Scott Moreau <oreaus at gmail.com> Date: Mon May 31 14:03:03 2010 -0600 Properly store original window sizes. commit 045916caa40cbaf93c6290566d20cc61593e3405 Author: Scott Moreau <oreaus at gmail.com> Date: Sun May 30 23:27:02 2010 -0600 Remove unused variable. commit cbaa8555120e9313dafd1fb341b26229adb2f684 Author: Scott Moreau <oreaus at gmail.com> Date: Sun May 30 22:52:41 2010 -0600 More concise placement. commit 5469612f4bbfb4272507f4a7dae72e1a6f66c1ad Author: Scott Moreau <oreaus at gmail.com> Date: Sun May 30 22:44:22 2010 -0600 Iterate through resizes instead of rely on window size checking. This is so walking through sizes doesn't get stuck with windows that have a minimum size larger than our smallest. commit d27809df4564b32c45187921a24c625d4f2da19b Author: Scott Moreau <oreaus at gmail.com> Date: Sun May 30 18:10:23 2010 -0600 Save original window size when using key bindings so snap back works correctly. commit 2c2176da43d659edc02e5d67c1cc2e5334b84fb2 Author: Scott Moreau <oreaus at gmail.com> Date: Sun May 30 18:03:38 2010 -0600 Up number of resize states to 5. commit 1a8e76370ef2de4e8ec9c297f6c87690263f64bd Author: Scott Moreau <oreaus at gmail.com> Date: Sun May 30 17:16:21 2010 -0600 Implement tristate for middle grid as well. commit b6c341c739e374101e04e023f982a9241c521e12 Author: Scott Moreau <oreaus at gmail.com> Date: Sun May 30 16:09:34 2010 -0600 Add GRID_WINDOW macro. commit 2affe4edcd14430e0166bf716d86feae05d9acf4 Author: Scott Moreau <oreaus at gmail.com> Date: Sun May 30 15:31:43 2010 -0600 Whitespace fixes. commit c54c895d0fbca501c3a7c2bb15053d98c8d73449 Author: Scott Moreau <oreaus at gmail.com> Date: Sun May 30 15:18:00 2010 -0600 Fix porting typo. commit 4ded37a7b9955e7db23c812021cd23b2d45076fe Author: Scott Moreau <oreaus at gmail.com> Date: Sat May 29 09:36:38 2010 -0600 Don't snap back after we've already snapped back. commit bd1a273982092379748af7b43debed43570f9c3d Author: Scott Moreau <oreaus at gmail.com> Date: Sat May 29 09:32:54 2010 -0600 Fix typo. commit 1b40a9c3ee56aeee7e9b973578a301247af929b6 Author: Scott Moreau <oreaus at gmail.com> Date: Sat May 29 09:27:18 2010 -0600 Clean up. commit 3bc681614ab856df8ee42e6f3e9d63ff0ec453a7 Author: Scott Moreau <oreaus at gmail.com> Date: Sat May 29 09:19:57 2010 -0600 Add padding so windows are restored without border being off-screen. commit 6ca140edcd147f4eb21e53a5f6c6a99cd54aa136 Author: Scott Moreau <oreaus at gmail.com> Date: Sat May 29 09:18:38 2010 -0600 Keep track of our maximized state so we don't try to snap back windows that were maximized by grid but have been restored by some other method already. commit 31c4544b9a687c1eac12d5be9465e19279d07ee2 Author: Scott Moreau <oreaus at gmail.com> Date: Sat May 29 09:08:31 2010 -0600 Adjust window to pointer instead of trying to move the pointer. commit d4e0ec6fe664c79778465afb703c71bc78bb14b1 Author: Scott Moreau <oreaus at gmail.com> Date: Sat May 29 08:12:24 2010 -0600 Remove unused variables. commit c00a84743dc755b04b59ed644dc4892e6a5cd541 Author: Scott Moreau <oreaus at gmail.com> Date: Tue May 25 17:06:09 2010 -0600 Load before wobbly. commit b8afb7bb2701a65e35a56049dd3635ee667dac3c Author: Scott Moreau <oreaus at gmail.com> Date: Thu Feb 11 15:45:07 2010 -0700 Snap windows to original size when dragging away from gridded position. commit 866ca3f9864cecfa5c23eae90d03a39f6805ded6 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Jan 25 22:14:52 2010 -0700 Don't draw visual indicator for edges without a resize action set. commit e9ef2b288efc0096dfae8611d36d58b3c3b3348b Author: Scott Moreau <oreaus at gmail.com> Date: Thu Jan 14 15:04:59 2010 -0700 Remove unused variable. commit c120d6167ec7ec5486dcba09831c7efc9e39bd57 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Jan 11 07:41:50 2010 -0700 Fix visual indicator for maximize when window is already maximized. commit 2b33eab81360e9bb869bf54b5274f4e20ce58468 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Jan 7 10:02:02 2010 -0700 Properly detect workarea. This fixes window resizing when using screens of different sizes. commit 7b892d42087944b6410b950eea95612191e55a14 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Jan 7 07:30:13 2010 -0700 Enable visual indicator by default. commit 6e48175bb6ae7a05ff9eb6c393587814f4af1ae4 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Jan 7 07:29:47 2010 -0700 Add snappoff maximized windows option. commit 6cd654a4520aa6ac3d2e648ad3a7de020bb84c53 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Jan 7 07:18:37 2010 -0700 Detect when cursor crosses into another output. commit 7a6a0e24db795a30524161ab59a31b1196c9b9f6 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Jan 7 07:14:23 2010 -0700 Simplify code. commit 7396f8ea5cab4ab021d22fc9e91b3a2a3101ab6c Author: Scott Moreau <oreaus at gmail.com> Date: Thu Jan 7 07:07:10 2010 -0700 Maximize to correct output. commit ae80985e3a6b17ad28d974e0bc58b53d2dc7bf2d Author: Scott Moreau <oreaus at gmail.com> Date: Thu Jan 7 09:32:16 2010 -0700 Depend on composite and opengl. commit dafeb8e31e51feeefc5a5ec461fe9c1615462b7c Author: Scott Moreau <oreaus at gmail.com> Date: Wed Dec 23 03:14:14 2009 -0700 Address maximize visual. commit c56650d872894882602ca3cef748481f6561c8a2 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Dec 18 05:44:05 2009 -0700 Fix damage regions. commit 5eac99668845fb21bddbf6a4a2f6856d333df1ec Author: Scott Moreau <oreaus at gmail.com> Date: Thu Dec 17 05:15:43 2009 -0700 Whitespace fixes. commit df9c83a51881f47ec246527a16648167aa6aa3ad Author: Scott Moreau <oreaus at gmail.com> Date: Thu Dec 17 05:15:19 2009 -0700 Add visual resize indicator. commit a2b15ad338d20d7d3eb65288d6b232e5182a70ae Author: Scott Moreau <oreaus at gmail.com> Date: Fri Dec 11 04:40:42 2009 -0700 Add edge support. ******** wallpaper ******** * master * * * *************************** commit 99a9f9d31f9d065a9cd16b50026f2d31328e46a7 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Sep 28 16:32:13 2010 -0600 Don't require composite since opengl already does. commit 810ad32adf452d10edbc5f9b0e1f49850e13ad46 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Apr 16 13:06:03 2010 -0600 Apply any existing transparency. commit 40489143ef585fa43d55d8672e3f23d548881a74 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Feb 12 12:10:28 2010 -0700 Only draw secondary wallpaper when fading. commit c74718d48ff5439d9312d35c919c0fcc8abf9327 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Feb 12 12:03:03 2010 -0700 Don't cycle wallpapers if cycle wallpapers is not enabled. commit 89c08dbca6bb5f64ade2535b5f5e4433879bdde5 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Feb 12 04:12:40 2010 -0700 Add support for automatic wallpaper cycling. commit fb7fd9adfdc4abeb9ac7f2660ec587b34022d0cb Author: Scott Moreau <oreaus at gmail.com> Date: Fri Feb 12 02:40:32 2010 -0700 General reorganization and cleanup. commit 3c9ec4e6e01ce09463c8445b839fd368bbba34c4 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Jan 3 15:26:01 2012 -0700 Cleanup. ******* core ******** * master * * * ********************* commit cf47a92f29866e0830441c8d8093c24e21e7a2fd Author: Scott Moreau <oreaus at gmail.com> Date: Tue Nov 1 07:17:13 2011 -0600 Revert "Fix typoes". This commit does not fix typoes but makes changes for reasons not announced by the commit message. This fixes http://bugs.compiz.org/show_bug.cgi?id=51 This reverts commit 2a7cd9b94097a59f1074697ef7dac25b9ccd4a5c. commit a44844f462067662d88032c9e72fd6ecf9d981df Author: Scott Moreau <oreaus at gmail.com> Date: Thu Jul 14 16:09:39 2011 +0800 Merge in default value change for obs commit a02b427846f3eb77bc6d32caaf52687031eea9d7 Author: Scott Moreau <oreaus at gmail.com> Date: Fri May 27 21:04:14 2011 -0600 Redetect devices unconditionally when handling ConfigureNotify event. This fixes the case where an output was moved but outputChangeNotify is not called. commit 3ea8ae7436af890ee82f1855e1a8ca4c6a76407f Author: Scott Moreau <oreaus at gmail.com> Date: Tue May 17 17:51:02 2011 -0600 Use CMAKE_PREFIX_PATH when searching for libraries. commit 6f5aeaf44b1f1a60e9ddb661955a07b8f5ac56f1 Author: Scott Moreau <oreaus at gmail.com> Date: Fri May 13 03:10:04 2011 -0600 * Bump version to 0.9.5 commit dabbfbdc99c7e0a2da8e448b8feb6e55bec18fa5 Author: Scott Moreau <oreaus at gmail.com> Date: Fri May 6 18:28:14 2011 -0600 Respect CMAKE_PREFIX_PATH and CMAKE_INCLUDE_PATH when searching for headers. commit c324d200c16cb158089349c7cb68dd5cf01f399d Author: Scott Moreau <oreaus at gmail.com> Date: Sat Apr 30 00:30:39 2011 -0600 Add resize_from_center option. commit 148a3f313089d7f47d8bcab65b9e18495da345e3 Author: Scott Moreau <oreaus at gmail.com> Date: Sat Apr 30 00:08:24 2011 -0600 Cleanup resize options. commit f6921b6f06b27c48437a439b91ddd96f2ec8395b Author: Scott Moreau <oreaus at gmail.com> Date: Fri Mar 18 19:02:46 2011 -0600 Remove unused macro. commit 00a508cd491e834b802980174e7c0c8cec8acdac Author: Scott Moreau <oreaus at gmail.com> Date: Fri Mar 18 13:08:36 2011 +0800 If the root window gets focus, unset activeWindow before calling focusDefaultWindow to make sure the latter really focusses another window. Forward port 33f695e7c6e4fb8ac627df0978fea7771fe1b3d5 to master commit 1fb701594b78e950c031974d83c3566d1d648156 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Mar 18 13:06:13 2011 +0800 If an unexpected window gets focus (e.g. by a client calling XSetInputFocus directly), make sure that moving the input focus to a default window still works when that window is closed. Forward port 556b681adaab3fe27fa456037be82e902dd371be to master commit 149bc1f4aa91b9def2b344d8ad0dab8407533f62 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Mar 18 13:01:03 2011 +0800 Don't grant focus to override_redirect windows. Most other window managers don't even track override_redirect windows, so applications relying on the focus being granted to override_redirect windows are broken anyway. Forward port 30a92d8a060d79181a28840d7c66428ef431200c to master commit f6d33f07d7d5cb8544d053104372a27dc09dfd22 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Mar 18 12:58:29 2011 +0800 Don't let focus stay on the root window. It may happen that the root window is focussed, e.g. by some client calling XSetInputFocus with the root window as target. As that most likely isn't what the user wants, focus the default window instead. Forward port a9a35b6034517404b0c3ed4296f0c33d7d8d1d11 to master commit 3eda41caaa6127fe899275c4ef4f1027cc97db9b Author: Scott Moreau <oreaus at gmail.com> Date: Tue Feb 22 07:54:43 2011 -0700 Use glib CLAMP macro. commit d1cb4117ca6209152c4d666d6251d9aa8e258ad9 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Feb 22 07:48:05 2011 -0700 Remove unnecessary definition. commit 7f58d0ee826bc3f24dadbf17ec7b0bd9a3f92b47 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Feb 22 07:13:33 2011 -0700 Avoid using reserved definition. commit 0301c9f5e600dd9e9e600091af954aa065152097 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Oct 14 23:37:26 2010 -0600 Get rid of Prev/Next Slide since they are entirely unused. commit 3dc23d798a87df24af7420360c035ff5f7039cb9 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Oct 14 23:23:11 2010 -0600 Paint all viewports if caps are transparent. commit 42c96c2f819a62f547c5a7572c7f476d74046a76 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 30 21:22:04 2010 +0000 Remove unused variables to silence warnings. commit ded08438415a7cb001889354d53c9bcd7482f4da Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 30 13:26:59 2010 +0000 Handle top and bottom cap colors separately. commit e317a17e4a989217ab07dedf0bfae41cebfeb994 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 30 12:06:03 2010 +0000 Remove cap image settings since it's handled by cubeaddons. commit 69a33d131151ad4a5c653de86fd4885bf372c1d6 Author: Scott Moreau <oreaus at gmail.com> Date: Sun Oct 3 18:32:55 2010 -0600 Fix porting bugs. commit bd8a26c8360f376a67a38111da5933d88584ca81 Author: Scott Moreau <oreaus at gmail.com> Date: Sun Oct 3 00:45:12 2010 -0600 Remove duplicate if statement. commit 0ab36e34e0891ba5e19c86b834745b265b338ef3 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 30 15:22:04 2010 -0600 Remove unused variables to silence warnings. commit fe128714a388cd375e2ad8c5f3c35052dac54232 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 30 07:26:59 2010 -0600 Handle top and bottom cap colors separately. commit e368adfd1be52a33785f009dcc6de0c91d4cd4ab Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 30 06:06:03 2010 -0600 Remove cap image settings since it's handled by cubeaddons. commit 3a4069bf836951df3362a0bcc17908d614188917 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Sep 28 16:09:43 2010 -0600 Don't require both opengl and composite since opengl already requires composite. This can cause flicker or momentary black screen with some drivers. commit 912aac97f000028bda2391edb5b9e5880cef7494 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Sep 28 16:09:43 2010 -0600 Don't require both opengl and composite since opengl already requires composite. This can cause flicker or momentary black screen with some drivers. commit 506424629573e1a0cb1b190c755e9903a9bf549d Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 2 16:14:45 2010 -0600 Add reszie_from_center option. commit 81a69a7d4f39e642ecdd4b5de5363c42e89e17e4 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 2 16:14:45 2010 -0600 Add reszie_from_center option. commit 853135578ec09f2c2773d429ed32803740fa6330 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Sep 2 16:14:45 2010 -0600 Add reszie_from_center option. commit 9f936c237095922647960b5e58e6be5c64efb28c Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 06:52:54 2010 -0600 Properly fix warnings. commit fc8d33481c3e479f97735d98aca006a25d1ffe01 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 05:59:37 2010 -0600 Fix warnings. commit 755122ed260fbe15a0c26f77f733ed3c1780ed80 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 05:19:14 2010 -0600 Fix warnings. commit e8a3e6e0c2feef71ec1d9d27fd5227ac6e67d692 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 05:02:24 2010 -0600 Fix warning. commit f83b1076ecb002be4a7806cf42052b156c351679 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 04:52:11 2010 -0600 Fix warning. commit ad2ff983eb40bceee41e6d259fb7c1a072851ed1 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 04:48:17 2010 -0600 Fix typo. commit c9cb32fa9b82973670f884181231e8f6c0a94ef6 Author: Scott Moreau <oreaus at gmail.com> Date: Fri Aug 20 03:03:06 2010 -0600 Fix warnings. commit 9dfda73467a838871e74387110b72fbf6b67c54c Author: Scott Moreau <oreaus at gmail.com> Date: Tue Aug 10 18:03:15 2010 -0600 Don't use bool as int. Fixes 'inside cube'. commit 7200386dc8bdd24d6253c6a4eb87b63e0aeceb61 Author: Scott Moreau <oreaus at gmail.com> Date: Sat Jul 24 17:02:50 2010 -0600 Fix warnings. commit 400b91864ed692f5611649052f8b93841a104ecf Author: Scott Moreau <oreaus at gmail.com> Date: Fri Apr 16 15:58:32 2010 -0600 Add hint so image button appears in ccsm. commit 0e71b1e2d3f12a24b5dba188b4f7b10b196c0073 Author: Scott Moreau <oreaus at gmail.com> Date: Sat Apr 3 12:02:32 2010 -0600 Fix build. Errors introduced by 69c7f0cf084359d666447f4573d7cc8d8b6420d0 commit b5e0fc02322d37ba5d73edc1ab4b8127b3126ff2 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 10:55:27 2010 -0700 Properly calculate damage region. commit 4360728006585da95738d2aafda436e0fd8fa148 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 10:45:58 2010 -0700 Draw more finely granulated ellipse outline. commit 374393a340dfefbac9c6441d6c1a3cbf80d2b220 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 10:41:22 2010 -0700 Add option to change erase size. commit e7f252407a646d73d5019fc11eea72e3d1348eb0 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 10:40:52 2010 -0700 Use the same width for all lines. commit 3f6c5425d108bcd8684c2d13ae7f6f55a991bec9 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 10:40:01 2010 -0700 Make corners of rectangles square while dragging. commit db87069dab2edec369a1c347e4b9f382c26289ec Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 08:45:04 2010 -0700 General reorganization and cleanup. commit 37332a37b4ee93c23e10be06af73b36c18ceb396 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 08:44:47 2010 -0700 Add option to use initial click point as center for drawing shapes. commit 618676e2b02309fbe4af4214fe33de9b9428412b Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 08:44:33 2010 -0700 Add straight line drawing function. commit b93cac5d0c36f0d7b30e2d1a303859b547dc8586 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 22 08:43:56 2010 -0700 Draw ellipses instead of circles. commit 4c52e497d8daab2cc71db0d66c6e9b89f18178a0 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 15 15:31:11 2010 -0700 Fix longstanding damage issue. commit 6da1124112165f35bea278281e709d96066125fa Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 15 14:32:41 2010 -0700 Fix longstanding damage issue. commit 5aad8381b701b974348751611dc7d5da41664351 Author: Scott Moreau <oreaus at gmail.com> Date: Sat Feb 13 02:04:58 2010 -0700 Categorize resize options. commit d68d2fd397ace7e65707301170d3c552e1e0f431 Author: Scott Moreau <oreaus at gmail.com> Date: Sat Feb 13 02:03:07 2010 -0700 Categorize switcher options. commit 26bb656c9559602370e33f992a5605af0de071c6 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Feb 1 06:28:40 2010 -0700 Implement shape drawing interface. commit 2a64ba120608e0f0623882860e85f58972b9f7b2 Author: Scott Moreau <oreaus at gmail.com> Date: Thu Jan 7 07:56:07 2010 -0700 Fix typo. commit a7b31d76e583d745473d2ef6369efbf1f7704ce3 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Jan 26 10:50:04 2010 -0700 Get erase button working. commit a34f26bd3f44a2e8fe500b70b7ccb1adb0394a59 Author: Scott Moreau <oreaus at gmail.com> Date: Sat Dec 5 14:00:03 2009 -0700 Properly expand variables. commit 5e115cf18f4829984f55f6d8cee25e871977daa8 Author: Scott Moreau <oreaus at gmail.com> Date: Mon Nov 9 13:15:44 2009 -0700 Reorganize scale options commit 790e4b7f37d5f09d7946170ba7931ddbdb0b1356 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Nov 3 21:53:28 2009 -0700 Reorganize core options commit b65f0d448e8eae2a2aa87ab54dd52024d5406ece Author: Scott Moreau <oreaus at gmail.com> Date: Tue Nov 3 20:58:47 2009 -0700 Move rotate to desktop category and reorganize options commit d8eee13b945d264f2961f19b35348ecd7198ffa6 Author: Scott Moreau <oreaus at gmail.com> Date: Tue Nov 3 20:57:19 2009 -0700 Move cube to desktop category and reorganize options Thank You, Scott Moreau -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/compiz/attachments/20141124/48589307/attachment-0001.html>
Also, a bit of work that was removed, in ezoom. The reason for the removal of this code is still pending, even though it happened 4 years ago. http://sprunge.us/GSaU commit 624ebd62db00d7b9d2273ab8b42d1d4a3269939b Author: Scott Moreau <oreaus at gmail.com> Date: Tue Sep 14 20:20:46 2010 -0600 Fix uninitialized variable. diff --git a/src/ezoom.cpp b/src/ezoom.cpp index fe91e40..f22fbcf 100644 --- a/src/ezoom.cpp +++ b/src/ezoom.cpp @@ -826,6 +826,8 @@ EZoomScreen::convertToZoomedTarget (int out, *resultY = y; } + o = &screen->outputDevs ().at (out); + ZoomArea &za = zooms.at (out); x -= o->x1 (); commit 5cf8515d741880d49e9ce03798f551c2afd79814 Author: Scott Moreau <oreaus at gmail.com> Date: Wed Aug 18 05:49:07 2010 -0600 Add theater mode. diff --git a/ezoom.xml.in b/ezoom.xml.in index 3eda311..2f6e5ed 100644 --- a/ezoom.xml.in +++ b/ezoom.xml.in @@ -50,6 +50,18 @@ <_long>Zoom in on a boxed area</_long> <default><Super>Button2</default> </option> + <option name="theater_mode" type="bool"> + <_short>Theater mode</_short> + <_long>Black out any area not selected by Zoom Box.</_long> + <default>false</default> + </option> + <option type="int" name="theater_fade_timeout"> + <_short>Theater fade timeout</_short> + <_long>Time in ms for fade in/out.</_long> + <default>2000</default> + <min>1</min> + <max>8000</max> + </option> </group> <group> <_short>Mouse Behaviour</_short> diff --git a/src/ezoom.cpp b/src/ezoom.cpp index 07a90d9..a35a4ee 100644 --- a/src/ezoom.cpp +++ b/src/ezoom.cpp @@ -136,6 +136,13 @@ isZoomed (int out) return false; } +void +EZoomScreen::terminateTheater () +{ + tFadingIn = false; + tFadingOut = true; +} + /* Returns the distance to the defined edge in zoomed pixels. */ int EZoomScreen::distanceToEdge (int out, EZoomScreen::ZoomEdge edge) @@ -304,6 +311,43 @@ EZoomScreen::adjustXYVelocity (int out, float chunk) (zooms.at (out).yVelocity * chunk) / cScreen->redrawTime (); } +void +EZoomScreen::updateTheater (int ms) +{ + + if (tFadingIn || tFadingOut) + tAlpha = (1.0 - ((tDuration - tTimer) / (float) tDuration)) * OPAQUE; + + if (tAlpha < 0) + tAlpha = 0; + + if (tTimer >= tDuration || tAlpha > OPAQUE) + { + tAlpha = OPAQUE; + tFadingIn = false; + tTimer = tDuration; + } + + if (tTimer <= 0) + { + theaterZoomActive = false; + tAlpha = 0; + tFadingOut = false; + tTimer = 0; + } + else + theaterZoomActive = true; + + if (tFadingIn) + tTimer += ms; + + if (tFadingOut) + tTimer -= ms; + + if (tAlpha == 0 || tTimer == 0) + tFadingOut = false; +} + /* Animate the movement (if any) in preparation of a paint screen. */ void EZoomScreen::preparePaint (int msSinceLastPaint) @@ -334,7 +378,7 @@ EZoomScreen::preparePaint (int msSinceLastPaint) zooms.at (out).xVelocity = zooms.at (out).yVelocity 0.0f; grabbed &= ~(1 << zooms.at (out).output); - if (!grabbed) + if (!grabbed && !tFadingIn && !tFadingOut) { cScreen->damageScreen (); toggleFunctions (false); @@ -346,6 +390,9 @@ EZoomScreen::preparePaint (int msSinceLastPaint) syncCenterToMouse (); } + if (optionGetTheaterMode ()) + updateTheater (msSinceLastPaint); + cScreen->preparePaint (msSinceLastPaint); } @@ -367,9 +414,12 @@ EZoomScreen::donePaint () } else if (grabIndex) cScreen->damageScreen (); - else + else if (!tFadingIn && !tFadingOut) toggleFunctions (false); + if (tFadingIn || tFadingOut) + cScreen->damageScreen (); + cScreen->donePaint (); } /* Draws a box from the screen coordinates inx1,iny1 to inx2,iny2 */ @@ -409,6 +459,44 @@ EZoomScreen::drawBox (const GLMatrix &transform, glEnableClientState (GL_TEXTURE_COORD_ARRAY); glPopMatrix (); } + +void +EZoomScreen::drawTheater (const GLScreenPaintAttrib &sAttrib, + const GLMatrix &transform, + CompOutput *output) +{ + if (!theaterZoomActive || !optionGetTheaterMode ()) + return; + + /* Creates a list of rects to draw storing them in a region + * We want to draw everywhere except for selectedZoomBox */ + CompRegion outputReg (*output); + CompRegion visibleReg (selectedZoomBox); + CompRegion blackReg = outputReg - visibleReg; + + GLMatrix sTransform (transform); + + glPushMatrix (); + + sTransform.toScreenSpace (output, -DEFAULT_Z_CAMERA); + + glLoadMatrixf (sTransform.getMatrix ()); + + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + glEnable (GL_BLEND); + + /* fill rectangles with black */ + glColor4us (0x0000, 0x0000, 0x0000, tAlpha); + foreach (const CompRect &r, blackReg.rects ()) + glRecti (r.x1 (), r.y2 (), r.x2 (), r.y1 ()); + + /* clean up */ + glColor4usv (defaultColor); + glDisable (GL_BLEND); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + glPopMatrix (); +} + /* Apply the zoom if we are grabbed. * Make sure to use the correct filter. */ @@ -422,7 +510,7 @@ EZoomScreen::glPaintOutput (const GLScreenPaintAttrib &attrib, bool status; int out = output->id (); - if (isActive (out)) + if ((isActive (out) || theaterZoomActive) && out >= 0) { GLScreenPaintAttrib sa = attrib; GLMatrix zTransform = transform; @@ -443,12 +531,18 @@ EZoomScreen::glPaintOutput (const GLScreenPaintAttrib &attrib, drawCursor (output, transform); + drawTheater (attrib, zTransform, output); + + /* If all outputs are inactive, we automatically assume fade out */ + if (zooms.empty ()) + terminateTheater (); } else { status = gScreen->glPaintOutput (attrib, transform, region, output, mask); } + if (grabIndex) drawBox (transform, output, box); @@ -1360,6 +1454,14 @@ EZoomScreen::zoomBoxDeactivate (CompAction *action, width = MAX (box.x1 (), box.x2 ()) - x; height = MAX (box.y1 (), box.y2 ()) - y; + if (optionGetTheaterMode ()) + { + selectedZoomBox.setGeometry (box.x (), box.y (), + box.width (), box.height ()); + tFadingIn = theaterZoomActive = true; + tFadingOut = false; + } + CompWindow::Geometry outGeometry (x, y, width, height, 0); out = screen->outputDeviceForGeometry (outGeometry); @@ -1596,6 +1698,8 @@ EZoomScreen::zoomOut (CompAction *action, zooms.at (out).newZoom * optionGetZoomFactor ()); + terminateTheater (); + toggleFunctions (true); return true; @@ -1742,6 +1846,17 @@ EZoomScreen::CursorTexture::CursorTexture () : } void +EZoomScreen::optionChanged (CompOption *opt, + Options num) +{ + tDuration = optionGetTheaterFadeTimeout (); + terminateTheater (); + + if (!optionGetTheaterMode ()) + tAlpha = tTimer = 0; +} + +void EZoomScreen::postLoad () { if (!grabbed) @@ -1769,6 +1884,13 @@ EZoomScreen::EZoomScreen (CompScreen *screen) : PluginStateWriter <EZoomScreen> (this, screen->root ()), cScreen (CompositeScreen::get (screen)), gScreen (GLScreen::get (screen)), + selectedZoomBox (emptyRegion.boundingRect ()), + theaterZoomActive (false), + tFadingIn (false), + tFadingOut (false), + tAlpha (0), + tTimer (0), + tDuration (optionGetTheaterFadeTimeout ()), grabbed (0), grabIndex (0), lastChange (0), @@ -1857,6 +1979,10 @@ EZoomScreen::EZoomScreen (CompScreen *screen) : optionSetEnsureVisibilityInitiate (boost::bind ( &EZoomScreen::ensureVisibilityAction, this, _1, _2, _3)); + optionSetTheaterFadeTimeoutNotify (boost::bind (&EZoomScreen::optionChanged, + this, _1, _2)); + optionSetTheaterModeNotify (boost::bind (&EZoomScreen::optionChanged, + this, _1, _2)); } diff --git a/src/ezoom.h b/src/ezoom.h index c94f920..d5997c5 100644 --- a/src/ezoom.h +++ b/src/ezoom.h @@ -192,6 +192,27 @@ class EZoomScreen : public: + CompRect selectedZoomBox; + bool theaterZoomActive, tFadingIn, tFadingOut; + int tAlpha, tTimer, tDuration; + + void + drawTheater (const GLScreenPaintAttrib &sAttrib, + const GLMatrix &transform, + CompOutput *output); + + void + updateTheater (int ms); + + void + terminateTheater (); + + void + optionChanged (CompOption *opt, + Options num); + + public: + template <class Archive> void serialize (Archive &ar, const unsigned int version) { commit 187b1a6ebec40beb3e88a6fa980a20bb8adb665e Author: Scott Moreau <oreaus at gmail.com> Date: Sat Jul 3 18:00:52 2010 -0600 Use better conditional to avoid constant polling and damage after loading the plugin. diff --git a/src/ezoom.cpp b/src/ezoom.cpp index 82cd347..aaf0fe2 100644 --- a/src/ezoom.cpp +++ b/src/ezoom.cpp @@ -1789,7 +1789,7 @@ EZoomScreen::CursorTexture::CursorTexture () : void EZoomScreen::postLoad () { - if (zooms.empty ()) + if (!grabbed) return; toggleFunctions (true); diff --git a/src/ezoom.h b/src/ezoom.h index 7fc05cf..c94f920 100644 --- a/src/ezoom.h +++ b/src/ezoom.h @@ -197,6 +197,7 @@ class EZoomScreen : { ar & zooms; ar & lastChange; + ar & grabbed; } std::vector <ZoomArea> zooms; // list of zooms (different zooms for - Scott -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/compiz/attachments/20141124/8af86ae4/attachment.html>