Difference between revisions of "Automatic Icon Positioning (Packaging)"

From Apache OpenOffice Wiki
Jump to: navigation, search
 
m
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
Here is an Apple Script allowing to automatically place correctly the icon of OpenOffice :
+
Here is an Apple Script allowing to automatically place correctly the icons in OpenOffice installation folder :
 
+
Just need to replace "choose folder" with the path of the folder containing the OpenOffice packaging...
+
  
 
<pre>
 
<pre>
tell application "Finder"
+
on run argv
choose folder
+
try
set fichiers to items of result
+
set argv to POSIX file (item 1 of argv)
set myText to ""
+
on error
set i to 0
+
set argv to choose folder
repeat with myItem in fichiers
+
end try
set itemProperties to (properties of myItem)
+
try
set itemPos to position of itemProperties
+
tell application "Finder"
set myName to name of itemProperties
+
set fichiers to items of folder argv
set myText to myText & myName & ": " & (item 1 of itemPos) & ", " & (item 2 of itemPos) & return
+
set i to 0
set i to i + 1
+
repeat with myItem in fichiers
-- display dialog i
+
set i to i + 1
if i is 1 then set position of myItem to {332, 191} -- in alphabetic order "Applications"
+
if i is 2 then set position of myItem to {97, 62} -- LICENSEs
+
set itemProperties to (properties of myItem)
if i is 3 then set position of myItem to {101, 191} -- OpenOffice*
+
set itemPos to position of itemProperties
if i is 4 then set position of myItem to {304, 61} -- READMEs
+
set myName to name of itemProperties
end repeat
+
-- display dialog myText
+
if i is 1 then set position of myItem to {332, 191} -- in alphabetic order "Applications"
return myText
+
if i is 2 then set position of myItem to {97, 62} -- LICENSEs
end tell
+
if i is 3 then set position of myItem to {101, 191} -- OpenOffice*
 +
if i is 4 then set position of myItem to {304, 61} -- READMEs
 +
end repeat
 +
end tell
 +
end try
 +
tell application "System Events" to quit application "Finder"
 +
return argv as string
 +
end run
 
</pre>
 
</pre>
  
 
To use it, assuming you called it ''ooo_pack_finalizer.scpt'', just type :
 
To use it, assuming you called it ''ooo_pack_finalizer.scpt'', just type :
$ osascript ooo_pack_finalizer.scpt
+
<pre>$ osascript ooo_pack_finalizer.scpt ''path to install folder''</pre>
 +
 
 +
To use it, from a remote host, you will need to sudo to access the WindowServer :
 +
<pre>$ sudo osascript ooo_pack_finalizer.scpt ''path to install folder''</pre>
 +
 
 +
Notice than executing that script will starts the Finder with root rights, and any user with physical access to the computer will be able to use Finder during the script execution (until quit request from System Events).
 +
 
 +
For better security, it should be possible to lock the user interface during the execution of the script by developping a simple app which captures all mouse and keyboard events in order to disallow access to Finder. 
  
 
[[Category: Aqua]]
 
[[Category: Aqua]]
 
[[Category: Porting]]
 
[[Category: Porting]]
 
[[Category: MacOSX]]
 
[[Category: MacOSX]]

Latest revision as of 01:11, 20 May 2007

Here is an Apple Script allowing to automatically place correctly the icons in OpenOffice installation folder :

on run argv
	try
		set argv to POSIX file (item 1 of argv)
	on error
		set argv to choose folder
	end try
	try
		tell application "Finder"
			set fichiers to items of folder argv
			set i to 0
			repeat with myItem in fichiers
				set i to i + 1
				
				set itemProperties to (properties of myItem)
				set itemPos to position of itemProperties
				set myName to name of itemProperties
				
				if i is 1 then set position of myItem to {332, 191} -- in alphabetic order "Applications"
				if i is 2 then set position of myItem to {97, 62} -- LICENSEs
				if i is 3 then set position of myItem to {101, 191} -- OpenOffice*
				if i is 4 then set position of myItem to {304, 61} -- READMEs
			end repeat
		end tell
	end try
	tell application "System Events" to quit application "Finder"
	return argv as string
end run

To use it, assuming you called it ooo_pack_finalizer.scpt, just type :

$ osascript ooo_pack_finalizer.scpt ''path to install folder''

To use it, from a remote host, you will need to sudo to access the WindowServer :

$ sudo osascript ooo_pack_finalizer.scpt ''path to install folder''

Notice than executing that script will starts the Finder with root rights, and any user with physical access to the computer will be able to use Finder during the script execution (until quit request from System Events).

For better security, it should be possible to lock the user interface during the execution of the script by developping a simple app which captures all mouse and keyboard events in order to disallow access to Finder.

Personal tools