AutoHotkey: Move Quicksearch Box To Make Status Bar Visible: Difference between revisions

From TotalcmdWiki
Jump to navigation Jump to search
m (bugfix: one ahk_class too much)
(move quicksearchbox below active panel)
Line 1: Line 1:
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 left 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.
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!
'''Attention:''' Always close the quicksearch box by pressing '''''ESC''''', otherwise it will continue running in the background!


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

Revision as of 16:16, 30 January 2006

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=                                                 ;initialise 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 quicksearchbox 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