OK there was enough people that have asked if this could be done. and I had always said no. after some digging and some poking about II came up with a mechanism to make an application full screen. This may or may not bee the same full screen as an option that is inside the actual application. i all depends on how they do it in the app.

there are only 2 actions. make full screen and restore. you do have the choice of selecting the monitor you want the thing to be full screened onto. it will always be restored back to where it was originally. This is a really nice feature for those of you that have a TV and a monitor plugged into your PC.

Interesting plugin. I've tried it and it's working good. Just a few remarks:

How about a toggle action?

How about using the result from a FindWindow action?

Why are you filtering processes from windows and system32 paths? That makes it impossible to set cmd.exe or notepad.exe as target (for example).

The maximized window will always be placed on Monitor 1, regardless which monitor i select.
I think your x/y calculation FullScreen.__call__ are needless. If comment them out, the window is maximized on the selected monitor.

Beside the above, i think these actions would fit into the Window plugin, what do you think?

the reason for the filtering is so that only applications can be full screened. because of how it changes the Window styles. Native Windows programs do not exactly work like programs that are not native I have had Windows pitch a fit about trying to change the styles of the native application.

The FindWindow action is a beast. it is horribly slow and causes timeout problems if you are using FindWindow in a macro that gets run from any of the power state changing events. and once the timeouts start the whole thing cascades into a program crash.

This is the skinny on why it has to be done.

when suspending the system if we release the Notification system windows can go into a suspended state before EG has finished running any code that is needed.. outcome == bad
when we are resuming the system if we release the Notification system before EG has run the code that is needed if any events come in from the Windows system that a user has dependent code on the system state and it has not made the necessary changes before that event comes in, outcome == bad

so when you take a behemoth like FindWindow and place it in code that gets run by either the suspend or resume events you will end up with a cascading failure because the action takes to long to process. I have wrapped my head around this many timees and the only thing that we can do to fix it is we are going to have to rewrite the FindWindow portion of EventGhost.