Difference between revisions of "IS:WindowSnapper"

From Lavish Software Wiki
Jump to navigation Jump to search
Line 28: Line 28:
 
=== Ez-Mode with AutoLayout ===
 
=== Ez-Mode with AutoLayout ===
 
;Per Inner Space session you want to snap, enter the following command in the console:
 
;Per Inner Space session you want to snap, enter the following command in the console:
  run windowsnapper
+
  run autolayout
;Followed by the following command:
+
;AutoLayout will launch WindowSnapper for you, taking care of -pos and -size for you.
autolayout
 
  
 
That's it! Go play! If you don't like the default AutoLayout, it is easy to try another AutoLayout. See the [[IS:WindowSnapper#AutoLayout|AutoLayout command]] below for syntax and examples.
 
That's it! Go play! If you don't like the default AutoLayout, it is easy to try another AutoLayout. See the [[IS:WindowSnapper#AutoLayout|AutoLayout command]] below for syntax and examples.

Revision as of 03:39, 11 November 2008

A 5-box crew in WoW showing WindowSnapper and ClickBoxer -- click the image to see full pic or see this video to see WindowSnapper in action with this team

What is WindowSnapper?

3 WindowSnapper windows on top of a full-sized WoW (click to see full pic)

WindowSnapper is an open source Picture-in-Picture solution for Inner Space. Although configuration is not simplified by this particular solution, it does make instant Picture-in-Picture easy.

Future versions or custom modifications could include an in-game user interface window to help with configuration.

Features

WindowSnapper does these things on a per session basis
  • Automatically instantly resizes and positions the window, including always on top) when it is no longer the active foreground window (the window "snaps to" this position and back to what it was).
  • Size and position of the switched window is configurable both during run-time and when launched
  • CTRL+ALT+P hotkey (configurable) causes snapper to ignore the next time the window is sent to the background (press again to change your mind)
  • CTRL+ALT+O hotkey (configurable) causes snapper to "snap to" with a border for easy dragging and resizing the snap to position. Press again when finished to complete the process and store the new position.
  • Provides an instant rollover zoom feature for snapped windows (video of rollover feature) with an optional rollup/rolldown over time effect (video of rollover with effect]) -- feature can be disabled, and the zoom level can be configured as well
  • Includes an autolayout (EzMode!) feature that can automatically dock snapped windows to an inside or outside edge of the screen in popular form (outside is for dual monitor setups, specifically where dragging the window to another monitor will not provide a performance hit, such as with a single video card on Windows Vista). This feature covers the vast majority of WindowSnapper setups!
  • Optionally provides wheelswitcher functionality, allowing you to hold down a key (such as Ctrl) and use the mouse wheel to quickly switch through windows

How fast is "Instant"?

See this youtube video for a demonstration

Installing WindowSnapper

  1. Make sure you have Inner Space build 4759 or later (you can hover your mouse over the icon in the system tray to find out)
  2. Download the latest version: windowsnapper-20081110.zip
  3. Extract to the Scripts folder of your Inner Space installation

Launching WindowSnapper

Ez-Mode with AutoLayout

Per Inner Space session you want to snap, enter the following command in the console
run autolayout
AutoLayout will launch WindowSnapper for you, taking care of -pos and -size for you.

That's it! Go play! If you don't like the default AutoLayout, it is easy to try another AutoLayout. See the AutoLayout command below for syntax and examples.

Advanced

Per Inner Space session you want to snap, enter the following command in the console
run windowsnapper
This will spit out the following information
WindowSnapper: Window will snap to 800,0 with size 320x240
To change snap position, enter command (e.g.) snappos 123,456
To change snap size, enter command (e.g.) snapsize 640x480
WindowSnapper also accepts -size 640x480 and -pos 123,456 as parameters, such as
run windowsnapper -size 640x480 -pos 123,456
To launch WindowSnapper with a custom snap-to size, pass a -size parameter as follows (180x120 is only an example size)
run windowsnapper -size 180x120
To launch WindowSnapper with a custom snap-to position, pass a -pos parameter as follows (100,100 is only an example position)
run windowsnapper -pos 100,100
To launch WindowSnapper with both a custom snap-to position and size, pass both parameters as follows
run windowsnapper -size 180x120 -pos 100,100

WindowSnapper also takes any of the other parameters used by the SnapSet command described below.

Changing configuration during run-time

To change the snap-to position while WindowSnapper is running, use the snappos command as follows
snappos 100,100
To change the snap-to size while WindowSnapper is running, use the snapsize command as follows
snapsize 180x120

Using AutoLayout

The AutoLayout feature of WindowSnapper is a snap to use! Simply launch WindowSnapper without parameters (run windowsnapper) -- or with parameters configuring rollover, wheelswitcher, or hotkeys if you prefer -- and then use the autolayout command (just type autolayout in the console and hit enter). That's pretty much it!

When used without parameters, AutoLayout will detect whether you have a widescreen, or standard screen ratio, and line snapped windows along the bottom (widescreen) or right (standard screen) edges of the screen, with enough room for 5 windows. If you want to change the number of windows, or the edge of the screen, it is very easy to specify! See the AutoLayout command below for syntax and examples.

Keybinds

Keybinds are always configurable, but by default, the following keybinds are provided
  • CTRL+ALT+P: Ignore the next time this window goes inactive, so as to not "snap to". This keeps the window in full size mode.
  • CTRL+ALT+O: Toggle draggable mode, allowing you to configure the snap-to size and position by dragging with the mouse.

Commands

SnapSet

Syntax
SnapSet [OPTIONS ...]

Options may be one or more of the following:

  • -size #x#: Specify the snap-to size. Example: -size 320x240
  • -pos #,#: Specify the snap-to position. Example: -pos 800,0
  • -norollover: Disable RollOver functionality
  • -rollover: Enable RollOver functionality (default)
  • -rolloverscale #.##: Specify the zoom level for RollOver functionality. For example, 1.5 means a 50% increase (150% scale), or 2 means a 100% increase (200% scale). Example: -rolloverscale 1.5. Default is 1.5.
  • -rolloverframes #: Specify the number of frames (as in, frames per second) to take scaling the window up or down (for rollup/rolldown over time). Example: -rolloverframes 10. Default is 1.
  • -dragkey <combo>: Specify a key combination to enable draggable mode. Example: -dragkey "CTRL+ALT+O". Default is CTRL+ALT+O.
  • -ignorekey <combo>: Specify a key combination to ignore the next window deactivation (so the window will not snap to, when you switch away). Example: -dragkey "CTRL+ALT+P". Default is CTRL+ALT+P.
  • -wheelswitcher <key>: Specify a key (not a combination) that, when held, will allow you to scroll the mouse wheel to switch sessions. Example: -wheelswitcher Ctrl.
  • -nowheelswitcher: Disable wheelswitcher functionality (default)

SnapPos

Syntax
SnapPos <X>,<Y>
Examples
snappos 100,100
snappos 800,0

SnapSize

Syntax
SnapSize <Width>x<Height>
Examples
snapsize 320x240
snapsize 640x480

SnapDrag

Controls the draggable mode for this session. When in draggable mode, the snap-to size and position will be configurable by simply dragging the window.

Syntax
SnapDrag on|off|toggle
Examples
snapdrag on
snapdrag off
snapdrag toggle

SnapDock

Docks the snap-to position to the top, bottom, left or right of the current window's snap-to position. The snap-to size will be copied exactly.

Syntax: SnapDock <other session name> top|bottom|left|right

Examples
snapdock is2 bottom
snapdock is3 right
snapdock is4 left
snapdock is5 top

AutoLayout

Positions the snap-to position for this session in its rightful position according to an automatic layout format

Syntax 1
AutoLayout

Used without parameters, AutoLayout will auto-detect which edge of the screen will best fit, for 5 snapped windows. For widescreen, this will be the bottom edge. For standard screen, this will be the right edge.

Syntax 2
AutoLayout [#] [outer] <EDGE>
Parameters
  • # - Optional. Number of windows to make room for (the lower the number, the larger the screens, so if you only want 2, you might also try leaving this default or 4 or so, depending on how large you want the windows). If this parameter is not provided, defaults to 5. Ideally your desktop resolution should be evenly divisible by this number.
  • outer - Optional. If "outer" is specified, windows will be lined on the outside of the monitor instead of making room on the inside (used for dual monitor setups that allow moving the window between monitors, without performance hit -- e.g. single video card, on Windows Vista or certain XP setups)
  • EDGE - Required. Can be left, right, top, or bottom.
Examples
autolayout 5 left
autolayout 4 right
autolayout bottom
autolayout outer right
autolayout 6 top

Release history

  • 2008-11-10 (To download this specific version: windowsnapper-20081110.zip)
    • Fixed bug where MINIMIZING a window would cause WindowSnapper to lose the window's original size and position
  • 2008-11-07 (To download this specific version: windowsnapper-20081107.zip)
    • Fixed bug in Draggable mode when the window is left in this mode and loses focus. When the window loses focus while in Draggable mode, now saves and goes un-draggable
    • Added optional mousewheel session switching. When enabled, allows you to hold a specified key (e.g. Ctrl) and scroll the mouse wheel to switch sessions
    • Added AutoLayout, a nearly-idiot-proof method of configuring window sizes and positions. Should work well for most people.
    • Added rollover effect, enabled by default. Rollup/rolldown over time functionality is available, but is currently synced with game rendering and thusly may not appear smooth, so by default, rollover effect is instantaneous.
    • New commands: AutoLayout and SnapSet
  • 2008-11-02 (To download this specific version: windowsnapper-20081102.zip)
    • Added ability to drag to move or resize to set the snap-to position. New default CTRL+ALT+O bind toggles this special mode, using the new snapdrag command
    • Added snapdock command
  • 2008-10-31 (To download this specific version: windowsnapper-20081031.zip)
    • Window frame style is now stored and restored, instead of always snapping back to a thick frame (resizable window)

Join us on IRC

We are on irc.lavishsoft.com in channel #isboxer, the best place to talk about and get help with all of the tools for multi-boxing with Inner Space! Whether you are already using it, or just have some questions for people who are, please feel free to stop by.

If you do not know how to join IRC, click here to join us via your browser!