Scale by Window group not working

Bug #774059 reported by Kshitij Aggarwal
360
This bug affects 73 people
Affects Status Importance Assigned to Milestone
Compiz
Triaged
Undecided
Unassigned
compiz (Ubuntu)
Confirmed
Undecided
Unassigned

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)
Changed in compiz (Ubuntu):
status: New → Confirmed
Revision history for this message
ngsupb (ngsupb) wrote :

doesn't work indeed

Revision history for this message
DavidBriscoe (idbrii) wrote :

Someone commented that it works for them: http://askubuntu.com/questions/39735/how-do-i-use-initiate-window-picker-for-window-group-in-compiz

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.

Revision history for this message
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.

Revision history for this message
Fabio Marconi (fabiomarconi) wrote :

reproduced in a full updated natty

Revision history for this message
wooky (eetion) wrote :

Fresh install. Bug is definitely there.

Revision history for this message
zorgoth (freepskov) wrote :

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

Revision history for this message
Harrison Chapman (hchaps) wrote :

Still doesn't work on Oneiric.

Revision history for this message
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
Revision history for this message
selkovjr (selkovjr-observercentral) wrote :

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.

Revision history for this message
Bazon (bazonbloch) wrote :

@Prabhjot:
Thanks for the workaround, that works for me.

Revision history for this message
val (uval) wrote :

@Prabhjot: Works for me too, thanks

Revision history for this message
Cefn (6-launchpad-net-cefn-com) wrote :

@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.

Revision history for this message
Eric Williams (eric-williams-neu) wrote :

@ #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?

Revision history for this message
val (uval) wrote :

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

Revision history for this message
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

Revision history for this message
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.

Revision history for this message
bravobuffalo (c26977) wrote :

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

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

Revision history for this message
Sebastián Mancilla (smancill) wrote :

Fresh 12.04 install, the bug is present.

Doug McMahon (mc3man)
tags: added: precise quantal
Revision history for this message
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)
no longer affects: compiz
Revision history for this message
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?

Revision history for this message
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.

Revision history for this message
Chris Allen (pickledegg) wrote :

Hi, any news on this? Thanks

MC Return (mc-return)
Changed in compiz:
assignee: nobody → MC Return (mc-return)
Revision history for this message
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;

     break;

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

     break;

 default:
     break;
    }

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
Revision history for this message
Tory (tory-andrew-law) wrote :

also exists in Ubuntu 13.04

MC Return (mc-return)
Changed in compiz:
status: In Progress → Triaged
assignee: MC Return (mc-return) → nobody
Revision history for this message
Serag EL Din Mohamed (serag4000) wrote :

Still exists in Ubuntu 13.10

Revision history for this message
Dexy Lazic (dexy86) wrote :

Still exists in Ubuntu 14.04 :(

Revision history for this message
Alex Garel (alex-garel) wrote :

And still exists in Ubuntu 14.10

Revision history for this message
Dexy Lazic (dexy86) wrote :

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

Revision history for this message
Clyde (cysterc) wrote :

And still exists in 15.04

Revision history for this message
Andreas Tsourouflis (andreas-tsourouflis) wrote :

And still exists in 15.10

Revision history for this message
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 :).

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

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
Revision history for this message
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  
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.