topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday March 28, 2024, 12:45 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: Qatapult  (Read 331683 times)

pigeonlips

  • Participant
  • Joined in 2011
  • *
  • Posts: 69
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #50 on: February 08, 2012, 07:12 PM »
what a f*****g muppet i am.

Its almost to shaming to post.

I had not downloaded the new version. Opps.

Some examples on how i'm putting this to use to follow




pigeonlips

  • Participant
  • Joined in 2011
  • *
  • Posts: 69
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #51 on: February 08, 2012, 07:19 PM »
In settings.ini

[rule_3]
0_arg=TEXT
1_lbl=set volume to
1_ico=icons\Volume.png
cmd=C:\Program Files\Qatapult\helpers\set-vol.exe
args=$0.text
workdir=%d


http://www.autohotkey.com/
create the following auto hotkey script in a text editor

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SoundSet, %1%, %2%, %3%, %4%
if ErrorLevel
    MsgBox, %ErrorLevel%

and compile it with the compiler (Ahk2Exe) to an exe. In this example :

C:\Program Files\Qatapult\helpers\set-vol.exe

now find a nice icon. I used:

http://www1.picturep...80/png/Volume.png?v0

you can now type in a number (in percent) ie 100 or 75 then tab to "set volume to"

the whole rules thing works really well!

Thanks ecaradec!

also thanks ewemoa - i might have still been playing around with the ini for using the old version for the rest of the week!

On a side note, for entering text mode, I wonder if choosing a key that corresponds to something either not used or infrequently used in file paths would be doable.  Another aspect to consider might be if it can be typed under many key arrangements without having to press any modifiers such as Shift.

what about the F keys - i never go near them my self. Just a thought.

« Last Edit: February 08, 2012, 07:26 PM by pigeonlips »

pigeonlips

  • Participant
  • Joined in 2011
  • *
  • Posts: 69
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #52 on: February 08, 2012, 07:46 PM »
holy moly

[rule_4]
0_arg=FILE
2_arg=TEXT
1_lbl=Move file to
1_ico=icons\Move.png
2_lbl=C:\
cmd=cmd.exe
args=/C "move $0.path $2.text"
workdir=%d

Default to C:\ in the 2 pane, but you can "." and add a path of your choice!

Fricking nice. With these rules, for me, this just changed the game!

I'd love to be able to add pre defined entry's to the 2 pane (0,1,2). Any way to do this yet? just for example:

             file > Move > c:\downloads
                               c:\temp
« Last Edit: February 08, 2012, 08:22 PM by pigeonlips »

ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #53 on: February 08, 2012, 08:24 PM »
Congratulations on getting things to work and thanks for posting examples :)

http://www1.picturep...80/png/Volume.png?v0

Nice icon!



what about the F keys - i never go near them my self. Just a thought.

Aha -- those do seem like good candidates for folks with full-size keyboards.  I used to be a Happy Hacking Keyboard user -- and in that context, IIRC I would have needed to press modifiers to get them to work.

pigeonlips

  • Participant
  • Joined in 2011
  • *
  • Posts: 69
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #54 on: February 08, 2012, 08:33 PM »
what about the F keys - i never go near them my self. Just a thought.

Aha -- those do seem like good candidates for folks with full-size keyboards.  I used to be a Happy Hacking Keyboard user -- and in that context, IIRC I would have needed to press modifiers to get them to work.

good point. Laptop users too i guess. How about the insert key. This to me also makes sense as a logical choice. After all its function (mostly) is to overwrite whats there? I do like the idea of it being the same key to get in and out of that mode (or with esc too). 

ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #55 on: February 09, 2012, 01:05 AM »
[rule_4]
0_arg=FILE
2_arg=TEXT
1_lbl=Move file to
1_ico=icons\Move.png
2_lbl=C:\
cmd=cmd.exe
args=/C "move $0.path $2.text"
workdir=%d

Default to C:\ in the 2 pane, but you can "." and add a path of your choice!

Worked here too :)

If it's just for moving (and not renaming), it seems like it might be nice to be able to navigate to the destination -- so somehow leverage FILE instead of TEXT for the third pane.

For renaming, navigating to the parent folder and then entering text mode to come up with a new name might be handy.  Not sure whether this is doable at the moment though.

ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #56 on: February 09, 2012, 01:26 AM »
Laptop users too i guess.

Indeed!

How about the insert key. This to me also makes sense as a logical choice. After all its function (mostly) is to overwrite whats there?

It does sound logical and looks like it would work for a notebook I have, but sadly I need to press a modifier to get it to work on a Happy Hacking Keyboard.  May be that's a pretty rare case though...

I do like the idea of it being the same key to get in and out of that mode (or with esc too). 

Yes, there is a nice symmetry.

ecaradec

  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 410
    • View Profile
    • Blog & Projects
    • Read more about this member.
    • Donate to Member
Re: Qatapult
« Reply #57 on: February 09, 2012, 05:13 PM »
I hoped to see that much excitement !   :Thmbsup:

I've made a test that allows to enter text mode with '.' or 'insert' and exit with 'esc' and 'insert'. It should be an usable configuration for most people laptop or not.

The thing I'm not sure about is if the dot is a good key for entering text mode. I often type a dot when I want to filter for an extension and erroneouly enter text mode. Insert is way more convenient for me : I don't use text mode very often, and dot is a too easy key to hit for such a uncommon behavior. Get a new version to try for yourself.

I've added ' as a prefix for forcing text mode result. If you want to avoid moving down the list to select the text result, start your query by ' and it should be the first result. We could imagine other prefixes to boost some type of results if you have other ideas.

I think that it could be useful to add filter options to sources too. Sometimes I'd like to pick a folder only or a png file, path restriction etc... I think it could be doable to add that. It would be associated to rules items in my mind : you could say you want a FILE source but only folders... But it could also be a can of worms, I need to meditate about that before moving on...

Another thing I'm thinking about is restriction on the apparition of labels : If you want to create a 'resize to' function that only apply to images, you'd need a way to have it only appears on images preferably.


Blog & Projects : Blog | Qatapult | SwiffOut | FScript

pigeonlips

  • Participant
  • Joined in 2011
  • *
  • Posts: 69
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #58 on: February 09, 2012, 05:45 PM »
@ewemoa
If it's just for moving (and not renaming), it seems like it might be nice to be able to navigate to the destination -- so somehow leverage FILE instead of TEXT for the third pane.

For renaming, navigating to the parent folder and then entering text mode to come up with a new name might be handy.  Not sure whether this is doable at the moment though.

Yeah that works, although it does also include shortcuts in the results. Renaming doesnt work (c:\somefile > Move to > c:\temp\someotherfile) at least with this :

0_arg=FILE
2_arg=FILE
1_lbl=Move file to
1_ico=icons\move.png
2_lbl=C:\
2_ico=icons\move.png
cmd=cmd.exe
args=/C "move $0.path $2.path"
workdir=%d

And of course there's no use of the . to include a file extension lol ! Also i finaly googled happy hacking keyboard and see you point. Not to many options there  :) that said I want one!

@ecaradec

@pigeonlips : don't invest too much on file verbs, tell me what you think about this .
I think it rocks hard. So hard that i have stopped using FARR and was pretty dependent on this must use it like hundreds of times a day.

So i'm porting over all be bits and pieaces and thought i'd share.

Some of the things below are bits i really missed from my farr setup. Mostly have found workarounds to get working in qatapult!

In terms of changed to qatapult, please only take my comments as sugesstions - its your app

Also feel free to take any of it and do with as you wish. Note its all mostly autohotkey stuff and i'm not the best with it.

------------------------ RULES ------------------------
* matching on an arg vaule as well as type to restrict what rules are displayed. This would allow more control to the user in terms of whats displayed in the middle pane. I think this would work to add more context in terms of limiting the actions you can preform. For example....
0_arg=TEXT
0_vaule="comma,separated, list, maybe"
2_arg=FILE
....
then when you use ether "comma", "separated", "list" or "maybe" you rule verb is included as well as the default.

* NUMBER as another 0_arg data type. again to help with context. I'm thinking calculater, dialing numbers etc.

* the ability to add more than one lbl so that i can add multiple entrys to a pane (thinking just the last pane so far). For example:
0_arg=FILE
2_arg=FILE
1_lbl=Set volume
1_ico=icons\volume.png
2_lbl=master
2_ico=icons\volume.png
2.1_lbl=microphone
2.1_ico=icons\microphone.png
2.2_lbl=wave
2.2_ico=icons\wave.png
cmd=C:\Program Files\Qatapult\helpers\set-vol.exe
args=$0.text $2.text
workdir=%d
so in this example i can set the volume control using something like (0 > set volume > microphone) or (100 > Set volume > wave)

------------------- CURRENT SELECTION --------------------------

Be nice if this detected text too. Ie selected text in a text editor. an example would be:

Selected text > change case > upper

Selected text > check spelling  

workaround currently is the following ahk complied. A short cut to it called "selected Text" with a nice icon

http://www.iconeasy....k%202/Dictionary.png

; ---------------------------------------------------------------------------------------------------------
; AutoHotkey Version:   1.0.47.6
; Author:               pigeonlips
; Script Name:    text operation
; Script Function:      Change the case of a word to uppercase, lowercase, titlecase or spell check
;                       need to have aspell installed (http://aspell.net/)

#NoEnv     ; Recommended for performance and compatibility with future AutoHotkey releases.
#SingleInstance , Force ; only want one at a time
SendMode input ; Recommended for new scripts due to its superior speed and reliability.

; whats vaild
validatearguments=upper,lower,title,spell

;get the number of arguments - need one
arg = %0%
if arg > 0
{
; whats its vaule and check its valid
case = %1%
; uncomment for deguging
;msgbox %1% and now %validatearguments%

if case in %validatearguments%
{
; call the sub to do the work
OparateOnSelectText(case)
exitapp
}
}
; goodbye crwel world!
msgbox command not known - you can use one of the following `n %validatearguments%
ExitApp

OparateOnSelectText(case)
{
; Uncomment for debuggin
;msgbox %case%

; get the window with focus
WinGet Id, Id, A

; save the old clipboard
OldClip := ClipboardAll
Clipboard =    

; Wait for Win/Alt/Ctrl to be released, or we will invoke a win + our need match.   this is a safegard
KeyWait, LWin
KeyWait, RWin
KeyWait, Ctrl  
KeyWait, Alt

; copy that word
Send ,^c            
    
; wait for it. ClipWait is for reliability.
ClipWait , 1        
    
; set the word to return
    Word := Clipboard

; transform the contents of the clipboard when upper
if case = upper
StringUpper , Word , Word

; transform the contents of the clipboard when lower
if case = lower
StringLower , Word , Word

; transform the contents of the clipboard when title
if case = title
StringLower , Word , Word , T

if case = spell
{ ; alittle more to do now

; set up a tempary file to use
TmpFile = %TEMP%\SpellCheckerTmp.txt
FileDelete %TmpFile%

;dump the contents of the clipboard to a temp text file
FileAppend %Word%, %TmpFile%

;run aspell
Run C:\Program Files\Aspell\bin\aspell.exe check "%TmpFile%"

;focus then wait for the cmd to close
WinWaitActive ahk_class ConsoleWindowClass
WinWaitClose ahk_class ConsoleWindowClass

; read in the correct word
FileRead Word, %TmpFile%
}

;focus the orginal application
WinActivate ahk_id %Id%
WinWaitActive ahk_id %Id%

; paste the new clipboard vaule
Send , %Word%

;replace the contents of the clipboard back to what it was
Clipboard := OldClip
}

then the following rule:

0_arg=FILE
2_arg=text
1_lbl=Change Selected Text
1_ico=icons\window.png
cmd=C:\Program Files\Qatapult\helpers\ian-Changetext.exe
args=$2.text
workdir=%d

works like :

selected text > Change selected text > UPPER
selected text > Change selected text > LOWER
selected text > Change selected text > TITLE
selected text > Change selected text > SPELL

------------ ACTIONS ON WINDOWS ----------------

Switching to an open window would be nice. I do this in FARR alot as aposed to Alt-Tab. My workaround for the moment is the following ahk script complieted

icon http://images-3.find...rimo/128/windows.png

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetTitleMatchMode RegEx
WinActivate, i)%1%
then useing this rule
0_arg=TEXT
1_lbl=Switch to window
1_ico=icons\window.png
cmd=C:\Program Files\Qatapult\helpers\ian-switchapp.exe
args=$0.text
workdir=%d
be nice if this was native and displayed a list of open windows Somthing my workaround doesnt do :(

Also Minimize and maximise would be sweet but i guess most keyboard junkies kow the shortcuts for this anyway.

Finaly the last one while on the shortcuts topic is to be able to interact with an application. I never remeber the shortcuts for all the apps i use (and sometimes they differ from app to app). So ....

again complied version of this ahk script:

icon used http://www.marketing.../images/keyboard.png


; ---------------------------------------------------------------------------------------------------------
; AutoHotkey Version:   1.0.47.6
; Author:               Ian
; Script Name: Keygram
; Script Function:      sends key-combo to application based on a word
; Todo nice to have a command list. not sure how to show it. You can get a list using ini_ReadSections(iniFile,application)

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#SingleInstance , Force ; only want one at a time

; set up the global settings
applicationName = keygram
iniFile = %A_ScriptDir%\%applicationName%.ini

; read global settings from ini
vaildcommands := ini_ReadSections(iniFile,"")
keydelay := ini_Read(iniFile, "keygram", "keydelay")
SendMode := ini_Read(iniFile, "keygram", "mode")
SetKeyDelay := keydelay
; get the active application exe name - unless the window id is passed in ldialater we will assume its the active window
winget , application, ProcessName, A
winget , applicationid, ID, A
;get the number of arguments - need just one
args = %0%


; ------------------------------------------------------------------------------------------------------------------------------------------
if args > 0
{
Loop, %args%  ; For each argument:
{
;split the argument with = ie KEY=VAULE
stringsplit,argumentitem, %A_Index%, =
; uncomment below for debugin!
;msgbox %argumentitem1% = %argumentitem2%

; there is no case statement in ahk scripts so i'm using labels instead.
If IsLabel("case-" . argumentitem1)
{
Loop 1
{
  Goto case-%argumentitem1%  
  case-window:
; If its a  number we are probably looking for the HWND id
if argumentitem2 is integer
{
winget , application, ProcessName, ahk_id %argumentitem2%
winget , applicationid, id, ahk_id %argumentitem2%

}
; not a number - lets look for the title!
else
{
SetTitleMatchMode RegEx
WinActivate, i)%argumentitem2%
; get the windows process name. Thought this would be best.
winget ,application,ProcessName, A
winget ,applicationid, id, A
}
; uncomment below for debugin!
;msgbox %application% id is %applicationid% > got it from %argumentitem2%
break
  case-command:
command = %argumentitem2%  
break
  case-bonusbite:
bonusbite = %argumentitem2%
break
}
}
}
}
; ------------------------------------------------------------------------------------------------------------------------------------------

; now for the main logic - running the command

if command in %vaildcommands%
{
; check theres a match for the application
keycombo:= ini_Read(iniFile, command, application)
;if theres no match i get ERROR
if keycombo = ERROR
{
; theres no match now too look up fallback (use for "all" applications)
keycombo:= ini_Read(iniFile, command, "all")
;still no match
if  keycombo = ERROR
{
; ask user if it should be added
msgbox 4,, %application% is not on the list for %command%. Want to add it?
IfMsgBox No
exitapp
; ask for the key combo to use
KeyCombo := ask_ForKeyCombo()
; add it to the ini file
ini_Add(iniFile, command, application, KeyCombo)
}
}
; send the keycombo
WinActivate , ahk_id %applicationid%
Send , %keycombo%
}
else
{
msgbox 4, %command% not understood, Do you want to use the learing wizard to add it?
IfMsgBox Yes
LeanCommand(command, iniFile)
}
; if theres anything else to send then send that too - send it RAW baby!
if bonusbite !=
{
WinActivate , ahk_id %applicationid%
sendraw %bonusbite%
}

LeanCommand(command, iniFile) ; *******************************************************************************************
{
; welcome message
msgWizardWelcome := msgWizardWelcome()
msgbox 64, learn wizard, %msgWizardWelcome%
; get the name of the command
InputBox, command, learn wizzard, name you want to call this command?,,,,,,,,%command%
; start with the last found windows we can use this as a default, in case its right!
WinGetActiveTitle, Title
; get the application
Application := ask_ForApplication(Title)
; now to get the keycombo
KeyCombo := ask_ForKeyCombo()
; write it to the ini file
ini_Add(iniFile, Command, Application, KeyCombo)
; let the user know
msgbox ,You learn something new very day!, When you have "%Application%" focused in future and say "%Command%" i'll send "%KeyCombo%" to it!
}

ini_Create(file) ; *************************************************************************************************************
{
; create a default ini file. with default vaules
iniWrite , 500 , %file% , keygram , KeyDelay
iniWrite , Input , %file% , keygram , Mode
; now some comments
FileAppend ,  `;  Mode     - can be "Event" "Input" "InputThenPlay" or Play `n,  %file%  
FileAppend ,  `;           see http://www.autohotkey.com/docs/commands/SendMode.htm `n,  %file%  
FileAppend ,  `;  KeyDelay - Sets the delay that will occur after each keystroke. Doesnt apply if mode is "Input" `n,  %file%  
FileAppend ,  `;           see http://www.autohotkey.com/docs/commands/SetKeyDelay.htm `n,  %file%
FileAppend ,  `n,  %file%
FileAppend ,  `; For a list of key vaules this ini file uses look at `n,  %file%
FileAppend ,  `; http://www.autohotkey.com/docs/commands/Send.htm#SendPlay `n,  %file%
}

ini_Read(file, section, key) ; *************************************************************************************************
{
; if theres no file create a blank one with default settings
IfNotExist , %file%
ini_create(file)
;read the ini file and return key
iniRead, value, %file%, %section%, %key%
; return the vaule
return value
}

ini_Add(file, section, key, vaule) ; *******************************************************************************************
{
; this will also write the file if it doesnt exist. Lets hope the file passed in is Correct!
iniWrite , %vaule% , %file% , %section% , %key%
}

ini_ReadSections(file, application) ; *******************************************************************************************************
{
; clear the var
sections :=
;loop - reads the ini file
Loop, Read, %file%
{
 ; look for lines that start with [ and end with ]
      If (SubStr(A_LoopReadLine, 1, 1) = "[") and (SubStr(A_LoopReadLine, 0, 1) = "]")
 {
; take off first char and last char - should be [ and  ]
StringTrimLeft , newSection , A_LoopReadLine , 1
StringTrimRight , newSection , newSection , 1
; add this to the list obmit the "keygram" setting
if newSection != keygram
{
; if we passesd in an application lets only show sections vaild for that!
if application
{
msgbox i fire with %application%
VaildForApplication := ini_Read(file, newSection, application)
if VaildForApplication = ERROR
{
; found nothing for that application, but what about "all" thats vaild right!
VaildForApplication := ini_Read(file, newSection, "all")
if VaildForApplication != ERROR
sections := newSection . "," . sections
}
else
{
; found a match for my application
sections := newSection . "," . sections
}
}
; no application - lets retrun all vaild sections!
else
{
sections := newSection . "," . sections
}
}
 }
}
; remove the last ","
StringTrimRight , sections , sections , 1

; return the list
return sections
}


ask_ForKeyCombo() ; *************************************************************************************************************
{
msgKeyCombo := msgKeyCombo()
; now to get the action
InputBox, KeyCombo, learn wizzard, %msgKeyCombo%
; correct modifer keys ie user wants "!" but gets alt
StringReplace, KeyCombo, KeyCombo, !,{!}, All
StringReplace, KeyCombo, KeyCombo, #,{#}, All
StringReplace, KeyCombo, KeyCombo, +,{+}, All
StringReplace, KeyCombo, KeyCombo, ^,{^}, All
; correct modifer keys ie user wants Alt but gets "!"
StringReplace, KeyCombo, KeyCombo, {Ctrl},^, All
StringReplace, KeyCombo, KeyCombo, {Win},#, All
StringReplace, KeyCombo, KeyCombo, {Shift},+, All
StringReplace, KeyCombo, KeyCombo, {Alt},!, All
; all done and now for the results
return KeyCombo
}

ask_ForApplication(title) ; **********************************************************************************************************
{
; get the application for the command - lets loop through this process untill the user is happy
loop
{
; show an input box for the user to select the application
msgApplication := msgApplication()
InputBox, Title, learn wizzard, %msgApplication%,,,,,,,,%Title%
; if the application title entered was all lets get out of here and just return that!
if title = all
break
; not all - keep at it - foucus the user selected application
SetTitleMatchMode RegEx
WinActivate, i)%Title%
; get the windows process name. Thought this would be best.
winget ,application,ProcessName, A

; now flash the window
hWnd := WinActive( "A" )
Loop 4
{
DllCall( "FlashWindow", UInt,hWnd, Int,True )
Sleep 500
}
DllCall( "FlashWindow", UInt,hWnd, Int,False )
; ask to confirm that we got the right window
msgbox 4,learn wizard, did the application window you want flash? If not quick tip - click on it now to give it focus. then click no. I'll try and guess it!
IfMsgBox Yes
break
}
; return the application
return application
}

msgWizardWelcome() ; ******************************************************************************************
{
msgWizardWelcome =
(
This wizard will help me learn a new command for you
=====================================================
You are going to need 3 things

#> name                 = a name to call this command.
#> application          = the application you would like to apply an action too.
#> key combination      = the input to send to this application. A shortcut for example or a signature.

To work out the windows label for you application, please open that application or focus it before you click ok!

if your application is open - click next to continue!
)
return msgWizardWelcome
}
msgKeyCombo() ; ************************************************************************************************
{
msgKeyCombo =
(
Type in the key combination below
=======================================
some notes - special keys include:
   {F1} - {F24} or  {Numpad0} - {Numpad9}
   {Enter} {Esc} {Tab} {Backspace} {Delete} {Insert} etc
   {Ctrl} {Alt} {Shift} {LWin} etc
see http://www.autohotkey.com/docs/commands/Send.htm for more.
)
return msgKeyCombo
}

msgApplication() ; ************************************************************************************************
{
msgApplication =
(
Apply this all Applications
-----------------------------
in the input box below use the word "all"

Use the title of the application
---------------------------------
look at the title bar of the application.
Type some of it in here (doesnt need to be all of it but the more the better!).
I'll focus it and make it flash - you can tell me if i got the right one!
)
return msgApplication
}

then this rule:

0_arg=TEXT
2_arg=TEXT
1_lbl=Keygram
1_ico=icons\keyboard.png
2_lbl=
cmd=C:\Program Files\Qatapult\helpers\keygram.exe
args=command=$0.text bonusbite=$2.text
workdir=%d

works like (with say notepad++ open and focused):

new > keygram > hello world

to test add this to the keygram.ini

[new]
notepad++.exe=^n
WINWORD.EXE=!fnln


It feels like i have been typing forever and just noticed you have posted again. I'll also shut up for a bit as i feel i'm kinda spamming the board. Don't mean to - just super excited about qatapult.

I cannot say it enough. Thanks for the app. Its shaping up really nice. Love it and the direction your taking it.
« Last Edit: February 09, 2012, 06:48 PM by pigeonlips »

pigeonlips

  • Participant
  • Joined in 2011
  • *
  • Posts: 69
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #59 on: February 09, 2012, 05:54 PM »
cannot help my self:

I've added ' as a prefix for forcing text mode result. If you want to avoid moving down the list to select the text result, start your query by ' and it should be the first result. We could imagine other prefixes to boost some type of results if you have other ideas.

makes the above workarounds easyer for me to use. I was getting hard work hitting arrow down, end  ;D

Thanks!

I think that it could be useful to add filter options to sources too. Sometimes I'd like to pick a folder only or a png file, path restriction etc... I think it could be doable to add that. It would be associated to rules items in my mind : you could say you want a FILE source but only folders... But it could also be a can of worms, I need to meditate about that before moving on...

are you thinking like the modifier keywords in FARR? Always thought that was cool. great when you have a supper large set of things indexed.

Another thing I'm thinking about is restriction on the apparition of labels : If you want to create a 'resize to' function that only apply to images, you'd need a way to have it only appears on images preferably.

sounds great.  :Thmbsup: Anything that adds smarts to whats displayed in the verb (middle) pane i think is what really will set this app appart from all the others out there!

ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #60 on: February 09, 2012, 05:58 PM »
I've made a test that allows to enter text mode with '.' or 'insert' and exit with 'esc' and 'insert'. It should be an usable configuration for most people laptop or not.

May be this will finally teach my body where the Insert key is -- it's quite a stretch for my pinky though for the desktop keyboard :)

On a side note, would it be hard to make some of the hotkeys configurable?  If it were easy, may be we could try out various possibilities and report back on our experiences.  I'm interested in trying out pigeonlips' idea about using the function keys -- I suppose I can try to hack together an AHK script to "reroute" function keys to other keys.

The thing I'm not sure about is if the dot is a good key for entering text mode. I often type a dot when I want to filter for an extension and erroneouly enter text mode. Insert is way more convenient for me : I don't use text mode very often, and dot is a too easy key to hit for such a uncommon behavior. Get a new version to try for yourself.

Typing a dot to filter for an extension sounds nice -- hadn't tried that.

It's sounding more and more like dot isn't such a good choice for text mode.  I guess QS also supported single quote -- for reference, that's mentioned on page 22 of the manual and it's how I remember it too.

If you think it might help, there is an old Mac Mini sitting around with some version of QS installed -- may be I can see if it will still work to do some testing.

pigeonlips

  • Participant
  • Joined in 2011
  • *
  • Posts: 69
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #61 on: February 09, 2012, 06:41 PM »
I've added ' as a prefix for forcing text mode result. If you want to avoid moving down the list to select the text result, start your query by ' and it should be the first result. We could imagine other prefixes to boost some type of results if you have other ideas.

hummm - finding that its defaulting to text straight away. While great at first (was testing all my free text stuff) it was great, but now noticed that you have to complete the whole word for a match. (or hit arrow down).

Not sure if that was you intention?



ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #62 on: February 09, 2012, 07:55 PM »
pigeonlips:

I hope to take a look at what you've posted once I have access to a running Windows environment again :)



all:

The local Mac Mini with QS on it decided to cooperate so I got some screenshots and did some testing.

QS window (with some customization to show current date / time)

qs-shown.jpgQatapult

QS window with text mode

qs-text-mode.jpgQatapult

Note: I didn't find QS to become a single pane when entering text mode.

While trying out pigeonlips' Move-related functionality, I was editing the third pane content in text mode, and it felt like it might be nicer to be able to see the other panes while doing that editing (currently switching to text mode shows an expanded pane, right?).

I remember seeing QS' window expand and contract, but I'm thinking this might have been for growing / shrinking between 2 and 3 panes.

Any thoughts?

ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #63 on: February 09, 2012, 08:00 PM »
------------------- CURRENT SELECTION --------------------------

Be nice if this detected text too.

Yes, please!

pigeonlips

  • Participant
  • Joined in 2011
  • *
  • Posts: 69
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #64 on: February 09, 2012, 08:09 PM »
While trying out pigeonlips' Move-related functionality, I was editing the third pane content in text mode, and it felt like it might be nicer to be able to see the other panes while doing that editing (currently switching to text mode shows an expanded pane, right?).

I remember seeing QS' window expand and contract, but I'm thinking this might have been for growing / shrinking between 2 and 3 panes.

Any thoughts?

I kinda see the benefit of both. If its large then you get more room to type/edit which is nice.

If its just in the one pane then you can see whats in you other panes as you said - also sounds nice. As i'm stuck on the fence with this one i'll sit out. Ether works well for me.

The one thing that does bother me a little is the position of the drop down box in the second and third pane. I'd rather see it expand the whole size of qatapult.

You could always algin the text (left, center, right) in it if people feel its not clear with pane its related to.


http://img607.imageshack.us/img607/4338/qatapultdropdowntofarri.jpg
Qatapult

ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #65 on: February 09, 2012, 09:07 PM »
The one thing that does bother me a little is the position of the drop down box in the second and third pane. I'd rather see it expand the whole size of qatapult.

Interestingly, in the QS Manual on page 10 it shows what you describe for 2 panes (i.e. expanding to the width of both panes).  However, for 3 panes, on page 8, it shows something similar to how Qatapult currently seems to behave...

link to modified QS manual
BTW, modified the QS manual to make navigation easier (now has table of contents which may be viewable as a side pane in some PDF viewers):

  https://www.donationcoder.com/forum/index.php?topic=28713.msg272276#msg272276

« Last Edit: February 09, 2012, 09:14 PM by ewemoa »

ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #66 on: February 10, 2012, 04:05 AM »
Some minor points I noticed:



This works:

[rule_2]
0_arg=TEXT
1_lbl=Large Type
1_ico=icons\LargeType.png
cmd=..\AutoHotkey_L\AutoHotkey.exe
args=LargeType.ahk "$0.text"

but this doesn't:

[rule_2]
0_arg=TEXT
1_lbl=Large Type
1_ico=icons\LargeType.png
cmd=..\AutoHotkey_L\AutoHotkey.exe
args="LargeType.ahk" "$0.text"

I'm guessing the double quotes in the args= line might be relevant.

I'll try to attach the script and icon at the end of this post.

As a side note, in the cmd= line, referencing an AHK_L exe allows us to not bother with compiling scripts -- this may be more convenient during testing / development.  This may work with AHK Basic too, but I haven't tried that.

Also, IIRC, using mpress.exe, AHK_L's exe can be made between 300 and 400 kB so it's not so bad in terms of file size from the perspective of a potential user -AND- AHK doesn't need to be installed (it's "portable").  So the AHK exe can just sit in the same directory as Qatapult.exe.  For users who don't mind obtaining AHK's exe but don't want to install it (e.g. weird people like myself) may be this is a viable option.

Thanks to pigeonlips' examples -- they were helpful in working out the above example.



Any chance there'd be a way to get settings.ini reread conveniently?  Right now I quit Qatapult using 'Quit' and then start it again.  Is there already a "Reload" or "Restart" command?  Or may be there is already some good way to manage that I missed :)



I appreciate the support for relative paths in settings.ini.  Thanks!

On a related note, I tried to use environment variables but didn't have much luck.  Is that something that is supposed to work?



Sorry if I missed it, but is there a way to set a font?  I don't see a setting in the generated settings.ini.

ecaradec

  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 410
    • View Profile
    • Blog & Projects
    • Read more about this member.
    • Donate to Member
Re: Qatapult
« Reply #67 on: February 10, 2012, 04:13 PM »
finding that its defaulting to text straight away
That's definitly a mistake. It should still be the last result unless you add a '
Fixed !

There is a ton of new ideas, I've read them. I'll take the time to answer later ;) it's time for relaxing and medition tonight
Blog & Projects : Blog | Qatapult | SwiffOut | FScript

ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #68 on: February 10, 2012, 09:03 PM »
BTW, I have an almost working "Calculate".

How to display the results though...

The current testing version has code for:

  • Via the LargeType functionality posted earlier
  • Via pasting a value in to Qatapult's first pane

The paste method doesn't work so well at the moment -- somehow, dots get lost so what should come out as:

  0.750000

results in:

  0750000

In either case, the result of calculation is not (easily?) selectable for use elsewhere -- some motivation for making things selectable in Qatapult panes? :)

May be there could be a way to pass a running Qatapult instance some data to display -- perhaps via some command line invocation?

ecaradec

  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 410
    • View Profile
    • Blog & Projects
    • Read more about this member.
    • Donate to Member
Re: Qatapult
« Reply #69 on: February 11, 2012, 09:59 AM »
Are you actually pasting text into qatapult or sending it in some way via autohotkey ? If you send it as char it would be as if you hit the . key, and as qatapult is doing some special use with it it doesn't work. Autohotkey also has special send commands that behave differently, one of them might work better...
Blog & Projects : Blog | Qatapult | SwiffOut | FScript

ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #70 on: February 11, 2012, 05:08 PM »
Are you actually pasting text into qatapult or sending it in some way via autohotkey ? If you send it as char it would be as if you hit the . key, and as qatapult is doing some special use with it it doesn't work. Autohotkey also has special send commands that behave differently, one of them might work better...

Tried a few of the Send* commands without much success.  If none of them work, may be I'll try pasting.

ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #71 on: February 11, 2012, 08:58 PM »
None of the following worked:

  • Send
  • SendRaw
  • SendInput
  • SendPlay
  • SendEvent

However, doing the following first does:

Code: Autohotkey [Select]
  1. Send, .
  2.     Send, {BackSpace}

Pasting seems to work fine.

ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #72 on: February 11, 2012, 09:10 PM »
Here's what Calculate usage looks like now:

Division
qatapult-calculate-division.png.pngQatapult
qatapult-calculate-division-result.png.pngQatapult

Trig
qatapult-calculate-trig.png.pngQatapult
qatapult-calculate-trig-result.pngQatapult

The implementation uses AutoHotkey.dll -- the text is just evaluated by AHK.
« Last Edit: February 12, 2012, 02:42 AM by ewemoa »

ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
Re: Qatapult
« Reply #73 on: February 12, 2012, 03:00 AM »
Is there some way to input newlines / CRs in text mode?  It looks like pasting text with them works.

If there isn't a way already and it's worth doing, may be some modifier + Enter?  I think I've seen Alt+Enter as well as Shift+Enter.

Not sure how multiple lines might end up working when using text values as arguments though...may be temporary files might be used for communication to / from Qatapult?

ecaradec

  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 410
    • View Profile
    • Blog & Projects
    • Read more about this member.
    • Donate to Member
Re: Qatapult
« Reply #74 on: February 12, 2012, 05:02 AM »
Wow ! Very impressive ! The integration is awesome, especially considering what you have access to. Yes a shift+enter is totally possible for entering new lines. I'll probably use it for the email as well : taking the first line as the object and the rest as the body.
Blog & Projects : Blog | Qatapult | SwiffOut | FScript