PDA

View Full Version : Ability to type in windows during scale/shift


citizenofnowhere
August 15th, 2007, 09:25 AM
Dear all,

I was just wondering if it would be possible to bring back a feature I really liked from the old Beryl days. I used to be able to select an option and interact windows during scale mode (type in a chat window). I know that right now keyboard input during scale is used to filter window titles, which is very useful too in some cases. I was just wondering if it were possible to be able to choose either behavior.

Alternatively, maybe this is possible with the new shift plugin (my favourite by the way)? As far as I know there isn't any way to interact with shift windows with the keyboard yet.

:) Just some thoughts.

delfick
August 15th, 2007, 12:03 PM
I too want this feature, and we will get it one day, but the problem is they do not want to implement it untill we get the "proper" method, which will happen when we get input redirection...... (been waiting for it for quite a while, so unfortunately I don't know when we'll get it)

....

citizenofnowhere
August 15th, 2007, 12:23 PM
Thanks delfick! Guess we'll have to wait :) Oh well, no biggie. Everyone's doing a great job as it is...

What exactly does input redirection mean? Just curious. Has there already been a thread on this? Apologies for the double post if so.

delfick
August 15th, 2007, 03:40 PM
Thanks delfick!

no probs :D

What exactly does input redirection mean? Just curious.

the problem with scaling the windows, is that the windows themselves are not scaled, only the image of the windows

input redirection will allow the window to be scaled as well

it is fairly hard to explain that in words, and I don't know the true technical details myself...

though I remember seeing a nice little video on the original compiz.net forums that showed what input redirection is, really well.

There was a window and it was scaled down a little bit

then the mouse went and clicked where the button in the window was before it was scaled, and the scaled down image acted as if the button was pressed....

with input redirection, to press that button you press the scaled down button rather than the real button that hasn't been scaled down with the image of the button.

(if you're still confused feel free to say so :D)

Has there already been a thread on this? Apologies for the double post if so.

sort of, i don't really remember a specific post about it, but it usually comes up in posts about the scale plugin ....

citizenofnowhere
August 15th, 2007, 08:29 PM
Thanks so much for taking the time to explain, I think I sort of get it now! I can see why that is much harder to implement than what is already there. I'm pretty sure there's a good reason they can't just take code from the old beryl plugin and use that, right? :)

delfick
August 16th, 2007, 01:33 AM
Thanks so much for taking the time to explain, I think I sort of get it now!

yeah, after seeing the explanation a few times it starts to make sense :D

I'm pretty sure there's a good reason they can't just take code from the old beryl plugin and use that, right? :)

hmmm, I'm unsure why they're not doing that...

hopefully a dev sees this and answers that question.....

MikeMLP
August 16th, 2007, 01:52 AM
I was reading the x.org mailing list the other day and I believe that there may be working code for input redirection as this post implies: http://lists.freedesktop.org/archives/xorg/2007-August/026826.html
I do know that x.org 7.3 is due on or about August 29th, so I don't know if there is time to get input redirection in x.org 7.3.

Thought that that info might be useful though, while the topic was focused on input redirection.

SmSpillaz
August 16th, 2007, 02:01 AM
no probs :D



the problem with scaling the windows, is that the windows themselves are not scaled, only the image of the windows

input redirection will allow the window to be scaled as well

it is fairly hard to explain that in words, and I don't know the true technical details myself...

though I remember seeing a nice little video on the original compiz.net forums that showed what input redirection is, really well.

There was a window and it was scaled down a little bit

then the mouse went and clicked where the button in the window was before it was scaled, and the scaled down image acted as if the button was pressed....

with input redirection, to press that button you press the scaled down button rather than the real button that hasn't been scaled down with the image of the button.

(if you're still confused feel free to say so :D)



sort of, i don't really remember a specific post about it, but it usually comes up in posts about the scale plugin ....

Yeah, thats sort of right.

Basically, the idea is that when you use Compiz and Xgl/Aiglx to render your desktop, you are shown a texture of your desktop and it's windows that are 'in sync' with your desktop. This is the reason we can do funky stuff with your windows, because they are just textures grabbed from the actual windows themselves, but the actual window itself is not changed, only the texture. If you want a good example of why this is so, turn on the input zoom plugin, disable "Sync Mouse' and 'Scale Mouse Pointer'

Now, we can sort of ad-hoc input redirection.

The first way is to sync the actual underlying window with the texture. This is done most commonly with plugins like put, place, move and resize. Recently, an option was added to move to sync the actual window while moving, but it is disabled by default because it is very slow and causes high CPU usage.

The second way, which is done by input zoom, is to show you a fake mouse pointer, by scaling it along with the rest of the desktop, or to sync the mouse by warping the mouse to areas where it is 'in sync' with the zoom area. I'm not really too sure about the second option, so you will have to ask the person who made enhanced zoom, Kristian, how it works.

The final way, which is the 'proper' way, is to allow compiz to communicate with the X server, so when you click 'here' on the texture the click is actually registered over 'there' on the actual window, which does something to the actual window, and the output is redirected to your texture of the window, which is 'here.'

It's all very difficult to understand, and not even I do, and I've been using Compiz Fusion for a year now. However, the current implementation of input redirection using triangles, seems to be slow at the moment, and they are trying to get these things worked out before it can be included in the X server.

Finally, it is possible to 'type' in windows with a silly hack, because the window is still active, and you can just type in stuff and it will be redirected. This will probably not be implemented until input redirection is out, because it makes more sense.

Hope that helped

- SmSpillaz

citizenofnowhere
August 16th, 2007, 06:34 PM
SmSpillaz, thanks. And thanks everyone for the great explanations! The beryl version must have been the hack you mentioned, because I seem to recall only being able to type in the window (which was generally fine by me at the time :) ) I can appreciate why the request is not easy and it makes sense to want to have it done the non-hackish way for the main code base.

Perhaps while waiting for proper input redirection I'll just hack my way through in the meantime ;) No need to bug the devs. Anyone else interested in an unofficial hack?