Processing Ajax...
Save 25% on our desktop apps during our Black Friday/Cyber Monday sale!Save 25% on our desktop apps during our Black Friday/Cyber Monday sale, including DisplayFusion, ClipboardFusion, FileSeek, LogFusion, TrayStatus, and VoiceBot!Save 25% on our desktop apps during our Black Friday/Cyber Monday sale!

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Working with Triggers

DisplayFusion Triggers are a powerful and versatile way to automate your window management tasks. This document details the configuration options for Triggers and showcases several examples.
To navigate to DisplayFusion's Triggers, right-click on the DisplayFusion tray icon and click "Settings."
Click on the "Triggers" tab and ensure the "Enable Triggers" checkbox is enabled. Individual Triggers can be enabled/disabled by selecting them from your list and using the "Enable" and "Disable" buttons at the bottom of the Triggers window.
To begin with a new Trigger, click the "Add" button.
Every Trigger needs an Event to initiate it and at least one Action to perform. Other requirements and restrictions can be applied via the many Trigger Options and Match Conditions as detailed in the sections below.
By default, the Trigger is enabled. You can disable it by disabling this checkbox.
Events are what initiate the Trigger's actions. Some Event selections will require more details in the Match Conditions pane of the Edit Trigger window. Below are the current Event options:
Each Event can be set for use with a specific Monitor Profile using the relevant options in the Match Conditions pane.
Event Definition Additional Options Match Conditions Requirements
DisplayFusion Starts This will initiate the Trigger when the DisplayFusion software runs. Don't run this trigger when the desktop is locked None
DisplayFusion Exits This will initiate the Trigger when the DisplayFusion software is stopped. Don't run this trigger when the desktop is locked None
Desktop Locked This will initiate the Trigger when the Windows desktop is locked. None None
Desktop Unlocked This will initiate the Trigger when the Windows desktop is unlocked. None None
Monitor Profile Changed This will initiate the Trigger when DisplayFusion changes its Monitor Profile. Monitor Profiles are managed from the Monitor Configuration section accessed via the Options tab of DisplayFusion Settings. Don't run this trigger when the desktop is locked None
Process Created This will initiate the Trigger when a Process runs. Frequency, Stop processing triggers if this one matches, Don't run this trigger when the desktop is locked, Process Filename, Process Command Line Parameters, Delay before checking match conditions Requires a Process Filename entry.
Process Ended This will initiate the Trigger when a Process stops. Frequency, Stop processing triggers if this one matches, Don't run this trigger when the desktop is locked, Process Filename, Process Command Line Parameters, Delay before checking match conditions Requires a Process Filename entry.
System Idle This will initiate the Trigger when the system is marked as idle. DisplayFusion uses the built-in Windows idle timer for System Idle Events. Idle Timeout, Don't run this trigger when the desktop is locked None
System Wakes from Sleep This will initiate the Trigger when the system wakes from sleep. Don't run this trigger when the desktop is locked None
Timer Interval This will initiate the Trigger on a regular interval. Interval (required), Don't run this trigger when the desktop is locked None
Window Created This will initiate the Trigger when a window is created. Frequency, Stop processing triggers if this one matches, Don't run this trigger when the desktop is locked, Process Filename, Process Command Line Parameters, Window Text, Window Class, Delay before checking match conditions Requires a Process Filename, Window Text, OR Window Class entry.
Window Destroyed This will initiate the Trigger when a window is destroyed (closed). Frequency, Stop processing triggers if this one matches, Don't run this trigger when the desktop is locked, Process Filename, Process Command Line Parameters, Window Text, Window Class, Delay before checking match conditions Requires a Process Filename, Window Text, OR Window Class entry.
Window Focused This will initiate the Trigger when a window is focused on. Frequency, Stop processing triggers if this one matches, Don't run this trigger when the desktop is locked, Process Filename, Process Command Line Parameters, Window Text, Window Class, Delay before checking match conditions Requires a Process Filename, Window Text, OR Window Class entry.
Window Maximized This will initiate the Trigger when a window is maximized. Frequency, Stop processing triggers if this one matches, Don't run this trigger when the desktop is locked, Process Filename, Process Command Line Parameters, Window Text, Window Class, Delay before checking match conditions Requires a Process Filename, Window Text, OR Window Class entry.
Window Minimized This will initiate the Trigger when a window is minimized. Frequency, Stop processing triggers if this one matches, Don't run this trigger when the desktop is locked, Process Filename, Process Command Line Parameters, Window Text, Window Class, Delay before checking match conditions Requires a Process Filename, Window Text, OR Window Class entry.
Window RestoredThis will initiate the Trigger when a window is restored. Frequency, Stop processing triggers if this one matches, Don't run this trigger when the desktop is locked, Process Filename, Process Command Line Parameters, Window Text, Window Class, Delay before checking match conditions Requires a Process Filename, Window Text, OR Window Class entry.
Option Definition Dependency Required?
Don't run this trigger when the desktop is locked This Trigger will not run when the Windows desktop is in the locked state Available for all Events except for Desktop Locked/Unlocked No
Frequency Configures how often the Trigger is run per instance (options: Always, Once-per-Process ID, Once-per-Process Name, Once-per-Window) Limited to Process Created, Process Ended, Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events Yes (Default Always)
Stop Processing triggers if this one matches When this Trigger is run, subsequent matching Triggers will not run. Limited to Process Created, Process Ended, Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events No
Idle Timeout (sec)Once the system has gone idle, the Trigger will delay this number of seconds before running any of the Trigger's actions. Limited to System Idle Event Yes (Requires a value of 1 or more)
Interval A delay in seconds before running any of the Trigger's actions. Limited to Timer Interval Event Yes (Requires a value of 1 or more)
When Process and Window Match Conditions are made available, at least one will need to be populated to save the Trigger.
Condition Definition Dependency Required?
Process Filename Limits the Trigger to a specific application (Enable the checkbox and use the Select Application button to choose. Wildcard usage is acceptable, e.g. C:\Applications\*, or *.*) Limited to Process Created, Process Ended, Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events No
Process Command Line Parameters Limits the Trigger to Applications with specific Parameters (Enable the checkbox to use. Drop the blue target icon onto windows to auto-populate or reference the Windows Task Manager Command Line column for a running process) Limited to Process Created, Process Ended, Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events No
Window Text Limits the Trigger to Applications with specific window Titles (Enable the checkbox to use. Drop the blue target icon onto windows to auto-populate. Multiple entries can be added with a space between each. For other options, see Text Queries.) Limited to Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events No
Window Class Limits the Trigger to Applications with specific window Classes. (e.g. dialogs, settings windows, etc. Enable the checkbox to use. Drop the blue target icon onto windows to auto-populate. Multiple entries can be added with a space between each. For other options, see Text Queries.) Limited to Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events No
Monitor Profile Limits the Trigger to a specific Monitor Profile. (Enable the checkbox and select a profile to use.) Available for all Events No
Delay before checking match conditions (MS) Sets a delay in milliseconds before checking any set Match Conditions. Limited to Process Created, Process Ended, Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events No
The Actions are what the Trigger performs when initiated. The Actions are performed in the order presented, but can be re-ordered by dragging them into new positions in the Actions pane.
To add Actions, click the "Add" dropdown and select from the Action options. Some options will bring up a window for additional settings. Use the Edit and Delete buttons to edit and delete Actions from the list.
Action Definition Dependency Additional Options
Wait Sets a delay in milliseconds before the next Action is run (Requires a value of 1 or more). Available for all Events None
Move Window to Selected Monitor Moves the window matching the conditions to a specific monitor. Limited to Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events Choice of monitor (required)
Move Window to Mouse Cursor Monitor Moves the window matching the conditions to the monitor where the mouse cursor is located. Limited to Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events None
Move Window to Specific Size and Location Moves the window matching the conditions to a specific location and size. (Drop the blue target icon on the window to auto-populate the size and location.) Limited to Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events Size and Location Values (required), Maximize Window
Maximize Window Maximizes the window matching the conditions. Limited to Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events None
Minimize Window Minimizes the window matching the conditions. Limited to Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events None
Center Window on Monitor Centers the window matching the conditions on its current monitor. Limited to Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events None
Span Window Maximizes the window matching the conditions across all monitors. Limited to Window Created, Window Destroyed, Window Focused, Window Maximized, Window Minimized, Window Restored Events None
Show Notification Displays a notification. (Uses Windows notification system.) Available for all Events Notification text
Run Function Runs a pre-defined DisplayFusion function. Available for all Events Function select from dropdown (Required)
Run Function: Add New Custom Function Runs a user-customized DisplayFusion function. For more detail, see Custom Functions Available for all Events Name (Required), Function Action (Required), Action configuration (Required), HotKey Combination
Run Function: Add New Scripted Function Runs a user-scripted DisplayFusion function. Available for all Events Language (Required), Name (Required), HotKey Combination, Description, Custom Code
Click "OK" to save the Trigger.
Once a Trigger is configured and saved, it will appear in the Triggers tab list. By selecting a Trigger, you can then edit, delete, enable, and disable it using the buttons at the bottom of the tab window. Triggers within the same Event grouping (e.g. Process Created) will run in the order listed, but can be re-ordered by dragging the Trigger into a new position.
To save and apply any changes, click the "OK" button at the bottom of the Settings window.
Jan 28, 2016 (modified Aug 15, 2022)  • #1
User Image
The Breeze
13 discussion posts
Yes. Thank you much.
May 24, 2019  • #2
User Image
Sun W. Kim
28 discussion posts
My basic trigger asks Display Fusion (DF) to move a new window to wherever the cursor is currently located. Is this behavior of Chrome? I have multiple tabs tied to different displays. So, it seems if I click a link in an application, a new tab will open on whatever display was last used in Chrome. If the cursor is on a display different than the last known display, DF won't create/move the tab to the correct display.

I'm thinking this is by design or some sort of limitation w/ Chrome. The trigger seems to work fine on any application that is single window.
• Attachment [protected]: 191015-04.jpg [26,388 bytes]
Oct 15, 2019  • #3
Keith Lammers (BFS)'s profile on WallpaperFusion.com
You're correct, that's by design with Chrome, and unfortunately DisplayFusion can't manage individual tabs, only the window itself.

Sorry!
Oct 16, 2019  • #4
User Image
Fear na Boinne
34 discussion posts
Is there a way to trigger on the starting/stopping of the screensaver?
Jan 13, 2020  • #5
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Not at the moment, but this is currently on our feature request list, so I've added your vote to it. We'll be sure to let you know if/when we're able to implement it in the future.

Thanks!
Jan 13, 2020  • #6
User Image
NetMage
267 discussion posts
Can we get more documentation on the triggers, such as when will System Idle trigger or what Windows System Event that each corresponds to?
Jan 23, 2020  • #7
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Windows has its own idle timer that counts up when there's no input. DisplayFusion uses that timer for the System Idle Timer trigger event.
Jan 27, 2020  • #8
User Image
Robnw
1 discussion post
Is there a way to trigger when I plug my laptop into a dock with two monitors? I often disconnect/reconnect during the day and it would be nice if the windows that are already open would automatically snap to the monitor they used to be on. I've set up a Window Position Profile but I need to execute it manually each time I connect to the dock.

Edit: I worked it out. I learned that if I set up a Monitor Profile, I can attach my Window Position Profile to it.
Jan 29, 2020 (modified Jan 30, 2020)  • #9
User Image
MarkOt
10 discussion posts
Hi
I have a trigger that moves Word to monitor 2 and maximises.
However it doesn't always work.
If it's working, one thing that makes it stop working is, opening a Word from email attachment. DF wont move that instance, and any new word doc opened after that.
It also will just top working about sometimes 10 times of working sometimes 5.

Sometimes to make it work again, i open a blank word doc, and it will move Word, and new instances after that.

I have attached the log. I've tried every combination of trigger settings. I can't make it work all the time.. tends to work about 10 times, and then stops.

Monitor 2 has a DF taskbar set to the top of the screen.

Mark.
• Attachment [protected]: DF log.txt [203,639 bytes]
Mar 18, 2020  • #10
Jon Tackabury (BFS)'s profile on WallpaperFusion.com
Thank you for the information! We're a bit backed-up right now but we'll take a look as soon as we can and get back to you. Thanks! :)
Mar 19, 2020  • #11
Keith Lammers (BFS)'s profile on WallpaperFusion.com
@MarkOteam: Word sometimes re-uses window handles (instead of generating new ones each time a window opens) which trips up the Window Created Trigger Event. Could you try changing the Trigger Event to Window Focused to see if that helps?
Mar 20, 2020  • #12
User Image
MarkOt
10 discussion posts
Quote:
@MarkOteam: Word sometimes re-uses window handles (instead of generating new ones each time a window opens) which trips up the Window Created Trigger Event. Could you try changing the Trigger Event to Window Focused to see if that helps?


Thank you, can you recommend what the other settings should be, as now it's not maximising.. I have Window Focused. Frequency: once-per-process name. Stop preccessing trigger if this one matches and match condiition is the path of Word.
I have removed the maximise action, saved. added it back. no change.

Thanks Mark.
Mar 21, 2020  • #13
User Image
Fear na Boinne
34 discussion posts
Quote:
Quote:
@MarkOteam: Word sometimes re-uses window handles (instead of generating new ones each time a window opens) which trips up the Window Created Trigger Event. Could you try changing the Trigger Event to Window Focused to see if that helps?


Thank you, can you recommend what the other settings should be, as now it's not maximising.. I have Window Focused. Frequency: once-per-process name. Stop preccessing trigger if this one matches and match condiition is the path of Word.
I have removed the maximise action, saved. added it back. no change.

Thanks Mark.

You probably don't want "once per session", as that does literally do what is says: restrict the trigger to only trigger onve in a session...
Mar 21, 2020  • #14
User Image
MarkOt
10 discussion posts
Hi when i had windows focused, in word if another Word dialoug box opened, like a date insert we have from a plugin, it would maximise that date insert box.. taking it off focused stoped it from doing that.
but still it's not consistent. Now when open Word app, doesn't move. Open a Word doc, and it will move..
I've got it on Window Focused, once per-Process name.
stop processing triggers if this on matches
Mar 24, 2020  • #15
User Image
Eric888
1 discussion post
Hi there
Is there a means to add a trigger like "on-drag"?
Basically, I would like to make windows semi-transparent while dragged (and back to normal after that)
TIA
Mar 24, 2020  • #16
Keith Lammers (BFS)'s profile on WallpaperFusion.com
@MarkOTeam: I would set it back to "Always" instead of "Once-Per-Process" and then add this to the Window Text condition:
" - Word"


That will make it only match windows that have stuff like this in the title "Document1 - Word" which should only be the main document windows, and not the child windows.

@Eric888: There isn't an "on drag" Trigger Event, sorry!
Mar 27, 2020  • #17
User Image
MarkOt
10 discussion posts
Quote:
@MarkOTeam: I would set it back to "Always" instead of "Once-Per-Process" and then add this to the Window Text condition:
" - Word"


That will make it only match windows that have stuff like this in the title "Document1 - Word" which should only be the main document windows, and not the child windows.

@Eric888: There isn't an "on drag" Trigger Event, sorry!


Thank you, with Text condition " - Word " the child window still opens up maximised, which is a date picker. The title of that window is 'Chose a date...' is there a way to make it not expand that window?

Thanks Mark
Apr 10, 2020  • #18
User Image
MarkOt
10 discussion posts
@Keith Lammers any ideas for this?
thank you
Mark.
Apr 14, 2020  • #19
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Forgive my ignorance, but could you tell me how to open that date picker window in Word? I can't find it for the life of me!
Apr 14, 2020  • #20
User Image
MarkOt
10 discussion posts
Hi Kieth.. sorry for that.. the date picker is a word plugin we have. that when you hit 'date insert' button a box opens that lets you select a date to insert into document. It's that window that is maximising. I've attached screen shot showing, it not maximised.

Any way to make it not maximise that seconday window from Word?

Mark.
• Attachment [protected]: WINWORD_nAAhMZNx5m.png [32,609 bytes]
Apr 15, 2020  • #21
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Ah ok, gotcha! Could you add this to the Window Text condition in the Trigger rule? (make sure to include the dash in front)

-"Choose a date"


So if the current Window Text is set to
"Microsoft Word"
, the whole thing would look like this:
"Microsoft Word" -"Choose a date"
Apr 15, 2020  • #22
User Image
dbaldon
22 discussion posts
Quote:
Is there a way to trigger when I plug my laptop into a dock with two monitors? I often disconnect/reconnect during the day and it would be nice if the windows that are already open would automatically snap to the monitor they used to be on. I've set up a Window Position Profile but I need to execute it manually each time I connect to the dock.

Edit: I worked it out. I learned that if I set up a Monitor Profile, I can attach my Window Position Profile to it.
Can you provide more detail about how you worked it out? I have both Monitor Profiles set up and Window Position Profiles but haven't been able to switch between position profiles automatically.
Apr 16, 2020  • #23
User Image
MarkOt
10 discussion posts
Quote:
Ah ok, gotcha! Could you add this to the Window Text condition in the Trigger rule? (make sure to include the dash in front)

-"Choose a date"


So if the current Window Text is set to
"Microsoft Word"
, the whole thing would look like this:
"Microsoft Word" -"Choose a date"


Thank you, this has worked for not maximising a 2nd word window. However our customer says that Word doesn't always move to monitor 2 (the righthand screen) maximised as the trigger says to do.

We also tried DF for moving opened Outlook message to monitor 2 (the righthand screen)
but had to take it off as there was sometimes a delay, 2 seconds for it to move.

I have enabled logging and attach the logs.

Can you take a look at the log and make any suggestions for our Word, Excel trigger being reliable and Outlook trigger to move as fast as possible.

thank you.
• Attachment [protected]: DisplayFusionDebugInfo24april.zip [362,089 bytes]
Apr 24, 2020  • #24
Keith Lammers (BFS)'s profile on WallpaperFusion.com
@MarkOteam: Are your Triggers for the Office apps set to use Window Created, or Window Focused?
Apr 24, 2020  • #25
User Image
MarkOt
10 discussion posts
Quote:
@MarkOteam: Are your Triggers for the Office apps set to use Window Created, or Window Focused?


Hi, Word and Outlook are on Window Focused.
All the other triggers are set to Window Created.

@KEITH LAMMERS (BFS) anything you can suggest, Outlook messages opening on the screen 2 maximised is a big issue for my customer.
Apr 25, 2020 (modified Apr 27, 2020)  • #26
Keith Lammers (BFS)'s profile on WallpaperFusion.com
@MarkOTeam: Let's move this to a new discussions topic (or email) so we don't take up too much space in the comments for the how-to guide. Could you post a new Discussions topic, or send a support request and include a backup of the settings from the affected machine?

Thanks!
Apr 27, 2020  • #27
Andrey Mamontov's profile on WallpaperFusion.com
Hi!

Is there any way to disable triggers without opening the settings? For example using a keyboard shortcut or taskbar icon's context menu?

In my case after starting DisplayFusion - trigger open a lot of Windows and this is very convenient but not always.
May 7, 2020  • #28
Keith Lammers (BFS)'s profile on WallpaperFusion.com
It sure is! On the Settings > Functions tab, double-click the "Toggle Triggers" function in the list and then you can set a hotkey on it :)

Hope that helps!
May 12, 2020  • #29
Andrey Mamontov's profile on WallpaperFusion.com
Quote:
It sure is! On the Settings > Functions tab, double-click the "Toggle Triggers" function in the list and then you can set a hotkey on it :)

Hope that helps!


Great, thanks!
May 12, 2020  • #30
User Image
David Richmond1
1 discussion post
I'd love a built-in trigger for monitor setup changes, e.g. if a monitor is plugged/unplugged.

I've built this myself by:
1) Running a powershell script to listen for WM_DISPLAYCHANGE using a System.EventHandler
2) Having this PS script launch a process with a specific command line string
3) Creating a "Process created" trigger that monitors process command lines for the exact string that appears

It's a hack, but it totally works! Just a few lines of code too. Think this kind of thing could be coded in? Surely it wouldn't break anything 🙃 does DF monitor for this event already? I'd guess it does, somewhere, for something...
Jun 9, 2020  • #31
User Image
NetMage
267 discussion posts
It would seem like it would be nice if DF would switch Monitor Profiles automatically when monitors are enabled/disabled physically (or perhaps in Windows) and then the Monitor Change Event could be used.
Jun 9, 2020  • #32
Keith Lammers (BFS)'s profile on WallpaperFusion.com
@David: I've added that to our feature request list, thanks!
Jun 9, 2020  • #33
User Image
Christian_Bailey
16 discussion posts
Is it possible to make two different events fire the same Trigger? I want
Window Created
and
Monitor Profile Changed
. (I searched help and couldn't find anything on this.)

If not, I presume I have to duplicate the Trigger. Do I have to laboriously copy all the Match conditions and Actions, or is there same way to duplicate? (I searched help and couldn't find one.)
Jun 16, 2020  • #34
Keith Lammers (BFS)'s profile on WallpaperFusion.com
There isn't a way to use different events for the same rule, no, sorry! We're planning to add a duplicate button for the Trigger rules in a future update though.

Thanks!
Jun 16, 2020  • #35
User Image
Justin91313
1 discussion post
Is there any way to pass parameters/arguments from triggers to functions? When I use the Monitor Profile Changed trigger, I want the function that I run (a call to run Nodejs with a JS script) to be able to know what profile it was changed to.

Alternatively, is there any way to hook into DF to listen for monitor profile changes? Particularly, I'm looking for a way to do this from Nodejs, but basically any other thing that can be executed can be used. (For example, I'm using Nodejs to set the monitor profile via a command exec to the CLI)
Jun 20, 2020  • #36
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Can your JS script read from the registry? If so, you could create a scripted function in DisplayFusion that writes the current monitor profile name to the registry.

Get the Monitor Profile name: BFS.DisplayFusion.GetCurrentMonitorProfile

Write to the registry: BFS.ScriptSettings.WriteValue

You can then have your Trigger rule run that scripted function.

Hope that helps!
Jun 23, 2020  • #37
Keith Lammers (BFS)'s profile on WallpaperFusion.com
The comments chain here is getting pretty long, so we're going to lock this thread. If you have any questions or issues using Triggers, please create a new topic in the Discussions, or contact us here: https://www.displayfusion.com/Support/#contact

Thanks!
Jun 23, 2020  • #38
Was this helpful?  Login to Vote(10)  Login to Vote(3)