AppleScript: Счетчик слов и символов TextEdit
![]() |
![]() |
TextEdit куда компактнее мощных текстовых редакторов и достаточно хорош, да вот только считать слова и знаки он не умеет, а это иногда бывает очень нужно. Возможно кому-то из читателей тоже будет полезен созданный мной AppleScript, добавляющий в TextEdit всплывающий счетчик:
tell application "TextEdit"
set word_count to count words of document 1
set char_count to count characters of document 1
set show_words to (word_count as string) & " words. (" & (char_count as string) & " characters.)"
set dialog_title to "TextEdit Word Count"
display dialog show_words with icon 1 with title dialog_title buttons {"Ok"} default button "Ok"
end tell
macosxhints.com
Скопировать скрипт и добавить его в AppleScript Editor (Applications » Utilities); сохранить там в библиотечной папке вашей пользовательской директории ~/Library » Scripts » Applications » TextEdit. Я назвал скрипт Word Count. Откройте Preferences в AppleScript Editor и на вкладке General включите опцию ‘Show Script menu in menu bar’. Иконка скрипта появится возле часов. Теперь вы можете посчитать слова и знаки любого документа, открытого в TextEdit через Script menu из строки меню. При запуске скрипта появляется маленький диалог подобного вида:
TextEdit Word Count
2832 words. (15060 characters.)
Для закрытия диалога-счетчика нажать кнопку ОК.
ДалееAppleScript: Открывать URL в текущем стороннем браузере
![]() |
![]() |
Как избежать открытия внешних ссылок в Safari при использовании стороннего браузера? Я – веб-разработчик, использую дополнительно Opera, Chrome и Firefox, поэтому тема для меня актуальна.
Source: pepijndevos.nl
Например, я работаю в Опере и нажимаю на ссылку Mail, которая открывается в Safari. Это раздражает. ссылку приходится копировать вручную, не самый удобный выход.
ДалееAppleScript: Создание нового файла в текущей папке Finder
![]() |
![]() |
Это простой способ создания нового файла в текущей папке Finder с использованием AppleScript и Automator. Открыть Automator и в появившемся диалоге выбрать Service; откроется новое окно настройки сервиса Automator. В этом окне сделать следующее:
1. Установить сервис на получение выбранных папок Finder (два выпадающих меню в верхней части рабочей области справа). Это упростит назначение сервису клавиатурного сокращения.
2. Перетащить действие ‘Run AppleScript’ (из Utilities Library) в рабочую область справа.
3. Вставить следующий AppleScript:
on run {input, parameters}
tell application "Finder"
set currentPath to insertion location as text
set x to POSIX path of currentPath
end tell
return x
end run
macosxhints.com
Скомпилировать код, щелкнув по иконке Hammer.
ДалееAppleScript: Отправители и темы почты Mail на рабочем столе
![]() |
![]() |
Я многократно забывал проверять почту и нашел решение, как отображать на рабочем столе Mac имена отправителей и темы писем майлбокса Flagged Mail. Решается это с помощью Geektool и довольно простого AppleScript:
set newline to ASCII character 10
set finalText to "Flagged Mail:" & newline
tell application "Mail"
set theMessages to every message in inbox whose flagged status is true
repeat with i from 1 to number of items in theMessages
set thisMessage to item i of theMessages
set fromMsg to (sender of thisMessage as string)
set subjMsg to (subject of thisMessage as string)
set finalText to finalText & "! " & word 1 of fromMsg & ": " & subjMsg & newline
end repeat
end tell
finalText
macosxhints.com
Сохранить этот файл как AppleScript с именем flagged mail.scpt. В Geektool добавить Shell Geeklet со следующим кодом:
osascript ~/Documents/Workflows/flagged\ mail.scpt
Надо сказать, что этот хинт появился на инет-просторах ещё в марте, но он работал некорректно и впоследствии был исправлен. Так что, если кто-то уже пробовал и не получилось, попробуйте этот, теперь всё должно нормально работать.
AppleScript: быстрый перевод дисплея в спящий режим
![]() |
![]() |
Это решение позволит отправить дисплей в спящий режим с использованием AppleScript и функции Active Screen Corners из Exposé. Базируется на скрипте, перемещающем мышиный курсор в левый верхний угол экрана. Прежде всего сопоставьте в Exposé (секции Active Screen Corners), левый верхний угол с режимом Sleep Display. После того, как это сделано, следующий AppleScript будет переводить дисплей в режим сна.
(*
Source for the shell script:
http://hubionmac.com/wordpress/2009/09/maus-zeiger-in-applescript-via-python-bewegen/
*)
do shell script "python -c \"import objc;bndl = objc.loadBundle('CoreGraphics', globals(), '/System/Library/Frameworks/ApplicationServices.framework');objc.loadBundleFunctions(bndl, globals(),[('CGWarpMouseCursorPosition', 'v{CGPoint=ff}')]);CGWarpMouseCursorPosition((0, 0));\""
tell application "Finder" to activate
macosxhints.com
Я протестировал это решение на Mac OS X 10.6 и оно работает как и описано. Решения, которые предлагались ранее, позволяли активировать спящий режим с минутной задержкой или же требовали сторонних инструментов, но зато защищали спящий дисплей паролем. Здесь же никаких сложностей, но и никаких защит.
Далее


