Scale by Window group not working

Bug #774059 reported by Kshitij Aggarwal on 2011-04-30
This bug affects 72 people
Affects Status Importance Assigned to Milestone
compiz (Ubuntu)

Bug Description

Binary package hint: compiz

In the compiz scale plugin, the "Initiate window picker for window group" is not working. Unity panel is able to do it when we click on launcher icon having multiple windows but adding a keybouard shortcut or screen edge does not work.

Steps to reproduce:
1. Install Ubuntu 11.04
2. Install CCSM
3. Go to scale plugin, bindings tab set the desired shortcuts for the "window picker for window group"
4. None of the set shortcuts will work

shuhart (shuhart75) on 2011-05-05
Changed in compiz (Ubuntu):
status: New → Confirmed
ngsupb (ngsupb) wrote :

doesn't work indeed

DavidBriscoe (idbrii) wrote :

Someone commented that it works for them:

And clicking on an application in the launcher scales the group works, but there's no keyboard shortcut to scale the group.

If it helps, I'm on a clean install of Natty. I think I imported old Compiz settings, and then reset them to defaults.

DavidBriscoe (idbrii) wrote :

Oh, and the mouse and hot corner bindings don't work either.

But if I set a shortcut like Ctrl-Shift-b, and then try to use Ctrl-Shift-b in another application (to open the bookmark bar in Chrome), then the shortcut seems to be intercepted by compiz and Chrome's bookmark bar doesn't open.

Fabio Marconi (fabiomarconi) wrote :

reproduced in a full updated natty

wooky (eetion) wrote :

Fresh install. Bug is definitely there.

zorgoth (freepskov) wrote :

I can also confirm the bug in a freshly installed Natty, and a not-so freshly installed Natty.

Harrison Chapman (hchaps) wrote :

Still doesn't work on Oneiric.

Prabhjot (prabhjotsbhatia) wrote :

A workaround:

Hi, I got it working using the "Commands" plugin and "DBus" plugin enabled.
I use the following bash script as the command:
1. Go to command plugin in the Compiz config settings manager.
2. In one of the commands, enter this:

dbus-send --print-reply --type=method_call --dest=org.freedesktop.compiz /org/freedesktop/compiz/scale/screen0/initiate_key org.freedesktop.compiz.activate string:'root' int32:`xwininfo -root | grep id: | awk '{ print $4 }'` string:"match" string:$(xprop -id `xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)" | awk '{print $5}'` | grep "WM_CLASS" | cut -d\" -f4 | awk '{print "class=" $1 }')

In bindings, bind that command to a screen edge or button or keystroke, as you deem fit.
Voila!! You have the Scale plugin for the same application class

Note: you need Scale, DBus, Commands plugins enabled. You'd also need to install awk if it isn't installed by default.
This works one way and to get out of the scale mode, press Esc or select a window. I'm still to find a complete workaround for returning it back to normal mode by invoking the same command again.

tags: added: oneiric
tags: added: by group scale
tags: added: scale-by-group
removed: by group scale

I have a variation of this problem; not sure if it is related to this discussion or not. It has worked for me without any tricks, for a long time (since 11.10 was released), but it only allows me to group the windows that belong to a single process. I typically have a couple dozen xterm windows running, so finding the one I need among those and several more dozens of browser and editor windows is a major PITA. It would be less so if I could make compiz group them based on the name of the executable, rather than process ID.

Bazon (bazonbloch) wrote :

Thanks for the workaround, that works for me.

val (uval) wrote :

@Prabhjot: Works for me too, thanks

@Prabhjot Your command works great on Oneiric stock after enabling DBus and Command plugins in Compiz. I feel sane again thankyou so much.

Still no understanding of how this could 'go wrong' if the Scale behaviour is functional but somehow key bindings are interfered with somewhere.

@ #8 This workaround works beautifully for the initial operation. However, the traditional Scale operation is undone by repeating the binding. This workaround falls short of that. Would there be any way to implement this "unScale" operation via the same or different binding?

val (uval) wrote :

Come on, it's been almost a year since this bug was reported and it still exists

val (uval) wrote :

For those of you who would like to "unScale" via edge bindings,
you can bind the command "xdotool key Escape" to another edge to do so.
It's not optimal but it works and you could get used to it eventually.
You'll probably need to execute sudo apt-get install xdotool

val (uval) wrote :

I forgot to mention the following strange fact:
"Initiate window picker for window group" works for X window applications started over ssh and for theses windows only. I often use X11Forwarding over ssh and accidentally found out that scale works for this particular window group.

bravobuffalo (c26977) wrote :

I confirm this bug, With compiz (1: precise-proposed; urgency=low , This bug is still not yet fixed ...

Prabhjot's workaround (comment#8) still works up to now, many thanks!

Sebastián Mancilla (smancill) wrote :

Fresh 12.04 install, the bug is present.

Doug McMahon (mc3man) on 2012-06-08
tags: added: precise quantal
Jacob Winski (winski) wrote :

Precise 12.04 still affected.

Some Unity dev really broke the compiz scale plugin(s). There are a few other similar bug reports such as #694910

Why is this still "undecided"? It's obviously broken.

SwanS (swans100) on 2012-10-19
no longer affects: compiz
Rui Covelo (rui-covelo) wrote :

A tried the workaround. It does initiate the window picker but I cannot get out of it. I can get focus on the windows by clicking on them but the picker stays active. Escape does nothing. What can I be doing wrong?

val (uval) wrote :

@Rui Covelo: You're doing nothing wrong, unfortunately the workaround has the problem you mentioned. It gets stuck everytime the command is called twice which typically happens when you hit the screen edge while the window picker is still active.

Chris Allen (pickledegg) wrote :

Hi, any news on this? Thanks

MC Return (mc-return) on 2013-04-10
Changed in compiz:
assignee: nobody → MC Return (mc-return)
MC Return (mc-return) wrote :

I can confirm that this is broken.
This part of the code seems to be responsible:
    switch (sScreen->priv->type)
 case ScaleTypeGroup:
     if (spScreen->clientLeader != window->clientLeader () &&
  spScreen->clientLeader != window->id ())
  return false;


 case ScaleTypeOutput:
     if ((unsigned int) window->outputDevice () !=
  (unsigned int) screen->currentOutputDev ().id ())
  return false;



As ScaleTypeOutput works and the code calling it is essentially the same like the one calling ScaleTypeGroup, I suspect the problem must be there...

Changed in compiz:
status: New → Confirmed
status: Confirmed → In Progress
Tory (tory-andrew-law) wrote :

also exists in Ubuntu 13.04

MC Return (mc-return) on 2013-07-08
Changed in compiz:
status: In Progress → Triaged
assignee: MC Return (mc-return) → nobody

Still exists in Ubuntu 13.10

Dexy Lazic (dexy86) wrote :

Still exists in Ubuntu 14.04 :(

Alex Garel (alex-garel) wrote :

And still exists in Ubuntu 14.10

Dexy Lazic (dexy86) wrote :

"And still exists in Ubuntu 14.10"
yupp same here :)

Clyde (cysterc) wrote :

And still exists in 15.04

And still exists in 15.10

dimx (dimx) wrote :

It seems like client leader for group was not set. This patch sets clientLeader the same way the staticswitcher does.

Please report whether this fix works (along with ubuntu version - I'm expecting it will work the same for all :).

The attachment "scale_group_fix.diff" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Doug McMahon (mc3man) wrote :

This is actually available (at least in 16.04) via Shift+Ctrl+Super+W
The option is not available via ccsm settings so user changing to a less awkward combo would be done thru editing org.compiz.unityshell.gschema.xml & then using glib-compile-schemas

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

Duplicates of this bug

Other bug subscribers