Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

View multi-page previews of Word files on Finder icons System
Mountain Lion has added the ability to view multi-page previews of Word documents when you hover your cursor over the icon, as has been possible with PDFs since Lion.

To see a preview, hover your cursor over a Word document. You'll see two arrow icons on the document icon; you can click to the right or left to view different pages.

However, in Icon View, these previews only display if the icons are 64 pixels or larger. They display in Column View, and in Cover Flow View, no matter what size the icons are in the top of the Cover Flow View window.
  Post a comment  •  Comments (1)  
  • Currently 3.00 / 5
  You rated: 1 / 5 (4 votes cast)
[4,856 views]  View Printable Version
Auto-delete a DMG file when ejecting a disk image System
While the Mac App Store is great, I still find myself downloading .dmg files and installing plenty of third-party software. I often forget to delete .dmg files after I've installed applications. Here's a script to automatically move the .dmg file to the trash when you eject the disk image.

To use this script, select the mounted volume in the Finder (or in the "Devices" section of the Finder sidebar), and trigger this script via your favorite macro app instead of ejecting the disk image normally.
tell application "Finder"
	set selection_list to selection
	if (count selection_list) < 1 then
		display dialog ¨
			"Please select a volume mounted from a disk image." with title ¨
			"No Selection Found" with icon stop ¨
			buttons ["OK"] default button 1
	end if
	set my_selection to item 1 of selection_list
	set my_kind to kind of my_selection
	set my_name to name of my_selection
	if my_kind is not "Volume" then
		display dialog ¨
			"Please select a volume mounted from a disk image file." with title ¨
			"Selection is not a Disk Image" with icon stop ¨
			buttons ["OK"] default button 1
	end if
	set volume_list to paragraphs of (do shell script "hdiutil info | grep ^/dev/disk | grep -o '/Volumes/.*'")
	set source_list to paragraphs of (do shell script "hdiutil info | grep ^image'-'alias | grep  -o '/.*'")
	set match_found to false
	repeat with v from 1 to (count volume_list)
		if "/Volumes/" & my_name = item v of volume_list then
			set match_found to true
			exit repeat
		end if
	end repeat
	if match_found is not equal to true then
		display dialog ¨
			"The selected volume does not appear to be a Disk Image." with title ¨
			"Could not find Disk Image" with icon stop ¨
			buttons ["OK"] default button 1
		set my_source to POSIX file (item v of source_list) as alias
		move my_source to the trash
		eject my_selection
		--reveal my_source
	end if
end tell
Matt Rajca has a script that does the reverse: ejects a Disk Image volume when you trash the .dmg file.

Could you simply have a search that looks for old .dmg files in your Downloads folder? Yes, though I often forget to open and install .dmg files right away, so I prefer linking the delete action to the eject.

[kirkmc adds: This works for me if I select a volume in a Finder window, but not in the sidebar. This hint was submitted before Mountain Lion, so perhaps there's something that needs to be tweaked for 10.8. I figured it is worth posting so you all can find what to fix; I'll update the script in the hint if someone provides a solution in the comments.]
  Post a comment  •  Comments (11)  
  • Currently 3.00 / 5
  You rated: 3 / 5 (5 votes cast)
[8,888 views]  View Printable Version
List Full Download History of Your Mac System
Mac OS X's quarantine feature not only sets a special quarantine bit on files you download - so it can alert you the first time you open them, and so its built-it anti-malware feature can scan for certain threats - but it also keeps a list of the files you have downloaded. OS X Daily pointed out the command you can run in Terminal to see the full list of these downloads. Run this command:
sqlite3 ~/Library/Preferences/* 'select LSQuarantineDataURLString from LSQuarantineEvent'
The resulting text includes a lot of blank lines, so you might want to sort them to better view them:
sqlite3 ~/Library/Preferences/* 'select LSQuarantineDataURLString from LSQuarantineEvent' | sort
To delete this history - which is a good idea to do from time to time for privacy reasons - run this command:
sqlite3 ~/Library/Preferences/* 'delete from LSQuarantineEvent'
[kirkmc adds: Note that, as a commenter mentions below, this won't be every file you've downloaded, but those files you downloaded with applications that set the quarantine bit.]
  Post a comment  •  Comments (12)  
  • Currently 4.14 / 5
  You rated: 5 / 5 (7 votes cast)
[12,688 views]  View Printable Version
Toggle audio when changing volume System
Pressing the Shift key while changing volume with volume keys on your keyboard will toggle the "Play feedback when volume is changed" setting.

As I unchecked this preference, I find it very useful to get a quick idea of the volume when I plug my MacBook to an unknown audio system.

[kirkmc adds: This is a dupe, but the original hint is so old (it was back in 2002) that I felt it would be useful to run this.]
  Post a comment  •  Comments (9)  
  • Currently 3.75 / 5
  You rated: 1 / 5 (12 votes cast)
[3,973 views]  View Printable Version
Adjust your startup chime volume System
Controlling the volume of the startup chime is easy to set in the System Preferences Sound panel, but you need to make two different settings if you have external speakers connected to your Mac. There is no need to use scripts or any other coding to make this adjustment.

There are both internal and external speaker output settings in the sound preference pane. In order to adjust (or turn off) the volume of your Mac's internal speakers, nothing must be plugged into the headphone jack. Keep in mind that this setting completely controls the volume of your internal Mac speakers, so if you mute the sound, and have no external speakers, you will get no sound at all from your Mac.

To adjust the volume on your Mac's internal speakers:
  1. Unplug speakers or headphones from the headphone jack.
  2. Go to System Prefs > Sound, then click on the Output tab.
  3. You will then see Internal Speakers (Type built-in) highlighted in the window.
  4. Adjust the output volume (which also controls the chime volume) in the slider at the bottom of the window. Remember if you mute it there will be no internal speaker sound.
To set the volume for your external speakers:
  1. Plug in speakers or headphones to the headphone jack.
  2. Go to System Prefs > Sound >, then click on the Output tab.
  3. You will then see Headphones (Type built-in) highlighted in the window.
  4. Adjust the output volume (which controls the chime volume in the external speakers) with the slider at the bottom of the window. Remember if you mute it there will be no external speaker sound.
Since I have external speakers, I chose to mute the startup sound on my internal speakers and set the chime very low on my external speakers. If you have an external volume controller for your external speakers, it should still function normally following these changes, but adjusting it will again affect your startup chime volume for those speakers.

[kirkmc adds: Depending on your setup, this can be a bit more complicated. For example, my main Mac is a Mac mini connected to a DAC via a Toslink cable, which uses the headphone jack. When you use the digital output like this, you cannot control its volume. I also have a Cinema Display, connected via Thunderbolt, and it has internal speakers; so I can set the volume in those. This shows in the Sound preference pane as Display Audio.

If you have a Mac Pro, you have a tiny - and tinny - internal speaker. If you have an iMac, you have the same type of speakers as I have in my Cinema Display. And if you have a laptop, you have one or two small speakers.]
  Post a comment  •  Comments (15)  
  • Currently 3.00 / 5
  You rated: 4 / 5 (12 votes cast)
[57,617 views]  View Printable Version
AppleScript for selecting local volumes to unmount System
Note: An updated version of this script (in fact two new scripts) has been posted as a new hint. These new scripts take into account many of the comments posted below. Please see the new hint to find the improved version.

Here's an AppleScript that presents a dialog box listing mounted local volumes, one or more of which can be selected for unmounting. Some solutions for doing this either require the use of additional system resources or are offered commercially. This AppleScript is free, of course. Iíve only tested it in Lion so far. I recommend that you set up a keyboard shortcut that launches the AppleScript either as part of a Mac OS X Automator Service, or from the Script menu, which (in Lion) can be configured using the Keyboard preferences.
set alldisks to paragraphs of (do shell script "df -hlg | awk -F/ '/disk*/ {print $5}'")
   set item 1 of alldisks to ((characters 1 thru -2 of (path to startup disk as string)) as text)
on error
   set alldisks to {((characters 1 thru -2 of (path to startup disk as string)) as text)}
end try

set dur to {}
repeat with m in alldisks
   considering case
       if m is not in {"MobileBackups"} then
           set dur to dur & m
       end if
   end considering
end repeat

set devnames to paragraphs of (do shell script "df -k | awk -F/ '/disk*/ {print $3}'")
set t to {}
repeat with s in devnames
   set t to t & (word 1 of s)
end repeat

set the keylist to dur
set the foundDisks to t
set answer_list to {}

repeat with the_answer in keylist
   set theIndex to my CollectUniqueItemIndex(keylist, (the_answer as string))
    set theValue to item theIndex of foundDisks
   --set answer_list to answer_list & return & ((the_answer & ":" & space & theValue) as string)
   --set answer_list to answer_list & ((the_answer & ":" & space & theValue) as string)
   set answer_list to answer_list & (the_answer as string)
end repeat

set your_selected_device_id to choose from list answer_list with prompt "Please choose one or more volumes to be unmounted." with multiple selections allowed
repeat with b in your_selected_device_id
   set theIndex to my CollectUniqueItemIndex(answer_list, (b as string))
    set theValue to item theIndex of foundDisks
   --display dialog "The device name of a volume you selected is:" & space & "\"" & theValue & "\"." & space & "Are you sure you want to unmount it?"
       do shell script "diskutil unmount /dev/" & theValue
   on error the error_message number the error_number
       display dialog "Error: " & the error_number & ". " & the error_message buttons {"OK"} default button 1
    end try
end repeat

on CollectUniqueItemIndex(theList, theItem) -- the Item can be string, number, constant, app object or list    
   local aListMember
   repeat with i from 1 to (count theList)
        set aListMember to item i of theList
       if aListMember = theItem then
           set theIndex to i
           exit repeat
       end if
   end repeat
   return theIndex
end CollectUniqueItemIndex

[kirkmc adds: This is a very nice script, works as advertised.]
  Post a comment  •  Comments (24)  
  • Currently 4.50 / 5
  You rated: 3 / 5 (6 votes cast)
[7,440 views]  View Printable Version
Disable warning when changing file extensions in Finder System
You know how when you want to change a file extension in the Finder, you get a warning asking if you're sure you want to change the extension? In most cases, if you are changing the extension, you are doing so because you want to, and you know the consequences.

You can disable this warning. Run the following command in Terminal:
defaults write FXEnableExtensionChangeWarning -bool false
Then relaunch the Finder, either by Option-clicking on the Finder's icon in the Dock and choosing Relaunch Finder, or by running this in Terminal:
killall Finder
(I found this when browsing through the long list of defaults commands that we recently published as a hint. But when googling it, I noticed that OSXDaily had recently published. So a shout out to them.)
  Post a comment  •  Comments (5)  
  • Currently 3.00 / 5
  You rated: 4 / 5 (9 votes cast)
[6,406 views]  View Printable Version
Zoom when Login window is visible System
If you have poor vision, and multiple accounts display in a Login window, you can turn on zoom, and zoom in and out as needed to see the different user names and icons. (This assumes that zoom is not already turned on.) This uses the standard keyboard shortcuts that display in the Universal Access preference pane.

To turn on zoom, press Command-Option-8.

To zoom in, press Command-Option- = (equals).

To zoom out, press Command-Option- - (minus).

You may need to move the window around to see the different login icons. You can do this by moving the cursor to the edge of the screen.

[kirkmc adds: there have been plenty of hint about using the zoom feature, but it's worth noting that it can be activated and used even when the Login window is visible.]
  Post a comment  •  Comments (0)  
  • Currently 3.29 / 5
  You rated: 2 / 5 (7 votes cast)
[4,557 views]  View Printable Version
How To identify and disable system extensions that cause other apps to crash System
Sometimes, people contact me because software of mine, such as Find Any File, crashes mysteriously at launch. Often it turns out that this is caused by an incompatibility or bug in some other software that tries to enhance general Mac OS X functionality. The difficulty is to figure out which software is the culprit, in order to disable it and/or notify its maker and ask to get this resolved.

Sometimes, one can get a hint by looking at the detailed Crash Report one can find when opening the Console app. It will contain a long list of 'Binary Images,' listing which software components are loaded along with the app that crashes.

Many of those components are so-called Frameworks and 'libs' provided by Apple as part of OS X; but they're usually not the culprit. Then, there are other parts, installed by other apps or even installed explicitly by you for a particular purpose.

However, analysing these reports is difficult and may not lead to success, either. Instead, I'll try to give you some pointers that are often helping and do not require to understand the Crash Report contents.

In any case, the hard part is always that the crash happens only on someone else's computer and I can't reproduce it to find out what's going wrong. On Mac OS before X, there was the great Conflict Catcher software sorting such problems out, but there's no such thing for OS X.

Hence, I'm trying to give a little guidance to users who experience such crashes in the hopes it'll make their system more stable.

I've posted the article on my web site, where I might be improving it over time, based on feedback I hope to receive.

[crarko adds: The author suggested, and I considered, posting the text of the article here. But the page he's put up is heavily and well-illustrated, and is also evolving based on feedback. I don't think I can do any better than to refer you all to the original article.]
  Post a comment  •  Comments (5)  
  • Currently 4.43 / 5
  You rated: 5 / 5 (7 votes cast)
[25,604 views]  View Printable Version
Fix a Finder sidebar resizing issue System
I noticed a few days ago that I was no longer able to resize my Finder's sidebar. When the mouse's cursor was over the border it didn't change to the resizing one and I couldn't modify the sidebar's width either.

I found the solution in a corrupt Finder preferences file. The 'ShowSidebar' option was turned off even when I was able to see the sidebar. Changing that value to 'YES' and killing the Finder solved my problem:

defaults write ShowSidebar -bool YES

killall Finder

Anyway, some part of the problem is still present since the preferences file and Finder's behavior are not related yet; if I change the setting back to 'NO' the sidebar is still shown but becomes sticky again. It appeared once I was changing a lot the visibility of sidebar, path bar and status bar to see different configurations.

I'm running 10.7.3.

[crarko adds: I can't reproduce this. It sounds like the Finder prefs are just messed up, and perhaps deleting the prefs file and starting fresh may do the trick. Has anybody else observed this issue?]
  Post a comment  •  Comments (2)  
  • Currently 3.00 / 5
  You rated: 4 / 5 (4 votes cast)
[5,380 views]  View Printable Version