Ubuntu

Scale by Window group not working

Reported by Kshitij Aggarwal on 2011-04-30
314
This bug affects 63 people
Affects Status Importance Assigned to Milestone
Compiz
Undecided
Unassigned
compiz (Ubuntu)
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) on 2011-05-05
Changed in compiz (Ubuntu):
status: New → Confirmed
ngsupb (ngsupb) wrote :

doesn't work indeed

DavidBriscoe (pydave) 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.

DavidBriscoe (pydave) 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 :

@Prabhjot:
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: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!

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;

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

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