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, 404 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 07:53 AM.


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