The Omni Group
These forums are now read-only. Please visit our new forums to participate in discussion. A new account will be required to post in the new forums. For more info on the switch, see this post. Thank you!

Go Back   The Omni Group Forums > OmniGraffle > OmniGraffle General
FAQ Members List Calendar Search Today's Posts Mark Forums Read

 
Home key to scroll to top left of canvas ? Thread Tools Search this Thread Display Modes
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 Home or End keys, or their fn ← and fn → 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).

--

Last edited by RobTrew; 2011-12-22 at 10:43 AM..
 
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, Fn left arrow and Fn right arrow).

HOME (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
END (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
--

Last edited by RobTrew; 2011-12-22 at 01:31 AM..
 
I have also made the following shift-arrow mappings in Keyboard Maestro:
⇧↑ top of canvas
⇧↓ bottom of canvas

⇧← left edge of canvas
⇧→ right edge of canvas
(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).

--
Attached Files
File Type: zip OG-Scroll-Keys.zip (22.8 KB, 164 views)

Last edited by RobTrew; 2011-12-22 at 10:42 AM..
 
 


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
Use <%canvas%> variable to point to a different canvas? winterveg OmniGraffle General 2 2011-01-16 06:48 AM
Left scroll bar covers due numbers DanJ OmniFocus 1 for Mac 2 2009-10-25 01:41 AM
Linking Master Canvas items with child canvas layers relaxedguy OmniGraffle General 1 2007-12-11 03:15 PM
Applying master canvas to canvas dynamically draupp OmniGraffle Extras 1 2007-08-20 10:10 AM
Left navigation on Microsoft's home page? Ward OmniWeb Bug Reports 1 2006-11-13 11:55 AM


All times are GMT -8. The time now is 01:37 PM.


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