title | updated | layout | category | prism_languages | intro | |
---|---|---|---|---|---|---|
AppleScript |
2023-04-05 |
2017/sheet |
macOS |
|
AppleScript is a scripting language for automating macOS. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(() => { | |
ObjC.import("CoreGraphics"); | |
const windowList = ObjC.castRefToObject($.CGWindowListCopyWindowInfo($.kCGWindowListOptionAll, $.kCGNullWindowID)) | |
const raycastWindow = windowList.js.find((win) => win.allKeys.containsObject("kCGWindowIsOnscreen") && win.js["kCGWindowLayer"].js == 8 && win.js["kCGWindowOwnerName"].js == "Raycast") | |
return raycastWindow != undefined | |
})() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ObjC.import("AVFoundation"); | |
ObjC.import('Speech'); | |
ObjC.import("objc"); | |
function recordForDuration(duration, destination) { | |
const settings = $.NSMutableDictionary.alloc.init; | |
settings.setValueForKey($.kAudioFormatAppleIMA4, $.AVFormatIDKey); | |
// Some macOS versions fail to link $.AVAudioFormat, so we manually get the class | |
const format = $.objc_getClass("AVAudioFormat").alloc.initWithSettings(settings); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(() => { | |
ObjC.import('objc'); | |
ObjC.import('AppKit') | |
// Get methods of ObjC class, store # of methods and properties in reference objects | |
const targetClass = $.NSImage; | |
const num_methods = Ref(); | |
const num_properties = Ref(); | |
const methods = $.class_copyMethodList(targetClass, num_methods); | |
const properties = $.class_copyPropertyList(targetClass, num_properties) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# Test with PyXA 0.1.0 | |
import PyXA | |
safari = PyXA.Application("Safari") | |
notes = PyXA.Application("Notes") | |
# Get info for current Safari tab | |
current_tab = safari.front_window.current_tab |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import PyXA, math | |
from PIL import Image | |
# Execute Automator workflow and receive list of image paths | |
automator = PyXA.Application("Automator") | |
workflow = automator.open("/Users/exampleuser/Library/Mobile Documents/com~apple~Automator/Documents/Ask For Photos.workflow") | |
image_paths = workflow.execute() | |
# Set base dimensions of mosaic images | |
base_width = 400 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Tested with PyXA 0.1.0 | |
import PyXA | |
app = PyXA.Application("Shortcuts") | |
folders = app.folders() | |
# Method 1 - Standard iteration | |
summary = [] | |
for folder in folders: | |
folder_name = folder.name | |
num_shortcuts = len(folder.shortcuts()) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function performMailActionWithMessages(messages, options) { | |
// do stuff, e.g.: | |
const app = Application('System Events'); | |
app.includeStandardAdditions = true; | |
// messages are provided as a list | |
app.displayDialog(messages.map((message) => message.subject()).join(', ')) | |
// options are provided as an object with two properties: inMailboxes and forRule | |
// both options can be undefined |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use framework "Foundation" | |
property ca : current application | |
property theResult : "" | |
property query : missing value | |
try | |
set result to "" | |
ca's NSNotificationCenter's defaultCenter's addObserver:me selector:"queryDidFinish:" |name|:"NSMetadataQueryDidFinishGatheringNotification" object:(missing value) | |
set predicate to ca's NSPredicate's predicateWithFormat:"kMDItemContentType == 'com.apple.application-bundle'" |
Title | Prompt |
---|---|
Brainstorm Ideas Based On This | Brainstorm 5 project ideas based on this text: |
Create Action Items | Generate a markdown list of action items to complete based on the following text, using a unique identifier for each item as bold headings. If there are any errors in the text, make actions items to fix them. In a sublist of each item, provide a description, priority, estimated level of difficulty, and a reasonable duration for the task. Here is the text: |
Create Flashcards | Create 3 Anki flashcards based on the following text. Format the response as markdown with the bold questions and plaintext answers. Separate each entry with ‘—‘. Here’s the text: |
Generate Cheatsheet | Generate a concise cheatsheet for the concepts in this text. Add additional details based on your own knowledge of the topic. |
NewerOlder