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

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 4.11 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (9 votes cast)
 
[3,365 views] Email Article To a Friend 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
  • 1
  • 2
  • 3
  • 4
  • 5
  (10 votes cast)
 
[25,934 views] Email Article To a Friend 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}'")
try
   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
   activate
   --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?"
   try
       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 5.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (3 votes cast)
 
[5,952 views] Email Article To a Friend 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 com.apple.finder 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 2.83 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (6 votes cast)
 
[4,281 views] Email Article To a Friend 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.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (4 votes cast)
 
[3,604 views] Email Article To a Friend 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 (4)  
  • Currently 5.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (4 votes cast)
 
[11,295 views] Email Article To a Friend 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 com.apple.Finder 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 4.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (1 vote cast)
 
[4,358 views] Email Article To a Friend View Printable Version
Make the computer sing happy birthday System
Here's a way to use AppleScript and the 'say' command to have the computer sing happy birthday to you. Enjoy!
set currentUser to long user name of (get system info)
set firstName to first word of currentUser
set lastName to last word of currentUser

set noteValues to {56, 56, 58, 56, 61, 60, 50, 56, 56, 58, 56, 63, 61, 50, 56, 56, 68, 65, 61, 60, 58, 50, 66, 66, 65, 61, 63, 61} -- F
-- set noteValues to {65, 65, 67, 65, 70, 69, 60, 65, 65, 67, 65, 72, 70, 60, 65, 65, 77, 74, 70, 69, 67, 60, 75, 75, 74, 70, 72, 70} -- D
-- set noteValues to {55, 55, 57, 55, 60, 59, 50, 55, 55, 57, 55, 62, 60, 50, 55, 55, 67, 64, 60, 59, 57, 50, 65, 65, 64, 60, 62, 60} -- E

set syllables to {"hap", "p", "birth", "day", "to", "you", "[[slnc 500]]", "hap", "p", "birth", "day", "to", "you", "[[slnc 500]]", "hap", "p", "birth", "day", "dear", firstName, lastName, "[[slnc 500]]", "hap", "p", "birth", "day", "to", "you"}

repeat with i from 1 to the length of noteValues
	set thisValue to item i of noteValues
	set thisSyllable to item i of syllables
	if length of thisSyllable is less than 3 then
		set speakingRate to 220
	else
		set speakingRate to 100
	end if
	say thisSyllable pitch thisValue using "Cellos" speaking rate speakingRate modulation 0
end repeat

[crarko adds: Works as described. From the mind of Sal Soghoian. For extra credit tie it to an iCal reminder of a person's birthday, and see if you can put that person's name into the firstname and lastname variables and have it autoplay. A similar hint was also submitted by user 'Nyhthawk,' and I want to acknowledge that as well. Thanks!]
  Post a comment  •  Comments (10)  
  • Currently 4.33 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (9 votes cast)
 
[7,260 views] Email Article To a Friend View Printable Version
Getting Software Update alerts as a standard user System
I have Mac OS X check for updates daily and automatically download any updates. However, only when I log in as an administrator do I get a dialog box informing of the existence of updates.

I wrote a short AppleScript to take care of the issue. Note that the script does not check for updates itself but relies on OS X's checking it in the background so it requires that the options to check for updates periodically and download updates automatically be checked in the Software Update preference pane.

Create the following script in the AppleScript Editor and save it as an application:
-- A script alerting non-administrator users about available downloaded
-- software updates

set updates_no to do shell script "defaults read /Library/Preferences/com.apple.SoftwareUpdate LastUpdatesAvailable"
if (updates_no > 0) then
  try
    set dialogResult to display dialog updates_no & " software update(s) are avalaible. Launch Software Update?"
    if button returned of dialogResult = "OK" then
      ignoring application responses
        tell application "Software Update" to activate
      end ignoring
    end if
  on error number -128
    -- The user canceled so do nothing
  end try
end if
Please, do not include any new line in the do shell command, otherwise, the script will fail. Add the script application to your standard account's Login Items.

From now on, whenever you login into that account *after* the automatic check downloaded new updates, a dialog bode informing you of the updates and suggesting to run Software Update for you is displayed. Of course, an administrator password is still required by Software Update.

This Script has been tested on Mac OS X 10.7.2 and detected the downloaded iTunes 10.5.3 update.

[crarko adds: I didn't have any updates available to try this with.]
  Post a comment  •  Comments (7)  
  • Currently 3.67 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (6 votes cast)
 
[4,163 views] Email Article To a Friend View Printable Version
Change Finder sizes between Base 10 and Base 2 System
Ever since I found that Snow Leopard switched its file size calculations reported in the Finder from Base 2 to Base 10, I've been eagerly searching the Internet, trying to find a way to keep (or switch) between Base 10 and Base 2.

Download brkirch's switchDiskSizeBase from the author's website.

It's a command line program that works on OS X 10.6 (Snow Leopard) and 10.7 (Lion). From various posts I've read about the software, you may need to periodically download a newer version that will work in the event a Software Update breaks the functionality. However, the author appears to actively support it. The software is free and open source, but the author also accepts donations.

After downloading and unzipping the file you'll have a folder with the executable, and the source code and license. To run the program in Terminal, cd to that folder and type:

sudo ./switchDiskSizeBase

Enter your administrator password. You'll need to reboot to see the change. To switch back, just run the program a second time.

Here's a link to the discussion forum I found this hint from. I add the hint here because I have literally searched two years for a solution like this, but was only able to find this solution today. I'm sure more people will find the hint here on Mac OS X Hints than haphazardly finding the solution in an obscure forum like I did.

[crarko adds: I tested this on 10.7.2, and it works as described. I've mirrored the software download here.]
  Post a comment  •  Comments (18)  
  • Currently 4.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (4 votes cast)
 
[5,786 views] Email Article To a Friend View Printable Version