AutoHotkey: Move Quicksearch Box To Make Status Bar Visible

From TotalcmdWiki
Jump to: navigation, search

Press Shift+Q to show quicksearch box and then use it as usual. After each keypress it will be closed, recalled with the former content and then docked at the lower end of the TC window. The effect is that the status bar will be always visible while quicksearching and it will always reflect the found file-/foldername.

Attention: Always close the quicksearch box by pressing ESC, otherwise it will continue running in the background!

$+Q::                                                   ;define hotkey Shift+Q
String=                                                 ;initialize String variable
IfWinActive, ahk_class TTOTAL_CMD                       ;if TC is active start quicksearching,
                                                        ;otherwise send Shift+Q
{
  Loop                                                  ;start loop
  {
    WinGetPos, , Y, , Height, A                         ;get TC-window Y-dimensions
    PostMessage, 1075, 2915, , , A                      ;call quicksearch box
    WinWait, ahk_class TQUICKSEARCH                     ;wait for quicksearch box to appear
    WinMove, A, , , Y+Height                            ;move quicksearch box down
    ControlSetText, TTabEdit1, %String%                 ;reload content of quicksearch box
    ControlSend, TTabEdit1, {END}                       ;move cursor to the end of quicksearch box
    Input, Keypress, L1 I M V, {ESC}{LButton}{RButton}  ;wait for input
    If Errorlevel=EndKey:Escape                         ;when ESC has been pressed exit loop
    {
      ControlSend, TTabEdit1, {ESC}
      Break
    }
    ControlGetText, String, TTabEdit1                   ;get content of quicksearch box
    Send, {ESC}                                         ;close quicksearch box
  }
}
Else Send, {SHIFT}Q
Return

Back to AutoHotkey