The Omni Group Forums

The Omni Group Forums (http://forums.omnigroup.com/index.php)
-   OmniGraffle General (http://forums.omnigroup.com/forumdisplay.php?f=10)
-   -   Home key to scroll to top left of canvas ? (http://forums.omnigroup.com/showthread.php?t=22923)

RobTrew 2011-12-20 03:59 AM

Home key to scroll to top left of canvas ?
 
As far as I can see, OmniGraffle offers no keyboard route to the top left corner of the canvas ...

(or to the bottom right, or the edges of the canvas – we have to mouse around with scroll-bars etc)

In fact, no functionality at all seems to be assigned to the [B]Home[/B] or [B]End[/B] keys, or their [B]fn ←[/B] and [B]fn →[/B] equivalents on laptops.

A gap worth plugging ?

(It would, inter alia, make it easier to script some custom zooming processes – Zoom to Fit in particular).

[COLOR="White"]--[/COLOR]

RobTrew 2011-12-21 01:48 PM

Apparently there is indeed a feature request in a queue somewhere in the system.

In the meanwhile, I have used Keyboard Maestro to assign HOME and END macros to the corresponding keys for OmniGraffle. (On a laptop, [B]Fn left arrow[/B] and [B]Fn right arrow[/B]).

[B]HOME[/B] (scroll to top left corner of current canvas)

[CODE]OGScroll(0, 0)

on OGScroll(rHoriz, rVert)
tell application id "sevs"
set lstApp to application processes where creator type = "OGfl"
if (count of lstApp) < 1 then return

tell last scroll area of splitter group 1 of window 1 of first item of lstApp
if rHoriz ≠ "" then set value of (value indicator of scroll bar 1) to rHoriz
if rVert ≠ "" then set value of (value indicator of scroll bar 2) to rVert
end tell
end tell
end OGScroll
[/CODE]

[B]END[/B] (scroll to lower right corner of current canvas)
[CODE]OGScroll(1, 1)

on OGScroll(rHoriz, rVert)
tell application id "sevs"
set lstApp to application processes where creator type = "OGfl"
if (count of lstApp) < 1 then return

tell last scroll area of splitter group 1 of window 1 of first item of lstApp
if rHoriz ≠ "" then set value of (value indicator of scroll bar 1) to rHoriz
if rVert ≠ "" then set value of (value indicator of scroll bar 2) to rVert
end tell
end tell
end OGScroll
[/CODE]

[COLOR="White"]--[/COLOR]

RobTrew 2011-12-22 12:51 AM

1 Attachment(s)
I have also made the following shift-arrow mappings in Keyboard Maestro:
[INDENT]⇧↑ top of canvas
⇧↓ bottom of canvas

⇧← left edge of canvas
⇧→ right edge of canvas[/INDENT]
(PgUp PgDn (Fn ↑, Fn ↓) already take us to the previous and next canvas).

OmniGraffle scrolling scripts for Home, End, Top, Bottom, Left, Right attached below. (Also attached as Keyboard Maestro macros).

[COLOR="White"]--[/COLOR]


All times are GMT -8. The time now is 10:44 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.