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

Change screensaver slide duration System 10.8
I like to use images of various quotes as my screensaver, but the default 3-second duration for each slide isn't enough for several of the quotes. After discovering that Apple, amazingly, no longer provides a built-in way to alter the duration of each slide, I set out to figure out how to change it to suit my preference. It works, but it's a bit of a pain, so if anyone knows of an easier method, please contribute.

I found the method on this page from CNET, the author of which apparently found it here. In 10.8, no matter how I tried altering the permissions of the relevant file and folder in the Finder or "unlocking" the file (as XCode refers to it), I could not get XCode (or TextWrangler) to write to the file, so I had to alter the CNET instructions a bit. (Side rant: I feel justified in refusing to resort to the terminal for a simple permissions change, a capability that has supposedly existed in the Finder for 9 major iterations of OS X.) Do the following:

  1. Navigate to this folder in the Finder and find the file called "EffectDescriptions.plist":
    /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content/
  2. Option-drag the file to create a duplicate copy and rename it "EffectDescriptions.original.plist" (just in case). Authenticate when asked.
  3. Drag "EffectDescriptions.plist" to the desktop (it will copy).
  4. Open the desktop copy in XCode, TextWrangler, or your preferred text editor.
  5. Hit Command-F to search for the entry called "JustASlide" (this works in XCode and TextWrangler).
  6. Find the sub-entry called "mainDuration." Change its numerical value from 3 to whatever value you prefer (in seconds).
  7. Save the file, close it, and drag it back into the folder you copied it from. It will ask you to authenticate, and then whether to replace the file. Do both. (You did do step 2, right?)
  8. In Terminal, type:
    sudo chown root /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content/EffectDescriptions.plist
    This will set the permissions of the file as they were before.
  9. Go to System Preferences and confirm with a slideshow preview that your change was effective.

As I said earlier, this is an ugly way to accomplish what should be a very simple preference setting, so if anyone knows of a more elegant solution, please share. I toyed with the idea of having a separate screensaver file in my own Library folder, but I wasn't able to determine whether that would work. Given that we're altering this setting in a private framework, it seems to me that it wouldn't.

  Post a comment  •  Comments (4)  
  • Currently 2.40 / 5
  You rated: 1 / 5 (10 votes cast)
 
[7,274 views] Email Article To a Friend View Printable Version
Added features when using Stocks app in landscape mode iOS devices
In iOS 3.0, Apple introduced landscape view for the Stocks app. At that time, it still only allowed date ranges of 1d, 1w, 1m, 3m, 6m, 1y, and 2y.
read more (94 words)   Post a comment  •  Comments (3)  
  • Currently 3.07 / 5
  You rated: 1 / 5 (14 votes cast)
 
[3,547 views] Email Article To a Friend View Printable Version
Install Windows 7 on external drive using Boot Camp (Lion) Install
Having purchased a Segate GoFlex Desktop Thunderbolt Adapter made me wonder if it's possible to install a Bootcamp-Partition on an external Drive. Well it works; sort of.
  1. Launch Boot Camp Assistant.
  2. Select the local Drive for installation (not the external Drive) it will take about 20 GB of disk space.
  3. Boot Camp Assistant will now repartition your local drive.
  4. Wait a while for Boot Camp Assistant to finish preparing the drive.
  5. When the Windows 7 Installer comes up simply choose the external drive as target, not the local one.
  6. Proceed with the installation.
When booting your Mac (holding the Option key) you'll now see that there is a local Windows 7 boot volume. Unfortunately, you will have wasted 20 GB creating a partition on your main drive.

[kirkmc adds: I haven't tested this. I don't know if Disk Utility can delete that partition; live partitioning is possible, but in some cases certain partitions can't be deleted.]
  Post a comment  •  Comments (10)  
  • Currently 2.80 / 5
  You rated: 1 / 5 (10 votes cast)
 
[45,969 views] Email Article To a Friend View Printable Version
Remove Genius mixes from iTunes Apps
I spotted something today in iTunes 11, which I don't recall seeing before. If you right-click on a Genius Mix icon, you can choose Remove > Genius Mix name> and delete it from the Genius Mixes list. If you want to get all your Genius Mixes back, you can right-click anywhere in the white space of that window and choose Restore All Mixes to get them all back. But you still have no control over how Genius Mixes are created.
  Post a comment  •  Comments (0)  
  • Currently 2.89 / 5
  You rated: 1 / 5 (9 votes cast)
 
[4,778 views] Email Article To a Friend View Printable Version
Schedule "Do Not Disturb" for Notification Center System 10.8
If you like Notification Center, in Mountain Lion, you may also like its "Do Not Disturb," feature, where you can turn off notifications if you're busy and they get to be a bother. There are a couple of ways you can do this: you can Option-click the Notification Center menu bar icon, or you can scroll down when Notification Center is visible, and toggle the slider to OFF.

On iOS, you can schedule this action, but not on OS X. Ben Waldie, writing at TUAW, posted an interesting AppleScript/Automator solution to this. You can create an Automator workflow, and set it to run in Calendar, so you can have the Do Not Disturb feature turned on and off at specific times. It's a bit ham-fisted, to be sure; it uses a defaults write or defaults delete command, then a killall NotificationCenter command, which is essentially force-quitting Notification Center and allowing it to relaunch. The problem is that if anything goes amiss, Notification Center might not relaunch.

It's too bad that there's no built-in way to do this. But this is a good solution for now, if you really want to turn Notification Center off and on at specific times.
  Post a comment  •  Comments (1)  
  • Currently 2.50 / 5
  You rated: 1 / 5 (6 votes cast)
 
[5,288 views] Email Article To a Friend View Printable Version
Create playlists in iTunes for all complete albums Apps
User Aphex5 posted an interesting question on Stack Exchange, asking if there was a way to create playlists for all complete albums in his iTunes library. He then followed up with an answer, the following AppleScript:
-- Creates a playlist for each full album you have in iTunes
-- Set the playlistPrefix and playlistSuffix as desired before running

-- Based on code by Brad Campbell
-- http://www.bradcampbell.com/2009/05/26/make-a-whole-album-playlist-in-itunes/

tell application "iTunes"
    set playlistPrefix to "FA: "
    set playlistSuffix to ""
    -- The "FA: " prefix will help cluster full albums in iTunes' playlists,
    -- and is narrow enough to not get in your way when viewing on an iPhone

    set albumBuckets to {} as list
    set allSongs to (every track of library playlist 1 whose enabled is true and podcast is false and kind contains "audio") as list

    -- Find all partial albums in iTunes
    repeat with currentTrack in allSongs
        set albumName to album of currentTrack as text
        set artistName to artist of currentTrack as text

        -- First check for missing values, then perform integer comparison
        -- Zero is on the left to force interger type coercion, just in case
        if album of currentTrack is not missing value and 0 is less than length of albumName then
            if artist of currentTrack is not missing value and 0 is less than length of artistName then
                if track number of currentTrack is not missing value and 0 is less than track number of currentTrack then
                    if track count of currentTrack is not missing value and 0 is less than track count of currentTrack then
                        if albumBuckets does not contain album of currentTrack then
                            copy album of currentTrack to the end of albumBuckets
                        end if
                    end if
                end if
            end if
        end if

    end repeat

    repeat with currentAlbum in albumBuckets
        set albumSongs to (every track of library playlist 1 whose album is currentAlbum)
        set firstTrack to first item of albumSongs

        -- Filter album list to act only on full albums
        if (count of albumSongs) is equal to track count of first item of albumSongs and 1 is less than (count of albumSongs) then
            -- This is a full album, construct the playlist

            -- Sort tracks by track number
            set albumSongsSorted to {} as list
            repeat with i from 1 to (count of albumSongs)
                repeat with trk in albumSongs
                    if track number of trk is i then
                        set nextSong to trk
                        copy nextSong to the end of albumSongsSorted
                    end if
                end repeat
            end repeat

            -- Don't show artist name for compilations
            if firstTrack is not compilation then
                set playlistNameArtist to artist of firstTrack & " - "
            else
                set playlistNameArtist to ""
            end if

            set albumPlaylistName to playlistPrefix & playlistNameArtist & currentAlbum & playlistSuffix

            -- Create playlist
            if user playlist albumPlaylistName exists then
                try
                    delete tracks of user playlist albumPlaylistName
                end try
            else
                make new user playlist with properties {name:albumPlaylistName}
            end if

            try
                repeat with trk in albumSongsSorted
                    duplicate trk to user playlist albumPlaylistName
                end repeat
            end try
        end if
    end repeat

    display dialog "Playlists created! Check iTunes for playlists beginning with '" & playlistPrefix & "'"
end tell
This will traverse the iTunes library and make playlists for every album where the number of tracks matches the total number of tracks for the album; in other words, if you only have one or six songs from a ten-song album, it won't make a playlist. Naturally, this assumes that you have the correct metadata for your tracks to enable this. If you don't, you can go through your albums - one by one, alas - using Doug Adams' Albumize Selection AppleScript; this script sets both track number and track count tags to the appropriate numbers.
  Post a comment  •  Comments (5)  
  • Currently 3.13 / 5
  You rated: 1 / 5 (8 votes cast)
 
[5,585 views] Email Article To a Friend View Printable Version
Have Spotlight results show Dictionary words just below Top Hit (or anywhere you want) System
If you use Spotlight to look up Dictionary definitions, you may find it annoying that they show up near the bottom of the list. While you can change the order of most Spotlight categories from the Search Results tab of the Spotlight pane in System Preferences, Dictionary isn't in that list.

However, there is a hack, involving some simple editing of the ~/Library/Preferences/com.apple.spotlight.plist file. A recent post on Stack Exchange explains what to do. You open the file with Xcode, then add a Dictionary item, which will allow you to move the Dictionary category to where you want in the Spotlight results. See the post linked above for full details, or see this blog post in Chinese explaining the procedure.
  Post a comment  •  Comments (3)  
  • Currently 2.63 / 5
  You rated: 1 / 5 (8 votes cast)
 
[5,543 views] Email Article To a Friend View Printable Version
Create default printer presets for multiple users Printers
I was tasked with setting up a company's new printers and had to struggle with creating a default set presets that also used a PIN number login for accounting. This needed to be pushed out to the current user base, in real time, and without interrupting anyone's ability to print. Here's how I did it.

Tools:

  • CUPS server web interface to set the printer defaults
  • ARD to install the drivers
  • lpadmin to add the printer (We're using LPD on a Windows 2008 R2 server)
  • ARD to copy the cups PPDs

1. Create the default settings:

In Terminal, run this command: sudo cupsctl WebInterface=yes
In a web browser, go to: http://localhost:631/admin

2. Install the drivers (.pkg files via ARD)

3. Add the printer using lpadmin:

lpadmin -p SweetNewPrinter-7535-clr -L "Department" -E -v lpd://WindowsServer/SweetNewPrinter-7535-clr -P /Library/Printers/PPDs/Contents/Resources/Xerox\ WC\ 7535.gz -o printer-is-shared=false

4. Copy the default cups PPDs via ARD (set permissions to: root:_lp):

/private/etc/cups/ppd/"SweetNewPrinter.ppd"

It took about an hour to set this up for 200 end users, with no scripting required.

  Post a comment  •  Comments (9)  
  • Currently 3.25 / 5
  You rated: 1 / 5 (4 votes cast)
 
[7,741 views] Email Article To a Friend View Printable Version
Configure OS X Server's caching server OS X Server
A new feature in the latest update to OS X Server is a caching server. This is designed to cache files in setups with multiple users so files only need to be downloaded once from the internet (or from the Mac App Store, iTunes Store, etc.). Files are cached locally, so users can save time getting downloads.

Apple has published a technical note explaining how to configure the caching server. You can set a limit to the amount of disk space used for the cache, you can choose a location for the cache, set the number of concurrent clients accessing it and much more.

This looks like a valuable feature for any organization running OS X Server.
  Post a comment  •  Comments (7)  
  • Currently 1.96 / 5
  You rated: 1 / 5 (25 votes cast)
 
[14,269 views] Email Article To a Friend View Printable Version
Recover from File : /// crash loop in OS X Messages System 10.8
This recently published "File : / / /" bug (see this Macworld article for an explanation) is a huge problem and can be seriously exploited to crash Mac apps, especially Messages. If someone sends you an iMessage (from an iOS device to Messages for Mac), Messages will continually crash, rendering it completely useless.


This is a Warning - please DO NOT SEND a message with that content over iMessage. I do not suggest you test this bug. However, despite these warnings, trolling people will still send it to crash their friend's message machines.

Below are three fixes to make iMessage workable again: FIRST (and easiest): Send 30-40 (lines of) iMessages back to the sender. The idea here is to lengthen the iMessage log so that the File : / / / message is not loaded when Messages starts up. You can either send these from an iOS device or from a Share button, such as the one in Safari. Continue trying until you can open iMessage again. Then, delete the conversation with Command+Delete.

SECOND: Remove the "chat.db" message database from ~/Library/Messages. This will remove all Messages conversations.

THIRD: Edit "chat.db" to delete the offending message. You will need to do this with an sqlite editor not subject to the crash (most that I tried do not crash). The message will be found in the "messages" table.

[kirkmc adds: This is, indeed, a serious bug, and it's quite simple to send a denial of service attack to someone using Messages. As the poster said, do not try this juts for fun. You may want to try it in other apps just to see that the crash does, indeed, occur, but at your risk and peril. It's really quite surprising that a bug of this nature got through Apple's QA...]
  Post a comment  •  Comments (6)  
  • Currently 3.00 / 5
  You rated: 1 / 5 (9 votes cast)
 
[6,629 views] Email Article To a Friend View Printable Version