Merge lp:~mc-return/compiz/compiz.merge-enable-thumbnail-for-GL-builds into lp:compiz/0.9.9

Proposed by MC Return
Status: Merged
Approved by: Daniel van Vugt
Approved revision: 3537
Merged at revision: 3554
Proposed branch: lp:~mc-return/compiz/compiz.merge-enable-thumbnail-for-GL-builds
Merge into: lp:compiz/0.9.9
Diff against target: 60 lines (+5/-2)
3 files modified
debian/compiz-plugins.install (+1/-0)
plugins/CMakeLists.txt (+2/-2)
plugins/thumbnail/src/thumbnail.cpp (+2/-0)
To merge this branch: bzr merge lp:~mc-return/compiz/compiz.merge-enable-thumbnail-for-GL-builds
Reviewer Review Type Date Requested Status
Daniel van Vugt Approve
MC Return Needs Resubmitting
PS Jenkins bot continuous-integration Pending
Review via email: mp+141554@code.launchpad.net

Commit message

Reintroduce the thumbnail (Window previews) plugin.
Just prevent building of thumbnail for GLES. It compiles and works for GL.
(LP: #1020825)

Also fixed transparency issues with glow and window-like-background by
adding calls to enable/disable GL_BLEND.

Description of the change

Note, there are a few remaining issues with this plugin:

1. Although the damage rectangle seems to be calculated correctly, sometimes
still minor flickering occurs, reminds me of the problem seen in the work-
spacenames plugin (just flickers sometimes when fully visible, never during
fade in/out).

2. The text is rendered without background and there is a rectangle behind
the text, which is fully transparent and cuts a visual hole into the glow or
background. Not 100% sure where this transparent rectangle comes from yet.

3. The .xml.in file needs cleanup and some love, some tooltips are incorrect,
others offer poor explanations. The style is generally inconsistent.

4. Thumbnail live window previews on icon mouseover are just shown for one
icon if multiple docks are loaded (like Unity Launcher + Docky).
Which of the docks shows the window preview seems to depend on chance.

I already got some solutions on my local branch to fix some of the problems above,
but do not want to mix everything up in just one MP, so this is ready for review.

To post a comment you must log in.
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

The "minor transparency problem" might be fixable by increasing the damage region around the thumbnail. Can you look into this?

Revision history for this message
MC Return (mc-return) wrote :

> The "minor transparency problem" might be fixable by increasing the damage
> region around the thumbnail. Can you look into this?

Sure. Probably you are right regarding the flickering, but I am not sure if
I can fix the transparency issues as well, I will investigate...

Revision history for this message
MC Return (mc-return) wrote :

Okay, now the glow and window-like black background transparency are fixed.

The text unfortunately still seems to render incorrect, investigating...

Revision history for this message
MC Return (mc-return) wrote :

> The "minor transparency problem" might be fixable by increasing the damage
> region around the thumbnail. Can you look into this?

Seems just the GL_BLEND calls have been missing to fix the transparency issue.

Some issues with this plugin remain, but I would prefer to work on those and
deal with them in separate MPs.
With disabled text this is already quite usable in its current state.

Remaining issues with this plugin:

1. Although the damage rectangle seems to be calculated correctly, sometimes
still minor flickering occurs, reminds me of the problem seen in the work-
spacenames plugin (just flickers sometimes when fully visible, never during
fade in/out).

2. The text is rendered without background and there is a rectangle behind
the text, which is fully transparent and cuts a visual hole into the glow or
background. Not 100% sure where this transparent rectangle comes from yet.

3. The .xml.in file needs cleanup and some love, some tooltips are incorrect,
others offer poor explanations. The style is generally inconsistent.

4. Windows open on other displays than the dock/taskbar/launcher is on are not
shown as thumbnail.

5. Thumbnail live window previews are just shown for one dock if multiple docks
are loaded (like Unity Launcher + Docky). Which of the docks shows the previews
seems to depend on chance.

I already got some solutions on my local branch to fix some of the problems above,
but do not want to mix everything up in just one MP, so this is ready for review.

Revision history for this message
MC Return (mc-return) wrote :

Point 4 in the comment above turns out to be invalid.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

OK, this is enough to resolve bug 1020825. The rendering bugs should be handled separately, later.

Though I think Jenkins will reject the merge unless you add an entry to debian/compiz-plugins.install

review: Needs Fixing
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

P.S. The simple way to test this with plain Compiz (no Unity) is to run: gnome-panel

3537. By MC Return

Added thumbnail to debian/compiz-plugins.install to ensure installation

Revision history for this message
MC Return (mc-return) wrote :

> OK, this is enough to resolve bug 1020825. The rendering bugs should be
> handled separately, later.
>
> Though I think Jenkins will reject the merge unless you add an entry to debian
> /compiz-plugins.install

Oh, should have known that by now ;)
Done in r3537.

review: Needs Resubmitting
Revision history for this message
Daniel van Vugt (vanvugt) :
review: Approve
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

mc-return:

Please don't select "Review: Resubmit". You need to click "Resubmit proposal" instead (at the top of the page).

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/compiz-plugins.install'
2--- debian/compiz-plugins.install 2013-01-08 10:33:58 +0000
3+++ debian/compiz-plugins.install 2013-01-09 10:46:24 +0000
4@@ -43,6 +43,7 @@
5 debian/tmp/usr/*/compiz/*switcher.*
6 debian/tmp/usr/*/compiz/*td.*
7 debian/tmp/usr/*/compiz/*text.*
8+debian/tmp/usr/*/compiz/*thumbnail.*
9 debian/tmp/usr/*/compiz/*titleinfo.*
10 debian/tmp/usr/*/compiz/*trailfocus.*
11 debian/tmp/usr/*/compiz/*wallpaper.*
12
13=== modified file 'plugins/CMakeLists.txt'
14--- plugins/CMakeLists.txt 2013-01-08 10:33:58 +0000
15+++ plugins/CMakeLists.txt 2013-01-09 10:46:24 +0000
16@@ -25,7 +25,7 @@
17 ${CMAKE_CURRENT_SOURCE_DIR}/../logmessage/include
18 )
19
20-# temporarily disable plugins that aren't ported yed
21+# temporarily disable plugins that aren't ported yet
22 set (COMPIZ_DISABLE_PLUGIN_ANIMATIONADDON ON)
23 set (COMPIZ_DISABLE_PLUGIN_BICUBIC ON)
24 set (COMPIZ_DISABLE_PLUGIN_BLUR ON)
25@@ -34,7 +34,6 @@
26 set (COMPIZ_DISABLE_PLUGIN_GROUP ON)
27 set (COMPIZ_DISABLE_PLUGIN_LOGINOUT ON)
28 set (COMPIZ_DISABLE_PLUGIN_REFLEX ON)
29-set (COMPIZ_DISABLE_PLUGIN_THUMBNAIL ON)
30 set (COMPIZ_DISABLE_PLUGIN_STACKSWITCH ON)
31 set (COMPIZ_DISABLE_PLUGIN_TRIP ON)
32
33@@ -50,6 +49,7 @@
34 set (COMPIZ_DISABLE_PLUGIN_WIDGET ON)
35 set (COMPIZ_DISABLE_PLUGIN_SHOWMOUSE ON)
36 set (COMPIZ_DISABLE_PLUGIN_SPLASH ON)
37+ set (COMPIZ_DISABLE_PLUGIN_THUMBNAIL ON)
38 set (COMPIZ_DISABLE_PLUGIN_WIZARD ON)
39
40 endif (BUILD_GLES)
41
42=== modified file 'plugins/thumbnail/src/thumbnail.cpp'
43--- plugins/thumbnail/src/thumbnail.cpp 2012-09-07 23:56:21 +0000
44+++ plugins/thumbnail/src/thumbnail.cpp 2013-01-09 10:46:24 +0000
45@@ -860,6 +860,7 @@
46 GLenum filter = gScreen->textureFilter ();
47 GLMatrix wTransform (*transform);
48
49+ glEnable (GL_BLEND);
50 glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
51
52 if (optionGetWindowLike ())
53@@ -892,6 +893,7 @@
54 }
55
56 glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
57+ glDisable (GL_BLEND);
58
59 if (t->text)
60 {

Subscribers

People subscribed via source and target branches