Hi there!
I need your help. I know nothing about scripting/programming at all, so please, if it's not that hard for you: could you please adopt this script for my needs?
I use Firefox, Total Commander and Miranda (TabSRMM chat container + clist_modern). All these progs use tabs. Miranda and Firefox have it's own abilities to scroll tabs, and Total Commander hasn't.
I want to have a script that will be able to scroll anything under the cursor without activating it (and without scroll acceleration).
I've tried all of the scripts from this topic and each of them does only part of what I need, but this parts are different, so maybe it's possible to mix all the advantages of these scripts, throw away all disadvantages and then combine them into one single script.
Here are the exact details of what I need:
1. No activation of the scrollable objects.
2. Tab scroll for the 3 programs mentioned above.
3. No scroll acceleration.
In order to try to help you helping me:
The only script that partially (it has some bugs) supports scroll for miranda's container tabs is
TheLeO's
version of the script.
All other scripts brake the built-in ability of (at least) Miranda (or even Firefox's too). But even this script is not bug-free: when scrolling active window of chat log or tabs in the chat container (TabSRMM), it also scrolls contact list (bug works only for my lovely clist_modern, but not for clist_nicer, btw).
EDIT:#SingleInstance force
; Run total commander.
Run, TOTALCMD.EXE
; Wait until it opens.
WinWait, ahk_class TTOTAL_CMD
; Setting timer to check if the process still alive.
SetTimer, CheckTC, On
WheelUp::
WheelDown::
MouseGetPos, MouseX, MouseY, WinID, ControlNN, 1
WinGetClass, WinClass, % "ahk_id " WinID
; Scrolling TotalCommander's tabs
If (WinClass = "TTOTAL_CMD" && RegExMatch(ControlNN, "TMyTabControl[12]"))
{ PostMessage, 1075, % TC_Cmd := "400" (ControlNN = "TMyTabControl1" ? "1" : "2"), 0,, % "ahk_class " WinClass
PostMessage, 1075, % TC_Cmd := "300" (A_ThisHotkey = "WheelDown" ? "5" : "6"), 0,, % "ahk_class " WinClass
}
; Scrolling objects under cursor without activation.
Else, PostMessage 0x20A, ((A_ThisHotKey="WheelUp")-.5)*A_EventInfo*(120<<17),(MouseY<<16)|MouseX, % ControlNN, % "ahk_id " WinID
Return
CheckTC:
Process, Exist, TOTALCMD.EXE
If !ErrorLevel
ExitApp
Return
This script was written by
Mad*Forces / ZeLen1y under
WTFPL license and it works best for TotalCommander - it can scroll inactive part of window without activating it, can scroll tabs of (in)active part of window, can scroll foreground applications and explorer windows, also without activating them, but it works bad with firefox: if firefox is not active, and I try to scroll tabs or tab's content - nothing happens.
It works good with (in)active TabSRMM chat container, but not with it's tabs.
Please, ignore the timer, as this script was written specially for me and I really requested that thing.