Mouse click release slow-down

Here you can propose new features, make suggestions etc.

Moderators: Hacker, petermad, Stefan2, white

Post Reply
User avatar
Phr3d
Junior Member
Junior Member
Posts: 33
Joined: 2007-01-24, 09:51 UTC
Location: midwest

Mouse click release slow-down

Post by *Phr3d »

This is rather hard to explain, Is it possible for TC to react more -slowly- to a release of a drag operation? I know that some of the fault lies in my Avocent KVM switch, but as they are becoming more and more common, if this can be done it would be most appreciated.

WORST case Example: I attempt to drag a file to the MPClassic program in my button bar and in so doing, (apparently due to the constant changes in the directory causing constant re-centering of the selected file in the pane) I get a 'drop here' as though the button were released -- in the button bar, in a directory in the opposite pane, or strangely in a new directory, within a subdirectory in the opposite pane with the filename of a file that was passed over during the drag, all while remaining in the same pane, so I do not know it has occurred until I enter each of the subs (solution now is to have an empty sub opposite my working pane).

This has been brought -mostly- under control by turning off ALL directory updating, but that is causing other problems, as I have used sort-by-date hourly for years, now it requires a manual re-read to be useful.

So I honestly don't know if the reaction-to-millisecond-duration drops in mouse-drag is the issue, or simply that my 13000-entry constantly-updating reason-that-I-have-a-job directory overloads TC. I have not experienced this prior to 7.5x if that helps.


Also, I have resorted to MPClassic on the button bar due to lister seeming to go into a loop on some offending multimedia files, more often than not, MKV containers. As these files do not announce themselves in their temporary state, I have had to stop F3'ing them. Would it be possible to have a time-out for attempting to display a multimedia file, resulting in the default text-based window? i.e., attempt to read and decode a file known to be a video, but if a window has not yet popped up after 30 seconds, kill the attempt and display text. Presently, I must tab over to Process Explorer and try to determine which instance of TC it is and Kill Process. On a side note, can lister be backgrounded?

Hope I have been clear in my description, though I am hardly known for that. :oops:
carpe` cervesi
knf (35402)
User avatar
Balderstrom
Power Member
Power Member
Posts: 2148
Joined: 2005-10-11, 10:10 UTC

Post by *Balderstrom »

I'm not exactly sure of the issue --- although it sounds like possibly TC is detecting a mouse-up event when there shouldn't be (?)

I load multimedia files directly. E.G. I have two buttons on the main button bar that are drop down menu-items. One of the drop-down menus has mplayer (MPUI) and Media Player Classic (MPC). With the files selected in a given pane, I just press the button of the App I want to launch with those files.

Code: Select all

TOTALCMD#BAR#DATA
"%ProgramFiles%\K-Lite Codec Pack\Media Player Classic\mpc-hc.exe"
%P%S
%ProgramFiles%\K-Lite Codec Pack\Media Player Classic\mpc-hc.exe
Media Player Classic
%ProgramFiles%\K-Lite Codec Pack\Media Player Classic\

-1
As opposed to dragging files to a button, which I suppose would work, but seems more difficult than just selecting said files. And then clicking the Button/App you want to open those files with.

Although I do notice you can only drag ONE file onto a TC Button, whereas the other option allows you to open multiple files at once...(or just a single file, if you use %N instead of %S)


Otherwise, here's an AHK Script I originally posted here. That I've improved the usability of since then.

Code: Select all

	#SingleInstance, Force 
	#Persistent
	#NoEnv
SetBatchLInes, -1
SendMode Input

return

ToolTipDFS:
	ToolTip, % "     Drag File State: ON"
return

TimerDFS(onOFF)
{
	Global DragFileState

	if( onOFF == 1 )
		SetTimer, ToolTipDFS, 250
	else
	{
		DragFileState:=0
		SetTimer, ToolTipDFS, OFF
		ToolTip
		if( onOFF <> -1 )
		{
			Send, {ESC}
			MsgBox,,,Drag File State: OFF,1
		}
	}
return
}


QueryMouseCursor()
{
	VarSetCapacity(CurrentCursorStruct, 20, 0) 
	NumPut( 20, CurrentCursorStruct, 0 )
	result := DllCall("GetCursorInfo", "str", CurrentCursorStruct) 
return (NumGet(CurrentCursorStruct, 8))
}

#ifWinActive, ahk_class TTOTAL_CMD

	$Space::
	{
		if( DragFileState || (GetKeyState("LButton", "P") && inStr(",50135657,155189883,162595327,337117793,", "," QueryMouseCursor() ",")))
		{
			DragFileState:=1
			SendMessage, 0x433, 3200, 0,, A	; cm_SeparateTreeOFF
			SendMessage, 0x433, 3201, 0,, A	; cm_SeparateTree1
			MouseMove, 50, 100
		}
		else
			Send, {Space}
	return
	}

	WheelUp::
	WheelDown::
	{
		if( !DragFileState )
		{
			Send, % "{" A_ThisHotKey "}"
		return
		}
		MouseGetPos,,,,aConID,3
		ControlClick,, ahk_id %aConID%,,% A_ThisHotKey 
	return
	}

	$LButton::
	{
		if( DragFileState )
		{
			KeyWait, LButton
			if( !DragFileState )
				return
			Send, {LButton Up}
			TimerDFS(-1)
		return
		}
		else
			Send, {LButton Down}
	return
	}

	$LButton Up::Send, % (DragFileState ? "" : "{LButton Up}")
	
	$RButton::
	{
		if( GetKeyState("LButton", "P"))
			TimerDFS( DragFileState:=!DragFileState )
		else
		if( DragFileState )
			Send, {Enter}
		else
			Send, {RButton Down}
	}

	$RButton Up::Send, {RButton Up}


	$ESC::
	{
		if( DragFileState )
			TimerDFS( 0 )
		else 
			Send, {ESC}
	}

return
1_) When you want to "lock" the LButton down for a drag, then while LButton is down. Click the RButton once (down/up), then release the LButton.
2A) When you want to "drop" your files, Press the LButton once (down/up).
2B) If you want to CANCEL the drag, Press the LButton down, then Press the RButton down/up. (Or press ESC)

May sound complicated, but its basically:
-- Click (Hold) + Click Rbutton, release both.
-- Left Click to drop files. (be it onto a button or the other panel, or tab, etc).
OR, When Drag is locked (and you want to cancel)
-- Click (Hold) + Click RButton, Release both.
-- OR just press ESC.
I also plan to merge that with my other small tweaks for RButton, and RButton + Scroll (For tabs), but I got sidetracked by another piece of code and building some PCs for Christmas.
User avatar
Phr3d
Junior Member
Junior Member
Posts: 33
Joined: 2007-01-24, 09:51 UTC
Location: midwest

Post by *Phr3d »

Thanx for all that -- a bit over my head, I must admit.
Is there a simple way to make the F12 key open a program using the highlighted file?

As my system gets upgraded over and over, right-click open-with is full and a chore, so I'll look at commander associations, but the file-content is unknown (why I used to use F3, before the loop problem started) so I drop large unknowns onto a button for vlc now, as it doesn't tailspin if the header or whatever is junk. IF open-with wasn't at the top of an ever growing context menu And if I could figure out how to add VLC since XP64 refuses to add or make it always-open-with, I Could do it that way and probably easier that dragging. dragging was my Duck-Tape fix to F3-lister losing it on MKV headers (meaning that ESC has no effect, I must kill-process TC when this occurs).

It seems to me that a -false- mouse-up event is the issue, as it is brought under control by removing -all- updating when I am on the machine that contains the drive.
Honestly though, my network speed is such that I am returning to v6.53 of TC, I did not have any of these problems before moving into 7.x versions. I can no longer recall what I'll be missing by going back, but for me, the overhead of the new features seems to be keeping TC from being able to handle my killer directory. I presume that my remote must use the UNC to ignore a drive, for instance? I have entered don't update K drive for any reason, but still get constant updates, and they take so very much longer than before (page-up/down are near useless in scrolling a directory of this size, and the constant centering-the-selected-file when I am trying to mouse-scroll through is maddening).

There is probably another reason for this crippling slowdown in network reads, but if I can find a copy of 6.53, I'm gonna try that first as I never had to ignore a drive before.

(LAN directory with 13000+ entries, constantly multi-changing. Drive is updated by domain users, but is local/workgroup LAN to me, simple WD 2TB 64k drive, NTFS 16K sector. Files are, basically, temp files).
carpe` cervesi
knf (35402)
Post Reply