Normally, when you are editing text, Command-Right Arrow will move you to the end of a line of text, and Command-Shift-Right Arrow will select to the end of a line of text.
However, in Safari, Command-Shift-Right Arrow will select the next tab (or do nothing if you only have one tab open). To work around this, use Control-Shift-Right Arrow instead. Similarly for Command-Shift-Left Arrow, use Control-Shift-Left Arrow.
I don't know how Command-Shift-Arrow works if you have tabs disabled, but everybody uses tabs anyway, right?
Sometimes I want to open multiple web sites that are stored in Safari's history file. Two limitations always made this inconvenient: Page Up and Page Down do not work in the bookmarks window, and the history doesn't remember the date that the user was last looking at when the history opens in a new tab. So the process was: create a new tab, expand the date of the history I'm interested in, click the scroll bar until I see the site I want, double-click the site, rinse, repeat. Quite a lot of effort for something so simple.
Then I had an idea I thought I would try out. I created a new Safari window and displayed the history in that window. I then drag-and-dropped a site from the history window to the address field in my original window, and it loaded the site. Now my proces is: drag site to address field, hit Command-~ (to change back to the view window), hit Command-T (to create a new tab), and finally, hit Command-~ (to get back to the history window); repeat as needed. I find this much faster.
If you point your Firebird browser at about:config (instead of http://whatever.com), it gives you access to your user.js file, which is where you can override your useragent string (among other things).
If you Control-click, it will allow you to add a new string. Name the string general.useragent.override. Give it a value equal to anything in this list. Firebird is now masquerading as your new user agent.
The Safari dock icon behavior has always annoyed me. If you have no windows open and click on it, it will open a new Safari window. Great. However, if you have other windows open or minimized to the dock, it will just restore the last window you had open, which I find annoying. My solution: AppleScript.
You can use the System Events feature of OS X to activate any menu options. For this to work, you must have "Enable access for assistive devices" enabled on the Universal Access system preference pane.
Create a new AppleScript program in Script Editor with the following code, and save it as an application:
tell application "Safari" to activate
tell application "System Events"
tell process "Safari"
click menu item "New Window" of menu "File" of menu bar 1
Now, find some spiffy icon to assign to your new application and drag it to the dock. I put this application right above the real Safari application, and assigned it a different icon. When you click on this new program, it will open a new
Safari window. One quirk is if Safari isn't already running, it will launch two windows since Safari loads one on startup. I've only tested this on 10.3.
Sogudi is a really nice (free) plug-in for Safari that allows you to define shortcuts and search strings for easy access. For example, Sogudi comes preinstalled with a shortcut to search MacOSXHints. With Sogudi installed, just enter hint search_term in the Address Bar (replacing search_term with your own serach terms), and Sogudi will display the results. It comes with several nice shortcuts already installed (including Google (goo), dictionary.com (dict), php.net (php), etc.), and you can easily create your own. Here's one I made for searching the MacOSXHints forums (you'll understand it better after installing Sogudi):
As mentioned in a recent hint, it would be nice in Safari to have a scrapbook function like in Microsoft IE. I have created just such a feature, and you can download the scripts that I use in 10.2.8 for yourself.
WARNING: The scripts are for 10.2.8. I'm not on Panther - yet (hear that, Santa?). For 10.2.8, you must download GUI scripting addition from Apple. I understand that Panther has GUI scripting built-in but I'm not sure about the syntax, so maybe a scripter could edit the script and repost for 10.3 (if needed)?
[robg adds: Read the rest of the hint for the instructions; I haven't tested this one, but it seems like it would be quite handy.]
If you're looking for customisable user agent spoofing, then Mozilla/Firebird makes it easy. You can get the Mozilla/Firebird plugin here; don't be fooled by the Windows screenshot -- XUL is cross platform, remember.
I can confirm the Firebird plugin works fine with Firebird 0.7 on Panther. So, what user agent to masquerade as? Here's a pretty comprehensive list to get you started...
Now you can use the Titan TV web site on Safari to program your EyeTV! ElGato's EyeTV uses the Titan TV web site for TV schedules in the U.S. One can click on the record button on a Titan TV listing, and the program information is automatically sent to EyeTV -- but not with Apple's Safari browser. I'd much rather use Safari than any other browser, so I created an Applescript Folder action to fix this.
The Safari debug menu now can handily import bookmarks from HTML files! I've had a huge number of bookmarks I exported from IE/Windows back in April, when I got rid of my PC. I haven't been able to get them into Safari, despite trying a number of tips (open the file in Safari, drag the links, etc etc). Until now.
Make sure you select the "Import Bookmarks" option, not the "Import IE/NS/Mozilla Bookmarks" option, which will just look for existing installs and get the bookmarks from there.
Since it's in a hidden menu, there must be some problems with this, but I haven't found any. Remember, when not running Safari, enter defaults write com.apple.Safari IncludeDebugMenu 1 at the terminal to turn the menu on (and then re-launch Safari).
Saving a web page as a PDF in Safari is a pain. Unless the page is really small, you're going to end up with multi-page PDFs, and they're even going to be scaled down to match the width of your paper size. Without getting into the why, here is how to take a single-page PDF snapshot of a web page:
Set up a really freaking big custom paper size:
Hit Cmd-Shift-P to bring up the Page Setup panel.
Select Custom Paper Size from the Settings drop-down menu.
Create a new paper size with obscenely large dimensions (something on the scale of 99"x99").
Select Page Attributes from the Settings drop-down menu.
Select your new paper size from the Paper Size drop-down menu.
Save your web page as a PDF:
Hit Cmd-P to bring up the Print panel.
Click the Save as PDF... button.
Specify a n/s/l for the file and click Save.
Crop the image:
Open the resulting PDF in Preview.
Click the Select Tool icon in the toolbar (or the Crop Tool icon if it is there and save yourself some keystrokes).
Select only the part of the PDF that you want to save.
Hit Cmd-K to Crop the image.
Hit Cmd-S to Save the image.
And you're done!
[robg adds: A couple other things to consider. One, if you do a lot of this stuff, get SnapWeb. It's $15.00 (or $30.00 for commercial use), but it uses Safari's rendering engine and makes it simple to save a web snapshot without any page breaks. Second, when I was testing this, I had troubles if I increased the page width -- sites that have infinite-width tables would render on the printed output as super wide. Instead, I just changed the page length and left the width alone.]