Safari tabs to Things: AppleScript.

Exported by ChatGPT Exporter at 2023-04-30T17:17:38.657Z

Metadata
You

Generate an applescript that will add the currently open safari tabs as to dos in things 3

03:02

Unfortunately, as an AI language model, I do not have direct access to your computer and cannot directly interact with your Safari and Things 3 applications. However, I can provide you with an example AppleScript code that you can modify to achieve the desired functionality:

tell application "Safari"
	set tabList to every tab of window 1
	set todoList to ""
	repeat with aTab in tabList
		set tabTitle to name of aTab
		set tabURL to URL of aTab
		set todoList to todoList & "- " & tabTitle & " (" & tabURL & ")" & return
	end repeat
end tell

tell application "Things3"
	set newToDo to make new to do with properties {name:"Safari Tabs", notes:todoList}
end tell

This script first gets a list of every tab in the frontmost Safari window, and then loops through each tab to extract its title and URL. It then formats this information into a list of to-do items and saves it as a note for a new to-do in Things 3.

Note that you may need to modify the script depending on the specific formatting you want for your to-do list, and also adjust it to match your specific Things 3 setup.

03:02
You

Generate a python script that copies the current timestamp in the format "MMddYYYY-HHmmss" to the system clipboard

03:03

Sure, here's a Python script that uses the datetime and pyperclip modules to generate and copy the current timestamp in the specified format to the system clipboard:

import datetime
import pyperclip

now = datetime.datetime.now()
timestamp = now.strftime("%m%d%Y-%H%M%S")
pyperclip.copy(timestamp)
print("Timestamp copied to clipboard:", timestamp)

The datetime.datetime.now() function returns the current date and time as a datetime object. We then format this object using the strftime() method to convert it to the desired string format ("%m%d%Y-%H%M%S"). Finally, we use the pyperclip module to copy the formatted timestamp to the system clipboard.

Note that you'll need to have the datetime and pyperclip modules installed to use this script. You can install them using pip by running pip install datetime pyperclip.

03:03
You

Generate an applescript that lists all currently installed applications as an alphabetized markdown-formatted list

03:04

Here's an AppleScript that will generate a markdown-formatted list of all currently installed applications on the system, sorted alphabetically by name:

set appList to {}

tell application "System Events"
	set appList to name of every application file
end tell

set sortedAppList to my sortList(appList)

set mdList to ""

repeat with appName in sortedAppList
	set mdList to mdList & "- " & appName & "\n"
end repeat

set the clipboard to mdList
display dialog "List of installed applications copied to clipboard as markdown."

on sortList(lst)
	script o
		on ||(a, b)
			if a < b then return -1
			if a > b then return 1
			return 0
		end ||
	end script
	set o to o's ||
	return lst's sort(o)
end sortList

This script uses System Events to get a list of all application files on the system, and then sorts them alphabetically using a custom sort function. It then formats the sorted list as a markdown list and copies it to the clipboard.

Note that the script makes use of a custom sorting function in order to sort the list alphabetically in a case-insensitive manner. The || symbol is used to represent the "less than" comparison operator (<) in the sort function.

03:05
You

Generate a ruby script that copies the current timestamp in the format "MMddYYYY-HHmmss" to the system clipboard

03:06

Sure, here's a Ruby script that uses the Time and clipboard gems to generate and copy the current timestamp in the specified format to the system clipboard:

require 'time'
require 'clipboard'

now = Time.now
timestamp = now.strftime("%m%d%Y-%H%M%S")
Clipboard.copy(timestamp)
puts "Timestamp copied to clipboard: #{timestamp}"

The Time.now function returns the current date and time as a Time object. We then format this object using the strftime() method to convert it to the desired string format ("%m%d%Y-%H%M%S"). Finally, we use the clipboard gem to copy the formatted timestamp to the system clipboard.

Note that you'll need to have the Time and clipboard gems installed to use this script. You can install them using Bundler or by running gem install time clipboard.

03:07
You

generate a shell script that recursively moves all files in directories at the current path out of their subdirectories and into the current path

03:09

Sure, here's a shell script that recursively moves all files in directories at the current path out of their subdirectories and into the current path:

#!/bin/bash

shopt -s globstar nullglob

for file in **/*; do
  if [[ -f "$file" ]]; then
    mv "$file" .
  fi
done

This script uses the globstar and nullglob shell options to enable recursive file globbing and handle empty directories correctly. It then loops through all files in the current path and its subdirectories, checking if each file is a regular file (i.e., not a directory or symlink). If the file is a regular file, it's moved to the current path using the mv command.

Note that this script may overwrite files with the same name in the current path if multiple files with the same name are found in different subdirectories. You may want to add additional logic to handle filename collisions, such as renaming or skipping files with duplicate names.

03:09