In my previous blog post, I Introduced Gridify Module and I would be covering in recent enhancements and updates made in this module today.

Let’s do a quick intro if you don’t already know what the module can do.

Introduction to Powershell based application Grid layout:

‘Gridify’ module provides a cmdlet ‘Set-GridLayout’ that can resize and arrange applications in an automatic grid layout with predefined formats using the Process objects [System.Diagnostics.Process] of the target applications passed as a parameter(-Process) value.

gallery

install

Set-GridLayout cmdlet can automatically calculate your screen resolution and set Applications in a neat grid layout in predefined/custom layout

Available predefined layouts are –

  1. Mosaic
  2. Vertical
  3. Horizontal
  4. Cascade
  5. Custom

What’s New?

  1. The Set-GridLayout cmdlet now accepts [System.Diagnostics.Process[]] objects as a parameter instead of Process ID’s.CustomMosaic
  2. Introducing ‘-IncludeSource’ switch to add source process (from where Set-GridLayout cmdlet is executed) in a grid layoutIncludeSource
  3. A new ‘Cascade’ layout is available now. Cascade layout sets all application in a step-like layout, such that the next one is overlapping the previous.Cascade
  4. Ability to define application width ratios in a -Custom Layout. This enables you to define width-ratio of applications in every row, to customize application width sizes as per the requirement.

    Like, to define a ratio precede the asterisk referencing the application with a number such as -custom “*2*3*” is 1:2:3

    Example –

    ratio

    Animation –

    CustomRatio

Use-cases:

  • Launching Monitoring/control systems and scripts in a neat automated custom grid layout on the screen, and avoid the trouble of rearranging-resizing-relocating these applications everytime you launch them.
    For example, I wrote a twitter bot that can Tweet, Like, RT, Follow and UnFolow and I want to monitor the bot’s activity ( just in case it does something stupid :P) which is nothing but a bunch of independent PowerShell scripts running in parallel to achieve a common goal. Launching the scripts using the Gridify module helps me monitor them in a neat grid layout and saves some work in rearranging them. I run the below spawn-er script something like in the below screenshot. That’s It, all scripts run in a predefined grid layout that makes monitoring easy.

    Spawner


$PSScriptRoot = Split-path $PSCommandPath -Parent
Import-Module Gridify
$Process = "$PSScriptRoot\Get-Performance.ps1",
"$PSScriptRoot\Start-Following.ps1",
"$PSScriptRoot\Start-UnFollowing.ps1",
"$PSScriptRoot\Invoke-JokeBot.ps1",
"$PSScriptRoot\Invoke-Iteraction.ps1",
"$PSScriptRoot\Invoke-Iteraction.ps1 -RT",
"$PSScriptRoot\Start-MediaHarvest.ps1"
$Applications = $Process|`
ForEach-Object {
Start-Process C:\Windows\System32\WindowsPowerShell\v1.0\Powershell.exe $_ -PassThru
}
Start-Sleep -Seconds 2
$Applications | Set-GridLayout -Custom "2***,*,***" -Verbose
view raw

Spawner.ps1

hosted with ❤ by GitHub
  • Personal preference. We often want applications/consoles to be of a specific size, at specific locations, Grdidfy module can be used to achieve that. Though we have not exactly reached there we would be in coming releases.
    Stay tuned! I’m working on capturing size and coordinates of applications and saving it as a profile so that you can just invoke this profile using the Gridify module to launch applications in a custom grid exactly the way you like it.
    GridLayout

 

Can I contribute?

Yes, the project is publically hosted on a Github repository where you can assist me to make it better.

github

 


Module Installation:


# Installation on PowerShell v5 from Powershell Gallery
# [Recommended] Install to your personal PowerShell Modules folder
Install-Module Gridify -scope CurrentUser
# [Requires Elevation] Install for Everyone (computer PowerShell Modules folder)
Install-Module Gridify
# Installation PowerShell V4 and Earlier from Github repository
# To install to your personal modules folder run:
iex (new-object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/PrateekKumarSingh/Gridify/master/Install.ps1')

 

Hope you’ll find the script useful, if so please do follow me on twitter for more Interesting PowerShell material and don’t forget to Showoff your Powershell Gridify module to your colleagues, Cheers! 😉

Azure

Subscribe to our mailing list

* indicates required