Patches For Compiz/Beryl Compatibility

Bug #63208 reported by Jason Smith
62
Affects Status Importance Assigned to Milestone
libwnck
Expired
Medium
libwnck (Ubuntu)
Invalid
Wishlist
Ubuntu Desktop Bugs

Bug Description

Compiz/Beryl both need a patched libwnck to have a proper context menu. These patches to add always on current viewport, move to current viewport, setting the appearance of a window and moving the window. Without them several features of compiz/beryl are not accessable. On a side note, these patches (except the appearance patch) are currently in the suse libwnck.

The patches can be found here: http://www.compiz.info/patches/libwnck/

Changed in libwnck:
assignee: nobody → desktop-bugs
importance: Undecided → Wishlist
status: Unconfirmed → Confirmed
Jason Smith (jassmith)
description: updated
description: updated
description: updated
Revision history for this message
Sebastien Bacher (seb128) wrote :

The patches are not trivial, could anybody working with them could provide some description of why they are required, what the changes achieve, etc?

Revision history for this message
Jason Smith (jassmith) wrote :

The above patch fixes the above checkbox to work with compiz... from within the patch itself:
"There's no _NET_WM_ACTION_ABOVE hint so always add it if window manager claims to support_NET_WM_STATE_ABOVE"

The viewport patch gives libwnck support for viewports which are used by compiz/beryl instead of workspaces, this is an fdo standard. So, we need to add viewports support to libwnck to replace workspaces if we use compiz/beryl. If not, there is no possibility/entry in the menu to change viewport/workspace.

The move patch is needed to have the viewport support patch, they work together.

The apperance patch is only for eyecandy, it adds an apperance entry in the menu that lets the users choose the opacity/britghness/saturation of the window, as well as providing a simple way to reset all those values.

The french patch simply updates the french translation (one of the patch authors was french). This probably could have its own ticket.

Changed in libwnck:
status: Unknown → Confirmed
Revision history for this message
Daniel Holbach (dholbach) wrote :

My personal opinion in this matter (as I told you on IRC too): it's better to get these changes upstream first.

The rationale is very simple: you add API, enums and structs, you change API severely, which is generally just fine. But what if upstream decides to implement this differently? We can't just drop the patches then, because we would have to change the soname - if SuSE has the patches or not, I think this operation is a bit too risky to do over upstream's agreement.

Revision history for this message
Sebastien Bacher (seb128) wrote :

The feisty package ships one of those patches now:

 libwnck (2.17.92-0ubuntu2) feisty; urgency=low
 .
   * debian/patches/80_from_bugzilla_add_action_above.patch:
     - patch from http://bugzilla.gnome.org/show_bug.cgi?id=352383,
       useful for compiz (Ubuntu: #63208)

Revision history for this message
garyjefferson (garyjefferson123) wrote :

version 2.18.0-0ubuntu1 is still broken; it does not understand virtual workspaces correctly and does not allow windows to be selected as "Always on Visible Viewport," "Move to Another Viewport," etc when run with beryl/compiz. Downgrade to 2.16.1-0ubuntu1.1 (from edgy) solves this problem for now, but it would be nice if the appropriate patches were in the most current feisty version.

Revision history for this message
Christian Holtje (docwhat) wrote : Workaround for Feisty

Here is a workaround for Feisty:
http://ubuntuforums.org/showthread.php?t=427602

It sucks, but there you go.

Ciao!

Revision history for this message
Sebastien Bacher (seb128) wrote :

Note that if you use non official packages you will get a new set of bugs, you will not get official support so don't open new bugs in launchpad and it might break upgrades to the next version of Ubuntu

Revision history for this message
garyjefferson (garyjefferson123) wrote :

The workaround posted by Christian Holtje is the one I am using, and Sebastian Bacher is right -- it sucks for many reasons, but its better than having a non-functioning desktop. So I'm stuck with it until libwnck packages are fixed in feisty (which I'm hoping is sooner rather than later -- pushing the patches upstream is the right thing, but giving users broken [=nonpatched] packages is not a good solution either).

Revision history for this message
Sebastien Bacher (seb128) wrote :

the Ubuntu desktop is functioning correctly, you decided to install a window manager that requires non supported workarounds which creates your need

Revision history for this message
garyjefferson (garyjefferson123) wrote :

Sebastien, I understand what you are saying re: Compiz/Beryl not being supported. But, I think that's a bad position to take. Compiz/Beryl *WORKED* in edgy, and the edgy libwnck packages *have the patches applied*. You can't enable functionality like this in one version, then disable it in the next without users complaining.

Historically, ubuntu has been a really good distro for compiz/beryl. IIRC, there were good instructions for getting this stuff working even before SuSE/Novell had a good non-broken release for it. So if ubuntu is now deciding to abandon that cutting edge advantage over a beauracratic upstream patch policy, I'd say that's a shame.

BTW, google says that there are *A LOT* of users experiencing this same pain, and this launchpad report is not the first place most of them will come (it took some time to find it myself). Put yourself in the user's shoes -- feisty seems terribly broken because fundamental functionality that worked in edgy now no longer works. Spinny-cube functionality is sort of feature #1 for compiz/beryl. If it doesn't work, it makes the rest of the ball sort of useless.

It is hard for most average users to find the secret solution to get it to work in feisty, and the secret solution is really a terrible solution, as you pointed out. This leaves the user with only a couple of options, a) suffer without the feature or b) find a distro that supports the feature.

Another way to put it:

              | Beryl/Compiz Work?
---------------------------------------
fedora | yes
sled | yes
ubuntu | *NO*

I'm not saying don't pursue the upstream patch policy, I'm just begging you to consider doing something [that sounds relatively easy == apply the known patches] about this in the meantime. Please stop the bleeding ;)

Revision history for this message
Sebastien Bacher (seb128) wrote :

> Compiz/Beryl *WORKED* in edgy, and the edgy libwnck packages *have the patches applied*.

no they didn't, you likely installed the patched version from the non-Ubuntu compiz archive. We had some discussion with the guy working on those packages after tracking a bunch of crasher sent on launchpad which turned to be due to the patches, you can read bug #72804 about it

> You can't enable functionality like this in one version, then disable it in the next without users complaining.

That's why we didn't use those libwnck patches in Ubuntu

> So if ubuntu is now deciding to abandon that cutting edge advantage over a beauracratic upstream patch policy, I'd say that's a shame.

We don't do that, we just refuse to apply patches that might not be accepted upstream and create a distribution specific API incompatibility with them, especially that it's not easy to drop a patch and drop compatibility then. Compiz works quite well in edgy, you just have to use workspaces rather than the cube which is the default setup, it's available on the desktop CD, there is a capplet to activate it and it's also integrated with restricted-manager. Do you really think it's not as easily to install and use than when it was on an external apt source?

The rest of your comment is just not worth replying. The cube is just an effect and likely to not be used by default in the next. version. Lot of users are happy with compiz using workspaces as it's working at the moment in Ubuntu, exageration is not a way to argue and I don't think many users will switch distributions only because of the compiz cube effect lacks make the workspace switcher display one area which is a detail

Revision history for this message
Christian Holtje (docwhat) wrote :

Sebastien is correct. Ubuntu never had these patches. It would be nice if they got added since beryl is in the repository, even if it is in the unsupported parts.

There is a bug open in the beryl-project for this. I added a comment to explain.
http://bugs.beryl-project.org/ticket/1971

Ciao!

Revision history for this message
garyjefferson (garyjefferson123) wrote :

> > Compiz/Beryl *WORKED* in edgy, and the edgy libwnck packages *have the patches applied*.

> no they didn't, you likely installed the patched version from the non-Ubuntu compiz archive. We had some discussion with the guy working on those packages after tracking a bunch of crasher sent on launchpad which turned to be due to the patches, you can read bug #72804 about it

2.16.1-0ubuntu1.1 works. That sure looked to me like an official package, but you must be right. Sorry for the lie.

> Lot of users are happy with compiz using workspaces as it's working at the moment in Ubuntu, exageration is not a way to argue and I don't think many users will switch distributions only because of the compiz cube effect lacks make the workspace switcher display one area which is a detail

I'm sure you know more about this than I do, but I could not get compiz cube to work no matter what I tried, no matter how many forums or google searches I did to try to find out the secret. The only thing that worked for me was downgrading to old libwnck.

As for users switching, again, maybe you know lots more than I do, but I can certainly give you anecdotal evidence. I convinced one friend to move to ubuntu with edgy and all the beryl/compiz goodness. Now he is going back to fedora because it works there out of the box but is broken in feisty. I can also tell you that *a lot* of people moved to SLED when Novell first started demo-ing compiz and spinny cube, both from windows and from redhat. Sounds silly, I know, but these effects are very attractive to a certain class of users, and the actual productivity gains (not waiting for redraws while switching desktops, expose-like functionality, alt-tab sanity, etc) really are things that are hard to give up once you've experienced them. But, like I said, that's all anecdotal, and your opinion on how valuable this stuff is certainly carries more weight than mine.

Sorry if I came off as beligerant -- that wasn't my intent. Really. You all do some awesome work, and it doesn't help to have whiners like me pestering you. I'm only pushing because I really like ubuntu, and I don't want ubuntu users (including myself) to live in pain (or to flee to other distros) just because we've come to expect functioning compiz/beryl.

Revision history for this message
Sebastien Bacher (seb128) wrote :

0ubuntu1.1 is a non maintainer upload revision and has not been used in any Ubuntu desktop upload, you can look at the changelog of the package if you want to know from where it's coming

compiz is working, what is not is the wnck integration when using the cube. Using the cube is only an option, not required. It's clear that lot of users wants to try new cool software and that having compiz available made people switch distro to try it. It's not clear that people want the cube effect integrated nicely with the desktop switcher enough to install a new distribution though, especially than compiz and works fine on the GNOME desktop when you don't use the cube on feisty.

anyway enough discussion on the topic, I think everybody agree we should fix integration problems and we are going to do that for gutsy!

Revision history for this message
Sebastien Bacher (seb128) wrote :

closing the bug, those changes are not something that should still be used in hardy

Changed in libwnck:
status: Confirmed → Invalid
Changed in libwnck:
importance: Unknown → Medium
Changed in libwnck:
status: Confirmed → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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