Disable/enable triggers

Syntax1 - set state

dis[+|-] [macro|iid] [flags]

 

Syntax2 - get state

int dis([macro|iid] [flags])

 

Parts

macro - name of macro or other item. Can be list of items, delimited by new lines. String.

iid - QM item id. Integer.

flags - one of values below. Integer. Default: 0.

0 macro is not folder;
1 macro is folder;
2 macro is item of any type.

Options:

+ disable;
- enable;
Default toggle.

 

Remarks

Syntax1

Disables or enables macro trigger. If macro is omitted, disables or enables QM (same as menu Run -> Disable Triggers).

 

If macro begins with \, it is interpreted as QM item path. For example, to disable macro "Next" that is in "Mouse" folder, you can use "\Mouse\Next".

 

If macro is "", disables/enables current file.

 

Syntax2

If used as function, just returns disabled/enabled state. For items, returns 0 if enabled, 1 if disabled, 2 if enabled but is in disabled folder or file. For QM, returns combination of flags indicating which trigger types are disabled: 1 - keyboard, 2 - mouse, 4 - window, 8 - command line, 16 - user-defined, 32 - file, 64 - event log, 128 - QM is in "disabled" state (gray icon), 0x100 - process, 0x200 - accessible object.

 

If macro is "", returns 1 if current file is disabled, or 0 if enabled.

 

Examples

dis ;;disable or enable QM
dis+ "Macro" ;;disable macro
dis+ "\Folder\Macro"
dis "Folder1[]Folder2" 1 ;;disable or enable two folders

int i = qmitem("Macro139")
dis i
if(dis(i)) out "disabled"; else out "enabled"

if(dis&128) ret ;;if QM is disabled, exit
if(dis&16) ret ;;user-defined triggers are disabled, exit