ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE. Software > JGPaiva's GridMove and Ahk Tools

GridMove Grid Making Tutorial

<< < (2/8) > >>

Another cool feature of GridMove is that you can create Triggers that do more than just resize a window. You can create a Trigger just like the ones above but instead of defining a new window size you can have a Trigger:

a) set that window to stay on top of other windows by replacing all Grid locations with "AlwaysOnTop" - like this:
  GridTop   = AlwaysOnTop
  GridBottom= AlwaysOnTop
  GridLeft  = AlwaysOnTop
  GridRight = AlwaysOnTop
Tip: to stop a window from staying on top change it to "AlwaysOnTop" a second time - This should return it to normal.

b) restore the window to it's previous size by replacing all the Grid locations with "Restore" - like this:
  GridTop   = Restore
  GridBottom= Restore
  GridLeft  = Restore
  GridRight = Restore
Tip: I find this doesn't always work as I'd hoped (but I have a short memory span :-[). However, it's great when you resize something like a selection box because sometimes the selection box doesn't get any bigger even though the window does. (that's one of my pet peeves with Windows)

c) maximize a window by replacing all Grid locations with "Maximize" - like this:
  GridTop   = Maximize
  GridBottom= Maximize
  GridLeft  = Maximize
  GridRight = Maximize

d) minimize a window by replacing the Grid locations with:
  GridTop       = Run
  GridBottom    = Minimize
  GridLeft      = Plugins\MinimizeWindow.exe
  GridRight     =
Grid order does not matter but it is important that: GridTop = Run, GridBottom = Minimize, GridLeft = Plugins\MinimizeWindow.exe

e) launch an external program. You'll notice that this last set of commands is different. It requires an external program to minimize the window. This opens up other possibilities to use Triggers to launch other programs. The items that I can think of are things like Skrommel's: RunScreenSaver, MinimOther, Ghoster, TransOther, ... (though I have only tested RunScreenSaver)

If you want to use GridMove to launch external programs use the following Grid Commands:
  GridTop    = Run
  GridBottom = Name to display in Trigger area
  GridLeft   = Program path & name
What value this provides to you I'll have to leave to you to figure out. Perhaps there are other useful plugins still in your mind.

f) maximize a window's height like this:
  GridTop   = [Monitor1Top]
  GridBottom= [Monitor1Bottom]
  GridLeft  = WindowWidth
  GridRight = WindowWidth

g) maximize a window's width like this:
  GridTop   = WindowHeight
  GridBottom= WindowHeight
  GridLeft  = [Monitor1Left]
  GridRight = [Monitor1Right]

The first few (a-d) are easy to use but the last two are tricky. "WindowWidth" keeps the window at it's current width and "WindowHeight" keeps the window at it's current height. The tricky part is that if you are using the mouse to drop the window on the Trigger you also end up moving the window (instead of just resizing the height or width). The problem is if you have a small Trigger, that is not near to where you want the window, the window still resizes but in the wrong place.

There are two ways around this. The easiest is to simply use hotkeys to select the Trigger (by default this is [Win]+[G] then [n] when n= number of the Trigger that resizes the window). The problem with this method is that many of us prefer to use the mouse to select Grids - It's also boring. ;)

The second way to solve this problem is to change our Trigger areas. A Trigger that expands a window's height should run across the width of the screen. A Trigger that expands a window's width should be the full height of the screen. This would allow us to slide a window along the Trigger and place it anywhere on the screen.

Remember back in part one that I said there is another method for defining Grids? Well, the time to explain that way has come. You can also define a Grid edge by using a number of pixels. Specifying a number of pixels is useful for small Grids & Triggers, exact Grid & Trigger sizes, and Triggers along edges. You could define a Trigger across the middle of the screen but I find that the outside edges work best so I'd recommend Triggers like:

  TriggerTop    = [MonitorReal1Top]
  TriggerBottom = [MonitorReal1Top] + 20
  TriggerLeft   = [MonitorReal1Left]
  TriggerRight  = [MonitorReal1Right]
which defines a Trigger along the top of the screen,

  TriggerTop    = [MonitorReal1Bottom] - 20
  TriggerBottom = [MonitorReal1Bottom]
  TriggerLeft   = [MonitorReal1Left]
  TriggerRight  = [MonitorReal1Right]
which defines a Trigger along the bottom of the screen,

  TriggerTop    = [MonitorReal1Top]
  TriggerBottom = [MonitorReal1Bottom]
  TriggerLeft   = [MonitorReal1Left]
  TriggerRight  = [MonitorReal1Left] + 20
which defines a Trigger along the left of the screen, or

  TriggerTop    = [MonitorReal1Top]
  TriggerBottom = [MonitorReal1Bottom]
  TriggerLeft   = [MonitorReal1Right] - 20
  TriggerRight  = [MonitorReal1Right]
which defines a Trigger along the right of the screen.

I picked a 20 pixel wide Trigger in all my examples but the exact number is up to you.

To make these active you must either adjust your other Triggers (which is the preferred method) or put these in the file before the other Triggers (so they get activated first - which is the lazy method).

Reminder: A Trigger that expands a window's height should run across the width of the screen. A Trigger that expands a window's width should be the full height of the screen.

These narrow Triggers can also be useful for things like AlwaysOnTop, Minimize, ...

Tip: As Grids get more complex I find it helpful to have bit of the screen that is Not a Trigger zone - just in case I start to move a window and change my mind.

You can use the methods above to create separate Grids and Triggers for each monitor. The only thing you need to change for this is the "1" in [Monitor1Top], [Monitor1Bottom], [Monitor1Left], [Monitor1Right], [Monitor1Wdth], [Monitor1height], ... to "2" or "3" or ...

But that's not your only option. With GridMove you can define Triggers on any screen that will move windows to another screen on the system.

(to be completed)


 :huh: :huh:
I'm dazzled... Fantastic work, Tyinsar, i wouldn't do it better myself :)

I hope this'll be VERY useful for others and we'll start to see new grids appearing ;)

[edit] typos... story of my life [/edit]

Thanks JGPaiva  :)
I know what you mean about typos. Like I said, I plan to work on this a little more next week but today I logged in to check your response and noticed I had made quite a few mistakes. :-[ (I think it took me eight 11 edits  ;D)


[0] Message Index

[#] Next page

[*] Previous page

Go to full version