nicer ways to navigate the patch window in Max 8

Will Young's icon

In other tools I use, including node based programming environments, I'm used to being able to move around the patch window without needing to grab a scroll bar, or mousewheel (which can only move in a single direction at a time).

This is often done by middle click dragging in some empty space in the patch window. Is there something similar in Max? Seems like an easy productivity win.

Roman Thilenius's icon

not exactly what you were asking for, but i use keyboard commands (caps lock & arrows) to move the whole window around by changing the window position via [thispatcher]

i.e. i start making the window 10,000*10,000 and when the screen is full with sweet little objects i press caps lock to activate scrolling moving.

Will Young's icon

I will take a look, thanks.

Is there a standard way to submit feature requests for Max?

Rob Ramirez's icon

shift+command+drag will navigate in your patch

Nicolas Bazoge's icon

Thanks Rob ! :-)

Limestone's icon

Here is a solution for WIN users:
If anyone is willing to install AutoHotkey to get "middle-mouse-navigation" here is the script for it.
It just uses the shift+ctrl+drag and remaps it to middle-mouse.

I guess there should be a similar tool for MacOS.

#HotIf WinActive("ahk_exe Max.exe") ; Adjust the executable name if different
MButton::
{
Send "{Ctrl down}{Shift down}"
Send "{LButton down}"
KeyWait "MButton"
Send "{LButton up}"
Send "{Shift up}{Ctrl up}"
}
#HotIf

Roman Thilenius's icon

the most simple solution for automatic scrolling is to set your patching window to fullscreen - because then you can safely utilize [mousestate] to make the patcher window scroll (or actually: move it to another position) when you hit the border of the main screen.

- set preferred maximum window size

- get screensize

- when screen borders are hit, start moving the window around.

- movement step size mostly depends on your computer´s speed vs. how intense your GUI/patcher content drawing is.

not shown here:

- feel free to add an initial delay and acceleration gimmicks until it feels like it should

- you might want to make sure 0/0 can not be exceeded in the negative direction (i don´t)

only an emtpy canvas is a good canvas!