Compiz is moving windows against my will
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
Fix Released
|
High
|
Rock | ||
Compiz Core |
Fix Released
|
High
|
Rock | ||
compiz (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Precise |
Fix Released
|
Medium
|
Omer Akram |
Bug Description
[Impact]
Regression in window handling when using Gnome Classic.
[Test case]
1. (multi-monitor) Place a window between first and second monitor. The window should not be forced back.
2. Place a window half-off the bottom of the screen. The window should not snap back up and there should always be a way to detach it from the bottom of the screen.
[Regression potential]
Window placement in general, should be tested by manual/checkbox tests. The same commit has been well tested in Ubuntu 12.10.
-- original bug report --
My screen is Nvidia Twinview setup and I'm using Gnome Classic with Compiz.
I have found that since updating to 12.04 windows have two detrimental regressions.
1. If I place a window between the first and second monitor (so it overlaps both), the window is forced back over. I can understand this for off-screen windows but between-monitors is silly. And there should be an option for turning this off if there isn't one already.
2. If I place a window half-off the bottom of the screen, all hell breaks loose. Firstly it snaps back up so it's all on the screen (makes sense if you like that sort of thing), but after that, there's no way to detach it from the bottom of the screen. As soon as you do (and then click anywhere) it snaps back down so the bottom of the window is back at the bottom of the screen.
The same is true with the top (if you move a window too high up (say holding alt and left-click-dragging the bottom up). I've found no way to work around this other than to close the window and start again, or restart compiz.
The first is a dual-screen issue, the second might affect everybody; but they definitely seem related.
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: compiz 1:0.9.7.4-0ubuntu1
ProcVersionSign
Uname: Linux 3.2.0-21-generic x86_64
NonfreeKernelMo
.proc.driver.
.proc.driver.
.tmp.unity.
ApportVersion: 2.0-0ubuntu4
Architecture: amd64
CompizPlugins: [core,composite
CompositorRunning: compiz
Date: Thu Apr 5 13:26:27 2012
DistUpgraded: 2012-04-03 15:47:41,715 DEBUG enabling apt cron job
DistroCodename: precise
DistroVariant: ubuntu
GraphicsCard: NVIDIA Corporation GF110 [GeForce GTX 580] [10de:1080] (rev a1) (prog-if 00 [VGA controller])
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
MachineType: Gigabyte Technology Co., Ltd. X58A-UD7
PackageArchitec
ProcKernelCmdLine: BOOT_IMAGE=
SourcePackage: compiz
UpgradeStatus: Upgraded to precise on 2012-04-03 (1 days ago)
dmi.bios.date: 08/24/2010
dmi.bios.vendor: Award Software International, Inc.
dmi.bios.version: F7
dmi.board.name: X58A-UD7
dmi.board.vendor: Gigabyte Technology Co., Ltd.
dmi.board.version: x.x
dmi.chassis.type: 3
dmi.chassis.vendor: Gigabyte Technology Co., Ltd.
dmi.modalias: dmi:bvnAwardSof
dmi.product.name: X58A-UD7
dmi.sys.vendor: Gigabyte Technology Co., Ltd.
version.compiz: compiz 1:0.9.7.4-0ubuntu1
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.32-1ubuntu1
version.
version.
version.
version.
version.
version.
version.
version.
version.
Related branches
- Daniel van Vugt: Approve
- Francis Ginther: Abstain
- Sam Spilsbury: Needs Fixing
-
Diff: 25 lines (+9/-6)1 file modifiedplugins/place/src/place.cpp (+9/-6)
- 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)
description: | updated |
Changed in compiz-core: | |
status: | New → Confirmed |
milestone: | none → 0.9.8.0 |
Changed in compiz: | |
status: | New → Confirmed |
Changed in compiz: | |
milestone: | none → 0.9.8.0 |
Changed in compiz-core: | |
milestone: | 0.9.8.0 → none |
summary: |
- Compiz edge detection code is moving windows against my will + Compiz is moving windows against my will |
Changed in compiz: | |
importance: | Undecided → High |
Changed in compiz: | |
assignee: | nobody → Compiz Maintainers (compiz-team) |
Changed in compiz: | |
assignee: | Compiz Maintainers (compiz-team) → Oli (oli) |
status: | Confirmed → In Progress |
assignee: | Oli (oli) → Rock (rockbuntu) |
Changed in compiz: | |
milestone: | 0.9.8.0 → 0.9.8.1 |
Changed in compiz: | |
status: | In Progress → Fix Committed |
Changed in compiz: | |
status: | Fix Committed → Fix Released |
Changed in compiz-core: | |
milestone: | none → 0.9.7.10 |
status: | Confirmed → Triaged |
importance: | Undecided → High |
Changed in compiz (Ubuntu): | |
status: | Confirmed → Triaged |
milestone: | none → ubuntu-12.10-beta-2 |
description: | updated |
Changed in compiz-core: | |
status: | Fix Committed → Fix Released |
Status changed to 'Confirmed' because the bug affects multiple users.