"Unredirect Fullscreen Windows" stay on top (unredirected) even when they're not on top any more (or the output is transformed)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
Fix Released
|
High
|
Daniel van Vugt | ||
Compiz Core |
Fix Released
|
Medium
|
Daniel van Vugt | ||
compiz (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Precise |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Test Case]
1. Open Chrome/Chromium and go full screen.
2. Right click on the web page.
-> Context menu visible
(More test cases in the original description below)
[Regression Potential]
Problems with unredirected fullscreen windows.
Original description:
Using Unredirect Fullscreen Windows mostly seems to work for me. However sometimes I find that opening a transient window above the unredirected fullscreen window fails:
Testcase A:
1. Open Chrome/Chromium and go full screen.
2. Right click on the web page.
Expected: Context menu visible
Observed: No context menu visible (yet my debug output tells me that compiz knows the fullscreen window is no longer on top and should be redirected).
Testcase B:
1. Open a video on mplayer
2. Hit F to go fullscreen.
3. Hit Alt+Space to open the window menu
Expected: the window menu should open in the top-left corner of the screen
Observed: No window menu opens (yet my debug output tells me that compiz knows the fullscreen window is no longer on top and should be redirected).
Testcase C:
1. Start playing a video full screen.
2. Trigger expo mode.
3. Leave expo mode (return to the full screen video)
4. Trigger expo mode.
Expected: Expo mode works each time it's triggered
Observed: Expo mode is not visible the second time. The unredirected fullscreen window stays on top.
Related branches
- Sam Spilsbury: Approve
- jenkins (community): Approve (continuous-integration)
-
Diff: 93 lines (+78/-0)2 files modifiedplugins/opengl/src/paint.cpp (+17/-0)
tests/manual/Unredirect.txt (+61/-0)
- Ubuntu branches: Pending requested
-
Diff: 18751 lines (+12055/-2496)268 files modifiedAUTHORS (+36/-16)
CMakeLists.txt (+0/-6)
NEWS (+57/-0)
VERSION (+1/-1)
cmake/CompizCommon.cmake (+1/-1)
cmake/CompizGSettings.cmake (+8/-2)
cmake/CompizPlugin.cmake (+0/-3)
cmake/FindCompiz.cmake (+1/-4)
compizconfig/ccsm/CMakeLists.txt (+8/-10)
compizconfig/ccsm/VERSION (+0/-1)
compizconfig/ccsm/ccm/Widgets.py (+1/-1)
compizconfig/ccsm/setup.py (+31/-8)
compizconfig/cmake/exec_setup_py_with_destdir.cmake (+2/-1)
compizconfig/compizconfig-python/CMakeLists.txt (+14/-17)
compizconfig/compizconfig-python/VERSION (+0/-1)
compizconfig/compizconfig-python/compizconfig-python.pc.in (+1/-1)
compizconfig/compizconfig-python/setup.py (+29/-11)
compizconfig/compizconfig-python/src/compizconfig.pyx (+0/-30)
compizconfig/gconf/VERSION (+0/-1)
compizconfig/gsettings/VERSION (+0/-1)
compizconfig/integration/gnome/gsettings/org.compiz.integrated.gschema.xml (+11/-11)
compizconfig/integration/gnome/include/ccs_gnome_integration_constants.h (+1/-1)
compizconfig/libcompizconfig/CMakeLists.txt (+4/-11)
compizconfig/libcompizconfig/VERSION (+0/-1)
compizconfig/libcompizconfig/cmake/FindCompizConfig.cmake (+1/-1)
compizconfig/libcompizconfig/include/CMakeLists.txt (+1/-0)
compizconfig/libcompizconfig/src/CMakeLists.txt (+10/-1)
compizconfig/libcompizconfig/src/ccs_settings_upgrade_internal.c (+168/-0)
compizconfig/libcompizconfig/src/ccs_settings_upgrade_internal.h (+41/-0)
compizconfig/libcompizconfig/src/main.c (+184/-163)
compizconfig/libcompizconfig/tests/CMakeLists.txt (+13/-0)
compizconfig/libcompizconfig/tests/compizconfig_test_ccs_settings_upgrade_internal.cpp (+70/-0)
debian/changelog (+62/-3)
debian/compiz-dev.install (+9/-1)
debian/compiz-gnome.migrations (+1/-0)
debian/patches/100_expo_layout.patch (+2903/-0)
debian/patches/series (+1/-0)
gtk/gnome/50-compiz-launchers.xml.in (+1/-1)
gtk/window-decorator/CMakeLists.txt (+89/-20)
gtk/window-decorator/blurprops.c (+5/-2)
gtk/window-decorator/cairo.c (+2/-2)
gtk/window-decorator/decorator.c (+17/-33)
gtk/window-decorator/events.c (+23/-10)
gtk/window-decorator/frames.c (+6/-5)
gtk/window-decorator/gtk-window-decorator.c (+67/-120)
gtk/window-decorator/gtk-window-decorator.h (+35/-78)
gtk/window-decorator/gwd-settings-interface.c (+181/-0)
gtk/window-decorator/gwd-settings-interface.h (+103/-0)
gtk/window-decorator/gwd-settings-notified-interface.c (+56/-0)
gtk/window-decorator/gwd-settings-notified-interface.h (+64/-0)
gtk/window-decorator/gwd-settings-notified.c (+283/-0)
gtk/window-decorator/gwd-settings-notified.h (+38/-0)
gtk/window-decorator/gwd-settings-storage-gconf.c (+425/-0)
gtk/window-decorator/gwd-settings-storage-gconf.h (+56/-0)
gtk/window-decorator/gwd-settings-storage-gsettings.c (+567/-0)
gtk/window-decorator/gwd-settings-storage-gsettings.h (+85/-0)
gtk/window-decorator/gwd-settings-storage-interface.c (+82/-0)
gtk/window-decorator/gwd-settings-storage-interface.h (+67/-0)
gtk/window-decorator/gwd-settings-writable-interface.c (+153/-0)
gtk/window-decorator/gwd-settings-writable-interface.h (+150/-0)
gtk/window-decorator/gwd-settings-xproperty-interface.c (+35/-0)
gtk/window-decorator/gwd-settings-xproperty-interface.h (+52/-0)
gtk/window-decorator/gwd-settings-xproperty-storage.c (+296/-0)
gtk/window-decorator/gwd-settings-xproperty-storage.h (+42/-0)
gtk/window-decorator/gwd-settings.c (+934/-0)
gtk/window-decorator/gwd-settings.h (+40/-0)
gtk/window-decorator/metacity.c (+59/-39)
gtk/window-decorator/org.compiz.gwd.gschema.xml (+47/-0)
gtk/window-decorator/settings.c (+76/-631)
gtk/window-decorator/tests/CMakeLists.txt (+114/-0)
gtk/window-decorator/tests/compiz_gwd_mock_settings.cpp (+205/-0)
gtk/window-decorator/tests/compiz_gwd_mock_settings.h (+86/-0)
gtk/window-decorator/tests/compiz_gwd_mock_settings_notified.cpp (+192/-0)
gtk/window-decorator/tests/compiz_gwd_mock_settings_notified.h (+71/-0)
gtk/window-decorator/tests/compiz_gwd_mock_settings_storage.cpp (+211/-0)
gtk/window-decorator/tests/compiz_gwd_mock_settings_storage.h (+80/-0)
gtk/window-decorator/tests/compiz_gwd_mock_settings_writable.cpp (+296/-0)
gtk/window-decorator/tests/compiz_gwd_mock_settings_writable.h (+108/-0)
gtk/window-decorator/tests/compiz_gwd_tests.h.in (+31/-0)
gtk/window-decorator/tests/org.gnome.desktop.wm.preferences.gschema.xml (+72/-0)
gtk/window-decorator/tests/org.gnome.mutter.gschema.xml (+18/-0)
gtk/window-decorator/tests/test_gwd_settings.cpp (+1653/-0)
gtk/window-decorator/wnck.c (+4/-1)
include/core/CMakeLists.txt (+0/-1)
include/core/screen.h (+9/-9)
include/core/serialization.h (+0/-158)
include/decoration.h (+4/-0)
kde/window-decorator-kde4/CMakeLists.txt (+6/-3)
kde/window-decorator-kde4/decorator.cpp (+11/-4)
kde/window-decorator-kde4/decorator.h (+5/-5)
kde/window-decorator-kde4/main.cpp (+1/-1)
kde/window-decorator-kde4/window.cpp (+66/-0)
kde/window-decorator-kde4/window.h (+13/-0)
libdecoration/decoration.c (+12/-1)
plugins/addhelper/VERSION (+0/-1)
plugins/addhelper/src/addhelper.cpp (+0/-23)
plugins/addhelper/src/addhelper.h (+0/-23)
plugins/animation/VERSION (+0/-1)
plugins/animation/animation.xml.in (+2/-2)
plugins/animation/include/animation/animation.h (+4/-3)
plugins/animation/include/animation/animeffect.h (+1/-1)
plugins/animation/src/animation.cpp (+27/-19)
plugins/animation/src/grid.cpp (+8/-11)
plugins/animation/src/options.cpp (+11/-4)
plugins/animation/src/private.h (+1/-1)
plugins/animationaddon/VERSION (+0/-1)
plugins/animationaddon/src/animationaddon.cpp (+3/-0)
plugins/animationaddon/src/polygon.cpp (+2/-2)
plugins/animationaddon/src/private.h (+1/-1)
plugins/annotate/src/annotate.cpp (+1/-15)
plugins/annotate/src/annotate.h (+1/-18)
plugins/bench/VERSION (+0/-1)
plugins/bench/src/bench.cpp (+2/-12)
plugins/bench/src/bench.h (+0/-2)
plugins/bicubic/VERSION (+0/-1)
plugins/blur/src/blur.cpp (+7/-1)
plugins/blur/src/blur.h (+4/-4)
plugins/ccp/src/ccp.cpp (+2/-2)
plugins/colorfilter/VERSION (+0/-1)
plugins/colorfilter/src/colorfilter.cpp (+0/-10)
plugins/colorfilter/src/colorfilter.h (+0/-20)
plugins/commands/commands.xml.in (+63/-63)
plugins/compiztoolbox/CMakeLists.txt (+1/-1)
plugins/compiztoolbox/include/compiztoolbox/compiztoolbox.h (+2/-2)
plugins/compiztoolbox/src/compiztoolbox.cpp (+3/-0)
plugins/copytex/src/copytex.cpp (+3/-0)
plugins/copytex/src/copytex.h (+2/-2)
plugins/crashhandler/VERSION (+0/-1)
plugins/cubeaddon/VERSION (+0/-1)
plugins/cubeaddon/src/cubeaddon.cpp (+10/-0)
plugins/cubeaddon/src/cubeaddon.h (+9/-9)
plugins/dbus/src/dbus.h (+4/-4)
plugins/decor/src/decor.h (+3/-3)
plugins/expo/VERSION (+0/-1)
plugins/expo/src/expo.cpp (+1/-1)
plugins/extrawm/VERSION (+0/-1)
plugins/ezoom/VERSION (+0/-1)
plugins/ezoom/src/ezoom.cpp (+0/-29)
plugins/ezoom/src/ezoom.h (+0/-32)
plugins/fadedesktop/VERSION (+0/-1)
plugins/firepaint/VERSION (+0/-1)
plugins/firepaint/src/firepaint.cpp (+2/-43)
plugins/firepaint/src/firepaint.h (+1/-67)
plugins/gears/VERSION (+0/-1)
plugins/grid/VERSION (+0/-1)
plugins/grid/src/grid.h (+1/-1)
plugins/group/VERSION (+0/-1)
plugins/group/src/glow.cpp (+10/-0)
plugins/group/src/glow.h (+9/-9)
plugins/group/src/group.cpp (+3/-1)
plugins/group/src/group.h (+2/-25)
plugins/group/src/init.cpp (+0/-71)
plugins/group/src/tab.cpp (+1/-1)
plugins/imgjpeg/VERSION (+0/-1)
plugins/imgpng/src/imgpng.cpp (+2/-0)
plugins/imgpng/src/imgpng.h (+1/-1)
plugins/imgsvg/CMakeLists.txt (+1/-1)
plugins/kdecompat/VERSION (+0/-1)
plugins/loginout/VERSION (+0/-1)
plugins/mag/VERSION (+0/-1)
plugins/mag/src/mag.cpp (+0/-16)
plugins/mag/src/mag.h (+0/-14)
plugins/maximumize/VERSION (+0/-1)
plugins/maximumize/src/maximumize.cpp (+4/-0)
plugins/maximumize/src/maximumize.h (+3/-3)
plugins/mblur/VERSION (+0/-1)
plugins/mblur/src/mblur.cpp (+0/-10)
plugins/mblur/src/mblur.h (+0/-10)
plugins/mousepoll/VERSION (+0/-1)
plugins/mousepoll/src/mousepoll.cpp (+3/-0)
plugins/mousepoll/src/private.h (+2/-2)
plugins/move/src/move.cpp (+5/-0)
plugins/move/src/move.h (+3/-3)
plugins/neg/VERSION (+0/-1)
plugins/neg/src/neg.cpp (+0/-16)
plugins/neg/src/neg.h (+0/-11)
plugins/notification/src/notification.cpp (+3/-1)
plugins/notification/src/notification.h (+1/-1)
plugins/obs/src/obs.cpp (+4/-13)
plugins/obs/src/obs.h (+5/-15)
plugins/opacify/VERSION (+0/-1)
plugins/opacify/src/opacify.cpp (+2/-12)
plugins/opacify/src/opacify.h (+1/-12)
plugins/opengl/CMakeLists.txt (+6/-3)
plugins/opengl/DRIVERS (+54/-0)
plugins/opengl/include/opengl/opengl.h (+7/-7)
plugins/opengl/src/fsregion/CMakeLists.txt (+7/-0)
plugins/opengl/src/fsregion/fsregion.cpp (+54/-0)
plugins/opengl/src/fsregion/fsregion.h (+57/-0)
plugins/opengl/src/fsregion/tests/CMakeLists.txt (+10/-0)
plugins/opengl/src/fsregion/tests/test-fsregion.cpp (+140/-0)
plugins/opengl/src/opengl.cpp (+10/-0)
plugins/opengl/src/paint.cpp (+46/-23)
plugins/opengl/src/programcache.cpp (+2/-2)
plugins/opengl/src/vertexbuffer.cpp (+2/-2)
plugins/place/src/place.cpp (+12/-9)
plugins/place/src/smart/src/smart.cpp (+3/-3)
plugins/put/VERSION (+0/-1)
plugins/put/src/put.cpp (+4/-4)
plugins/reflex/VERSION (+0/-1)
plugins/resize/src/logic/include/resize-defs.h (+2/-2)
plugins/resize/src/logic/src/resize-logic.cpp (+7/-4)
plugins/resize/src/logic/tests/test-logic.cpp (+52/-0)
plugins/resizeinfo/VERSION (+0/-1)
plugins/resizeinfo/src/resizeinfo.cpp (+5/-0)
plugins/resizeinfo/src/resizeinfo.h (+3/-3)
plugins/ring/VERSION (+0/-1)
plugins/ring/src/ring.cpp (+4/-0)
plugins/ring/src/ring.h (+2/-2)
plugins/rotate/src/rotate.cpp (+1/-1)
plugins/scaleaddon/VERSION (+0/-1)
plugins/scaleaddon/src/scaleaddon.cpp (+1/-1)
plugins/scalefilter/VERSION (+0/-1)
plugins/session/VERSION (+0/-1)
plugins/shelf/VERSION (+0/-1)
plugins/shelf/src/shelf.cpp (+2/-0)
plugins/shelf/src/shelf.h (+1/-1)
plugins/shift/VERSION (+0/-1)
plugins/shift/src/shift.cpp (+2/-0)
plugins/shift/src/shift.h (+1/-1)
plugins/showdesktop/VERSION (+0/-1)
plugins/showdesktop/src/showdesktop.cpp (+5/-0)
plugins/showdesktop/src/showdesktop.h (+4/-4)
plugins/showmouse/VERSION (+0/-1)
plugins/showmouse/src/showmouse.cpp (+0/-40)
plugins/showmouse/src/showmouse.h (+0/-51)
plugins/showrepaint/VERSION (+0/-1)
plugins/showrepaint/src/showrepaint.cpp (+0/-8)
plugins/showrepaint/src/showrepaint.h (+0/-12)
plugins/snap/VERSION (+0/-1)
plugins/splash/VERSION (+0/-1)
plugins/splash/src/splash.cpp (+3/-0)
plugins/splash/src/splash.h (+2/-2)
plugins/stackswitch/VERSION (+0/-1)
plugins/staticswitcher/VERSION (+0/-1)
plugins/staticswitcher/src/staticswitcher.cpp (+3/-0)
plugins/staticswitcher/src/staticswitcher.h (+2/-2)
plugins/switcher/src/switcher.cpp (+6/-0)
plugins/switcher/src/switcher.h (+4/-4)
plugins/td/VERSION (+0/-1)
plugins/td/src/3d.cpp (+2/-0)
plugins/td/src/3d.h (+1/-1)
plugins/text/VERSION (+0/-1)
plugins/text/src/text.cpp (+1/-1)
plugins/thumbnail/VERSION (+0/-1)
plugins/thumbnail/src/thumbnail.cpp (+2/-0)
plugins/thumbnail/src/thumbnail.h (+1/-1)
plugins/titleinfo/VERSION (+0/-1)
plugins/trailfocus/VERSION (+0/-1)
plugins/trip/VERSION (+0/-1)
plugins/vpswitch/VERSION (+0/-1)
plugins/wall/VERSION (+0/-1)
plugins/wall/src/wall.cpp (+4/-4)
plugins/wallpaper/VERSION (+0/-1)
plugins/water/src/water.cpp (+5/-1)
plugins/water/src/water.h (+2/-2)
plugins/widget/VERSION (+0/-1)
plugins/winrules/VERSION (+0/-1)
plugins/wobbly/src/wobbly.h (+1/-1)
plugins/workarounds/VERSION (+0/-1)
postinst/convert-files/compiz-profile-Default.convert (+0/-60)
postinst/convert-files/compiz-profile-active-Default.convert (+0/-60)
postinst/convert-files/compiz-profile-independent-keys.convert (+59/-0)
postinst/migration-scripts/03_migrate_profile_independent.py (+44/-0)
src/event.cpp (+3/-3)
src/screen.cpp (+5/-5)
src/timer/src/timer.cpp (+1/-1)
tests/manual/Unredirect.txt (+77/-0)
- Daniel van Vugt: Approve
- Sam Spilsbury: Approve
-
Diff: 579 lines (+445/-18)8 files modifiedplugins/opengl/CMakeLists.txt (+4/-2)
plugins/opengl/src/fsregion/CMakeLists.txt (+7/-0)
plugins/opengl/src/fsregion/fsregion.cpp (+64/-0)
plugins/opengl/src/fsregion/fsregion.h (+58/-0)
plugins/opengl/src/fsregion/tests/CMakeLists.txt (+10/-0)
plugins/opengl/src/fsregion/tests/test-fsregion.cpp (+160/-0)
plugins/opengl/src/paint.cpp (+45/-16)
tests/manual/Unredirect.txt (+97/-0)
tags: | added: unredirect |
summary: |
- Transient windows above "Unredirect Fullscreen Windows" are often - invisible, not painted + "Unredirect Fullscreen Windows" stay on top even when they're not on top + any more (or the output is transformed) |
description: | updated |
summary: |
- "Unredirect Fullscreen Windows" stay on top even when they're not on top - any more (or the output is transformed) + "Unredirect Fullscreen Windows" stay on top (unredirected) even when + they're not on top any more (or the output is transformed) |
Changed in compiz: | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
Changed in compiz: | |
status: | Triaged → In Progress |
importance: | Medium → High |
Changed in compiz: | |
status: | In Progress → Fix Committed |
Changed in compiz: | |
status: | Fix Committed → Fix Released |
Changed in compiz (Ubuntu): | |
status: | New → Triaged |
Changed in compiz-core: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → 0.9.7.10 |
importance: | High → Medium |
Changed in compiz-core: | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
status: | Triaged → In Progress |
Changed in compiz-core: | |
status: | In Progress → Fix Committed |
Changed in compiz-core: | |
status: | Fix Committed → Fix Released |
description: | updated |
Fix committed into lp:compiz at revision 3340