Switch though VWM's by the Mousewheel Thread last updated on 2004-04-29 07:41:24

Posted by member 93947 on 2004-04-28 14:30:38

I wanna scroll through my VWMs using the mousewheel. I tried to use jdesk and rabidVWM, but when i call !VWMRight, the desktop loses focus (rabidvwm gains it i presume) and i have to click the desk again. Same when i use a xlabel to react on the mousewheel. So i either need a VWM that is not stealing focus or a way to select the desk again through a !bang. Any ideas? thanks :)

Posted by member 1 on 2004-04-28 16:06:45 link

Maybe Im not understanding...but you want to toggle away from an application...switch desktops...and give focus back to what exactly?

Posted by member 93947 on 2004-04-28 16:37:08 link

ok, with jdesk and rapidvwm you can do something like

*jDeskMWheelScroll [.none; !VWMLeft; !VWMRight]. This calls !VWMLeft when i scroll the mousewheel down and !VWMRight when i scroll up. The problem is, this only works when the jdesk, the desktop itself, is active. You have to do that by clicking on it. But when i call one of the Bangs, the VWM gets activated, so in order to use the wheel again, i would have to click the desktop. I was asking if there is a way to circumvent this problem. If that is not possible, i would love if any of the following suggestions would be implemented:

a) Having a !bang that sends focus to modules (generall, id like that).
b) Having a bang like !TakeFocus in jdesk.
c) Changing the VWM not to take focus at all, as it doesnt need it for anything.

I wonder that noone wanted that feature before. I love using the mousewheel to switch through desks fast and easy in some *nix shells. Please make that possible :]

Posted by member 12798 on 2004-04-28 17:20:31 link

don't really know for sure, but i think you can somehow send focus to modules with one.dll

Posted by member 99 on 2004-04-29 03:53:12 link

c) was not always true, although I think it may be now.

I actually did put scrollwheel events into rabidvwm at one point, primarily for exactly this. Except you needed to click on the vwm for it to work, and usually you have to do it again each time. So I disabled them.

I think what this really needs is some sort of "!SwitchNoFocus" bang command, because people usually want the VWM to set focus to the new desktop when you switch with the keyboard. I'll have to look into that.

Posted by member 93947 on 2004-04-29 07:41:24 link

Ok, i got this working now. The key was actually one.dll, so FYI how you can use the Mousewheel for switching VWM's.

;;Modules:
*NetLoadModule One-0.7
*NetLoadModule mzscript-0.8

;;Scripts:
*Script bang !nextVWM
*Script exec !VWMRight
*Script exec !One [DesktopBackgroundClass][][#a][!alert "not found"][.focus][.none]
*Script ~bang

*Script bang !lastVWM
*Script exec !VWMLeft
*Script exec !One [DesktopBackgroundClass][][#a][!alert "not found"][.focus][.none]
*Script ~bang

;;jDesk settings
*jDeskMWheelScroll [.none; !lastVWM; !nextVWM]

;;if you want to select your desk with a hotkey
*Hotkey WIN D !One [DesktopBackgroundClass][][#a][!alert "not found!"][.focus][.none]

Now just klick on your desktop or press the hotkey and you can switch through your vwms, without clicking some tiny buttons :D

Thanks for all the replys. I couldnt use One in the beginning as i couldnt find out the jdesks class or name. So i figured to check out the source and found its class ("DesktopBackgroundClass") there. Rest was easy ;]

PS: "Technically, VWM stands for Virtual Window Manager, but since this module neither manages virtual windows, nor managers actual windows in a virtual way, I don't think that's really appropriate. So let's just say VWM stands for Virtual Desktop Manager, as this does in fact manage virtual desktops. That W in the middle is actually just a D that looks like a W. Ds are sneaky like that, the little freaks. Now go away and stop reading this." ROFL :) I want to use "VD's" everytime i talk about virtual desktops, but i fear noone would understand me ;P But at least RabidCow would ;D