Bug Description

[Test Case]
1. Open few applications on workspace 1
2. Open a few more applications on workspace 2
3. Press the shortcut for 'initiate window picker for all windows' (Super+W by default)
-> Verify that the scale plugin shows windows from both workspaces, not only from one of them

4. To verify, press the shortcut for 'initiate window picker' (Shift+Alt+UpArrow by default)
-> Verify that the scale plugin only shows windows from the current workspace

[Regression Potential]
No real regression potential, in the impossible case the scale plugin might stop working

Original description:

compiz expo plugin have the option to change the scale plugin behavior but that does not work unity Unity..

yeah, I can confirm I have this issue too on the beta 1 updated to date.....I really hope this is a bug and not just because the unity developers decided that this functionality is the best, because as small a bug as this may appear, its kind of a deal breaker for me using the new unity, I use the scale plugin for all windows as a go to shortcut in my work flow, and trying to do anything without it right now is extremely frustrating and slow

This bug is also producing side effects in other functions. I had a weird experience today, where I had two windows for the same app open. (chrome) One was minimised while the other was not. When I clicked the icon, expecting to see scale of both windows or at least a window and an icon (for the minimised window). I got scale for the active window only and show desktop was initiated. I thought I'd "lost" all my desktop widgets. It took me a few minutes to figure it out as I never use show desktop because it doesn't respect the desktop setting on my widgets. For the sake of completeness my widgets consist on conky and screenlets both of witch have a desktop setting.

Also seems to affect Expo plugin settings. I typically have Scale set to show windows from all workspaces when mouse pointer goes to bottom right corner, and expo activates on bottom-left corner. Also, I enable Scale-Addons. I can manually set all of these things, and they work until I restart X. My guess is that some Unity configuration replaces all of my Compiz settings.

Wow. This is really bad. There seem to be many strange side-effects. Copy and pasting from #971927 here is another:

1. open two terminals on two seperate workspaces
2. minimize the terminal on the second workspace
3. on a third workspace click the terminal-icon on the launcher.

It will take you to the non-minimized terminal. The only way to find the minimized terminal is by either remembering the workspace on which you minimized it or by checking the small triangle to the left of the terminal icon on every workspace. So this also breaks the application spread behavior.

I would love to see at least a little attention given to this. At least assign someone to this, and its importance at least deserves a medium....I mean this is exactly the sort of thing that has put everyone off of unity in the first place

I guess this behavior is wanted. But can the person who did this please point at what they changed so that we can run our own patched version of compiz? I really have problems finding open windows on other desktops again.

Also: wasn't the expected bahavior of the unity launcher that when I click an icon it shows me all open windows of that application? If it doesn't do that, why bother at all?

This is not a wanted behavior, and it could not be because of the reasons in comment #6. If you look at http://design.canonical.com/the-toolkit/unity-task-switching/ you'll confirm it, and if you check the activity above, you'll see that the developers have confirmed this bug. It just hasn't been fixed yet because its importance was set to low, as there are even more urgent and crucial bugs at the moment. As soon as they fix them, they'll turn to this one. We just have to be patient.

Remember what they did with the Alt-Tab: we now have a key combo for changing windows on the current workspace only, and another one for changing windows on all workspaces (Ctrl+Alt+Tab). I've always changed Ctrl+Shift+Up for Super+E to have a key to scale windows from the current workspace only and another for all windows, and it works great. I'm guessing we'll have something like that.

I don't think it's Unity overriding the behavior, just the behavior that it's broken.

If Unity would override the shortcut for showing all windows for just showing those on the current workspace, we could still use a different shortcut for showing all windows, and that doesn't work either.

Changing the behavior of the showing all windows to just showing those on the current workspace when such a behavior is already available wouldn't make any sense, since if that would be the intended default behavior, just the shortcuts would need to be changed.

Although now the shortcut help screen says that the shortcut defined in the scale plugin for all windows is to spread windows in the current workspace, so it may be Unity overriding the behavior after all... hope not. :-(

The windows of each workspace are seen flying around, so they are being restored to their original workspace instead of the active one.

Using the CompizConfig Settings Manager, I am setting the binding for( Initiate Window Picker) to one of the hot corners. This setting gets reset whenever I restart Ubuntu. So, when ever I boot in to my desktop, I need to set the binding again to ( Initiate Window Picker For All Windows) instead. and things work beautifully.

Wonder if you could fix this bug. so that Unity ( or what ever ) does not override this setting.

This bug affects non-minimised windows too. Open two terminals, on different workspaces, click the "dash" button for your terminal and nothing will happen, because it only sees that one terminal.

Worse, if you're on a workspace on which you haven't opened a terminal, pressing the "dash" button for your terminal will pop you to one of the two workspaces that has a terminal, ignoring the other non-mimised terminal in the other workspace.

Feras, are your ccsm options all messed up too? Now the options just show their variable names instead of the description of the option... And there are missing options, window resize doesn't have the kind of resizing any more, for example.

If I set the binding in ccsm I still get the wrong behavior, it shows the windows on the current workspace and not all windows as expected.

Is there any hope that this bug gets fixed soon? The scale plugin is the most important Compiz function. Would be nice to know whether or not this get fixed or we have to wait until the edge of doom. In this case I would prefer to prepare myself to change to Gnome-Shell...

@ Bruno Yes it a compiz bug, since it affects scale even while not using unity. However, Unity is relying on the scale plugin as part of it window management strategy. Since the broken behavior is a direct result of changes made to support that reliance and fixing it would drastically improve window management within Unity. I'd say this bug is Unity's responsibly as well. The problem here is that Unity is moving away from using scale to handle window management. They are planing on making the "spread" functionality part of Unity itself. So there really is no incentive to fix what they broke unless we can convince them this is really bad to leave unfixed in an LTS release.

What I don't understand is why would they change the behavior of the all window picker if there's a just picker for the current workspace. It would make more sense to just default to have Super + w a shortcut for that function instead. Is 71 people finding this behavior a bug, enough?

Can we vote for this bug somewhere? It is ridiculous that this was set to low prio since it completely cripples Unity. Single viewport switching is a non-function because switching by definition involves all viewports. The scale plugin if working properly is THE essential function that makes Unity tolerable. Makes you wonder if the guys who forced Unity on us use it themselves...

If this is not fixed by Monday I will switch back to 11.10. I am the experimental 12.04 switcher for my company and will most certainly hold back the rest or they will eat me alive!

I agree with silvio. Unity is actually shaping up quite nicely I have to admit, however its doing so at the expense of the rest of compiz. I'm sure I'm not alone in saying that the only reason I didn't go for a different desktop when unity was forced on us, was because its the only desktop that it didn't do away with the compiz plugins that I have come to absolutely rely on, well so much for that now. If this isn't sorted out soon, my laptop is going gnome-shell, and my desktop is going kde, and most iikely out of spite neither will be on top of ubuntu.

They must be racing to fix any other critical bugs right now. I think we
should try to wait a bit longer to see what can be done to solve this. I
think this issue may be worse than it looks from related bug reports and
experience. Have you had windows sometimes fly out of the workspace? I even
have been getting invisible windows after this happens! Windows focused but
that flew away from the current workspace and are nowhere to be found and
cannot be recovered (maybe they stopped being painted?)?

This is certainly being looked for by one of the devs soon (or so I hope),
but there's probably so much they can do when a release was just published.
I'd prefer to have some feedback from the devs, but not if it is at cost of
develop time.

This bug is a major issue for me too (even more if the windows disappear
and I can't see them to save my work!), but lets try to be a bit more
patient.

this is the most annoying regression I have with 12.04, even the shortcut tip that appears when you hold win key says " 'win+w' spreads windows in current workspace ", does this mean it's intended behavior? why?

I upgraded to 12.04 LTS on release day (April 26th) and this is the first problem I noticed. window picker confined to current workspace, not all. Also, edge assigned to window picker gets reset every boot and I have to go in and reassigned it again after every boot.

It is a very aggravating bug when one is so use to using the feature and it's now broken.

while I appreciate that this bug is finally getting the attention it deserves. That description is wrong. The scale "Initiate Window Picker for All Windows" function is completely broken. It isn't just super+w, it just doesn't work with any trigger method or attempting to reassign the shortcut. Try it yourself or read the comments in this bug.

Corey, I know it's broken for all methods. There is a good reason to mention "Super+W" in the description however. That is so other people reporting and triaging the same issue will find this bug more easily instead of creating duplicates.

At the time of this change it seemed to be specially done in scale.cpp. May have been around the time the l. click on icon was changed to current output only, was quite some time ago.
As seen in the attached file which reverts & for better or worse (better here), allows bindings for both current & all to work
(also allows the use of window group from all outputs though not directly thru the scale plugin, that's a different issue since natty

- [regression] Super+W ("Initiate Window Picker for All Windows") shows- only windows from curent workspace+ [regression] "Initiate Window Picker for All Windows" does not show all+ windows. It shows only windows from curent workspace.

- [regression] "Initiate Window Picker for All Windows" does not show all- windows. It shows only windows from curent workspace.+ [regression] scale/spread: "Initiate Window Picker for All Windows" does+ not show all windows. It shows only windows from curent workspace.

The thing you seem to forget, Sebastien, is that the core issue is this:
A hack was introduced that not only changed the default behavior for all users, but -- more importantly -- also made it impossible to switch back to the desired behavior.

In other words, mucking around with people's configs has already been done. How about we own up to the mistake and fix it? The only reasonable way is to revert the ugly hack, and repair the functionality of 'show windows from all workspaces'. Users will have to update their key bindings if they don't like that it's working again. It won't take them more than a minute.

I can also add that I work in a corporate environment and everyone I know who uses Ubuntu here is -not- happy about the hack.

I guess I'm missing something here & as I don't use 12.04 should likely shut up
Anyway what's the downside to applying the 0.9.7 commit in precise & also adjusting scale.xml.in to get desired results.
Did so here on a 12.04 install still hanging around & when creating a new user the bindings & actions seemed fine
Super+w picks on current ws
Shift+Alt+up picks on all ws's

I know it's only one issue per bug report. But the underlying problem is a single commit and many bugs are connected to fixing this bug correctly (which has been done for 12.10). This bug produces issues for people who don't even use "scale all". Most corporte users don't use scale all but they do see the flying windows.

@mc3man: the problem fixing this bug is that if you fix it the default behavior changes and you can't change the user settings on upgrade. The only way to do that is ask for user interaction through a notification (the way it happens when you install Dropbox). That would work but bothering the user with notifications is unwanted, so it won't happen.

The way I see it this bug is unfixable with the only acceptable solution apparently being the introduction of a second hack that will (I think) introduce even more problems for the next dist-upgrade.

Actually, my fix that got merged (and I think reverted quickly after) removed the hack and introduced correct behavior, with the possibility of switching between the two behaviors. I wonder why it's not actually present in lp:compiz right now. We shouldn't be bothering with introducing different behavior at the beginning of a cycle, right?

I think I need to re-enter this bug and try finding a satisfactionary solution for everyone.

> what's the downside to applying the 0.9.7 commit in precise & also adjusting scale.xml.in to get desired results.

changing default action will only apply for new user since the actions are written in the user's config on first start ... e.g your xml.in change will not apply to existing users and their super-W will start doing the wrong thing

@Matthias:

> I know it's only one issue per bug report. But the underlying problem is a single commit and many bugs are connected to fixing this bug correctly (which has been done for 12.10). This bug produces issues for people who don't even use "scale all". Most corporte users don't use scale all but they do see the flying windows.

Right, and I don't see an issue fixing "the flying windows bug" in a SRU, it seems like we could fix that while keeping the buggy action mapping to not change the super-W behaviour. It's likely that this bug would already have been fixed if there was a ticket tracking the "flying" issue rather than having it discussed in the middle for the 170 comments on the scale behaviour bug...

> The way I see it this bug is unfixable with the only acceptable solution apparently being the introduction of a second hack that will (I think) introduce even more problems for the next dist-upgrade.

we need to have a look on how the bug got fixed in 12.10 and if there is a side effect of making super-W do the wrong thing for upgrades or if that got dealt with in some way (note that this version migrated to gsettings so it gave an opportunity to migrate settings, we can't backport that though)

one other way would be to add some "migration code" to compiz itself, e.g have a one time migration, conditional to a flag that will be written somewhere, which could do something like "if scale for all workspace = super-W; then reset it and reset the "scale for one workspace"" so the new default are picked for users who didn't change the action.

> It's likely that this bug would already have been fixed if there was a ticket tracking the "flying" issue rather than having it discussed in the middle for the 170 comments on the scale behaviour bug...

Sebastien Bacher (seb128) wrote >
changing default action will only apply for new user since the actions are written in the user's config on first start ... e.g your xml.in change will not apply to existing users and their super-W will start doing the wrong thing

Not really, super+w is set for current workspace only & a patched compiz/.xml would continue to use super+w for current workspace only (tested here

The only possible issue with the current 0.9.7 commit + .xml change is the possibility of the so-called flying windows. As I mentioned quite some time ago over the course of 60 or so fresh 12.04 installs with a patched compiz the fly aways would sometimes happen only *once* per install, maybe others find differently??

@Doug: that requires testing, it seems weird that the system .xml value would take over the user config in the user .gconf directory (currently super-W is binding to "show wins on all workspaces" and that value is in the user config)

Probably best to do a new fresh install but maybe these to screens can illustrate -
this screen is with the current compiz source & bindings set to default values
(<super>w - all:, <Shift><Alt>Up - current WS, noting that *in use* Super+W picks from current WS irregardless of binding.

@Bruno,
Unfortunately an update of compiz has replaced your ppa with Doug's patch. I don't want to bother you but it would be great if you update your ppa. Or better yet if you post a step by step guide how to compile compiz with Doug's patch.
Best regards.

[regression] scale/spread: "Initiate Window Picker for All Windows" does- not show all windows. It shows only windows from curent workspace.+ not show all windows. It shows only windows from current workspace.

Somehow I managed to broken my installation trying to compile compiz myself at my spare computer (then I installed 12.10 and scale is working now). But at my work computer I managed to pin bruno santos ppa this way:

since Bruno's ppa (only sane solution so far, thanks bruno), was once again overwritten in January, I have been frustatedly waiting for 12.04.2..but since Colin's update it looks like it might be another 6 months...til 12.04.3

Does anyone know how to revert compiz to the version before it broke broke bruno's ppa and then pin it there?

Or can we buy bruno some beer to get him to update his ppa?...does he have an amazon wishlist or something?

Been following this bug since 1 year now, hope there is still the intent to have it fixed in Precise. In any case, thanks already for the good work.

To add my 2-cent, what is the problem exactly of fixing compiz so that Super-W really does "Initiate Window Picker *For All Windows*", as it is shown in the compiz setting manager?

I understand that
- this would clean everything up (tmo, this is the most important), and
- would only affect users that use several workspaces
- i.e. only a fraction of total user base, and
- only such that to show more windows (not less, i.e. more functionality actually).

Sebastien Bacher (seb128) wrote on 2012-12-13 >
@Doug: that requires testing, it seems weird that the system .xml value would take over the user config in the user .gconf directory (currently super-W is binding to "show wins on all workspaces" and that value is in the user config)

Don't know if anyone has tried/tested other than myself.
Tried again on both 12.04.1 & 12.04.2 installs, compiz (1:0.9.7.12-0ubuntu1) source, again see no issues. The scale fix to enable picking from all ws's works fine & patching the .xml patch sets new bindings as intended with already existing user after a log out/in.
super+w - current ws
shift+alt+up - all ws's

Apart from "Initiate Window Picker For All Windows" being still broken to date,I would also point out that,once the plugin action (for a single window,obviously...) is initiated,the right-click (or button 3 ) click to exit the plugin doesn't work as it used to in previous compiz versions,which is kinda annoying and also IMHO inconsistent with the usual behavior,still found for instance in the Expo plugin.

On 6/1/2013 6:59 AM, Scott Kostyshak wrote:
> I'm still having this problem on a fresh install of 13.04 64-bit.
Scott - the *ability* to pick a window group from all Ws's has been
enabled But no default binding is being set in 13.04 & 13.10 in
scale.xml (.in)
So you'll need to set a binding yourself in
compizconfig-settings-manager (ccsm) > scale > bindings
Atm super+w is default for current Ws, suggested for all Ws's is
shift+alt+up though you can set as desired

(bindings for *both* could be default enabled as I previously mentioned
but at this point just take care of as a user...

Until such time as it is fixed in 12.04 (if ever), put up a ppa to do so for precise
1. enables picking all windows from all workspaces
2. sets super+w for current ws, shift+alt+Up for all workspaces, does so for *both* new users & current user after a log out/inhttps://launchpad.net/~mc3man/+archive/fixing-scale

This fix works perfectly in Mint 13 64 bit Mate edition,I can also set custom keyboard shortcuts in Compiz preferences to see windows from all workspaces,no issues-just a note,in my case logging in again via Mint's "new login" didn't do the trick,a full reboot was needed to have things working.

As for my comment #189 and reply #191,in reality I can't recall what was going wrong,after this fix now everything is working as expected,with button 3 zooming on the selected window-if anything,the scale addon that makes possible to "pull" a window to another workspace to the current one (when viewing windows from all workspaces) isn't working,but I don't know if that would be worth fixing.

I admit that I did not read every word in this comment history, but it seems the bug could be fixed in Precise without changing the default behavior. An updated package could fix the all-windows bug and set all the relevant default bindings to fire only the current-desktop-windows action. This would not change the default BEHAVIOR of the key bindings, or the user experience, but enable a user or admin to adjust the bindings to use the all-windows action if they like. One less PPA a corp, or even an individual, as to be weary of.

Apologies if I am missing something or just being redundant, but with all the noise in this thread it is very hard to follow.

Doug's fix works here too. Thanks! And thanks to all the contributors for all the hard work!