Safari 5.2 и Reading List

В последней сборке бета-версии браузера Safari 5.2 появилась интересная функция. При добавлении страницы в Reading List, она скачивается и сохраняется на жёстком диске вашего компьютера. Это позволяет прочитать отложенную на потом статью даже в случае, если интернета на данный момент нет.

Для использования этой функции ничего настраивать не нужно, всё работает прозрачно для пользователя. Интересно, что при попытке открыть какую-либо страницу при отсутствии интернета браузер сообщает вам, что вы не подключены к интернету и предлагает почитать отложенные статьи из Reading List’а.

![Show Reading List](http://mactrick.com/wp-content/uploads/2012/05/show_reading_list.jpg)

Скачивание Safari 5.2 доступно из [Safari Dev Center](https://developer.apple.com/devcenter/safari/index.action) после регистрации. Регистрация бесплатная.

Как убрать «подпружиниванние» содержимого при прокрутке окон

С версии 10.7 при прокрутке содержимого окна до конца, оно как бы «подпружинивалось» и на его месте показывался серый фон.

![Rubber Scroll](http://mactrick.com/wp-content/uploads/2012/05/rubber_scroll_1.jpg)

Для того, чтобы убрать такое поведение, вам поможет такая команда в терминале:

defaults write -g NSScrollViewRubberbanding -int 0

После её выполнения нужно перезагрузить каждую программу или просто выйти из системы и войти обрано.

Для того, чтобы вернуть всё на исходную позицию, команда выглядит так:

defaults delete -g NSScrollViewRubberbanding

Как заблокировать компьютер из командной строки

Для того, чтобы заблокировать компьютер из какого-нибудь скрипта, вам поможет такая команда:

/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend

Компьютер заблокируется сразу, без подтверждений и предупреждений.

Как убрать предупреждение при смене расширения файла

![File Extension Warning](http://mactrick.com/wp-content/uploads/2012/04/file_extension_warning.jpg)

Для того, чтобы при смене расширения файла компьютер не переспрашивал вас, уверены ли вы в своих действиях, достаточно одной команды в терминале:

defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false

Точнее, двух, ещё придётся перезапустить Finder командой `killall Finder`.

Для того, чтобы вернуть всё обратно:

defaults write com.apple.finder FXEnableExtensionChangeWarning -bool true
killall Finder

Отключаем автоматическую проверку обновлений Google Chrome

Для того, чтобы отключить автоматическое обновление ставшего весьма популярным в последнее время браузера, достаточно выполнить в терминале всего одну команду:

defaults write com.google.Keystone.Agent checkInterval 0

После этого нужно перезапустить (если был запущен) Chrome.

Для того, что вернуть автообновления обратно:

defaults write com.google.Keystone.Agent checkInterval 18000

Обновления будут проверяться каждые 18000 секунд (5 часов). Значение можно изменить по своему вкусу.

*А я все равно пользуюсь Safari 5.2.*

Конвертация plist из бинарного вида в текстовый

Понадобилось мне тут отредактировать один plist-файл, а тот оказался бинарным. Т.к. под Mac/iOS я не пишу, то и XCode у меня не установлен. А там есть утилита для редактирования любых plist-ов.

Не ставить же ради одного файла четырёхгигабайтного монстра. (Для сборки всяких консольных программ у меня установлены только Command Line Tools for XCode [отсюда](https://developer.apple.com/downloads/index.action).

Оказалось, что есть штатная утилита для конвертирования plist-ов из бинарного вида в текстовый и обратно. Называется plutil. Для конвертации бинарника в текстовое представления подойдёт такая команда:

plutil -convert xml1 some_file.plist

После этого файл можно отредактировать в любом текстовом редакторе. После чего, при необходимости, можно сконвертировать его обратно командой

plutil -convert binary1 some_other_file.plist

Ещё один способ выйти из Camera.app на iOS 5.1

В новой версии iOS 5.1 появился очень удобный способ для запуска камеры с помощью вытягивания вверх кнопки прям с экрана блокировки. Кстати, камера в 5.1 стала запускаться значительно быстрее (по моим ощущениям).

Для того, чтобы закрыть приложение камеры и вернуться обратно на экран блокировки, можно либо нажать кнопку выключения телефона, либо понянуть сверху вниз от самого верха экрана так, как это делается для вызова Notification Center.

![iPhone Camera.app on Lockscreen](http://mactrick.com/wp-content/uploads/2012/03/iphone_camera_on_lockscreen.png)

Мне больше нравится второй способ.

Отметка писем как прочитанных

По умолчанию Mail.app помечает письмо как прочитанное сразу после того, как вы выберете его в списке. Для того, чтобы добавить задержку для этого действия можно использовать такую команду (здесь выставляется задержка в две секунды):

defaults write com.apple.Mail MarkAsReadDelay 2

Для того, чтобы вернуть всё к установкам по умолчанию:

defaults delete com.apple.Mail MarkAsReadDelay

Установка MySQLdb под OS X Lion

После покупки нового ноутбука я столкнулся с проблемой установки на OS X Lion библиотеки для доступа к MySQL для языка python. До этого эта проблема не возникала видимо из-за того, что система у меня обновлялась с 10.6 и библиотека была собрана и установлена ещё на старой системе.

В этот же раз после сборки и установки, при попытке импортировать MySQLdb выпадала такая ошибка:

>>> import MySQLdb
/Library/Python/2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /Library/Python/2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg/_mysql.pyc, but /Users/jhaddad/Downloads/MySQL-python-1.2.3 is being added to sys.path
Traceback (most recent call last):
File ““, line 1, in
File “MySQLdb/__init__.py”, line 19, in
import _mysql
File “build/bdist.macosx-10.7-intel/egg/_mysql.py”, line 7, in
File “build/bdist.macosx-10.7-intel/egg/_mysql.py”, line 6, in __bootstrap__
ImportError: dlopen(/var/root/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /var/root/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so
Reason: image not found

Оказалось, что победить её очень просто. Достаточно только сделать символьную ссылку на файл `libmysqlclient.18.dylib`, который система не может найти самостоятельно:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

После этого нехитрого действия все отлично работает.

Ускоряем анимацию Mission Control

Для того, чтобы повысить скорость анимации при вызове Mission Control, следует использовать такую команду в терминале:

defaults write com.apple.dock expose-animation-duration -float 0.15

После этого нужно перезапустить док командой `killall Dock`.

Значение 0.15 — это именно то, что отвечает за скорость. Чем больше значение, тем меньше скорость. Если выставить его в ноль, то окна программ будут разлетаться в стороны мгновенно. Значение 1 наоборот замедлит анимацию.

Для того, чтобы вернуть всё обратно:

defaults delete com.apple.dock expose-animation-duration; killall Dock