desktop wall edge flipping broken

Bug #771448 reported by Krister Swenson
170
This bug affects 40 people
Affects Status Importance Assigned to Milestone
Compiz
Fix Released
High
MC Return
compiz (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: unity

1. open compizconfig
2. enable "desktop wall" -> "edge flipping" -> "edge flip pointer"

see that edge flipping works very sporadically.

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: unity 3.8.10-0ubuntu2
ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
Uname: Linux 2.6.38-8-generic i686
NonfreeKernelModules: nvidia
Architecture: i386
CompizPlugins: [core,bailer,detection,composite,opengl,compiztoolbox,decor,grid,vpswitch,gnomecompat,place,imgpng,regex,snap,resize,move,mousepoll,put,session,animation,unitymtgrabhandles,expo,workarounds,wall,fade,group,ezoom,scale,unityshell,scaleaddon,switcher]
Date: Tue Apr 26 15:42:22 2011
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
InstallationMedia_: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
ProcEnviron:
 LANGUAGE=en_US:en
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature_: Ubuntu 2.6.38-8.42-generic 2.6.38.2
SourcePackage: unity
UpgradeStatus: Upgraded to natty on 2011-04-21 (4 days ago)

Related branches

Revision history for this message
Krister Swenson (thekswenson) wrote :
Revision history for this message
Krister Swenson (thekswenson) wrote :

In fact, when I restart X one time edge flipping may work well. Another time I restart X it may not work at all (or only when moving a window).

affects: unity (Ubuntu) → compiz (Ubuntu)
Revision history for this message
mitko (dimitar-asenov) wrote :

This bug also affects me ever since I upgraded to the final version of Natty. I was using 10.10 before and have not installed any alpha/beta/rc versions of 11.04 prior to upgrading to the final version.

If it makes a difference I am not using Unity since I prefer the classic look of Gnome.

Let me know if I can help resolve the sporadic edge flipping behavior as it is driving me crazy.

Revision history for this message
Stephen Belanger (cyruzdraxs) wrote :

Same here. I've found that after each flip I can't make another flip until I focus a window by clicking it's title bar.

Revision history for this message
Derek Monner (dmonner) wrote :

Since upgrading to Natty (non-unity mode), I have also experienced the problem Stephen described (can only make another edge flip after focusing a window), but I just found a work-around by accident. In the Desktop Wall plugin, Bindings tab, under Move Within Wall, I added mouse bindings for each edge + mouse button 1. These mouse bindings do not themselves work (see < a href="https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/661380">bug 661380</a>), but it had the side-effect of making edge-flip-on-pointer work without needing to focus windows between flips (assuming it is enabled on the Edge Flipping tab). No idea why it works, but it does!

Revision history for this message
multipass (jhsnowboard) wrote :

thanks Derek, that worked..

I got it working doing this:
Desktop Wall > Bindings > enable mouse move left and move right in "move within wall". Select all the edges and use Button 20 and button 19. (had issues when i used button 1)

Revision history for this message
rtjmay (rtjmay) wrote :

I've found that dragging a window across an edge to move it to the next desktop temporarily fixes the issue.

Revision history for this message
Jack Lecou (jackl) wrote :

Piling on.

I've been living with this since switching over to alpha Natty repositories several months ago. Figured it was just screwed up configuration, or would sort itself out , but recently did a clean upgrade on a second computer and am seeing exactly the same issue.

Edge flipping will work a few times (anywhere from once to a few dozen), and then stop. Extremely aggravating, since it's so random. As observed by the others, grabbing a title bar and moving a window around a little (usually) seems to reset things - temporarily. So does unchecking and rechecking the option in compizconfig, or disabling and reenabling wall. (Occasionally, it seems to develop a pattern, where particular sides are more problematic than others: for example, after "resetting" as above, doing nothing but flipping left and right will seem to work fine for some time, but not up and down - and trying to will break left/right as well. This may be my imagination though. It's hardly consistent.)

Derek's workaround seems to work (thanks Derek, big relief!).

Revision history for this message
Zygfryd de Maciejowice (sajuukk) wrote :

In my Natty this edge flipping stopped working permanently and nothing is changing. However I managed to make something provisinal, because I needed those edges badly. I apt-get installed xautomation, a program used to emulate press of keyboard keys. Then, I set two key bindings for rotate cube in Compiz: Super + Left and Super + Right. I created two launchers and put those commands in each:

xte "keydown Super_L" "key Left" "keyup Super_L"
xte "keydown Super_L" "key Right" "keyup Super_L"

Of course they should be executed as programs. After this, I put them at the ends of gnome panel. Additionally I
 drew thin icon (4x10px) so that they wouldn't use much space on the panel. They aren't as useful as edge + click, but better than nothing.

Revision history for this message
randomdude4555 (randomdude4555-deactivatedaccount) wrote :

I can confirm the issue too. Ubuntu 11.04 fresh install. Worked perfectly in 10.10.

Revision history for this message
J Rutter (gskate108) wrote :

Same bug for me ubuntu (11.04). Adding mouse button bindings as suggested by [[Derek Monner wrote on 2011-05-06:]] also fixed it for me!!

Changed in compiz (Ubuntu):
status: New → Confirmed
Revision history for this message
Jack Lecou (jackl) wrote :

Well, pointer edge flipping was working flawlessly for a while with the mouse button binding workaround, but now edge flipping is back to only working infrequently or erratically at best. A recent update seems to have hosed it.

I have two laptops suffering the problem now.

More updates/review: Toggling the edge flipping or restarting compiz no longer seem to result in a "honeymoon" period of a few viewport switches as they once seemed to. It's erratic all the way. Dragging windows also no longer helps. Drags will be block similar to cursor moves. The behavior also seems slightly different on the two laptops - one, the x300, is running unity. Edge flipping actually works fine - until compiz crashes - then, when compiz is restarted from the console, edge flipping becomes unreliable. On the x201, in normal mode, it seems to be erratic from the beginning.

All edge directions are susceptible to failure, but it seems to have particular difficulty with 'top'/'up'.

Perhaps the last indicates it is something to do with panels or other windows 'hiding' compiz' event windows? OId compiz seemed to have this down pat, but I remember keeping event windows in the right place was a nightmare on a window manager whose source code I was playing around with years ago. I do have a top panel - unity or regular - in both setups. I also feel like the unity one may have extra difficulty with 'up' AND 'left', which would fit. Or when other windows overlap the edge of the screen. (However, it is all so erratic it is hard to tell for sure.)

Altogether a major (and frustrating) regression in any case. Please let me know if there's anything I can do ot help debug or test.

Revision history for this message
Jack Lecou (jackl) wrote :

Nevermind about event windows - I hadn't realized 'desktop wall' depends on 'mouse position polling'.

It seems to be a problem with the latter then - perhaps it's not sending position events reliably?

I just tried reducing the polling interval, with no effect. But then I tried disabling polling entirely - temporarily disabling wall - and then re-enabling both. Success! Flipping is working fine again. For now, anyway.

Revision history for this message
Paddy Landau (paddy-landau) wrote :

For me, dragging windows across edges works fine.

But dragging icons (i.e. drag-and-drop, or DnD) is erratic and usually does not work.

Revision history for this message
vob (m8r-uhew7w) wrote :

with the help of previous comments i think that i found a workaround to that bug.

it seems that the default mousepoll plugin polling time of 40 ms is causing that bug.

when you set the polling time to maximum value of 500 ms (and do a compiz --replace, because it doesnt seem to change that on the fly) edge flipping works like a charm.

so, if you dont use magnifier, enhanced desktop zoom or show mouse plugin which all depend on the mousepoll plugin, you can easily set the polling time to maximum value without unwanted effects.

Revision history for this message
Paddy Landau (paddy-landau) wrote :

@vob: The workaround, alas, does not work for drag-and-drop (DnD).

Revision history for this message
rtjmay (rtjmay) wrote :

I can confirm that this issue continues to affect me on a fresh install of 11.10. Adjusting the mouse poling interval has not helped and restarting Unity only buys a minute or two of correct function before mouse edge flipping stops working again.

Revision history for this message
reagle (joseph.reagle) wrote :

Still present in updated precise 12.04 beta-2.

Revision history for this message
Andrei Shevchuk (shevchuk) wrote :

Have you tried adding mouse bindings? Here is an example for moving right: http://dl.dropbox.com/u/1401886/img/edge-flipping.png

Revision history for this message
Redge (redgetrek) wrote :

Thanks Andrei for the example. I thought I'd tried the workaround, but had forgotten to set the edges. Now it seems to work.

Revision history for this message
Donjan Rodic (bryonak) wrote :

On a fresh 12.04 install after configuring the Desktop Wall with ccsm, window moving shows erratic behaviour.
In the Edge Flipping tab, enabling Edge Flip Move and dragging windows across workspaces loses track of the windows position, "lagging" behind a random amount of pixels (somewhat correlated to the movement speed) up to a whole monitor width, which effectively loses the window and needs it to be killed.

This has also started conflicting with the Place Windows plugin, which makes the window jump around freakishly when dragging across the edge, so these two have become exclusive.

Applying the above suggestions in the Bindings tab yields no success.

Turning the Unity plugin on/off doesn't help the case either.

Increasing the mouse polling intervall renders the Enhanced Zoom Desktop unusable, but doesn't improve the situation.

With these three IMO quite essential plugins broken (the zoom has no anti-aliasing toggle anymore) Ubuntu stays way below it's potential... I for one can't make use of 12.04 (or the 11.x versions fwiw).

Revision history for this message
Donjan Rodic (bryonak) wrote :

The window moving bug has been shown more elaborately by rawdmon in comment #7 here:
https://bugs.launchpad.net/compiz/+bug/1017374

Revision history for this message
Paddy Landau (paddy-landau) wrote :

Donjan: I get exactly the same. This has been going on for some time.

Revision history for this message
Adriano Mitre (adriano-mitre) wrote :

I make mine Donjan Rodic's words "With these three IMO quite essential plugins broken (the zoom has no anti-aliasing toggle anymore) Ubuntu stays way below it's potential... I for one can't make use of 12.04 (or the 11.x versions fwiw)."

Revision history for this message
Finn Årup Nielsen (fn) wrote :

ccsm -> Desktop Wall -> Bindings -> Move left/right/up/down apparently helps

As suggested by Andrei Shevchuk (shvchk) http://dl.dropbox.com/u/1401886/img/edge-flipping.png

Revision history for this message
Paddy Landau (paddy-landau) wrote :

@Finn: This works for me, but the cursor gets lost on the move!

MC Return (mc-return)
Changed in compiz (Ubuntu):
assignee: nobody → MC Return (mc-return)
Revision history for this message
MC Return (mc-return) wrote :

I am happy to report that I got a fix for it.

Changed in compiz (Ubuntu):
status: Confirmed → In Progress
Changed in compiz:
assignee: nobody → MC Return (mc-return)
status: New → In Progress
Revision history for this message
Donjan Rodic (bryonak) wrote :

I am happy to confirm that https://code.launchpad.net/~mc-return/compiz/compiz.merge-fix771448-desktop-wall-edge-flipping-broken works nicely with window, pointer and drag&drop edge flipping. Ubuntu 13.04, Intel HD4000 with standard drivers + SNA accel, most other things default/repo.

For those who want to reproduce it:
  bzr branch lp:~mc-return/compiz/compiz.merge-fix771448-desktop-wall-edge-flipping-broken
Drop 'cmake_minimum_required(VERSION 2.6)' into CMakeLists.txt (not VERSION 2.8, as this has scope conflicts).
Copy FindCompiz.cmake and FindCompizConfig.cmake to your /usr/share/cmake-2.8/Modules/ directory. The first is found in the cmake subdir of the branch, the second I had to google for (maybe it's there, I didn't find it).
  mkdir compiz...(tab)/build
  cd compiz.../build
  cmake ../ -DCMAKE_INSTALL_PREFIX=/opt/compiz
  make -j6
  sudo make install
  LD_LIBRARY_PATH=/opt/compiz/lib /opt/compiz/bin/compiz --replace

It may or may not flatline your compiz config, so it's best to have ccsm already open besides the terminal and turn on Composite, Decorations etc.
You can of course use /usr/lib as prefix (after testing in opt), I wouldn't. For one, after fiddling around with ccsm (turning many plugins on and then off), all applications started fullscreen and couldn't be dragged by the titlebar... not sure if that would be a reportable (reproducible) bug though.

Revision history for this message
Donjan Rodic (bryonak) wrote :

Make that
  LD_LIBRARY_PATH=/opt/compiz/lib /opt/compiz/bin/compiz --replace ccp
in the last line of the cli instructions. My bad :)

Revision history for this message
Donjan Rodic (bryonak) wrote :

Oh, and of course 'aptitude build-dep compiz' ... I'll stop the spam for now, probably missing something obvious again anyway.

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

@bryonak:
Sam now implemented a improved version and solution, which will soon land in trunk.

If you are interested in testing it:
https://code.launchpad.net/~smspillaz/compiz/compiz.merge-fix771448-desktop-wall-edge-flipping-broken.wall_edge_flip_logic/+merge/161279

;)

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

@bryonak:
In fact it would be really helpful if you *would* test it ;)

Revision history for this message
Donjan Rodic (bryonak) wrote :

@MC Return:
Sadly, this one doesn't work well. Window move and pointer flipping work flawlessly, but d&d has some issues. Moreover, after trying to d&d, the other two stop working. Here's a video of it: http://caleo.dyx.ch/stuff/.compiz/flipping.mp4

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

@bryonak: Thanks a lot for helping with this. :)

Urgh, the video does not look nice... :(
I'll report it to Sam for now - let us see what idea he has regarding that...

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:compiz at revision None, scheduled for release in compiz, milestone 0.9.10.0

Changed in compiz:
status: In Progress → Fix Committed
Revision history for this message
FaberfoX (faberfox) wrote :

For those looking for a temporary fix until 0.9.10 hits main, this is what I had to do:

Enable the compiz-dev ppa:
sudo apt-add-repository ppa:smspillaz/compiz-dev

Pin this ppa at a higher priority, as packages are not tagged properly and won't upgrade existing ones otherwise:
Create file: /etc/apt/preferences.d/smspillaz-compiz-dev.conf with this content:
Package: *
Pin: release o=LP-PPA-smspillaz-compiz-dev
Pin-Priority: 950

I messed a lot before figuring the pinning out, so maybe you won't need to, but I had to apt-get purge all previous compiz packages before reinstalling, trying to upgrade caused breaks. Remember to make a backup of your preferences before purging!

Revision history for this message
FaberfoX (faberfox) wrote :

On my previous comment, the file should be named /etc/apt/preferences.d/smspillaz-compiz-dev.pref instead of .conf

MC Return (mc-return)
Changed in compiz (Ubuntu):
assignee: MC Return (mc-return) → nobody
status: In Progress → Confirmed
MC Return (mc-return)
Changed in compiz:
importance: Undecided → High
milestone: none → 0.9.10.0
Stephen M. Webb (bregma)
Changed in compiz:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (70.8 KiB)

This bug was fixed in the package compiz - 1:0.9.10+13.10.20130822-0ubuntu1

---------------
compiz (1:0.9.10+13.10.20130822-0ubuntu1) saucy; urgency=low

  [ Sam Spilsbury ]
  * Bump version to 0.9.10

  [ Łukasz 'sil2100' Zemczak ]
  * Remove debian/patches/unity_support_test.patch:
    - Running the support test from compiz has bad side effects, from now
      on we run it from Xsession.d
  * Automatic snapshot from revision 3644

  [ Iven Hsu ]
  * Opacify: Only dim the windows above the active window.(LP:
    #1189374). (LP: #1189374)
  * KWD: Fix compile errors with KDE 4.11. The KWin developers made
    kdecorationbridge.h private. See:
    http://lists.freedesktop.org/archives/compiz/2013-March/003479.html
    (LP: #1193792). (LP: #1193792)

  [ Nikolay Martynov ]
  * When static switcher is enabled and has an option to show
    application icon turned on the icons are expected to be ~1/3 of a
    thumbnail (48px). Instead they are displayed in 512px size and
    completely cover everything. This change addresses this issue. See
    LP #1173914. (LP: #1173914, #1186426)

  [ BryanFRitt ]
  * Fixed the non-working Annotate 'Clear' Button. Moved this option's
    CCSM position upwards to keep the button shortcuts together. (LP:
    #1202907). (LP: #1202907)

  [ Mehrdad Afshari ]
  * Added "move window to previous monitor" feature to compiz Put
    plugin. (LP: #1178581)

  [ Hu Kang ]
  * gtk-window-decorator: destroy action menu when any of the (close,
    min, max) buttons on the title bar is pressed. (LP: #1101648)
  * Remove redundant src/logmessage/include/core/logmessage.h (LP:
    #1067246). (LP: #1067246)

  [ Steve Langasek ]
  * Fix for bug #763148 (with added test cases): when the desktop is
    resized, windows should stay on their original workspace. (LP:
    #763148)

  [ Brandon Schaefer ]
  * Unrevert 3728, fix failing tests. Change the behaviour of
    undecorating windows. Previously when a window was undecorated, we
    would shift it back to an appropriate position according to its
    gravity member. That behaviour was problematic because in the
    StaticGravity case the window has to just stay in the same place.
    But then if you had a window with StaticGravity which then did get a
    decoration and later removed it, it would be placed as though it was
    decorated and appear to be in the wrong place. The correct behaviour
    is to place all windows as though they have decorations, and then
    when decorations are removed, to move the window back to the corner
    as indicated in its gravity and then expand its size to cover the
    obscured regions no longer hidden because the decorations went away.
    (LP: #1165343).   1. Completely remove decorOffsetMove and other
    related code from      decor.cpp. Put the logic to handle the
    window->input () - window->border ()      placement offset inside of
    setWindowFrameExtents instead. Now the window      will always be
    offset from its original non-decorated position to the new
         decorated position, rather than having to guess between
    decoration sizes.   2. Make saveGeometry and restoreGeometry work
    relative to window->border ()      a...

Changed in compiz (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
bowser (bwbernard-wong1) wrote :

Hi,

It says fix has been released but it appears to be still broken in Ubuntu 13.04 64 bits
Compiz version 1:0.9.10+13.10.20131011-0ubuntu1

Revision history for this message
Timo Palomaa (timppis) wrote :

#39: Works here, but I do have 13.10. Same Compiz though (1:0.9.10+13.10.20131011-0ubuntu1).

Revision history for this message
bowser (bwbernard-wong1) wrote :

#40

Oops, that was a typo, I meant 13.10. It sort of work sparodically. Sometimes it stops working after reboot.

Revision history for this message
bowser (bwbernard-wong1) wrote :

I should add that it works perfectly with 13.04 with this ppa https://launchpad.net/~smspillaz/+archive/compiz-experimental
But it breaks Unity in saucy.

Revision history for this message
Paddy Landau (paddy-landau) wrote :

I also find that it is sporadic, working only occasionally, usually only in one direction (from right to left). I'm using 12.04 64-bit.

Revision history for this message
bowser (bwbernard-wong1) wrote :

Hi, Paddy Landau,

I am able to get it working conistently finally with help from Ubuntu forums

Open ccsm, go to Preferences > Plugin list and uncheck the box "Automatic Plugin Sorting", on the right panel "Enabled Plugins", move "wall" to the bottom of the list (or close to the bottom) and then restart Ubuntu. It has been working consistently ever since.

This works in Ubuntu 13.10 64 bit. I think it would work in 12.04 as well . For 12.04, I used to go to gconf-editor and go to apps > compiz-1 > general > screen0 > options and edited the list and put wall at the bottom or close to it. This was working consistently in 12.04 but doesn't work for 13.10 any more (and the list is located at a different place in gconf-editor)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.