diff --git a/.github/workflows/script-commands.yml b/.github/workflows/script-commands.yml index 4b139025e..cd5dea05f 100644 --- a/.github/workflows/script-commands.yml +++ b/.github/workflows/script-commands.yml @@ -3,20 +3,22 @@ name: Set as Executable and Generate Documentation on: push: branches: [master] + paths-ignore: + - commands/README.md + - commands/extensions.json jobs: scriptCommands: - runs-on: macos-12 + runs-on: macos-15 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 0 + token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} - name: Setup Xcode - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: 13.4.1 + uses: raycast/github-actions/setup-xcode@xcode-16.1.x - name: Setup GIT uses: raycast/github-actions/setup-git@v1.1.0 @@ -42,7 +44,7 @@ jobs: uses: ad-m/github-push-action@master with: branch: ${{ github.ref }} - github_token: ${{ secrets.GITHUB_TOKEN }} + github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} - name: Notify Failure if: failure() diff --git a/README.md b/README.md index 46b0ff15b..fcccd6f14 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,10 @@
- GitHub contributors + GitHub contributors - Twitter Follow + Twitter Follow
@@ -36,7 +36,7 @@ To install new commands, follow these steps: 1. Choose a script from the [community repo](https://github.com/raycast/script-commands/tree/master/commands#apps) and save it into a new directory. - Scripts containing the word `.template.` in the filename require some values to be set (check [the troubleshouting section](#troubleshooting-and-faqs) for more information). + Scripts containing the word `.template.` in the filename require some values to be set (check [the troubleshooting section](#troubleshooting-and-faqs) for more information). Alternatively, instead of creating a new directory you can reuse the repo's [`_enable-commands` folder](https://github.com/raycast/script-commands/tree/master/_enabled-commands). 3. Open the Extensions tab in the Raycast preferences diff --git a/Tools/Toolkit/toolkit b/Tools/Toolkit/toolkit deleted file mode 120000 index a20c8ecf7..000000000 --- a/Tools/Toolkit/toolkit +++ /dev/null @@ -1 +0,0 @@ -.build/debug/toolkit \ No newline at end of file diff --git a/commands/README.md b/commands/README.md index a53d2fcd9..c50ff8db0 100644 --- a/commands/README.md +++ b/commands/README.md @@ -25,22 +25,31 @@ This repository contains sample commands and documentation to write your own one ### Categories +- [Ai](#ai) + - [Gemini](#gemini) - [Apps](#apps) - [Agenda](#agenda) - [Amphetamine](#amphetamine) - [Baremetrics](#baremetrics) + - [Bartender](#bartender) - [Bear](#bear) + - [BusyCal](#busycal) + - [Chatgpt](#chatgpt) + - [Claude](#claude) - [Cleanshot](#cleanshot) - [Craft](#craft) - [DND Me](#dnd-me) - [Deepl](#deepl) - [Devutils](#devutils) + - [Dictionary](#dictionary) - [Downie](#downie) - [Espanso](#espanso) + - [Eudic](#eudic) - [Evernote](#evernote) - [ExpressVPN](#expressvpn) - [Fantastical](#fantastical) - [Ferdi](#ferdi) + - [Find My](#find-my) - [Focus](#focus) - [GoodLinks](#goodlinks) - [HazeOver](#hazeover) @@ -61,12 +70,14 @@ This repository contains sample commands and documentation to write your own one - [Plash](#plash) - [Playground](#playground) - [Pulse Secure](#pulse-secure) + - [Quip](#quip) - [Raycast](#raycast) - [Reminders](#reminders) - [Safari](#safari) - [Session](#session) - [SideNotes](#sidenotes) - [Sip](#sip) + - [Stickies](#stickies) - [Sublime](#sublime) - [Surfshark](#surfshark) - [Tailscale](#tailscale) @@ -84,7 +95,6 @@ This repository contains sample commands and documentation to write your own one - [Y Pomodoro](#y-pomodoro) - [iTerm](#iterm) - [iconsur](#iconsur) -- [Bookmarks](#bookmarks) - [Browsing](#browsing) - [Communication](#communication) - [Cloudup](#cloudup) @@ -92,16 +102,19 @@ This repository contains sample commands and documentation to write your own one - [Emojis](#emojis) - [Gmail](#gmail) - [Google Meet](#google-meet) + - [Mail](#mail) - [Messenger](#messenger) - [Slack](#slack) - [Zoom](#zoom) - [Conversions](#conversions) - [Change Case](#change-case) +- [Culture](#culture) - [Dashboard](#dashboard) - [Countdowns](#countdowns) - [Firebase](#firebase) - [Mood Meter](#mood-meter) - [Open Weather](#open-weather) +- [Dashboards](#dashboards) - [Developer Utils](#developer-utils) - [Aws](#aws) - [Brew](#brew) @@ -116,7 +129,6 @@ This repository contains sample commands and documentation to write your own one - [Sentry](#sentry) - [Vscode](#vscode) - [Xcode](#xcode) -- [Google Maps](#google-maps) - [Home](#home) - [Elgato](#elgato) - [Philips Hue](#philips-hue) @@ -126,16 +138,18 @@ This repository contains sample commands and documentation to write your own one - [Apple Tv](#apple-tv) - [Cmus](#cmus) - [Endel](#endel) + - [Lowfi](#lowfi) - [Sonos](#sonos) + - [Speaker Setup](#speaker-setup) - [Spotify](#spotify) - [Tidal](#tidal) - [foobar2000](#foobar2000) - [Navigation](#navigation) -- [Password Managers](#password-managers) - - [Bitwarden](#bitwarden) - [Productivity](#productivity) + - [Bitwarden](#bitwarden) - [Imgur](#imgur) - [Pomodoro](#pomodoro) + - [Writing](#writing) - [macOCR](#macocr) - [stopwatch](#stopwatch) - [tesseract](#tesseract) @@ -148,11 +162,19 @@ This repository contains sample commands and documentation to write your own one - [Samsung TV](#samsung-tv) - [System](#system) - [Audio](#audio) + - [Magic Keyboard Switcher](#magic-keyboard-switcher) - [VPN](#vpn) - [Vpnutil](#vpnutil) - [Web Searches](#web-searches) - [WordPress](#wordpress) -- [Writing](#writing) + +## Ai + +#### Gemini + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [Ask Gemini](ai/gemini/gemini.js) | Open Gemini in Chrome browser and submit a prompt with optional selected text as context | [Est7](https://github.com/est7) and [Nimo Beeren](https://github.com/nimobeeren) | ✅ | | | ## Apps @@ -181,6 +203,12 @@ This repository contains sample commands and documentation to write your own one | | [Monthly Recurring Revenue](apps/baremetrics/get-mrr.sh) | Display Monthly Recurring Revenue (MRR) | [Valentin Chrétien](https://github.com/valentinchrt) | | | | | | [Revenue](apps/baremetrics/simple-dashboard.sh) | Display Revenue Dashboard | [Valentin Chrétien](https://github.com/valentinchrt) | | | | +#### Bartender + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [Search Bartender](apps/bartender/bartender-search.applescript) | Perform a quick search of Menu Bar Items, in Bartender 4 | Raycast | ✅ | | | + #### Bear | Icon | Title | Description | Author | Args | Templ | Lang | @@ -192,6 +220,24 @@ This repository contains sample commands and documentation to write your own one | | [Open Todos](apps/bear/bear-todo.sh) | Open the Todo section in Bear. | [Tanay Nistala](https://github.com/tanaynistala) | ✅ | | | | | [Search](apps/bear/bear-search.sh) | Search notes by keyword and/or tag in Bear. | [Tanay Nistala](https://github.com/tanaynistala) | ✅ | | | +#### BusyCal + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [Create Event/Task](apps/busycal/new-busycal-event-or-task.applescript) | Creates new events or tasks in BusyCal. | [Annie Ma](www.anniema.co) | ✅ | | | + +#### Chatgpt + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [chatgpt](apps/chatgpt/chatgpt-open-safari.applescript) | Open chatgpt in safari | [gintonyc](https://raycast.com/gintonyc) | | | | + +#### Claude + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | ✨ | [Ask Claude](apps/claude/claude.js) | Open Claude in Chrome browser and submit a prompt | [Nimo Beeren](https://github.com/nimobeeren) | ✅ | | | + #### Cleanshot | Icon | Title | Description | Author | Args | Templ | Lang | @@ -206,6 +252,7 @@ This repository contains sample commands and documentation to write your own one | | [Open from Clipboard](apps/cleanshot/cleanshot-open-from-clipboard.sh) | Open screenshot that is currently in the clipboard. | [CleanShot X](https://twitter.com/CleanShot_app) | | | | | | [Pin to the Screen](apps/cleanshot/cleanshot-pin.sh) | Pin a screenshot to the screen. | [CleanShot X](https://twitter.com/CleanShot_app) | ✅ | | | | | [Record Screen](apps/cleanshot/cleanshot-record-screen.sh) | Start a screen recording and save it as a video or an optimized GIF file. | [CleanShot X](https://twitter.com/CleanShot_app) | | | | + | | [Record Screen With Keystroke Pro](apps/cleanshot/cleanshot-record-screen-with-keystroke-pro.sh) | Start a screen recording with keystrokes using the Keystroke Pro app and save it as a video or an optimized GIF file. | [Danylo Zalizchuk](https://raycast.com/danulqua) | | | | | | [Restore Recently Closed File](apps/cleanshot/cleanshot-restore.sh) | Restore the recently closed file. | [CleanShot X](https://twitter.com/CleanShot_app) | | | | | | [Scrolling Capture](apps/cleanshot/cleanshot-scrolling-capture.sh) | Capture any scrollable content. | [CleanShot X](https://twitter.com/CleanShot_app) | | | | | | [Self-Timer](apps/cleanshot/cleanshot-self-timer.sh) | Take a screenshot after a specified delay to capture the perfect moment. | [CleanShot X](https://twitter.com/CleanShot_app) | | | | @@ -271,6 +318,12 @@ This repository contains sample commands and documentation to write your own one | | [XML Beautify/Minify](apps/devutils/xmlformatter.sh) | Beautify or minify your current clipboard as XML | [DevUtils.app](https://devutils.app) | | | | | | [YAML to JSON](apps/devutils/yaml2json.sh) | Convert your current clipboard from YAML to JSON | [DevUtils.app](https://devutils.app) | | | | +#### Dictionary + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [Look up in Dictionary](apps/dictionary/look-up-in-dictionary.applescript) | Look up selected text in Dictionary | [yayiji](https://github.com/yayiji) | | | | + #### Downie | Icon | Title | Description | Author | Args | Templ | Lang | @@ -288,6 +341,12 @@ This repository contains sample commands and documentation to write your own one | | [Start Espanso](apps/espanso/start-espanso.sh) | N/A | [es183923](https://github.com/es183923) | | | | | | [Stop Espanso](apps/espanso/stop-espanso.sh) | N/A | [es183923](https://github.com/es183923) | | | | +#### Eudic + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [Look up Word](apps/eudic/look-up-in-eudic.applescript) | look up in eudic | [jingyi](https://jingyi.blog) | ✅ | | | + #### Evernote | Icon | Title | Description | Author | Args | Templ | Lang | @@ -317,6 +376,12 @@ This repository contains sample commands and documentation to write your own one | | [Open Service by Index](apps/ferdi/ferdi-open-service-by-index.applescript) | N/A | [Jakub Lanski](https://github.com/jaklan) | ✅ | | | | | [Open Service by Name](apps/ferdi/ferdi-open-service-by-name.applescript) | N/A | [Jakub Lanski](https://github.com/jaklan) | ✅ | | | +#### Find My + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [Find My Phone (Auto Sound)](apps/find-my/fmp.js) | N/A | Raycast | | | | + #### Focus | Icon | Title | Description | Author | Args | Templ | Lang | @@ -370,6 +435,7 @@ This repository contains sample commands and documentation to write your own one | Icon | Title | Description | Author | Args | Templ | Lang | | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [CaptchaFromMail](apps/mail/copy-captcha-from-mail.py) | Copy the captcha from the emlx file. | [RealTong](https://raycast.com/RealTong) | | | | | 📧 | [Copy Foreground Mail Deeplink](apps/mail/copy-foreground-mail-deeplink.applescript) | Copies the foreground Mail deeplink | [Jesse Claven](https://github.com/jesse-c) | | | | #### Medo @@ -441,6 +507,7 @@ This repository contains sample commands and documentation to write your own one | Icon | Title | Description | Author | Args | Templ | Lang | | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [Clear Text](apps/one-thing/one-thing-clear-text.sh) | Clear the text shown in One Thing app. | [One Thing](https://sindresorhus.com/one-thing) | | | | | | [Set Text](apps/one-thing/one-thing-set-text.sh) | Set the text shown in One Thing app. | [One Thing](https://sindresorhus.com/one-thing) | ✅ | | | #### OpenVPN @@ -484,6 +551,13 @@ This repository contains sample commands and documentation to write your own one | | [Resume](apps/pulse-secure/pulse-secure-resume.applescript) | Resume the suspended connection. | [Jakub Lanski](https://github.com/jaklan) | | | | | | [Suspend](apps/pulse-secure/pulse-secure-suspend.applescript) | Suspend the active connection. | [Jakub Lanski](https://github.com/jaklan) | | | | +#### Quip + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [Set up Quip commands](apps/quip/set-up-quip-commands.py) | Create script commands for creating Quip documents, based on the configuration in quip_config.ini. | [diego_zamboni](https://raycast.com/diego_zamboni) | | | | + | | [{{commandtitle}}](apps/quip/quip-new.template.py) | Configure your Quip API token and other defaults in quip_config.ini | [zzamboni](https://raycast.com/zzamboni) | ✅ | ✅ | | + #### Raycast | Icon | Title | Description | Author | Args | Templ | Lang | @@ -507,7 +581,9 @@ This repository contains sample commands and documentation to write your own one | | [Close Other Tabs](apps/safari/safari-close-other-tabs.applescript) | Close all tabs besides the currently active tab. | [Thomas Paul Mann](https://github.com/thomaspaulmann) | | | | | | [Close Tabs to the Left](apps/safari/safari-close-tabs-left.applescript) | Close all tabs to the left side of the currently active tab. | [Thomas Paul Mann](https://github.com/thomaspaulmann) | | | | | | [Close Tabs to the Right](apps/safari/safari-close-tabs-right.applescript) | Close all tabs to the right side of the currently active tab. | [Thomas Paul Mann](https://github.com/thomaspaulmann) | | | | + | | [Download Current URL](apps/safari/safari-download-url.applescript) | Download the currently active tab's URL. | [Michael Bianco](https://github.com/iloveitaly) | | | | | | [Duplicate Tab](apps/safari/safari-duplicate-tab.applescript) | Duplicates and opens the currently active tab. | [Thomas Paul Mann](https://github.com/thomaspaulmann) | | | | + | | [Open Bing with Edge User-Agent](apps/safari/safari-bing-edge-user-agent.applescript) | Open Bing in Safari with Edge User-Agent | [smxl](https://github.com/smxl) | | | | | | [Open Safari URL in Chrome](apps/safari/safari-current-page-url-in-chrome.applescript) | Open current Safari URL in new tab in Chrome | [Dave Lehman](https://github.com/dlehman) | | | | | | [Open Safari URL in Firefox](apps/safari/safari-current-page-url-in-firefox.applescript) | Open current Safari URL in new tab in Firefox | [Dave Lehman](https://github.com/dlehman) | | | | @@ -536,6 +612,12 @@ This repository contains sample commands and documentation to write your own one | | [Open Contrast Checker](apps/sip/sip-open-check-contrast.sh) | Open Sip Contrast Checker. | [Sip](https://twitter.com/sip_app/) | | | | | | [Show Color Picker](apps/sip/sip-show-picker.sh) | Pick a color value from your screen. | [Sip](https://twitter.com/sip_app/) | | | | +#### Stickies + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [New Floating Sticky Note](apps/stickies/new-floating-sticky.applescript) | This script creates a new floating note in the Apple Stickies application | [Annie Ma](http://www.anniema.co/) | | | | + #### Sublime | Icon | Title | Description | Author | Args | Templ | Lang | @@ -557,7 +639,7 @@ This repository contains sample commands and documentation to write your own one | | [Connect](apps/tailscale/tailscale-connect.sh) | Connects to Tailscale | [Ross Zurowski](https://github.com/rosszurowski) | | | | | | [Disconnect](apps/tailscale/tailscale-disconnect.sh) | Disconnects from Tailscale | [Ross Zurowski](https://github.com/rosszurowski) | | | | | | [Get IP](apps/tailscale/tailscale-ip.sh) | Gets your private Tailscale IP | [Ross Zurowski](https://github.com/rosszurowski) | | | | - | | [Switch Account](apps/tailscale/tailscale-switch.sh) | Switches Tailscale networks | [Ross Zurowski](https://github.com/rosszurowski) | | | | + | | [Switch Account](apps/tailscale/tailscale-switch.sh) | Switches Tailscale networks | [Ross Zurowski](https://github.com/rosszurowski) and [Daniel Schoemer](https://github.com/quatauta) | | | | #### Terminal Translate @@ -626,6 +708,7 @@ This repository contains sample commands and documentation to write your own one | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | | | [Connect](apps/warp/warp-start.sh) | Create a connection to WARP | [Sergey Fuksman](https://github.com/fuksman) | | | | | | [Disconnect](apps/warp/warp-stop.sh) | Disconnect from WARP | [Sergey Fuksman](https://github.com/fuksman) | | | | + | | [Reauthenticate](apps/warp/warp-reauth.sh) | Force WARP reauthentication | [Daniils Petrovs](https://github.com/danirukun) | | | | | | [Toggle WARP](apps/warp/warp-toggle.sh) | Toggle Connection | [Sergey Fuksman](https://github.com/fuksman) | | | | | | [WARP Status](apps/warp/warp-status.sh) | Check WARP connection | [Sergey Fuksman](https://github.com/fuksman) | | | | @@ -655,6 +738,7 @@ This repository contains sample commands and documentation to write your own one | Icon | Title | Description | Author | Args | Templ | Lang | | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | 🤖 | [Open profile](apps/iterm/iterm-open-profile-in-new-window.applescript) | N/A | [sunrisewestern](https://github.com/sunrisewestern) | ✅ | | | | | [Run Shell Command](apps/iterm/iterm-run-shell-command.applescript) | N/A | [Andrei Borisov](https://github.com/andreiborisov) | ✅ | | | #### iconsur @@ -663,16 +747,11 @@ This repository contains sample commands and documentation to write your own one | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | | 🅱️ | [Change Application Icon](apps/iconsur/iconsur.sh) | Change App icons to match Big Sur | [StevenRCE0](https://github.com/StevenRCE0) | ✅ | | | -## Bookmarks - -| Icon | Title | Description | Author | Args | Templ | Lang | -| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | - | 📜 | [Open Script Commands Repository](bookmarks/open-script-commands-repository.sh) | Open the GitHub repository for Script Commands provided by the community. | Raycast | | | | - ## Browsing | Icon | Title | Description | Author | Args | Templ | Lang | | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | 🐔 | [Convert Twitter to Nitter](browsing/convert-twitter-to-nitter.js) | Convert Twitter link to Nitter | [cSharp](https://github.com/noidwasavailable) | | | | | 🧭 | [Copy Current Page URL](browsing/safari-current-page-url.sh) | This script copies URL of currently opened page in Safari into clipboard. | [Kirill Gorbachyonok](https://github.com/japanese-goblinn) | | | | | 🧭 | [Copy Current Page URL](browsing/chrome-current-page-url.sh) | This script copies URL of currently opened page in Google Chrome into clipboard. | [Jakub Lanski](https://github.com/jaklan) | | | | | 🧭 | [Copy Current Window URLs](browsing/safari-current-window-urls.applescript) | This script copies to clipboard all URLs from frontmost Safari window. | [Kirill Gorbachyonok](https://github.com/japanese-goblinn) | | | | @@ -680,12 +759,16 @@ This repository contains sample commands and documentation to write your own one | 🥽 | [Current Website to Private Browser](browsing/to-private-browsing.sh) | Open the current site in a private browser | [raulanatol](https://github.com/raulanatol) | | | | | | [Go to Outline](browsing/go-to-outine.sh) | Open the website at Outline | [Ronan Rodrigo Nunes](https://ronanrodrigo.dev) | ✅ | | | | 🌐 | [New Browser Window](browsing/new-browser-window.sh) | Open new window in default browser | [Levi Nelson](https://github.com/LeviticusNelson) | | | | + | 📚 | [Open Multiple Websites on Safari](browsing/open-multiple-websites-on-safari.template.sh) | Open multiple websites on Safari using list of URLs | [Yasutaka Nishii](https://github.com/ystknsh) | | ✅ | | + | 🤖 | [Open in guest profile](browsing/open-in-guest-profile.sh) | Open current website in guest profile/mode | [JD Solanki](https://github.com/jd-solanki) | | | | + | | [Open without CORS](browsing/open-chrome-without-cors.sh) | Open chrome with web security option disabled. | [Tahsin Yazkan](https://github.com/thsnyzkn) | | | | | | [Peek a link](browsing/peekalink.template.sh) | Use [Peekalink.io](https://peekalink.io) API to peek specified URL. | [Caleb Stauffer](https://github.com/crstauf) | ✅ | ✅ | | | 🖼️ | [Screenshot Website](browsing/website-screenshots.sh) | Takes screenshots of the entered URL using [`pageres`](https://github.com/sindresorhus/pageres) and saves it to the Desktop. | [Caleb Stauffer](https://github.com/crstauf) | ✅ | | | | 🔗 | [Shorten URL From Clipboard](browsing/shorten-url.sh) | Shorten the URL in your Clipboard with Tiny URL. | [Thomas Paul Mann](https://github.com/thomaspaulmann) | | | | | | [Shorten URL from GitHub](browsing/git-io.sh) | Shorten any github.com URL | [Astrit](https://github.com/astrit) | | | | | 🔗 | [Shorten URL with Bitly](browsing/shorten-url-bitly.template.sh) | Transform the clipboard contents to a short Bitly URL | [Nitin Gupta](https://twitter.com/gniting) | | ✅ | | | 🔗 | [Shorten URL with Emojis](browsing/short-url-emoji.sh) | Transform the clipboard contents to a short Emoji URL | [Samuel Henry](https://bne.sh) | | | | + | 📹 | [Youtube Shorts in video player](browsing/Youtube Shorts in video player.sh) | Opens current Youtube Shorts video in the normal video player by replacing "/shorts/" with "/v/" in the url. | [Kailash Yellareddy](https://github.com/kyellareddy) | | | | ## Communication @@ -694,6 +777,7 @@ This repository contains sample commands and documentation to write your own one | 🔐 | [2FA from iMessages](communication/imessage-2fa.sh) | Get most recent two-factor authentication code from iMessages. | [Caleb Stauffer](https://github.com/crstauf) and [Thiago Holanda](https://twitter.com/tholanda) | | | | | 📱 | [Call with iPhone](communication/call-with-iphone.sh) | Place a telephone call via your iPhone on Wi-Fi. | [Alexander JH Steffen](https://github.com/alexjsteffen) | ✅ | | | | 🔐 | [Generate Passphrase](communication/xkcdpass.sh) | Use [xkcdpass](https://github.com/redacted/XKCD-password-generator) to create a passphrase. | [Caleb Stauffer](https://github.com/crstauf) | | | | + | 🤡 | [Let Me Google That](communication/let-me-google-that.sh) | Let Me Google That For You | [Leo Fritsch](https://github.com/leofritsch) | | | | | 🗣 | [Say](communication/say.sh) | Convert text to audible speech. | [Felipe Turcheti](https://felipeturcheti.com) | ✅ | | | | | [Share Secret from Clipboard](communication/share-secret-doppler.py) | Share secret securely using https://share.doppler.com/. | [Petr Nikolaev](https://github.com/PitNikola) | ✅ | | | @@ -716,6 +800,7 @@ This repository contains sample commands and documentation to write your own one | Icon | Title | Description | Author | Args | Templ | Lang | | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | 🎲 | [Random Emoji](communication/emojis/random-emoji.sh) | Copy a random emoji to the clipboard. | [Tomohiro Nishimura](https://github.com/Sixeight) | | | | | 📙 | [Search Emojis](communication/emojis/emojis-search.sh) | Search for emojis related to input. | [Caleb Stauffer](https://github.com/crstauf) | ✅ | | | | 📙 | [Search and Copy First Related Emoji](communication/emojis/emoji-copy.sh) | Copy first emoji related to input. | [Caleb Stauffer](https://github.com/crstauf) | ✅ | | | @@ -731,6 +816,12 @@ This repository contains sample commands and documentation to write your own one | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | | | [Open Google Meet](communication/google-meet/meet.sh) | Start a Google Meet session | [Mujib Azizi](https://github.com/mujibazizi) | | | | +#### Mail + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | ✉️ | [Open Most Recent Email](communication/mail/open-most-recent-email.applescript) | Open the last received email in your inbox in Mail.app | [Ben Yoon](https://github.com/benyn) | | | | + #### Messenger | Icon | Title | Description | Author | Args | Templ | Lang | @@ -745,6 +836,7 @@ This repository contains sample commands and documentation to write your own one | | [Clear Slack DND](communication/slack/clear-slack-DND-status.sh) | Clear DND Status in Slack | [Sam Ching](https://github.com/samching) | | | | | 🧼 | [Clear Status](communication/slack/clear-slack-status.template.sh) | Clear your status in Slack. | [Thomas Paul Mann](https://github.com/thomaspaulmann) | | ✅ | | | | [Jump to...](communication/slack/slack-jump-to.applescript) | N/A | [Jakub Lanski](https://github.com/jaklan) | ✅ | | | + | | [Launch Dev Mode](communication/slack/slack-dev-mode.sh) | Open Slack with the Developer Menu enabled. ⌘⌥I to access the Developer Menu. If you find it's not working, quit Slack and run this command again. | [Cody Carrell](https://raycast.com/sourcecody) | | | | | | [Open Workspace by Index](communication/slack/slack-open-workspace-by-index.applescript) | N/A | [Jakub Lanski](https://github.com/jaklan) | ✅ | | | | | [Open Workspace by Name](communication/slack/slack-open-workspace-by-name.applescript) | N/A | [Jakub Lanski](https://github.com/jaklan) | ✅ | | | | | [Send Message in Channel](communication/slack/slack-send-message.applescript) | This script posts a message text to a slack channel and sets active status (defaults to random good morning message in #general) | [Faris Aziz](https://github.com/farisaziz12) | ✅ | | | @@ -758,6 +850,7 @@ This repository contains sample commands and documentation to write your own one | Icon | Title | Description | Author | Args | Templ | Lang | | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | | | [Leave Meeting](communication/zoom/leave-meeting.applescript) | Leaves Current Zoom meeting | [Faris Aziz](https://github.com/farisaziz12) | | | | + | | [Rename Profile](communication/zoom/rename-profile.applescript) | Rename your profile in Zoom Meeting App (Mac Only) and cliclick. | [Leo Voon](https://github.com/leovoon) | ✅ | | | | | [Toggle Microphone](communication/zoom/toggle-mic.applescript) | Mute/Unmute your microphone in the current meeting | [Luigi Cardito](https://github.com/lcardito) and [Faris Aziz](https://github.com/farisaziz12) | | | | | | [Toggle Video](communication/zoom/toggle-video.applescript) | Show/Hide your microphone in the current meeting | [Luigi Cardito](https://github.com/lcardito) and [Faris Aziz](https://github.com/farisaziz12) | | | | @@ -769,15 +862,21 @@ This repository contains sample commands and documentation to write your own one | 🎨 | [Color Conversion](conversions/color-conversion.sh) | Convert color formats (e.g. #FFEEFF -> rgba(255,238,255,1) | [quelhasu](https://github.com/quelhasu) | ✅ | | | | 🗂 | [Column to Comma](conversions/column-to-comma.sh) | Converts column to comma separated list. | Raycast | | | | | ⏱ | [Convert Epoch to Human-Readable Date](conversions/epoch-to-human-date.sh) | Convert epoch to human-readable date. | [Siyuan Zhang](https://github.com/kastnerorz) | ✅ | | | + | 📋 | [Convert Google Docs Rich Text HTML to Markdown](conversions/google-docs-to-markdown.sh) | A script to take the HTML pastboard type filled by google docs and convert it to nicely formatted markdown | [Michael Bianco](https://github.com/iloveitaly) | | | | | ⏱ | [Convert Human-Readable Date To Epoch](conversions/human-date-to-epoch.sh) | Convert human-readable date to timestamp epoch. | [Siyuan Zhang](https://github.com/kastnerorz) | ✅ | | | + | 🔄 | [Convert Markdown to Telegram Format](conversions/markdown-to-telegram.py) | Convert Markdown formatting to Telegram format, excluding processing inside code blocks or quotes | [Maxim Borzov](https://github.com/borzov) | | | | + | 📋 | [Convert Raw HTML to Rich Text on Clipboard](conversions/raw-html-to-rich-text-clipboard.sh) | This script will convert raw HTML on your clipboard to rich text. It requires pandoc to be installed on your system. | [Michael Bianco](https://github.com/iloveitaly) | | | | | 📹 | [Create GIF from video](conversions/create-gif-from-video.py) | Create a GIF from video, by default it takes the last screen record video | [Quentin Eude](https://github.com/qeude) | ✅ | | | | 🎨 | [Hex to RGB](conversions/hex-to-rgb.sh) | Convert hexadecimal color value to RGB value. | [Caleb Stauffer](https://github.com/crstauf) | ✅ | | | | 🎨 | [Hex to RGBA](conversions/hex-to-rgba.sh) | Convert hexadecimal color value to RGBA value. | [Caleb Stauffer](https://github.com/crstauf) | ✅ | | | | 🧱 | [Markdown Table](conversions/create-markdown-table.js) | Create a markdown table template | [Ryan Nystrom](https://github.com/rnystrom) | ✅ | | | + | 📋 | [OCR Image](conversions/clipboard-ocr.sh) | OCR Image from Clipboard | [xxchan](https://github.com/xxchan) | | | | | 📋 | [Paste and Match Style](conversions/paste-as-plain-text.applescript) | A script to click the "Paste and Match Style" menu item, even if it's disabled | [Michael Bianco](https://github.com/iloveitaly) | | | | | | [QR Code Generation](conversions/qrcode-generate.sh) | QR Code Generation | [wyhaya](https://github.com/wyhaya) | ✅ | | | | 📝 | [Rich Text to Markdown](conversions/rich-text-clipboard-to-markdown.sh) | Convert rich text clipboard data to GitHub Flavored Markdown using Pandoc | [Adam Zethraeus](https://github.com/adam-zethraeus) | | | | | | [Screenshot QR Code to Clipboard](conversions/qr-code-screenshot-to-text.sh) | Decode QR Code from screenshot to clipboard using https://qrserver.com/ | [Diego Lopes](https://github.com/Dihgg) | | | | + | 🔗 | [Simple Markdown Link Generator](conversions/inputs-to-markdown-link.sh) | Quickly and simply generate a markdown formatted link with your specified URL and title. | [atzzCokeK](https://github.com/atzzCokeK) | ✅ | | | + | 📝 | [Space Fixer](conversions/space-fixer.sh) | Add spaces between Chinese and English, number or symbols. | [RealTong](https://raycast.com/RealTong) | | | | | 🔠 | [Strikethrough Text](conversions/strikethrough.sh) | Converts given text (or clipboard if no argument) to t̶e̶x̶t̶ | [Jakub Lanski](https://github.com/jaklan) | ✅ | | | | ✂️ | [Trim Newlines and Tabs](conversions/trim-newlines-tabs.sh) | Trim newlines and tabs from clipboard content. | [Caleb Stauffer](https://github.com/crstauf) | | | | | 🦸‍♀️ | [Unicode Superscript](conversions/unicode-superscript.sh) | Convert clipboards text to fake unicode superscript | [Adam Zethraeus](https://github.com/adam-zethraeus) | ✅ | | | @@ -797,11 +896,18 @@ This repository contains sample commands and documentation to write your own one | | [Title Case](conversions/change-case/titlecase.py) | Change to clipboard text to title case | [Robert Cooper](https://github.com/robertcoopercode) | | | | | | [Uppercase](conversions/change-case/uppercase.py) | Change to clipboard text to uppercase | [Robert Cooper](https://github.com/robertcoopercode) | | | | +## Culture + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | 🕌 | [Prayer Times](culture/prayer-times.sh) | Prayer Times grabbed from the aladhan.com. | [Emircan Erkul](https://emircanerkul.com) | | | | + ## Dashboard | Icon | Title | Description | Author | Args | Templ | Lang | | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | | | [Bitcoin Price](dashboard/bitcoin-price-usd.sh) | Get current Bitcoin price from Coindesk. | [Tanguy Le Stradic](https://github.com/tanguyls) | | | | + | 💲 | [Check Usage of OpenAI API](dashboard/open-ai-usage.sh) | Get total usage of OpenAI API | [nagauta](https://github.com/nagauta) | | | | | 💰 | [Crypto](dashboard/crypto-portfolio.py) | Gets crypto prices from Binance | [Manan Mehta](https://github.com/mehtamanan) | | | | | 🌦️ | [Current Weather](dashboard/current-weather.sh) | Get current weather report from [wttr.in](https://wttr.in/). | [Caleb Stauffer](https://github.com/crstauf) | | | | | | [DOGE Price](dashboard/doge.sh) | Checking DOGE coin price | [Clu Soh](https://github.com/designedbyclu) | | | | @@ -813,6 +919,7 @@ This repository contains sample commands and documentation to write your own one | | [Speedtest](dashboard/speedtest.sh) | Test download and upload connection speed using [Speedtest](https://www.speedtest.net/apps/cli). | [Caleb Stauffer](https://github.com/crstauf) | | | | | 📈 | [Stocks](dashboard/stock-portfolio.rb) | Keep track of your stock portfolio. | [Thomas Paul Mann](https://github.com/thomaspaulmann) | | | | | 📈 | [System Activity](dashboard/system-activity.sh) | N/A | Raycast | | | | + | 🚘 | [Tesla](dashboard/tesla.template.sh) | Get the status of your Tesla vehicle | [Mortada Sarheed](https://github.com/mSarheed) | | ✅ | | | | [Twitter Statistics](dashboard/twitter-statistics.template.rb) | Shows the followers, favorites and friends count of your Twitter account. | [Thomas Paul Mann](https://github.com/thomaspaulmann) | | ✅ | | | 🕐 | [World Time](dashboard/world-time.sh) | Show the time from elsewhere in the world | [Jesse Claven](https://github.com/jesse-c) | | | | | ⏱ | [Year Progress](dashboard/year-progress.sh) | See the year progress on your desktop. | [Thomas Paul Mann](https://github.com/thomaspaulmann) | | | | @@ -830,6 +937,7 @@ This repository contains sample commands and documentation to write your own one | Icon | Title | Description | Author | Args | Templ | Lang | | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [Get Authorization Token](dashboard/firebase/firebase-authentication-get-token.template.sh) | Get token from Firebase Authentication service | [João Melo](https://github.com/joaopcm) | | ✅ | | | | [Get data from Firebase](dashboard/firebase/firebase-realtime-db-get-data.template.sh) | Get values from Firebase Realtime Database | [Marek Mašek](https://github.com/marekmasek) | | ✅ | | #### Mood Meter @@ -847,6 +955,12 @@ This repository contains sample commands and documentation to write your own one | ⛅️ | [Current Weather](dashboard/open-weather/weather-current.template.sh) | Get current weather from OpenWeather | [Marek Mašek](https://github.com/marekmasek) | | ✅ | | | ⛅️ | [Weather Forecast](dashboard/open-weather/weather-forecast.template.sh) | Get weather forecast from OpenWeather | [Marek Mašek](https://github.com/marekmasek) | | ✅ | | +## Dashboards + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | 💾 | [Speed Test](dashboards/iperf-speed-test.template.sh) | Runs an iPerf Speed Test. | [Sam Wright](https://raycast.com/samywamy10) | | ✅ | | + ## Developer Utils | Icon | Title | Description | Author | Args | Templ | Lang | @@ -868,6 +982,7 @@ This repository contains sample commands and documentation to write your own one | 💻 | [Decode Base64](developer-utils/decode-base64.sh) | Decodes clipboard content to Base64 and copies it again. | Raycast | | | | | | [Decode JWT](developer-utils/decode-jwt.sh) | Decodes JSON web token from the clipboard. | Raycast | | | | | 💻 | [Decode URL](developer-utils/decode-url.sh) | Decodes clipboard content url and copies it again. | Raycast | | | | + | ⌨️ | [Delete Current Line](developer-utils/delete-current-line.applescript) | This script deletes the line at cursor position. | [Annie Ma](http://www.anniema.co/) | | | | | 🌍 | [Dig](developer-utils/dig.sh) | Perform a dig command with the specified options | Tommaso Panozzo | ✅ | | | | 💻 | [Encode Base64](developer-utils/encode-base64.sh) | Encodes clipboard content to Base64 and copies it again. | Raycast | | | | | 💻 | [Encode URL](developer-utils/encode-url.sh) | Encodes clipboard content url and copies it again. | Raycast | | | | @@ -881,8 +996,9 @@ This repository contains sample commands and documentation to write your own one | 💻 | [Generate UUID](developer-utils/generate-uuid.sh) | Generates a UUID and copies it to the clipboard. | Raycast | | | | | 🕐 | [Get TTFB (Time to First Byte)](developer-utils/get-ttfb.sh) | Get the TTFB (Time to First Byte) of a website | [Angelos Michalopoulos](https://github.com/miagg) | ✅ | | | | 🧹 | [Ignore Package Folders](developer-utils/ignore-package-folders-time-machine.template.sh) | Ignore package folders (node_modules, Pods, etc) from Time Machine backups. They might not be big in size (altough they do add up), but they usually have tens of thousands of files, making backups slower than they should be. Many files are worse than big files when copying. You can also add a Spotlight comment to each file, to easily be able to exclude the same folders from Spotlight indexing (disabled by default). | [Roland Leth](https://runtimesharks.com) | | ✅ | | - | 🩺 | [Is It Up?](developer-utils/is-it-up.sh) | Check if a website is up | [Jesse Claven](https://github.com/jesse-c) | ✅ | | | + | 🌐 | [Is It Up?](developer-utils/is-it-up.sh) | Check if a website is up | [Jesse Claven](https://github.com/jesse-c) | ✅ | | | | | [JSON to Go Struct](developer-utils/json-to-go-struct.sh) | Convert the copied JSON into a golang structure. | [tiancheng92](https://github.com/tiancheng92) | ✅ | | | + | 🛠 | [Join Clipboard Lines by Delimiter](developer-utils/join-lines.sh) | Join multiple lines of text from the clipboard into a single line, separated by a specified delimiter. | [decaylala](https://github.com/decaylala) | ✅ | | | | 💻 | [Json Stringify Text](developer-utils/json-stringify-text.js) | Get JSON-formatted text | Senthil Prabhu | | | | | 🔐 | [MD5 Hash](developer-utils/md5-hash.sh) | Hashing any text data by using MD5 | [Bin Hua](https://github.com/hzb) | ✅ | | | | | [Microlink API](developer-utils/microlink.sh) | Microlink API integration | [Kiko Beats](https://github.com/kikobeats) | ✅ | | | @@ -902,9 +1018,11 @@ This repository contains sample commands and documentation to write your own one | 🔐 | [Strong Password Generator](developer-utils/strong-password-generator.sh) | Generate a strong password of requested character length | [Nitin Gupta](https://twitter.com/gniting) | ✅ | | | | 🕒 | [Time Between Dates](developer-utils/time-between-dates.js) | Given two dates returns the time between them in multiple units of measure. | [Federico Miraglia](https://github.com/Mitra98t) | ✅ | | | | 🕒 | [Time Calculator](developer-utils/time-calculator.js) | Add or Subtract specified amount of time from given date. | [Federico Miraglia](https://github.com/Mitra98t) | ✅ | | | + | 🔒 | [Toggle SSH SOCKS Tunnel](developer-utils/toggle_ssh_proxy_tunnel.template.sh) | Toggles an SSH SOCKS proxy tunnel on and off. | [Andrii Barabash](https://github.com/AndriiBarabash) | | ✅ | | | 🔠 | [Transform Case](developer-utils/transform-case.sh) | Transform the case of clipboard content. Defaults to lower case if no conversion type is specified. | [Nitin Gupta](https://twitter.com/gniting) | ✅ | | | | ✂ | [Trim Git Commit Hash](developer-utils/trim-git-commit-hash.sh) | Trim full git commit hash down to seven characters. | [Caleb Stauffer](https://github.com/crstauf) | ✅ | | | | 🔗 | [Unshorten URL](developer-utils/unshorten-url.sh) | Unshortens clipboard content url and copies the result again. | [Nikita Galaiko](https://github.com/ngalaiko) | | | | + | 📖 | [View Scripting Dictionary](developer-utils/view-scripting-dictionary.sh) | Opens the Scripting Dictionary for the given application, defaulting to the active application if none is provided. | [Stephen Kaplan](https://github.com/SKaplanOfficial) | ✅ | | | | 🌐 | [Whois](developer-utils/whois.sh) | Whois of URL. | [Caleb Stauffer](https://github.com/crstauf) and [Ronan Rodrigo Nunes](https://ronanrodrigo.dev) | ✅ | | | #### Aws @@ -912,6 +1030,7 @@ This repository contains sample commands and documentation to write your own one | Icon | Title | Description | Author | Args | Templ | Lang | | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | | 🤖 | [Find AWS Region by IP](developer-utils/aws/whatismyregion.sh) | Copies the AWS IPv4 to the clipboard. | [Oğuzhan Yılmaz](https://github.com/c1982) | | | | + | | [S3 Download](developer-utils/aws/amazon-s3-download.sh) | Download from Amazon S3 via URL | [Chris Cook](https://github.com/zirkelc) | ✅ | | | | | [Single Sign-On](developer-utils/aws/aws-sso-util.sh) | Login to AWS using aws-sso-util | [David Molinero](https://github.com/doktor500) | | | | #### Brew @@ -970,6 +1089,7 @@ This repository contains sample commands and documentation to write your own one | | [Open Pull Requests](developer-utils/github/github-open-pull-requests.template.rb) | Display number of open pull requests | [Faye Sipiano](https://github.com/FSipiano) | | ✅ | | | | [Open Pull Requests page](developer-utils/github/github-open-pull-requests-page.sh) | Open your GitHub pull requests page | [Faye Sipiano](https://github.com/FSipiano) | | | | | ⭐️ | [Repository Statistics](developer-utils/github/github-repository-stars.template.rb) | Show statistics of your GitHub repository. | [Thomas Paul Mann](https://github.com/thomaspaulmann) | | ✅ | | + | ⭐️ | [Repository Statistics](developer-utils/github/github-repository-stars_all_repos_template.rb) | Show statistics of your GitHub repositories. | [Valdir Junior](https://github.com/valdirjunior011 ) | | ✅ | | | | [Show Open Pull Requests](developer-utils/github/github-open-pull-requests-details.template.rb) | Display (detailed) GitHub pull requests | [Faye Sipiano](https://github.com/FSipiano) | | ✅ | | | | [Show Review Requests](developer-utils/github/github-review-requests.template.rb) | Display number of Pull Requests requesting your review | [Vince Picone](https://github.com/vpicone) | | ✅ | | | | [Unread Notifications](developer-utils/github/github-unread-notifications.template.sh) | Display (detailed) number of unread GitHub notifications. | [Caleb Stauffer](https://github.com/crstauf) | | ✅ | | @@ -1024,8 +1144,8 @@ This repository contains sample commands and documentation to write your own one | Icon | Title | Description | Author | Args | Templ | Lang | | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | - | | [Open Directory](developer-utils/vscode/open-folder-in-vscode.applescript) | Opens current topmost directory in VSCode | [chohner](https://github.com/chohner) | | | | - | | [Open Project](developer-utils/vscode/open-project-in-vscode.sh) | Finds path to the given directory which must be a vs code or git project and opens it with VS Code | [Maksim Zemlyanikin](https://github.com/Maksimka101) | ✅ | | | + | | [Open Directory](developer-utils/vscode/open-folder-in-vscode.applescript) | Opens current topmost directory in VS Code | [chohner](https://github.com/chohner) | | | | + | | [Open Project](developer-utils/vscode/open-project-in-vscode.sh) | Finds path to the given directory which must be a VS Code or Git project and opens it with VS Code | [Maksim Zemlyanikin](https://github.com/Maksimka101) | ✅ | | | #### Xcode @@ -1034,12 +1154,6 @@ This repository contains sample commands and documentation to write your own one | | [Last Project](developer-utils/xcode/xcode-last-project.sh) | Open the last Xcode project | [Sergey Korobyin](https://github.com/huangsemao) | | | | | | [Recent Project](developer-utils/xcode/xcode-recent-project.sh) | Open recent Xcode project | [Sergey Korobyin](https://github.com/huangsemao) | ✅ | | | -## Google Maps - -| Icon | Title | Description | Author | Args | Templ | Lang | -| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | - | | [Search Google Maps](google-maps/google-maps.sh) | N/A | Raycast | ✅ | | | - ## Home #### Elgato @@ -1064,10 +1178,12 @@ This repository contains sample commands and documentation to write your own one | Icon | Title | Description | Author | Args | Templ | Lang | | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [Calculate CAGR Percentage](math/calculate-CAGR.sh) | Calculate the CAGR between "from" and "to" values over given "years," then copy the result. | [Samuel Barton](https://github.com/samueldbarton) | ✅ | | | | 📈 | [Calculate Growth %](math/calculate-growth.sh) | Calculate percentage increase between "from" and "to" values. | [Petr Nikolaev](https://github.com/pitnikola) | ✅ | | | | 🔢 | [Generate Random Number](math/random-number.sh) | Generate a number between a given range (inclusive) and then copy the value | [Matt Gleich](https://mattglei.ch) | ✅ | | | | 🧮 | [LaTeX Calculator](math/latex-calculator.py) | Evaluate LaTeX expressions and get the product copied to your clipboard | [Matt Gleich](https://mattglei.ch) | ✅ | | | | | [Wolfram Alpha](math/wolfram-alpha.template.sh) | Use Wolfram Alpha to answer your query | [es183923](https://github.com/es183923) | ✅ | ✅ | | + | | [nCr: Calculate Combinations](math/calculate-combinations.js) | nCr: Calculate combinations | [cSharp](https://github.com/noidwasavailable) | ✅ | | | ## Media @@ -1136,6 +1252,12 @@ This repository contains sample commands and documentation to write your own one | | [Workout](media/endel/endel-scenarios-workout.sh) | Run Workout scenario at Endel | [Sergey Korobyin](https://github.com/huangsemao) | ✅ | | | | | [Yoga](media/endel/endel-scenarios-yoga.sh) | Run Yoga scenario at Endel | [Sergey Korobyin](https://github.com/huangsemao) | ✅ | | | +#### Lowfi + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [Lowfi](media/lowfi/lowfi.sh) | N/A | Raycast | | | | + #### Sonos | Icon | Title | Description | Author | Args | Templ | Lang | @@ -1145,6 +1267,12 @@ This repository contains sample commands and documentation to write your own one | | [Volume Down](media/sonos/sonos-volume-down.sh) | Raises volume of Sonos. | [David Blackman](https://github.com/whizziwig) | | | | | | [Volume Up](media/sonos/sonos-volume-up.sh) | Raises volume of Sonos. | [David Blackman](https://github.com/whizziwig) | | | | +#### Speaker Setup + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | 🔊 | [Speaker Setup](media/speaker-setup/speaker-setup.sh) | N/A | [Kailash Yellareddy](https://github.com/kyellareddy) | | | | + #### Spotify | Icon | Title | Description | Author | Args | Templ | Lang | @@ -1181,6 +1309,7 @@ This repository contains sample commands and documentation to write your own one | Icon | Title | Description | Author | Args | Templ | Lang | | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | 🫥 | [Hide Current Application](navigation/hide-application.applescript) | Easily hide your foremost application | [Chris Bailey](https://raycast.com/that70schris) | | | | | | [JustFocus](navigation/justfocus.applescript) | N/A | Jax0rz | ✅ | | | | 📂 | [Open Applications](navigation/open-applications.sh) | Opens the Applications folder in the Finder. | Raycast | | | | | 🖥 | [Open Clipboard URL on Desktop](navigation/open-desktop-url-from-clipboard.swift) | Opens the URL from the clipboard in the desktop app. | Raycast | | | | @@ -1202,28 +1331,26 @@ This repository contains sample commands and documentation to write your own one | | [Search in Dash](navigation/search-in-dash.sh) | N/A | Jax0rz | ✅ | | | | | [Search in Devdocs](navigation/search-in-devdocs.sh) | N/A | Jax0rz | ✅ | | | -## Password Managers +## Productivity #### Bitwarden | Icon | Title | Description | Author | Args | Templ | Lang | | :--: | ----- | ----------- | :----: | :--: | :---: | :--: | - | | [Bitwarden Status](password-managers/bitwarden/status.sh) | Display the authentication and lock status of the user's Bitwarden session. | [Phil Salant](https://github.com/PSalant726) | | | | - | | [Copy First Matching Password](password-managers/bitwarden/copy-first-matching-password.sh) | Search all items in a Bitwarden vault, and copy the password of the first search result to the clipboard. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | - | | [Copy First Matching TOTP](password-managers/bitwarden/copy-first-matching-totp.sh) | Search all items in a Bitwarden vault, and copy the TOTP of the first search result to the clipboard. | [Phil Salant](https://github.com/int3rrupt) | ✅ | | | - | | [Create a Text Send](password-managers/bitwarden/create-text-send.sh) | Create a new text-only Bitwarden Send. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | - | | [Delete a Send](password-managers/bitwarden/delete-send.sh) | Delete a Bitwarden Send. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | - | | [Edit a Send](password-managers/bitwarden/edit-send.sh) | Edit an existing Bitwarden Send. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | - | | [List All Text Sends](password-managers/bitwarden/list-sends.sh) | List all Bitwarden text Sends created in the currently unlocked account. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | - | | [Lock Session](password-managers/bitwarden/lock.sh) | Lock a Bitwarden session. | [Phil Salant](https://github.com/PSalant726) | | | | - | | [Log In](password-managers/bitwarden/log-in-apikey.template.sh) | Log in to Bitwarden using an API key. | [Marcel Bochtler](https://github.com/MarcelBochtler) | ✅ | ✅ | | - | | [Log In](password-managers/bitwarden/log-in.template.sh) | Log in to Bitwarden. | [Phil Salant](https://github.com/PSalant726) | ✅ | ✅ | | - | | [Log Out](password-managers/bitwarden/log-out.sh) | Log out of Bitwarden. | [Phil Salant](https://github.com/PSalant726) | | | | - | | [Receive a Text Send](password-managers/bitwarden/receive-text-send.sh) | View the content of a text-only Bitwarden Send. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | - | | [Search Vault Items](password-managers/bitwarden/search-vault-items.sh) | Search all items in a Bitwarden vault. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | - | | [Unlock Session](password-managers/bitwarden/unlock.sh) | Unlock an authenticated Bitwarden session. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | - -## Productivity + | | [Bitwarden Status](productivity/bitwarden/status.sh) | Display the authentication and lock status of the user's Bitwarden session. | [Phil Salant](https://github.com/PSalant726) | | | | + | | [Copy First Matching Password](productivity/bitwarden/copy-first-matching-password.sh) | Search all items in a Bitwarden vault, and copy the password of the first search result to the clipboard. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | + | | [Copy First Matching TOTP](productivity/bitwarden/copy-first-matching-totp.sh) | Search all items in a Bitwarden vault, and copy the TOTP of the first search result to the clipboard. | [Phil Salant](https://github.com/int3rrupt) | ✅ | | | + | | [Create a Text Send](productivity/bitwarden/create-text-send.sh) | Create a new text-only Bitwarden Send. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | + | | [Delete a Send](productivity/bitwarden/delete-send.sh) | Delete a Bitwarden Send. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | + | | [Edit a Send](productivity/bitwarden/edit-send.sh) | Edit an existing Bitwarden Send. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | + | | [List All Text Sends](productivity/bitwarden/list-sends.sh) | List all Bitwarden text Sends created in the currently unlocked account. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | + | | [Lock Session](productivity/bitwarden/lock.sh) | Lock a Bitwarden session. | [Phil Salant](https://github.com/PSalant726) | | | | + | | [Log In](productivity/bitwarden/log-in-apikey.template.sh) | Log in to Bitwarden using an API key. | [Marcel Bochtler](https://github.com/MarcelBochtler) | ✅ | ✅ | | + | | [Log In](productivity/bitwarden/log-in.template.sh) | Log in to Bitwarden. | [Phil Salant](https://github.com/PSalant726) | ✅ | ✅ | | + | | [Log Out](productivity/bitwarden/log-out.sh) | Log out of Bitwarden. | [Phil Salant](https://github.com/PSalant726) | | | | + | | [Receive a Text Send](productivity/bitwarden/receive-text-send.sh) | View the content of a text-only Bitwarden Send. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | + | | [Search Vault Items](productivity/bitwarden/search-vault-items.sh) | Search all items in a Bitwarden vault. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | + | | [Unlock Session](productivity/bitwarden/unlock.sh) | Unlock an authenticated Bitwarden session. | [Phil Salant](https://github.com/PSalant726) | ✅ | | | #### Imgur @@ -1241,6 +1368,13 @@ This repository contains sample commands and documentation to write your own one | 🍅 | [Status](productivity/pomodoro/pomodoro-status.sh) | Status of a Pomodoro timer | [Thomas Paul Mann](https://github.com/thomaspaulmann) | | | | | 🍅 | [Stop Timer](productivity/pomodoro/pomodoro-stop-timer.sh) | Stop active Pomodoro timer | [Thomas Paul Mann](https://github.com/thomaspaulmann) | | | | +#### Writing + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | 📖 | [Dictionary Lookup](productivity/writing/dictionary-lookup.swift) | Directly use macOS Dictionary | [Alessandra Pereyra](https://github.com/alessandrapereyra) | ✅ | | | + | 🤖 | [Word Count](productivity/writing/word-count.sh) | Counts the number of words of the text in the clipboard | [Benny Wong](https://bwong.net) | | | | + #### macOCR | Icon | Title | Description | Author | Args | Templ | Lang | @@ -1354,6 +1488,7 @@ This repository contains sample commands and documentation to write your own one | 💻 | [Add Spacer to Dock](system/add-spacer-to-dock.sh) | Adds an invisible icon to the Dock as a separator. | [Alexandru Turcanu](https://github.com/Pondorasti) | | | | | 🔋 | [Battery Info](system/battery-info.sh) | Get Battery percentage, time remaining, charge status, charger wattage, total cycles etc. | [Fahim Faisal](https://github.com/i3p9) | | | | | ☀️ | [Brightness](system/brightness.sh) | Set system brightness | [Antonio Dal Sie](https://github.com/exodusanto) | ✅ | | | + | 🖥️ | [CPU Usage](system/inline-cpu-usage-percent.sh) | Display CPU usage percent | [Juan Luis Romero](https://github.com/JuanluR8) | | | | | ☕️ | [Caffeinate](system/caffeinate-status.swift) | Shows caffeinate status and time left if it's running | [Yan Smaliak](https://github.com/ysmaliak) | | | | | ☕️ | [Caffeinate](system/caffeinate-status.sh) | Shows caffeinate status | [Yan Smaliak](https://github.com/ysmaliak) | | | | | 💻 | [Capture Fullscreen to Clipboard](system/capture-fullscreen-to-clipboard.sh) | This script screenshots the entire screen and saves it to the clipboard. | [Aaron Miller](https://github.com/aaronhmiller) | | | | @@ -1362,17 +1497,27 @@ This repository contains sample commands and documentation to write your own one | 💻 | [Capture Screen Selection to Desktop](system/capture-screen-selection-to-desktop.sh) | This script screenshots the selected area and saves it to the desktop. | [Aaron Miller](https://github.com/aaronhmiller) | | | | | 🔪 | [Close All Finder Windows](system/close-finder-windows.applescript) | Close all open Finder windows. | [Alexander Steffen](https://github.com/alexjsteffen) | | | | | 📅 | [Copy Availability](system/copy-availability.swift) | Copies the calendar availability of today. | Raycast | ✅ | | | + | | [Copy Finder Selection to Clipboard](system/copy-selection-to-clipboard.applescript) | Copy contents of selected items in Finder to the clipboard. If there's more than one file selected, they will be combined and added to the clipboard. | [Felipe Turcheti](https://felipeturcheti.com) | | | | | 💁 | [Copy Last Download](system/copy-last-download.swift) | Copy the last downloaded file to the clipboard. | Raycast | | | | | 📸 | [Copy Last Screenshot](system/copy-last-screenshot.swift) | Copies the last screenshot to the clipboard. | Raycast | | | | + | 📝 | [Copy Meeting Summary](system/meeting_summary_script.swift) | Copies a summary of today's meetings to the clipboard. | Raycast | | | | | 📟 | [Copy Wi-Fi Password](system/wifi-password.sh) | Copy Wi-Fi password from current session | [Astrit Malsia](https://github.com/astrit) | | | | | 📧 | [Create Email](system/new-email.sh) | Opens default email application, and creates a new email with the given inputs. | [Brandon Escamilla](https://github.com/brandonescamilla) | ✅ | | | | 📄 | [Create New File](system/create-new-file.applescript) | Create files in the front window or desktop of the visit | [LokHsu](https://github.com/lokhsu) | | | | | | [Create New File in Finder](system/create-new-file-in-finder.applescript) | Create New File in Finder is a script to make your Finder better.You can use this script to create a plain text file. | Jax0rz | | | | | | [Custom Window Size](system/custom-window.applescript) | Resize and center the frontmost window to any custom size. | [Astrit](https://github.com/astrit) | ✅ | | | + | | [Default to Arc](system/default-browser-arc.applescript) | Set Arc as the default browser. | [Marcos Sánchez-Dehesa](https://github.com/dehesa) | | | | + | | [Default to Chrome](system/default-browser-chrome.applescript) | Set Google Chrome as the default browser. | [Marcos Sánchez-Dehesa](https://github.com/dehesa) | | | | + | | [Default to Chromium](system/default-browser-chromium.applescript) | Set Chromium as the default browser. | [Marcos Sánchez-Dehesa](https://github.com/dehesa) | | | | + | | [Default to Firefox](system/default-browser-firefox.applescript) | Set Firefox as the default browser. | [Marcos Sánchez-Dehesa](https://github.com/dehesa) | | | | + | | [Default to Safari](system/default-browser-safari.applescript) | Set Safari as the default browser. | [Marcos Sánchez-Dehesa](https://github.com/dehesa) | | | | | ☕️ | [Disable Caffeinate](system/caffeinate-disable.sh) | Stops all caffeinate sessions | [Yan Smaliak](https://github.com/ysmaliak) | | | | | 💾 | [Disk Free](system/disk-free.sh) | Show free space in your mounted disks | [Juan Luis Romero](https://github.com/JuanluR8) | | | | | 💿 | [Disk Usage](system/disk-usage.sh) | Show disk usage for / (root) | [Jesse Claven](https://github.com/jesse-c) | | | | + | 🔕 | [Dismiss Notifications](system/dismiss-notifications.applescript) | Close all notification alerts staying on screen, e.g., Calendar notifications. | [benyn](github.com/benyn) | | | | | 🔕 | [Do Not Disturb](system/do-not-disturb.sh) | Do Not Disturb | [Antonio Dal Sie](https://github.com/exodusanto) | ✅ | | | + | 🤖 | [Dock Position](system/dock-set-position.sh) | Set the position of the Dock in the screen | [Jelte Lagendijk](https://raycast.com/j3lte) | ✅ | | | + | 🤖 | [Dock Set Autohide](system/dock-set-autohide.sh) | Set the Dock autohide | [Jelte Lagendijk](https://raycast.com/j3lte) | ✅ | | | | 📀 | [Eject All Disks](system/eject-all-disks.applescript) | Ejects all mounted disk images. | Raycast | | | | | 📋 | [Empty Clipboard](system/empty-clipboard.sh) | Empty Clipboard | Raycast | | | | | 🗑 | [Empty Trash](system/empty-trash.applescript) | Empty the trash. | Raycast | | | | @@ -1382,19 +1527,25 @@ This repository contains sample commands and documentation to write your own one | ⚠️ | [Kill Running Process](system/kill-process.sh) | Force kill a running process | [Gustavo Santana](https://github.com/gumadeiras) | ✅ | | | | 📈 | [Largest CPU Process](system/largest-cpu-process.sh) | Report process with largest system CPU usage. | [Caleb Stauffer](https://github.com/crstauf) | | | | | 📈 | [Largest RAM Process](system/largest-ram-process.sh) | Report process with largest system RAM usage. | [Caleb Stauffer](https://github.com/crstauf) | | | | + | 🔋 | [Low Power Mode](system/Low Power Mode.sh) | N/A | [Kailash Yellareddy](https://github.com/kyellareddy) | | | | | | [Minimize All Windows](system/minimize-all-windows.applescript) | This script minimizes all windows of currently running apps | [Ernest Ojeh](https://github.com/namzo) | | | | | 🌵 | [Modify File Extension](system/modify-extension.sh) | Batch modify the file in the current directory or the specified extension of the selected file | [LokHsu](https://github.com/lokhsu) | ✅ | | | | 🗑 | [Move Desktop to Trash](system/move-desktop-to-trash.applescript) | Empty the desktop. | [Seypopi](https://github.com/Seypopi) | | | | | | [Move Downloads to Trash](system/move-downloads-to-trash.applescript) | N/A | Jax0rz | | | | + | 🛜 | [Network Info](system/Network Info.sh) | N/A | [Kailash Yellareddy](https://github.com/kyellareddy) | | | | | 🌐 | [Network Quality](system/network-quality.sh) | N/A | [Archie Lacoin](https://github.com/pomdtr) and [LanikSJ](https://github.com/LanikSJ) | | | | | 📶 | [Network Status](system/network-status.sh) | Get current network connections. | [Alexandru Turcanu](https://github.com/Pondorasti) | | | | | 🖼 | [OCR](system/ocr.swift) | Use macOS Vision API Identification pictures, if it contain a QR code, Copy the QR code content to the clipboard, If do not include QR codes, identify text content and supplement to clipboard | [zhe](https://github.com/wmszhe) | | | | + | 🔑 | [One-Time Password](system/otp.sh) | Get One-Time Password (OTP) from Apple Password Manager | Angelos Michalopoulos | ✅ | | | | 📁 | [Open Folder](system/open-folder.sh) | Open a folder on macOS | [Bin Hua](https://github.com/hzb) | ✅ | | | + | 📋 | [Open Image](system/open-image-from-clipboard.sh) | Open Image from Clipboard in Preview for OCR or other purposes. | [xxchan](https://github.com/xxchan) | | | | | 💁‍♂️ | [Open Last Download](system/open-last-download.swift) | Opens the last downloaded file. | Raycast | | | | | 🗃 | [Open Selection With](system/open-selection-with.applescript) | Open selected items in Finder with the given application. | [Felipe Turcheti](https://felipeturcheti.com) | ✅ | | | | 💥 | [Quit All Applications](system/quit-all-apps.swift) | Quits all running applications except Finder and Raycast. | Raycast | | | | | 💥 | [Quit app](system/quit-app.swift) | Quits an app, by name or process id. | [Roland Leth](https://runtimesharks.com) | ✅ | | | | 🖼️ | [Refresh Wallpaper](system/wallpaper-refresh.applescript) | Apply a random image from the [wallpaper directory](https://support.apple.com/guide/mac-help/change-your-desktop-picture-mchlp3013/mac) for the main display's current [Space](https://support.apple.com/guide/mac-help/work-in-multiple-spaces-mh14112/mac). | [Caleb Stauffer](https://github.com/crstauf) | | | | + | 📂 | [Rename Video](system/rename-videos-pictures.py) | This is a simple Python script for recursively renaming video and picture files within a directory. Type the root directory's absolute path, and it will scan all the video and picture files in it and rename them according to the folder where they are located as the format `--`. | [StepaniaH](https://github.com/StepaniaH) | ✅ | | | + | 🚀 | [Reset Launchpad](system/reset-launchpad.sh) | Resets the macOS Launchpad to its default state | [Zach Dawson](https://raycast.com/zdawz) | | | | | ♻️ | [Restart](system/restart.applescript) | Restarts computer. | Raycast | | | | | 💀 | [Restart the Dock](system/restart-dock.sh) | Restart the Dock | [Jordi Clement](https://github.com/jordicl) | | | | | 💀 | [Restart the Finder](system/restart-finder.sh) | Restart the Finder | [Jordi Clement](https://github.com/jordicl) | | | | @@ -1405,18 +1556,19 @@ This repository contains sample commands and documentation to write your own one | 🧭 | [Set Frontmost App as Default Browser](system/default-browser-front-most-app.applescript) | Set Frontmost Web Browser as Default Browser. | [Yohanes Bandung Bondowoso](https://github.com/ybbond) | ✅ | | | | 🛌 | [Shut Down](system/shutdown.applescript) | Shuts down computer. | Raycast | | | | | 😴 | [Sleep](system/sleep.applescript) | Puts computer to sleep. | Raycast | | | | - | 🧭 | [Switch Default Browser to Chrome](system/default-browser-chrome.sh) | Set Chrome as the default browser. | [Marc Klingen](https://github.com/marcklingen) | | | | - | 🧭 | [Switch Default Browser to Chromium](system/default-browser-chromium.sh) | Set Chromium as the default browser. | [Marc Klingen](https://github.com/marcklingen) | | | | - | 🧭 | [Switch Default Browser to Firefox](system/default-browser-firefox.sh) | Set Firefox as the default browser. | [Marc Klingen](https://github.com/marcklingen) | | | | - | 🧭 | [Switch Default Browser to Safari](system/default-browser-safari.sh) | Set Safari as the default browser. | [Marc Klingen](https://github.com/marcklingen) | | | | + | 😴 | [Sleep Timer](system/sleep-timer.applescript) | Put your Mac to sleep (in X minutes). | [AndriiBarabash](https://github.com/AndriiBarabash) | ✅ | | | | 🧬 | [Toggle .DS_Store](system/toggle-ds-store.applescript) | A script command to enable and disable .DS_Store | [Astrit](https://github.com/astrit) | | | | | 🔋 | [Toggle Battery Charging](system/toggle-battery-charging.sh) | Toggle charging the battery when it is plugged in. When turned off, it will always use the charger instead of the battery; when turned on, it will go to automatic mode (decide based on your settings and daily charging routine). | [Amir Hossein SamadiPour](https://github.com/SamadiPour) | | | | | | [Toggle Bluetooth](system/bluetooth.template.applescript) | Toggle your Bluetooth connection. | [Vincent Dörig](https://github.com/vincentdoerig) | | ✅ | | | 🖥 | [Toggle Desktop Icons](system/toggle-desktop-icons.applescript) | A script command to show and hide icons of Desktop folder | [Raycast](https://raycast.com) | | | | + | 🔄 | [Toggle Desktop Widgets](system/toggle-desktop-widget.sh) | N/A | [Federico Zivolo](https://github.com/FezVrasta) | | | | + | 🤖 | [Toggle Dock Autohide](system/dock-autohide-toggle.sh) | Toggle the Dock Autohide | [Jelte Lagendijk](https://raycast.com/j3lte) | | | | | 👓 | [Toggle Filename Extensions](system/toggle-filename-extensions.applescript) | Show or hide all filename extensions (like .txt, .png) | [Senthil Prabhu](https://github.com/senthilprabhut) | | | | | 🖥 | [Toggle Flip Screen to °](system/toggle-flip-screen.template.applescript) | Toggle flip (rotate) or revert the to ° | [Yohanes Bandung Bondowoso](https://github.com/ybbond) | | ✅ | | | 👓 | [Toggle Hidden Files](system/toggle-hidden-files.applescript) | Show and hide hidden files/folders which starts with "." (dot), i.e: .bash_rc, .ssh | [Thiago Holanda](https://twitter.com/tholanda) | | | | + | 🐚 | [Toggle Lid Sleep](system/toggle-lid-sleep.sh) | Prevent sleep from closing laptop lid (clamshell mode) | [Ivan Rybalko](https://github.com/ivribalko) | | | | | 🖱 | [Toggle Natural Scrolling](system/toggle-natural-scrolling.applescript) | Script Command to change natural trackpad/mouse scrolling setting. Reverting the setting value each time. | [Wiley Marques](https://twitter.com/wileymarques) | | | | + | 🖱 | [Toggle Natural Scrolling (macOS 15+)](system/toggle-natural-scrolling-macos15.applescript) | Toggle natural trackpad/mouse scrolling setting for macOS 15.6.1+ | [Raphael-KR](https://github.com/Raphael-KR) | | | | | 🌘 | [Toggle Night Shift](system/nightshift.sh) | Toggle Night Shift mode (until tomorrow/sunrise). Required [nightlight](https://github.com/smudge/nightlight) | [BhEaN](https://github.com/bhean) | | | | | 🌗 | [Toggle System Appearance](system/toggle-system-appearance.applescript) | Script Command to switch between the system appearance, light and dark mode. | [Thiago Holanda](https://twitter.com/tholanda) | | | | | | [Toggle Wi-Fi](system/wifi.template.applescript) | Toggle your Wi-Fi connection. | [Vincent Dörig](https://github.com/vincentdoerig) | | ✅ | | @@ -1432,11 +1584,19 @@ This repository contains sample commands and documentation to write your own one | ⚡️ | [AirPods Battery Level](system/audio/airpodsbattery.sh) | Get the current battery status of your AirPods. | [Quentin Eude](https://www.github.com/qeude) | | | | | 🔈 | [Audio devices](system/audio/get-audio-devices.swift) | Lists all audio devices | [Roland Leth](https://runtimesharks.com) | | | | | 🔈 | [Audio devices](system/audio/get-selected-audio-device.swift) | Shows the selected audio devices for input and output | [Roland Leth](https://runtimesharks.com) | | | | + | 🎧 | [Headphones Battery Level](system/audio/bluetooth-headphones-battery-level.template.sh) | Get the battery level of your bluetooth headphones | [Mortada Sarheed](https://github.com/mSarheed) | | ✅ | | | 🎧 | [Reload CoreAudio](system/audio/reload-coreaudio.sh) | Reloads CoreAudio. | [Maxim Krouk](https://github.com/maximkrouk) | | | | | 🎧 | [Set audio device](system/audio/set-audio-device.swift) | Sets the input (i), the output (o) or both (b) audio sources, based on name. If `both` is passed, but no input or output device is found with the given name, it will still try to set the other one. For example, if you're trying to set both to "External mic", which doesn't have an input source, it will still set the output to the mic; vice-versa for a speaker. | [Roland Leth](https://runtimesharks.com) | ✅ | | | | 🔊 | [Switch Audio to ](system/audio/audio-output-switch.template.applescript) | Switch audio output to desired device. | [mmerle](https://github.com/mmerle) | | ✅ | | | | [Toggle AirPods](system/audio/toggle-airpods.template.swift) | Toggle AirPods bluetooth device | [Nichlas W. Andersen](https://github.com/itsnwa) | | ✅ | | | 🎙 | [Toggle Microphone](system/audio/toggle-mic.applescript) | Toggles microphone. | [Matthew Morek](https://github.com/matthewmorek) | | | | + | 🔔 | [Toggle Mute Notifcation Sounds](system/audio/toggle-mute-notification-sounds.applescript) | Toggles notification sounds. | [Annie Ma](http://www.anniema.co/) | | | | + +#### Magic Keyboard Switcher + +| Icon | Title | Description | Author | Args | Templ | Lang | +| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | + | | [Magic Keyboard switcher](system/magic-keyboard-switcher/magic-keyboard-switcher.template.sh) | Switch a single magic keyboard between computers | [blastik](https://github.com/blastik) | | ✅ | | #### VPN @@ -1465,6 +1625,8 @@ This repository contains sample commands and documentation to write your own one | 🚚 | [Clipboard to 17TRACK](web-searches/clipboard-to-17track.js) | Open 17TRACK with the tracking code found in the clipboard | [Alessandra Pereyra](https://github.com/alessandrapereyra) | | | | | 🪙 | [CoinMarketCap Search](web-searches/search-coinmarketcap.sh) | Searches coinmarketcap currencies. | [Benedict Neo](https://github.com/benthecoder) | ✅ | | | | | [Find Email Address With Hunter](web-searches/hunter.sh) | Find emails using hunter.io | [Tanguy Le Stradic](https://github.com/tanguyls) | ✅ | | | + | 📖 | [Find Paper](web-searches/doi.sh) | Parses and opens DOI links in your browser | [Razvan Azamfirei](https://github.com/razvanazamfirei) | ✅ | | | + | 📖 | [Find Paper](web-searches/doi-clipboard.sh) | Scans clipboard and opens DOI links in your browser | [Razvan Azamfirei](https://github.com/razvanazamfirei) | | | | | | [Giphy search](web-searches/giphy.sh) | N/A | [Zander Martineau](https://zander.wtf) | ✅ | | | | 🌍 | [Google Translate](web-searches/google-translate.rb) | Translates via Google Translate | [Roland Leth](https://runtimesharks.com) | ✅ | | | | | [I'm Feeling Ducky](web-searches/im-feeling-ducky.sh) | Open the first DuckDuckGo search result page for your query (also supports bang!) | [Achille Lacoin](https://github.com/pomdtr) | ✅ | | | @@ -1475,15 +1637,18 @@ This repository contains sample commands and documentation to write your own one | | [Search Genre in Chosic](web-searches/search-gender-in-chosic.applescript) | Find the current Spotify track's gender in Chosic | [quelhasu](https://github.com/quelhasu) | | | | | | [Search GitHub](web-searches/search-github.sh) | Search [GitHub](https://github.com). | [Caleb Stauffer](https://github.com/crstauf) | ✅ | | | | | [Search Go Package Documentation](web-searches/pkg-go-dev.sh) | Search pkg.go.dev for package documentation | [Phil Salant](https://github.com/PSalant726) | ✅ | | | + | | [Search Google Maps](web-searches/google-maps.sh) | N/A | Raycast | ✅ | | | | | [Search Hacker News](web-searches/search-hacker-news.sh) | Search Hacker News | [Shannon Matthews](https://github.com/s-oram) | ✅ | | | | | [Search IMDB](web-searches/search-imdb.sh) | Search IMDB. | [Lucas Costa](https://github.com/lucasrcosta) | ✅ | | | | | [Search LinkedIn](web-searches/search-linkedin.sh) | Search LinkedIn | [Nitin Gupta](https://twitter.com/gniting) | ✅ | | | | | [Search MDN (Mozilla Developer Network)](web-searches/mozilla-developer-network.sh) | N/A | [Jon Callahan](https://www.joncallahan.com) | ✅ | | | | | [Search Netflix](web-searches/search-netflix.sh) | Search Netflix. | [Caleb Stauffer](https://github.com/crstauf) | ✅ | | | + | | [Search OpenSecrets.org](web-searches/opensecrets.sh) | N/A | [Daniel Sieradski](https://github.com/selfagency) | ✅ | | | | | [Search PHP Docs](web-searches/search-php-docs.sh) | Search [PHP official documentation](https://www.php.net/docs.php). | [Caleb Stauffer](https://github.com/crstauf) | ✅ | | | | | [Search Python 3 Documentation](web-searches/search-python3-docs.sh) | Search Python 3 Documentation | [Lucas Costa](https://github.com/lucasrcosta) | ✅ | | | | | [Search Python Package Index (PyPI)](web-searches/search-pypi.sh) | Search Python Package Index (PyPI) | [Lucas Costa](https://github.com/lucasrcosta) | ✅ | | | - | | [Search Script Command](web-searches/search-script-command-marketplace.sh) | Search for Script Commands in the [Unofficial Raycast Script Commands Marketplace](https://scriptcommands.com). | [Alexandru Turcanu](https://github.com/Pondorasti) | ✅ | | | + | | [Search Rust Documentation](web-searches/search-rust-docs.sh) | Search Rust documentation | [lemorage](https://raycast.com/lemorage) | ✅ | | | + | | [Search Script Command](web-searches/search-script-command-marketplace.sh) | Search for Script Commands in the [Unofficial Raycast Script Commands Marketplace](https://scriptcommands.alexandru.so). | [Alexandru Turcanu](https://github.com/Pondorasti) | ✅ | | | | | [Search Swift Code](web-searches/search-swift-github.sh) | N/A | Raycast | ✅ | | | | | [Search Unsplash](web-searches/search-unsplash.sh) | Search [Unsplash](https://unsplash.com). | [Caleb Stauffer](https://github.com/crstauf) | ✅ | | | | | [Search WP Engine Installs](web-searches/search-wpengine-installs.sh) | Search [WP Engine](https://wpengine.com) installs. | [Caleb Stauffer](https://github.com/crstauf) | ✅ | | | @@ -1531,13 +1696,6 @@ This repository contains sample commands and documentation to write your own one | | [WordPress Functions Reference](web-searches/wordpress/wordpress-functions-reference.sh) | Open [WordPress functions reference](https://developer.wordpress.org/reference/functions/) for specified function. | [Caleb Stauffer](https://github.com/crstauf) | ✅ | | | | | [WordPress Hooks Reference](web-searches/wordpress/wordpress-hooks-reference.sh) | Open [WordPress hooks reference](https://developer.wordpress.org/reference/hooks/) for specified hook. | [Caleb Stauffer](https://github.com/crstauf) | ✅ | | | -## Writing - -| Icon | Title | Description | Author | Args | Templ | Lang | -| :--: | ----- | ----------- | :----: | :--: | :---: | :--: | - | 📖 | [Dictionary Lookup](writing/dictionary-lookup.swift) | Directly use macOS Dictionary | [Alessandra Pereyra](https://github.com/alessandrapereyra) | ✅ | | | - | 🤖 | [Word Count](writing/word-count.sh) | Counts the number of words of the text in the clipboard | [Benny Wong](https://bwong.net) | | | | - ## Community This is a shared place and we're always looking for new Script Commands or other ways to improve Raycast. diff --git a/commands/ai/gemini/gemini.js b/commands/ai/gemini/gemini.js new file mode 100755 index 000000000..20eaa42d8 --- /dev/null +++ b/commands/ai/gemini/gemini.js @@ -0,0 +1,231 @@ +#!/usr/bin/env node + +// Dependencies: +// This script requires the following software to be installed: +// - `node` https://nodejs.org +// - `chrome-cli` https://github.com/prasmussen/chrome-cli +// Install via homebrew: `brew install node chrome-cli` + +// This script needs to run JavaScript in your browser, which requires your permission. +// To do so, open Chrome and find the menu bar item: +// View > Developer > Allow JavaScript from Apple Events + +// Required parameters: +// @raycast.schemaVersion 1 +// @raycast.title Ask Gemini +// @raycast.mode silent +// @raycast.packageName Gemini + +// Optional parameters: +// @raycast.icon ./images/icon-gemini.svg +// @raycast.argument1 { "type": "text", "placeholder": "Selected Text", "optional": true } +// @raycast.argument2 { "type": "text", "placeholder": "Prompt"} + +// Documentation: +// @raycast.description Open Gemini in Chrome browser and submit a prompt with optional selected text as context +// @raycast.author Est7 +// @raycast.authorURL https://github.com/est7 + +// @raycast.author Nimo Beeren +// @raycast.authorURL https://github.com/nimobeeren + +const { execSync } = require("child_process"); + +const selectedText = process.argv[2] || ""; // Get the text from "Selected Text" argument, or use an empty string if argument is empty. +const prompt = process.argv[3]; + +process.env.OUTPUT_FORMAT = "json"; + +/** Escape a string so that it can be used in JavaScript code when wrapped in double quotes. */ +function escapeJsString(str) { + return str.replaceAll(`\\`, `\\\\`).replaceAll(`"`, `\\"`); +} + +/** Escape a string so that it can be used in a shell command when wrapped in single quotes. */ +function escapeShellString(str) { + return str.replaceAll(`'`, `'"'"'`); +} + +// used to wait for Chrome to activate. +function sleep(ms) { + const start = Date.now(); + while (Date.now() - start < ms) {} +} + +/** + * Verifies that all required dependencies are installed. + * Exits the process with an error message if any dependency is missing. + */ +function checkDependencies() { + // Check if Google Chrome is installed + try { + execSync("osascript -e 'tell application \"Google Chrome\" to get version'" , { stdio: "ignore" }); + } catch { + try { + execSync("osascript -e 'tell application \"Chrome\" to get version'" , { stdio: "ignore" }); + } catch { + console.error("Google Chrome is required to run this script"); + process.exit(1); + } + } + + // Check if chrome-cli is installed + try { + execSync("which chrome-cli"); + } catch { + console.error( + "chrome-cli is required to run this script (https://github.com/prasmussen/chrome-cli)" + ); + process.exit(1); + } +} + +// Verify all dependencies are installed +checkDependencies(); + +// Bring Chrome to the foreground first. +try { + // Try to activate Chrome through AppleScript, supporting different possible application names. + execSync("osascript -e 'tell application \"Google Chrome\" to activate'", { + stdio: "ignore", + }); +} catch (e) { + try { + // If the first naming method fails, try possible alternatives. + execSync("osascript -e 'tell application \"Chrome\" to activate'", { + stdio: "ignore", + }); + } catch (err) { + console.error( + "Unable to activate Chrome browser, continue with other operations", + ); + } +} + +// Give Chrome a little time to make sure it is activated +sleep(300); + +// Find the Gemini tab if one is already open +let tabs = JSON.parse(execSync("chrome-cli list tabs")).tabs; +let geminiTab = tabs.find((tab) => + tab.url.startsWith("https://gemini.google.com/"), +); + +// If there is a Gemini tab open, get its info. Otherwise, open Gemini in a new window. +let geminiTabInfo; +if (geminiTab) { + // Focus on existing tags, do not refresh the page + execSync(`chrome-cli activate -t ${geminiTab.id}`); + // Get tab info + geminiTabInfo = JSON.parse(execSync(`chrome-cli info -t ${geminiTab.id}`)); +} else { + // Open a Gemini session in a new tab, focus it and return the tab info + geminiTabInfo = JSON.parse( + execSync("chrome-cli open 'https://gemini.google.com/app'"), + ); +} + +// Wait for the tab to be loaded, then execute the script +let interval = setInterval(() => { + if (geminiTabInfo.loading) { + geminiTabInfo = JSON.parse( + execSync(`chrome-cli info -t ${geminiTabInfo.id}`), + ); + } else { + clearInterval(interval); + executeScript(); + } +}, 100); + +function executeScript() { + const script = async function (selectedText, prompt) { + // Wait for prompt element to be on the page + let promptElement; + await new Promise((resolve) => { + let interval = setInterval(() => { + promptElement = document.querySelector( + 'div[aria-label="Enter a prompt here"]', + ); + if (promptElement) { + clearInterval(interval); + resolve(); + } + }, 100); + }); + + // Prepare the final text + let finalText = ""; + if (selectedText && selectedText.trim() !== "") { + finalText += `${selectedText}\n\n${prompt}`; + } else { + finalText = prompt; + } + + // Focus the input element first + promptElement.focus(); + + // Check if there's existing content + const hasExistingContent = promptElement.textContent.trim() !== ""; + + // Clear existing content if needed - safely without innerHTML + if (!hasExistingContent) { + // If empty, we'll just add our content + // No need to clear anything + } else { + // If we want to append to existing content, add a newline + // Create a new paragraph for separation + const selection = window.getSelection(); + const range = document.createRange(); + + // Move cursor to the end of existing content + range.selectNodeContents(promptElement); + range.collapse(false); // false means collapse to end + selection.removeAllRanges(); + selection.addRange(range); + + // Insert two newlines to separate content + document.execCommand("insertText", false, "\n\n"); + } + + // Insert the content using execCommand which is safer than innerHTML + // Split by newlines and insert with proper paragraph formatting + const paragraphs = finalText.split("\n"); + paragraphs.forEach((paragraph, index) => { + if (index > 0) { + // Insert newline between paragraphs (not before the first one) + document.execCommand("insertText", false, "\n"); + } + + // Insert the paragraph text + document.execCommand("insertText", false, paragraph || "\u200B"); + }); + + // Trigger input event to notify Gemini of changes + const inputEvent = new Event("input", { bubbles: true }); + promptElement.dispatchEvent(inputEvent); + + // Ensure cursor is at the end and visible + const selection = window.getSelection(); + const range = document.createRange(); + range.selectNodeContents(promptElement); + range.collapse(false); // false means collapse to end + selection.removeAllRanges(); + selection.addRange(range); + + // Scroll to make cursor visible + promptElement.scrollTop = promptElement.scrollHeight; + + // Additional scroll after a short delay to ensure visibility + setTimeout(() => { + promptElement.scrollTop = promptElement.scrollHeight; + }, 100); + }; + + const functionString = escapeShellString(script.toString()); + const selectedTextString = escapeShellString(escapeJsString(selectedText)); + const promptString = escapeShellString(escapeJsString(prompt)); + + execSync( + `chrome-cli execute '(${functionString})(\"${selectedTextString}\", \"${promptString}\")' -t ${geminiTabInfo.id}`, + ); +} diff --git a/commands/ai/gemini/images/icon-gemini.svg b/commands/ai/gemini/images/icon-gemini.svg new file mode 100644 index 000000000..4545c8331 --- /dev/null +++ b/commands/ai/gemini/images/icon-gemini.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/commands/apps/bartender/bartender-search.applescript b/commands/apps/bartender/bartender-search.applescript new file mode 100755 index 000000000..4270c4aff --- /dev/null +++ b/commands/apps/bartender/bartender-search.applescript @@ -0,0 +1,23 @@ +#!/usr/bin/osascript + +# Note: Bartender 4 required +# Install from https://www.macbartender.com/ + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Search Bartender +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon images/bartender-icon.png +# @raycast.argument1 { "type": "text", "placeholder": "Menu Bar Item Name" } +# @raycast.packageName Bartender.app + +# Documentation: +# @raycast.description Perform a quick search of Menu Bar Items, in Bartender 4 + +on run argv + tell application "Bartender 4" + quick search with argv + end tell +end run \ No newline at end of file diff --git a/commands/apps/bartender/images/bartender-icon.png b/commands/apps/bartender/images/bartender-icon.png new file mode 100644 index 000000000..0804cbb1d Binary files /dev/null and b/commands/apps/bartender/images/bartender-icon.png differ diff --git a/commands/apps/busycal/images/busycal.png b/commands/apps/busycal/images/busycal.png new file mode 100644 index 000000000..8671a4bf0 Binary files /dev/null and b/commands/apps/busycal/images/busycal.png differ diff --git a/commands/apps/busycal/new-busycal-event-or-task.applescript b/commands/apps/busycal/new-busycal-event-or-task.applescript new file mode 100755 index 000000000..05627da0c --- /dev/null +++ b/commands/apps/busycal/new-busycal-event-or-task.applescript @@ -0,0 +1,28 @@ +#!/usr/bin/osascript + +# Dependency: This script requires `BusyCal` installed: https://www.busymac.com/busycal/ + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Create Event/Task +# @raycast.mode compact +# @raycast.packageName BusyCal + +# Optional parameters: +# @raycast.icon images/busycal.png +# @raycast.argument1 { "type": "dropdown", "placeholder": "type", "data" : [{"title" : "event", "value": "event"}, {"title" : "task", "value": "task"}], "optional": true} +# @raycast.argument2 { "type": "text", "placeholder": "entry", "percentEncoded": true} + +# Documentation: +# @raycast.description Creates new events or tasks in BusyCal. +# @raycast.author Annie Ma +# @raycast.authorURL www.anniema.co + +on run argv + set query2 to (item 2 of argv) + tell application "BusyCal" + activate + if (item 1 of argv = "event") then open location "busycalevent://new/" & query2 + if (item 1 of argv = "task") then open location "busycalevent://new/-" & query2 + end tell +end run \ No newline at end of file diff --git a/commands/apps/chatgpt/chatgpt-open-safari.applescript b/commands/apps/chatgpt/chatgpt-open-safari.applescript new file mode 100755 index 000000000..c54e0fca0 --- /dev/null +++ b/commands/apps/chatgpt/chatgpt-open-safari.applescript @@ -0,0 +1,38 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title chatgpt +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon images/chatgpt.png +# @raycast.packageName Chatgpt Util + +# Documentation: +# @raycast.description Open chatgpt in safari +# @raycast.author gintonyc +# @raycast.authorURL https://raycast.com/gintonyc + + +tell application "Safari" + set targetURLPrefix to "https://chat.openai.com" + set foundTab to false + + repeat with aWindow in windows + repeat with aTab in (tabs of aWindow) + set tabURL to URL of aTab + if tabURL starts with targetURLPrefix then + set foundTab to true + set current tab of aWindow to aTab + exit repeat + end if + end repeat + if foundTab then exit repeat + end repeat + + if not foundTab then + make new document with properties {URL:targetURLPrefix} + end if + activate +end tell \ No newline at end of file diff --git a/commands/apps/chatgpt/images/chatgpt.png b/commands/apps/chatgpt/images/chatgpt.png new file mode 100644 index 000000000..dc0386d25 Binary files /dev/null and b/commands/apps/chatgpt/images/chatgpt.png differ diff --git a/commands/apps/claude/claude.js b/commands/apps/claude/claude.js new file mode 100755 index 000000000..f9adb66c8 --- /dev/null +++ b/commands/apps/claude/claude.js @@ -0,0 +1,127 @@ +#!/usr/bin/env node + +// Dependencies: +// This script requires the following software to be installed: +// - `node` https://nodejs.org +// - `chrome-cli` https://github.com/prasmussen/chrome-cli +// Install via homebrew: `brew install node chrome-cli` + +// This script needs to run JavaScript in your browser, which requires your permission. +// To do so, open Chrome and find the menu bar item: +// View > Developer > Allow JavaScript from Apple Events + +// Required parameters: +// @raycast.schemaVersion 1 +// @raycast.title Ask Claude +// @raycast.mode silent +// @raycast.packageName Claude + +// Optional parameters: +// @raycast.icon ✨ +// @raycast.argument1 { "type": "text", "placeholder": "Prompt"} + +// Documentation: +// @raycast.description Open Claude in Chrome browser and submit a prompt +// @raycast.author Nimo Beeren +// @raycast.authorURL https://github.com/nimobeeren + +const { execSync } = require("child_process"); + +const prompt = process.argv[2]; + +process.env.OUTPUT_FORMAT = "json"; + +/** Escape a string so that it can be used in JavaScript code when wrapped in double quotes. */ +function escapeJsString(str) { + return str.replaceAll(`\\`, `\\\\`).replaceAll(`"`, `\\"`); +} + +/** Escape a string so that it can be used in a shell command when wrapped in single quotes. */ +function escapeShellString(str) { + return str.replaceAll(`'`, `'"'"'`); +} + +try { + execSync("which chrome-cli"); +} catch { + console.error( + "chrome-cli is required to run this script (https://github.com/prasmussen/chrome-cli)" + ); + process.exit(1); +} + +// Find the Claude tab if one is already open +let tabs = JSON.parse(execSync("chrome-cli list tabs")).tabs; +let claudeTab = tabs.find((tab) => tab.url.startsWith("https://claude.ai/")); + +// If there is a Claude tab open, get its info. Otherwise, open Claude in a new +// window. +let claudeTabInfo; +if (claudeTab) { + // Open a new Claude session in the existing tab and focus it + execSync(`chrome-cli open 'https://claude.ai/new' -t ${claudeTab.id}`); + // Get tab info + claudeTabInfo = JSON.parse(execSync(`chrome-cli info -t ${claudeTab.id}`)); +} else { + // Open a Claude session in a new tab, focus it and return the tab info + claudeTabInfo = JSON.parse( + execSync("chrome-cli open 'https://claude.ai/new'") + ); +} + +// Wait for the tab to be loaded, then execute the script +let interval = setInterval(() => { + if (claudeTabInfo.loading) { + claudeTabInfo = JSON.parse( + execSync(`chrome-cli info -t ${claudeTabInfo.id}`) + ); + } else { + clearInterval(interval); + executeScript(); + } +}, 100); + +function executeScript() { + const script = async function (prompt) { + // Wait for prompt element to be on the page + let promptElement; + await new Promise((resolve) => { + let interval = setInterval(() => { + promptElement = document.querySelector( + '[aria-label="Write your prompt to Claude"] > div' + ); + if (promptElement) { + clearInterval(interval); + resolve(); + } + }, 100); + }); + + // Set the prompt + const p = document.createElement("p"); + p.textContent = prompt; + promptElement.replaceChildren(p); + + // Wait for submit button to be on the page + let submitButton; + await new Promise((resolve) => { + let interval = setInterval(() => { + submitButton = document.querySelector('[aria-label="Send Message"]'); + if (submitButton) { + clearInterval(interval); + resolve(); + } + }, 100); + }); + + // Submit the prompt + submitButton.click(); + }; + + const functionString = escapeShellString(script.toString()); + const promptString = escapeShellString(escapeJsString(prompt)); + + execSync( + `chrome-cli execute '(${functionString})("${promptString}")' -t ${claudeTabInfo.id}` + ); +} diff --git a/commands/apps/cleanshot/cleanshot-record-screen-with-keystroke-pro.sh b/commands/apps/cleanshot/cleanshot-record-screen-with-keystroke-pro.sh new file mode 100755 index 000000000..d2a4d543f --- /dev/null +++ b/commands/apps/cleanshot/cleanshot-record-screen-with-keystroke-pro.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# Note: CleanShot X required +# Install from https://cleanshot.com +# +# Keystroke Pro required +# Install from https://apps.apple.com/app/id1572206224?ct=ixeau + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Record Screen With Keystroke Pro +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon ./images/record-screen-keystroke-pro.png +# @raycast.packageName CleanShot X + +# Documentation: +# @raycast.author Danylo Zalizchuk +# @raycast.authorURL https://raycast.com/danulqua +# @raycast.description Start a screen recording with keystrokes using the Keystroke Pro app and save it as a video or an optimized GIF file. + +open "/Applications/Keystroke Pro.app" +open "cleanshot://record-screen" diff --git a/commands/apps/cleanshot/images/record-screen-keystroke-pro.png b/commands/apps/cleanshot/images/record-screen-keystroke-pro.png new file mode 100644 index 000000000..91d2a2c05 Binary files /dev/null and b/commands/apps/cleanshot/images/record-screen-keystroke-pro.png differ diff --git a/commands/apps/dictionary/images/dictionary.icns b/commands/apps/dictionary/images/dictionary.icns new file mode 100644 index 000000000..15ff65526 Binary files /dev/null and b/commands/apps/dictionary/images/dictionary.icns differ diff --git a/commands/apps/dictionary/look-up-in-dictionary.applescript b/commands/apps/dictionary/look-up-in-dictionary.applescript new file mode 100755 index 000000000..ae45bba0e --- /dev/null +++ b/commands/apps/dictionary/look-up-in-dictionary.applescript @@ -0,0 +1,22 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Look up in Dictionary +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon images/dictionary.icns +# @raycast.packageName Dictionary + +# Documentation: +# @raycast.description Look up selected text in Dictionary +# @raycast.author yayiji +# @raycast.authorURL https://github.com/yayiji + +tell application "System Events" + keystroke "c" using {command down} + delay 0.1 + do shell script "open dict://" & the clipboard +end + diff --git a/commands/apps/eudic/images/eudic.png b/commands/apps/eudic/images/eudic.png new file mode 100644 index 000000000..dc156d2b6 Binary files /dev/null and b/commands/apps/eudic/images/eudic.png differ diff --git a/commands/apps/eudic/look-up-in-eudic.applescript b/commands/apps/eudic/look-up-in-eudic.applescript new file mode 100755 index 000000000..d34bf73aa --- /dev/null +++ b/commands/apps/eudic/look-up-in-eudic.applescript @@ -0,0 +1,29 @@ +#!/usr/bin/osascript + +# Dependency: Eudic required +# Install via Mac App Store: https://apps.apple.com/app/id402380914 + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Look up Word +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon ./images/eudic.png +# @raycast.argument1 { "type": "text", "placeholder": "word" } +# @raycast.packageName Eudic + +# Documentation: +# @raycast.description look up in eudic +# @raycast.author jingyi +# @raycast.authorURL https://jingyi.blog + +on run argv + # FIXME known issue of Eudic. Force open it + do shell script "open -b com.eusoft.eudic" + do shell script "open -b com.eusoft.eudic" + tell application id "com.eusoft.eudic" + activate + show dic with word (item 1 of argv) + end tell +end run diff --git a/commands/apps/find-my/.env.example b/commands/apps/find-my/.env.example new file mode 100644 index 000000000..6e3a6c985 --- /dev/null +++ b/commands/apps/find-my/.env.example @@ -0,0 +1,3 @@ +ICLOUD_EMAIL= +ICLOUD_PASSWORD= +DEVICE= \ No newline at end of file diff --git a/commands/apps/find-my/README.md b/commands/apps/find-my/README.md new file mode 100644 index 000000000..55057353e --- /dev/null +++ b/commands/apps/find-my/README.md @@ -0,0 +1,58 @@ +# Find My Phone Raycast + +I lose my phone often, so I made this. + +This is a Node.js script that uses Playwright to automate iCloud Find My and trigger a sound on your Apple device. It's perfect for people like me who misplace their phones and want a quick, automated way to make them ring—with Raycast. + +## Usage + +```sh +git clone https://github.com/vsvaidya27/fmp-raycast +cd fmp-raycast +npm install +cp .env.example .env +# Edit .env with your real credentials +chmod +x fmp.js +``` + +### Add to Raycast + +1. Open Raycast and go to **Extensions**. +2. Click **Add**. +3. Select **Add Script Directory**. +4. Choose the `fmp-raycast` directory you just cloned. +5. Set fmp as your alias for calling the script. + +Now you can trigger the script directly from Raycast! + +## How it works + +- Automates login to iCloud Find My using Playwright +- Selects your device by name +- Triggers the "Play Sound" feature to help you locate your device + +**Note:** You'll need to provide your iCloud credentials and device name in the `.env` file. Sometimes a 2FA check may pop up, but usually they allow you to bypass this and manual intervention is not neccesary (since you often need the very thing you are trying to find for 2FA). + +--- + +## 🛠 Troubleshooting + +### If you get the error `env: node: No such file or directory` + +Raycast uses a limited shell environment, so it may not find your Node.js install. + +To fix it: + +1. Run this in Terminal to find your full Node path: + ```bash + which node + ``` +2. Edit the top of `fmp.js`: + Replace: + ```sh + #!/usr/bin/env node + ``` + With: + ```sh + #!/full/path/to/node + ``` diff --git a/commands/apps/find-my/fmp.js b/commands/apps/find-my/fmp.js new file mode 100755 index 000000000..e672b032b --- /dev/null +++ b/commands/apps/find-my/fmp.js @@ -0,0 +1,62 @@ +#!/usr/bin/env node + +// Required parameters: +// @raycast.schemaVersion 1 +// @raycast.title Find My Phone (Auto Sound) +// @raycast.mode silent +// @raycast.packageName FindMy +// @raycast.icon images/find-my-icon.png + +require('dotenv').config(); +const { chromium } = require('playwright'); + +(async () => { + const browser = await chromium.launch({ headless: false }); + const page = await browser.newPage(); + + // 1. Go to iCloud Find Devices + await page.goto('https://www.icloud.com/find'); + + // 2. Click "Sign In" + await page.waitForSelector('text=Sign In', { timeout: 20000 }); + await page.click('text=Sign In'); + + // 3. Wait for the Apple login iframe to appear + const frameLocator = page.frameLocator('iframe[name="aid-auth-widget"]'); + + // 4. Wait for the email/phone input inside the iframe + await frameLocator.getByRole('textbox', { name: 'Email or Phone Number' }).waitFor({ timeout: 20000 }); + + // 5. Fill in the email/phone + await frameLocator.getByRole('textbox', { name: 'Email or Phone Number' }).fill(process.env.ICLOUD_EMAIL); + + // 6. Click the right-arrow button + await frameLocator.getByRole('button').first().click(); + + // 7. Wait for the "Continue with Password" button to appear, then click it + await frameLocator.getByRole('button', { name: /Continue with Password/i }).waitFor({ timeout: 20000 }); + await frameLocator.getByRole('button', { name: /Continue with Password/i }).click(); + + // 8. Wait for password input + await frameLocator.getByRole('textbox', { name: 'Password' }).waitFor({ timeout: 20000 }); + await frameLocator.getByRole('textbox', { name: 'Password' }).fill(process.env.ICLOUD_PASSWORD); + + // 9. Click the arrow button to continue + await frameLocator.getByRole('button').first().click(); + + // 10. Wait for 2FA if needed; Hopefully not because this kinda defeats the purpose of automation even though its prob for the best security-wise :( + console.log('If prompted, please complete 2FA in the browser window. :('); + + // 12. Click on your iPhone using the precise selector inside the second iframe + await page.locator('iframe').nth(1).contentFrame().getByTitle(process.env.DEVICE).getByTestId('show-device-name').click(); + + // 13. Wait for the device details panel to load + await page.waitForTimeout(2000); + + // 14. Click the "Play Sound" button + await page.locator('iframe').nth(1).contentFrame().getByRole('button', { name: 'Play Sound' }).click(); + + console.log('✅ Play Sound triggered for ' + process.env.DEVICE + '!'); + await browser.close(); +})(); + diff --git a/commands/apps/find-my/images/find-my-icon.png b/commands/apps/find-my/images/find-my-icon.png new file mode 100644 index 000000000..0862bfec8 Binary files /dev/null and b/commands/apps/find-my/images/find-my-icon.png differ diff --git a/commands/apps/find-my/package.json b/commands/apps/find-my/package.json new file mode 100644 index 000000000..6e278971c --- /dev/null +++ b/commands/apps/find-my/package.json @@ -0,0 +1,16 @@ +{ + "name": "findmyraycast", + "version": "1.0.0", + "main": "fmp.js", + "scripts": { + "start": "node fmp.js" + }, + "keywords": [], + "author": "", + "license": "ISC", + "description": "", + "dependencies": { + "dotenv": "^16.5.0", + "playwright": "^1.52.0" + } +} diff --git a/commands/apps/iterm/iterm-open-profile-in-new-window.applescript b/commands/apps/iterm/iterm-open-profile-in-new-window.applescript new file mode 100755 index 000000000..6ef8fd3b7 --- /dev/null +++ b/commands/apps/iterm/iterm-open-profile-in-new-window.applescript @@ -0,0 +1,34 @@ +#!/usr/bin/osascript + +# Dependency: requires iTerm (https://iterm2.com) +# Install via Homebrew: `brew install --cask iterm2` + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Open profile +# @raycast.packageName iTerm +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 🤖 +# @raycast.argument1 { "type": "text", "placeholder": "Placeholder" } + +# Documentation: +# @raycast.author sunrisewestern +# @raycast.authorURL https://github.com/sunrisewestern + +on is_running(appName) + tell application "System Events" to (name of processes) contains appName +end is_running + +on run {argv} + set iTermRunning to is_running("iTerm2") + tell application "iTerm" + activate + if not (iTermRunning) then + delay 0.5 + close the current window + end if + create window with profile argv + end tell +end run diff --git a/commands/apps/mail/copy-captcha-from-mail.py b/commands/apps/mail/copy-captcha-from-mail.py new file mode 100755 index 000000000..de5cae47b --- /dev/null +++ b/commands/apps/mail/copy-captcha-from-mail.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python3 + +# Copy the verification code from Mail. +# +# Dependency: This script requires the `emlx` package. +# Install it via `pip install emlx`. +# +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title CaptchaFromMail +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon ./images/mail.png +# @raycast.packageName Mail + +# Documentation: +# @raycast.description Copy the captcha from the emlx file. +# @raycast.author RealTong +# @raycast.authorURL https://raycast.com/RealTong + +import os +import re +import pyperclip +import emlx + + +def extract_captcha_from_emlx(emlx_path): + if emlx_file is None or os.path.exists(emlx_file) is False: + print("Mail not found") + return + email = emlx.read(emlx_path) + headers = email.headers + content = email.html + subject = headers["Subject"] + captcha_match_keyword = [ + "验证码", + "动态密码", + "代码", + "确认", + "码", + "verification", + "code", + "confirm", + ] + content_pattern = r"\b[0-9]{6}\b" + subject_pattern = r"\b[a-zA-Z0-9]{6}\b" + # 判断内容中是否包含验证码关键字, 只有包含关键字的邮件才会查找验证码 + for keyword in captcha_match_keyword: + if keyword in subject: + if re.search(subject_pattern, subject): + captcha = re.search(subject_pattern, subject).group() + pyperclip.copy(captcha) + print("Verification code successfully copied to clipboard:", captcha) + return + if re.search(content_pattern, content): + captcha = re.search(content_pattern, content).group() + pyperclip.copy(captcha) + print("Verification code successfully copied to clipboard:", captcha) + return + else: + print("Verification code not found") + else: + print("Not a verification code email") + + +def get_latest_emlx_file(folder): + latest_emlx_file = None + latest_mod_time = 0 + for root, dirs, files in os.walk(folder): + for file in files: + if file.endswith(".emlx"): + file_path = os.path.join(root, file) + mod_time = os.path.getmtime(file_path) + if mod_time > latest_mod_time: + latest_mod_time = mod_time + latest_emlx_file = file_path + + return latest_emlx_file + + +if __name__ == "__main__": + try: + import emlx + + os.listdir(f"/") + except ImportError: + print("emlx not installed, please run 'pip install emlx' to install it") + exit(1) + except OSError: + print( + "Currently there is no Full Disk Access permission, please grant Full Disk Access permission to the terminal in System Preferences > Security & Privacy > Privacy > Full Disk Access." + ) + exit(1) + mail_path = f"{os.path.expanduser('~')}/Library/Mail/V10/" + emlx_file = get_latest_emlx_file(mail_path) + extract_captcha_from_emlx(emlx_file) diff --git a/commands/apps/mail/images/mail.png b/commands/apps/mail/images/mail.png new file mode 100644 index 000000000..0ae662ac3 Binary files /dev/null and b/commands/apps/mail/images/mail.png differ diff --git a/commands/apps/notes/create-note-from-clipboard.applescript b/commands/apps/notes/create-note-from-clipboard.applescript index e54c6bf7b..f131fd31a 100755 --- a/commands/apps/notes/create-note-from-clipboard.applescript +++ b/commands/apps/notes/create-note-from-clipboard.applescript @@ -21,6 +21,6 @@ on run argv " tell application "Notes" activate - make new note at folder "Notes" with properties {name: (item 1 of argv), body:content} + make new note at folder "Notes" with properties {name:"", body:content} end tell end run diff --git a/commands/apps/one-thing/one-thing-clear-text.sh b/commands/apps/one-thing/one-thing-clear-text.sh new file mode 100755 index 000000000..feb544499 --- /dev/null +++ b/commands/apps/one-thing/one-thing-clear-text.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# Note: One Thing required +# Install via Mac App Store: https://apps.apple.com/app/id1604176982 + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Clear Text +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon ./images/one-thing.png +# @raycast.packageName One Thing + +# Documentation: +# @raycast.author One Thing +# @raycast.authorURL https://sindresorhus.com/one-thing +# @raycast.description Clear the text shown in One Thing app. + +open --background "one-thing:?text=" diff --git a/commands/apps/one-thing/one-thing-set-text.sh b/commands/apps/one-thing/one-thing-set-text.sh index 94692d0d9..0d7aeb199 100755 --- a/commands/apps/one-thing/one-thing-set-text.sh +++ b/commands/apps/one-thing/one-thing-set-text.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Note: One Thing v1.2.1 required +# Note: One Thing required # Install via Mac App Store: https://apps.apple.com/app/id1604176982 # Required parameters: diff --git a/commands/apps/quip/.gitignore b/commands/apps/quip/.gitignore new file mode 100644 index 000000000..47d560798 --- /dev/null +++ b/commands/apps/quip/.gitignore @@ -0,0 +1,5 @@ +.DS_Store +tmp/ +quip_config.ini +quip-new-*.py +__pycache__ diff --git a/commands/apps/quip/README.org b/commands/apps/quip/README.org new file mode 100644 index 000000000..7553f741e --- /dev/null +++ b/commands/apps/quip/README.org @@ -0,0 +1,39 @@ +#+title: Raycast script commands for Quip + +This set of script commands makes it possible to easily create and add text to different types of Quip documents. They complement the existing Raycast [[https://www.raycast.com/justin0u0/quip][Quip extension]], which provides support for searching and viewing Quip documents. + +With these scripts you can create commands to do one of two actions: + +- =create=: Create new Quip documents in predefined folders, optionally based on predefined templates (e.g. type =mnote Meeting title= to automatically create a new document in your "Meeting notes" folder, using an appropriate template). You can define as many different "create" actions as you need. +- =add=: Add text to an existing Quip document, optionally formatted as list items (e.g. type =todo Update the documentation= to add a todo item to your "Action items" document). You can define as many "add" actions as you need. + +You can customize the behavior during and after these actions, including the following: +- Open the created/updated document automatically (and whether to use the Quip app or the web browser for this) +- Copy the URL of the created/updated document to the clipboard. +- Prepend the current date to the title of newly created documents or added text. +- Use different templates for each type of document created. +- The Quip folder in which to store each type of created document. +- Produce notifications after each command finishes execution. + +* Configuration and use + +To get set up, do the following: + +1. Check out this repository and add the =quip= directory as a Script Directory in the Raycast preferences: + [[file:images/raycast-script-directory-prefs.png]] +2. Copy =quip_config.template.ini= to =quip_config.ini= and customize it to your needs. You need to set at least the following values: + - =APIToken= to your Quip personal API token. You can get one at https://quip.com/api/personal-token (the URL may be different if you are using a Quip Enterprise instance with a custom domain). + - If you are using a custom Quip domain, modify =BaseURL= and =APIURL= accordingly. + - Configure the actions you want. See the examples in the template for details on how to configure them. + - *Note:* if you want to populate Quip secrets and other values from a password manager, see =quip_config.chezmoi.template.ini= for an example which inserts those values from entries kept in KeePassXC. Instructions are at the top of the file. +3. Once your configuration is complete, run from Raycast the "Set up Quip commands" command. This will ask you for confirmation and then generate scripts corresponding to your configuration, which will be loaded automatically by Raycast. + [[file:images/raycast-setup-quip-commands.png]] + [[file:images/raycast-generate-quip-commands-output.png]] +4. You can now use the generated commands to create or add text to Quip documents. You can of course configure aliases or hotkeys for the commands you need the most in the Raycast Script Commands settings. + [[file:images/raycast-quip-commands.png]] + [[file:images/raycast-script-command-settings.png]] +5. Note that you can also run the generated scripts from the command line to execute the corresponding actions. For example: + #+begin_src shell +./quip-new-note.py "New note title" + #+end_src +6. If you need to update or modify your config (e.g. to add or remove actions), make sure you rerun the "Set up Quip commands" command afterwards, to ensure the scripts are kept up to date. diff --git a/commands/apps/quip/images/raycast-generate-quip-commands-output.png b/commands/apps/quip/images/raycast-generate-quip-commands-output.png new file mode 100644 index 000000000..941cf969d Binary files /dev/null and b/commands/apps/quip/images/raycast-generate-quip-commands-output.png differ diff --git a/commands/apps/quip/images/raycast-quip-commands.png b/commands/apps/quip/images/raycast-quip-commands.png new file mode 100644 index 000000000..c6c755cd4 Binary files /dev/null and b/commands/apps/quip/images/raycast-quip-commands.png differ diff --git a/commands/apps/quip/images/raycast-script-command-settings.png b/commands/apps/quip/images/raycast-script-command-settings.png new file mode 100644 index 000000000..40b4bcab6 Binary files /dev/null and b/commands/apps/quip/images/raycast-script-command-settings.png differ diff --git a/commands/apps/quip/images/raycast-script-directory-prefs.png b/commands/apps/quip/images/raycast-script-directory-prefs.png new file mode 100644 index 000000000..ab29c7075 Binary files /dev/null and b/commands/apps/quip/images/raycast-script-directory-prefs.png differ diff --git a/commands/apps/quip/images/raycast-setup-quip-commands.png b/commands/apps/quip/images/raycast-setup-quip-commands.png new file mode 100644 index 000000000..17919b218 Binary files /dev/null and b/commands/apps/quip/images/raycast-setup-quip-commands.png differ diff --git a/commands/apps/quip/quip-new.template.py b/commands/apps/quip/quip-new.template.py new file mode 100755 index 000000000..1a5c31e40 --- /dev/null +++ b/commands/apps/quip/quip-new.template.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title {{commandtitle}} +# @raycast.mode compact + +# Optional parameters: +# @raycast.icon /Applications/Quip.app/Contents/Resources/AppIcon.icns +# @raycast.argument1 { "type": "text", "placeholder": "{{commandargplaceholder}}", "optional": {{opendocifemptyarg}} } +# @raycast.packageName Quip utilities + +# Documentation: +# @raycast.description Configure your Quip API token and other defaults in quip_config.ini +# @raycast.author zzamboni +# @raycast.authorURL https://raycast.com/zzamboni + +import sys +import re +import quip_utils + +# Determine the document type to create from the script filename. +match = re.search('quip-new-(.+)\.py', sys.argv[0]) +if match: + doc_type = match.group(1) + if len(sys.argv) > 1: + arg = sys.argv[1] + else: + arg = None + quip_utils.quip_new_doc(doc_type, arg) +else: + quip_utils.fail(f"Error: Could not determine document type to use - incorrect script name.") diff --git a/commands/apps/quip/quip.py b/commands/apps/quip/quip.py new file mode 100644 index 000000000..b39eafee0 --- /dev/null +++ b/commands/apps/quip/quip.py @@ -0,0 +1,819 @@ +# Copyright 2014 Quip +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +"""A Quip API client library. + +For full API documentation, visit https://quip.com/api/. + +Typical usage: + + client = quip.QuipClient(access_token=...) + user = client.get_authenticated_user() + starred = client.get_folder(user["starred_folder_id"]) + print "There are", len(starred["children"]), "items in your starred folder" + +In addition to standard getters and setters, we provide a few convenience +methods for document editing. For example, you can use `add_to_first_list` +to append items (in Markdown) to the first bulleted or checklist in a +given document, which is useful for automating a task list. +""" + +import datetime +import json +import logging +import ssl +import sys +import time +import xml.etree.cElementTree + +PY3 = sys.version_info > (3,) + +if PY3: + import urllib.request + import urllib.parse + import urllib.error + + Request = urllib.request.Request + urlencode = urllib.parse.urlencode + urlopen = urllib.request.urlopen + HTTPError = urllib.error.HTTPError + + iteritems = dict.items + +else: + import urllib + import urllib2 + + Request = urllib2.Request + urlencode = urllib.urlencode + urlopen = urllib2.urlopen + HTTPError = urllib2.HTTPError + + iteritems = dict.iteritems + + +try: + reload(sys) + sys.setdefaultencoding('utf8') +except: + # Can't change default encoding usually... + pass + +try: + ssl.PROTOCOL_TLSv1_1 +except AttributeError: + raise Exception( + "Using the Quip API requires an SSL library that supports TLS versions " + ">= 1.1; your Python + OpenSSL installation must be upgraded.") +# After 2017-02, the Quip API HTTPS endpoint requires TLS version 1.1 or later; +# TLS version 1.0 is disabled due to extensive security vulnerabilities. +# +# - macOS: At this time of this writing, macOS ships with Python 2.7 and +# OpenSSL, but the version of OpenSSL is outdated and only supports TLS 1.0. +# (This is even true of the most recent version of macOS (Sierra) with all +# security patches installed; see +# https://eclecticlight.co/2016/03/23/the-tls-mess-in-os-x-el-capitan/ .) +# +# To use this module on a macOS system, you will need to install your own +# copy of Python and OpenSSL. Simple suggestions: +# +# 1) Install Homebrew from http://brew.sh; run "brew install openssl python" +# 2) Install Miniconda from https://conda.io/miniconda.html +# +# - Google App Engine (GAE): Per App Engine's documentation, you must request +# version 2.7.11 of the "ssl" library in your app.yaml file. See: +# https://cloud.google.com/appengine/docs/python/sockets/ssl_support + + +class QuipError(Exception): + def __init__(self, code, message, http_error): + Exception.__init__(self, "%d: %s" % (code, message)) + self.code = code + self.http_error = http_error + + +class QuipClient(object): + """A Quip API client""" + # Edit operations + APPEND, \ + PREPEND, \ + AFTER_SECTION, \ + BEFORE_SECTION, \ + REPLACE_SECTION, \ + DELETE_SECTION = range(6) + + # Folder colors + MANILA, \ + RED, \ + ORANGE, \ + GREEN, \ + BLUE = range(5) + + def __init__(self, access_token=None, client_id=None, client_secret=None, + base_url=None, request_timeout=None): + """Constructs a Quip API client. + + If `access_token` is given, all of the API methods in the client + will work to read and modify Quip documents. + + Otherwise, only `get_authorization_url` and `get_access_token` + work, and we assume the client is for a server using the Quip API's + OAuth endpoint. + """ + self.access_token = access_token + self.client_id = client_id + self.client_secret = client_secret + self.base_url = base_url if base_url else "https://platform.quip.com" + self.request_timeout = request_timeout if request_timeout else 10 + + def get_authorization_url(self, redirect_uri, state=None): + """Returns the URL the user should be redirected to to sign in.""" + return self._url( + "oauth/login", redirect_uri=redirect_uri, state=state, + response_type="code", client_id=self.client_id) + + def get_access_token(self, redirect_uri, code, + grant_type="authorization_code", + refresh_token=None): + """Exchanges a verification code for an access_token. + + Once the user is redirected back to your server from the URL + returned by `get_authorization_url`, you can exchange the `code` + argument with this method. + """ + return self._fetch_json( + "oauth/access_token", redirect_uri=redirect_uri, code=code, + grant_type=grant_type, refresh_token=refresh_token, + client_id=self.client_id, client_secret=self.client_secret) + + def get_authenticated_user(self): + """Returns the user corresponding to our access token.""" + return self._fetch_json("users/current") + + def get_user(self, id): + """Returns the user with the given ID.""" + return self._fetch_json("users/" + id) + + def get_users(self, ids): + """Returns a dictionary of users for the given IDs.""" + return self._fetch_json("users/", post_data={"ids": ",".join(ids)}) + + def update_user(self, user_id, picture_url=None): + return self._fetch_json("users/update", post_data={ + "user_id": user_id, + "picture_url": picture_url, + }) + + def get_contacts(self): + """Returns a list of the users in the authenticated user's contacts.""" + return self._fetch_json("users/contacts") + + def get_folder(self, id): + """Returns the folder with the given ID.""" + return self._fetch_json("folders/" + id) + + def get_folders(self, ids): + """Returns a dictionary of folders for the given IDs.""" + return self._fetch_json("folders/", post_data={"ids": ",".join(ids)}) + + def new_folder(self, title, parent_id=None, color=None, member_ids=[]): + return self._fetch_json("folders/new", post_data={ + "title": title, + "parent_id": parent_id, + "color": color, + "member_ids": ",".join(member_ids), + }) + + def update_folder(self, folder_id, color=None, title=None): + return self._fetch_json("folders/update", post_data={ + "folder_id": folder_id, + "color": color, + "title": title, + }) + + def add_folder_members(self, folder_id, member_ids): + """Adds the given users to the given folder.""" + return self._fetch_json("folders/add-members", post_data={ + "folder_id": folder_id, + "member_ids": ",".join(member_ids), + }) + + def remove_folder_members(self, folder_id, member_ids): + """Removes the given users from the given folder.""" + return self._fetch_json("folders/remove-members", post_data={ + "folder_id": folder_id, + "member_ids": ",".join(member_ids), + }) + + def get_teams(self): + """Returns the teams for the user corresponding to our access token.""" + return self._fetch_json("teams/current") + + def get_messages(self, thread_id, max_created_usec=None, count=None): + """Returns the most recent messages for the given thread. + + To page through the messages, use max_created_usec, which is the + sort order for the returned messages. + + count should be an integer indicating the number of messages you + want returned. The maximum is 100. + """ + return self._fetch_json( + "messages/" + thread_id, max_created_usec=max_created_usec, + count=count) + + def new_message(self, thread_id, content=None, **kwargs): + """Sends a message on the given thread. + + `content` is plain text, not HTML. + """ + args = { + "thread_id": thread_id, + "content": content, + } + args.update(kwargs) + return self._fetch_json("messages/new", post_data=args) + + def get_thread(self, id): + """Returns the thread with the given ID.""" + return self._fetch_json("threads/" + id) + + def get_threads(self, ids): + """Returns a dictionary of threads for the given IDs.""" + return self._fetch_json("threads/", post_data={"ids": ",".join(ids)}) + + def get_recent_threads(self, max_updated_usec=None, count=None, **kwargs): + """Returns the recently updated threads for a given user.""" + return self._fetch_json( + "threads/recent", max_updated_usec=max_updated_usec, + count=count, **kwargs) + + def get_matching_threads( + self, query, count=None, only_match_titles=False, **kwargs): + """Returns the recently updated threads for a given user.""" + return self._fetch_json("threads/search", query=query, count=count, + only_match_titles=only_match_titles, **kwargs) + + def add_thread_members(self, thread_id, member_ids): + """Adds the given folder or user IDs to the given thread.""" + return self._fetch_json("threads/add-members", post_data={ + "thread_id": thread_id, + "member_ids": ",".join(member_ids), + }) + + def delete_thread(self, thread_id): + """Deletes the thread with the given thread id or secret""" + return self._fetch_json("threads/delete", post_data={ + "thread_id": thread_id, + }) + + def remove_thread_members(self, thread_id, member_ids): + """Removes the given folder or user IDs from the given thread.""" + return self._fetch_json("threads/remove-members", post_data={ + "thread_id": thread_id, + "member_ids": ",".join(member_ids), + }) + + def move_thread(self, thread_id, source_folder_id, destination_folder_id): + """Moves the given thread from the source folder to the destination one. + """ + self.add_thread_members(thread_id, [destination_folder_id]) + self.remove_thread_members(thread_id, [source_folder_id]) + + def new_chat(self, message, title=None, member_ids=[]): + """Creates a chat with the given title and members, and send the + initial message.""" + return self._fetch_json("threads/new-chat", post_data={ + "message": message, + "title": title, + "member_ids": ",".join(member_ids), + }) + + def new_document(self, content, format="html", title=None, member_ids=[]): + """Creates a new document from the given content. + + To create a document in a folder, include the folder ID in the list + of member_ids, e.g., + + client = quip.QuipClient(...) + user = client.get_authenticated_user() + client.new_document(..., member_ids=[user["archive_folder_id"]]) + + """ + return self._fetch_json("threads/new-document", post_data={ + "content": content, + "format": format, + "title": title, + "member_ids": ",".join(member_ids), + }) + + def copy_document(self, thread_id, folder_ids=None, member_ids=None, + title=None, values=None, **kwargs): + """Copies the given document, optionally replaces template variables + in the document with values in 'values' arg. The values argument + must be a dictionary that contains string keys and values that + are either strings, numbers or dictionaries. + """ + + args = {"thread_id": thread_id} + if folder_ids: + args["folder_ids"] = ",".join(folder_ids) + if member_ids: + args["member_ids"] = ",".join(member_ids) + if title: + args["title"] = title + if values: + args["values"] = json.dumps(values) + args.update(kwargs) + return self._fetch_json("threads/copy-document", post_data=args) + + def merge_comments(self, original_id, children_ids, ignore_user_ids=[]): + """Given an original document and a set of exact duplicates, copies + all comments and messages on the duplicates to the original. + + Impersonates the commentors if the access token used has + permission, but does not add them to the thread. + """ + import re + threads = self.get_threads(children_ids + [original_id]) + original_section_ids = re.findall(r" id='([a-zA-Z0-9]{11})'", + threads[original_id]["html"]) + for thread_id in children_ids: + thread = threads[thread_id] + child_section_ids = re.findall(r" id='([a-zA-Z0-9]{11})'", + thread["html"]) + parent_map = dict(zip(child_section_ids, original_section_ids)) + messages = self.get_messages(thread_id) + for message in reversed(messages): + if message["author_id"] in ignore_user_ids: + continue + kwargs = { + "user_id": message["author_id"], + "frame": "bubble", + "service_id": message["id"], + } + if "parts" in message: + kwargs["parts"] = json.dumps(message["parts"]) + else: + kwargs["content"] = message["text"] + if "annotation" in message: + section_id = None + if "highlight_section_ids" in message["annotation"]: + section_id = message["annotation"][ + "highlight_section_ids"][0] + else: + anno_loc = thread["html"].find( + '= 0 and loc >= 0: + section_id = thread["html"][loc + 4:loc + 15] + if section_id and section_id in parent_map: + kwargs["section_id"] = parent_map[section_id] + if "files" in message: + attachments = [] + for blob_info in message["files"]: + blob = self.get_blob(thread_id, blob_info["hash"]) + new_blob = self.put_blob( + original_id, blob, name=blob_info["name"]) + attachments.append(new_blob["id"]) + if attachments: + kwargs["attachments"] = ",".join(attachments) + self.new_message(original_id, **kwargs) + + def edit_document(self, thread_id, content, operation=APPEND, format="html", + section_id=None, **kwargs): + """Edits the given document, adding the given content. + + `operation` should be one of the constants described above. If + `operation` is relative to another section of the document, you must + also specify the `section_id`. + """ + + # Since our cell ids in 10x contain ';', which is a valid cgi + # parameter separator, we are replacing them with '_' in 10x cell + # sections. This should be no op for all other sections. + section_id = None if not section_id else section_id.replace(";", "_") + + args = { + "thread_id": thread_id, + "content": content, + "location": operation, + "format": format, + "section_id": section_id + } + args.update(kwargs) + return self._fetch_json("threads/edit-document", post_data=args) + + def add_to_first_list(self, thread_id, *items, **kwargs): + """Adds the given items to the first list in the given document. + + client = quip.QuipClient(...) + client.add_to_first_list(thread_id, "Try the Quip API") + + """ + items = [item.replace("\n", " ") for item in items] + args = { + "thread_id": thread_id, + "content": "\n\n".join(items), + "format": "markdown", + "operation": self.AFTER_SECTION + } + args.update(kwargs) + if "section_id" not in args: + first_list = self.get_first_list( + thread_id, kwargs.pop("document_html", None)) + if first_list: + args["section_id"] = self.get_last_list_item_id(first_list) + if not args.get("section_id"): + args["operation"] = self.APPEND + args["content"] = "\n\n".join([" * %s" % i for i in items]) + return self.edit_document(**args) + + def add_to_spreadsheet(self, thread_id, *rows, **kwargs): + """Adds the given rows to the named (or first) spreadsheet in the + given document. + + client = quip.QuipClient(...) + client.add_to_spreadsheet(thread_id, ["5/1/2014", 2.24]) + + """ + content = "".join(["%s" % "".join( + ["%s" % cell for cell in row]) for row in rows]) + if kwargs.get("name"): + spreadsheet = self.get_named_spreadsheet(kwargs["name"], thread_id) + else: + spreadsheet = self.get_first_spreadsheet(thread_id) + if kwargs.get("add_to_top"): + section_id = self.get_first_row_item_id(spreadsheet) + operation = self.BEFORE_SECTION + else: + section_id = self.get_last_row_item_id(spreadsheet) + operation = self.AFTER_SECTION + return self.edit_document( + thread_id=thread_id, + content=content, + section_id=section_id, + operation=operation) + + def update_spreadsheet_row(self, thread_id, header, value, updates, **args): + """Finds the row where the given header column is the given value, and + applies the given updates. Updates is a dict from header to + new value. In both cases headers can either be a string that matches, or + "A", "B", "C", 1, 2, 3 etc. If no row is found, adds a new one. + + client = quip.QuipClient(...) + client.update_spreadsheet_row( + thread_id, "customer", "Acme", {"Billed": "6/24/2015"}) + + """ + response = None + if args.get("name"): + spreadsheet = self.get_named_spreadsheet(args["name"], thread_id) + else: + spreadsheet = self.get_first_spreadsheet(thread_id) + headers = self.get_spreadsheet_header_items(spreadsheet) + row = self.find_row_from_header(spreadsheet, header, value) + if row: + ids = self.get_row_ids(row) + for head, val in iteritems(updates): + index = self.get_index_of_header(headers, head) + if not index or index >= len(ids) or not ids[index]: + continue + response = self.edit_document( + thread_id=thread_id, + content=val, + format="markdown", + section_id=ids[index], + operation=self.REPLACE_SECTION, + **args) + else: + updates[header] = value + response = self.add_spreadsheet_row( + thread_id, spreadsheet, updates, headers=headers, **args) + return response + + def add_spreadsheet_row( + self, thread_id, spreadsheet, updates, headers=None, **args): + if not headers: + headers = self.get_spreadsheet_header_items(spreadsheet) + indexed_items = {} + extra_items = [] + for head, val in iteritems(updates): + index = self.get_index_of_header( + headers, head, default=None) + if index is None or index in indexed_items: + extra_items.append(val) + else: + indexed_items[index] = val + cells = [] + if indexed_items: + for i in range(max(indexed_items.keys()) + 1): + if i in indexed_items: + cells.append(indexed_items[i]) + elif len(extra_items): + cells.append(extra_items.pop(0)) + else: + cells.append("") + cells.extend(extra_items) + content = "%s" % "".join( + ["%s" % cell for cell in cells]) + section_id = self.get_last_row_item_id(spreadsheet) + response = self.edit_document( + thread_id=thread_id, + content=content, + section_id=section_id, + operation=self.AFTER_SECTION, + **args) + return response + + def toggle_checkmark(self, thread_id, item, checked=True): + """Sets the checked state of the given list item to the given state. + + client = quip.QuipClient(...) + list = client.get_first_list(thread_id) + client.toggle_checkmark(thread_id, list[0]) + + """ + if checked: + item.attrib["class"] = "checked" + else: + item.attrib["class"] = "" + return self.edit_document(thread_id=thread_id, + content=xml.etree.cElementTree.tostring(item), + section_id=item.attrib["id"], + operation=self.REPLACE_SECTION) + + def get_first_list(self, thread_id=None, document_html=None): + """Returns the `ElementTree` of the first list in the document. + + The list can be any type (bulleted, numbered, or checklist). + If `thread_id` is given, we download the document. If you have + already downloaded the document, you can specify `document_html` + directly. + """ + return self._get_container(thread_id, document_html, "ul", 0) + + def get_last_list(self, thread_id=None, document_html=None): + """Like `get_first_list`, but the last list in the document.""" + return self._get_container(thread_id, document_html, "ul", -1) + + def get_section(self, section_id, thread_id=None, document_html=None): + if not document_html: + document_html = self.get_thread(thread_id).get("html") + if not document_html: + return None + tree = self.parse_document_html(document_html) + element = list(tree.iterfind(".//*[@id='%s']" % section_id)) + if not element: + return None + return element[0] + + def get_named_spreadsheet(self, name, thread_id=None, document_html=None): + if not document_html: + document_html = self.get_thread(thread_id).get("html") + if not document_html: + return None + tree = self.parse_document_html(document_html) + element = list(tree.iterfind(".//*[@title='%s']" % name)) + if not element: + return None + return element[0] + + def _get_container(self, thread_id, document_html, container, index): + if not document_html: + document_html = self.get_thread(thread_id).get("html") + if not document_html: + return None + tree = self.parse_document_html(document_html) + lists = list(tree.iter(container)) + if not lists: + return None + try: + return lists[index] + except IndexError: + return None + + def get_last_list_item_id(self, list_tree): + """Returns the last item in the given list `ElementTree`.""" + items = list(list_tree.iter("li")) + return items[-1].attrib["id"] if items else None + + def get_first_list_item_id(self, list_tree): + """Like `get_last_list_item_id`, but the first item in the list.""" + for item in list_tree.iter("li"): + return item.attrib["id"] + return None + + def get_first_spreadsheet(self, thread_id=None, document_html=None): + """Returns the `ElementTree` of the first spreadsheet in the document. + + If `thread_id` is given, we download the document. If you have + already downloaded the document, you can specify `document_html` + directly. + """ + return self._get_container(thread_id, document_html, "table", 0) + + def get_last_spreadsheet(self, thread_id=None, document_html=None): + """Like `get_first_spreadsheet`, but the last spreadsheet.""" + return self._get_container(thread_id, document_html, "table", -1) + + def get_last_row_item_id(self, spreadsheet_tree): + """Returns the last row in the given spreadsheet `ElementTree`.""" + items = list(spreadsheet_tree.iter("tr")) + return items[-1].attrib["id"] if items else None + + def get_first_row_item_id(self, spreadsheet_tree): + """Returns the last row in the given spreadsheet `ElementTree`.""" + items = list(spreadsheet_tree.iter("tr")) + return items[1].attrib["id"] if items else None + + def get_row_items(self, row_tree): + """Returns the text of items in the given row `ElementTree`.""" + return [(list(x.itertext()) or [None])[0] for x in row_tree] + + def get_row_ids(self, row_tree): + """Returns the ids of items in the given row `ElementTree`.""" + return [x.attrib["id"] for x in row_tree] + + def get_spreadsheet_header_items(self, spreadsheet_tree): + """Returns the header row in the given spreadsheet `ElementTree`.""" + return self.get_row_items(list(spreadsheet_tree.iterfind(".//tr"))[0]) + + def get_index_of_header(self, header_items, header, default=0): + """Find the index of the given header in the items""" + if header: + header = str(header) + lower_headers = [str(h).lower() for h in header_items] + if header in header_items: + return header_items.index(header) + elif header.lower() in lower_headers: + return lower_headers.index(header.lower()) + elif header.isdigit(): + return int(header) + elif len(header) == 1: + char = ord(header.upper()) + if ord('A') < char < ord('Z'): + return char - ord('A') + 1 + else: + pass + return default + + def find_row_from_header(self, spreadsheet_tree, header, value): + """Find the row in the given spreadsheet `ElementTree` where header is + value. + """ + headers = self.get_spreadsheet_header_items(spreadsheet_tree) + index = self.get_index_of_header(headers, header) + for row in spreadsheet_tree.iterfind(".//tr"): + if len(row) <= index: + continue + cell = row[index] + if cell.tag != "td": + continue + if list(cell.itertext())[0].lower() == value.lower(): + return row + + def parse_spreadsheet_contents(self, spreadsheet_tree): + """Returns a python-friendly representation of the given spreadsheet + `ElementTree` + """ + import collections + spreadsheet = { + "id": spreadsheet_tree.attrib.get("id"), + "headers": self.get_spreadsheet_header_items(spreadsheet_tree), + "rows": [], + } + for row in spreadsheet_tree.iterfind(".//tr"): + value = { + "id": row.attrib.get("id"), + "cells": collections.OrderedDict(), + } + for i, cell in enumerate(row): + if cell.tag != "td": + continue + data = { + "id": cell.attrib.get("id"), + } + images = list(cell.iter("img")) + if images: + data["content"] = images[0].attrib.get("src") + else: + data["content"] = list(cell.itertext())[0].replace( + u"\u200b", "") + style = cell.attrib.get("style") + if style and "background-color:#" in style: + sharp = style.find("#") + data["color"] = style[sharp + 1:sharp + 7] + value["cells"][spreadsheet["headers"][i]] = data + if len(value["cells"]): + spreadsheet["rows"].append(value) + return spreadsheet + + def parse_document_html(self, document_html): + """Returns an `ElementTree` for the given Quip document HTML""" + document_xml = "" + document_html + "" + return xml.etree.cElementTree.fromstring(document_xml.encode("utf-8")) + + def parse_micros(self, usec): + """Returns a `datetime` for the given microsecond string""" + return datetime.datetime.utcfromtimestamp(usec / 1000000.0) + + def get_blob(self, thread_id, blob_id): + """Returns a file-like object with the contents of the given blob from + the given thread. + + The object is described in detail here: + https://docs.python.org/2/library/urllib2.html#urllib2.urlopen + """ + request = Request( + url=self._url("blob/%s/%s" % (thread_id, blob_id))) + if self.access_token: + request.add_header("Authorization", "Bearer " + self.access_token) + try: + return urlopen(request, timeout=self.request_timeout) + except HTTPError as error: + try: + # Extract the developer-friendly error message from the response + message = json.loads(error.read().decode())["error_description"] + except Exception: + raise error + raise QuipError(error.code, message, error) + + def put_blob(self, thread_id, blob, name=None): + """Uploads an image or other blob to the given Quip thread. Returns an + ID that can be used to add the image to the document of the thread. + + blob can be any file-like object. Requires the 'requests' module. + """ + import requests + url = "blob/" + thread_id + headers = None + if self.access_token: + headers = {"Authorization": "Bearer " + self.access_token} + if name: + blob = (name, blob) + try: + response = requests.request( + "post", self._url(url), timeout=self.request_timeout, + files={"blob": blob}, headers=headers) + response.raise_for_status() + return response.json() + except requests.RequestException as error: + try: + # Extract the developer-friendly error message from the response + message = error.response.json()["error_description"] + except Exception: + raise error + raise QuipError(error.response.status_code, message, error) + + def new_websocket(self, **kwargs): + """Gets a websocket URL to connect to. + """ + return self._fetch_json("websockets/new", **kwargs) + + def _fetch_json(self, path, post_data=None, **args): + request = Request(url=self._url(path, **args)) + if post_data: + post_data = dict((k, v) for k, v in post_data.items() + if v or isinstance(v, int)) + request_data = urlencode(self._clean(**post_data)) + if PY3: + request.data = request_data.encode() + else: + request.data = request_data + + if self.access_token: + request.add_header("Authorization", "Bearer " + self.access_token) + try: + return json.loads( + urlopen( + request, timeout=self.request_timeout).read().decode()) + except HTTPError as error: + try: + # Extract the developer-friendly error message from the response + message = json.loads(error.read().decode())["error_description"] + except Exception: + raise error + raise QuipError(error.code, message, error) + + def _clean(self, **args): + return dict((k, str(v) if isinstance(v, int) else v.encode("utf-8")) + for k, v in args.items() if v or isinstance(v, int)) + + def _url(self, path, **args): + url = self.base_url + "/1/" + path + args = self._clean(**args) + if args: + url += "?" + urlencode(args) + return url diff --git a/commands/apps/quip/quip_config.chezmoi.template.ini b/commands/apps/quip/quip_config.chezmoi.template.ini new file mode 100644 index 000000000..851977cc4 --- /dev/null +++ b/commands/apps/quip/quip_config.chezmoi.template.ini @@ -0,0 +1,158 @@ +# Template example for creating quip_config.ini with chezmoi +# (https://www.chezmoi.io/) using values stored in KeePassXC. I use this +# template to generate my personal configuration file. I keep in KeepassXC two +# items: +# +# - "Quip personal token", which contains my API token in the Password field, +# and has two custom attributes named "BaseURL" and "APIURL", which are used +# to populate the corresponding fields below. +# +# - "Quip documents", which contains custom attributes for the FolderID, +# TemplateID and DocID values for all sections. For example, the FolderID for +# "Note" items is called "Note.FolderID". +# +# You need to configure chezmoi to know where to find your KeePassXC database, +# and your Keyfile if you use one. My config file ~/.config/chezmoi/chezmoi.toml +# looks like this: +# +# [keepassxc] +# database = "/path/to/my/KeePassXC/Passwords.kdbx" +# args = ["-k", "/path/to/my/KeePassXC/keyfile.keyx"] +# +# If you don't use chezmoi for all your dotfiles, you can generate a single file +# by running chezmoi like this: +# +# chezmoi execute-template -o quip_config.ini < quip_config.chezmoi.template.ini +# +# Note: if you use 1Password, you can also use chezmoi, or use the native `op +# inject` (https://developer.1password.com/docs/cli/reference/commands/inject/) + + +# Values in the DEFAULT section are inherited for all the other sections, but +# you can override any of them in the individual sections below. +[DEFAULT] +### +### Authentication +### + +# Quip API token. Get one at https://quip.com/api/personal-token +APIToken = {{ (keepassxc "Quip personal token").Password }} + +### +### Behaviors for document creation +### + +# Prepend date to the title of new documents? +PrependDate = yes +# Whether to automatically open the created documents +OpenDoc = yes +# Whether to copy the URL of newly created documents to the clipboard +CopyURLToClipboard = no +# Whether to open documents in the app or in the browser +UseQuipApp = yes +# Default values for Raycast command metadata +CommandTitle = New ${section} in Quip +CommandArgPlaceholder = ${section} title +# You can set a default FolderID here. If not set, new documents are placed +# in your top-level "Private" Quip folder +# FolderID = +# Default action, can be "create" or "add" +Action = create +# Produce a notification at the end? +Notify = no +# Whether the command should accept an empty argument and in that case just open +# the document (this applies only to 'add' actions) +OpenDocIfEmptyArg = no + +### +### URLs. Defaults should be OK for most users. +### + +# Quip base URL to use +BaseURL = {{ keepassxcAttribute "Quip personal token" "BaseURL" }} +# Quip API URL to use +APIURL = {{ keepassxcAttribute "Quip personal token" "APIURL" }} + +### +### Each section below defines a new "document type", which can be stored in +### different folders and override any of the defaults. +### +### The section names are arbitrary, and you should define at least the FolderID +### attribute for each of them (but it's not mandatory) +### The document/folder IDs can be obtained by using the "Copy Link" menu +### option in Quip. The ID is the part that comes right after the hostname +### in the URL. For example: https://quip.com/A7RmAB1oNeuL +### + +### Below custom sections for different document types + +## First the 'create' actions, which create new documents in different folders, +## with different templates. + +[doc] +# Document without a folder, created in the default location. + +[Note] +# Quip Folder ID for general notes. +FolderID = {{ keepassxcAttribute "Quip documents" "Note.FolderID" }} + +[Meeting notes] +# Quip Folder ID for meeting notes. +FolderID = {{ keepassxcAttribute "Quip documents" "Meetings.FolderID" }} +# Meeting notes template +TemplateID = {{ keepassxcAttribute "Quip documents" "Meetings.TemplateID" }} +# Some custom metadata for the Raycast command +CommandArgPlaceholder = Meeting title + +[Project page] +# Quip Folder ID for project pages +FolderID = {{ keepassxcAttribute "Quip documents" "Project.FolderID" }} +# Project notes template +TemplateID = {{ keepassxcAttribute "Quip documents" "Project.TemplateID" }} +# Project don't get the date prepended +PrependDate = no +# Metadata for the Raycast command +CommandArgPlaceholder = Project name + +[Training/course notes] +FolderID = {{ keepassxcAttribute "Quip documents" "Training.FolderID" }} + +## Now the 'add' actions, which add text to an existing document. These sections +## will not work until you add the appropriate 'DocID' parameter. + +# Command to add todo items to an existing Quip document. +[TODO] +action = add +# The ID of the document where the text should be added +DocID = {{ keepassxcAttribute "Quip documents" "TODO.DocID" }} +# Prepend the date to the text? +PrependDate = no +# Produce a notification and don't open the doc. But if an empty argument is +# given, open the document. +Notify = yes +OpenDoc = no +OpenDocIfEmptyArg = yes +# Add the text as a list item? Value can be "todo", "bullet" or "num". Anything +# else adds is as regular text. Note that the text you add can contain Markdown +# markup. +ListType = todo + +# Command to add items to a "brag document" (a doc where I keep a record of my +# accomplishments). +[BRAG item] +action = add +# The ID of the document where the text should be added +DocID = {{ keepassxcAttribute "Quip documents" "BRAG.DocID" }} +# Prepend the date to the text? +PrependDate = yes +# Produce a notification and don't open the doc. But if an empty argument is +# given, open the document. +Notify = yes +OpenDoc = no +OpenDocIfEmptyArg = yes +# Add the text as a list item? Value can be "todo", "bullet" or "num". Anything +# else adds is as regular text. Note that the text you add can contain Markdown +# markup. +ListType = none +# Metadata for the Raycast command +CommandArgPlaceholder = BRAG text diff --git a/commands/apps/quip/quip_config.template.ini b/commands/apps/quip/quip_config.template.ini new file mode 100644 index 000000000..6183ba753 --- /dev/null +++ b/commands/apps/quip/quip_config.template.ini @@ -0,0 +1,135 @@ +# You must configure at least the APIToken in the DEFAULT section. +# +# Please note: Do NOT quote values in this file. + +# Values in the DEFAULT section are inherited for all the other sections, but +# you can override any of them in the individual sections below. +[DEFAULT] +### +### Authentication +### + +# Quip API token. Get one at https://quip.com/api/personal-token +APIToken = + +### +### Behaviors for document creation +### + +# Prepend date to the title of new documents? +PrependDate = yes +# Whether to automatically open the created documents +OpenDoc = yes +# Whether to copy the URL of newly created documents to the clipboard +CopyURLToClipboard = no +# Whether to open documents in the app or in the browser +UseQuipApp = yes +# Default values for Raycast command metadata +CommandTitle = New ${section} in Quip +CommandArgPlaceholder = ${section} title +# You can set a default FolderID here. If not set, new documents are placed +# in your top-level "Private" Quip folder +# FolderID = +# Default action, can be "create" or "add" +Action = create +# Produce a notification at the end? +Notify = no +# Whether the command should accept an empty argument and in that case just open +# the document (this applies only to 'add' actions) +OpenDocIfEmptyArg = no + +### +### URLs. Defaults should be OK for most users. +### + +# Quip base URL to use +BaseURL = https://quip.com/ +# Quip API URL to use +APIURL = https://platform.quip.com + +### +### Each section below defines a new "document type", which can be stored in +### different folders and override any of the defaults. +### +### The section names are arbitrary, and you should define at least the FolderID +### attribute for each of them (but it's not mandatory) +### The document/folder IDs can be obtained by using the "Copy Link" menu +### option in Quip. The ID is the part that comes right after the hostname +### in the URL. For example: https://quip.com/A7RmAB1oNeuL +### + +### Below custom sections for different document types + +## First the 'create' actions, which create new documents in different folders, +## with different templates. + +[doc] +# Document without a folder, created in the default location. + +[Note] +# Quip Folder ID for general notes. +# FolderID = + +[Meeting notes] +# Quip Folder ID for meeting notes. +# FolderID = +# Meeting notes template, if you want to use one +# TemplateID = +# Some custom metadata for the Raycast command +CommandArgPlaceholder = Meeting title + +[Project page] +# Quip Folder ID for project pages +# FolderID = +# Project notes template +# TemplateID = +# Project don't get the date prepended +PrependDate = no +# Metadata for the Raycast command +CommandArgPlaceholder = Project name + +[Training/course notes] +# Quip folder ID for storing course notes +# FolderID = + +## Now the 'add' actions, which add text to an existing document. These sections +## will not work until you add the appropriate 'DocID' parameter. + +# Command to add todo items to an existing Quip document. +[TODO] +action = add +# The ID of the document where the text should be added +# THIS PARAMETER IS MANDATORY for 'add' actions. +# DocID = +# Prepend the date to the text? +PrependDate = no +# Produce a notification and don't open the doc. But if an empty argument is +# given, open the document. +Notify = yes +OpenDoc = no +OpenDocIfEmptyArg = yes +# Add the text as a list item? Value can be "todo", "bullet" or "num". Anything +# else adds is as regular text. Note that the text you add can contain Markdown +# markup. +ListType = todo + +# Command to add items to a "brag document" (a doc where I keep a record of my +# accomplishments). +[BRAG item] +action = add +# The ID of the document where the text should be added +# THIS PARAMETER IS MANDATORY for 'add' actions. +# DocID = +# Prepend the date to the text? +PrependDate = yes +# Produce a notification and don't open the doc. But if an empty argument is +# given, open the document. +Notify = yes +OpenDoc = no +OpenDocIfEmptyArg = yes +# Add the text as a list item? Value can be "todo", "bullet" or "num". Anything +# else adds is as regular text. Note that the text you add can contain Markdown +# markup. +ListType = none +# Metadata for the Raycast command +CommandArgPlaceholder = BRAG text diff --git a/commands/apps/quip/quip_utils.py b/commands/apps/quip/quip_utils.py new file mode 100755 index 000000000..fb7b35d95 --- /dev/null +++ b/commands/apps/quip/quip_utils.py @@ -0,0 +1,182 @@ +#!/usr/bin/env python3 +# +# Utility library for interacting with the Quip API and for other common +# functions. +# +# Diego Zamboni + +import quip +import os +import sys +import subprocess +import re +from datetime import datetime +from configparser import ConfigParser, ExtendedInterpolation + +config = None +config_file = "quip_config.ini" + +# Custom config interpolation class that allows interpolating the current +# section name. +# Code from https://stackoverflow.com/a/47360765 +class ExtendedSectionInterpolation(ExtendedInterpolation): + def before_get(self, parser, section, option, value, defaults): + defaults.maps.append({'section': section}) + return super().before_get(parser, section, option, value, defaults) + +# Print error message and exit with a non-zero code. +def fail(message): + red = "\u001b[31m" + print(red + message) + sys.exit(1) + +# Produce a macOS notification message +def notify(title, text): + CMD = ''' + on run argv + display notification (item 2 of argv) with title (item 1 of argv) + end run + ''' + subprocess.call(['osascript', '-e', CMD, title, text]) + +# Read configuration file into global config variable. +def readConfig(filename=config_file): + global config + config = ConfigParser(interpolation=ExtendedSectionInterpolation()) + files_read = config.read(filename) + if filename not in files_read: + fail(f"Could not read config file '{filename}'.") + +# Check whether the APIToken field has a non-empty value and exit if it doesn't. +# Does not verify that it's valid. +def checkAPIToken(doc_type): + if config[doc_type].get('APIToken', "") == "": + fail(f"Error: Please configure APIToken in {config_file}.") + +# Put a string in the macOS clipboard using the pbcopy command. +# +# Function originally from +# https://gist.github.com/XuankangLin/7ec82f80a0044a52330720244de2d15a modified +# to automatically call encode('utf_8') on its argument, with the assumption +# that it's a string. +def setClipboardData(text): + p = subprocess.Popen(['pbcopy'], stdin=subprocess.PIPE) + p.stdin.write(text.encode('utf_8')) + p.stdin.close() + retcode = p.wait() + +def quip_open(thing, doc_type='DEFAULT'): + # thing can be a DocID or a URL. DocIDs are 11 or 12 characters long + if len(thing) in [11,12]: + url = config[doc_type].get('BaseURL', 'https://quip.com/') + thing + else: + url = thing + app_args=[] + if config[doc_type].getboolean('UseQuipApp'): + app_args=["-a", "Quip"] + try: + open_args=["/usr/bin/open", *app_args, url] + # We use Popen to put the open process in the background. + pid = subprocess.Popen(open_args).pid + except OSError as e: + fail(f"Execution failed: {e}") + +# Normalize a string by lowercasing and replacing whitespace with dashes. +def normalize(s): + return re.sub('\W+', '-', s.lower()) + +# Create a new document in Quip. +# +# The document is created according to the configuration associated with the +# given doc_type. This indicates parameters such as the APIToken to use, whether +# to prepend the current date to the text, and the folder in which the document +# should be stored. See quip_config.ini for the full list of available +# configuration parameters. +# +def quip_new_doc(doc_type, text): + readConfig() + if not config.has_section(doc_type): + # Map section names to their "normalized" variants used in the filenames + denormalized_types = {} + for t in config.sections(): + denormalized_types[normalize(t)] = t + if doc_type in denormalized_types: + doc_type = denormalized_types[doc_type] + else: + fail(f"Error: Quip document type '{doc_type}' is not defined in {config_file}.") + checkAPIToken(doc_type) + + # Prepend date to the text if needed + if text and config[doc_type].getboolean('PrependDate'): + dateformat = config[doc_type].get('DateFormat', "%Y-%m-%d") + text = datetime.now().strftime(dateformat) + " " + text + + # What to do? + action = config[doc_type].get('action', 'create') + # Notification message to produce at the end + message_title = "" + message_body = "" + + try: + client = quip.QuipClient(access_token=config[doc_type]['APIToken'], base_url=config[doc_type]['APIURL']) + + if action == 'create': + # print(f"Creating new note '{text}' in folder {folder_id}...") + folders = [] + folderID = config[doc_type].get('FolderID',None) + if folderID: + folders = [folderID] + templateID = config[doc_type].get('TemplateID', None) + # If TemplateID is given, use it to create the doc, otherwise create an empty one + if templateID: + result = client.copy_document(templateID, folder_ids=[folderID], title=text) + else: + result = client.new_document(content=text, format="markdown", member_ids=folders) + message_title = f"New {doc_type} created" + message_body = message_title + elif action == 'add': + listmarkup = { "todo": "[] ", "bullet": "- ", "num": "1. " } + listtype = config[doc_type].get('ListType', 'none') + docid = config[doc_type].get('DocID', None) + if not docid: + fail(f"Error: no DocID provided, needed for 'add' action.") + if text: + if listtype in listmarkup: + text = listmarkup[listtype] + text + result = client.edit_document(docid, text, format='markdown', section_id='') + message_title = f"New {doc_type} added to document" + message_body = message_title + else: + if config[doc_type].getboolean('OpenDocIfEmptyArg'): + message_title = f"Opening {doc_type} document" + quip_open(docid, doc_type) + sys.exit(0) + else: + fail(f"Error: Invalid action value '{action}', should be 'create' or 'add'.") + + except Exception as e: + if e.code == 401: + fail(f"Please configure/verify your Quip API token in {config_file}") + elif e.code == 400: + fail(f"Please configure/verify folder ID for [{doc_type}] in {config_file}") + else: + fail(f"Received a Quip error:", e, file=sys.stderr) + + if result: + url = result['thread']['link'] + if url: + if config[doc_type].getboolean('CopyURLToClipboard'): + setClipboardData(url) + message_body = message_body + f", URL copied to clipboard" + + if config[doc_type].getboolean('OpenDoc'): + message_body = message_body + f", opening {url}" + quip_open(url, doc_type) + message_body = message_body + "." + print(message_body) + if config[doc_type].getboolean('Notify'): + notify(message_title, message_body) + else: + fail(f"Something went wrong, could not get the document URL.") + else: + fail(f"Something went wrong, could not create document.") diff --git a/commands/apps/quip/set-up-quip-commands.py b/commands/apps/quip/set-up-quip-commands.py new file mode 100755 index 000000000..089ecf438 --- /dev/null +++ b/commands/apps/quip/set-up-quip-commands.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Set up Quip commands +# @raycast.mode fullOutput + +# Optional parameters: +# @raycast.icon /Applications/Quip.app/Contents/Resources/AppIcon.icns +# @raycast.packageName Quip utilities +# @raycast.needsConfirmation true + +# Documentation: +# @raycast.description Create script commands for creating Quip documents, based on the configuration in quip_config.ini. +# @raycast.author diego_zamboni +# @raycast.authorURL https://raycast.com/diego_zamboni + +import quip_utils +import os +import glob + +# Read template +cmd_template="quip-new.template.py" +with open(cmd_template, 'r') as file: + template = file.read() + +blue = "\u001b[34m" +yellow = "\u001b[33m" +green = "\u001b[32m" +red = "\u001b[31m" + +print(f"Reading quip_config.ini...") +quip_utils.readConfig() +doc_types = quip_utils.config.sections() +quip_utils.checkAPIToken('DEFAULT') +print(blue + f"The configuration file contains the following document types: {' '.join(doc_types)}") + +print(yellow + f"Removing old scripts before creating new ones...") +for file in glob.glob("quip-new-*.py"): + print(yellow + f" {file}") + os.remove(file) + +for type in doc_types: + new_script = template + normalized_type = quip_utils.normalize(type) + filename = f"quip-new-{normalized_type}.py" + print(blue + f"Creating script for '{type}': ", end="") + # Replace config values in template + template_values = {} + for k,v in quip_utils.config[type].items(): + # If it's a boolean value, convert it to a JSON-style boolean (i.e. "true" or "false", all lowercase) + if v in quip_utils.config.BOOLEAN_STATES.keys(): + v = str(quip_utils.config[type].getboolean(k)).lower() + template_k = "{{" + k + "}}" + new_script = new_script.replace(template_k, v) + with open(filename, 'w') as file: + file.write(new_script) + print(f"{green}{filename}") diff --git a/commands/apps/safari/safari-bing-edge-user-agent.applescript b/commands/apps/safari/safari-bing-edge-user-agent.applescript new file mode 100755 index 000000000..75f74c2d6 --- /dev/null +++ b/commands/apps/safari/safari-bing-edge-user-agent.applescript @@ -0,0 +1,27 @@ +#!/usr/bin/osascript +# Check "Safari > Advanced > Develop" first. +# This script works on the English Safari menu. + +# @raycast.title Open Bing with Edge User-Agent +# @raycast.description Open Bing in Safari with Edge User-Agent +# @raycast.author smxl +# @raycast.authorURL https://github.com/smxl + +# @raycast.icon images/safari.png +# @raycast.mode silent +# @raycast.packageName Safari +# @raycast.schemaVersion 1 + +tell application "Safari" + activate + set theURL to "https://www.bing.com" + set newTab to make new tab at end of tabs of window 1 + set current tab of window 1 to newTab + set theUserAgent to "Microsoft Edge ¡ª MacOS" + set URL of newTab to theURL + tell application "System Events" + tell process "Safari" + click menu item theUserAgent of menu "User Agent" of menu item "User Agent" of menu "Develop" of menu bar 1 + end tell + end tell +end tell \ No newline at end of file diff --git a/commands/apps/safari/safari-download-url.applescript b/commands/apps/safari/safari-download-url.applescript new file mode 100755 index 000000000..8fd9a716a --- /dev/null +++ b/commands/apps/safari/safari-download-url.applescript @@ -0,0 +1,28 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Download Current URL +# @raycast.mode silent + +# Optional parameters: +# @raycast.packageName Safari +# @raycast.icon images/safari.png + +# @Documentation: +# @raycast.author Michael Bianco +# @raycast.authorURL https://github.com/iloveitaly +# @raycast.description Download the currently active tab's URL. + +tell application "Safari" + activate + set currentTab to current tab of window 1 + set theURL to URL of currentTab +end tell + +-- Simulate pressing Option key and clicking the link +tell application "System Events" + keystroke "l" using {command down} -- Select the address bar (Cmd + L) + delay 0.5 + keystroke return using {option down} -- Press Option + Return to download the file +end tell diff --git a/commands/apps/stickies/images/stickies.png b/commands/apps/stickies/images/stickies.png new file mode 100644 index 000000000..cd3651bb8 Binary files /dev/null and b/commands/apps/stickies/images/stickies.png differ diff --git a/commands/apps/stickies/new-floating-sticky.applescript b/commands/apps/stickies/new-floating-sticky.applescript new file mode 100755 index 000000000..3f3d2dc21 --- /dev/null +++ b/commands/apps/stickies/new-floating-sticky.applescript @@ -0,0 +1,23 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title New Floating Sticky Note +# @raycast.mode silent +# @raycast.packageName Stickies + +# Optional parameters: +# @raycast.icon images/stickies.png + +# Documentation: +# @raycast.description This script creates a new floating note in the Apple Stickies application +# @raycast.author Annie Ma +# @raycast.authorURL http://www.anniema.co/ + +tell application "Stickies" + activate + tell application "System Events" + keystroke "n" using command down + keystroke "f" using command down & option down + end tell +end tell \ No newline at end of file diff --git a/commands/apps/tailscale/tailscale-switch.sh b/commands/apps/tailscale/tailscale-switch.sh index ad40265e9..e174480c8 100755 --- a/commands/apps/tailscale/tailscale-switch.sh +++ b/commands/apps/tailscale/tailscale-switch.sh @@ -15,9 +15,15 @@ # @Documentation: # @raycast.description Switches Tailscale networks + +# Original author # @raycast.author Ross Zurowski # @raycast.authorURL https://github.com/rosszurowski +# Contributor +# @raycast.author Daniel Schoemer +# @raycast.authorURL https://github.com/quatauta + ts="" if command -v tailscale &> /dev/null; then @@ -29,12 +35,11 @@ else exit 1 fi -$ts logout -$ts up +"${ts}" switch --list | # List all Tailscale accounts " " +grep -vF -e 'ID' -e '*' | # Omit the header line and the current account marked with "*" +awk '{ print $1 }' | # Print only the account ID of not-connected accounts +head -n1 | # Print only the first not-connected account +xargs -r -n1 "${ts}" switch # Switch to the selected account -if command -v jq &> /dev/null; then - account=$($ts status --json | jq -r '.User[(.Self.UserID | tostring)].LoginName') - echo "Connected as $account" -else - echo "Connected" -fi +tailnet="$("${ts}" switch --list | awk '/\*/ { print $2 }')" +echo "Switched to ${tailnet}" diff --git a/commands/apps/todoist/create-task.template.sh b/commands/apps/todoist/create-task.template.sh index 58b840098..ec44c264c 100755 --- a/commands/apps/todoist/create-task.template.sh +++ b/commands/apps/todoist/create-task.template.sh @@ -27,9 +27,9 @@ fi TASK="$1" if [[ $TASK != "" ]]; then - curl "https://api.todoist.com/sync/v8/quick/add" \ - -X -S POST \ - --data '{"text": "'"$TASK"'"}' \ + curl "https://api.todoist.com/rest/v2/tasks" \ + -X POST \ + --data '{"content": "'"$TASK"'"}' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_TOKEN" diff --git a/commands/apps/warp/warp-reauth.sh b/commands/apps/warp/warp-reauth.sh new file mode 100755 index 000000000..dc449114d --- /dev/null +++ b/commands/apps/warp/warp-reauth.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +# Dependency: Cloudflare WARP https://developers.cloudflare.com/warp-client/setting-up/macOS +# Note: Cloudflare WARP must be installed, but CLI works properly only if GUI-client is not running + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Reauthenticate +# @raycast.mode compact + +# Optional parameters: +# @raycast.icon images/warp.png + +# @Documentation: +# @raycast.packageName WARP +# @raycast.description Force WARP reauthentication +# @raycast.author Daniils Petrovs +# @raycast.authorURL https://github.com/danirukun + + +if ! command -v warp-cli &> /dev/null; then + echo "WARP is required (https://developers.cloudflare.com/warp-client/setting-up/macOS)"; + exit 1; +fi + +warp-cli access-reauth +echo "Opening WARP authentication page" diff --git a/commands/apps/warp/warp-start.sh b/commands/apps/warp/warp-start.sh index 5f475e934..482a9733b 100755 --- a/commands/apps/warp/warp-start.sh +++ b/commands/apps/warp/warp-start.sh @@ -24,7 +24,7 @@ fi # Source: https://superuser.com/a/736859 function isnt_connected () { - warp-cli status | sed -n 2p | grep -qv Connected + warp-cli status | grep Status | grep -qv Connected } function poll_until_connected () { diff --git a/commands/apps/warp/warp-status.sh b/commands/apps/warp/warp-status.sh index c9b985979..ed59fd2a9 100755 --- a/commands/apps/warp/warp-status.sh +++ b/commands/apps/warp/warp-status.sh @@ -23,7 +23,7 @@ if ! command -v warp-cli &> /dev/null; then exit 1; fi -status=$(warp-cli status | sed -n 2p | awk 'NF>1{print $NF}') +status=$(warp-cli status | grep Status | awk 'NF>1{print $NF}') if [ "$status" == "Connected" ] || [ "$status" == "Disconnected" ]; then echo "$status" diff --git a/commands/apps/warp/warp-stop.sh b/commands/apps/warp/warp-stop.sh index 09aa2ad1e..ab30756ba 100755 --- a/commands/apps/warp/warp-stop.sh +++ b/commands/apps/warp/warp-stop.sh @@ -25,7 +25,7 @@ fi # Source: https://superuser.com/a/736859 function isnt_connected () { - warp-cli status | sed -n 2p | grep -qv Connected + warp-cli status | grep Status | grep -qv Connected } diff --git a/commands/apps/warp/warp-toggle.sh b/commands/apps/warp/warp-toggle.sh index 9cf41b906..58eadc495 100755 --- a/commands/apps/warp/warp-toggle.sh +++ b/commands/apps/warp/warp-toggle.sh @@ -25,7 +25,7 @@ fi # Source: https://superuser.com/a/736859 function isnt_connected () { - warp-cli status | sed -n 2p | grep -qv Connected + warp-cli status | grep Status | grep -qv Connected } function poll_until_connected () { @@ -53,4 +53,4 @@ if isnt_connected; then else warp-cli disconnect echo "Disconnected from WARP" -fi \ No newline at end of file +fi diff --git a/commands/bookmarks/open-script-commands-repository.sh b/commands/bookmarks/open-script-commands-repository.sh deleted file mode 100755 index 032fef1b6..000000000 --- a/commands/bookmarks/open-script-commands-repository.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -# Required parameters: -# @raycast.schemaVersion 1 -# @raycast.title Open Script Commands Repository -# @raycast.packageName Bookmarks -# @raycast.mode silent - -# Optional parameters: -# @raycast.icon 📜 - -# Documentation: -# @raycast.description Open the GitHub repository for Script Commands provided by the community. - -open https://github.com/raycast/script-commands diff --git a/commands/browsing/Youtube Shorts in video player.sh b/commands/browsing/Youtube Shorts in video player.sh new file mode 100755 index 000000000..04cf549c1 --- /dev/null +++ b/commands/browsing/Youtube Shorts in video player.sh @@ -0,0 +1,64 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Youtube Shorts in video player +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 📹 + +# Documentation: +# @raycast.description Opens current Youtube Shorts video in the normal video player by replacing "/shorts/" with "/v/" in the url. +# @raycast.author Kailash Yellareddy +# @raycast.authorURL https://github.com/kyellareddy + +# ------------------------------------------------------------------- +# | # This script currently supports Safari and Google Chrome. | +# | # Replace "Safari" in line 21 with either "Safari" or "Chrome" | +# ------------------------------------------------------------------- + +set browser to "Safari" + + +if browser="Safari" + tell application "Safari" + tell front window + if its document exists then + set CurrentUrl to URL of current tab + end if + end tell + end tell + + set inputText to CurrentUrl + set findText to "shorts" + set replaceText to "v" + + set newText to do shell script "sed 's|" & quoted form of findText & "|" & quoted form of replaceText & "|g' <<< " & quoted form of inputText + + tell application "Safari" + tell window 1 + tell current tab + set URL to {newText} + end tell + end tell + end tell +end if + +if browser="Chrome" + tell application "Google Chrome" + set frontIndex to active tab index of front window + get URL of tab frontIndex of front window + set CurrentUrl to URL of tab frontIndex of front window + end tell + + set inputText to CurrentUrl + set findText to "shorts" + set replaceText to "v" + + set newText to do shell script "sed 's|" & quoted form of findText & "|" & quoted form of replaceText & "|g' <<< " & quoted form of inputText + + tell application "Google Chrome" + set URL of active tab of window 1 to {newText} + end tell +end if diff --git a/commands/browsing/convert-twitter-to-nitter.js b/commands/browsing/convert-twitter-to-nitter.js new file mode 100755 index 000000000..0a163466c --- /dev/null +++ b/commands/browsing/convert-twitter-to-nitter.js @@ -0,0 +1,35 @@ +#!/usr/bin/env node +// Dependency: This script requires Nodejs. +// Install Node: https://nodejs.org/en/download/ + +// Required parameters: +// @raycast.schemaVersion 1 +// @raycast.title Convert Twitter to Nitter +// @raycast.mode silent + +// Optional parameters: +// @raycast.icon 🐔 + +// Documentation: +// @raycast.description Convert Twitter link to Nitter +// @raycast.author cSharp +// @raycast.authorURL https://github.com/noidwasavailable + +// Example Twitter link: https://twitter.com/Cron/status/1644010827647975425 +const child_process = require('child_process'); +let link = child_process.execSync("pbpaste").toString(); + +if (!link) { + console.error('No link provided'); + return; +} + +try { + link = link.replace('twitter.com', 'nitter.net'); + console.log(`Opening ${link}`); + child_process.execSync(`open "${link}"`); + return; +} catch (error) { + console.error('Invalid link provided'); + return; +} diff --git a/commands/browsing/images/chrome-icon.png b/commands/browsing/images/chrome-icon.png new file mode 100644 index 000000000..e3fb307b6 Binary files /dev/null and b/commands/browsing/images/chrome-icon.png differ diff --git a/commands/browsing/open-chrome-without-cors.sh b/commands/browsing/open-chrome-without-cors.sh new file mode 100755 index 000000000..d4ee84fce --- /dev/null +++ b/commands/browsing/open-chrome-without-cors.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Open without CORS +# @raycast.mode compact + +# Optional parameters: +# @raycast.icon images/chrome-icon.png +# @raycast.packageName Chrome +# @raycast.needsConfirmation false + +# Documentation: +# @raycast.description Open chrome with web security option disabled. +# @raycast.author Tahsin Yazkan +# @raycast.authorURL https://github.com/thsnyzkn + +open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir="/tmp/chrome_dev_test" --disable-web-security + diff --git a/commands/browsing/open-in-guest-profile.sh b/commands/browsing/open-in-guest-profile.sh new file mode 100755 index 000000000..c35579059 --- /dev/null +++ b/commands/browsing/open-in-guest-profile.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Open in guest profile +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 🤖 +# @raycast.packageName Browser + +# Documentation: +# @raycast.description Open current website in guest profile/mode +# @raycast.author JD Solanki +# @raycast.authorURL https://github.com/jd-solanki + +############################################ +## Set your browser app ## +## "Google Chrome" ## +## "Brave Browser" ## +############################################ + +browser="Google Chrome" + +URL=$(osascript -e "tell application \"$browser\" to get URL of active tab of first window") + +open -a "$browser" -n --args --guest --new-window "$URL" + diff --git a/commands/browsing/open-multiple-websites-on-safari.template.sh b/commands/browsing/open-multiple-websites-on-safari.template.sh new file mode 100755 index 000000000..0f16d29fe --- /dev/null +++ b/commands/browsing/open-multiple-websites-on-safari.template.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Open Multiple Websites on Safari +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 📚 +# @raycast.packageName Browsing + +# Documentation: +# @raycast.description Open multiple websites on Safari using list of URLs +# @raycast.author Yasutaka Nishii +# @raycast.authorURL https://github.com/ystknsh + +# Set list of URLs +urls=( + "https://example.com" + "https://example.org" + "https://example.net" + "https://example.jp" + "https://example.io" + "https://example.ai" +) + +# Make AppleScript commands +applescript_command="tell application \"Safari\" + make new document with properties {URL:\"${urls[0]}\"} + tell window 1" + +for ((i=1; i<${#urls[@]}; i++)); do + applescript_command+=" + make new tab with properties {URL:\"${urls[$i]}\"}" +done + +applescript_command+=" + end tell +end tell" + +# Execute AppleScript +osascript -e "$applescript_command" + +# Set Safari window to front(Optional) +osascript < /dev/null; then + echo "jq command is required (https://github.com/jqlang/jq)."; + exit 1; +fi + +IFS=$'\n' read -d '' -r -a EMOJIS < <(curl -s https://raw.githubusercontent.com/github/gemoji/master/db/emoji.json | jq -r '.[] | .emoji' && printf '\0') +EMOJI="${EMOJIS[$RANDOM % ${#EMOJIS[@]}]}" +echo -n "$EMOJI" | pbcopy +echo "$EMOJI" diff --git a/commands/communication/let-me-google-that.sh b/commands/communication/let-me-google-that.sh new file mode 100755 index 000000000..7a5c174de --- /dev/null +++ b/commands/communication/let-me-google-that.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Let Me Google That +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 🤡 +# @raycast.packageName Communication + +# Documentation: +# @raycast.description Let Me Google That For You +# @raycast.author Leo Fritsch +# @raycast.authorURL https://github.com/leofritsch + +# Get the content of the clipboard +clipboard=$(pbpaste) + +# change spaces to plus signs +url_encoded=$(echo "${clipboard}" | sed 's/ /+/g') + +# Construct the URL string with the encoded clipboard content +url="https://letmegooglethat.com/?q=${url_encoded}" + +# Copy the URL to the clipboard +echo "${url}" | pbcopy +echo -e "Copied to clipboard: ${url}" \ No newline at end of file diff --git a/commands/communication/mail/open-most-recent-email.applescript b/commands/communication/mail/open-most-recent-email.applescript new file mode 100755 index 000000000..d1fee8840 --- /dev/null +++ b/commands/communication/mail/open-most-recent-email.applescript @@ -0,0 +1,42 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Open Most Recent Email +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon ✉️ +# @raycast.packageName Mail + +# Documentation: +# @raycast.description Open the last received email in your inbox in Mail.app +# @raycast.author Ben Yoon +# @raycast.authorURL https://github.com/benyn + +tell application "Mail" + if not (first message of inbox exists) then + # Trigger a check for new email just in case. + check for new mail + log "No emails found in your inbox. Checking for new email." + return + end if + + # Get the first email from each account inbox and find the one that was received last. + # `first message of inbox` is inadequate since it refers to + # the first message of the first account inbox. + set lastReceivedMessage to missing value + repeat with accountInbox in mailboxes of inbox + if first message of accountInbox exists then + set firstMessage to first message of accountInbox + if lastReceivedMessage is missing value then + set lastReceivedMessage to firstMessage + else if (date received of lastReceivedMessage) < (date received of firstMessage) then + set lastReceivedMessage to firstMessage + end if + end if + end repeat + open lastReceivedMessage + # Show nothing at the end (prevent "missing value" from being shown). + log "" +end tell diff --git a/commands/communication/slack/slack-dev-mode.sh b/commands/communication/slack/slack-dev-mode.sh new file mode 100755 index 000000000..cd90d1cd5 --- /dev/null +++ b/commands/communication/slack/slack-dev-mode.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Launch Dev Mode +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon images/slack-logo.png +# @raycast.packageName Slack + +# Documentation: +# @raycast.description Open Slack with the Developer Menu enabled. ⌘⌥I to access the Developer Menu. If you find it's not working, quit Slack and run this command again. +# @raycast.author Cody Carrell +# @raycast.authorURL https://raycast.com/sourcecody + +SLACK_DEVELOPER_MENU=true open /Applications/Slack.app diff --git a/commands/communication/zoom/rename-profile.applescript b/commands/communication/zoom/rename-profile.applescript new file mode 100755 index 000000000..06d04f460 --- /dev/null +++ b/commands/communication/zoom/rename-profile.applescript @@ -0,0 +1,70 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Rename Profile +# @raycast.description Rename your profile in Zoom Meeting App (Mac Only) and cliclick. +# @raycast.mode silent +# @raycast.packageName Zoom +# @raycast.argument1 { "type": "text", "placeholder": "AFK for?" } + +# Optional parameters: +# @raycast.icon images/zoom-logo.png + +# Documentation: +# @raycast.author Leo Voon +# @raycast.authorURL https://github.com/leovoon + +on run argv + + tell application "System Events" + tell application process "zoom.us" + set frontmost to true + set windowIsOpen to false + set participantsWindow to missing value + set renameWindow to missing value + + repeat with w in windows + if name of w contains "Participants" then + set windowIsOpen to true + set participantsWindow to w + exit repeat + end if + end repeat + + delay 0.5 + set foundRename to false + -- Hover on name + do shell script "/opt/homebrew/bin/cliclick m:" & 1183 & "," & 124 + delay 0.5 + + -- Hover on More button + do shell script "/opt/homebrew/bin/cliclick m:" & 1400 & "," & 124 + delay 0.5 + + -- Click More button + do shell script "/opt/homebrew/bin/cliclick c:" & 1400 & "," & 124 + delay 0.5 + + -- Click Arrow Down + do shell script "/opt/homebrew/bin/cliclick kp:arrow-down kp:arrow-down kp:return" + delay 0.5 + + -- Target Rename and Hit Return Key + do shell script "/opt/homebrew/bin/cliclick kp:return" + + -- Edit Input, modify here for your needs + delay 0.5 + set newName to "YOUR NAME -" & ( item 1 of argv ) + delay 0.5 + do shell script "/opt/homebrew/bin/cliclick c:" & 888 & "," & 430 + delay 0.5 + key code 51 using {command down} + keystroke newName + delay 0.5 + do shell script "/opt/homebrew/bin/cliclick c:" & 880 & "," & 517 + + + end tell + end tell +end run \ No newline at end of file diff --git a/commands/conversions/clipboard-ocr.sh b/commands/conversions/clipboard-ocr.sh new file mode 100755 index 000000000..3d314879e --- /dev/null +++ b/commands/conversions/clipboard-ocr.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# Dependency: `brew install pngpaste tesseract` +# pngpaste required to grab image from clipboard +# tesseract required to OCR + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title OCR Image +# @raycast.mode fullOutput + +# Optional parameters: +# @raycast.icon 📋 +# @raycast.packageName Clipboard + +# Documentation: +# @raycast.description OCR Image from Clipboard +# @raycast.author xxchan +# @raycast.authorURL https://github.com/xxchan + +# credit to @laixintao https://www.kawabangga.com/posts/4876 + +pngpaste - | tesseract stdin stdout diff --git a/commands/conversions/google-docs-to-markdown.sh b/commands/conversions/google-docs-to-markdown.sh new file mode 100755 index 000000000..031653152 --- /dev/null +++ b/commands/conversions/google-docs-to-markdown.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# Dependency: requires the google-docs-to-markdown npm package: https://github.com/Mr0grog/google-docs-to-markdown + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Convert Google Docs Rich Text HTML to Markdown +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 📋 +# @raycast.packageName Conversions +# @raycast.description A script to take the HTML pastboard type filled by google docs and convert it to nicely formatted markdown + +# Documentation: +# @raycast.author Michael Bianco +# @raycast.authorURL https://github.com/iloveitaly + +set -euo pipefail + +swift - <'): + # Format headers with emojis and bold text + if line.startswith('# '): + line = f"⚫️ **{line[2:].strip()}**\n" + elif line.startswith('## '): + line = f"◾️ **{line[3:].strip()}**\n" + elif line.startswith('### '): + line = f"▪️ **{line[4:].strip()}**\n" + elif line.startswith('#### '): + line = f"🔹 **{line[5:].strip()}**\n" + elif line.startswith('##### '): + line = f"📌 **{line[6:].strip()}**\n" + elif line.startswith('###### '): + line = f"🔰 **{line[7:].strip()}**\n" + else: + # Format bold text + line = re.sub(r'(?')) and not next.startswith(('*', '-', '```', '|', '>')): + result.append('') + + return '\n'.join(result) + +if __name__ == "__main__": + try: + markdown_text = paste() + converted_text = convert_markdown(markdown_text) + copy(converted_text) + print("✅ Markdown converted and copied to clipboard") + except Exception as e: + print(f"❌ Error during conversion: {str(e)}") \ No newline at end of file diff --git a/commands/conversions/raw-html-to-rich-text-clipboard.sh b/commands/conversions/raw-html-to-rich-text-clipboard.sh new file mode 100755 index 000000000..080808fae --- /dev/null +++ b/commands/conversions/raw-html-to-rich-text-clipboard.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# Dependency: This script requires `pandoc`: https://pandoc.org/installing.html + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Convert Raw HTML to Rich Text on Clipboard +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 📋 +# @raycast.packageName Conversions +# @raycast.description This script will convert raw HTML on your clipboard to rich text. It requires pandoc to be installed on your system. + +# Documentation: +# @raycast.author Michael Bianco +# @raycast.authorURL https://github.com/iloveitaly + +pbpaste | pandoc -f html -t rtf -s | pbcopy -pboard general -Prefer rtf \ No newline at end of file diff --git a/commands/conversions/rich-text-clipboard-to-markdown.sh b/commands/conversions/rich-text-clipboard-to-markdown.sh index 7cde8493f..5bf7d5d1d 100755 --- a/commands/conversions/rich-text-clipboard-to-markdown.sh +++ b/commands/conversions/rich-text-clipboard-to-markdown.sh @@ -20,4 +20,4 @@ if ! command -v pandoc &> /dev/null; then fi export LC_CTYPE=UTF-8 -osascript -e 'the clipboard as "HTML"'| perl -ne 'print chr foreach unpack("C*",pack("H*",substr($_,11,-3)))' | pandoc --from=html --to=gfm | pbcopy +osascript -e 'the clipboard as «class RTF »' | perl -ne 'print chr foreach unpack("C*",pack("H*",substr($_,11,-3)))' | pandoc --from=rtf --to=gfm | pbcopy diff --git a/commands/conversions/space-fixer.sh b/commands/conversions/space-fixer.sh new file mode 100755 index 000000000..ef716c82a --- /dev/null +++ b/commands/conversions/space-fixer.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash + +# Add spaces between Chinese and English, number or symbols. +# +# Dependency: This script requires the `https://www.npmjs.com/package/pangu` package. +# Install it via `pip install pangu` or `pnpm install -g pangu` or `npm install -g pangu`. +# +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Space Fixer +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 📝 +# @raycast.packageName Conversions + +# Documentation: +# @raycast.description Add spaces between Chinese and English, number or symbols. +# @raycast.author RealTong +# @raycast.authorURL https://raycast.com/RealTong + +# pip, pnp paths +export PATH="$HOME/.pyenv/shims:$HOME/Library/pnpm:$PATH" +# nvm paths +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" +# npm paths +NPM_BIN_PATH=$(which npm) +if [[ -n "$NPM_BIN_PATH" ]]; then + NPM_DIR=$(dirname "$NPM_BIN_PATH") + export PATH="$NPM_DIR:$PATH" +fi + +pangu_path=$(which pangu) + +if [ -z "$pangu_path" ]; then + echo "Error: pangu not found in PATH" + exit 1 +fi + +input=$(pbpaste) + +if [ -z "$input" ]; then + echo "Input is empty" + exit 1 +fi + +# Call pangu : pangu -t "text" + +output=$($pangu_path -t "$input") +if [ -z "$output" ]; then + echo "Output is empty" + exit 1 +fi + +echo $output | pbcopy +echo "Fixed Chinese text has been copied to the clipboard" diff --git a/commands/culture/prayer-times.sh b/commands/culture/prayer-times.sh new file mode 100755 index 000000000..09655832e --- /dev/null +++ b/commands/culture/prayer-times.sh @@ -0,0 +1,62 @@ +#!/bin/bash + +# You may need to install coreutils via homebrew to make this script work (gdate function). +# +# Homebrew: https://brew.sh/ +# Coreutils: https://formulae.brew.sh/formula/coreutils + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Prayer Times +# @raycast.mode inline +# @raycast.packageName Culture + +# Optional parameters: +# @raycast.icon 🕌 + +# Documentation +# @raycast.author Emircan Erkul +# @raycast.authorURL https://emircanerkul.com +# @raycast.description Prayer Times grabbed from the aladhan.com. + +data=$(curl -s -L 'http://api.aladhan.com/v1/timingsByCity?city=derince&country=turkey&method=13') + +imsak=$(echo "$data" | jq --raw-output '.data.timings.Imsak') +gunes=$(echo $data | jq --raw-output '.data.timings.Sunrise') +ogle=$(echo "$data" | jq --raw-output '.data.timings.Dhuhr') +ikindi=$(echo "$data" | jq --raw-output '.data.timings.Asr') +aksam=$(echo "$data" | jq --raw-output '.data.timings.Maghrib') +yatsi=$(echo "$data" | jq --raw-output '.data.timings.Isha') + +NOW=$(gdate +%s) + +if [ $(($(gdate -d "$imsak" +%s) - $NOW)) -gt 0 ]; then + REMANINING=$(($(gdate -d "$imsak" +%s) - $NOW)) +elif [ $(($(gdate -d "$gunes" +%s) - $NOW)) -gt 0 ]; then + REMANINING=$(($(gdate -d "$gunes" +%s) - $NOW)) +elif [ $(($(gdate -d "$ogle" +%s) - $NOW)) -gt 0 ]; then + REMANINING=$(($(gdate -d "$ogle" +%s) - $NOW)) +elif [ $(($(gdate -d "$ikindi" +%s) - $NOW)) -gt 0 ]; then + REMANINING=$(($(gdate -d "$ikindi" +%s) - $NOW)) +elif [ $(($(gdate -d "$aksam" +%s) - $NOW)) -gt 0 ]; then + REMANINING=$(($(gdate -d "$aksam" +%s) - $NOW)) +else + REMANINING=$(($(gdate -d "$yatsi" +%s) - $NOW)) +fi + +if [ $REMANINING -gt 0 ]; then + if [ $(($REMANINING / 3600)) -gt 0 ]; then + REMANINING="$(($REMANINING / 3600))h $(($REMANINING / 60 % 60))m $(($REMANINING % 60))s" + elif [ $(($REMANINING / 60 % 60)) -gt 0 ]; then + REMANINING="$(($REMANINING / 60 % 60))m $(($REMANINING % 60))s" + else + REMANINING="$(($REMANINING % 60))s" + fi + REMANINING="☾ $REMANINING ☽" +else + REMANINING="" +fi + +output="$REMANINING $imsak ⚙︎ $gunes ⚙︎ $ogle ⚙︎ $ikindi ⚙︎ $aksam ⚙︎ $yatsi" + +echo $output diff --git a/commands/dashboard/firebase/firebase-authentication-get-token.template.sh b/commands/dashboard/firebase/firebase-authentication-get-token.template.sh new file mode 100755 index 000000000..51a505e68 --- /dev/null +++ b/commands/dashboard/firebase/firebase-authentication-get-token.template.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# Dependency: This script requires `jq` cli installed: https://stedolan.github.io/jq/ +# Install via homebrew: `brew install jq` + +# !!! This script is only template, you can use it to write own script to get your data from Firebase project !!! +# If you use Firebase email and password authentication service, this script generates an authentication token +# and copy it to your clipboard. + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Get Authorization Token +# @raycast.mode compact +# @raycast.packageName Firebase Authentication + +# Optional parameters: +# @raycast.icon images/firebase.png +# +# Documentation: +# @raycast.description Get token from Firebase Authentication service +# @raycast.author João Melo +# @raycast.authorURL https://github.com/joaopcm + + +# you can find API_KEY on "Project settings -> General" page in Firebase +WEB_API_KEY="" +# you need to create an user with email and password on "Authentication -> Users" page in Firebase +EMAIL="" +PASSWORD="" + +if ! jq --version download &> /dev/null; then + echo "download jq is required (https://stedolan.github.io/jq/)."; + exit 1; +fi + +if [ -z "$WEB_API_KEY" ] || [ -z "$EMAIL" ] || [ -z "$PASSWORD" ]; then + echo "Error: You must provide WEB_API_KEY, EMAIL, and PASSWORD variables" + exit 1 +fi + +# Generate the request body +json_data=$( jq -n -c \ + --arg email "$EMAIL" \ + --arg password "$PASSWORD" \ + --arg returnSecureToken true '$ARGS.named' ) + +# Get data from Firebase Authentication service and copy the token to clipboard +curl -X POST \ + "https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=$WEB_API_KEY" \ + --header 'Accept: */*' \ + --header 'User-Agent: Raycast' \ + --header 'Content-Type: application/json' \ + --data-raw "$json_data" | jq -r '.idToken' | pbcopy + +echo 'Authorization token copied to your clipboard!' diff --git a/commands/dashboard/open-ai-usage.sh b/commands/dashboard/open-ai-usage.sh new file mode 100755 index 000000000..fa3514992 --- /dev/null +++ b/commands/dashboard/open-ai-usage.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# Dependency: This script requires `jq` cli installed: https://stedolan.github.io/jq/ +# Install via homebrew: `brew install jq` +# I made this thanks to article by htnosm below +# https://htnosm.hatenablog.com/entry/2023/04/02/090000 + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Check Usage of OpenAI API +# @raycast.mode inline +# @raycast.packageName System + +# +# Optional parameters: +# @raycast.icon 💲 +# +# Documentation: +# @raycast.description Get total usage of OpenAI API +# @raycast.author nagauta +# @raycast.authorURL https://github.com/nagauta + +_ORGANIZATION="" +_OPENAI_APIKEY="" + +_START_DATE="$(date -u +'%Y-%m')-01" +_END_DATE="$(date -u -v+1m +'%Y-%m')-01" +echo +TOTAL_USAGE=$(curl -sSf "https://api.openai.com/dashboard/billing/usage?end_date=${_END_DATE}&start_date=${_START_DATE}" \ +-H "authorization: Bearer ${_OPENAI_APIKEY}" \ +| jq -r '"$" + (.total_usage | round / 100 | tostring)') + +echo "Total Usage: ${TOTAL_USAGE}, Period: ${_START_DATE}-${_END_DATE}" \ No newline at end of file diff --git a/commands/dashboard/tesla.template.sh b/commands/dashboard/tesla.template.sh new file mode 100755 index 000000000..7d9ddad25 --- /dev/null +++ b/commands/dashboard/tesla.template.sh @@ -0,0 +1,107 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Tesla +# @raycast.mode fullOutput + +# Optional parameters: +# @raycast.icon 🚘 + +# Documentation: +# @raycast.description Get the status of your Tesla vehicle +# @raycast.author Mortada Sarheed +# @raycast.authorURL https://github.com/mSarheed + +### SETUP ### +## Get your token ## +# On iOS you can use the app Auth app for Tesla link: https://apps.apple.com/us/app/auth-app-for-tesla/id1552058613 +# On Android you can use the app Tesla Tokens link: https://play.google.com/store/apps/details?id=net.leveugle.teslatokens&hl=en&gl=US +# Retrieve your refresh token and paste it into the varibale $refresh token + +# ONLY relevant if you have multiple Tesla Vehicles and on the same Tesla Account. +#If you have multiple Tesla Vehicles, please identify the ID of your vehicle. You can use this tool https://tesla-info.com/tesla-token.php to get the vehicle ID + +refresh_token='' + +url="https://tesla-info.com/api/control_v2.php?refresh=$refresh_token&request=get_data" + +data=$(curl -s "$url") + +# Name of vehicle +name=$(echo $data | grep -o '"display_name":"[^"]*"' | awk -F':' '{print $2}' | tr -d '"') + +# State +state=$(echo $data | grep -o '"state":[^,]*' | awk -F':' '{print $2}' | tr -d '"') +# Uppercase first letter +state="$(tr '[:lower:]' '[:upper:]' <<< ${state:0:1})${state:1}" +if [ "$state" == "Online" ]; then + state="\033[32m$state\033[0m ✅" +else + state="\033[31m$state\033[0m 💤" +fi + +# Vehicle locked or not +locked=$(echo $data | grep -o '"locked":[^,]*' | awk -F':' '{print $2}' | tr -d '"') +locked=$(echo $locked | tr -d ' ') + +if [ "$locked" = true ]; then + locked="\033[32mLocked\033[0m" +else + locked="\033[31mUnlocked\033[0m" +fi + +# Sentry mode +sentry=$(echo $data | grep -o '"dashcam_state":"[^"]*"' | awk -F':' '{print $2}' | tr -d '"') + +if [ "$sentry" == "Recording" ]; then + sentry="\033[31mRecording\033[0m" +else + sentry="\033[32mOff\033[0m" +fi + +battery_level=$(echo $data | grep -o '"battery_level":[^,]*' | awk -F':' '{print $2}' | tr -d '"') + +est_battery_range=$(echo $data | grep -o '"est_battery_range":[^,]*' | awk -F':' '{print $2}' | tr -d '"') +# Tesla shows the battery range estimate miles. If you need to show this in kilometeres instead, just uncomment the line below +est_battery_range=$(echo "$est_battery_range * 1.60934" | bc) +# Limit kilometers to no decimals +est_battery_range=$(printf "%.0f\n" "$est_battery_range") + +charging_state=$(echo $data | grep -o '"charging_state":"[^"]*"' | awk -F':' '{print $2}' | tr -d '"') + +minutes_to_full_charge=$(echo $data | grep -o '"minutes_to_full_charge":[^,]*' | awk -F':' '{print $2}' | tr -d '"') + +charge_limit=$(echo $data | grep -o '"charge_limit_soc":[^,]*' | awk -F':' '{print $2}' | tr -d '"') + +if [ "$name" == "" ]; then + echo -e "⚠️ \033[31mSORRY! - Something went wrong.\033[0m ⚠️" + echo -e '' + echo -e "\033[31mEither a bad token or the API service is down!\033[0m" +else + echo -e "🚘 Status of: \033[34m$name\033[0m 🚘" + echo '' + + echo -e "➡️ Vehicle State: $state" + echo '' + + echo -e "➡️ Doors: $locked 🔐" + echo '' + + echo -e "➡️ Sentry: $sentry 📸" + echo '' + + echo -e "➡️ Battery: \033[34m$battery_level%\033[0m 🔋" + echo '' + + echo -e "➡️ Est. range: \033[34m$est_battery_range km\033[0m 🛣️" + echo '' + + if [ "$charging_state" == "Charging" ]; then + echo -e "➡️ SoC Limit: \033[34m$charge_limit%\033[0m ⚡️" + echo '' + echo -e "➡️ Time left to charge limit: \033[34m$minutes_to_full_charge minutes\033[0m ⏰" + else + echo -e "➡️ Charging state: \033[31mNot charging\033[0m 🔌" + fi +fi \ No newline at end of file diff --git a/commands/dashboards/iperf-speed-test.template.sh b/commands/dashboards/iperf-speed-test.template.sh new file mode 100755 index 000000000..1e5f7d759 --- /dev/null +++ b/commands/dashboards/iperf-speed-test.template.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# Dependency: This script requires `iPerf` to be installed: https://iperf.fr/iperf-download.php +# Install via homebrew: `brew install iperf` + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Speed Test +# @raycast.mode inline +# @raycast.refreshTime 1h +# @raycast.packageName iPerf + +# Optional parameters: +# @raycast.icon 💾 + +# Documentation: +# @raycast.description Runs an iPerf Speed Test. +# @raycast.author Sam Wright +# @raycast.authorURL https://raycast.com/samywamy10 + +# Add the IP address of your iPerf server here +ip_address='192.168.86.44' + +if ! command -v iperf &> /dev/null; then + echo "iperf command is required ('brew install iperf' or https://iperf.fr/iperf-download.php)."; + exit 1; +fi + +{ iperf3 -c $ip_address | grep 'sender' | tail -n 1 | awk '{print $7 " " $8}' && date +'%-I:%M%p'; } | tr '\n' ' ' | awk '{$3="@ "$3; print $0}' + diff --git a/commands/developer-utils/aws/amazon-s3-download.sh b/commands/developer-utils/aws/amazon-s3-download.sh new file mode 100755 index 000000000..fcd54b887 --- /dev/null +++ b/commands/developer-utils/aws/amazon-s3-download.sh @@ -0,0 +1,135 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title S3 Download +# @raycast.mode fullOutput + +# Optional parameters: +# @raycast.icon images/amazon-s3.png +# @raycast.packageName AWS + +# Documentation: +# @raycast.description Download from Amazon S3 via URL +# @raycast.argument1 { "type": "text", "placeholder": "s3://bucket/key" } +# @raycast.author Chris Cook +# @raycast.authorURL https://github.com/zirkelc + +URL=$1 + +# Ensure AWS CLI is installed +if ! command -v aws &> /dev/null; then + echo "AWS CLI not found. Please install AWS CLI." + echo "Installation instructions: https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html" + exit 1 +fi + +# Try matching different S3 URL patterns +# https://dev.to/aws-builders/format-and-parse-amazon-s3-url-5e10 +if [[ $URL =~ ^https?://s3\.([a-z0-9-]+)\.amazonaws\.com/([^/]+)(/(.*))?$ ]]; then + # Regional hostname with path-style + # Example: https://s3.us-east-1.amazonaws.com/bucket/key + BUCKET="${BASH_REMATCH[2]}" + KEY="${BASH_REMATCH[4]}" +elif [[ $URL =~ ^https?://([^/]+)\.s3\.([a-z0-9-]+)\.amazonaws\.com(/(.*))?$ ]]; then + # Regional hostname with virtual-hosted-style + # Example: https://bucket.s3.us-east-1.amazonaws.com/key + BUCKET="${BASH_REMATCH[1]}" + KEY="${BASH_REMATCH[4]}" +elif [[ $URL =~ ^https?://s3\.amazonaws\.com/([^/]+)(/(.*))?$ ]]; then + # Legacy hostname with path-style + # Example: https://s3.amazonaws.com/bucket/key + BUCKET="${BASH_REMATCH[1]}" + KEY="${BASH_REMATCH[3]}" +elif [[ $URL =~ ^https?://([^/]+)\.s3\.amazonaws\.com(/(.*))?$ ]]; then + # Legacy hostname with virtual-hosted-style + # Example: https://bucket.s3.amazonaws.com/key + BUCKET="${BASH_REMATCH[1]}" + KEY="${BASH_REMATCH[3]}" +elif [[ $URL =~ ^s3://([^/]+)(/(.*))?$ ]]; then + # S3 URI + # Example: s3://bucket/key + BUCKET="${BASH_REMATCH[1]}" + KEY="${BASH_REMATCH[3]}" +else + echo "Invalid URL: $URL" + echo "URL must match recognized S3 patterns." + echo "Patterns:" + echo "- Global S3 URI: s3://bucket/key" + echo "- Regional Path-Style URL: https://s3.region.amazonaws.com/bucket/key" + echo "- Regional Virtual-Hosted-Style URL: https://bucket.s3.region.amazonaws.com/key" + echo "- Legacy Path-Style URL: https://s3.amazonaws.com/bucket/key" + echo "- Legacy Virtual-Hosted-Style URL: https://bucket.s3.amazonaws.com/key" + exit 1 +fi + +# Trim leading slash from KEY if present +KEY="${KEY#/}" + +# Check for empty bucket +if [[ -z "$BUCKET" ]]; then + echo "Error extracting bucket from URL: $URL" + exit 1 +fi + +DOWNLOAD_FOLDER="$HOME/Downloads" + +# Ensure download folder exists +if [ ! -d "$DOWNLOAD_FOLDER" ]; then + echo "Download folder does not exist" + exit 1 +fi + +# Print bucket and key +echo "Bucket: $BUCKET" +echo "Key: ${KEY:-}" +echo "Download: $DOWNLOAD_FOLDER" +echo "" + +if [ -z "$KEY" ]; then + # No key provided, download entire bucket + DOWNLOAD_PATH="$DOWNLOAD_FOLDER/$BUCKET" + echo "Downloading entire bucket s3://$BUCKET to $DOWNLOAD_PATH..." + RECURSIVE="--recursive" +else + # Check if the key ends with a slash, indicating it's likely a directory + if [[ "$KEY" == */ ]]; then + DOWNLOAD_PATH="$DOWNLOAD_FOLDER/$BUCKET/$KEY" + echo "Downloading directory s3://$BUCKET/$KEY to $DOWNLOAD_PATH..." + RECURSIVE="--recursive" + else + # Check if the object exists as a file + if aws s3api head-object --bucket "$BUCKET" --key "$KEY" &>/dev/null; then + # It's a file + FILENAME=$(basename "$KEY") + DOWNLOAD_PATH="$DOWNLOAD_FOLDER/$FILENAME" + echo "Downloading file s3://$BUCKET/$KEY to $DOWNLOAD_PATH..." + RECURSIVE="" + else + # It might be a directory without a trailing slash or it doesn't exist + # Try to list objects with this prefix + if aws s3api list-objects-v2 --bucket "$BUCKET" --prefix "$KEY/" --max-items 1 --query 'Contents[0].Key' --output text &>/dev/null; then + # It's a directory + DOWNLOAD_PATH="$DOWNLOAD_FOLDER/$BUCKET/$KEY" + echo "Downloading directory s3://$BUCKET/$KEY to $DOWNLOAD_PATH..." + RECURSIVE="--recursive" + else + echo "Error: No file or directory found at s3://$BUCKET/$KEY" + exit 1 + fi + fi + fi +fi + +# Perform the download +if aws s3 cp "s3://$BUCKET/${KEY:+$KEY}" "$DOWNLOAD_PATH" $RECURSIVE; then + echo "Downloaded successfully." + if [[ -n "$RECURSIVE" ]]; then + open "$DOWNLOAD_FOLDER/$BUCKET" + else + open "$DOWNLOAD_FOLDER" + fi +else + echo "Download failed. Error code: $?" + exit 1 +fi diff --git a/commands/developer-utils/aws/images/amazon-s3.png b/commands/developer-utils/aws/images/amazon-s3.png new file mode 100644 index 000000000..1dbadf37a Binary files /dev/null and b/commands/developer-utils/aws/images/amazon-s3.png differ diff --git a/commands/developer-utils/cheat.sh b/commands/developer-utils/cheat.sh index 2f3fb8f76..6a26292a2 100755 --- a/commands/developer-utils/cheat.sh +++ b/commands/developer-utils/cheat.sh @@ -19,10 +19,14 @@ language=$1 question=${2// /+} # Available styles: https://cht.sh/:styles-demo -style="native" +style="paraiso-dark" +# get a random answer each time +randnum=$((1 + (RANDOM%4))) + +# https://github.com/chubin/cheat.sh#usage if [ -z "$question" ]; then curl -s cht.sh/$language?style=$style else - curl -s cht.sh/$language/$question?style=$style + curl -s cht.sh/$language/$question/$randnum?style=$style fi diff --git a/commands/developer-utils/clear_xcode.sh b/commands/developer-utils/clear_xcode.sh index 8fcb47678..49083f353 100755 --- a/commands/developer-utils/clear_xcode.sh +++ b/commands/developer-utils/clear_xcode.sh @@ -21,6 +21,6 @@ xcrun simctl delete unavailable rm -rf ~/Library/Developer/Xcode/Archives rm -rf ~/Library/Developer/Xcode/DerivedData -rm -rf ~/Library/Developer/Xcode/iOS Device Logs +rm -rf ~/Library/Developer/Xcode/iOS\ Device\ Logs/ echo "Junk removed!" diff --git a/commands/developer-utils/create-image-from-code.sh b/commands/developer-utils/create-image-from-code.sh index 8b7e9387a..2a3aa7792 100755 --- a/commands/developer-utils/create-image-from-code.sh +++ b/commands/developer-utils/create-image-from-code.sh @@ -7,7 +7,7 @@ # Optional parameters: # @raycast.icon ./images/ray-so.png -# @raycast.argument1 { "type": "text", "placeholder": "Title", "optional": true } +# @raycast.argument1 { "type": "text", "placeholder": "Title", "optional": true, "percentEncoded": true } # Documentation: # @raycast.description Create beautiful images of your code with https://ray.so @@ -29,16 +29,10 @@ PADDING="64" LANGUAGE="auto" # Main: - -if [[ -z "$1" ]] -then - TITLE="Untitled-1" -else - TITLE=$(php -r "echo urlencode(\"$1\");") -fi +TITLE=${1:-"Untitled"} CODE=$(pbpaste | base64) # Urlencode any + symbols in the base64 encoded string CODE=${CODE//+/%2B} -open "https://ray.so/?colors=$COLORS&background=$BACKGROUND&darkMode=$DARK_MODE&padding=$PADDING&title=$TITLE&code=$CODE&language=$LANGUAGE" +open "https://ray.so?#title=$TITLE&code=$CODE&colors=$COLORS&background=$BACKGROUND&darkMode=$DARK_MODE&padding=$PADDING&title=$TITLE&code=$CODE&language=$LANGUAGE" diff --git a/commands/developer-utils/delete-current-line.applescript b/commands/developer-utils/delete-current-line.applescript new file mode 100755 index 000000000..b80fce527 --- /dev/null +++ b/commands/developer-utils/delete-current-line.applescript @@ -0,0 +1,20 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Delete Current Line +# @raycast.mode silent +# @raycast.packageName Developer Utilities + +# Optional parameters: +# @raycast.icon ⌨️ + +# Documentation: +# @raycast.description This script deletes the line at cursor position. +# @raycast.author Annie Ma +# @raycast.authorURL http://www.anniema.co/ + +tell application "System Events" + keystroke "k" using control down + keystroke (ASCII character 8) using command down +end tell diff --git a/commands/developer-utils/get-ttfb.sh b/commands/developer-utils/get-ttfb.sh index d6157f719..802c09271 100755 --- a/commands/developer-utils/get-ttfb.sh +++ b/commands/developer-utils/get-ttfb.sh @@ -13,13 +13,22 @@ # @raycast.description Get the TTFB (Time to First Byte) of a website # @raycast.author Angelos Michalopoulos # @raycast.authorURL https://github.com/miagg -# @raycast.argument1 { "type": "text", "placeholder": "domain" } +# @raycast.argument1 { "type": "text", "placeholder": "URL" } if [ -z "$1" ]; then echo "Please provide a domain" exit 1 fi +# If no url scheme is provided, add https:// +if [[ "$1" == http* ]]; then + url="$1" +else + url="https://$1" +fi + +echo "Pinging: $url..." + curl -o /dev/null \ -H 'Cache-Control: no-cache' \ -s \ @@ -27,4 +36,4 @@ curl -o /dev/null \ --fail \ --silent \ --show-error \ - "$1" + "$url" diff --git a/commands/developer-utils/github/github-repository-stars_all_repos_template.rb b/commands/developer-utils/github/github-repository-stars_all_repos_template.rb new file mode 100755 index 000000000..6e327ccef --- /dev/null +++ b/commands/developer-utils/github/github-repository-stars_all_repos_template.rb @@ -0,0 +1,93 @@ +#!/usr/bin/env ruby + +# How to use this script? +# It's a template which needs further setup. Duplicate the file, +# remove `.template.` from the filename, set an API token. + +# Parameters + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Repository Statistics +# @raycast.mode inline +# @raycast.refreshTime 1h + +# Optional parameters: +# @raycast.packageName GitHub +# @raycast.icon ⭐️ + +# Documentation: +# @raycast.description Show statistics of your GitHub repositories. +# @raycast.author Valdir Junior +# @raycast.authorURL https://github.com/valdirjunior011 + +# Configuration + +# Insert a token with access to your repository (https://github.com/settings/tokens) +$api_token = "" + +# Owner of the repositories +$owner = "" + +# Main program + +require "json" +require "net/http" +require "uri" + +if $api_token.nil? + puts "API token not provided" + exit(1) +end + +uri = URI("https://api.github.com/users/#{$owner}/repos") +req = Net::HTTP::Get.new(uri) +req["Authorization"] = "token #{$api_token}" + +req_options = { + use_ssl: uri.scheme == "https", +} + +res = Net::HTTP.start(uri.hostname, uri.port, req_options) { |http| + http.request(req) +} + +if res.code == "200" + repositories = JSON.parse(res.body) + + total_stars = 0 + total_forks = 0 + total_subscribers = 0 + + repositories.each do |repo| + repo_name = repo["full_name"] + url = repo["html_url"] + + repo_uri = URI("https://api.github.com/repos/#{repo_name}") + repo_req = Net::HTTP::Get.new(repo_uri) + repo_req["Authorization"] = "token #{$api_token}" + + repo_res = Net::HTTP.start(repo_uri.hostname, repo_uri.port, req_options) { |http| + http.request(repo_req) + } + + if repo_res.code == "200" + result = JSON.parse(repo_res.body) + + stars = result["stargazers_count"] + forks = result["forks_count"] + subscribers = result["subscribers_count"] + + total_stars += stars + total_forks += forks + total_subscribers += subscribers + + else + puts "Failed loading statistics for #{repo_name}" + end + end + + puts "Owner: #{$owner} Total Stars: #{total_stars}, Forks: #{total_forks}, Subs: #{total_subscribers}" +else + puts "Failed loading repositories for #{$owner}" +end \ No newline at end of file diff --git a/commands/developer-utils/is-it-up.sh b/commands/developer-utils/is-it-up.sh index 2e754b952..dde2acae3 100755 --- a/commands/developer-utils/is-it-up.sh +++ b/commands/developer-utils/is-it-up.sh @@ -10,7 +10,7 @@ # @raycast.packageName Developer Utils # # Optional parameters: -# @raycast.icon 🩺 +# @raycast.icon 🌐 # @raycast.argument1 { "type": "text", "placeholder": "Website" } # # Documentation: @@ -23,7 +23,19 @@ if ! command -v jq &> /dev/null; then exit 1; fi -status_code=$(curl --silent "https://isitup.org/$1.json" | jq '.status_code') +# Get the url from the user input +url=$1 + +# Remove any protocol prefix (http:// or https://) +url=${url#*://} + +# Remove any www. prefix +url=${url#www.} + +# Remove any trailing slash +url=${url%/} + +status_code=$(curl --silent "https://isitup.org/${url}.json" | jq '.status_code') # Sample output: # @@ -37,16 +49,16 @@ status_code=$(curl --silent "https://isitup.org/$1.json" | jq '.status_code') # } case $status_code in - 1) echo "Up: $1" + 1) echo "$1 is up!" exit 0 ;; - 2) echo "Down: $1" + 2) echo "$1 is down." exit 0 ;; 3) echo "Invalid domain: $1" exit 1 ;; - *) echo "Unknown status code ($status_code): $1" + *) echo "Error: unknown status code ($status_code): $1" exit 1 ;; esac diff --git a/commands/developer-utils/join-lines.sh b/commands/developer-utils/join-lines.sh new file mode 100755 index 000000000..93ce8b6e8 --- /dev/null +++ b/commands/developer-utils/join-lines.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Join Clipboard Lines by Delimiter +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 🛠 +# @raycast.argument1 { "type": "text", "placeholder": "delimiter", "optional": true } +# @raycast.packageName Developer Utilities + +# Documentation: +# @raycast.description Join multiple lines of text from the clipboard into a single line, separated by a specified delimiter. +# @raycast.author decaylala +# @raycast.authorURL https://github.com/decaylala + +pbpaste | awk -v d="$1" 'BEGIN {ORS=d} {print}' | awk -v d="$1" 'sub(d "$", "")' | pbcopy +echo 'Copied to clipboard' diff --git a/commands/developer-utils/toggle_ssh_proxy_tunnel.template.sh b/commands/developer-utils/toggle_ssh_proxy_tunnel.template.sh new file mode 100755 index 000000000..80f8e054d --- /dev/null +++ b/commands/developer-utils/toggle_ssh_proxy_tunnel.template.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +# Raycast Script Command +# +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Toggle SSH SOCKS Tunnel +# @raycast.mode silent +# +# Optional parameters: +# @raycast.icon 🔒 +# @raycast.packageName Developer Utilities +# +# Documentation: +# @raycast.description Toggles an SSH SOCKS proxy tunnel on and off. +# @raycast.author Andrii Barabash +# @raycast.authorURL https://github.com/AndriiBarabash + +# --- Configuration --- +# Replace these with your own values +SSH_USER="" +SSH_HOST="" +SSH_PORT="" +INTERFACE="" # e.g., "Wi-Fi" or "Ethernet" +PROXY_PORT="" # e.g., 1080 +# --- End Configuration --- + +if pgrep -f "ssh -D $PROXY_PORT" >/dev/null; then + echo "SSH SOCKS tunnel is running. Turning it off..." + + # Kill the SSH process + pkill -f "ssh -D $PROXY_PORT" + + # Disable the SOCKS proxy + networksetup -setsocksfirewallproxystate "$INTERFACE" off + + echo "Tunnel and proxy disabled." +else + echo "SSH SOCKS tunnel is not running. Turning it on..." + + # Start the SSH tunnel + ssh -D "$PROXY_PORT" -f -C -q -N -p "$SSH_PORT" "$SSH_USER"@"$SSH_HOST" + + # Enable the SOCKS proxy + networksetup -setsocksfirewallproxy "$INTERFACE" 127.0.0.1 "$PROXY_PORT" + networksetup -setsocksfirewallproxystate "$INTERFACE" on + + echo "Tunnel and proxy enabled." +fi diff --git a/commands/developer-utils/view-scripting-dictionary.sh b/commands/developer-utils/view-scripting-dictionary.sh new file mode 100755 index 000000000..aba167141 --- /dev/null +++ b/commands/developer-utils/view-scripting-dictionary.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title View Scripting Dictionary +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 📖 +# @raycast.argument1 { "type": "text", "placeholder": "Application", "optional": true } +# @raycast.packageName Developer Utils + +# Documentation: +# @raycast.description Opens the Scripting Dictionary for the given application, defaulting to the active application if none is provided. +# @raycast.author Stephen Kaplan +# @raycast.authorURL https://github.com/SKaplanOfficial + +if [ -z "$1" ]; then + open -a "Script Editor" "$(osascript -e "tell application \"System Events\" to get POSIX path of application file of (first application process whose frontmost is true)")" + exit +fi +open -a "Script Editor" "$(osascript -e "POSIX path of (path to application \"$1\")")" + diff --git a/commands/developer-utils/vscode/open-folder-in-vscode.applescript b/commands/developer-utils/vscode/open-folder-in-vscode.applescript index cbf07e5ba..e44687e4b 100755 --- a/commands/developer-utils/vscode/open-folder-in-vscode.applescript +++ b/commands/developer-utils/vscode/open-folder-in-vscode.applescript @@ -10,7 +10,7 @@ # @raycast.icon images/vscode.png # # Documentation: -# @raycast.description Opens current topmost directory in VSCode +# @raycast.description Opens current topmost directory in VS Code # @raycast.author chohner # @raycast.authorURL https://github.com/chohner diff --git a/commands/developer-utils/vscode/open-project-in-vscode.sh b/commands/developer-utils/vscode/open-project-in-vscode.sh index 71955e9e6..3b686fecc 100755 --- a/commands/developer-utils/vscode/open-project-in-vscode.sh +++ b/commands/developer-utils/vscode/open-project-in-vscode.sh @@ -11,7 +11,7 @@ # @raycast.argument1 { "type": "text", "placeholder": "Directory Name", "optional": false } # Documentation -# @raycast.description Finds path to the given directory which must be a vs code or git project and opens it with VS Code +# @raycast.description Finds path to the given directory which must be a VS Code or Git project and opens it with VS Code # @raycast.author Maksim Zemlyanikin # @raycast.authorURL https://github.com/Maksimka101 diff --git a/commands/extensions.json b/commands/extensions.json index de9e98495..ded9889a8 100644 --- a/commands/extensions.json +++ b/commands/extensions.json @@ -18,7 +18,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-02-04T18:14:11+00:00", + "createdAt" : "2021-02-04T18:14:11Z", "currentDirectoryPath" : null, "description" : "Increase brightness of Elgato Key Light by 5%.", "filename" : "elgato-key-light-increase-brightness.template.rb", @@ -27,7 +27,7 @@ "dark" : null, "light" : "images\/elgato.png" }, - "identifier" : "1a5ced3b0eed17feb59e06d3b82a3235", + "identifier" : "0efbf0fc0112b8007548e0036851da5a", "isTemplate" : true, "language" : "ruby", "mode" : "silent", @@ -37,7 +37,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Increase Brightness", - "updatedAt" : "2021-02-04T18:14:11+00:00" + "updatedAt" : "2021-02-04T18:14:11Z" }, { "authors" : [ @@ -46,7 +46,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-02-04T18:14:11+00:00", + "createdAt" : "2021-02-04T18:14:11Z", "currentDirectoryPath" : null, "description" : "Turn on Elgato Key Light.", "filename" : "elgato-key-light-turn-on.template.rb", @@ -55,7 +55,7 @@ "dark" : null, "light" : "images\/elgato.png" }, - "identifier" : "7a42a1bde2de4c6d198d04a2f527ea4a", + "identifier" : "6bded1a4b3b945dff30a380936a1741f", "isTemplate" : true, "language" : "ruby", "mode" : "silent", @@ -65,7 +65,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Turn On", - "updatedAt" : "2021-02-04T18:14:11+00:00" + "updatedAt" : "2021-02-04T18:14:11Z" }, { "authors" : [ @@ -74,7 +74,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-02-04T18:14:11+00:00", + "createdAt" : "2021-02-04T18:14:11Z", "currentDirectoryPath" : null, "description" : "Turn off Elgato Key Light.", "filename" : "elgato-key-light-turn-off.template.rb", @@ -83,7 +83,7 @@ "dark" : null, "light" : "images\/elgato.png" }, - "identifier" : "ae1a70aec03ee5e74c3b504ab0bd5873", + "identifier" : "d5b4e7d38d50f78801983fed1ab9c710", "isTemplate" : true, "language" : "ruby", "mode" : "silent", @@ -93,7 +93,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Turn Off", - "updatedAt" : "2021-02-04T18:14:11+00:00" + "updatedAt" : "2021-02-04T18:14:11Z" }, { "authors" : [ @@ -102,7 +102,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-02-04T18:14:11+00:00", + "createdAt" : "2021-02-04T18:14:11Z", "currentDirectoryPath" : null, "description" : "Decrease brightness of Elgato Key Light by 5%.", "filename" : "elgato-key-light-decrease-brightness.template.rb", @@ -111,7 +111,7 @@ "dark" : null, "light" : "images\/elgato.png" }, - "identifier" : "e507bdea0b66b92dfeb1753d50336677", + "identifier" : "6b6890b0f6e356b44fd73d3d7e30c902", "isTemplate" : true, "language" : "ruby", "mode" : "silent", @@ -121,7 +121,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Decrease Brightness", - "updatedAt" : "2021-02-04T21:22:04+00:00" + "updatedAt" : "2021-02-04T21:22:04Z" } ] }, @@ -249,6 +249,34 @@ "name" : "Conversions", "path" : "conversions", "scriptCommands" : [ + { + "authors" : [ + { + "name" : "RealTong", + "url" : "https:\/\/raycast.com\/RealTong" + } + ], + "createdAt" : "2024-03-21T12:03:11+08:00", + "currentDirectoryPath" : null, + "description" : "Add spaces between Chinese and English, number or symbols.", + "filename" : "space-fixer.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "📝" + }, + "identifier" : "01ce6b040aecd6bcd05519b1880154c6", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Conversions", + "path" : "conversions\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Space Fixer", + "updatedAt" : "2024-03-22T18:09:49+08:00" + }, { "authors" : [ { @@ -303,7 +331,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Rich Text to Markdown", - "updatedAt" : "2021-07-23T17:21:58-04:00" + "updatedAt" : "2024-08-28T20:37:53+08:00" }, { "authors" : null, @@ -354,7 +382,63 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "What Day Is...", - "updatedAt" : "2021-02-21T22:11:45+00:00" + "updatedAt" : "2021-02-21T22:11:45Z" + }, + { + "authors" : [ + { + "name" : "Michael Bianco", + "url" : "https:\/\/github.com\/iloveitaly" + } + ], + "createdAt" : "2023-08-16T08:02:16-06:00", + "currentDirectoryPath" : null, + "description" : "A script to take the HTML pastboard type filled by google docs and convert it to nicely formatted markdown", + "filename" : "google-docs-to-markdown.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "📋" + }, + "identifier" : "2b7d768fc7ffd6b6990173914031c150", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Conversions", + "path" : "conversions\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Convert Google Docs Rich Text HTML to Markdown", + "updatedAt" : "2023-08-16T08:02:16-06:00" + }, + { + "authors" : [ + { + "name" : "atzzCokeK", + "url" : "https:\/\/github.com\/atzzCokeK" + } + ], + "createdAt" : "2023-10-10T22:38:42+09:00", + "currentDirectoryPath" : null, + "description" : "Quickly and simply generate a markdown formatted link with your specified URL and title.", + "filename" : "inputs-to-markdown-link.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "🔗" + }, + "identifier" : "f7dee34add22537a9662c9fc31f36827", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Conversions", + "path" : "conversions\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Simple Markdown Link Generator", + "updatedAt" : "2023-10-17T22:58:55+09:00" }, { "authors" : [ @@ -382,7 +466,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Trim Newlines and Tabs", - "updatedAt" : "2021-08-23T10:12:46+00:00" + "updatedAt" : "2021-08-23T10:12:46Z" }, { "authors" : [ @@ -496,6 +580,34 @@ "title" : "QR Code Generation", "updatedAt" : "2021-11-04T03:59:40+08:00" }, + { + "authors" : [ + { + "name" : "Maxim Borzov", + "url" : "https:\/\/github.com\/borzov" + } + ], + "createdAt" : "2024-05-21T11:23:12+03:00", + "currentDirectoryPath" : null, + "description" : "Convert Markdown formatting to Telegram format, excluding processing inside code blocks or quotes", + "filename" : "markdown-to-telegram.py", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🔄" + }, + "identifier" : "14c19002feb2ab3f839073ec5eda7c30", + "isTemplate" : false, + "language" : "python", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Conversions", + "path" : "conversions\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Convert Markdown to Telegram Format", + "updatedAt" : "2024-05-21T11:23:12+03:00" + }, { "authors" : [ { @@ -522,7 +634,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Markdown Table", - "updatedAt" : "2021-11-03T20:04:02+00:00" + "updatedAt" : "2021-11-03T20:04:02Z" }, { "authors" : [ @@ -550,7 +662,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Paste and Match Style", - "updatedAt" : "2022-03-31T14:05:46+00:00" + "updatedAt" : "2022-03-31T14:05:46Z" }, { "authors" : [ @@ -606,7 +718,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Unix Time Reader From Clipboard", - "updatedAt" : "2021-03-30T15:34:59+00:00" + "updatedAt" : "2021-03-30T15:34:59Z" }, { "authors" : [ @@ -748,6 +860,34 @@ "title" : "Vaporwave Text", "updatedAt" : "2021-04-12T10:16:23-07:00" }, + { + "authors" : [ + { + "name" : "xxchan", + "url" : "https:\/\/github.com\/xxchan" + } + ], + "createdAt" : "2023-01-31T01:00:23+01:00", + "currentDirectoryPath" : null, + "description" : "OCR Image from Clipboard", + "filename" : "clipboard-ocr.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "📋" + }, + "identifier" : "1fa48d4acba0f0992f2e9b9bf586703d", + "isTemplate" : false, + "language" : "bash", + "mode" : "fullOutput", + "needsConfirmation" : null, + "packageName" : "Clipboard", + "path" : "conversions\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "OCR Image", + "updatedAt" : "2023-01-31T01:00:23+01:00" + }, { "authors" : [ { @@ -803,6 +943,34 @@ "schemaVersion" : 1, "title" : "Convert Epoch to Human-Readable Date", "updatedAt" : "2021-03-30T17:29:45+08:00" + }, + { + "authors" : [ + { + "name" : "Michael Bianco", + "url" : "https:\/\/github.com\/iloveitaly" + } + ], + "createdAt" : "2023-07-03T15:03:20-06:00", + "currentDirectoryPath" : null, + "description" : "This script will convert raw HTML on your clipboard to rich text. It requires pandoc to be installed on your system.", + "filename" : "raw-html-to-rich-text-clipboard.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "📋" + }, + "identifier" : "8acc19746e49d7fc76584c8ea631b545", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Conversions", + "path" : "conversions\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Convert Raw HTML to Rich Text on Clipboard", + "updatedAt" : "2023-07-03T21:06:13Z" } ], "subGroups" : [ @@ -986,6 +1154,34 @@ "name" : "Browsing", "path" : "browsing", "scriptCommands" : [ + { + "authors" : [ + { + "name" : "JD Solanki", + "url" : "https:\/\/github.com\/jd-solanki" + } + ], + "createdAt" : "2021-09-24T08:28:06+01:00", + "currentDirectoryPath" : null, + "description" : "Open current website in guest profile\/mode", + "filename" : "open-in-guest-profile.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🤖" + }, + "identifier" : "7e65f41bd6407a5464ce4b1289b0abad", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Browser", + "path" : "browsing\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Open in guest profile", + "updatedAt" : "2022-10-31T11:55:21Z" + }, { "authors" : [ { @@ -1049,7 +1245,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2020-11-09T17:16:09+00:00", + "createdAt" : "2020-11-09T17:16:09Z", "currentDirectoryPath" : null, "description" : "Shorten the URL in your Clipboard with Tiny URL.", "filename" : "shorten-url.sh", @@ -1058,7 +1254,7 @@ "dark" : null, "light" : "🔗" }, - "identifier" : "3ace97396b27d3677bdd47488bb7c31e", + "identifier" : "87e7fd07ae15344a2c3bbdfa528403ab", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -1098,6 +1294,34 @@ "title" : "Go to Outline", "updatedAt" : "2021-02-19T19:09:37-03:00" }, + { + "authors" : [ + { + "name" : "Yasutaka Nishii", + "url" : "https:\/\/github.com\/ystknsh" + } + ], + "createdAt" : "2024-08-29T16:26:42+09:00", + "currentDirectoryPath" : null, + "description" : "Open multiple websites on Safari using list of URLs", + "filename" : "open-multiple-websites-on-safari.template.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "📚" + }, + "identifier" : "be278c484ca03c82e901a345ff6e6b72", + "isTemplate" : true, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Browsing", + "path" : "browsing\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Open Multiple Websites on Safari", + "updatedAt" : "2024-09-03T11:24:41Z" + }, { "authors" : [ { @@ -1294,6 +1518,62 @@ "title" : "Shorten URL with Emojis", "updatedAt" : "2022-06-20T10:20:50+10:00" }, + { + "authors" : [ + { + "name" : "Kailash Yellareddy", + "url" : "https:\/\/github.com\/kyellareddy" + } + ], + "createdAt" : "2023-07-25T21:56:55+05:30", + "currentDirectoryPath" : null, + "description" : "Opens current Youtube Shorts video in the normal video player by replacing \"\/shorts\/\" with \"\/v\/\" in the url.", + "filename" : "Youtube Shorts in video player.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "📹" + }, + "identifier" : "9bdd39853c92b430aa2dcff8f1dfb7ec", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Youtube Shorts In Video Player", + "path" : "browsing\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Youtube Shorts in video player", + "updatedAt" : "2023-07-25T16:29:37Z" + }, + { + "authors" : [ + { + "name" : "Tahsin Yazkan", + "url" : "https:\/\/github.com\/thsnyzkn" + } + ], + "createdAt" : "2023-01-31T03:02:13+03:00", + "currentDirectoryPath" : null, + "description" : "Open chrome with web security option disabled.", + "filename" : "open-chrome-without-cors.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/chrome-icon.png" + }, + "identifier" : "a6e07f1845ea9de231cf3c943d0aa522", + "isTemplate" : false, + "language" : "bash", + "mode" : "compact", + "needsConfirmation" : false, + "packageName" : "Chrome", + "path" : "browsing\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Open without CORS", + "updatedAt" : "2023-01-31T03:02:13+03:00" + }, { "authors" : [ { @@ -1320,7 +1600,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Copy Current Page URL", - "updatedAt" : "2022-02-22T10:00:48+00:00" + "updatedAt" : "2022-02-22T10:00:48Z" }, { "authors" : [ @@ -1349,6 +1629,34 @@ "schemaVersion" : 1, "title" : "Copy Current Page URL", "updatedAt" : "2021-05-10T00:36:12+02:00" + }, + { + "authors" : [ + { + "name" : "cSharp", + "url" : "https:\/\/github.com\/noidwasavailable" + } + ], + "createdAt" : "2023-08-10T17:56:44+09:00", + "currentDirectoryPath" : null, + "description" : "Convert Twitter link to Nitter", + "filename" : "convert-twitter-to-nitter.js", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🐔" + }, + "identifier" : "42048eefcf9facbebf2aeef19f24c2e8", + "isTemplate" : false, + "language" : "node", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Convert Twitter To Nitter", + "path" : "browsing\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Convert Twitter to Nitter", + "updatedAt" : "2023-08-10T17:56:44+09:00" } ] }, @@ -1461,7 +1769,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Open Finder", - "updatedAt" : "2021-05-31T10:08:39+00:00" + "updatedAt" : "2021-05-31T10:08:39Z" }, { "authors" : [ @@ -1489,7 +1797,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search in Devdocs", - "updatedAt" : "2021-01-05T12:30:16+00:00" + "updatedAt" : "2021-01-05T12:30:16Z" }, { "authors" : null, @@ -1512,7 +1820,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Open Applications", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : null, @@ -1535,7 +1843,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Open URL From Clipboard", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : [ @@ -1675,7 +1983,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search in Dash", - "updatedAt" : "2021-01-05T12:30:16+00:00" + "updatedAt" : "2021-01-05T12:30:16Z" }, { "authors" : [ @@ -1749,7 +2057,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Open Last Downloaded", - "updatedAt" : "2022-03-30T20:25:55+00:00" + "updatedAt" : "2022-03-30T20:25:55Z" }, { "authors" : null, @@ -1823,7 +2131,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Open Clipboard URL on Desktop", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : null, @@ -1870,35 +2178,34 @@ "schemaVersion" : 1, "title" : "Open Downloads", "updatedAt" : "2021-04-28T11:35:25-04:00" - } - ] - }, - { - "name" : "Google Maps", - "path" : "google-maps", - "scriptCommands" : [ + }, { - "authors" : null, - "createdAt" : "2021-02-19T09:10:21+00:00", + "authors" : [ + { + "name" : "Chris Bailey", + "url" : "https:\/\/raycast.com\/that70schris" + } + ], + "createdAt" : "2024-08-13T00:40:38-04:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "google-maps.sh", - "hasArguments" : true, + "description" : "Easily hide your foremost application", + "filename" : "hide-application.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/google-map.png" + "light" : "🫥" }, - "identifier" : "43ab852f28e3b03e0e66fe5309f259b1", + "identifier" : "47f61692f25fabb33a1748ded306439c", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Google Maps", - "path" : "google-maps\/", + "packageName" : "Navigation", + "path" : "navigation\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Search Google Maps", - "updatedAt" : "2021-05-10T08:44:51+02:00" + "title" : "Hide Current Application", + "updatedAt" : "2024-08-13T00:40:38-04:00" } ] }, @@ -1939,7 +2246,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Power Off", - "updatedAt" : "2022-02-09T10:16:51+00:00" + "updatedAt" : "2022-02-09T10:16:51Z" }, { "authors" : [ @@ -1967,7 +2274,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Configure", - "updatedAt" : "2022-02-09T10:16:51+00:00" + "updatedAt" : "2022-02-09T10:16:51Z" }, { "authors" : [ @@ -1995,7 +2302,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Volume Up", - "updatedAt" : "2022-02-09T10:16:51+00:00" + "updatedAt" : "2022-02-09T10:16:51Z" }, { "authors" : [ @@ -2023,7 +2330,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Volume Down", - "updatedAt" : "2022-02-09T10:16:51+00:00" + "updatedAt" : "2022-02-09T10:16:51Z" }, { "authors" : [ @@ -2051,7 +2358,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Power On", - "updatedAt" : "2022-02-09T10:16:51+00:00" + "updatedAt" : "2022-02-09T10:16:51Z" } ] }, @@ -2092,7 +2399,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Switch to DP", - "updatedAt" : "2022-02-24T08:21:35+00:00" + "updatedAt" : "2022-02-24T08:21:35Z" }, { "authors" : [ @@ -2120,7 +2427,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Switch to HDMI", - "updatedAt" : "2022-02-24T08:21:35+00:00" + "updatedAt" : "2022-02-24T08:21:35Z" } ] }, @@ -2154,7 +2461,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Switch to DP", - "updatedAt" : "2022-02-24T08:21:35+00:00" + "updatedAt" : "2022-02-24T08:21:35Z" }, { "authors" : [ @@ -2182,7 +2489,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Switch to HDMI", - "updatedAt" : "2022-02-24T08:21:35+00:00" + "updatedAt" : "2022-02-24T08:21:35Z" } ] } @@ -2219,7 +2526,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Turn Off TV", - "updatedAt" : "2021-08-23T10:12:10+00:00" + "updatedAt" : "2021-08-23T10:12:10Z" }, { "authors" : [ @@ -2247,7 +2554,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Turn On TV", - "updatedAt" : "2021-08-23T10:12:10+00:00" + "updatedAt" : "2021-08-23T10:12:10Z" } ] }, @@ -3615,7 +3922,7 @@ "url" : "https:\/\/github.com\/pitnikola" } ], - "createdAt" : "2021-02-05T13:43:54+00:00", + "createdAt" : "2021-02-05T13:43:54Z", "currentDirectoryPath" : null, "description" : "Calculate percentage increase between \"from\" and \"to\" values.", "filename" : "calculate-growth.sh", @@ -3624,7 +3931,7 @@ "dark" : null, "light" : "📈" }, - "identifier" : "43e4892095abfafb6a7ad5bb50c3c602", + "identifier" : "a733748a4340860d44b583174bed4aa8", "isTemplate" : false, "language" : "bash", "mode" : "compact", @@ -3634,7 +3941,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Calculate Growth %", - "updatedAt" : "2021-02-05T13:43:54+00:00" + "updatedAt" : "2021-02-05T13:43:54Z" }, { "authors" : [ @@ -3662,35 +3969,35 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Wolfram Alpha", - "updatedAt" : "2021-04-28T20:59:27+00:00" + "updatedAt" : "2021-04-28T20:59:27Z" }, { "authors" : [ { - "name" : "Matt Gleich", - "url" : "https:\/\/mattglei.ch" + "name" : "cSharp", + "url" : "https:\/\/github.com\/noidwasavailable" } ], - "createdAt" : "2022-02-04T00:21:07-05:00", + "createdAt" : "2023-09-06T00:23:42+09:00", "currentDirectoryPath" : null, - "description" : "Evaluate LaTeX expressions and get the product copied to your clipboard", - "filename" : "latex-calculator.py", + "description" : "nCr: Calculate combinations", + "filename" : "calculate-combinations.js", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "🧮" + "light" : "𝐂" }, - "identifier" : "99c77768765823d1f57e72e84d005f64", + "identifier" : "7d453c1dd055288ddc8c81714ed8194b", "isTemplate" : false, - "language" : "python", + "language" : "node", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Math", + "packageName" : "Calculate Combinations", "path" : "math\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "LaTeX Calculator", - "updatedAt" : "2022-02-04T10:14:08+00:00" + "title" : "nCr: Calculate Combinations", + "updatedAt" : "2023-09-06T00:23:42+09:00" }, { "authors" : [ @@ -3699,11 +4006,64 @@ "url" : "https:\/\/mattglei.ch" } ], - "createdAt" : "2021-11-17T11:41:42-05:00", + "createdAt" : "2022-02-04T00:21:07-05:00", "currentDirectoryPath" : null, - "description" : "Generate a number between a given range (inclusive) and then copy the value", - "filename" : "random-number.sh", - "hasArguments" : true, + "description" : "Evaluate LaTeX expressions and get the product copied to your clipboard", + "filename" : "latex-calculator.py", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "🧮" + }, + "identifier" : "99c77768765823d1f57e72e84d005f64", + "isTemplate" : false, + "language" : "python", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Math", + "path" : "math\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "LaTeX Calculator", + "updatedAt" : "2022-02-04T10:14:08Z" + }, + { + "authors" : [ + { + "name" : "Samuel Barton", + "url" : "https:\/\/github.com\/samueldbarton" + } + ], + "createdAt" : "2024-11-18T09:32:56-06:00", + "currentDirectoryPath" : null, + "description" : "Calculate the CAGR between \"from\" and \"to\" values over given \"years,\" then copy the result.", + "filename" : "calculate-CAGR.sh", + "hasArguments" : true, + "icon" : null, + "identifier" : "5acd1b95964396ecfbe1aee4841ddb0a", + "isTemplate" : false, + "language" : "bash", + "mode" : "compact", + "needsConfirmation" : null, + "packageName" : "Math", + "path" : "math\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Calculate CAGR Percentage", + "updatedAt" : "2024-11-18T09:32:56-06:00" + }, + { + "authors" : [ + { + "name" : "Matt Gleich", + "url" : "https:\/\/mattglei.ch" + } + ], + "createdAt" : "2021-11-17T11:41:42-05:00", + "currentDirectoryPath" : null, + "description" : "Generate a number between a given range (inclusive) and then copy the value", + "filename" : "random-number.sh", + "hasArguments" : true, "icon" : { "dark" : null, "light" : "🔢" @@ -3873,7 +4233,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-01-27T23:15:56+00:00", + "createdAt" : "2021-01-27T23:15:56Z", "currentDirectoryPath" : null, "description" : "Shows the followers, favorites and friends count of your Twitter account.", "filename" : "twitter-statistics.template.rb", @@ -3882,7 +4242,7 @@ "dark" : null, "light" : "images\/twitter.png" }, - "identifier" : "f1a519a4eafaa91bf8e2179e20acc1f0", + "identifier" : "1bde64c963c2cc5e3ffc510d7568f210", "isTemplate" : true, "language" : "ruby", "mode" : "inline", @@ -3999,7 +4359,35 @@ "refreshTime" : "5m", "schemaVersion" : 1, "title" : "Crypto", - "updatedAt" : "2021-03-01T16:54:23+00:00" + "updatedAt" : "2021-03-01T16:54:23Z" + }, + { + "authors" : [ + { + "name" : "nagauta", + "url" : "https:\/\/github.com\/nagauta" + } + ], + "createdAt" : "2023-05-04T00:27:11+09:00", + "currentDirectoryPath" : null, + "description" : "Get total usage of OpenAI API", + "filename" : "open-ai-usage.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "💲" + }, + "identifier" : "0ddcc5df2535bb2a723ebcd790f2e937", + "isTemplate" : false, + "language" : "bash", + "mode" : "inline", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "dashboard\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Check Usage of OpenAI API", + "updatedAt" : "2023-05-04T14:08:10+09:00" }, { "authors" : [ @@ -4008,7 +4396,7 @@ "url" : "https:\/\/github.com\/designedbyclu" } ], - "createdAt" : "2021-05-10T13:42:50+08:00", + "createdAt" : "2021-02-04T00:45:59-08:00", "currentDirectoryPath" : null, "description" : "Checking DOGE coin price", "filename" : "doge.sh", @@ -4017,7 +4405,7 @@ "dark" : null, "light" : "images\/dogecoin-logo.png" }, - "identifier" : "5ef2d6fa688d7beb5849da1bfcf41b17", + "identifier" : "ef5ccfacde23ff614355afb1f378cc1b", "isTemplate" : false, "language" : "bash", "mode" : "inline", @@ -4055,7 +4443,35 @@ "refreshTime" : "1h", "schemaVersion" : 1, "title" : "NextDNS Status", - "updatedAt" : "2021-01-26T14:46:55+00:00" + "updatedAt" : "2021-01-26T14:46:55Z" + }, + { + "authors" : [ + { + "name" : "Mortada Sarheed", + "url" : "https:\/\/github.com\/mSarheed" + } + ], + "createdAt" : "2023-02-06T09:47:01+01:00", + "currentDirectoryPath" : null, + "description" : "Get the status of your Tesla vehicle", + "filename" : "tesla.template.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🚘" + }, + "identifier" : "92b07ce3fd4dd31dc4dde74af562bc59", + "isTemplate" : true, + "language" : "bash", + "mode" : "fullOutput", + "needsConfirmation" : null, + "packageName" : "Tesla.Template", + "path" : "dashboard\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Tesla", + "updatedAt" : "2023-02-06T08:49:49Z" }, { "authors" : [ @@ -4064,7 +4480,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2020-12-01T15:19:07+00:00", + "createdAt" : "2020-12-01T15:19:07Z", "currentDirectoryPath" : null, "description" : "See the year progress on your desktop.", "filename" : "year-progress.sh", @@ -4073,7 +4489,7 @@ "dark" : null, "light" : "⏱" }, - "identifier" : "b2f18259bc9ceb6889bd3f3c6a6022e1", + "identifier" : "f91b94065511ac6266f5b2499368af3a", "isTemplate" : false, "language" : "bash", "mode" : "inline", @@ -4111,7 +4527,7 @@ "refreshTime" : "1h", "schemaVersion" : 1, "title" : "YouTube Statistics", - "updatedAt" : "2021-11-09T09:49:02+00:00" + "updatedAt" : "2021-11-09T09:49:02Z" }, { "authors" : [ @@ -4120,7 +4536,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-02-15T15:57:43+00:00", + "createdAt" : "2021-02-15T15:57:43Z", "currentDirectoryPath" : null, "description" : "Keep track of your stock portfolio.", "filename" : "stock-portfolio.rb", @@ -4129,7 +4545,7 @@ "dark" : null, "light" : "📈" }, - "identifier" : "29df612d786611c3379557e77fdcc787", + "identifier" : "116c44f780e379c97aaa32826ff6dbb8", "isTemplate" : false, "language" : "ruby", "mode" : "inline", @@ -4139,7 +4555,7 @@ "refreshTime" : "1h", "schemaVersion" : 1, "title" : "Stocks", - "updatedAt" : "2021-02-15T16:05:12+00:00" + "updatedAt" : "2021-02-15T16:05:12Z" }, { "authors" : [ @@ -4148,7 +4564,7 @@ "url" : "https:\/\/github.com\/jesse-c" } ], - "createdAt" : "2021-01-16T14:01:54+00:00", + "createdAt" : "2021-01-16T14:01:54Z", "currentDirectoryPath" : null, "description" : "Show the time from elsewhere in the world", "filename" : "world-time.sh", @@ -4157,7 +4573,7 @@ "dark" : null, "light" : "🕐" }, - "identifier" : "488cb8d0c156cff41b04f10b76d16696", + "identifier" : "0fe9fe7b1ee089f32c2d6fc739e8364b", "isTemplate" : false, "language" : "bash", "mode" : "inline", @@ -4354,6 +4770,34 @@ "schemaVersion" : 1, "title" : "Get data from Firebase", "updatedAt" : "2022-03-30T22:44:18+02:00" + }, + { + "authors" : [ + { + "name" : "João Melo", + "url" : "https:\/\/github.com\/joaopcm" + } + ], + "createdAt" : "2022-12-30T14:08:40-03:00", + "currentDirectoryPath" : null, + "description" : "Get token from Firebase Authentication service", + "filename" : "firebase-authentication-get-token.template.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/firebase.png" + }, + "identifier" : "d4bf22f455beb60e3044429453e05102", + "isTemplate" : true, + "language" : "bash", + "mode" : "compact", + "needsConfirmation" : null, + "packageName" : "Firebase Authentication", + "path" : "dashboard\/firebase\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Get Authorization Token", + "updatedAt" : "2022-12-30T17:11:26Z" } ] }, @@ -4479,7 +4923,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Set Frontmost App as Default Browser", - "updatedAt" : "2021-08-06T19:23:46+02:00" + "updatedAt" : "2024-04-22T16:22:28+10:00" }, { "authors" : [ @@ -4537,6 +4981,34 @@ "title" : "Uninstall with AppCleaner", "updatedAt" : "2021-03-18T14:47:46-03:00" }, + { + "authors" : [ + { + "name" : "Raphael-KR", + "url" : "https:\/\/github.com\/Raphael-KR" + } + ], + "createdAt" : "2025-08-23T18:49:50+09:00", + "currentDirectoryPath" : null, + "description" : "Toggle natural trackpad\/mouse scrolling setting for macOS 15.6.1+", + "filename" : "toggle-natural-scrolling-macos15.applescript", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🖱" + }, + "identifier" : "3ccaeabe09d36538f01f592bc7b3e51e", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Toggle Natural Scrolling (macOS 15+)", + "updatedAt" : "2025-08-25T09:08:49Z" + }, { "authors" : [ { @@ -4568,30 +5040,30 @@ { "authors" : [ { - "name" : "Marc Klingen", - "url" : "https:\/\/github.com\/marcklingen" + "name" : "benyn", + "url" : "github.com\/benyn" } ], - "createdAt" : "2021-01-06T16:39:46+01:00", + "createdAt" : "2023-05-06T14:02:11-07:00", "currentDirectoryPath" : null, - "description" : "Set Chrome as the default browser.", - "filename" : "default-browser-chrome.sh", + "description" : "Close all notification alerts staying on screen, e.g., Calendar notifications.", + "filename" : "dismiss-notifications.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "🧭" + "light" : "🔕" }, - "identifier" : "2a0c01b1e76f05a9859ed5e6299d3f35", + "identifier" : "d1d5f97ad62a6692d70fc17da0a71157", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Browsing", + "packageName" : "System", "path" : "system\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Switch Default Browser to Chrome", - "updatedAt" : "2021-01-13T00:41:47+01:00" + "title" : "Dismiss Notifications", + "updatedAt" : "2025-05-18T15:56:50-07:00" }, { "authors" : [ @@ -4656,7 +5128,7 @@ "url" : "https:\/\/github.com\/jesse-c" } ], - "createdAt" : "2020-12-18T16:52:19+00:00", + "createdAt" : "2020-12-18T16:52:19Z", "currentDirectoryPath" : null, "description" : "Sample a color from anywhere on your screen.", "filename" : "sample-color.swift", @@ -4665,7 +5137,7 @@ "dark" : null, "light" : "🎨" }, - "identifier" : "3fa985727c54b02c6d0b8d526c4b79ee", + "identifier" : "4600a7cb879326d93a1fa82615819092", "isTemplate" : false, "language" : "swift", "mode" : "silent", @@ -4677,6 +5149,34 @@ "title" : "Sample Color", "updatedAt" : "2021-07-21T10:01:35-04:00" }, + { + "authors" : [ + { + "name" : "Jelte Lagendijk", + "url" : "https:\/\/raycast.com\/j3lte" + } + ], + "createdAt" : "2024-04-22T08:23:05+02:00", + "currentDirectoryPath" : null, + "description" : "Set the position of the Dock in the screen", + "filename" : "dock-set-position.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "🤖" + }, + "identifier" : "4d015ec34744b1b005c63343cace870a", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Dock Position", + "updatedAt" : "2024-04-22T08:23:05+02:00" + }, { "authors" : [ { @@ -4733,34 +5233,6 @@ "title" : "Restart the Finder", "updatedAt" : "2021-03-09T10:35:42+01:00" }, - { - "authors" : [ - { - "name" : "Marc Klingen", - "url" : "https:\/\/github.com\/marcklingen" - } - ], - "createdAt" : "2021-01-06T16:39:46+01:00", - "currentDirectoryPath" : null, - "description" : "Set Safari as the default browser.", - "filename" : "default-browser-safari.sh", - "hasArguments" : false, - "icon" : { - "dark" : null, - "light" : "🧭" - }, - "identifier" : "689695ca945a84934eb23d8db5067c52", - "isTemplate" : false, - "language" : "bash", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Browsing", - "path" : "system\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Switch Default Browser to Safari", - "updatedAt" : "2021-01-13T00:41:47+01:00" - }, { "authors" : null, "createdAt" : "2020-09-30T12:56:51+01:00", @@ -4894,7 +5366,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Add Spacer to Dock", - "updatedAt" : "2021-03-08T00:46:38+00:00" + "updatedAt" : "2021-03-08T00:46:38Z" }, { "authors" : [ @@ -4924,6 +5396,34 @@ "title" : "Refresh Wallpaper", "updatedAt" : "2021-06-04T16:35:43-04:00" }, + { + "authors" : [ + { + "name" : "Marcos Sánchez-Dehesa", + "url" : "https:\/\/github.com\/dehesa" + } + ], + "createdAt" : "2023-02-22T16:16:58+11:00", + "currentDirectoryPath" : null, + "description" : "Set Google Chrome as the default browser.", + "filename" : "default-browser-chrome.applescript", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/chrome.png" + }, + "identifier" : "2d63f1a6bc8d207d320f0e6faf37b1c0", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Browser", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Default to Chrome", + "updatedAt" : "2023-02-22T16:16:58+11:00" + }, { "authors" : [ { @@ -5008,6 +5508,34 @@ "title" : "Turn On Do Not Disturb", "updatedAt" : "2020-11-29T19:34:24-05:00" }, + { + "authors" : [ + { + "name" : "Marcos Sánchez-Dehesa", + "url" : "https:\/\/github.com\/dehesa" + } + ], + "createdAt" : "2023-02-22T16:16:58+11:00", + "currentDirectoryPath" : null, + "description" : "Set Firefox as the default browser.", + "filename" : "default-browser-firefox.applescript", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/firefox.png" + }, + "identifier" : "4299cbf700855d5ae55f6a730ff28a85", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Browser", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Default to Firefox", + "updatedAt" : "2024-01-05T16:03:05-08:00" + }, { "authors" : [ { @@ -5064,34 +5592,6 @@ "title" : "Do Not Disturb", "updatedAt" : "2021-11-16T14:59:56+01:00" }, - { - "authors" : [ - { - "name" : "Marc Klingen", - "url" : "https:\/\/github.com\/marcklingen" - } - ], - "createdAt" : "2021-01-06T16:39:46+01:00", - "currentDirectoryPath" : null, - "description" : "Set Chromium as the default browser.", - "filename" : "default-browser-chromium.sh", - "hasArguments" : false, - "icon" : { - "dark" : null, - "light" : "🧭" - }, - "identifier" : "fc09042c7bdd90f91d4db06fd872aaba", - "isTemplate" : false, - "language" : "bash", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Browsing", - "path" : "system\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Switch Default Browser to Chromium", - "updatedAt" : "2021-01-13T00:41:47+01:00" - }, { "authors" : [ { @@ -5174,7 +5674,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Move Desktop to Trash", - "updatedAt" : "2021-07-06T15:39:42+00:00" + "updatedAt" : "2021-07-06T15:39:42Z" }, { "authors" : [ @@ -5202,7 +5702,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Kill AirDrop Processes", - "updatedAt" : "2021-04-06T23:07:39+00:00" + "updatedAt" : "2021-04-06T23:07:39Z" }, { "authors" : [ @@ -5235,109 +5735,193 @@ { "authors" : [ { - "name" : "Astrit", - "url" : "https:\/\/github.com\/astrit" + "name" : "Marcos Sánchez-Dehesa", + "url" : "https:\/\/github.com\/dehesa" } ], - "createdAt" : "2021-11-17T17:41:07+01:00", + "createdAt" : "2023-02-22T16:16:58+11:00", "currentDirectoryPath" : null, - "description" : "Resize and center the frontmost window to any custom size.", - "filename" : "custom-window.applescript", - "hasArguments" : true, + "description" : "Set Arc as the default browser.", + "filename" : "default-browser-arc.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/custom-window-size.png" + "light" : "images\/arc.png" }, - "identifier" : "13a15c297e5092141c7507de2af3385f", + "identifier" : "bfadc3d5abe379f7bfaee8db90c11379", "isTemplate" : false, "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "System", + "packageName" : "Browser", "path" : "system\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Custom Window Size", - "updatedAt" : "2021-11-17T17:41:07+01:00" + "title" : "Default to Arc", + "updatedAt" : "2024-01-05T16:03:05-08:00" }, { "authors" : [ { - "name" : "LokHsu", - "url" : "https:\/\/github.com\/lokhsu" + "name" : "Jelte Lagendijk", + "url" : "https:\/\/raycast.com\/j3lte" } ], - "createdAt" : "2020-12-27T13:59:31+08:00", + "createdAt" : "2024-04-22T08:23:05+02:00", "currentDirectoryPath" : null, - "description" : "Create files in the front window or desktop of the visit", - "filename" : "create-new-file.applescript", - "hasArguments" : false, + "description" : "Set the Dock autohide", + "filename" : "dock-set-autohide.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "📄" + "light" : "🤖" }, - "identifier" : "320da8947dc06b150318183a5ce92a06", + "identifier" : "2e9f26f5c37a3f3c74cae49c82fc0fd5", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Create New File", + "packageName" : "System", "path" : "system\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create New File", - "updatedAt" : "2021-05-19T13:49:26+08:00" + "title" : "Dock Set Autohide", + "updatedAt" : "2024-04-22T08:23:05+02:00" }, { - "authors" : null, - "createdAt" : "2020-10-07T15:10:25+01:00", + "authors" : [ + { + "name" : "Astrit", + "url" : "https:\/\/github.com\/astrit" + } + ], + "createdAt" : "2021-11-17T17:41:07+01:00", "currentDirectoryPath" : null, - "description" : "Quits all running applications except Finder and Raycast.", - "filename" : "quit-all-apps.swift", - "hasArguments" : false, + "description" : "Resize and center the frontmost window to any custom size.", + "filename" : "custom-window.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "💥" + "light" : "images\/custom-window-size.png" }, - "identifier" : "5d9a1236ff0ca1878cfcf271e88c6fdc", + "identifier" : "13a15c297e5092141c7507de2af3385f", "isTemplate" : false, - "language" : "swift", + "language" : "applescript", "mode" : "silent", - "needsConfirmation" : true, + "needsConfirmation" : null, "packageName" : "System", "path" : "system\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Quit All Applications", - "updatedAt" : "2021-03-27T23:04:19-04:00" + "title" : "Custom Window Size", + "updatedAt" : "2021-11-17T17:41:07+01:00" }, { "authors" : [ { - "name" : "Marc Klingen", - "url" : "https:\/\/github.com\/marcklingen" + "name" : "Federico Zivolo", + "url" : "https:\/\/github.com\/FezVrasta" } ], - "createdAt" : "2021-01-06T16:39:46+01:00", + "createdAt" : "2024-01-20T13:56:53+01:00", "currentDirectoryPath" : null, - "description" : "Set Firefox as the default browser.", - "filename" : "default-browser-firefox.sh", + "description" : null, + "filename" : "toggle-desktop-widget.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "🧭" + "light" : "🔄" }, - "identifier" : "32fb2d5ade10d7f8567165c2d546252a", + "identifier" : "79982c901bf4cd65eda80b5f7039d1d0", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Browsing", + "packageName" : "Toggle Desktop Widget", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Toggle Desktop Widgets", + "updatedAt" : "2024-01-22T22:39:53Z" + }, + { + "authors" : [ + { + "name" : "Marcos Sánchez-Dehesa", + "url" : "https:\/\/github.com\/dehesa" + } + ], + "createdAt" : "2023-02-22T16:16:58+11:00", + "currentDirectoryPath" : null, + "description" : "Set Chromium as the default browser.", + "filename" : "default-browser-chromium.applescript", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/chrome-icon.png" + }, + "identifier" : "3502698721f8a80ac7cf5e3e3909f615", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Browser", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Default to Chromium", + "updatedAt" : "2023-02-22T16:16:58+11:00" + }, + { + "authors" : [ + { + "name" : "LokHsu", + "url" : "https:\/\/github.com\/lokhsu" + } + ], + "createdAt" : "2020-12-27T13:59:31+08:00", + "currentDirectoryPath" : null, + "description" : "Create files in the front window or desktop of the visit", + "filename" : "create-new-file.applescript", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "📄" + }, + "identifier" : "320da8947dc06b150318183a5ce92a06", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Create New File", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Create New File", + "updatedAt" : "2021-05-19T13:49:26+08:00" + }, + { + "authors" : null, + "createdAt" : "2020-10-07T15:10:25+01:00", + "currentDirectoryPath" : null, + "description" : "Quits all running applications except Finder and Raycast.", + "filename" : "quit-all-apps.swift", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "💥" + }, + "identifier" : "5d9a1236ff0ca1878cfcf271e88c6fdc", + "isTemplate" : false, + "language" : "swift", + "mode" : "silent", + "needsConfirmation" : true, + "packageName" : "System", "path" : "system\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Switch Default Browser to Firefox", - "updatedAt" : "2021-01-13T00:41:47+01:00" + "title" : "Quit All Applications", + "updatedAt" : "2021-03-27T23:04:19-04:00" }, { "authors" : [ @@ -5449,7 +6033,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "OCR", - "updatedAt" : "2022-07-22T17:53:33+08:00" + "updatedAt" : "2024-06-22T16:19:22+09:00" }, { "authors" : [ @@ -5479,6 +6063,62 @@ "title" : "Capture Screen Selection to Clipboard", "updatedAt" : "2021-08-07T19:28:35-07:00" }, + { + "authors" : [ + { + "name" : "StepaniaH", + "url" : "https:\/\/github.com\/StepaniaH" + } + ], + "createdAt" : "2024-12-16T23:44:40+08:00", + "currentDirectoryPath" : null, + "description" : "This is a simple Python script for recursively renaming video and picture files within a directory. Type the root directory's absolute path, and it will scan all the video and picture files in it and rename them according to the folder where they are located as the format `--`.", + "filename" : "rename-videos-pictures.py", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "📂" + }, + "identifier" : "360d8e4290996f7b2b40dc6e388e30f2", + "isTemplate" : false, + "language" : "python", + "mode" : "fullOutput", + "needsConfirmation" : null, + "packageName" : "Rename Videos Pictures", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Rename Video", + "updatedAt" : "2024-12-18T23:56:00+08:00" + }, + { + "authors" : [ + { + "name" : "Marcos Sánchez-Dehesa", + "url" : "https:\/\/github.com\/dehesa" + } + ], + "createdAt" : "2023-02-22T16:16:58+11:00", + "currentDirectoryPath" : null, + "description" : "Set Safari as the default browser.", + "filename" : "default-browser-safari.applescript", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/safari.png" + }, + "identifier" : "b56ccc81272dbe8beb92bdcdb77e8dce", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Browser", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Default to Safari", + "updatedAt" : "2024-01-05T16:03:05-08:00" + }, { "authors" : [ { @@ -5563,6 +6203,62 @@ "title" : "Minimize All Windows", "updatedAt" : "2022-02-21T17:47:42+01:00" }, + { + "authors" : [ + { + "name" : "AndriiBarabash", + "url" : "https:\/\/github.com\/AndriiBarabash" + } + ], + "createdAt" : "2025-03-10T00:16:14+01:00", + "currentDirectoryPath" : null, + "description" : "Put your Mac to sleep (in X minutes).", + "filename" : "sleep-timer.applescript", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "😴" + }, + "identifier" : "ff43a32961d94da6001ad37ab79dd032", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Sleep Timer", + "updatedAt" : "2025-03-10T10:57:38+01:00" + }, + { + "authors" : [ + { + "name" : "Jelte Lagendijk", + "url" : "https:\/\/raycast.com\/j3lte" + } + ], + "createdAt" : "2024-04-22T08:23:05+02:00", + "currentDirectoryPath" : null, + "description" : "Toggle the Dock Autohide", + "filename" : "dock-autohide-toggle.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🤖" + }, + "identifier" : "48c4f52d832201490101c47dd2963bbd", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Toggle Dock Autohide", + "updatedAt" : "2024-04-22T08:23:05+02:00" + }, { "authors" : [ { @@ -5593,7 +6289,7 @@ "refreshTime" : "20m", "schemaVersion" : 1, "title" : "Network Quality", - "updatedAt" : "2022-04-18T08:53:46-07:00" + "updatedAt" : "2022-12-30T13:32:07-05:00" }, { "authors" : [ @@ -5700,7 +6396,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Open Last Download", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : [ @@ -5774,7 +6470,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Eject All Disks", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : [ @@ -5802,7 +6498,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Disk Free", - "updatedAt" : "2021-09-28T06:22:27+00:00" + "updatedAt" : "2021-09-28T06:22:27Z" }, { "authors" : [ @@ -5830,7 +6526,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Copy Wi-Fi Password", - "updatedAt" : "2021-11-03T20:29:35+00:00" + "updatedAt" : "2021-11-03T20:29:35Z" }, { "authors" : [ @@ -5867,7 +6563,7 @@ "url" : "https:\/\/github.com\/jesse-c" } ], - "createdAt" : "2021-04-27T06:02:41+00:00", + "createdAt" : "2021-04-27T06:02:41Z", "currentDirectoryPath" : null, "description" : "Show disk usage for \/ (root)", "filename" : "disk-usage.sh", @@ -5876,7 +6572,7 @@ "dark" : null, "light" : "💿" }, - "identifier" : "8058594c23e845822eadac4bb4c818ab", + "identifier" : "aadf056d506a2abb91cef252e2e7a1f6", "isTemplate" : false, "language" : "bash", "mode" : "inline", @@ -5886,7 +6582,7 @@ "refreshTime" : "1m", "schemaVersion" : 1, "title" : "Disk Usage", - "updatedAt" : "2021-04-27T06:02:41+00:00" + "updatedAt" : "2021-04-27T06:02:41Z" }, { "authors" : [ @@ -5944,6 +6640,34 @@ "title" : "Caffeinate", "updatedAt" : "2021-06-23T19:47:11+03:00" }, + { + "authors" : [ + { + "name" : "xxchan", + "url" : "https:\/\/github.com\/xxchan" + } + ], + "createdAt" : "2023-01-31T01:00:23+01:00", + "currentDirectoryPath" : null, + "description" : "Open Image from Clipboard in Preview for OCR or other purposes.", + "filename" : "open-image-from-clipboard.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "📋" + }, + "identifier" : "02b393208c74661deadfc66ddf16da87", + "isTemplate" : false, + "language" : "bash", + "mode" : "compact", + "needsConfirmation" : null, + "packageName" : "Clipboard", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Open Image", + "updatedAt" : "2023-01-31T01:00:23+01:00" + }, { "authors" : [ { @@ -5970,7 +6694,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Create Email", - "updatedAt" : "2021-02-25T10:47:45+00:00" + "updatedAt" : "2021-02-25T10:47:45Z" }, { "authors" : [ @@ -6003,20 +6727,20 @@ { "authors" : [ { - "name" : "Felipe Turcheti", - "url" : "https:\/\/felipeturcheti.com" + "name" : "Zach Dawson", + "url" : "https:\/\/raycast.com\/zdawz" } ], - "createdAt" : "2021-06-14T14:36:05-03:00", + "createdAt" : "2023-12-22T08:19:14-06:00", "currentDirectoryPath" : null, - "description" : "Flush DNS cache", - "filename" : "flush-dns.sh", + "description" : "Resets the macOS Launchpad to its default state", + "filename" : "reset-launchpad.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "💨" + "light" : "🚀" }, - "identifier" : "63e51cac9289a2734e161cc8306805b4", + "identifier" : "1c9956877da036e214c52ae82f128cb1", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -6025,68 +6749,180 @@ "path" : "system\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Flush DNS", - "updatedAt" : "2021-06-14T14:36:05-03:00" + "title" : "Reset Launchpad", + "updatedAt" : "2023-12-22T14:21:54Z" }, { "authors" : [ { - "name" : "Raycast", - "url" : "https:\/\/raycast.com" + "name" : "Kailash Yellareddy", + "url" : "https:\/\/github.com\/kyellareddy" } ], - "createdAt" : "2020-09-30T12:57:18+01:00", + "createdAt" : "2023-07-03T17:20:46-07:00", "currentDirectoryPath" : null, - "description" : "A script command to show and hide icons of Desktop folder", - "filename" : "toggle-desktop-icons.applescript", + "description" : null, + "filename" : "Network Info.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "🖥" + "light" : "🛜" }, - "identifier" : "a7b34fe82f84acdef7c4ca687a7dbad8", + "identifier" : "83cefb2a99e7b3a81e177ccef088a8f3", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "python", + "mode" : "fullOutput", "needsConfirmation" : null, - "packageName" : "System", + "packageName" : "Network Info", "path" : "system\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Toggle Desktop Icons", - "updatedAt" : "2022-01-15T18:22:57+08:00" + "title" : "Network Info", + "updatedAt" : "2023-07-04T10:01:20Z" }, { "authors" : [ { - "name" : "Vincent Dörig", - "url" : "https:\/\/github.com\/vincentdoerig" + "name" : "Juan Luis Romero", + "url" : "https:\/\/github.com\/JuanluR8" } ], - "createdAt" : "2021-01-07T22:11:14+01:00", + "createdAt" : "2024-04-22T08:23:25+02:00", "currentDirectoryPath" : null, - "description" : "Toggle your Wi-Fi connection.", - "filename" : "wifi.template.applescript", + "description" : "Display CPU usage percent", + "filename" : "inline-cpu-usage-percent.sh", "hasArguments" : false, "icon" : { - "dark" : "images\/wifi.png", - "light" : "images\/wifi-dark.png" + "dark" : null, + "light" : "🖥️" }, - "identifier" : "a67b13df28ceb5db8ea7a322df56a3b3", - "isTemplate" : true, - "language" : "applescript", - "mode" : "silent", + "identifier" : "88b8ff2c77f987a58eadc153ac8e9629", + "isTemplate" : false, + "language" : "bash", + "mode" : "inline", "needsConfirmation" : null, "packageName" : "System", "path" : "system\/", - "refreshTime" : null, + "refreshTime" : "10s", "schemaVersion" : 1, - "title" : "Toggle Wi-Fi", - "updatedAt" : "2021-01-11T18:50:50+01:00" + "title" : "CPU Usage", + "updatedAt" : "2024-04-22T06:25:56Z" }, { - "authors" : null, - "createdAt" : "2020-11-05T19:09:05+00:00", + "authors" : [ + { + "name" : "Felipe Turcheti", + "url" : "https:\/\/felipeturcheti.com" + } + ], + "createdAt" : "2021-06-14T14:36:05-03:00", + "currentDirectoryPath" : null, + "description" : "Flush DNS cache", + "filename" : "flush-dns.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "💨" + }, + "identifier" : "63e51cac9289a2734e161cc8306805b4", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Flush DNS", + "updatedAt" : "2021-06-14T14:36:05-03:00" + }, + { + "authors" : [ + { + "name" : "Angelos Michalopoulos", + "url" : null + } + ], + "createdAt" : "2024-11-18T17:33:08+02:00", + "currentDirectoryPath" : null, + "description" : "Get One-Time Password (OTP) from Apple Password Manager", + "filename" : "otp.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "🔑" + }, + "identifier" : "7115fa08d182688291508d427a6ce246", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "One-Time Password", + "updatedAt" : "2024-11-18T17:33:08+02:00" + }, + { + "authors" : [ + { + "name" : "Raycast", + "url" : "https:\/\/raycast.com" + } + ], + "createdAt" : "2020-09-30T12:57:18+01:00", + "currentDirectoryPath" : null, + "description" : "A script command to show and hide icons of Desktop folder", + "filename" : "toggle-desktop-icons.applescript", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🖥" + }, + "identifier" : "a7b34fe82f84acdef7c4ca687a7dbad8", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Toggle Desktop Icons", + "updatedAt" : "2022-01-15T18:22:57+08:00" + }, + { + "authors" : [ + { + "name" : "Vincent Dörig", + "url" : "https:\/\/github.com\/vincentdoerig" + } + ], + "createdAt" : "2021-01-07T22:11:14+01:00", + "currentDirectoryPath" : null, + "description" : "Toggle your Wi-Fi connection.", + "filename" : "wifi.template.applescript", + "hasArguments" : false, + "icon" : { + "dark" : "images\/wifi.png", + "light" : "images\/wifi-dark.png" + }, + "identifier" : "a67b13df28ceb5db8ea7a322df56a3b3", + "isTemplate" : true, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Toggle Wi-Fi", + "updatedAt" : "2021-01-11T18:50:50+01:00" + }, + { + "authors" : null, + "createdAt" : "2020-11-05T19:09:05Z", "currentDirectoryPath" : null, "description" : "Copy the last downloaded file to the clipboard.", "filename" : "copy-last-download.swift", @@ -6095,7 +6931,7 @@ "dark" : null, "light" : "💁" }, - "identifier" : "0ec1db6ff6f6f56e7daba5d6fbd03c75", + "identifier" : "19d49b55a44b69e9229b63c27724c02f", "isTemplate" : false, "language" : "swift", "mode" : "silent", @@ -6105,11 +6941,11 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Copy Last Download", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : null, - "createdAt" : "2020-11-05T19:08:41+00:00", + "createdAt" : "2020-11-05T19:08:41Z", "currentDirectoryPath" : null, "description" : "Copies the calendar availability of today.", "filename" : "copy-availability.swift", @@ -6118,7 +6954,7 @@ "dark" : null, "light" : "📅" }, - "identifier" : "c54475a390bfef23ea03f2d5e69be018", + "identifier" : "7f78eb54a08af1d516202dd647999a27", "isTemplate" : false, "language" : "swift", "mode" : "silent", @@ -6156,7 +6992,35 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Toggle Natural Scrolling", - "updatedAt" : "2021-04-29T15:07:57+00:00" + "updatedAt" : "2024-04-25T21:10:36+05:45" + }, + { + "authors" : [ + { + "name" : "Kailash Yellareddy", + "url" : "https:\/\/github.com\/kyellareddy" + } + ], + "createdAt" : "2023-07-03T14:02:07-07:00", + "currentDirectoryPath" : null, + "description" : null, + "filename" : "Low Power Mode.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🔋" + }, + "identifier" : "abb0ce225a8aa3cc33d242788d9fbc94", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Low Power Mode", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Low Power Mode", + "updatedAt" : "2023-07-03T21:06:13Z" }, { "authors" : null, @@ -6179,7 +7043,35 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Copy Last Screenshot", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" + }, + { + "authors" : [ + { + "name" : "Felipe Turcheti", + "url" : "https:\/\/felipeturcheti.com" + } + ], + "createdAt" : "2024-08-05T09:48:29-06:00", + "currentDirectoryPath" : null, + "description" : "Copy contents of selected items in Finder to the clipboard. If there's more than one file selected, they will be combined and added to the clipboard.", + "filename" : "copy-selection-to-clipboard.applescript", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "??" + }, + "identifier" : "c76e2bb24d45b402577be451771a6171", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Copy Finder Selection to Clipboard", + "updatedAt" : "2024-08-05T09:48:29-06:00" }, { "authors" : [ @@ -6234,7 +7126,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Restart", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : [ @@ -6320,6 +7212,29 @@ "title" : "Network Status", "updatedAt" : "2021-03-11T11:38:48-08:00" }, + { + "authors" : null, + "createdAt" : "2025-09-05T10:08:41-05:00", + "currentDirectoryPath" : null, + "description" : "Copies a summary of today's meetings to the clipboard.", + "filename" : "meeting_summary_script.swift", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "📝" + }, + "identifier" : "3542086084234d14d5e94041c7c2915b", + "isTemplate" : false, + "language" : "swift", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Copy Meeting Summary", + "updatedAt" : "2025-09-05T10:08:41-05:00" + }, { "authors" : null, "createdAt" : "2020-09-30T12:56:01+01:00", @@ -6341,7 +7256,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Shut Down", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : [ @@ -6369,7 +7284,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Toggle Battery Charging", - "updatedAt" : "2022-08-18T12:53:36+00:00" + "updatedAt" : "2022-08-18T12:53:36Z" }, { "authors" : null, @@ -6392,7 +7307,35 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Sleep", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" + }, + { + "authors" : [ + { + "name" : "Ivan Rybalko", + "url" : "https:\/\/github.com\/ivribalko" + } + ], + "createdAt" : "2023-09-06T00:16:33-04:00", + "currentDirectoryPath" : null, + "description" : "Prevent sleep from closing laptop lid (clamshell mode)", + "filename" : "toggle-lid-sleep.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🐚" + }, + "identifier" : "417db530f5bb78e762778ce4c5904d26", + "isTemplate" : false, + "language" : "bash", + "mode" : "inline", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "system\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Toggle Lid Sleep", + "updatedAt" : "2023-09-07T11:09:47-04:00" }, { "authors" : [ @@ -6542,6 +7485,41 @@ } ] }, + { + "name" : "Magic Keyboard Switcher", + "path" : "magic-keyboard-switcher", + "readme" : "system\/magic-keyboard-switcher\/README.md", + "scriptCommands" : [ + { + "authors" : [ + { + "name" : "blastik", + "url" : "https:\/\/github.com\/blastik" + } + ], + "createdAt" : "2025-09-24T17:50:16+02:00", + "currentDirectoryPath" : null, + "description" : "Switch a single magic keyboard between computers", + "filename" : "magic-keyboard-switcher.template.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/logo.png" + }, + "identifier" : "ebd6d04790272dd639e870be745a66db", + "isTemplate" : true, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "system\/magic-keyboard-switcher\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Magic Keyboard switcher", + "updatedAt" : "2025-09-24T17:59:07+02:00" + } + ] + }, { "name" : "Vpnutil", "path" : "vpnutil", @@ -6720,6 +7698,34 @@ "title" : "Toggle AirPods", "updatedAt" : "2021-04-16T19:18:39+03:00" }, + { + "authors" : [ + { + "name" : "Mortada Sarheed", + "url" : "https:\/\/github.com\/mSarheed" + } + ], + "createdAt" : "2023-02-03T08:45:57+01:00", + "currentDirectoryPath" : null, + "description" : "Get the battery level of your bluetooth headphones", + "filename" : "bluetooth-headphones-battery-level.template.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🎧" + }, + "identifier" : "0e6a4e95c4fef0b4d461f56d1ab20367", + "isTemplate" : true, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Audio", + "path" : "system\/audio\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Headphones Battery Level", + "updatedAt" : "2023-02-03T07:51:37Z" + }, { "authors" : [ { @@ -6776,6 +7782,34 @@ "title" : "Reload CoreAudio", "updatedAt" : "2021-04-16T19:18:39+03:00" }, + { + "authors" : [ + { + "name" : "Annie Ma", + "url" : "http:\/\/www.anniema.co\/" + } + ], + "createdAt" : "2024-01-26T14:05:08-08:00", + "currentDirectoryPath" : null, + "description" : "Toggles notification sounds.", + "filename" : "toggle-mute-notification-sounds.applescript", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🔔" + }, + "identifier" : "a3b32fd55c23706603f24da4c74fd8d0", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "System", + "path" : "system\/audio\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Toggle Mute Notifcation Sounds", + "updatedAt" : "2024-02-01T16:53:25Z" + }, { "authors" : [ { @@ -6867,7 +7901,7 @@ "url" : "https:\/\/github.com\/matthewmorek" } ], - "createdAt" : "2021-02-18T12:31:04+00:00", + "createdAt" : "2021-02-18T12:31:04Z", "currentDirectoryPath" : null, "description" : "Toggles microphone.", "filename" : "toggle-mic.applescript", @@ -6876,7 +7910,7 @@ "dark" : null, "light" : "🎙" }, - "identifier" : "43754d5c0731006f9670e4d26e696fbd", + "identifier" : "f429f9a5cb87014a029d0a64cc5ce0f5", "isTemplate" : false, "language" : "applescript", "mode" : "silent", @@ -6893,40 +7927,92 @@ ] }, { - "name" : "Bookmarks", - "path" : "bookmarks", + "name" : "Dashboards", + "path" : "dashboards", "scriptCommands" : [ { - "authors" : null, - "createdAt" : "2020-10-02T16:04:30+01:00", + "authors" : [ + { + "name" : "Sam Wright", + "url" : "https:\/\/raycast.com\/samywamy10" + } + ], + "createdAt" : "2024-04-11T17:21:31+10:00", "currentDirectoryPath" : null, - "description" : "Open the GitHub repository for Script Commands provided by the community.", - "filename" : "open-script-commands-repository.sh", + "description" : "Runs an iPerf Speed Test.", + "filename" : "iperf-speed-test.template.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "📜" + "light" : "💾" }, - "identifier" : "efca4f141d304b6908fa6c1cb87bf97d", - "isTemplate" : false, + "identifier" : "804d7f7d15474c0b6f5798afa59badee", + "isTemplate" : true, "language" : "bash", - "mode" : "silent", + "mode" : "inline", "needsConfirmation" : null, - "packageName" : "Bookmarks", - "path" : "bookmarks\/", - "refreshTime" : null, + "packageName" : "iPerf", + "path" : "dashboards\/", + "refreshTime" : "1h", "schemaVersion" : 1, - "title" : "Open Script Commands Repository", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "title" : "Speed Test", + "updatedAt" : "2024-04-11T07:23:05Z" } ] }, { - "name" : "Developer Utils", - "path" : "developer-utils", + "name" : "Ai", + "path" : "ai", "scriptCommands" : [ - { - "authors" : null, + + ], + "subGroups" : [ + { + "name" : "Gemini", + "path" : "gemini", + "scriptCommands" : [ + { + "authors" : [ + { + "name" : "Est7", + "url" : "https:\/\/github.com\/est7" + }, + { + "name" : "Nimo Beeren", + "url" : "https:\/\/github.com\/nimobeeren" + } + ], + "createdAt" : "2025-04-24T11:38:46+08:00", + "currentDirectoryPath" : null, + "description" : "Open Gemini in Chrome browser and submit a prompt with optional selected text as context", + "filename" : "gemini.js", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : ".\/images\/icon-gemini.svg" + }, + "identifier" : "2a9c8b6698663cc8834ace7501bc9bec", + "isTemplate" : false, + "language" : "node", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Gemini", + "path" : "ai\/gemini\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Ask Gemini", + "updatedAt" : "2025-05-13T08:32:11Z" + } + ] + } + ] + }, + { + "name" : "Developer Utils", + "path" : "developer-utils", + "scriptCommands" : [ + { + "authors" : null, "createdAt" : "2020-09-30T12:56:01+01:00", "currentDirectoryPath" : null, "description" : "Escapes shell character string and copies it again.", @@ -6946,7 +8032,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Escape String for Shell", - "updatedAt" : "2020-12-09T22:19:19+00:00" + "updatedAt" : "2020-12-09T22:19:19Z" }, { "authors" : [ @@ -7002,7 +8088,35 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Count Characters Bash", - "updatedAt" : "2021-06-23T07:27:53+00:00" + "updatedAt" : "2021-06-23T07:27:53Z" + }, + { + "authors" : [ + { + "name" : "Stephen Kaplan", + "url" : "https:\/\/github.com\/SKaplanOfficial" + } + ], + "createdAt" : "2023-11-08T05:45:01-05:00", + "currentDirectoryPath" : null, + "description" : "Opens the Scripting Dictionary for the given application, defaulting to the active application if none is provided.", + "filename" : "view-scripting-dictionary.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "📖" + }, + "identifier" : "2185a0ecf69c65f22c0ce316008c1bfb", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Developer Utils", + "path" : "developer-utils\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "View Scripting Dictionary", + "updatedAt" : "2023-11-08T05:45:01-05:00" }, { "authors" : [ @@ -7030,7 +8144,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Transform Case", - "updatedAt" : "2021-01-24T20:18:06+00:00" + "updatedAt" : "2021-01-24T20:18:06Z" }, { "authors" : [ @@ -7104,7 +8218,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Encode Base64", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : null, @@ -7127,7 +8241,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Decode JWT", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : [ @@ -7164,16 +8278,16 @@ "url" : "https:\/\/github.com\/jesse-c" } ], - "createdAt" : "2021-01-04T23:05:52+00:00", + "createdAt" : "2021-01-04T23:05:52Z", "currentDirectoryPath" : null, "description" : "Check if a website is up", "filename" : "is-it-up.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "🩺" + "light" : "🌐" }, - "identifier" : "eb23a85cca77120f511f36bba2ff520b", + "identifier" : "2889ef24ae8d92015ae9500dfc3e704a", "isTemplate" : false, "language" : "bash", "mode" : "compact", @@ -7183,7 +8297,35 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Is It Up?", - "updatedAt" : "2021-01-04T23:05:52+00:00" + "updatedAt" : "2023-02-21T22:56:29-05:00" + }, + { + "authors" : [ + { + "name" : "Andrii Barabash", + "url" : "https:\/\/github.com\/AndriiBarabash" + } + ], + "createdAt" : "2025-09-27T20:40:28+02:00", + "currentDirectoryPath" : null, + "description" : "Toggles an SSH SOCKS proxy tunnel on and off.", + "filename" : "toggle_ssh_proxy_tunnel.template.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🔒" + }, + "identifier" : "aae74278107ffa5f34b3733eb2c8a813", + "isTemplate" : true, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Developer Utilities", + "path" : "developer-utils\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Toggle SSH SOCKS Tunnel", + "updatedAt" : "2025-09-29T13:44:50Z" }, { "authors" : [ @@ -7383,7 +8525,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Flutter Create Project", - "updatedAt" : "2021-08-17T16:40:16+00:00" + "updatedAt" : "2021-08-17T16:40:16Z" }, { "authors" : [ @@ -7551,7 +8693,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Query cheat.sh", - "updatedAt" : "2021-07-04T22:26:57+02:00" + "updatedAt" : "2023-09-06T19:19:46-05:00" }, { "authors" : [ @@ -7695,7 +8837,7 @@ "url" : "https:\/\/github.com\/doktor500" } ], - "createdAt" : "2021-12-20T12:46:48+00:00", + "createdAt" : "2021-12-20T12:46:48Z", "currentDirectoryPath" : null, "description" : "Generates a ULID and copies it to the clipboard.", "filename" : "generate-ulid.sh", @@ -7704,7 +8846,7 @@ "dark" : null, "light" : "💻" }, - "identifier" : "c3621c704381ac57b354d23166b7b287", + "identifier" : "17aae21d1f94cccc5275cb681e873b28", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -7714,7 +8856,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Generate ULID", - "updatedAt" : "2021-12-20T12:48:58+00:00" + "updatedAt" : "2021-12-20T12:48:58Z" }, { "authors" : [ @@ -7765,7 +8907,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Generate UUID", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : [ @@ -7802,7 +8944,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-02-16T22:31:57+00:00", + "createdAt" : "2021-02-16T22:31:57Z", "currentDirectoryPath" : null, "description" : "Create beautiful images of your code with https:\/\/ray.so", "filename" : "create-image-from-code.sh", @@ -7811,7 +8953,7 @@ "dark" : null, "light" : ".\/images\/ray-so.png" }, - "identifier" : "8ddb848532c729215e01d0d3fa1aeb6a", + "identifier" : "88ae1869a8a7487db63e8ff43fb3db43", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -7821,7 +8963,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Create Image from Code", - "updatedAt" : "2021-12-07T11:53:06+07:00" + "updatedAt" : "2024-03-12T21:01:55+07:00" }, { "authors" : [ @@ -7900,7 +9042,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Copy Lorem Ipsum", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : [ @@ -7928,7 +9070,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Print TLDR doc", - "updatedAt" : "2021-03-16T06:39:37+00:00" + "updatedAt" : "2021-03-16T06:39:37Z" }, { "authors" : [ @@ -7984,7 +9126,35 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Error Info", - "updatedAt" : "2021-03-01T16:54:23+00:00" + "updatedAt" : "2021-03-01T16:54:23Z" + }, + { + "authors" : [ + { + "name" : "decaylala", + "url" : "https:\/\/github.com\/decaylala" + } + ], + "createdAt" : "2023-09-05T23:21:57+08:00", + "currentDirectoryPath" : null, + "description" : "Join multiple lines of text from the clipboard into a single line, separated by a specified delimiter.", + "filename" : "join-lines.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "🛠" + }, + "identifier" : "ed8ed8f5841fbb881efe5a16aef73695", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Developer Utilities", + "path" : "developer-utils\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Join Clipboard Lines by Delimiter", + "updatedAt" : "2023-09-05T15:24:46Z" }, { "authors" : [ @@ -8014,6 +9184,34 @@ "title" : "Base64 Encode", "updatedAt" : "2021-03-26T10:57:36+01:00" }, + { + "authors" : [ + { + "name" : "Annie Ma", + "url" : "http:\/\/www.anniema.co\/" + } + ], + "createdAt" : "2024-01-26T02:19:25-07:00", + "currentDirectoryPath" : null, + "description" : "This script deletes the line at cursor position.", + "filename" : "delete-current-line.applescript", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "⌨️" + }, + "identifier" : "155fc5e8e485cc9d9f7a08797ea68597", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Developer Utilities", + "path" : "developer-utils\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Delete Current Line", + "updatedAt" : "2024-01-26T09:21:48Z" + }, { "authors" : [ { @@ -8040,7 +9238,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Strong Password Generator", - "updatedAt" : "2021-01-24T20:15:25+00:00" + "updatedAt" : "2021-01-24T20:15:25Z" }, { "authors" : null, @@ -8063,7 +9261,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Decode Base64", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : [ @@ -8091,7 +9289,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Clear All Related Junk", - "updatedAt" : "2021-06-14T20:33:34+03:00" + "updatedAt" : "2023-02-10T21:22:03-06:00" }, { "authors" : [ @@ -8119,7 +9317,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Copy Current Epoch Unix Timestamp", - "updatedAt" : "2021-07-29T11:41:55+00:00" + "updatedAt" : "2021-07-29T11:41:55Z" }, { "authors" : [ @@ -8198,7 +9396,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Prettify JSON", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : [ @@ -8226,7 +9424,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Open Deep Link", - "updatedAt" : "2021-09-01T13:11:06+00:00" + "updatedAt" : "2021-09-01T13:11:06Z" }, { "authors" : [ @@ -8277,7 +9475,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Clear Derived Data", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : [ @@ -8333,7 +9531,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Get TTFB (Time to First Byte)", - "updatedAt" : "2022-08-19T12:58:32+03:00" + "updatedAt" : "2023-01-05T20:54:09+02:00" }, { "authors" : [ @@ -8361,7 +9559,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Trim Git Commit Hash", - "updatedAt" : "2021-07-19T14:40:00+00:00" + "updatedAt" : "2021-07-19T14:40:00Z" }, { "authors" : [ @@ -8625,7 +9823,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Clean", - "updatedAt" : "2021-06-12T17:33:18+00:00" + "updatedAt" : "2021-06-12T17:33:18Z" }, { "authors" : [ @@ -9131,7 +10329,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Doctor", - "updatedAt" : "2021-02-25T00:34:23+00:00" + "updatedAt" : "2021-02-25T00:34:23Z" }, { "authors" : [ @@ -9159,7 +10357,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Outdated List", - "updatedAt" : "2021-02-25T00:34:23+00:00" + "updatedAt" : "2021-02-25T00:34:23Z" }, { "authors" : [ @@ -9215,7 +10413,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Start Service", - "updatedAt" : "2021-02-25T00:34:23+00:00" + "updatedAt" : "2021-02-25T00:34:23Z" }, { "authors" : [ @@ -9243,7 +10441,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "List", - "updatedAt" : "2021-03-19T16:42:53+00:00" + "updatedAt" : "2021-03-19T16:42:53Z" }, { "authors" : [ @@ -9271,7 +10469,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Upgrade", - "updatedAt" : "2021-02-25T00:34:23+00:00" + "updatedAt" : "2021-02-25T00:34:23Z" }, { "authors" : [ @@ -9299,7 +10497,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Stop Service", - "updatedAt" : "2021-02-25T00:34:23+00:00" + "updatedAt" : "2021-02-25T00:34:23Z" }, { "authors" : [ @@ -9327,7 +10525,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Update", - "updatedAt" : "2021-03-19T16:42:53+00:00" + "updatedAt" : "2021-03-19T16:42:53Z" }, { "authors" : [ @@ -9355,7 +10553,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Restart Service", - "updatedAt" : "2021-09-07T10:00:18+00:00" + "updatedAt" : "2021-09-07T10:00:18Z" }, { "authors" : [ @@ -9411,7 +10609,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Services List", - "updatedAt" : "2021-02-25T00:34:23+00:00" + "updatedAt" : "2021-02-25T00:34:23Z" } ] }, @@ -9454,7 +10652,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2020-11-27T10:40:24+00:00", + "createdAt" : "2020-11-27T10:40:24Z", "currentDirectoryPath" : null, "description" : "Show statistics of your GitHub repository.", "filename" : "github-repository-stars.template.rb", @@ -9463,7 +10661,7 @@ "dark" : null, "light" : "⭐️" }, - "identifier" : "f7f43950b26ed37ae90938e7f4a0e0ad", + "identifier" : "bda99211bf65f1b5219db20e1b8f1b3d", "isTemplate" : true, "language" : "ruby", "mode" : "inline", @@ -9473,7 +10671,7 @@ "refreshTime" : "1h", "schemaVersion" : 1, "title" : "Repository Statistics", - "updatedAt" : "2020-11-27T10:40:24+00:00" + "updatedAt" : "2020-11-27T10:40:24Z" }, { "authors" : [ @@ -9503,6 +10701,34 @@ "title" : "GitHub Contributions", "updatedAt" : "2021-11-19T19:14:43+01:00" }, + { + "authors" : [ + { + "name" : "Valdir Junior", + "url" : "https:\/\/github.com\/valdirjunior011 " + } + ], + "createdAt" : "2023-07-25T02:12:24+02:00", + "currentDirectoryPath" : null, + "description" : "Show statistics of your GitHub repositories.", + "filename" : "github-repository-stars_all_repos_template.rb", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "⭐️" + }, + "identifier" : "b1a1df37b2ee1f7965f5bad16f491ddd", + "isTemplate" : true, + "language" : "ruby", + "mode" : "inline", + "needsConfirmation" : null, + "packageName" : "GitHub", + "path" : "developer-utils\/github\/", + "refreshTime" : "1h", + "schemaVersion" : 1, + "title" : "Repository Statistics", + "updatedAt" : "2023-07-25T00:17:33Z" + }, { "authors" : [ { @@ -9538,7 +10764,7 @@ "url" : "https:\/\/github.com\/FSipiano" } ], - "createdAt" : "2021-03-17T17:31:38+00:00", + "createdAt" : "2021-03-17T17:31:38Z", "currentDirectoryPath" : null, "description" : "Display number of open pull requests", "filename" : "github-open-pull-requests.template.rb", @@ -9547,7 +10773,7 @@ "dark" : "images\/github-logo-iconDark.png", "light" : "images\/github-logo.png" }, - "identifier" : "94eaf509839a2abb4c0f38fe84dac1fb", + "identifier" : "07da15e048906bd7b5ee0275044649f8", "isTemplate" : true, "language" : "ruby", "mode" : "inline", @@ -9557,7 +10783,7 @@ "refreshTime" : "5m", "schemaVersion" : 1, "title" : "Open Pull Requests", - "updatedAt" : "2021-03-18T11:30:06+00:00" + "updatedAt" : "2021-03-18T11:30:06Z" }, { "authors" : [ @@ -9566,7 +10792,7 @@ "url" : "https:\/\/github.com\/FSipiano" } ], - "createdAt" : "2021-03-17T17:31:38+00:00", + "createdAt" : "2021-03-17T17:31:38Z", "currentDirectoryPath" : null, "description" : "Display (detailed) GitHub pull requests", "filename" : "github-open-pull-requests-details.template.rb", @@ -9575,7 +10801,7 @@ "dark" : "images\/github-logo-iconDark.png", "light" : "images\/github-logo.png" }, - "identifier" : "02e903f7524e97478f2c5c31ee143834", + "identifier" : "d01e8e7a75307d40d48797d8ec6041b8", "isTemplate" : true, "language" : "ruby", "mode" : "fullOutput", @@ -9594,7 +10820,7 @@ "url" : "https:\/\/github.com\/FSipiano" } ], - "createdAt" : "2021-03-17T17:31:38+00:00", + "createdAt" : "2021-03-17T17:31:38Z", "currentDirectoryPath" : null, "description" : "Open your GitHub pull requests page", "filename" : "github-open-pull-requests-page.sh", @@ -9603,7 +10829,7 @@ "dark" : "images\/github-logo-iconDark.png", "light" : "images\/github-logo.png" }, - "identifier" : "063d1b26dd9a78237a832b439845c4c0", + "identifier" : "1568c128b1e4e3897c8f2a65bb14d551", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -9613,7 +10839,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Open Pull Requests page", - "updatedAt" : "2021-03-18T11:30:06+00:00" + "updatedAt" : "2021-03-18T11:30:06Z" }, { "authors" : [ @@ -9622,7 +10848,7 @@ "url" : "https:\/\/github.com\/vpicone" } ], - "createdAt" : "2021-03-17T17:31:38+00:00", + "createdAt" : "2021-03-17T17:31:38Z", "currentDirectoryPath" : null, "description" : "Display number of Pull Requests requesting your review", "filename" : "github-review-requests.template.rb", @@ -9631,7 +10857,7 @@ "dark" : "images\/github-logo-iconDark.png", "light" : "images\/github-logo.png" }, - "identifier" : "61586867ab7b6b2efa596bce302ed064", + "identifier" : "d1fc531c2aa8d1bac53ac6f630c1ca90", "isTemplate" : true, "language" : "ruby", "mode" : "inline", @@ -9705,6 +10931,34 @@ "name" : "Aws", "path" : "aws", "scriptCommands" : [ + { + "authors" : [ + { + "name" : "Chris Cook", + "url" : "https:\/\/github.com\/zirkelc" + } + ], + "createdAt" : "2024-06-14T14:31:44+02:00", + "currentDirectoryPath" : null, + "description" : "Download from Amazon S3 via URL", + "filename" : "amazon-s3-download.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "images\/amazon-s3.png" + }, + "identifier" : "b4dd5f3fe1c6dd1b9b44fc9f0fe88364", + "isTemplate" : false, + "language" : "bash", + "mode" : "fullOutput", + "needsConfirmation" : null, + "packageName" : "AWS", + "path" : "developer-utils\/aws\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "S3 Download", + "updatedAt" : "2024-09-17T11:36:59+02:00" + }, { "authors" : [ { @@ -9731,7 +10985,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Single Sign-On", - "updatedAt" : "2021-12-19T15:22:29+00:00" + "updatedAt" : "2021-12-19T15:22:29Z" }, { "authors" : [ @@ -9759,7 +11013,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Find AWS Region by IP", - "updatedAt" : "2021-01-04T13:34:28+00:00" + "updatedAt" : "2021-01-04T13:34:28Z" } ] }, @@ -9774,7 +11028,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2020-12-02T09:13:05+00:00", + "createdAt" : "2020-12-02T09:13:05Z", "currentDirectoryPath" : null, "description" : "Show unresolved issues of the last 24 hours from Sentry.", "filename" : "sentry-unresolved-issues.template.py", @@ -9783,7 +11037,7 @@ "dark" : "images\/sentry-dark.png", "light" : "images\/sentry.png" }, - "identifier" : "ad03c85a59ef25bccd103067f7034697", + "identifier" : "d965f2571912eb46a116071bd5a25111", "isTemplate" : true, "language" : "python", "mode" : "inline", @@ -9793,7 +11047,7 @@ "refreshTime" : "1h", "schemaVersion" : 1, "title" : "Unresolved Issues", - "updatedAt" : "2020-12-02T09:13:05+00:00" + "updatedAt" : "2020-12-02T09:13:05Z" }, { "authors" : [ @@ -9806,7 +11060,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2020-12-02T09:13:05+00:00", + "createdAt" : "2020-12-02T09:13:05Z", "currentDirectoryPath" : null, "description" : "Show unresolved issues in the last 24 hours (by project) from Sentry.", "filename" : "sentry-unresolved-issues-by-project.template.py", @@ -9815,7 +11069,7 @@ "dark" : "images\/sentry-dark.png", "light" : "images\/sentry.png" }, - "identifier" : "0b50b081414f73ef7e75e1f061bf9bd2", + "identifier" : "cd9dc8603b5433fe83c15dd43785add6", "isTemplate" : true, "language" : "python", "mode" : "fullOutput", @@ -9996,7 +11250,7 @@ ], "createdAt" : "2021-10-11T13:31:08+03:00", "currentDirectoryPath" : null, - "description" : "Finds path to the given directory which must be a vs code or git project and opens it with VS Code", + "description" : "Finds path to the given directory which must be a VS Code or Git project and opens it with VS Code", "filename" : "open-project-in-vscode.sh", "hasArguments" : true, "icon" : { @@ -10013,7 +11267,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Open Project", - "updatedAt" : "2021-10-11T13:31:08+03:00" + "updatedAt" : "2022-11-08T14:51:04+05:30" }, { "authors" : [ @@ -10024,7 +11278,7 @@ ], "createdAt" : "2021-02-22T11:26:39+01:00", "currentDirectoryPath" : null, - "description" : "Opens current topmost directory in VSCode", + "description" : "Opens current topmost directory in VS Code", "filename" : "open-folder-in-vscode.applescript", "hasArguments" : false, "icon" : { @@ -10041,7 +11295,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Open Directory", - "updatedAt" : "2021-10-11T13:31:08+03:00" + "updatedAt" : "2022-11-08T14:51:04+05:30" } ] }, @@ -10222,698 +11476,702 @@ ] }, { - "name" : "Password Managers", - "path" : "password-managers", + "name" : "Communication", + "path" : "communication", "scriptCommands" : [ - - ], - "subGroups" : [ { - "name" : "Bitwarden", - "path" : "bitwarden", - "readme" : "password-managers\/bitwarden\/README.md", - "scriptCommands" : [ - { - "authors" : [ - { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" - } - ], - "createdAt" : "2021-02-03T02:57:58-05:00", - "currentDirectoryPath" : null, - "description" : "Search all items in a Bitwarden vault, and copy the password of the first search result to the clipboard.", - "filename" : "copy-first-matching-password.sh", - "hasArguments" : true, - "icon" : { - "dark" : null, - "light" : "images\/bitwarden.png" - }, - "identifier" : "72075d66d7c96563327670d572148a5c", - "isTemplate" : false, - "language" : "bash", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Copy First Matching Password", - "updatedAt" : "2021-06-27T00:02:29+02:00" - }, + "authors" : [ { - "authors" : [ - { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" - } - ], - "createdAt" : "2021-03-29T13:44:44-04:00", - "currentDirectoryPath" : null, - "description" : "Delete a Bitwarden Send.", - "filename" : "delete-send.sh", - "hasArguments" : true, - "icon" : { - "dark" : null, - "light" : "images\/bitwarden.png" - }, - "identifier" : "c379a38ce1c09e8d957bd3be837d9ebd", - "isTemplate" : false, - "language" : "bash", - "mode" : "silent", - "needsConfirmation" : true, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Delete a Send", - "updatedAt" : "2021-03-29T13:44:44-04:00" - }, + "name" : "Caleb Stauffer", + "url" : "https:\/\/github.com\/crstauf" + } + ], + "createdAt" : "2020-11-16T16:14:09-05:00", + "currentDirectoryPath" : null, + "description" : "Use [xkcdpass](https:\/\/github.com\/redacted\/XKCD-password-generator) to create a passphrase.", + "filename" : "xkcdpass.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🔐" + }, + "identifier" : "e48d4638b40bf69a6c441a609f09e27b", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Communication", + "path" : "communication\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Generate Passphrase", + "updatedAt" : "2020-12-09T15:47:57-05:00" + }, + { + "authors" : [ { - "authors" : [ - { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" - } - ], - "createdAt" : "2021-02-03T02:57:58-05:00", - "currentDirectoryPath" : null, - "description" : "Lock a Bitwarden session.", - "filename" : "lock.sh", - "hasArguments" : false, - "icon" : { - "dark" : null, - "light" : "images\/bitwarden.png" - }, - "identifier" : "2a9be47e57277d4fa9cb8a226abd9b4e", - "isTemplate" : false, - "language" : "bash", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Lock Session", - "updatedAt" : "2021-03-29T13:44:44-04:00" + "name" : "Leo Fritsch", + "url" : "https:\/\/github.com\/leofritsch" + } + ], + "createdAt" : "2023-06-26T20:03:01+02:00", + "currentDirectoryPath" : null, + "description" : "Let Me Google That For You", + "filename" : "let-me-google-that.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🤡" + }, + "identifier" : "8c26812f87ffcd8305d704e94d8146eb", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Communication", + "path" : "communication\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Let Me Google That", + "updatedAt" : "2023-06-27T09:57:07Z" + }, + { + "authors" : [ + { + "name" : "Alexander JH Steffen", + "url" : "https:\/\/github.com\/alexjsteffen" + } + ], + "createdAt" : "2021-12-20T07:46:10-05:00", + "currentDirectoryPath" : null, + "description" : "Place a telephone call via your iPhone on Wi-Fi.", + "filename" : "call-with-iphone.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "📱" + }, + "identifier" : "6a212b23c41606e8701b64a7e18a00bb", + "isTemplate" : false, + "language" : "bash", + "mode" : "compact", + "needsConfirmation" : null, + "packageName" : "Communication", + "path" : "communication\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Call with iPhone", + "updatedAt" : "2021-12-20T07:46:10-05:00" + }, + { + "authors" : [ + { + "name" : "Felipe Turcheti", + "url" : "https:\/\/felipeturcheti.com" + } + ], + "createdAt" : "2021-04-14T11:35:06-03:00", + "currentDirectoryPath" : null, + "description" : "Convert text to audible speech.", + "filename" : "say.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "🗣" + }, + "identifier" : "36d92cab708c342b05f9c7ac27e5e96f", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Communication", + "path" : "communication\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Say", + "updatedAt" : "2021-04-14T12:13:12-03:00" + }, + { + "authors" : [ + { + "name" : "Petr Nikolaev", + "url" : "https:\/\/github.com\/PitNikola" + } + ], + "createdAt" : "2021-03-14T20:36:28Z", + "currentDirectoryPath" : null, + "description" : "Share secret securely using https:\/\/share.doppler.com\/.", + "filename" : "share-secret-doppler.py", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "images\/doppler-logo.png" + }, + "identifier" : "348009c977b2cf35d589b7723f89b8ed", + "isTemplate" : false, + "language" : "python", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Doppler", + "path" : "communication\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Share Secret from Clipboard", + "updatedAt" : "2021-03-14T20:36:28Z" + }, + { + "authors" : [ + { + "name" : "Caleb Stauffer", + "url" : "https:\/\/github.com\/crstauf" }, + { + "name" : "Thiago Holanda", + "url" : "https:\/\/twitter.com\/tholanda" + } + ], + "createdAt" : "2020-11-09T09:32:06-05:00", + "currentDirectoryPath" : null, + "description" : "Get most recent two-factor authentication code from iMessages.", + "filename" : "imessage-2fa.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🔐" + }, + "identifier" : "12f0f2ced06b2baa123a6105dbfaca73", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "iMessage", + "path" : "communication\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "2FA from iMessages", + "updatedAt" : "2020-11-28T13:47:10-05:00" + } + ], + "subGroups" : [ + { + "name" : "Google Meet", + "path" : "google-meet", + "scriptCommands" : [ { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Mujib Azizi", + "url" : "https:\/\/github.com\/mujibazizi" } ], - "createdAt" : "2021-02-03T02:57:58-05:00", + "createdAt" : "2021-03-30T10:13:53+02:00", "currentDirectoryPath" : null, - "description" : "View the content of a text-only Bitwarden Send.", - "filename" : "receive-text-send.sh", - "hasArguments" : true, + "description" : "Start a Google Meet session", + "filename" : "meet.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/bitwarden.png" + "light" : "images\/logo.png" }, - "identifier" : "f850482284a0f897ac026bb0ed8514d2", + "identifier" : "05b7c0a10c2a7fe1d487f1d608b3a9b3", "isTemplate" : false, "language" : "bash", - "mode" : "fullOutput", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", + "packageName" : "Google", + "path" : "communication\/google-meet\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Receive a Text Send", - "updatedAt" : "2021-06-16T14:43:13+02:00" - }, + "title" : "Open Google Meet", + "updatedAt" : "2021-07-14T20:00:21+02:00" + } + ] + }, + { + "name" : "Mail", + "path" : "mail", + "scriptCommands" : [ { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Ben Yoon", + "url" : "https:\/\/github.com\/benyn" } ], - "createdAt" : "2021-02-03T02:57:58-05:00", + "createdAt" : "2023-02-02T13:38:06-08:00", "currentDirectoryPath" : null, - "description" : "Create a new text-only Bitwarden Send.", - "filename" : "create-text-send.sh", - "hasArguments" : true, + "description" : "Open the last received email in your inbox in Mail.app", + "filename" : "open-most-recent-email.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/bitwarden.png" + "light" : "✉️" }, - "identifier" : "ef085c701b79f8559894d964b6244742", + "identifier" : "3766484ecb1942dab17dd995c1e51f14", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", + "packageName" : "Mail", + "path" : "communication\/mail\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create a Text Send", - "updatedAt" : "2021-06-16T14:43:13+02:00" - }, + "title" : "Open Most Recent Email", + "updatedAt" : "2023-02-03T00:48:14Z" + } + ] + }, + { + "name" : "DuckDuckGo Email Protection", + "path" : "duckduckgo-email-protection", + "readme" : "communication\/duckduckgo-email-protection\/README.md", + "scriptCommands" : [ { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Rediwed", + "url" : "github.com\/Rediwed" } ], - "createdAt" : "2021-02-03T02:57:58-05:00", + "createdAt" : "2022-02-10T09:48:48+01:00", "currentDirectoryPath" : null, - "description" : "Search all items in a Bitwarden vault.", - "filename" : "search-vault-items.sh", + "description" : "Use this script command to configure your @duck.com authorizationID", + "filename" : "configure-@duck.com-script-command.applescript", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/bitwarden.png" + "light" : "images\/duckduckgo_logo.png" }, - "identifier" : "1e0fc8f792351eeff8d1f403cef716f5", + "identifier" : "f21768def3b65261d459100b8eac5e8c", "isTemplate" : false, - "language" : "bash", - "mode" : "fullOutput", + "language" : "applescript", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", + "packageName" : "DuckDuckGo Email Protection", + "path" : "communication\/duckduckgo-email-protection\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Search Vault Items", - "updatedAt" : "2021-02-20T18:54:25-05:00" + "title" : "Configure", + "updatedAt" : "2022-02-10T09:48:48+01:00" }, { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Rediwed", + "url" : "github.com\/Rediwed" } ], - "createdAt" : "2021-02-03T02:57:58-05:00", + "createdAt" : "2022-02-10T09:48:48+01:00", "currentDirectoryPath" : null, - "description" : "Display the authentication and lock status of the user's Bitwarden session.", - "filename" : "status.sh", + "description" : "This script command generates a unique private @duck.com email address.", + "filename" : "generate-unique-email-address.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/bitwarden.png" + "light" : "images\/duckduckgo_logo.png" }, - "identifier" : "d86ee71986d686b7dfdeac1101e869ef", + "identifier" : "6c12d494954c21d0580e847a688d9eb3", "isTemplate" : false, - "language" : "bash", - "mode" : "inline", + "language" : "applescript", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", - "refreshTime" : "5m", + "packageName" : "DuckDuckGo Email Protection", + "path" : "communication\/duckduckgo-email-protection\/", + "refreshTime" : null, "schemaVersion" : 1, - "title" : "Bitwarden Status", - "updatedAt" : "2021-03-29T13:44:44-04:00" - }, + "title" : "Generate Unique Address", + "updatedAt" : "2024-07-14T22:23:53+08:00" + } + ] + }, + { + "name" : "Messenger", + "path" : "messenger", + "scriptCommands" : [ { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Jakub Lanski", + "url" : "https:\/\/github.com\/jaklan" } ], - "createdAt" : "2021-03-29T13:44:44-04:00", + "createdAt" : "2021-05-18T17:49:46+02:00", "currentDirectoryPath" : null, - "description" : "Edit an existing Bitwarden Send.", - "filename" : "edit-send.sh", + "description" : null, + "filename" : "messenger-open-conversation.applescript", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/bitwarden.png" + "light" : "images\/messenger.png" }, - "identifier" : "11b9241c955e4217f11a3e797189a3ab", + "identifier" : "d323b0b1ce4d1b6c8f6397c079a23681", "isTemplate" : false, - "language" : "bash", - "mode" : "fullOutput", + "language" : "applescript", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", + "packageName" : "Messenger", + "path" : "communication\/messenger\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Edit a Send", - "updatedAt" : "2021-03-29T13:44:44-04:00" + "title" : "Open Conversation", + "updatedAt" : "2021-07-23T17:47:14-04:00" + } + ] + }, + { + "name" : "Zoom", + "path" : "zoom", + "scriptCommands" : [ + { + "authors" : [ + { + "name" : "Faris Aziz", + "url" : "https:\/\/github.com\/farisaziz12" + } + ], + "createdAt" : "2021-05-02T20:25:26+02:00", + "currentDirectoryPath" : null, + "description" : "Leaves Current Zoom meeting", + "filename" : "leave-meeting.applescript", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/zoom-logo.png" + }, + "identifier" : "1bfa04dd638bb1a5f9d93f3a556e96a3", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : true, + "packageName" : "Zoom", + "path" : "communication\/zoom\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Leave Meeting", + "updatedAt" : "2021-05-03T09:54:17Z" }, { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Leo Voon", + "url" : "https:\/\/github.com\/leovoon" } ], - "createdAt" : "2021-02-03T02:57:58-05:00", + "createdAt" : "2023-03-31T09:30:18+08:00", "currentDirectoryPath" : null, - "description" : "List all Bitwarden text Sends created in the currently unlocked account.", - "filename" : "list-sends.sh", + "description" : "Rename your profile in Zoom Meeting App (Mac Only) and cliclick.", + "filename" : "rename-profile.applescript", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/bitwarden.png" + "light" : "images\/zoom-logo.png" }, - "identifier" : "10d61b623f51ab4e5a12cb1df29a16c0", + "identifier" : "ff7531c3b095eb59465663d7b2e5626b", "isTemplate" : false, - "language" : "bash", - "mode" : "fullOutput", + "language" : "applescript", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", + "packageName" : "Zoom", + "path" : "communication\/zoom\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "List All Text Sends", - "updatedAt" : "2021-03-29T13:44:44-04:00" + "title" : "Rename Profile", + "updatedAt" : "2023-03-31T03:48:28Z" }, { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Luigi Cardito", + "url" : "https:\/\/github.com\/lcardito" + }, + { + "name" : "Faris Aziz", + "url" : "https:\/\/github.com\/farisaziz12" } ], - "createdAt" : "2021-02-03T02:57:58-05:00", + "createdAt" : "2021-08-31T10:32:28+02:00", "currentDirectoryPath" : null, - "description" : "Unlock an authenticated Bitwarden session.", - "filename" : "unlock.sh", - "hasArguments" : true, + "description" : "Show\/Hide your microphone in the current meeting", + "filename" : "toggle-video.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/bitwarden.png" + "light" : "images\/zoom-logo.png" }, - "identifier" : "0d6dbf49507170aa4af614cbb4b16613", + "identifier" : "a36414a653b2c264285dc7fd4b62563b", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", + "packageName" : "Zoom", + "path" : "communication\/zoom\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Unlock Session", - "updatedAt" : "2021-06-20T15:07:42+02:00" + "title" : "Toggle Video", + "updatedAt" : "2021-08-31T16:37:44+02:00" }, { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Luigi Cardito", + "url" : "https:\/\/github.com\/lcardito" + }, + { + "name" : "Faris Aziz", + "url" : "https:\/\/github.com\/farisaziz12" } ], - "createdAt" : "2021-02-03T02:57:58-05:00", + "createdAt" : "2021-08-31T10:32:28+02:00", "currentDirectoryPath" : null, - "description" : "Log out of Bitwarden.", - "filename" : "log-out.sh", + "description" : "Mute\/Unmute your microphone in the current meeting", + "filename" : "toggle-mic.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/bitwarden.png" + "light" : "images\/zoom-logo.png" }, - "identifier" : "b0e4b9ddb57fdd18854bc8436273b550", + "identifier" : "5f4ac638a28f19b6fa2f377204f1d6dc", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", + "packageName" : "Zoom", + "path" : "communication\/zoom\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Log Out", - "updatedAt" : "2021-03-29T13:44:44-04:00" - }, + "title" : "Toggle Microphone", + "updatedAt" : "2021-08-31T16:37:44+02:00" + } + ] + }, + { + "name" : "Slack", + "path" : "slack", + "scriptCommands" : [ { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/int3rrupt" + "name" : "Jakub Lanski", + "url" : "https:\/\/github.com\/jaklan" } ], - "createdAt" : "2021-02-03T02:57:58-05:00", + "createdAt" : "2021-05-16T16:05:58+02:00", "currentDirectoryPath" : null, - "description" : "Search all items in a Bitwarden vault, and copy the TOTP of the first search result to the clipboard.", - "filename" : "copy-first-matching-totp.sh", + "description" : null, + "filename" : "slack-open-workspace-by-index.applescript", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/bitwarden.png" + "light" : "images\/slack-logo.png" }, - "identifier" : "5ddedd2cc4ce0ce27ea9da0db895b05d", + "identifier" : "4a802368b9f32f0e1f2f6a44338f7ce8", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", + "packageName" : "Slack", + "path" : "communication\/slack\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Copy First Matching TOTP", - "updatedAt" : "2021-07-19T06:32:07-07:00" + "title" : "Open Workspace by Index", + "updatedAt" : "2021-07-23T17:47:56-04:00" }, { "authors" : [ { - "name" : "Marcel Bochtler", - "url" : "https:\/\/github.com\/MarcelBochtler" + "name" : "alongat", + "url" : "https:\/\/github.com\/alongat" } ], - "createdAt" : "2021-11-03T21:02:13+01:00", + "createdAt" : "2021-01-05T21:47:13+02:00", "currentDirectoryPath" : null, - "description" : "Log in to Bitwarden using an API key.", - "filename" : "log-in-apikey.template.sh", - "hasArguments" : true, + "description" : "Set your status in Slack to a song currently playing in Spotify.", + "filename" : "set-slack-status-spotify.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/bitwarden.png" + "light" : "images\/slack-logo.png" }, - "identifier" : "837bd1e9a8fe1ed4fa905be4f9cbc492", - "isTemplate" : true, + "identifier" : "01d42581576437961b8a3aa2af5e6b93", + "isTemplate" : false, + "language" : "bash", + "mode" : "inline", + "needsConfirmation" : null, + "packageName" : "Slack", + "path" : "communication\/slack\/", + "refreshTime" : "30s", + "schemaVersion" : 1, + "title" : "Set Status in Slack to Spotify Song", + "updatedAt" : "2021-01-24T22:49:22+02:00" + }, + { + "authors" : [ + { + "name" : "Sam Ching", + "url" : "https:\/\/github.com\/samching" + } + ], + "createdAt" : "2020-11-26T13:39:55Z", + "currentDirectoryPath" : null, + "description" : "Clear DND Status in Slack", + "filename" : "clear-slack-DND-status.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/slack-logo.png" + }, + "identifier" : "05872fc3bb67f93dd979fe0f25b06545", + "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", + "packageName" : "Slack", + "path" : "communication\/slack\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Log In", - "updatedAt" : "2021-11-03T21:02:13+01:00" + "title" : "Clear Slack DND", + "updatedAt" : "2021-01-24T22:49:22+02:00" }, { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Zeb Pykosz", + "url" : "https:\/\/github.com\/zebapy" } ], - "createdAt" : "2021-02-03T02:57:58-05:00", + "createdAt" : "2020-11-26T13:39:55Z", "currentDirectoryPath" : null, - "description" : "Log in to Bitwarden.", - "filename" : "log-in.template.sh", + "description" : "Create a Slack reminder", + "filename" : "add-slack-reminder.template.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/bitwarden.png" + "light" : "⏰" }, - "identifier" : "8bbdf715852f934a47421e7f13d67602", + "identifier" : "8f2bf69938e8df32b08bf016b259d993", "isTemplate" : true, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bitwarden", - "path" : "password-managers\/bitwarden\/", + "packageName" : "Slack", + "path" : "communication\/slack\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Log In", - "updatedAt" : "2021-06-17T13:37:57+02:00" - } - ] - } - ] - }, - { - "name" : "Communication", - "path" : "communication", - "scriptCommands" : [ - { - "authors" : [ - { - "name" : "Caleb Stauffer", - "url" : "https:\/\/github.com\/crstauf" - } - ], - "createdAt" : "2020-11-16T16:14:09-05:00", - "currentDirectoryPath" : null, - "description" : "Use [xkcdpass](https:\/\/github.com\/redacted\/XKCD-password-generator) to create a passphrase.", - "filename" : "xkcdpass.sh", - "hasArguments" : false, - "icon" : { - "dark" : null, - "light" : "🔐" - }, - "identifier" : "e48d4638b40bf69a6c441a609f09e27b", - "isTemplate" : false, - "language" : "bash", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Communication", - "path" : "communication\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Generate Passphrase", - "updatedAt" : "2020-12-09T15:47:57-05:00" - }, - { - "authors" : [ - { - "name" : "Alexander JH Steffen", - "url" : "https:\/\/github.com\/alexjsteffen" - } - ], - "createdAt" : "2021-12-20T07:46:10-05:00", - "currentDirectoryPath" : null, - "description" : "Place a telephone call via your iPhone on Wi-Fi.", - "filename" : "call-with-iphone.sh", - "hasArguments" : true, - "icon" : { - "dark" : null, - "light" : "📱" - }, - "identifier" : "6a212b23c41606e8701b64a7e18a00bb", - "isTemplate" : false, - "language" : "bash", - "mode" : "compact", - "needsConfirmation" : null, - "packageName" : "Communication", - "path" : "communication\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Call with iPhone", - "updatedAt" : "2021-12-20T07:46:10-05:00" - }, - { - "authors" : [ - { - "name" : "Felipe Turcheti", - "url" : "https:\/\/felipeturcheti.com" - } - ], - "createdAt" : "2021-04-14T11:35:06-03:00", - "currentDirectoryPath" : null, - "description" : "Convert text to audible speech.", - "filename" : "say.sh", - "hasArguments" : true, - "icon" : { - "dark" : null, - "light" : "🗣" - }, - "identifier" : "36d92cab708c342b05f9c7ac27e5e96f", - "isTemplate" : false, - "language" : "bash", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Communication", - "path" : "communication\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Say", - "updatedAt" : "2021-04-14T12:13:12-03:00" - }, - { - "authors" : [ - { - "name" : "Petr Nikolaev", - "url" : "https:\/\/github.com\/PitNikola" - } - ], - "createdAt" : "2021-03-14T20:36:28+00:00", - "currentDirectoryPath" : null, - "description" : "Share secret securely using https:\/\/share.doppler.com\/.", - "filename" : "share-secret-doppler.py", - "hasArguments" : true, - "icon" : { - "dark" : null, - "light" : "images\/doppler-logo.png" - }, - "identifier" : "7083bf08edba754d9457b2d289de18be", - "isTemplate" : false, - "language" : "python", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Doppler", - "path" : "communication\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Share Secret from Clipboard", - "updatedAt" : "2021-03-14T20:36:28+00:00" - }, - { - "authors" : [ - { - "name" : "Caleb Stauffer", - "url" : "https:\/\/github.com\/crstauf" - }, - { - "name" : "Thiago Holanda", - "url" : "https:\/\/twitter.com\/tholanda" - } - ], - "createdAt" : "2020-11-09T09:32:06-05:00", - "currentDirectoryPath" : null, - "description" : "Get most recent two-factor authentication code from iMessages.", - "filename" : "imessage-2fa.sh", - "hasArguments" : false, - "icon" : { - "dark" : null, - "light" : "🔐" - }, - "identifier" : "12f0f2ced06b2baa123a6105dbfaca73", - "isTemplate" : false, - "language" : "bash", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "iMessage", - "path" : "communication\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "2FA from iMessages", - "updatedAt" : "2020-11-28T13:47:10-05:00" - } - ], - "subGroups" : [ - { - "name" : "Google Meet", - "path" : "google-meet", - "scriptCommands" : [ + "title" : "Add Reminder", + "updatedAt" : "2022-01-15T18:23:42Z" + }, { "authors" : [ { - "name" : "Mujib Azizi", - "url" : "https:\/\/github.com\/mujibazizi" + "name" : "Jakub Lanski", + "url" : "https:\/\/github.com\/jaklan" } ], - "createdAt" : "2021-03-30T10:13:53+02:00", + "createdAt" : "2021-05-18T10:01:58+02:00", "currentDirectoryPath" : null, - "description" : "Start a Google Meet session", - "filename" : "meet.sh", - "hasArguments" : false, + "description" : null, + "filename" : "slack-open-workspace-by-name.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/logo.png" + "light" : "images\/slack-logo.png" }, - "identifier" : "05b7c0a10c2a7fe1d487f1d608b3a9b3", + "identifier" : "d2fdd94734c119a616fe67b54ebcdd7c", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Google", - "path" : "communication\/google-meet\/", + "packageName" : "Slack", + "path" : "communication\/slack\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Google Meet", - "updatedAt" : "2021-07-14T20:00:21+02:00" - } - ] - }, - { - "name" : "DuckDuckGo Email Protection", - "path" : "duckduckgo-email-protection", - "readme" : "communication\/duckduckgo-email-protection\/README.md", - "scriptCommands" : [ + "title" : "Open Workspace by Name", + "updatedAt" : "2021-07-23T17:48:20-04:00" + }, { "authors" : [ { - "name" : "Rediwed", - "url" : "github.com\/Rediwed" + "name" : "Thomas Paul Mann", + "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2022-02-10T09:48:48+01:00", + "createdAt" : "2020-11-26T13:39:55Z", "currentDirectoryPath" : null, - "description" : "Use this script command to configure your @duck.com authorizationID", - "filename" : "configure-@duck.com-script-command.applescript", - "hasArguments" : true, + "description" : "Clear your status in Slack.", + "filename" : "clear-slack-status.template.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/duckduckgo_logo.png" + "light" : "🧼" }, - "identifier" : "f21768def3b65261d459100b8eac5e8c", - "isTemplate" : false, - "language" : "applescript", - "mode" : "compact", + "identifier" : "17d4ffd95aaa50ac53208639c1807969", + "isTemplate" : true, + "language" : "bash", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DuckDuckGo Email Protection", - "path" : "communication\/duckduckgo-email-protection\/", + "packageName" : "Slack", + "path" : "communication\/slack\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Configure", - "updatedAt" : "2022-02-10T09:48:48+01:00" + "title" : "Clear Status", + "updatedAt" : "2020-11-26T13:44:17Z" }, { "authors" : [ { - "name" : "Rediwed", - "url" : "github.com\/Rediwed" + "name" : "Jakub Lanski", + "url" : "https:\/\/github.com\/jaklan" } ], - "createdAt" : "2022-02-10T09:48:48+01:00", + "createdAt" : "2021-05-18T07:53:58+02:00", "currentDirectoryPath" : null, - "description" : "This script command generates a unique private @duck.com email address.", - "filename" : "generate-unique-email-address.applescript", - "hasArguments" : false, + "description" : null, + "filename" : "slack-jump-to.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/duckduckgo_logo.png" + "light" : "images\/slack-logo.png" }, - "identifier" : "6c12d494954c21d0580e847a688d9eb3", + "identifier" : "27ca9558af53540a5077aa69fcbcd4db", "isTemplate" : false, "language" : "applescript", - "mode" : "compact", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DuckDuckGo Email Protection", - "path" : "communication\/duckduckgo-email-protection\/", + "packageName" : "Slack", + "path" : "communication\/slack\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Generate Unique Address", - "updatedAt" : "2022-02-10T09:48:48+01:00" - } - ] - }, - { - "name" : "Messenger", - "path" : "messenger", - "scriptCommands" : [ + "title" : "Jump to...", + "updatedAt" : "2021-07-23T17:47:47-04:00" + }, { "authors" : [ { - "name" : "Jakub Lanski", - "url" : "https:\/\/github.com\/jaklan" + "name" : "alongat", + "url" : "https:\/\/github.com\/alongat" } ], - "createdAt" : "2021-05-18T17:49:46+02:00", + "createdAt" : "2021-01-16T22:05:43+02:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "messenger-open-conversation.applescript", - "hasArguments" : true, + "description" : "Set your status in Slack to WFH or WFO depending on your WiFi", + "filename" : "set-slack-wfh-status.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/messenger.png" + "light" : "images\/slack-logo.png" }, - "identifier" : "d323b0b1ce4d1b6c8f6397c079a23681", + "identifier" : "2f4a857abf56b4212c65bae64c6ccd1a", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Messenger", - "path" : "communication\/messenger\/", + "packageName" : "Slack", + "path" : "communication\/slack\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Conversation", - "updatedAt" : "2021-07-23T17:47:14-04:00" - } - ] - }, - { - "name" : "Zoom", - "path" : "zoom", - "scriptCommands" : [ + "title" : "Set WFH Status in Slack", + "updatedAt" : "2021-01-24T22:49:22+02:00" + }, { "authors" : [ { @@ -10921,556 +12179,290 @@ "url" : "https:\/\/github.com\/farisaziz12" } ], - "createdAt" : "2021-05-02T20:25:26+02:00", + "createdAt" : "2021-05-03T16:28:28+02:00", "currentDirectoryPath" : null, - "description" : "Leaves Current Zoom meeting", - "filename" : "leave-meeting.applescript", - "hasArguments" : false, + "description" : "This script posts a message text to a slack channel and sets active status (defaults to random good morning message in #general)", + "filename" : "slack-send-message.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/zoom-logo.png" + "light" : "images\/slack-logo.png" }, - "identifier" : "1bfa04dd638bb1a5f9d93f3a556e96a3", + "identifier" : "1461432132438418bd52997cf850803f", "isTemplate" : false, "language" : "applescript", "mode" : "silent", "needsConfirmation" : true, - "packageName" : "Zoom", - "path" : "communication\/zoom\/", + "packageName" : "Slack", + "path" : "communication\/slack\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Leave Meeting", - "updatedAt" : "2021-05-03T09:54:17+00:00" + "title" : "Send Message in Channel", + "updatedAt" : "2021-05-03T14:30:44Z" }, { "authors" : [ { - "name" : "Luigi Cardito", - "url" : "https:\/\/github.com\/lcardito" - }, - { - "name" : "Faris Aziz", - "url" : "https:\/\/github.com\/farisaziz12" + "name" : "Thomas Paul Mann", + "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-08-31T10:32:28+02:00", + "createdAt" : "2020-11-26T13:39:55Z", "currentDirectoryPath" : null, - "description" : "Show\/Hide your microphone in the current meeting", - "filename" : "toggle-video.applescript", + "description" : "Set your status in Slack.", + "filename" : "set-slack-status.template.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/zoom-logo.png" + "light" : "☕️" }, - "identifier" : "a36414a653b2c264285dc7fd4b62563b", - "isTemplate" : false, - "language" : "applescript", + "identifier" : "57e23350fff64274696cfe28cce9d8ee", + "isTemplate" : true, + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Zoom", - "path" : "communication\/zoom\/", + "packageName" : "Slack", + "path" : "communication\/slack\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Toggle Video", - "updatedAt" : "2021-08-31T16:37:44+02:00" + "title" : "Set Status to Coffee", + "updatedAt" : "2020-11-26T18:24:36Z" }, { "authors" : [ { - "name" : "Luigi Cardito", - "url" : "https:\/\/github.com\/lcardito" - }, - { - "name" : "Faris Aziz", - "url" : "https:\/\/github.com\/farisaziz12" - } - ], - "createdAt" : "2021-08-31T10:32:28+02:00", - "currentDirectoryPath" : null, - "description" : "Mute\/Unmute your microphone in the current meeting", - "filename" : "toggle-mic.applescript", - "hasArguments" : false, - "icon" : { - "dark" : null, - "light" : "images\/zoom-logo.png" - }, - "identifier" : "5f4ac638a28f19b6fa2f377204f1d6dc", - "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Zoom", - "path" : "communication\/zoom\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Toggle Microphone", - "updatedAt" : "2021-08-31T16:37:44+02:00" - } - ] - }, - { - "name" : "Slack", - "path" : "slack", - "scriptCommands" : [ - { - "authors" : [ - { - "name" : "Jakub Lanski", - "url" : "https:\/\/github.com\/jaklan" + "name" : "Sam Ching", + "url" : "https:\/\/github.com\/samching" } ], - "createdAt" : "2021-05-16T16:05:58+02:00", + "createdAt" : "2020-11-29T18:11:58-05:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "slack-open-workspace-by-index.applescript", + "description" : "Set your DND status in Slack", + "filename" : "set-slack-DND-status.sh", "hasArguments" : true, "icon" : { "dark" : null, "light" : "images\/slack-logo.png" }, - "identifier" : "4a802368b9f32f0e1f2f6a44338f7ce8", + "identifier" : "2b163126ade42de031d2e7ebe0a63c00", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, "packageName" : "Slack", "path" : "communication\/slack\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Workspace by Index", - "updatedAt" : "2021-07-23T17:47:56-04:00" + "title" : "Set DND Status", + "updatedAt" : "2021-03-04T08:32:41+01:00" }, { "authors" : [ { - "name" : "alongat", - "url" : "https:\/\/github.com\/alongat" + "name" : "Cody Carrell", + "url" : "https:\/\/raycast.com\/sourcecody" } ], - "createdAt" : "2021-01-05T21:47:13+02:00", + "createdAt" : "2024-03-10T17:10:31-04:00", "currentDirectoryPath" : null, - "description" : "Set your status in Slack to a song currently playing in Spotify.", - "filename" : "set-slack-status-spotify.sh", + "description" : "Open Slack with the Developer Menu enabled. ⌘⌥I to access the Developer Menu. If you find it's not working, quit Slack and run this command again.", + "filename" : "slack-dev-mode.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/slack-logo.png" }, - "identifier" : "01d42581576437961b8a3aa2af5e6b93", + "identifier" : "7c43ddc9b86f860583abf7ea64a4d324", "isTemplate" : false, "language" : "bash", - "mode" : "inline", + "mode" : "silent", "needsConfirmation" : null, "packageName" : "Slack", "path" : "communication\/slack\/", - "refreshTime" : "30s", + "refreshTime" : null, "schemaVersion" : 1, - "title" : "Set Status in Slack to Spotify Song", - "updatedAt" : "2021-01-24T22:49:22+02:00" - }, + "title" : "Launch Dev Mode", + "updatedAt" : "2024-03-10T21:12:02Z" + } + ] + }, + { + "name" : "Cloudup", + "path" : "cloudup", + "scriptCommands" : [ { "authors" : [ { - "name" : "Sam Ching", - "url" : "https:\/\/github.com\/samching" + "name" : "Caleb Stauffer", + "url" : "https:\/\/github.com\/crstauf" } ], - "createdAt" : "2020-11-26T13:39:55+00:00", + "createdAt" : "2020-11-07T14:59:48-05:00", "currentDirectoryPath" : null, - "description" : "Clear DND Status in Slack", - "filename" : "clear-slack-DND-status.sh", + "description" : "Upload path or URL in clipboard to [Cloudup](https:\/\/cloudup.com\/).", + "filename" : "cloudup-upload.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/slack-logo.png" + "light" : "images\/cloudup-logo.png" }, - "identifier" : "560ddd5136e037faafb5fbef3ecc1e10", + "identifier" : "1d19e17167ac0881721d259150cbd124", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Slack", - "path" : "communication\/slack\/", + "packageName" : "Cloudup", + "path" : "communication\/cloudup\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Clear Slack DND", - "updatedAt" : "2021-01-24T22:49:22+02:00" + "title" : "Upload", + "updatedAt" : "2020-11-28T13:47:03-05:00" }, { "authors" : [ { - "name" : "Zeb Pykosz", - "url" : "https:\/\/github.com\/zebapy" + "name" : "Caleb Stauffer", + "url" : "https:\/\/github.com\/crstauf" } ], - "createdAt" : "2020-11-26T13:39:55+00:00", + "createdAt" : "2020-11-07T14:59:48-05:00", "currentDirectoryPath" : null, - "description" : "Create a Slack reminder", - "filename" : "add-slack-reminder.template.sh", - "hasArguments" : true, + "description" : "Open file dialog and upload to [Cloudup](https:\/\/cloudup.com\/).", + "filename" : "cloudup-pick.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "⏰" + "light" : "images\/cloudup-logo.png" }, - "identifier" : "d320c2d35cc64553ce1a2db1ab80937c", - "isTemplate" : true, - "language" : "bash", + "identifier" : "dde6ec22216c5e9e5befc0f6f7d03530", + "isTemplate" : false, + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Slack", - "path" : "communication\/slack\/", + "packageName" : "Cloudup", + "path" : "communication\/cloudup\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Add Reminder", - "updatedAt" : "2022-01-15T18:23:42+00:00" + "title" : "Pick", + "updatedAt" : "2020-11-28T13:47:03-05:00" }, { "authors" : [ { - "name" : "Jakub Lanski", - "url" : "https:\/\/github.com\/jaklan" + "name" : "Caleb Stauffer", + "url" : "https:\/\/github.com\/crstauf" } ], - "createdAt" : "2021-05-18T10:01:58+02:00", + "createdAt" : "2020-11-07T14:59:48-05:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "slack-open-workspace-by-name.applescript", - "hasArguments" : true, + "description" : "Upload clipboard contents to [Cloudup](https:\/\/cloudup.com\/).", + "filename" : "cloudup-paste.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/slack-logo.png" + "light" : "images\/cloudup-logo.png" }, - "identifier" : "d2fdd94734c119a616fe67b54ebcdd7c", + "identifier" : "c95e8b9dcdd3aff96e0e7d2499528210", "isTemplate" : false, "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Slack", - "path" : "communication\/slack\/", + "packageName" : "Cloudup", + "path" : "communication\/cloudup\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Workspace by Name", - "updatedAt" : "2021-07-23T17:48:20-04:00" - }, + "title" : "Paste", + "updatedAt" : "2020-11-28T13:47:03-05:00" + } + ] + }, + { + "name" : "Emojis", + "path" : "emojis", + "scriptCommands" : [ { "authors" : [ { - "name" : "Thomas Paul Mann", - "url" : "https:\/\/github.com\/thomaspaulmann" + "name" : "Caleb Stauffer", + "url" : "https:\/\/github.com\/crstauf" } ], - "createdAt" : "2020-11-26T13:39:55+00:00", + "createdAt" : "2020-11-16T16:27:42-05:00", "currentDirectoryPath" : null, - "description" : "Clear your status in Slack.", - "filename" : "clear-slack-status.template.sh", - "hasArguments" : false, + "description" : "Search for emojis related to input.", + "filename" : "emojis-search.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "🧼" + "light" : "📙" }, - "identifier" : "42d6bf1b6d5ba4c4cf4d3dbfbd11f120", - "isTemplate" : true, + "identifier" : "ca84f5b82455c8b57880dbd2257b2137", + "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "fullOutput", "needsConfirmation" : null, - "packageName" : "Slack", - "path" : "communication\/slack\/", + "packageName" : "Communication", + "path" : "communication\/emojis\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Clear Status", - "updatedAt" : "2020-11-26T13:44:17+00:00" + "title" : "Search Emojis", + "updatedAt" : "2020-11-28T13:47:03-05:00" }, { "authors" : [ { - "name" : "Jakub Lanski", - "url" : "https:\/\/github.com\/jaklan" + "name" : "Caleb Stauffer", + "url" : "https:\/\/github.com\/crstauf" } ], - "createdAt" : "2021-05-18T07:53:58+02:00", + "createdAt" : "2020-11-16T16:27:42-05:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "slack-jump-to.applescript", + "description" : "Copy first emoji related to input.", + "filename" : "emoji-copy.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/slack-logo.png" + "light" : "📙" }, - "identifier" : "27ca9558af53540a5077aa69fcbcd4db", + "identifier" : "0b6610d2a4025e0cde003b6de4d28026", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "bash", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Slack", - "path" : "communication\/slack\/", + "packageName" : "Communication", + "path" : "communication\/emojis\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Jump to...", - "updatedAt" : "2021-07-23T17:47:47-04:00" + "title" : "Search and Copy First Related Emoji", + "updatedAt" : "2020-11-28T12:02:29-05:00" }, { "authors" : [ { - "name" : "alongat", - "url" : "https:\/\/github.com\/alongat" + "name" : "Tomohiro Nishimura", + "url" : "https:\/\/github.com\/Sixeight" } ], - "createdAt" : "2021-01-16T22:05:43+02:00", + "createdAt" : "2025-01-23T18:29:53+09:00", "currentDirectoryPath" : null, - "description" : "Set your status in Slack to WFH or WFO depending on your WiFi", - "filename" : "set-slack-wfh-status.sh", + "description" : "Copy a random emoji to the clipboard.", + "filename" : "random-emoji.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/slack-logo.png" + "light" : "🎲" }, - "identifier" : "2f4a857abf56b4212c65bae64c6ccd1a", + "identifier" : "52479cec0740642d40a8902ee5efa1fe", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Slack", - "path" : "communication\/slack\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Set WFH Status in Slack", - "updatedAt" : "2021-01-24T22:49:22+02:00" - }, - { - "authors" : [ - { - "name" : "Faris Aziz", - "url" : "https:\/\/github.com\/farisaziz12" - } - ], - "createdAt" : "2021-05-03T16:28:28+02:00", - "currentDirectoryPath" : null, - "description" : "This script posts a message text to a slack channel and sets active status (defaults to random good morning message in #general)", - "filename" : "slack-send-message.applescript", - "hasArguments" : true, - "icon" : { - "dark" : null, - "light" : "images\/slack-logo.png" - }, - "identifier" : "1461432132438418bd52997cf850803f", - "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", - "needsConfirmation" : true, - "packageName" : "Slack", - "path" : "communication\/slack\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Send Message in Channel", - "updatedAt" : "2021-05-03T14:30:44+00:00" - }, - { - "authors" : [ - { - "name" : "Thomas Paul Mann", - "url" : "https:\/\/github.com\/thomaspaulmann" - } - ], - "createdAt" : "2020-11-26T13:39:55+00:00", - "currentDirectoryPath" : null, - "description" : "Set your status in Slack.", - "filename" : "set-slack-status.template.sh", - "hasArguments" : false, - "icon" : { - "dark" : null, - "light" : "☕️" - }, - "identifier" : "a9c185aec50f521d19ed1d47aab578a5", - "isTemplate" : true, - "language" : "bash", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Slack", - "path" : "communication\/slack\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Set Status to Coffee", - "updatedAt" : "2020-11-26T18:24:36+00:00" - }, - { - "authors" : [ - { - "name" : "Sam Ching", - "url" : "https:\/\/github.com\/samching" - } - ], - "createdAt" : "2020-11-29T18:11:58-05:00", - "currentDirectoryPath" : null, - "description" : "Set your DND status in Slack", - "filename" : "set-slack-DND-status.sh", - "hasArguments" : true, - "icon" : { - "dark" : null, - "light" : "images\/slack-logo.png" - }, - "identifier" : "2b163126ade42de031d2e7ebe0a63c00", - "isTemplate" : false, - "language" : "bash", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Slack", - "path" : "communication\/slack\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Set DND Status", - "updatedAt" : "2021-03-04T08:32:41+01:00" - } - ] - }, - { - "name" : "Cloudup", - "path" : "cloudup", - "scriptCommands" : [ - { - "authors" : [ - { - "name" : "Caleb Stauffer", - "url" : "https:\/\/github.com\/crstauf" - } - ], - "createdAt" : "2020-11-07T14:59:48-05:00", - "currentDirectoryPath" : null, - "description" : "Upload path or URL in clipboard to [Cloudup](https:\/\/cloudup.com\/).", - "filename" : "cloudup-upload.sh", - "hasArguments" : false, - "icon" : { - "dark" : null, - "light" : "images\/cloudup-logo.png" - }, - "identifier" : "1d19e17167ac0881721d259150cbd124", - "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Cloudup", - "path" : "communication\/cloudup\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Upload", - "updatedAt" : "2020-11-28T13:47:03-05:00" - }, - { - "authors" : [ - { - "name" : "Caleb Stauffer", - "url" : "https:\/\/github.com\/crstauf" - } - ], - "createdAt" : "2020-11-07T14:59:48-05:00", - "currentDirectoryPath" : null, - "description" : "Open file dialog and upload to [Cloudup](https:\/\/cloudup.com\/).", - "filename" : "cloudup-pick.sh", - "hasArguments" : false, - "icon" : { - "dark" : null, - "light" : "images\/cloudup-logo.png" - }, - "identifier" : "dde6ec22216c5e9e5befc0f6f7d03530", - "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Cloudup", - "path" : "communication\/cloudup\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Pick", - "updatedAt" : "2020-11-28T13:47:03-05:00" - }, - { - "authors" : [ - { - "name" : "Caleb Stauffer", - "url" : "https:\/\/github.com\/crstauf" - } - ], - "createdAt" : "2020-11-07T14:59:48-05:00", - "currentDirectoryPath" : null, - "description" : "Upload clipboard contents to [Cloudup](https:\/\/cloudup.com\/).", - "filename" : "cloudup-paste.sh", - "hasArguments" : false, - "icon" : { - "dark" : null, - "light" : "images\/cloudup-logo.png" - }, - "identifier" : "c95e8b9dcdd3aff96e0e7d2499528210", - "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Cloudup", - "path" : "communication\/cloudup\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Paste", - "updatedAt" : "2020-11-28T13:47:03-05:00" - } - ] - }, - { - "name" : "Emojis", - "path" : "emojis", - "scriptCommands" : [ - { - "authors" : [ - { - "name" : "Caleb Stauffer", - "url" : "https:\/\/github.com\/crstauf" - } - ], - "createdAt" : "2020-11-16T16:27:42-05:00", - "currentDirectoryPath" : null, - "description" : "Search for emojis related to input.", - "filename" : "emojis-search.sh", - "hasArguments" : true, - "icon" : { - "dark" : null, - "light" : "📙" - }, - "identifier" : "ca84f5b82455c8b57880dbd2257b2137", - "isTemplate" : false, - "language" : "bash", - "mode" : "fullOutput", - "needsConfirmation" : null, - "packageName" : "Communication", - "path" : "communication\/emojis\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Search Emojis", - "updatedAt" : "2020-11-28T13:47:03-05:00" - }, - { - "authors" : [ - { - "name" : "Caleb Stauffer", - "url" : "https:\/\/github.com\/crstauf" - } - ], - "createdAt" : "2020-11-16T16:27:42-05:00", - "currentDirectoryPath" : null, - "description" : "Copy first emoji related to input.", - "filename" : "emoji-copy.sh", - "hasArguments" : true, - "icon" : { - "dark" : null, - "light" : "📙" - }, - "identifier" : "0b6610d2a4025e0cde003b6de4d28026", - "isTemplate" : false, - "language" : "bash", - "mode" : "compact", - "needsConfirmation" : null, - "packageName" : "Communication", + "packageName" : "Emojis", "path" : "communication\/emojis\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Search and Copy First Related Emoji", - "updatedAt" : "2020-11-28T12:02:29-05:00" + "title" : "Random Emoji", + "updatedAt" : "2025-03-25T19:27:06+09:00" } ] }, @@ -11504,7 +12496,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Gmail", - "updatedAt" : "2020-12-07T20:12:02+00:00" + "updatedAt" : "2020-12-07T20:12:02Z" } ] } @@ -11568,7 +12560,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search in Bilibili", - "updatedAt" : "2021-01-05T12:30:16+00:00" + "updatedAt" : "2021-01-05T12:30:16Z" }, { "authors" : [ @@ -11605,7 +12597,7 @@ "url" : "https:\/\/github.com\/andreiborisov" } ], - "createdAt" : "2020-11-19T15:07:52+00:00", + "createdAt" : "2020-11-19T15:07:52Z", "currentDirectoryPath" : null, "description" : null, "filename" : "kinopoisk.sh", @@ -11614,7 +12606,7 @@ "dark" : null, "light" : "images\/kinopoisk.png" }, - "identifier" : "b9765abdca2e2f4913f25f68e9d1cb34", + "identifier" : "3035530c75101abbeb24a0a27b0ed685", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -11661,7 +12653,7 @@ "url" : "https:\/\/zander.wtf" } ], - "createdAt" : "2020-11-24T21:18:01+00:00", + "createdAt" : "2020-11-24T21:18:01Z", "currentDirectoryPath" : null, "description" : null, "filename" : "giphy.sh", @@ -11670,7 +12662,7 @@ "dark" : null, "light" : "images\/giphy.png" }, - "identifier" : "27a2493face41bf1d80793deb1771797", + "identifier" : "3613b602176200bab2cb81cf3e3a31fc", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -11684,7 +12676,7 @@ }, { "authors" : null, - "createdAt" : "2020-11-19T15:07:52+00:00", + "createdAt" : "2020-11-19T15:07:52Z", "currentDirectoryPath" : null, "description" : null, "filename" : "yandex-search.sh", @@ -11693,7 +12685,7 @@ "dark" : null, "light" : "images\/yandex.png" }, - "identifier" : "f938027f6f3f823928e80d4527804d25", + "identifier" : "14ac258936b541c8b080afd875c888e9", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -11824,7 +12816,7 @@ "url" : "https:\/\/zander.wtf" } ], - "createdAt" : "2020-11-24T21:18:01+00:00", + "createdAt" : "2020-11-24T21:18:01Z", "currentDirectoryPath" : null, "description" : null, "filename" : "njt.sh", @@ -11833,7 +12825,7 @@ "dark" : null, "light" : "🐸" }, - "identifier" : "7b80efcaecafbf7092d3bd0292112021", + "identifier" : "bf292fd5c6a6daeb7cb500aed47c97ce", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -11847,7 +12839,7 @@ }, { "authors" : null, - "createdAt" : "2020-11-19T21:13:15+00:00", + "createdAt" : "2020-11-19T21:13:15Z", "currentDirectoryPath" : null, "description" : null, "filename" : "npmjs.sh", @@ -11856,7 +12848,7 @@ "dark" : null, "light" : "images\/npmjs.png" }, - "identifier" : "b8c51cd5f736849629df290dcf48e627", + "identifier" : "1c60d434bfa470adfa9e5c4fad31a29a", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -11894,7 +12886,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search Go Package Documentation", - "updatedAt" : "2021-01-18T16:44:26+00:00" + "updatedAt" : "2021-01-18T16:44:26Z" }, { "authors" : [ @@ -11903,7 +12895,7 @@ "url" : "https:\/\/zander.wtf" } ], - "createdAt" : "2020-11-19T21:13:15+00:00", + "createdAt" : "2020-11-19T21:13:15Z", "currentDirectoryPath" : null, "description" : null, "filename" : "repo.sh", @@ -11912,7 +12904,7 @@ "dark" : null, "light" : "📦" }, - "identifier" : "327dff4d0f970f6709bed4f17955b925", + "identifier" : "fd304aeeb3b07086af4d259dc6bd8a44", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -11950,7 +12942,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search in Baidu", - "updatedAt" : "2021-01-05T12:30:16+00:00" + "updatedAt" : "2021-01-05T12:30:16Z" }, { "authors" : [ @@ -11982,7 +12974,7 @@ }, { "authors" : null, - "createdAt" : "2020-11-19T15:07:52+00:00", + "createdAt" : "2020-11-19T15:07:52Z", "currentDirectoryPath" : null, "description" : null, "filename" : "twitter-search.sh", @@ -11991,7 +12983,7 @@ "dark" : null, "light" : "images\/twitter.png" }, - "identifier" : "c87cc4be86c046f70f68ca1cd2223258", + "identifier" : "5325fd3de931054a254082b1ce061ec9", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -12029,7 +13021,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search in Zhihu", - "updatedAt" : "2021-01-05T12:30:16+00:00" + "updatedAt" : "2021-01-05T12:30:16Z" }, { "authors" : [ @@ -12113,7 +13105,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Pub.dev Search", - "updatedAt" : "2021-05-31T09:21:31+00:00" + "updatedAt" : "2021-05-31T09:21:31Z" }, { "authors" : [ @@ -12145,7 +13137,7 @@ }, { "authors" : null, - "createdAt" : "2020-11-19T15:07:52+00:00", + "createdAt" : "2020-11-19T15:07:52Z", "currentDirectoryPath" : null, "description" : null, "filename" : "amazon.sh", @@ -12154,7 +13146,7 @@ "dark" : null, "light" : "images\/amazon.png" }, - "identifier" : "cc7830e2a1dfe295301d9b835e584cdf", + "identifier" : "7ca50f13f43b953f6d587c52f61005a9", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -12229,7 +13221,7 @@ "url" : "https:\/\/zander.wtf" } ], - "createdAt" : "2020-11-24T21:18:01+00:00", + "createdAt" : "2020-11-24T21:18:01Z", "currentDirectoryPath" : null, "description" : null, "filename" : "unfurl.sh", @@ -12238,7 +13230,7 @@ "dark" : null, "light" : "🔗" }, - "identifier" : "ee82cecb96af85116fdc9b7208b77767", + "identifier" : "19f9cd5c3c78c5008f84417d01f14dee", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -12276,7 +13268,35 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search in Wikipedia", - "updatedAt" : "2021-02-16T16:00:45+00:00" + "updatedAt" : "2021-02-16T16:00:45Z" + }, + { + "authors" : [ + { + "name" : "Razvan Azamfirei", + "url" : "https:\/\/github.com\/razvanazamfirei" + } + ], + "createdAt" : "2022-12-16T16:54:47-05:00", + "currentDirectoryPath" : null, + "description" : "Parses and opens DOI links in your browser", + "filename" : "doi.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "📖" + }, + "identifier" : "f0a1d84b48cb82b7b89f17f05565d7f5", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "DOI", + "path" : "web-searches\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Find Paper", + "updatedAt" : "2022-12-16T16:54:47-05:00" }, { "authors" : [ @@ -12309,11 +13329,39 @@ { "authors" : [ { - "name" : "Caleb Stauffer", - "url" : "https:\/\/github.com\/crstauf" + "name" : "Daniel Sieradski", + "url" : "https:\/\/github.com\/selfagency" } ], - "createdAt" : "2020-12-04T22:42:03-05:00", + "createdAt" : "2023-04-20T10:30:42-04:00", + "currentDirectoryPath" : null, + "description" : null, + "filename" : "opensecrets.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "images\/opensecrets.png" + }, + "identifier" : "38597aea679968985276b287c7860174", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Web Searches", + "path" : "web-searches\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Search OpenSecrets.org", + "updatedAt" : "2023-04-24T06:57:26Z" + }, + { + "authors" : [ + { + "name" : "Caleb Stauffer", + "url" : "https:\/\/github.com\/crstauf" + } + ], + "createdAt" : "2020-12-04T22:42:03-05:00", "currentDirectoryPath" : null, "description" : "Open specified [WP Engine](https:\/\/wpengine.com) install.", "filename" : "wpengine-install.sh", @@ -12341,7 +13389,7 @@ "url" : "https:\/\/zander.wtf" } ], - "createdAt" : "2020-11-24T21:18:01+00:00", + "createdAt" : "2020-11-24T21:18:01Z", "currentDirectoryPath" : null, "description" : null, "filename" : "caniuse.sh", @@ -12350,7 +13398,7 @@ "dark" : null, "light" : "❓" }, - "identifier" : "7c4f744b2140f5b80f7e15e0ebe6a6dd", + "identifier" : "d57b60f7bec95ebaf6ecd985d539eb33", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -12425,7 +13473,7 @@ "url" : "https:\/\/zander.wtf" } ], - "createdAt" : "2020-11-19T21:13:15+00:00", + "createdAt" : "2020-11-19T21:13:15Z", "currentDirectoryPath" : null, "description" : null, "filename" : "npms.sh", @@ -12434,7 +13482,7 @@ "dark" : null, "light" : "images\/npms.png" }, - "identifier" : "190c26fa07258eca73549fde0318804f", + "identifier" : "c50c4272f0b39efd127d169968b96a9c", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -12504,7 +13552,7 @@ }, { "authors" : null, - "createdAt" : "2020-11-19T15:07:52+00:00", + "createdAt" : "2020-11-19T15:07:52Z", "currentDirectoryPath" : null, "description" : null, "filename" : "grep-app-search.sh", @@ -12513,7 +13561,7 @@ "dark" : null, "light" : "https:\/\/grep.app\/favicon.ico" }, - "identifier" : "b5ca621aeb52f48ffe1ffe30a8bb9373", + "identifier" : "3c1b4b1b7f98114881247bd9e9c44166", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -12553,6 +13601,34 @@ "title" : "PostgreSQL Documentation", "updatedAt" : "2021-03-04T12:40:16-05:00" }, + { + "authors" : [ + { + "name" : "Razvan Azamfirei", + "url" : "https:\/\/github.com\/razvanazamfirei" + } + ], + "createdAt" : "2022-12-16T16:54:47-05:00", + "currentDirectoryPath" : null, + "description" : "Scans clipboard and opens DOI links in your browser", + "filename" : "doi-clipboard.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "📖" + }, + "identifier" : "5a5b14ccec3b42e5980dbd993beee9db", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "DOI", + "path" : "web-searches\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Find Paper", + "updatedAt" : "2022-12-16T16:54:47-05:00" + }, { "authors" : [ { @@ -12611,7 +13687,7 @@ }, { "authors" : null, - "createdAt" : "2021-02-26T19:18:23+00:00", + "createdAt" : "2021-02-26T19:18:23Z", "currentDirectoryPath" : null, "description" : null, "filename" : "search-swift-github.sh", @@ -12620,7 +13696,7 @@ "dark" : null, "light" : ".\/images\/swift.png" }, - "identifier" : "819a4731b5656b3636b32652c241a507", + "identifier" : "ded067c8f231e019897a58bd2b5bb30c", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -12630,7 +13706,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search Swift Code", - "updatedAt" : "2021-02-26T19:18:23+00:00" + "updatedAt" : "2021-02-26T19:18:23Z" }, { "authors" : [ @@ -12662,7 +13738,7 @@ }, { "authors" : null, - "createdAt" : "2020-11-19T15:07:52+00:00", + "createdAt" : "2020-11-19T15:07:52Z", "currentDirectoryPath" : null, "description" : null, "filename" : "duck-duck-go.sh", @@ -12671,7 +13747,7 @@ "dark" : null, "light" : "images\/duck-duck-go.png" }, - "identifier" : "e780f29955995de21a5ed8d42a7dc669", + "identifier" : "137568a154ee81cb2a1ca68aa4bbfd0d", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -12681,7 +13757,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search in DuckDuckGo", - "updatedAt" : "2021-01-05T12:30:16+00:00" + "updatedAt" : "2021-01-05T12:30:16Z" }, { "authors" : [ @@ -12737,11 +13813,11 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search IMDB", - "updatedAt" : "2021-02-21T22:06:55+00:00" + "updatedAt" : "2021-02-21T22:06:55Z" }, { "authors" : null, - "createdAt" : "2020-11-19T15:07:52+00:00", + "createdAt" : "2020-11-19T15:07:52Z", "currentDirectoryPath" : null, "description" : null, "filename" : "youtube.sh", @@ -12750,7 +13826,7 @@ "dark" : null, "light" : "images\/youtube.png" }, - "identifier" : "5e89e0c4d9ffddf0b3eea566f14773ca", + "identifier" : "aed6056723b8ff63788a8cec2fdfa88a", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -12760,7 +13836,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search in YouTube", - "updatedAt" : "2021-01-05T12:30:16+00:00" + "updatedAt" : "2021-01-05T12:30:16Z" }, { "authors" : [ @@ -12769,7 +13845,7 @@ "url" : "https:\/\/zander.wtf" } ], - "createdAt" : "2020-11-19T21:13:15+00:00", + "createdAt" : "2020-11-19T21:13:15Z", "currentDirectoryPath" : null, "description" : null, "filename" : "bundlephobia.sh", @@ -12778,7 +13854,7 @@ "dark" : null, "light" : "📦" }, - "identifier" : "0b092bce570e52328d6bcbe0163ae216", + "identifier" : "be1cdb15aaca06deb525512db504e89a", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -12820,7 +13896,7 @@ }, { "authors" : null, - "createdAt" : "2020-11-19T15:07:52+00:00", + "createdAt" : "2020-11-19T15:07:52Z", "currentDirectoryPath" : null, "description" : null, "filename" : "crunchbase.sh", @@ -12829,7 +13905,7 @@ "dark" : null, "light" : "images\/crunchbase.png" }, - "identifier" : "0f4669c88378d536451227114c6c6173", + "identifier" : "31c55bcec6408a3702a8f834a2b6457e", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -12843,7 +13919,7 @@ }, { "authors" : null, - "createdAt" : "2020-11-19T15:07:52+00:00", + "createdAt" : "2020-11-19T15:07:52Z", "currentDirectoryPath" : null, "description" : null, "filename" : "google-search.sh", @@ -12852,7 +13928,7 @@ "dark" : null, "light" : "images\/google.png" }, - "identifier" : "57aaa2728f3a23af892dfd7364e122d9", + "identifier" : "892301cd7b236406f6efc128ae07c4e3", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -12862,7 +13938,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search in Google", - "updatedAt" : "2021-01-05T12:30:16+00:00" + "updatedAt" : "2021-01-05T12:30:16Z" }, { "authors" : [ @@ -12871,7 +13947,7 @@ "url" : "https:\/\/zander.wtf" } ], - "createdAt" : "2020-11-24T21:18:01+00:00", + "createdAt" : "2020-11-24T21:18:01Z", "currentDirectoryPath" : null, "description" : null, "filename" : "wayback-machine.sh", @@ -12880,7 +13956,7 @@ "dark" : null, "light" : "images\/ia-logo.jpg" }, - "identifier" : "0dfb3e1ec84b397ccfec9f4a1c0a808d", + "identifier" : "3438cbb2bcc47a029bd463eb8229b673", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -12946,7 +14022,30 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Find Email Address With Hunter", - "updatedAt" : "2021-04-09T11:25:34+00:00" + "updatedAt" : "2021-04-09T11:25:34Z" + }, + { + "authors" : null, + "createdAt" : "2021-02-19T09:10:21Z", + "currentDirectoryPath" : null, + "description" : null, + "filename" : "google-maps.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "images\/google-map.png" + }, + "identifier" : "8a71bb6b31307d65cf23a94c619c9971", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Google Maps", + "path" : "web-searches\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Search Google Maps", + "updatedAt" : "2024-12-05T12:33:50+01:00" }, { "authors" : [ @@ -12957,7 +14056,7 @@ ], "createdAt" : "2021-07-13T21:10:54-07:00", "currentDirectoryPath" : null, - "description" : "Search for Script Commands in the [Unofficial Raycast Script Commands Marketplace](https:\/\/scriptcommands.com).", + "description" : "Search for Script Commands in the [Unofficial Raycast Script Commands Marketplace](https:\/\/scriptcommands.alexandru.so).", "filename" : "search-script-command-marketplace.sh", "hasArguments" : true, "icon" : { @@ -12974,7 +14073,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search Script Command", - "updatedAt" : "2021-07-13T21:10:54-07:00" + "updatedAt" : "2024-12-04T11:52:04+01:00" }, { "authors" : [ @@ -13030,7 +14129,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search Genre in Chosic", - "updatedAt" : "2021-02-12T11:28:52+00:00" + "updatedAt" : "2021-02-12T11:28:52Z" }, { "authors" : [ @@ -13039,7 +14138,7 @@ "url" : "https:\/\/github.com\/traynham" } ], - "createdAt" : "2020-12-07T19:59:12+00:00", + "createdAt" : "2020-12-07T19:59:12Z", "currentDirectoryPath" : null, "description" : "Search in MDN (Mozilla) Docs by topic", "filename" : "mdn.sh", @@ -13048,7 +14147,7 @@ "dark" : "images\/mdn_dark.png", "light" : "images\/mdn_light.png" }, - "identifier" : "cf35df9256be2997e18dc4e853f14213", + "identifier" : "991511e9548f80fc5f5dfa70172df0c9", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -13086,7 +14185,35 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search LinkedIn", - "updatedAt" : "2021-01-24T20:18:06+00:00" + "updatedAt" : "2021-01-24T20:18:06Z" + }, + { + "authors" : [ + { + "name" : "lemorage", + "url" : "https:\/\/raycast.com\/lemorage" + } + ], + "createdAt" : "2024-09-19T08:42:28+08:00", + "currentDirectoryPath" : null, + "description" : "Search Rust documentation", + "filename" : "search-rust-docs.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "images\/rust.png" + }, + "identifier" : "2f4472d80148aaadabf915529d6f68c9", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Web Searches", + "path" : "web-searches\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Search Rust Documentation", + "updatedAt" : "2024-09-19T08:42:28+08:00" }, { "authors" : [ @@ -13114,7 +14241,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Search in Taobao", - "updatedAt" : "2021-01-05T12:30:16+00:00" + "updatedAt" : "2021-01-05T12:30:16Z" }, { "authors" : [ @@ -13181,741 +14308,1566 @@ { "authors" : [ { - "name" : "Caleb Stauffer", - "url" : "https:\/\/github.com\/crstauf" + "name" : "Caleb Stauffer", + "url" : "https:\/\/github.com\/crstauf" + } + ], + "createdAt" : "2020-11-24T12:49:12-05:00", + "currentDirectoryPath" : null, + "description" : "Search [WordPress Developer documentation](https:\/\/developer.wordpress.org\/reference\/).", + "filename" : "search-wordpress-docs.sh", + "hasArguments" : true, + "icon" : { + "dark" : "images\/wordpress-logo-iconDark.png", + "light" : "images\/wordpress-logo.png" + }, + "identifier" : "a98925d26c19810371ec37ed064dd70a", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "WordPress", + "path" : "web-searches\/wordpress\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Search WordPress Docs", + "updatedAt" : "2021-02-22T23:18:02+01:00" + }, + { + "authors" : [ + { + "name" : "Caleb Stauffer", + "url" : "https:\/\/github.com\/crstauf" + } + ], + "createdAt" : "2020-11-30T16:27:32-05:00", + "currentDirectoryPath" : null, + "description" : "Open [WordPress CLI command reference](https:\/\/developer.wordpress.org\/cli\/commands\/) for specified command.", + "filename" : "wordpress-cli-command.sh", + "hasArguments" : true, + "icon" : { + "dark" : "images\/wordpress-logo-iconDark.png", + "light" : "images\/wordpress-logo.png" + }, + "identifier" : "ab5499094ef6353357d01f817812ba76", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "WordPress", + "path" : "web-searches\/wordpress\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "WordPress CLI Command", + "updatedAt" : "2020-12-04T22:07:52-05:00" + }, + { + "authors" : [ + { + "name" : "Caleb Stauffer", + "url" : "https:\/\/github.com\/crstauf" + } + ], + "createdAt" : "2020-11-29T21:19:56-05:00", + "currentDirectoryPath" : null, + "description" : "Open [WordPress functions reference](https:\/\/developer.wordpress.org\/reference\/functions\/) for specified function.", + "filename" : "wordpress-functions-reference.sh", + "hasArguments" : true, + "icon" : { + "dark" : "images\/wordpress-logo-iconDark.png", + "light" : "images\/wordpress-logo.png" + }, + "identifier" : "b149ed5a6cce9f124a9219f368de7ecc", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "WordPress", + "path" : "web-searches\/wordpress\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "WordPress Functions Reference", + "updatedAt" : "2021-02-22T23:18:02+01:00" + }, + { + "authors" : [ + { + "name" : "Caleb Stauffer", + "url" : "https:\/\/github.com\/crstauf" + } + ], + "createdAt" : "2020-11-29T21:19:56-05:00", + "currentDirectoryPath" : null, + "description" : "Open [WordPress classes reference](https:\/\/developer.wordpress.org\/reference\/classes\/) for specified class.", + "filename" : "wordpress-classes-reference.sh", + "hasArguments" : true, + "icon" : { + "dark" : "images\/wordpress-logo-iconDark.png", + "light" : "images\/wordpress-logo.png" + }, + "identifier" : "358cd33183b77c7770949c0b0ab732d3", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "WordPress", + "path" : "web-searches\/wordpress\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "WordPress Classes Reference", + "updatedAt" : "2021-02-22T23:18:02+01:00" + }, + { + "authors" : [ + { + "name" : "Caleb Stauffer", + "url" : "https:\/\/github.com\/crstauf" + } + ], + "createdAt" : "2020-11-30T14:19:51-05:00", + "currentDirectoryPath" : null, + "description" : "Open [WordPress hooks reference](https:\/\/developer.wordpress.org\/reference\/hooks\/) for specified hook.", + "filename" : "wordpress-hooks-reference.sh", + "hasArguments" : true, + "icon" : { + "dark" : "images\/wordpress-logo-iconDark.png", + "light" : "images\/wordpress-logo.png" + }, + "identifier" : "9f17bba3f9bf3cd0276fcb70cef3023f", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "WordPress", + "path" : "web-searches\/wordpress\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "WordPress Hooks Reference", + "updatedAt" : "2021-02-22T23:18:02+01:00" + } + ] + } + ] + }, + { + "name" : "Apps", + "path" : "apps", + "scriptCommands" : [ + + ], + "subGroups" : [ + { + "name" : "MeetingBar", + "path" : "meetingbar", + "scriptCommands" : [ + { + "authors" : [ + { + "name" : "Jakub Lanski", + "url" : "https:\/\/github.com\/jaklan" + } + ], + "createdAt" : "2021-08-23T05:05:54+02:00", + "currentDirectoryPath" : null, + "description" : "Join the ongoing or upcoming meeting.", + "filename" : "meetingbar-join-meeting.applescript", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/meetingbar.png" + }, + "identifier" : "b8993c798f512a75626c91ead46662be", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "MeetingBar", + "path" : "apps\/meetingbar\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Join Meeting", + "updatedAt" : "2021-08-23T12:18:02+02:00" + }, + { + "authors" : [ + { + "name" : "Jakub Lanski", + "url" : "https:\/\/github.com\/jaklan" + } + ], + "createdAt" : "2021-08-23T05:05:54+02:00", + "currentDirectoryPath" : null, + "description" : "Create a new meeting.", + "filename" : "meetingbar-create-meeting.applescript", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/meetingbar.png" + }, + "identifier" : "79b4a204b8d40f498a14d7d0623bac23", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "MeetingBar", + "path" : "apps\/meetingbar\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Create Meeting", + "updatedAt" : "2021-08-23T12:18:02+02:00" + } + ] + }, + { + "name" : "Lungo", + "path" : "lungo", + "scriptCommands" : [ + { + "authors" : [ + { + "name" : "Lungo", + "url" : "https:\/\/sindresorhus.com\/lungo" + } + ], + "createdAt" : "2021-10-29T16:08:45+07:00", + "currentDirectoryPath" : null, + "description" : "Toggle Lungo.", + "filename" : "lungo-toggle.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : ".\/images\/lungo.png" + }, + "identifier" : "1e1201142099074bd201c2e04bfed472", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Lungo", + "path" : "apps\/lungo\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Toggle", + "updatedAt" : "2021-10-29T16:08:45+07:00" + }, + { + "authors" : [ + { + "name" : "Lungo", + "url" : "https:\/\/sindresorhus.com\/lungo" + } + ], + "createdAt" : "2021-10-29T16:08:45+07:00", + "currentDirectoryPath" : null, + "description" : "Deactivate Lungo.", + "filename" : "lungo-activate.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : ".\/images\/lungo.png" + }, + "identifier" : "e41a768d833a7cca41cb21491926b013", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Lungo", + "path" : "apps\/lungo\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Activate", + "updatedAt" : "2021-10-29T16:08:45+07:00" + }, + { + "authors" : [ + { + "name" : "Lungo", + "url" : "https:\/\/sindresorhus.com\/lungo" + } + ], + "createdAt" : "2021-10-29T16:08:45+07:00", + "currentDirectoryPath" : null, + "description" : "Deactivate Lungo.", + "filename" : "lungo-deactivate.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : ".\/images\/lungo.png" + }, + "identifier" : "7ad4b7c36c41fb0730596bdd72a12515", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Lungo", + "path" : "apps\/lungo\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Deactivate", + "updatedAt" : "2021-10-29T16:08:45+07:00" + } + ] + }, + { + "name" : "iTerm", + "path" : "iterm", + "scriptCommands" : [ + { + "authors" : [ + { + "name" : "Andrei Borisov", + "url" : "https:\/\/github.com\/andreiborisov" + } + ], + "createdAt" : "2021-02-02T11:58:56+03:00", + "currentDirectoryPath" : null, + "description" : null, + "filename" : "iterm-run-shell-command.applescript", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "images\/iterm.png" + }, + "identifier" : "aad45bb498bc30bd7cf7c2e9405c1477", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "iTerm", + "path" : "apps\/iterm\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Run Shell Command", + "updatedAt" : "2021-02-02T11:58:56+03:00" + }, + { + "authors" : [ + { + "name" : "sunrisewestern", + "url" : "https:\/\/github.com\/sunrisewestern" + } + ], + "createdAt" : "2024-05-23T03:31:30-04:00", + "currentDirectoryPath" : null, + "description" : null, + "filename" : "iterm-open-profile-in-new-window.applescript", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "🤖" + }, + "identifier" : "c3e9bc8ec6236fd9d214785417f4c420", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "iTerm", + "path" : "apps\/iterm\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Open profile", + "updatedAt" : "2024-05-23T07:33:06Z" + } + ] + }, + { + "name" : "Cleanshot", + "path" : "cleanshot", + "scriptCommands" : [ + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Opens a new Quick Access Overlay with the specified image or video.", + "filename" : "cleanshot-add-quick-access-overlay.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : ".\/images\/add-quick-access-overlay.png" + }, + "identifier" : "7239456521bcd7c3373cf8870936d3a7", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Add Quick Access Overlay", + "updatedAt" : "2021-07-20T15:49:26+01:00" + }, + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Opens Text Recognition (OCR) tool or extracts text from the specified file.", + "filename" : "cleanshot-capture-text.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : ".\/images\/capture-text.png" + }, + "identifier" : "7fe6d44fdbe6d9bb201ff65b756d860f", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Capture Text", + "updatedAt" : "2021-07-20T15:49:26+01:00" + }, + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Take a screenshot of a window.", + "filename" : "cleanshot-capture-window.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : ".\/images\/capture-window.png" + }, + "identifier" : "3d218b4cbed21f7454562678b6a0b8ee", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Capture Window", + "updatedAt" : "2021-05-28T10:40:03+01:00" + }, + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Take a screenshot of the previously specified area of your screen.", + "filename" : "cleanshot-capture-previous-area.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : ".\/images\/capture-previous-area.png" + }, + "identifier" : "43f62174fe500ba2f6cb4661195f3ebb", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Capture Previous Area", + "updatedAt" : "2021-05-28T10:40:03+01:00" + }, + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Restore the recently closed file.", + "filename" : "cleanshot-restore.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : ".\/images\/restore.png" + }, + "identifier" : "775af547f54533d780759eea34761aeb", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Restore Recently Closed File", + "updatedAt" : "2021-05-28T10:40:03+01:00" + }, + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Pin a screenshot to the screen.", + "filename" : "cleanshot-pin.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : ".\/images\/pin.png" + }, + "identifier" : "938d3ce2be34e29a9f58d9099996e9ef", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Pin to the Screen", + "updatedAt" : "2021-05-28T10:40:03+01:00" + }, + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Opens specified file in Annotate.", + "filename" : "cleanshot-annotate.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : ".\/images\/annotate.png" + }, + "identifier" : "ca28647e99a4bbdea940fed93e688236", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Annotate", + "updatedAt" : "2021-07-20T15:49:26+01:00" + }, + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Take a screenshot of a specific area on your screen.", + "filename" : "cleanshot-capture-area.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : ".\/images\/capture-area.png" + }, + "identifier" : "f0cd821e3dea3225012f1ee24e0ee2a6", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Capture Area", + "updatedAt" : "2021-05-28T10:40:29+01:00" + }, + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Open screenshot that is currently in the clipboard.", + "filename" : "cleanshot-open-from-clipboard.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : ".\/images\/clipboard.png" + }, + "identifier" : "6c834b826f74f76d659ee54377d73e9e", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Open from Clipboard", + "updatedAt" : "2021-05-28T10:40:03+01:00" + }, + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Take a screenshot of your screen.", + "filename" : "cleanshot-capture-fullscreen.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : ".\/images\/capture-fullscreen.png" + }, + "identifier" : "b4bdb548dc357d8483d2c7afda0fa2ad", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Capture Fullscreen", + "updatedAt" : "2021-05-28T10:40:03+01:00" + }, + { + "authors" : [ + { + "name" : "Danylo Zalizchuk", + "url" : "https:\/\/raycast.com\/danulqua" + } + ], + "createdAt" : "2023-08-16T16:56:54+03:00", + "currentDirectoryPath" : null, + "description" : "Start a screen recording with keystrokes using the Keystroke Pro app and save it as a video or an optimized GIF file.", + "filename" : "cleanshot-record-screen-with-keystroke-pro.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : ".\/images\/record-screen-keystroke-pro.png" + }, + "identifier" : "2b2c4df77dc49c058edc490dd1e4d066", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Record Screen With Keystroke Pro", + "updatedAt" : "2023-08-16T16:56:54+03:00" + }, + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Take a screenshot after a specified delay to capture the perfect moment.", + "filename" : "cleanshot-self-timer.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : ".\/images\/self-timer.png" + }, + "identifier" : "7ff128b4069f95b91a61d2a920748340", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Self-Timer", + "updatedAt" : "2021-05-28T10:40:03+01:00" + }, + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Capture any scrollable content.", + "filename" : "cleanshot-scrolling-capture.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : ".\/images\/scrolling-capture.png" + }, + "identifier" : "66f040a60fe27b26e31f2dfea19a9200", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Scrolling Capture", + "updatedAt" : "2021-05-28T10:40:03+01:00" + }, + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Start a screen recording and save it as a video or an optimized GIF file.", + "filename" : "cleanshot-record-screen.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : ".\/images\/record-screen.png" + }, + "identifier" : "745e006488dbf13262100b0d9992bd06", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Record Screen", + "updatedAt" : "2021-05-28T10:40:03+01:00" + }, + { + "authors" : [ + { + "name" : "CleanShot X", + "url" : "https:\/\/twitter.com\/CleanShot_app" + } + ], + "createdAt" : "2021-03-01T16:53:29Z", + "currentDirectoryPath" : null, + "description" : "Hide clutter on your Desktop.", + "filename" : "cleanshot-toggle-desktop-icons.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : ".\/images\/toggle-desktop-icons.png" + }, + "identifier" : "12f891f99170ce75263600efdf9819e7", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "CleanShot X", + "path" : "apps\/cleanshot\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Toggle Desktop Icons", + "updatedAt" : "2021-05-28T10:40:29+01:00" + } + ] + }, + { + "name" : "Craft", + "path" : "craft", + "scriptCommands" : [ + { + "authors" : [ + { + "name" : "James Lyons", + "url" : "https:\/\/github.com\/jamesjlyons" } ], - "createdAt" : "2020-11-24T12:49:12-05:00", + "createdAt" : "2021-03-23T13:32:38-07:00", "currentDirectoryPath" : null, - "description" : "Search [WordPress Developer documentation](https:\/\/developer.wordpress.org\/reference\/).", - "filename" : "search-wordpress-docs.sh", + "description" : "Searches in Workspace in Craft", + "filename" : "craft-search-workspace.template.sh", "hasArguments" : true, "icon" : { - "dark" : "images\/wordpress-logo-iconDark.png", - "light" : "images\/wordpress-logo.png" + "dark" : null, + "light" : ".\/images\/craft.png" }, - "identifier" : "a98925d26c19810371ec37ed064dd70a", - "isTemplate" : false, + "identifier" : "e2b36133ba62c2b1adf96510991fa097", + "isTemplate" : true, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "WordPress", - "path" : "web-searches\/wordpress\/", + "packageName" : "Craft", + "path" : "apps\/craft\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Search WordPress Docs", - "updatedAt" : "2021-02-22T23:18:02+01:00" + "title" : "Search in Workspace", + "updatedAt" : "2021-03-23T13:32:38-07:00" }, { "authors" : [ { - "name" : "Caleb Stauffer", - "url" : "https:\/\/github.com\/crstauf" + "name" : "James Lyons", + "url" : "https:\/\/github.com\/jamesjlyons" } ], - "createdAt" : "2020-11-30T16:27:32-05:00", + "createdAt" : "2021-03-23T13:32:38-07:00", "currentDirectoryPath" : null, - "description" : "Open [WordPress CLI command reference](https:\/\/developer.wordpress.org\/cli\/commands\/) for specified command.", - "filename" : "wordpress-cli-command.sh", + "description" : "Creates a doc in Craft", + "filename" : "craft-create-doc.template.sh", "hasArguments" : true, "icon" : { - "dark" : "images\/wordpress-logo-iconDark.png", - "light" : "images\/wordpress-logo.png" + "dark" : null, + "light" : ".\/images\/craft.png" }, - "identifier" : "ab5499094ef6353357d01f817812ba76", - "isTemplate" : false, + "identifier" : "ceaaea45ae0681858ca57b43e3c711c1", + "isTemplate" : true, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "WordPress", - "path" : "web-searches\/wordpress\/", + "packageName" : "Craft", + "path" : "apps\/craft\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "WordPress CLI Command", - "updatedAt" : "2020-12-04T22:07:52-05:00" - }, + "title" : "Create Doc", + "updatedAt" : "2021-03-23T13:32:38-07:00" + } + ] + }, + { + "name" : "Wikipedia", + "path" : "wikipedia", + "scriptCommands" : [ { "authors" : [ { - "name" : "Caleb Stauffer", - "url" : "https:\/\/github.com\/crstauf" + "name" : "Juan I. Serra", + "url" : "https:\/\/twitter.com\/jiserra" } ], - "createdAt" : "2020-11-29T21:19:56-05:00", + "createdAt" : "2021-07-20T16:18:28-04:00", "currentDirectoryPath" : null, - "description" : "Open [WordPress functions reference](https:\/\/developer.wordpress.org\/reference\/functions\/) for specified function.", - "filename" : "wordpress-functions-reference.sh", + "description" : "Search Wikipedia and display the result in Raycast", + "filename" : "wikipedia-search.py", "hasArguments" : true, "icon" : { - "dark" : "images\/wordpress-logo-iconDark.png", - "light" : "images\/wordpress-logo.png" + "dark" : null, + "light" : "images\/wikipedia.png" }, - "identifier" : "b149ed5a6cce9f124a9219f368de7ecc", + "identifier" : "598f86d0a3b9f15d762df1930ee39665", + "isTemplate" : false, + "language" : "python", + "mode" : "fullOutput", + "needsConfirmation" : null, + "packageName" : "Wikipedia", + "path" : "apps\/wikipedia\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Wikipedia Search", + "updatedAt" : "2021-07-23T17:46:53-04:00" + } + ] + }, + { + "name" : "GoodLinks", + "path" : "goodlinks", + "scriptCommands" : [ + { + "authors" : [ + { + "name" : "Filip Chabik", + "url" : "https:\/\/github.com\/hadret" + } + ], + "createdAt" : "2022-09-21T21:19:09+02:00", + "currentDirectoryPath" : null, + "description" : "Show Read list in the GoodLinks app", + "filename" : "goodlinks-read-list.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/goodlinks.png" + }, + "identifier" : "c0796027794a07c76f5eb52bab4e8d39", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "WordPress", - "path" : "web-searches\/wordpress\/", + "packageName" : "GoodLinks", + "path" : "apps\/goodlinks\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "WordPress Functions Reference", - "updatedAt" : "2021-02-22T23:18:02+01:00" + "title" : "Show Read List", + "updatedAt" : "2022-09-21T21:19:09+02:00" }, { "authors" : [ { - "name" : "Caleb Stauffer", - "url" : "https:\/\/github.com\/crstauf" + "name" : "Filip Chabik", + "url" : "https:\/\/github.com\/hadret" } ], - "createdAt" : "2020-11-29T21:19:56-05:00", + "createdAt" : "2022-09-21T21:19:09+02:00", "currentDirectoryPath" : null, - "description" : "Open [WordPress classes reference](https:\/\/developer.wordpress.org\/reference\/classes\/) for specified class.", - "filename" : "wordpress-classes-reference.sh", + "description" : "Open a link in the GoodLinks app", + "filename" : "goodlinks-open-link.sh", "hasArguments" : true, "icon" : { - "dark" : "images\/wordpress-logo-iconDark.png", - "light" : "images\/wordpress-logo.png" + "dark" : null, + "light" : "images\/goodlinks.png" }, - "identifier" : "358cd33183b77c7770949c0b0ab732d3", + "identifier" : "3636d0d2ff5bb61acff5b577e364122a", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "WordPress", - "path" : "web-searches\/wordpress\/", + "packageName" : "GoodLinks", + "path" : "apps\/goodlinks\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "WordPress Classes Reference", - "updatedAt" : "2021-02-22T23:18:02+01:00" + "title" : "Open Link", + "updatedAt" : "2022-09-21T21:19:09+02:00" }, { "authors" : [ { - "name" : "Caleb Stauffer", - "url" : "https:\/\/github.com\/crstauf" + "name" : "Filip Chabik", + "url" : "https:\/\/github.com\/hadret" } ], - "createdAt" : "2020-11-30T14:19:51-05:00", + "createdAt" : "2022-09-21T21:19:09+02:00", "currentDirectoryPath" : null, - "description" : "Open [WordPress hooks reference](https:\/\/developer.wordpress.org\/reference\/hooks\/) for specified hook.", - "filename" : "wordpress-hooks-reference.sh", - "hasArguments" : true, + "description" : "Show Untagged list in the GoodLinks app", + "filename" : "goodlinks-untagged-list.sh", + "hasArguments" : false, "icon" : { - "dark" : "images\/wordpress-logo-iconDark.png", - "light" : "images\/wordpress-logo.png" + "dark" : null, + "light" : "images\/goodlinks.png" }, - "identifier" : "9f17bba3f9bf3cd0276fcb70cef3023f", + "identifier" : "c80ffd45f9345adbcc18b9140d865da0", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "WordPress", - "path" : "web-searches\/wordpress\/", + "packageName" : "GoodLinks", + "path" : "apps\/goodlinks\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "WordPress Hooks Reference", - "updatedAt" : "2021-02-22T23:18:02+01:00" - } - ] - } - ] - }, - { - "name" : "Apps", - "path" : "apps", - "scriptCommands" : [ - - ], - "subGroups" : [ - { - "name" : "MeetingBar", - "path" : "meetingbar", - "scriptCommands" : [ + "title" : "Show Untagged List", + "updatedAt" : "2022-09-21T21:19:09+02:00" + }, { "authors" : [ { - "name" : "Jakub Lanski", - "url" : "https:\/\/github.com\/jaklan" + "name" : "Filip Chabik", + "url" : "https:\/\/github.com\/hadret" } ], - "createdAt" : "2021-08-23T05:05:54+02:00", + "createdAt" : "2022-09-21T21:19:09+02:00", "currentDirectoryPath" : null, - "description" : "Join the ongoing or upcoming meeting.", - "filename" : "meetingbar-join-meeting.applescript", + "description" : "Show Unread list in the GoodLinks app", + "filename" : "goodlinks-unread-list.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/meetingbar.png" + "light" : "images\/goodlinks.png" }, - "identifier" : "b8993c798f512a75626c91ead46662be", + "identifier" : "bfd473a3c237f50761e5716e9abee708", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "MeetingBar", - "path" : "apps\/meetingbar\/", + "packageName" : "GoodLinks", + "path" : "apps\/goodlinks\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Join Meeting", - "updatedAt" : "2021-08-23T12:18:02+02:00" + "title" : "Show Unread List", + "updatedAt" : "2022-09-21T21:19:09+02:00" }, { "authors" : [ { - "name" : "Jakub Lanski", - "url" : "https:\/\/github.com\/jaklan" + "name" : "Filip Chabik", + "url" : "https:\/\/github.com\/hadret" } ], - "createdAt" : "2021-08-23T05:05:54+02:00", + "createdAt" : "2022-09-21T21:19:09+02:00", "currentDirectoryPath" : null, - "description" : "Create a new meeting.", - "filename" : "meetingbar-create-meeting.applescript", + "description" : "Open the last unread link in the GoodLinks app", + "filename" : "goodlinks-last-unread-link.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/meetingbar.png" + "light" : "images\/goodlinks.png" }, - "identifier" : "79b4a204b8d40f498a14d7d0623bac23", + "identifier" : "574ebc7209ea95507f347597e25cc284", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "MeetingBar", - "path" : "apps\/meetingbar\/", + "packageName" : "GoodLinks", + "path" : "apps\/goodlinks\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create Meeting", - "updatedAt" : "2021-08-23T12:18:02+02:00" - } - ] - }, - { - "name" : "Lungo", - "path" : "lungo", - "scriptCommands" : [ + "title" : "Open Last Unread Link", + "updatedAt" : "2022-09-21T21:19:09+02:00" + }, { "authors" : [ { - "name" : "Lungo", - "url" : "https:\/\/sindresorhus.com\/lungo" + "name" : "Filip Chabik", + "url" : "https:\/\/github.com\/hadret" } ], - "createdAt" : "2021-10-29T16:08:45+07:00", + "createdAt" : "2022-09-21T21:19:09+02:00", "currentDirectoryPath" : null, - "description" : "Toggle Lungo.", - "filename" : "lungo-toggle.sh", - "hasArguments" : true, + "description" : "Show Starred list in the GoodLinks app", + "filename" : "goodlinks-starred-list.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/lungo.png" + "light" : "images\/goodlinks.png" }, - "identifier" : "1e1201142099074bd201c2e04bfed472", + "identifier" : "1b30afbd9d13fa4c0361905818295682", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Lungo", - "path" : "apps\/lungo\/", + "packageName" : "GoodLinks", + "path" : "apps\/goodlinks\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Toggle", - "updatedAt" : "2021-10-29T16:08:45+07:00" + "title" : "Show Starred List", + "updatedAt" : "2022-09-21T21:19:09+02:00" }, { "authors" : [ { - "name" : "Lungo", - "url" : "https:\/\/sindresorhus.com\/lungo" + "name" : "Filip Chabik", + "url" : "https:\/\/github.com\/hadret" } ], - "createdAt" : "2021-10-29T16:08:45+07:00", + "createdAt" : "2022-09-21T21:19:09+02:00", "currentDirectoryPath" : null, - "description" : "Deactivate Lungo.", - "filename" : "lungo-activate.sh", + "description" : "Saves a new link to GoodLinks", + "filename" : "goodlinks-save-link.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/lungo.png" + "light" : "images\/goodlinks.png" }, - "identifier" : "e41a768d833a7cca41cb21491926b013", + "identifier" : "3a5576e914a31aadb395f733a49f047d", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Lungo", - "path" : "apps\/lungo\/", + "packageName" : "GoodLinks", + "path" : "apps\/goodlinks\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Activate", - "updatedAt" : "2021-10-29T16:08:45+07:00" + "title" : "Save Link", + "updatedAt" : "2022-09-21T21:19:09+02:00" }, { "authors" : [ { - "name" : "Lungo", - "url" : "https:\/\/sindresorhus.com\/lungo" + "name" : "Filip Chabik", + "url" : "https:\/\/github.com\/hadret" } ], - "createdAt" : "2021-10-29T16:08:45+07:00", + "createdAt" : "2022-09-21T21:19:09+02:00", "currentDirectoryPath" : null, - "description" : "Deactivate Lungo.", - "filename" : "lungo-deactivate.sh", + "description" : "Open a random unread link in the GoodLinks app", + "filename" : "goodlinks-random-unread-link.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/lungo.png" + "light" : "images\/goodlinks.png" }, - "identifier" : "7ad4b7c36c41fb0730596bdd72a12515", + "identifier" : "b3f2decfb875757a8a2bcebf5904a88f", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Lungo", - "path" : "apps\/lungo\/", + "packageName" : "GoodLinks", + "path" : "apps\/goodlinks\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Deactivate", - "updatedAt" : "2021-10-29T16:08:45+07:00" - } - ] - }, - { - "name" : "iTerm", - "path" : "iterm", - "scriptCommands" : [ + "title" : "Open Random Unread Link", + "updatedAt" : "2022-09-21T21:19:09+02:00" + }, { "authors" : [ { - "name" : "Andrei Borisov", - "url" : "https:\/\/github.com\/andreiborisov" + "name" : "Filip Chabik", + "url" : "https:\/\/github.com\/hadret" } ], - "createdAt" : "2021-02-02T11:58:56+03:00", + "createdAt" : "2022-09-21T21:19:09+02:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "iterm-run-shell-command.applescript", + "description" : "Show links tagged with the specified tag in the GoodLinks app", + "filename" : "goodlinks-tagged-links.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/iterm.png" + "light" : "images\/goodlinks.png" }, - "identifier" : "aad45bb498bc30bd7cf7c2e9405c1477", + "identifier" : "10a6aa033cfb6122dfbbe70eaa5ea8e8", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "iTerm", - "path" : "apps\/iterm\/", + "packageName" : "GoodLinks", + "path" : "apps\/goodlinks\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Run Shell Command", - "updatedAt" : "2021-02-02T11:58:56+03:00" + "title" : "Show Tag", + "updatedAt" : "2022-09-21T21:19:09+02:00" } ] }, { - "name" : "Cleanshot", - "path" : "cleanshot", + "name" : "Terminal Translate", + "path" : "terminal-translate", "scriptCommands" : [ { "authors" : [ { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" + "name" : "Fatpandac", + "url" : "https:\/\/github.com\/Fatpandac" } ], - "createdAt" : "2021-03-01T16:53:29+00:00", + "createdAt" : "2022-04-04T02:34:41+08:00", "currentDirectoryPath" : null, - "description" : "Opens a new Quick Access Overlay with the specified image or video.", - "filename" : "cleanshot-add-quick-access-overlay.sh", + "description" : "Translate word or sentence.", + "filename" : "translate.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/add-quick-access-overlay.png" + "light" : "📖" }, - "identifier" : "91b80377dfa8efe298d18c230eaef6f2", + "identifier" : "8cd0465bb037880e1fcc57beb8ffea49", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "fullOutput", "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", + "packageName" : "Terminal Translate", + "path" : "apps\/terminal-translate\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Add Quick Access Overlay", - "updatedAt" : "2021-07-20T15:49:26+01:00" - }, + "title" : "Translate", + "updatedAt" : "2022-04-04T02:34:41+08:00" + } + ] + }, + { + "name" : "BusyCal", + "path" : "busycal", + "scriptCommands" : [ { "authors" : [ { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" + "name" : "Annie Ma", + "url" : "www.anniema.co" } ], - "createdAt" : "2021-03-01T16:53:29+00:00", + "createdAt" : "2024-02-06T01:35:01-07:00", "currentDirectoryPath" : null, - "description" : "Opens Text Recognition (OCR) tool or extracts text from the specified file.", - "filename" : "cleanshot-capture-text.sh", + "description" : "Creates new events or tasks in BusyCal.", + "filename" : "new-busycal-event-or-task.applescript", "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/capture-text.png" - }, - "identifier" : "bc13ec469b1f9315254a99c339f94c46", - "isTemplate" : false, - "language" : "bash", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Capture Text", - "updatedAt" : "2021-07-20T15:49:26+01:00" - }, - { - "authors" : [ - { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" - } - ], - "createdAt" : "2021-03-01T16:53:29+00:00", - "currentDirectoryPath" : null, - "description" : "Take a screenshot of a window.", - "filename" : "cleanshot-capture-window.sh", - "hasArguments" : false, - "icon" : { - "dark" : null, - "light" : ".\/images\/capture-window.png" + "light" : "images\/busycal.png" }, - "identifier" : "930cc5847d3e98f97448af63c9f6ce70", + "identifier" : "e4f836d21d4fcb8bcf522b1393aad74a", "isTemplate" : false, - "language" : "bash", - "mode" : "silent", + "language" : "applescript", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", + "packageName" : "BusyCal", + "path" : "apps\/busycal\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Capture Window", - "updatedAt" : "2021-05-28T10:40:03+01:00" - }, + "title" : "Create Event\/Task", + "updatedAt" : "2024-02-06T08:36:45Z" + } + ] + }, + { + "name" : "Stickies", + "path" : "stickies", + "scriptCommands" : [ { "authors" : [ { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" + "name" : "Annie Ma", + "url" : "http:\/\/www.anniema.co\/" } ], - "createdAt" : "2021-03-01T16:53:29+00:00", + "createdAt" : "2024-01-26T02:19:25-07:00", "currentDirectoryPath" : null, - "description" : "Take a screenshot of the previously specified area of your screen.", - "filename" : "cleanshot-capture-previous-area.sh", + "description" : "This script creates a new floating note in the Apple Stickies application", + "filename" : "new-floating-sticky.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/capture-previous-area.png" + "light" : "images\/stickies.png" }, - "identifier" : "5b66ca80099c0df6a6f6b76b72f30e77", + "identifier" : "dae7953c0397480c8d99a3b0f56176b7", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", + "packageName" : "Stickies", + "path" : "apps\/stickies\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Capture Previous Area", - "updatedAt" : "2021-05-28T10:40:03+01:00" - }, + "title" : "New Floating Sticky Note", + "updatedAt" : "2024-01-26T09:21:48Z" + } + ] + }, + { + "name" : "Bartender", + "path" : "bartender", + "scriptCommands" : [ { - "authors" : [ - { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" - } - ], - "createdAt" : "2021-03-01T16:53:29+00:00", + "authors" : null, + "createdAt" : "2023-06-02T15:26:22+08:00", "currentDirectoryPath" : null, - "description" : "Restore the recently closed file.", - "filename" : "cleanshot-restore.sh", - "hasArguments" : false, + "description" : "Perform a quick search of Menu Bar Items, in Bartender 4", + "filename" : "bartender-search.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/restore.png" + "light" : "images\/bartender-icon.png" }, - "identifier" : "178ae73a00cf095f273899ff011ac7ae", + "identifier" : "be9bfa8f7ef781753490380437a674aa", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", + "packageName" : "Bartender.app", + "path" : "apps\/bartender\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Restore Recently Closed File", - "updatedAt" : "2021-05-28T10:40:03+01:00" - }, + "title" : "Search Bartender", + "updatedAt" : "2023-06-02T15:26:22+08:00" + } + ] + }, + { + "name" : "Playground", + "path" : "playground", + "readme" : "apps\/playground\/README.md", + "scriptCommands" : [ { "authors" : [ { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" + "name" : "Quentin Eude", + "url" : "https:\/\/github.com\/qeude" } ], - "createdAt" : "2021-03-01T16:53:29+00:00", + "createdAt" : "2021-06-14T20:32:07+02:00", "currentDirectoryPath" : null, - "description" : "Pin a screenshot to the screen.", - "filename" : "cleanshot-pin.sh", + "description" : "Create and open a new view based Swift Playground", + "filename" : "open-new-view-playground.py", "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/pin.png" + "light" : "🕊" }, - "identifier" : "7b43135688cf93a57980e243831f842d", + "identifier" : "830a18fee37d756c1a00a65e286113a3", "isTemplate" : false, - "language" : "bash", + "language" : "python", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", + "packageName" : "Swift Playgrounds", + "path" : "apps\/playground\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Pin to the Screen", - "updatedAt" : "2021-05-28T10:40:03+01:00" + "title" : "Create View Based", + "updatedAt" : "2021-06-14T20:32:07+02:00" }, { "authors" : [ { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" + "name" : "Quentin Eude", + "url" : "https:\/\/github.com\/qeude" } ], - "createdAt" : "2021-03-01T16:53:29+00:00", + "createdAt" : "2021-06-14T20:32:07+02:00", "currentDirectoryPath" : null, - "description" : "Opens specified file in Annotate.", - "filename" : "cleanshot-annotate.sh", + "description" : "Create and open a new basic Swift Playground", + "filename" : "open-new-playground.py", "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/annotate.png" + "light" : "🕊" }, - "identifier" : "e59fa63eb6231b9ade5ac4c903255949", + "identifier" : "23040420c0f901b4bd478a02943591c5", "isTemplate" : false, - "language" : "bash", + "language" : "python", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", + "packageName" : "Swift Playgrounds", + "path" : "apps\/playground\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Annotate", - "updatedAt" : "2021-07-20T15:49:26+01:00" - }, + "title" : "Create Basic", + "updatedAt" : "2021-06-14T20:32:07+02:00" + } + ] + }, + { + "name" : "Eudic", + "path" : "eudic", + "scriptCommands" : [ { "authors" : [ { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" + "name" : "jingyi", + "url" : "https:\/\/jingyi.blog" } ], - "createdAt" : "2021-03-01T16:53:29+00:00", + "createdAt" : "2023-02-25T09:21:48+08:00", "currentDirectoryPath" : null, - "description" : "Take a screenshot of a specific area on your screen.", - "filename" : "cleanshot-capture-area.sh", - "hasArguments" : false, + "description" : "look up in eudic", + "filename" : "look-up-in-eudic.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/capture-area.png" + "light" : ".\/images\/eudic.png" }, - "identifier" : "7a465271a40d40df33a4f809a9008da6", + "identifier" : "0d031b91eae5648603862a92b89d0ef5", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", + "packageName" : "Eudic", + "path" : "apps\/eudic\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Capture Area", - "updatedAt" : "2021-05-28T10:40:29+01:00" - }, + "title" : "Look up Word", + "updatedAt" : "2023-02-25T09:21:48+08:00" + } + ] + }, + { + "name" : "One Thing", + "path" : "one-thing", + "scriptCommands" : [ { "authors" : [ { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" + "name" : "One Thing", + "url" : "https:\/\/sindresorhus.com\/one-thing" } ], - "createdAt" : "2021-03-01T16:53:29+00:00", + "createdAt" : "2022-01-16T17:00:05+07:00", "currentDirectoryPath" : null, - "description" : "Open screenshot that is currently in the clipboard.", - "filename" : "cleanshot-open-from-clipboard.sh", - "hasArguments" : false, + "description" : "Set the text shown in One Thing app.", + "filename" : "one-thing-set-text.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/clipboard.png" + "light" : ".\/images\/one-thing.png" }, - "identifier" : "6695f028dbfc306af7f80b7143ae2f11", + "identifier" : "64b8520de38fe85dbc3fc84d16d26db9", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", + "packageName" : "One Thing", + "path" : "apps\/one-thing\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open from Clipboard", - "updatedAt" : "2021-05-28T10:40:03+01:00" + "title" : "Set Text", + "updatedAt" : "2023-02-03T19:59:31+07:00" }, { "authors" : [ { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" + "name" : "One Thing", + "url" : "https:\/\/sindresorhus.com\/one-thing" } ], - "createdAt" : "2021-03-01T16:53:29+00:00", + "createdAt" : "2022-01-16T17:00:05+07:00", "currentDirectoryPath" : null, - "description" : "Take a screenshot of your screen.", - "filename" : "cleanshot-capture-fullscreen.sh", + "description" : "Clear the text shown in One Thing app.", + "filename" : "one-thing-clear-text.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/capture-fullscreen.png" + "light" : ".\/images\/one-thing.png" }, - "identifier" : "38409278bff8b4b2a6b1f4a1c414467f", + "identifier" : "d6364a4011082d1d7dbfeb99a5cd55bf", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", + "packageName" : "One Thing", + "path" : "apps\/one-thing\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Capture Fullscreen", - "updatedAt" : "2021-05-28T10:40:03+01:00" - }, + "title" : "Clear Text", + "updatedAt" : "2023-02-03T19:59:31+07:00" + } + ] + }, + { + "name" : "Evernote", + "path" : "evernote", + "scriptCommands" : [ { "authors" : [ { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" + "name" : "Aaron Miller", + "url" : "https:\/\/github.com\/aaronhmiller" } ], - "createdAt" : "2021-03-01T16:53:29+00:00", + "createdAt" : "2021-08-13T13:17:23-07:00", "currentDirectoryPath" : null, - "description" : "Take a screenshot after a specified delay to capture the perfect moment.", - "filename" : "cleanshot-self-timer.sh", + "description" : "Creates a new Evernote, pastes in the contents of the clipboard, and positions the cursor in the title area.", + "filename" : "create-note-paste-clipboard.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/self-timer.png" + "light" : ".\/images\/evernote.png" }, - "identifier" : "6a02485725c953ebabb634d2171d69d4", + "identifier" : "d35a432612f0fce10372d3b066dc49e6", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", + "packageName" : "Evernote", + "path" : "apps\/evernote\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Self-Timer", - "updatedAt" : "2021-05-28T10:40:03+01:00" + "title" : "Create Evernote Paste Clipboard", + "updatedAt" : "2021-08-13T13:17:23-07:00" }, { "authors" : [ { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" + "name" : "Aaron Miller", + "url" : "https:\/\/github.com\/aaronhmiller" } ], - "createdAt" : "2021-03-01T16:53:29+00:00", + "createdAt" : "2021-08-13T13:17:23-07:00", "currentDirectoryPath" : null, - "description" : "Capture any scrollable content.", - "filename" : "cleanshot-scrolling-capture.sh", + "description" : "Creates a new Evernote.", + "filename" : "create-note.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/scrolling-capture.png" + "light" : ".\/images\/evernote.png" }, - "identifier" : "95d0ae887d4bd4de79313e67e919ce1c", + "identifier" : "f546136ca9bad8f3b77a31e1ff0aecd0", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", + "packageName" : "Evernote", + "path" : "apps\/evernote\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Scrolling Capture", - "updatedAt" : "2021-05-28T10:40:03+01:00" - }, + "title" : "Create Evernote", + "updatedAt" : "2021-08-13T13:17:23-07:00" + } + ] + }, + { + "name" : "NotePlan3", + "path" : "noteplan3", + "readme" : "apps\/noteplan3\/README.md", + "scriptCommands" : [ { "authors" : [ { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" + "name" : "Göran Damberg", + "url" : "https:\/\/github.com\/gdamberg" } ], - "createdAt" : "2021-03-01T16:53:29+00:00", + "createdAt" : "2021-06-23T09:20:05+02:00", "currentDirectoryPath" : null, - "description" : "Start a screen recording and save it as a video or an optimized GIF file.", - "filename" : "cleanshot-record-screen.sh", - "hasArguments" : false, + "description" : "Append to daily note", + "filename" : "noteplan-append-daily-note.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/record-screen.png" + "light" : "images\/noteplan3.png" }, - "identifier" : "2797e2984ea9fc0d309081f7cf08e034", + "identifier" : "d802c64f73f9e89996597e76af3d5094", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", + "packageName" : "NotePlan3", + "path" : "apps\/noteplan3\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Record Screen", - "updatedAt" : "2021-05-28T10:40:03+01:00" + "title" : "Append To Daily Note", + "updatedAt" : "2021-06-23T09:20:05+02:00" }, { "authors" : [ { - "name" : "CleanShot X", - "url" : "https:\/\/twitter.com\/CleanShot_app" + "name" : "Göran Damberg", + "url" : "https:\/\/github.com\/gdamberg" } ], - "createdAt" : "2021-03-01T16:53:29+00:00", + "createdAt" : "2021-06-23T09:20:05+02:00", "currentDirectoryPath" : null, - "description" : "Hide clutter on your Desktop.", - "filename" : "cleanshot-toggle-desktop-icons.sh", - "hasArguments" : false, + "description" : "Create a new note from clipboard", + "filename" : "noteplan-new-note-from-clipboard.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/toggle-desktop-icons.png" + "light" : "images\/noteplan3.png" }, - "identifier" : "1ccf43b5679b65859cf4867a0713ea57", + "identifier" : "2562e5c7b3258337f783b8210e796d55", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "fullOutput", "needsConfirmation" : null, - "packageName" : "CleanShot X", - "path" : "apps\/cleanshot\/", + "packageName" : "NotePlan3", + "path" : "apps\/noteplan3\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Toggle Desktop Icons", - "updatedAt" : "2021-05-28T10:40:29+01:00" + "title" : "New Note From Clipboard", + "updatedAt" : "2021-06-23T09:20:05+02:00" } ] }, { - "name" : "Craft", - "path" : "craft", + "name" : "Amphetamine", + "path" : "amphetamine", "scriptCommands" : [ { "authors" : [ @@ -13924,26 +15876,26 @@ "url" : "https:\/\/github.com\/jamesjlyons" } ], - "createdAt" : "2021-03-23T13:32:38-07:00", + "createdAt" : "2021-01-07T18:10:56-08:00", "currentDirectoryPath" : null, - "description" : "Searches in Workspace in Craft", - "filename" : "craft-search-workspace.template.sh", - "hasArguments" : true, + "description" : "Start Default Amphetamine Session", + "filename" : "amphetamine-on.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/craft.png" + "light" : "images\/amphetamine.png" }, - "identifier" : "e2b36133ba62c2b1adf96510991fa097", - "isTemplate" : true, - "language" : "bash", + "identifier" : "6c247430747abf30a7011ae37d87ca7b", + "isTemplate" : false, + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Craft", - "path" : "apps\/craft\/", + "packageName" : "Amphetamine", + "path" : "apps\/amphetamine\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Search in Workspace", - "updatedAt" : "2021-03-23T13:32:38-07:00" + "title" : "Start Default Session", + "updatedAt" : "2021-05-28T10:35:03+01:00" }, { "authors" : [ @@ -13952,4468 +15904,4561 @@ "url" : "https:\/\/github.com\/jamesjlyons" } ], - "createdAt" : "2021-03-23T13:32:38-07:00", + "createdAt" : "2021-01-07T18:10:56-08:00", "currentDirectoryPath" : null, - "description" : "Creates a doc in Craft", - "filename" : "craft-create-doc.template.sh", - "hasArguments" : true, + "description" : "Stop Current Amphetamine Session", + "filename" : "amphetamine-off.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/craft.png" + "light" : "images\/amphetamine.png" }, - "identifier" : "ceaaea45ae0681858ca57b43e3c711c1", - "isTemplate" : true, - "language" : "bash", + "identifier" : "7663eee08fb216262ad4e904c0ed4c7a", + "isTemplate" : false, + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Craft", - "path" : "apps\/craft\/", + "packageName" : "Amphetamine", + "path" : "apps\/amphetamine\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create Doc", - "updatedAt" : "2021-03-23T13:32:38-07:00" + "title" : "End Session", + "updatedAt" : "2021-05-28T10:34:50+01:00" } ] }, { - "name" : "Wikipedia", - "path" : "wikipedia", + "name" : "Find My", + "path" : "find-my", + "readme" : "apps\/find-my\/README.md", "scriptCommands" : [ { - "authors" : [ - { - "name" : "Juan I. Serra", - "url" : "https:\/\/twitter.com\/jiserra" - } - ], - "createdAt" : "2021-07-20T16:18:28-04:00", + "authors" : null, + "createdAt" : "2025-06-12T06:53:33-07:00", "currentDirectoryPath" : null, - "description" : "Search Wikipedia and display the result in Raycast", - "filename" : "wikipedia-search.py", - "hasArguments" : true, + "description" : null, + "filename" : "fmp.js", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/wikipedia.png" + "light" : "images\/find-my-icon.png" }, - "identifier" : "598f86d0a3b9f15d762df1930ee39665", + "identifier" : "206851d53c58c074472f7acb20ceeb08", "isTemplate" : false, - "language" : "python", - "mode" : "fullOutput", + "language" : "node", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Wikipedia", - "path" : "apps\/wikipedia\/", + "packageName" : "FindMy", + "path" : "apps\/find-my\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Wikipedia Search", - "updatedAt" : "2021-07-23T17:46:53-04:00" + "title" : "Find My Phone (Auto Sound)", + "updatedAt" : "2025-06-12T06:53:33-07:00" } ] }, { - "name" : "GoodLinks", - "path" : "goodlinks", + "name" : "Bear", + "path" : "bear", "scriptCommands" : [ { "authors" : [ { - "name" : "Filip Chabik", - "url" : "https:\/\/github.com\/hadret" + "name" : "Tanay Nistala", + "url" : "https:\/\/github.com\/tanaynistala" } ], - "createdAt" : "2022-09-21T21:19:09+02:00", + "createdAt" : "2020-12-08T15:05:55+05:30", "currentDirectoryPath" : null, - "description" : "Show Read list in the GoodLinks app", - "filename" : "goodlinks-read-list.sh", - "hasArguments" : false, + "description" : "Open the Today section in Bear.", + "filename" : "bear-today.sh", + "hasArguments" : true, "icon" : { - "dark" : null, - "light" : "images\/goodlinks.png" + "dark" : "images\/bear-dark.png", + "light" : "images\/bear-light.png" }, - "identifier" : "c0796027794a07c76f5eb52bab4e8d39", + "identifier" : "a3ba0dc119ef33bb239b30ae6cb4d1e8", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "GoodLinks", - "path" : "apps\/goodlinks\/", + "packageName" : "Bear", + "path" : "apps\/bear\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Show Read List", - "updatedAt" : "2022-09-21T21:19:09+02:00" + "title" : "Open Today", + "updatedAt" : "2021-05-28T10:36:54+01:00" }, { "authors" : [ { - "name" : "Filip Chabik", - "url" : "https:\/\/github.com\/hadret" + "name" : "Tanay Nistala", + "url" : "https:\/\/github.com\/tanaynistala" } ], - "createdAt" : "2022-09-21T21:19:09+02:00", + "createdAt" : "2020-12-08T15:05:55+05:30", "currentDirectoryPath" : null, - "description" : "Open a link in the GoodLinks app", - "filename" : "goodlinks-open-link.sh", + "description" : "Open the specified tag in Bear.", + "filename" : "bear-open-tag.sh", "hasArguments" : true, "icon" : { - "dark" : null, - "light" : "images\/goodlinks.png" + "dark" : "images\/bear-dark.png", + "light" : "images\/bear-light.png" }, - "identifier" : "3636d0d2ff5bb61acff5b577e364122a", + "identifier" : "b0cc37027abe39c7a0cb5053b8a9f4ec", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "GoodLinks", - "path" : "apps\/goodlinks\/", + "packageName" : "Bear", + "path" : "apps\/bear\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Link", - "updatedAt" : "2022-09-21T21:19:09+02:00" + "title" : "Open Tag", + "updatedAt" : "2021-05-28T10:36:54+01:00" }, { "authors" : [ { - "name" : "Filip Chabik", - "url" : "https:\/\/github.com\/hadret" + "name" : "Tanay Nistala", + "url" : "https:\/\/github.com\/tanaynistala" } ], - "createdAt" : "2022-09-21T21:19:09+02:00", + "createdAt" : "2020-12-08T15:05:55+05:30", "currentDirectoryPath" : null, - "description" : "Show Untagged list in the GoodLinks app", - "filename" : "goodlinks-untagged-list.sh", - "hasArguments" : false, + "description" : "Add a new note to Bear.", + "filename" : "bear-add-note.sh", + "hasArguments" : true, "icon" : { - "dark" : null, - "light" : "images\/goodlinks.png" + "dark" : "images\/bear-dark.png", + "light" : "images\/bear-light.png" }, - "identifier" : "c80ffd45f9345adbcc18b9140d865da0", + "identifier" : "1bdff208152a457aab81e00fda092d6c", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "GoodLinks", - "path" : "apps\/goodlinks\/", + "packageName" : "Bear", + "path" : "apps\/bear\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Show Untagged List", - "updatedAt" : "2022-09-21T21:19:09+02:00" + "title" : "Add Note", + "updatedAt" : "2021-05-28T10:35:40+01:00" }, { "authors" : [ { - "name" : "Filip Chabik", - "url" : "https:\/\/github.com\/hadret" + "name" : "Tanay Nistala", + "url" : "https:\/\/github.com\/tanaynistala" } ], - "createdAt" : "2022-09-21T21:19:09+02:00", + "createdAt" : "2020-12-08T15:05:55+05:30", "currentDirectoryPath" : null, - "description" : "Show Unread list in the GoodLinks app", - "filename" : "goodlinks-unread-list.sh", - "hasArguments" : false, + "description" : "Search notes by keyword and\/or tag in Bear.", + "filename" : "bear-search.sh", + "hasArguments" : true, "icon" : { - "dark" : null, - "light" : "images\/goodlinks.png" + "dark" : "images\/bear-dark.png", + "light" : "images\/bear-light.png" }, - "identifier" : "bfd473a3c237f50761e5716e9abee708", + "identifier" : "e7cdad30d00d056c56e710729f1a6531", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "GoodLinks", - "path" : "apps\/goodlinks\/", + "packageName" : "Bear", + "path" : "apps\/bear\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Show Unread List", - "updatedAt" : "2022-09-21T21:19:09+02:00" + "title" : "Search", + "updatedAt" : "2021-06-14T14:17:13-05:00" }, { "authors" : [ { - "name" : "Filip Chabik", - "url" : "https:\/\/github.com\/hadret" + "name" : "Tanay Nistala", + "url" : "https:\/\/github.com\/tanaynistala" } ], - "createdAt" : "2022-09-21T21:19:09+02:00", + "createdAt" : "2020-12-08T15:05:55+05:30", "currentDirectoryPath" : null, - "description" : "Open the last unread link in the GoodLinks app", - "filename" : "goodlinks-last-unread-link.sh", - "hasArguments" : false, + "description" : "Open the Todo section in Bear.", + "filename" : "bear-todo.sh", + "hasArguments" : true, "icon" : { - "dark" : null, - "light" : "images\/goodlinks.png" + "dark" : "images\/bear-dark.png", + "light" : "images\/bear-light.png" }, - "identifier" : "574ebc7209ea95507f347597e25cc284", + "identifier" : "ae50306d0334257a49487d71a72598c6", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "GoodLinks", - "path" : "apps\/goodlinks\/", + "packageName" : "Bear", + "path" : "apps\/bear\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Last Unread Link", - "updatedAt" : "2022-09-21T21:19:09+02:00" + "title" : "Open Todos", + "updatedAt" : "2021-05-28T10:38:31+01:00" }, { "authors" : [ { - "name" : "Filip Chabik", - "url" : "https:\/\/github.com\/hadret" + "name" : "Tanay Nistala", + "url" : "https:\/\/github.com\/tanaynistala" } ], - "createdAt" : "2022-09-21T21:19:09+02:00", + "createdAt" : "2020-12-08T15:05:55+05:30", "currentDirectoryPath" : null, - "description" : "Show Starred list in the GoodLinks app", - "filename" : "goodlinks-starred-list.sh", - "hasArguments" : false, + "description" : "Open the specified note in Bear.", + "filename" : "bear-open-note.sh", + "hasArguments" : true, "icon" : { - "dark" : null, - "light" : "images\/goodlinks.png" + "dark" : "images\/bear-dark.png", + "light" : "images\/bear-light.png" }, - "identifier" : "1b30afbd9d13fa4c0361905818295682", + "identifier" : "24d03b4080ea3b49d348721ec0865b40", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "GoodLinks", - "path" : "apps\/goodlinks\/", + "packageName" : "Bear", + "path" : "apps\/bear\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Show Starred List", - "updatedAt" : "2022-09-21T21:19:09+02:00" - }, + "title" : "Open Note", + "updatedAt" : "2021-05-28T10:36:54+01:00" + } + ] + }, + { + "name" : "Mail", + "path" : "mail", + "scriptCommands" : [ { "authors" : [ { - "name" : "Filip Chabik", - "url" : "https:\/\/github.com\/hadret" + "name" : "Jesse Claven", + "url" : "https:\/\/github.com\/jesse-c" } ], - "createdAt" : "2022-09-21T21:19:09+02:00", + "createdAt" : "2021-05-22T16:27:53+01:00", "currentDirectoryPath" : null, - "description" : "Saves a new link to GoodLinks", - "filename" : "goodlinks-save-link.sh", - "hasArguments" : true, + "description" : "Copies the foreground Mail deeplink", + "filename" : "copy-foreground-mail-deeplink.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/goodlinks.png" + "light" : "📧" }, - "identifier" : "3a5576e914a31aadb395f733a49f047d", + "identifier" : "2b57bf3c301e2230d812bba90896fc1f", "isTemplate" : false, - "language" : "bash", - "mode" : "silent", + "language" : "applescript", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "GoodLinks", - "path" : "apps\/goodlinks\/", + "packageName" : "Mail", + "path" : "apps\/mail\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Save Link", - "updatedAt" : "2022-09-21T21:19:09+02:00" + "title" : "Copy Foreground Mail Deeplink", + "updatedAt" : "2021-05-22T16:27:53+01:00" }, { "authors" : [ { - "name" : "Filip Chabik", - "url" : "https:\/\/github.com\/hadret" + "name" : "RealTong", + "url" : "https:\/\/raycast.com\/RealTong" } ], - "createdAt" : "2022-09-21T21:19:09+02:00", + "createdAt" : "2024-03-02T12:46:14+08:00", "currentDirectoryPath" : null, - "description" : "Open a random unread link in the GoodLinks app", - "filename" : "goodlinks-random-unread-link.sh", + "description" : "Copy the captcha from the emlx file.", + "filename" : "copy-captcha-from-mail.py", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/goodlinks.png" + "light" : ".\/images\/mail.png" }, - "identifier" : "b3f2decfb875757a8a2bcebf5904a88f", + "identifier" : "eb5104b3db21de0c7ea654c49319716a", "isTemplate" : false, - "language" : "bash", + "language" : "python", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "GoodLinks", - "path" : "apps\/goodlinks\/", + "packageName" : "Mail", + "path" : "apps\/mail\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Random Unread Link", - "updatedAt" : "2022-09-21T21:19:09+02:00" - }, + "title" : "CaptchaFromMail", + "updatedAt" : "2024-03-02T12:46:14+08:00" + } + ] + }, + { + "name" : "Claude", + "path" : "claude", + "scriptCommands" : [ { "authors" : [ { - "name" : "Filip Chabik", - "url" : "https:\/\/github.com\/hadret" + "name" : "Nimo Beeren", + "url" : "https:\/\/github.com\/nimobeeren" } ], - "createdAt" : "2022-09-21T21:19:09+02:00", + "createdAt" : "2024-08-07T21:01:27+02:00", "currentDirectoryPath" : null, - "description" : "Show links tagged with the specified tag in the GoodLinks app", - "filename" : "goodlinks-tagged-links.sh", + "description" : "Open Claude in Chrome browser and submit a prompt", + "filename" : "claude.js", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/goodlinks.png" + "light" : "✨" }, - "identifier" : "10a6aa033cfb6122dfbbe70eaa5ea8e8", + "identifier" : "cd9356ee79829cf478bdcd127c673a0c", "isTemplate" : false, - "language" : "bash", + "language" : "node", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "GoodLinks", - "path" : "apps\/goodlinks\/", + "packageName" : "Claude", + "path" : "apps\/claude\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Show Tag", - "updatedAt" : "2022-09-21T21:19:09+02:00" + "title" : "Ask Claude", + "updatedAt" : "2024-08-30T13:09:27Z" } ] }, { - "name" : "Terminal Translate", - "path" : "terminal-translate", + "name" : "TunnelBlick", + "path" : "tunnelblick", "scriptCommands" : [ { "authors" : [ { - "name" : "Fatpandac", - "url" : "https:\/\/github.com\/Fatpandac" + "name" : "Achille Lacoin", + "url" : "https:\/\/github.com\/pomdtr" } ], - "createdAt" : "2022-04-04T02:34:41+08:00", + "createdAt" : "2021-03-14T17:37:20+01:00", "currentDirectoryPath" : null, - "description" : "Translate word or sentence.", - "filename" : "translate.sh", + "description" : "Disconnect a VPN configuration.", + "filename" : "tunnelblick-disconnect.applescript", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "images\/tunnelblick.png" + }, + "identifier" : "6abb4b2ece585f7043d27e0f70c8ed0c", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : false, + "packageName" : "Tunnelblick", + "path" : "apps\/tunnelblick\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Tunnelblick: Disconnect", + "updatedAt" : "2021-03-16T12:21:52+05:30" + }, + { + "authors" : [ + { + "name" : "Achille Lacoin", + "url" : "https:\/\/github.com\/pomdtr" + } + ], + "createdAt" : "2021-03-14T17:37:20+01:00", + "currentDirectoryPath" : null, + "description" : "Connect a VPN configuration.", + "filename" : "tunnelblick-connect.applescript", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "📖" + "light" : "images\/tunnelblick.png" }, - "identifier" : "8cd0465bb037880e1fcc57beb8ffea49", + "identifier" : "b16beed5521082645dbed303aaf63699", "isTemplate" : false, - "language" : "bash", - "mode" : "fullOutput", - "needsConfirmation" : null, - "packageName" : "Terminal Translate", - "path" : "apps\/terminal-translate\/", + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : false, + "packageName" : "Tunnelblick", + "path" : "apps\/tunnelblick\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Translate", - "updatedAt" : "2022-04-04T02:34:41+08:00" - } - ] - }, - { - "name" : "Playground", - "path" : "playground", - "readme" : "apps\/playground\/README.md", - "scriptCommands" : [ + "title" : "Tunnelblick: Connect", + "updatedAt" : "2021-03-16T12:21:13+05:30" + }, { "authors" : [ { - "name" : "Quentin Eude", - "url" : "https:\/\/github.com\/qeude" + "name" : "Achille Lacoin", + "url" : "https:\/\/github.com\/pomdtr" } ], - "createdAt" : "2021-06-14T20:32:07+02:00", + "createdAt" : "2021-03-14T17:37:20+01:00", "currentDirectoryPath" : null, - "description" : "Create and open a new view based Swift Playground", - "filename" : "open-new-view-playground.py", - "hasArguments" : true, + "description" : "Disconnect all connected VPN configurations.", + "filename" : "tunnelblick-disconnect-all.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "🕊" + "light" : "images\/tunnelblick.png" }, - "identifier" : "830a18fee37d756c1a00a65e286113a3", + "identifier" : "f19aef4b963a8b078a2ece2685c9ea64", "isTemplate" : false, - "language" : "python", + "language" : "applescript", "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Swift Playgrounds", - "path" : "apps\/playground\/", + "needsConfirmation" : false, + "packageName" : "Tunnelblick", + "path" : "apps\/tunnelblick\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create View Based", - "updatedAt" : "2021-06-14T20:32:07+02:00" + "title" : "Tunnelblick: Disconnect All", + "updatedAt" : "2021-03-14T17:37:20+01:00" }, { "authors" : [ { - "name" : "Quentin Eude", - "url" : "https:\/\/github.com\/qeude" + "name" : "Achille Lacoin", + "url" : "https:\/\/github.com\/pomdtr" } ], - "createdAt" : "2021-06-14T20:32:07+02:00", + "createdAt" : "2021-03-14T17:37:20+01:00", "currentDirectoryPath" : null, - "description" : "Create and open a new basic Swift Playground", - "filename" : "open-new-playground.py", - "hasArguments" : true, + "description" : "Connect all unconnected VPN configurations.", + "filename" : "tunnelblick-connect-all.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "🕊" + "light" : "images\/tunnelblick.png" }, - "identifier" : "23040420c0f901b4bd478a02943591c5", + "identifier" : "1d7014bbdf04ed245c83da0d5a682c17", "isTemplate" : false, - "language" : "python", + "language" : "applescript", "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Swift Playgrounds", - "path" : "apps\/playground\/", + "needsConfirmation" : false, + "packageName" : "TunnelBlick", + "path" : "apps\/tunnelblick\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create Basic", - "updatedAt" : "2021-06-14T20:32:07+02:00" + "title" : "Tunnelblick: Connect All", + "updatedAt" : "2021-03-14T17:37:20+01:00" } ] }, { - "name" : "One Thing", - "path" : "one-thing", + "name" : "Baremetrics", + "path" : "baremetrics", "scriptCommands" : [ { "authors" : [ { - "name" : "One Thing", - "url" : "https:\/\/sindresorhus.com\/one-thing" + "name" : "Valentin Chrétien", + "url" : "https:\/\/github.com\/valentinchrt" } ], - "createdAt" : "2022-01-16T17:00:05+07:00", + "createdAt" : "2022-09-15T11:09:04+02:00", "currentDirectoryPath" : null, - "description" : "Set the text shown in One Thing app.", - "filename" : "one-thing-set-text.sh", - "hasArguments" : true, + "description" : "Display Average revenue per user (ARPU)", + "filename" : "get-arpu.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/one-thing.png" + "light" : "images\/baremetrics.png" }, - "identifier" : "64b8520de38fe85dbc3fc84d16d26db9", + "identifier" : "61cffadab08d5776aa9c0cdba919f9b4", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "inline", "needsConfirmation" : null, - "packageName" : "One Thing", - "path" : "apps\/one-thing\/", - "refreshTime" : null, + "packageName" : "Baremetrics", + "path" : "apps\/baremetrics\/", + "refreshTime" : "1h", "schemaVersion" : 1, - "title" : "Set Text", - "updatedAt" : "2022-01-16T17:00:05+07:00" - } - ] - }, - { - "name" : "Evernote", - "path" : "evernote", - "scriptCommands" : [ + "title" : "Average Revenue Per User", + "updatedAt" : "2022-09-15T11:09:04+02:00" + }, { "authors" : [ { - "name" : "Aaron Miller", - "url" : "https:\/\/github.com\/aaronhmiller" + "name" : "Valentin Chrétien", + "url" : "https:\/\/github.com\/valentinchrt" } ], - "createdAt" : "2021-08-13T13:17:23-07:00", + "createdAt" : "2022-09-15T11:09:04+02:00", "currentDirectoryPath" : null, - "description" : "Creates a new Evernote, pastes in the contents of the clipboard, and positions the cursor in the title area.", - "filename" : "create-note-paste-clipboard.applescript", + "description" : "Display Annual Recurring Revenue (ARR)", + "filename" : "get-arr.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/evernote.png" + "light" : "images\/baremetrics.png" }, - "identifier" : "d35a432612f0fce10372d3b066dc49e6", + "identifier" : "7eb95607eb6cb96ad5f62844ccd08157", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "bash", + "mode" : "inline", "needsConfirmation" : null, - "packageName" : "Evernote", - "path" : "apps\/evernote\/", - "refreshTime" : null, + "packageName" : "Baremetrics", + "path" : "apps\/baremetrics\/", + "refreshTime" : "1h", "schemaVersion" : 1, - "title" : "Create Evernote Paste Clipboard", - "updatedAt" : "2021-08-13T13:17:23-07:00" + "title" : "Annual Recurring Revenue", + "updatedAt" : "2022-09-15T11:09:04+02:00" }, { "authors" : [ { - "name" : "Aaron Miller", - "url" : "https:\/\/github.com\/aaronhmiller" + "name" : "Valentin Chrétien", + "url" : "https:\/\/github.com\/valentinchrt" } ], - "createdAt" : "2021-08-13T13:17:23-07:00", + "createdAt" : "2022-09-15T11:09:04+02:00", "currentDirectoryPath" : null, - "description" : "Creates a new Evernote.", - "filename" : "create-note.applescript", + "description" : "Display Lifetime Value (LTV)", + "filename" : "get-ltv.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/evernote.png" + "light" : "images\/baremetrics.png" }, - "identifier" : "f546136ca9bad8f3b77a31e1ff0aecd0", + "identifier" : "28fcd48e5fdd0d94cd0fc0caa85ec6f7", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "bash", + "mode" : "inline", "needsConfirmation" : null, - "packageName" : "Evernote", - "path" : "apps\/evernote\/", - "refreshTime" : null, + "packageName" : "Baremetrics", + "path" : "apps\/baremetrics\/", + "refreshTime" : "1h", "schemaVersion" : 1, - "title" : "Create Evernote", - "updatedAt" : "2021-08-13T13:17:23-07:00" - } - ] - }, - { - "name" : "NotePlan3", - "path" : "noteplan3", - "readme" : "apps\/noteplan3\/README.md", - "scriptCommands" : [ + "title" : "Lifetime Value", + "updatedAt" : "2022-09-15T11:09:04+02:00" + }, { "authors" : [ { - "name" : "Göran Damberg", - "url" : "https:\/\/github.com\/gdamberg" + "name" : "Valentin Chrétien", + "url" : "https:\/\/github.com\/valentinchrt" } ], - "createdAt" : "2021-06-23T09:20:05+02:00", + "createdAt" : "2022-09-15T11:09:04+02:00", "currentDirectoryPath" : null, - "description" : "Append to daily note", - "filename" : "noteplan-append-daily-note.sh", - "hasArguments" : true, + "description" : "Display Monthly Recurring Revenue (MRR)", + "filename" : "get-mrr.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/noteplan3.png" + "light" : "images\/baremetrics.png" }, - "identifier" : "d802c64f73f9e89996597e76af3d5094", + "identifier" : "c93a6f26b13a627e732b5ca104457e35", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "inline", "needsConfirmation" : null, - "packageName" : "NotePlan3", - "path" : "apps\/noteplan3\/", - "refreshTime" : null, + "packageName" : "Baremetrics", + "path" : "apps\/baremetrics\/", + "refreshTime" : "1h", "schemaVersion" : 1, - "title" : "Append To Daily Note", - "updatedAt" : "2021-06-23T09:20:05+02:00" + "title" : "Monthly Recurring Revenue", + "updatedAt" : "2022-09-15T11:09:04+02:00" }, { "authors" : [ { - "name" : "Göran Damberg", - "url" : "https:\/\/github.com\/gdamberg" + "name" : "Valentin Chrétien", + "url" : "https:\/\/github.com\/valentinchrt" } ], - "createdAt" : "2021-06-23T09:20:05+02:00", + "createdAt" : "2022-09-15T11:09:04+02:00", + "currentDirectoryPath" : null, + "description" : "Display Revenue Dashboard", + "filename" : "simple-dashboard.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/baremetrics.png" + }, + "identifier" : "8cff2dce2132b4b23e143ff7dfda31f8", + "isTemplate" : false, + "language" : "bash", + "mode" : "inline", + "needsConfirmation" : null, + "packageName" : "Baremetrics", + "path" : "apps\/baremetrics\/", + "refreshTime" : "1h", + "schemaVersion" : 1, + "title" : "Revenue", + "updatedAt" : "2022-09-15T11:09:04+02:00" + } + ] + }, + { + "name" : "Message", + "path" : "Message", + "scriptCommands" : [ + { + "authors" : [ + { + "name" : "Fatpandac", + "url" : "https:\/\/github.com\/Fatpandac" + } + ], + "createdAt" : "2022-06-23T18:59:56+08:00", "currentDirectoryPath" : null, - "description" : "Create a new note from clipboard", - "filename" : "noteplan-new-note-from-clipboard.sh", - "hasArguments" : true, + "description" : "Copy verification code from a message.", + "filename" : "copycode.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/noteplan3.png" + "light" : "images\/Message.png" }, - "identifier" : "2562e5c7b3258337f783b8210e796d55", + "identifier" : "f07bfd0fc382e1e3a7a1ca7b8b23221d", "isTemplate" : false, "language" : "bash", - "mode" : "fullOutput", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "NotePlan3", - "path" : "apps\/noteplan3\/", + "packageName" : "Messages", + "path" : "apps\/Message\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "New Note From Clipboard", - "updatedAt" : "2021-06-23T09:20:05+02:00" + "title" : "Copy Code", + "updatedAt" : "2022-06-23T18:59:56+08:00" } ] }, { - "name" : "Amphetamine", - "path" : "amphetamine", + "name" : "Ferdi", + "path" : "ferdi", "scriptCommands" : [ { "authors" : [ { - "name" : "James Lyons", - "url" : "https:\/\/github.com\/jamesjlyons" + "name" : "Jakub Lanski", + "url" : "https:\/\/github.com\/jaklan" } ], - "createdAt" : "2021-01-07T18:10:56-08:00", + "createdAt" : "2021-05-17T16:20:13+02:00", "currentDirectoryPath" : null, - "description" : "Start Default Amphetamine Session", - "filename" : "amphetamine-on.applescript", - "hasArguments" : false, + "description" : null, + "filename" : "ferdi-open-service-by-name.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/amphetamine.png" + "light" : "images\/ferdi.png" }, - "identifier" : "6c247430747abf30a7011ae37d87ca7b", + "identifier" : "10ad2d03caaee101d4862f1a21cc1234", "isTemplate" : false, "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Amphetamine", - "path" : "apps\/amphetamine\/", + "packageName" : "Ferdi", + "path" : "apps\/ferdi\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Start Default Session", - "updatedAt" : "2021-05-28T10:35:03+01:00" + "title" : "Open Service by Name", + "updatedAt" : "2021-07-23T17:46:29-04:00" }, { "authors" : [ { - "name" : "James Lyons", - "url" : "https:\/\/github.com\/jamesjlyons" + "name" : "Jakub Lanski", + "url" : "https:\/\/github.com\/jaklan" } ], - "createdAt" : "2021-01-07T18:10:56-08:00", + "createdAt" : "2021-05-16T16:05:58+02:00", "currentDirectoryPath" : null, - "description" : "Stop Current Amphetamine Session", - "filename" : "amphetamine-off.applescript", - "hasArguments" : false, + "description" : null, + "filename" : "ferdi-open-service-by-index.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/amphetamine.png" + "light" : "images\/ferdi.png" }, - "identifier" : "7663eee08fb216262ad4e904c0ed4c7a", + "identifier" : "504a15f524e5a1a6da75cc4a72e59c9e", "isTemplate" : false, "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Amphetamine", - "path" : "apps\/amphetamine\/", + "packageName" : "Ferdi", + "path" : "apps\/ferdi\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "End Session", - "updatedAt" : "2021-05-28T10:34:50+01:00" + "title" : "Open Service by Index", + "updatedAt" : "2021-07-23T17:46:11-04:00" } ] }, { - "name" : "Bear", - "path" : "bear", + "name" : "HazeOver", + "path" : "hazeover", "scriptCommands" : [ { "authors" : [ { - "name" : "Tanay Nistala", - "url" : "https:\/\/github.com\/tanaynistala" + "name" : "Thomas Paul Mann", + "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2020-12-08T15:05:55+05:30", + "createdAt" : "2021-01-24T20:19:30Z", "currentDirectoryPath" : null, - "description" : "Open the Today section in Bear.", - "filename" : "bear-today.sh", + "description" : "Set dimming intensity of background windows.", + "filename" : "hazeover-set-intensity.applescript", "hasArguments" : true, "icon" : { - "dark" : "images\/bear-dark.png", - "light" : "images\/bear-light.png" + "dark" : null, + "light" : "images\/hazeover.png" }, - "identifier" : "a3ba0dc119ef33bb239b30ae6cb4d1e8", + "identifier" : "f26557a194748a37e12e64003b1f2c6f", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bear", - "path" : "apps\/bear\/", + "packageName" : "HazeOver", + "path" : "apps\/hazeover\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Today", - "updatedAt" : "2021-05-28T10:36:54+01:00" + "title" : "Set Intensity", + "updatedAt" : "2021-05-28T10:42:00+01:00" }, { "authors" : [ { - "name" : "Tanay Nistala", - "url" : "https:\/\/github.com\/tanaynistala" + "name" : "Thomas Paul Mann", + "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2020-12-08T15:05:55+05:30", + "createdAt" : "2021-01-24T20:19:30Z", "currentDirectoryPath" : null, - "description" : "Open the specified tag in Bear.", - "filename" : "bear-open-tag.sh", - "hasArguments" : true, + "description" : "Toggle dimming of all background windows.", + "filename" : "hazeover-toggle-dimming.applescript", + "hasArguments" : false, "icon" : { - "dark" : "images\/bear-dark.png", - "light" : "images\/bear-light.png" + "dark" : null, + "light" : "images\/hazeover.png" }, - "identifier" : "b0cc37027abe39c7a0cb5053b8a9f4ec", + "identifier" : "5368be37ae49d353930157085116709f", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bear", - "path" : "apps\/bear\/", + "packageName" : "HazeOver", + "path" : "apps\/hazeover\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Tag", - "updatedAt" : "2021-05-28T10:36:54+01:00" - }, + "title" : "Toggle Dimming", + "updatedAt" : "2021-05-28T10:42:00+01:00" + } + ] + }, + { + "name" : "iconsur", + "path" : "iconsur", + "scriptCommands" : [ { "authors" : [ { - "name" : "Tanay Nistala", - "url" : "https:\/\/github.com\/tanaynistala" + "name" : "StevenRCE0", + "url" : "https:\/\/github.com\/StevenRCE0" } ], - "createdAt" : "2020-12-08T15:05:55+05:30", + "createdAt" : "2021-08-27T15:06:06+08:00", "currentDirectoryPath" : null, - "description" : "Add a new note to Bear.", - "filename" : "bear-add-note.sh", + "description" : "Change App icons to match Big Sur", + "filename" : "iconsur.sh", "hasArguments" : true, "icon" : { - "dark" : "images\/bear-dark.png", - "light" : "images\/bear-light.png" + "dark" : null, + "light" : "🅱️" }, - "identifier" : "1bdff208152a457aab81e00fda092d6c", + "identifier" : "10ce792f9f21acf4813a7307956a1999", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Bear", - "path" : "apps\/bear\/", + "packageName" : "iconsur", + "path" : "apps\/iconsur\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Add Note", - "updatedAt" : "2021-05-28T10:35:40+01:00" - }, + "title" : "Change Application Icon", + "updatedAt" : "2022-02-22T00:14:05+08:00" + } + ] + }, + { + "name" : "Pulse Secure", + "path" : "pulse-secure", + "readme" : "apps\/pulse-secure\/README.md", + "scriptCommands" : [ { "authors" : [ { - "name" : "Tanay Nistala", - "url" : "https:\/\/github.com\/tanaynistala" + "name" : "Jakub Lanski", + "url" : "https:\/\/github.com\/jaklan" } ], - "createdAt" : "2020-12-08T15:05:55+05:30", + "createdAt" : "2021-06-14T20:14:26+02:00", "currentDirectoryPath" : null, - "description" : "Search notes by keyword and\/or tag in Bear.", - "filename" : "bear-search.sh", - "hasArguments" : true, + "description" : "Resume the suspended connection.", + "filename" : "pulse-secure-resume.applescript", + "hasArguments" : false, "icon" : { - "dark" : "images\/bear-dark.png", - "light" : "images\/bear-light.png" + "dark" : null, + "light" : "images\/pulse-secure.png" }, - "identifier" : "e7cdad30d00d056c56e710729f1a6531", + "identifier" : "137e52f49aba309c60fb9bc9427bda4d", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bear", - "path" : "apps\/bear\/", + "packageName" : "Pulse Secure", + "path" : "apps\/pulse-secure\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Search", - "updatedAt" : "2021-06-14T14:17:13-05:00" + "title" : "Resume", + "updatedAt" : "2021-06-14T20:14:26+02:00" }, { "authors" : [ { - "name" : "Tanay Nistala", - "url" : "https:\/\/github.com\/tanaynistala" + "name" : "Jakub Lanski", + "url" : "https:\/\/github.com\/jaklan" } ], - "createdAt" : "2020-12-08T15:05:55+05:30", + "createdAt" : "2021-06-14T20:14:26+02:00", "currentDirectoryPath" : null, - "description" : "Open the Todo section in Bear.", - "filename" : "bear-todo.sh", + "description" : "Connect to the given \/ default connection with the given \/ default username.", + "filename" : "pulse-secure-connect.applescript", "hasArguments" : true, "icon" : { - "dark" : "images\/bear-dark.png", - "light" : "images\/bear-light.png" + "dark" : null, + "light" : "images\/pulse-secure.png" }, - "identifier" : "ae50306d0334257a49487d71a72598c6", + "identifier" : "8776f55ec372ac1d0a62bc9267777ace", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bear", - "path" : "apps\/bear\/", + "packageName" : "Pulse Secure", + "path" : "apps\/pulse-secure\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Todos", - "updatedAt" : "2021-05-28T10:38:31+01:00" + "title" : "Connect \/ Reconnect", + "updatedAt" : "2021-06-16T14:42:20+02:00" }, { "authors" : [ { - "name" : "Tanay Nistala", - "url" : "https:\/\/github.com\/tanaynistala" + "name" : "Jakub Lanski", + "url" : "https:\/\/github.com\/jaklan" } ], - "createdAt" : "2020-12-08T15:05:55+05:30", + "createdAt" : "2021-06-14T20:14:26+02:00", "currentDirectoryPath" : null, - "description" : "Open the specified note in Bear.", - "filename" : "bear-open-note.sh", - "hasArguments" : true, + "description" : "Suspend the active connection.", + "filename" : "pulse-secure-suspend.applescript", + "hasArguments" : false, "icon" : { - "dark" : "images\/bear-dark.png", - "light" : "images\/bear-light.png" + "dark" : null, + "light" : "images\/pulse-secure.png" }, - "identifier" : "24d03b4080ea3b49d348721ec0865b40", + "identifier" : "c5e03d8d6265725238c13d8b285c48f6", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Bear", - "path" : "apps\/bear\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Open Note", - "updatedAt" : "2021-05-28T10:36:54+01:00" - } - ] - }, - { - "name" : "Mail", - "path" : "mail", - "scriptCommands" : [ + "packageName" : "Pulse Secure", + "path" : "apps\/pulse-secure\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Suspend", + "updatedAt" : "2021-06-14T20:14:26+02:00" + }, { "authors" : [ { - "name" : "Jesse Claven", - "url" : "https:\/\/github.com\/jesse-c" + "name" : "Jakub Lanski", + "url" : "https:\/\/github.com\/jaklan" } ], - "createdAt" : "2021-05-22T16:27:53+01:00", + "createdAt" : "2021-06-14T20:14:26+02:00", "currentDirectoryPath" : null, - "description" : "Copies the foreground Mail deeplink", - "filename" : "copy-foreground-mail-deeplink.applescript", + "description" : "Disconnect \/ cancel the active connection.", + "filename" : "pulse-secure-disconnect.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "📧" + "light" : "images\/pulse-secure.png" }, - "identifier" : "2b57bf3c301e2230d812bba90896fc1f", + "identifier" : "03191a91d92833853d2a70fad5f19424", "isTemplate" : false, "language" : "applescript", - "mode" : "compact", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Mail", - "path" : "apps\/mail\/", + "packageName" : "Pulse Secure", + "path" : "apps\/pulse-secure\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Copy Foreground Mail Deeplink", - "updatedAt" : "2021-05-22T16:27:53+01:00" + "title" : "Disconnect \/ Cancel", + "updatedAt" : "2021-06-14T20:14:26+02:00" } ] }, { - "name" : "TunnelBlick", - "path" : "tunnelblick", + "name" : "Downie", + "path" : "downie", "scriptCommands" : [ { "authors" : [ { - "name" : "Achille Lacoin", - "url" : "https:\/\/github.com\/pomdtr" + "name" : "Clu Soh", + "url" : "https:\/\/twitter.com\/designedbyclu" } ], - "createdAt" : "2021-03-14T17:37:20+01:00", + "createdAt" : "2022-06-14T15:34:34+08:00", "currentDirectoryPath" : null, - "description" : "Disconnect a VPN configuration.", - "filename" : "tunnelblick-disconnect.applescript", - "hasArguments" : true, + "description" : "Download video from Pasteboard link", + "filename" : "download-video.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/tunnelblick.png" + "light" : "images\/downie.png" }, - "identifier" : "6abb4b2ece585f7043d27e0f70c8ed0c", + "identifier" : "2003cce30b2c40d492dfd7a17e5afeb3", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", - "needsConfirmation" : false, - "packageName" : "Tunnelblick", - "path" : "apps\/tunnelblick\/", + "needsConfirmation" : null, + "packageName" : "Downie", + "path" : "apps\/downie\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Tunnelblick: Disconnect", - "updatedAt" : "2021-03-16T12:21:52+05:30" - }, + "title" : "Download Video", + "updatedAt" : "2022-08-25T12:14:46+08:00" + } + ] + }, + { + "name" : "Focus", + "path" : "focus", + "scriptCommands" : [ { "authors" : [ { - "name" : "Achille Lacoin", - "url" : "https:\/\/github.com\/pomdtr" + "name" : "Ernest Ojeh", + "url" : "https:\/\/github.com\/namzo" } ], - "createdAt" : "2021-03-14T17:37:20+01:00", + "createdAt" : "2022-01-28T20:18:00+01:00", "currentDirectoryPath" : null, - "description" : "Connect a VPN configuration.", - "filename" : "tunnelblick-connect.applescript", + "description" : "Start a custom focus session. If you don't enter any values, it starts an untimed focus session.", + "filename" : "focus-start-custom-session.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/tunnelblick.png" + "light" : "images\/focus-logo.png" }, - "identifier" : "b16beed5521082645dbed303aaf63699", + "identifier" : "80dd2db0a8e0b267adf52209d1e2b66a", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", - "needsConfirmation" : false, - "packageName" : "Tunnelblick", - "path" : "apps\/tunnelblick\/", + "needsConfirmation" : null, + "packageName" : "Focus", + "path" : "apps\/focus\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Tunnelblick: Connect", - "updatedAt" : "2021-03-16T12:21:13+05:30" + "title" : "Start Custom Focus Session", + "updatedAt" : "2022-02-09T09:15:31+01:00" }, { "authors" : [ { - "name" : "Achille Lacoin", - "url" : "https:\/\/github.com\/pomdtr" + "name" : "Ernest Ojeh", + "url" : "https:\/\/github.com\/namzo" } ], - "createdAt" : "2021-03-14T17:37:20+01:00", + "createdAt" : "2022-01-28T20:18:00+01:00", "currentDirectoryPath" : null, - "description" : "Disconnect all connected VPN configurations.", - "filename" : "tunnelblick-disconnect-all.applescript", + "description" : "Open focus preferences.", + "filename" : "focus-preferences.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/tunnelblick.png" + "light" : "images\/focus-logo.png" }, - "identifier" : "f19aef4b963a8b078a2ece2685c9ea64", + "identifier" : "26e49cef06b6a50e9c2a2288a0b3e5de", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", - "needsConfirmation" : false, - "packageName" : "Tunnelblick", - "path" : "apps\/tunnelblick\/", + "needsConfirmation" : null, + "packageName" : "Focus", + "path" : "apps\/focus\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Tunnelblick: Disconnect All", - "updatedAt" : "2021-03-14T17:37:20+01:00" + "title" : "Open Focus Preferences", + "updatedAt" : "2022-02-09T09:15:31+01:00" }, { "authors" : [ { - "name" : "Achille Lacoin", - "url" : "https:\/\/github.com\/pomdtr" + "name" : "Ernest Ojeh", + "url" : "https:\/\/github.com\/namzo" } ], - "createdAt" : "2021-03-14T17:37:20+01:00", + "createdAt" : "2022-01-28T20:18:00+01:00", "currentDirectoryPath" : null, - "description" : "Connect all unconnected VPN configurations.", - "filename" : "tunnelblick-connect-all.applescript", + "description" : "Stop the current focus session.", + "filename" : "focus-stop-session.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/tunnelblick.png" + "light" : "images\/focus-logo.png" }, - "identifier" : "1d7014bbdf04ed245c83da0d5a682c17", + "identifier" : "2f0e5d4a017c664641797d3ccad1fbe1", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", - "needsConfirmation" : false, - "packageName" : "TunnelBlick", - "path" : "apps\/tunnelblick\/", + "needsConfirmation" : null, + "packageName" : "Focus", + "path" : "apps\/focus\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Tunnelblick: Connect All", - "updatedAt" : "2021-03-14T17:37:20+01:00" - } - ] - }, - { - "name" : "Baremetrics", - "path" : "baremetrics", - "scriptCommands" : [ + "title" : "Stop Focus Session (Unfocus)", + "updatedAt" : "2022-02-09T09:15:31+01:00" + }, { "authors" : [ { - "name" : "Valentin Chrétien", - "url" : "https:\/\/github.com\/valentinchrt" + "name" : "Ernest Ojeh", + "url" : "https:\/\/github.com\/namzo" } ], - "createdAt" : "2022-09-15T11:09:04+02:00", + "createdAt" : "2022-01-28T20:18:00+01:00", "currentDirectoryPath" : null, - "description" : "Display Average revenue per user (ARPU)", - "filename" : "get-arpu.sh", + "description" : "Take 5 minutes break.", + "filename" : "focus-start-break-5.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/baremetrics.png" + "light" : "images\/focus-logo.png" }, - "identifier" : "61cffadab08d5776aa9c0cdba919f9b4", + "identifier" : "11136efc43088020c73969f86e0dd6d2", "isTemplate" : false, "language" : "bash", - "mode" : "inline", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Baremetrics", - "path" : "apps\/baremetrics\/", - "refreshTime" : "1h", + "packageName" : "Focus", + "path" : "apps\/focus\/", + "refreshTime" : null, "schemaVersion" : 1, - "title" : "Average Revenue Per User", - "updatedAt" : "2022-09-15T11:09:04+02:00" + "title" : "Take 5 Minutes Break", + "updatedAt" : "2022-02-09T09:15:31+01:00" }, { "authors" : [ { - "name" : "Valentin Chrétien", - "url" : "https:\/\/github.com\/valentinchrt" + "name" : "Ernest Ojeh", + "url" : "https:\/\/github.com\/namzo" } ], - "createdAt" : "2022-09-15T11:09:04+02:00", + "createdAt" : "2022-01-28T20:18:00+01:00", "currentDirectoryPath" : null, - "description" : "Display Annual Recurring Revenue (ARR)", - "filename" : "get-arr.sh", + "description" : "Toggle between start session (untimed) and stop session.", + "filename" : "focus-toggle-focus.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/baremetrics.png" + "light" : "images\/focus-logo.png" }, - "identifier" : "7eb95607eb6cb96ad5f62844ccd08157", + "identifier" : "87f5cb4aa46375da34318fc091f250b0", "isTemplate" : false, "language" : "bash", - "mode" : "inline", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Baremetrics", - "path" : "apps\/baremetrics\/", - "refreshTime" : "1h", + "packageName" : "Focus", + "path" : "apps\/focus\/", + "refreshTime" : null, "schemaVersion" : 1, - "title" : "Annual Recurring Revenue", - "updatedAt" : "2022-09-15T11:09:04+02:00" + "title" : "Toggle Focus Session", + "updatedAt" : "2022-02-09T09:15:31+01:00" }, { "authors" : [ { - "name" : "Valentin Chrétien", - "url" : "https:\/\/github.com\/valentinchrt" + "name" : "Ernest Ojeh", + "url" : "https:\/\/github.com\/namzo" } ], - "createdAt" : "2022-09-15T11:09:04+02:00", + "createdAt" : "2022-01-28T20:18:00+01:00", "currentDirectoryPath" : null, - "description" : "Display Lifetime Value (LTV)", - "filename" : "get-ltv.sh", + "description" : "Start an untimed focus session.", + "filename" : "focus-start-session.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/baremetrics.png" + "light" : "images\/focus-logo.png" }, - "identifier" : "28fcd48e5fdd0d94cd0fc0caa85ec6f7", + "identifier" : "870e8c9bf851b140036bb6959e990571", "isTemplate" : false, "language" : "bash", - "mode" : "inline", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Baremetrics", - "path" : "apps\/baremetrics\/", - "refreshTime" : "1h", + "packageName" : "Focus", + "path" : "apps\/focus\/", + "refreshTime" : null, "schemaVersion" : 1, - "title" : "Lifetime Value", - "updatedAt" : "2022-09-15T11:09:04+02:00" + "title" : "Start Focus Session (Focus)", + "updatedAt" : "2022-02-09T09:15:31+01:00" }, { "authors" : [ { - "name" : "Valentin Chrétien", - "url" : "https:\/\/github.com\/valentinchrt" + "name" : "Ernest Ojeh", + "url" : "https:\/\/github.com\/namzo" } ], - "createdAt" : "2022-09-15T11:09:04+02:00", + "createdAt" : "2022-01-28T20:18:00+01:00", "currentDirectoryPath" : null, - "description" : "Display Monthly Recurring Revenue (MRR)", - "filename" : "get-mrr.sh", + "description" : "Stop break and continues the current focus session.", + "filename" : "focus-stop-break.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/baremetrics.png" + "light" : "images\/focus-logo.png" }, - "identifier" : "c93a6f26b13a627e732b5ca104457e35", + "identifier" : "301323d2b2b7165ab0364ea4a600f4d5", "isTemplate" : false, "language" : "bash", - "mode" : "inline", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Baremetrics", - "path" : "apps\/baremetrics\/", - "refreshTime" : "1h", + "packageName" : "Focus", + "path" : "apps\/focus\/", + "refreshTime" : null, "schemaVersion" : 1, - "title" : "Monthly Recurring Revenue", - "updatedAt" : "2022-09-15T11:09:04+02:00" + "title" : "Stop Break (Unbreak)", + "updatedAt" : "2022-02-09T09:15:31+01:00" }, { "authors" : [ { - "name" : "Valentin Chrétien", - "url" : "https:\/\/github.com\/valentinchrt" + "name" : "Ernest Ojeh", + "url" : "https:\/\/github.com\/namzo" } ], - "createdAt" : "2022-09-15T11:09:04+02:00", + "createdAt" : "2022-01-28T20:18:00+01:00", "currentDirectoryPath" : null, - "description" : "Display Revenue Dashboard", - "filename" : "simple-dashboard.sh", - "hasArguments" : false, + "description" : "Start a custom break. If you don't enter any values, it uses the last break duration.", + "filename" : "focus-start-custom-break.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/baremetrics.png" + "light" : "images\/focus-logo.png" }, - "identifier" : "8cff2dce2132b4b23e143ff7dfda31f8", + "identifier" : "a8c3ae965a33e0ac2098e35ea49ffdd0", "isTemplate" : false, "language" : "bash", - "mode" : "inline", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Baremetrics", - "path" : "apps\/baremetrics\/", - "refreshTime" : "1h", + "packageName" : "Focus", + "path" : "apps\/focus\/", + "refreshTime" : null, "schemaVersion" : 1, - "title" : "Revenue", - "updatedAt" : "2022-09-15T11:09:04+02:00" - } - ] - }, - { - "name" : "Message", - "path" : "Message", - "scriptCommands" : [ + "title" : "Start Custom Break", + "updatedAt" : "2022-02-09T09:15:31+01:00" + }, { "authors" : [ { - "name" : "Fatpandac", - "url" : "https:\/\/github.com\/Fatpandac" + "name" : "Ernest Ojeh", + "url" : "https:\/\/github.com\/namzo" } ], - "createdAt" : "2022-06-23T18:59:56+08:00", + "createdAt" : "2022-01-28T20:18:00+01:00", "currentDirectoryPath" : null, - "description" : "Copy verification code from a message.", - "filename" : "copycode.sh", + "description" : "Start a 25 minutes focus session.", + "filename" : "focus-start-session-25.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/Message.png" + "light" : "images\/focus-logo.png" }, - "identifier" : "f07bfd0fc382e1e3a7a1ca7b8b23221d", + "identifier" : "c98d57dfcdd3aa35ed145b6a221377e5", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Messages", - "path" : "apps\/Message\/", + "packageName" : "Focus", + "path" : "apps\/focus\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Copy Code", - "updatedAt" : "2022-06-23T18:59:56+08:00" + "title" : "Start 25 minutes Focus Session", + "updatedAt" : "2022-02-09T09:15:31+01:00" } ] }, { - "name" : "Ferdi", - "path" : "ferdi", + "name" : "Plash", + "path" : "plash", "scriptCommands" : [ { "authors" : [ { - "name" : "Jakub Lanski", - "url" : "https:\/\/github.com\/jaklan" + "name" : "Plash", + "url" : "https:\/\/github.com\/sindresorhus\/Plash" } ], - "createdAt" : "2021-05-17T16:20:13+02:00", + "createdAt" : "2021-05-28T01:55:40+07:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "ferdi-open-service-by-name.applescript", - "hasArguments" : true, + "description" : "Reload the current website in Plash.", + "filename" : "plash-reload-website.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/ferdi.png" + "light" : ".\/images\/plash.png" }, - "identifier" : "10ad2d03caaee101d4862f1a21cc1234", + "identifier" : "efba722b5a535ab230ffe426bbd3aa00", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Ferdi", - "path" : "apps\/ferdi\/", + "packageName" : "Plash", + "path" : "apps\/plash\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Service by Name", - "updatedAt" : "2021-07-23T17:46:29-04:00" + "title" : "Reload Website", + "updatedAt" : "2021-06-04T23:56:19+07:00" }, { "authors" : [ { - "name" : "Jakub Lanski", - "url" : "https:\/\/github.com\/jaklan" + "name" : "Plash", + "url" : "https:\/\/github.com\/sindresorhus\/Plash" } ], - "createdAt" : "2021-05-16T16:05:58+02:00", + "createdAt" : "2021-05-28T01:55:40+07:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "ferdi-open-service-by-index.applescript", - "hasArguments" : true, + "description" : "Switch to the next website in the list in Plash.", + "filename" : "plash-next-website.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/ferdi.png" + "light" : ".\/images\/plash.png" }, - "identifier" : "504a15f524e5a1a6da75cc4a72e59c9e", + "identifier" : "4871914878a1c9aca9d14b7114a76df2", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Ferdi", - "path" : "apps\/ferdi\/", + "packageName" : "Plash", + "path" : "apps\/plash\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Service by Index", - "updatedAt" : "2021-07-23T17:46:11-04:00" - } - ] - }, - { - "name" : "HazeOver", - "path" : "hazeover", - "scriptCommands" : [ + "title" : "Next Website", + "updatedAt" : "2021-06-04T23:56:19+07:00" + }, { "authors" : [ { - "name" : "Thomas Paul Mann", - "url" : "https:\/\/github.com\/thomaspaulmann" + "name" : "Plash", + "url" : "https:\/\/github.com\/sindresorhus\/Plash" } ], - "createdAt" : "2021-01-24T20:19:30+00:00", + "createdAt" : "2021-05-28T01:55:40+07:00", "currentDirectoryPath" : null, - "description" : "Set dimming intensity of background windows.", - "filename" : "hazeover-set-intensity.applescript", - "hasArguments" : true, + "description" : "Switch to the previous website in the list in Plash.", + "filename" : "plash-previous-website.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/hazeover.png" + "light" : ".\/images\/plash.png" }, - "identifier" : "fadd9020bfac9652d455ccefd757fcc2", + "identifier" : "ffed236c901c236e41814468c88c82ea", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "HazeOver", - "path" : "apps\/hazeover\/", + "packageName" : "Plash", + "path" : "apps\/plash\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Set Intensity", - "updatedAt" : "2021-05-28T10:42:00+01:00" + "title" : "Previous Website", + "updatedAt" : "2021-06-04T23:56:19+07:00" }, { "authors" : [ { - "name" : "Thomas Paul Mann", - "url" : "https:\/\/github.com\/thomaspaulmann" + "name" : "Plash", + "url" : "https:\/\/github.com\/sindresorhus\/Plash" } ], - "createdAt" : "2021-01-24T20:19:30+00:00", + "createdAt" : "2021-05-28T01:55:40+07:00", "currentDirectoryPath" : null, - "description" : "Toggle dimming of all background windows.", - "filename" : "hazeover-toggle-dimming.applescript", + "description" : "Switch to a random website from the list of websites in Plash.", + "filename" : "plash-random-website.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/hazeover.png" + "light" : ".\/images\/plash.png" }, - "identifier" : "c77e9fa4315c2beba15ab0321d833ae5", + "identifier" : "10bddde306d0bfdae3624cb8cdddd0b0", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "HazeOver", - "path" : "apps\/hazeover\/", + "packageName" : "Plash", + "path" : "apps\/plash\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Toggle Dimming", - "updatedAt" : "2021-05-28T10:42:00+01:00" - } - ] - }, - { - "name" : "iconsur", - "path" : "iconsur", - "scriptCommands" : [ + "title" : "Switch to Random Website", + "updatedAt" : "2021-06-04T23:56:19+07:00" + }, { "authors" : [ { - "name" : "StevenRCE0", - "url" : "https:\/\/github.com\/StevenRCE0" + "name" : "Plash", + "url" : "https:\/\/github.com\/sindresorhus\/Plash" } ], - "createdAt" : "2021-08-27T15:06:06+08:00", + "createdAt" : "2021-05-28T01:55:40+07:00", "currentDirectoryPath" : null, - "description" : "Change App icons to match Big Sur", - "filename" : "iconsur.sh", - "hasArguments" : true, + "description" : "Toggle browsing mode in Plash.", + "filename" : "plash-toggle-browser-mode.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "🅱️" + "light" : ".\/images\/plash.png" }, - "identifier" : "10ce792f9f21acf4813a7307956a1999", + "identifier" : "a0a1cd94513bf76d8c8ec9bec1ce7ec2", "isTemplate" : false, "language" : "bash", - "mode" : "compact", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "iconsur", - "path" : "apps\/iconsur\/", + "packageName" : "Plash", + "path" : "apps\/plash\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Change Application Icon", - "updatedAt" : "2022-02-22T00:14:05+08:00" - } - ] - }, - { - "name" : "Pulse Secure", - "path" : "pulse-secure", - "readme" : "apps\/pulse-secure\/README.md", - "scriptCommands" : [ + "title" : "Toggle Browsing Mode", + "updatedAt" : "2021-05-28T10:24:58+01:00" + }, { "authors" : [ { - "name" : "Jakub Lanski", - "url" : "https:\/\/github.com\/jaklan" + "name" : "Plash", + "url" : "https:\/\/github.com\/sindresorhus\/Plash" } ], - "createdAt" : "2021-06-14T20:14:26+02:00", + "createdAt" : "2021-05-28T01:55:40+07:00", "currentDirectoryPath" : null, - "description" : "Resume the suspended connection.", - "filename" : "pulse-secure-resume.applescript", - "hasArguments" : false, + "description" : "Add a website to Plash.", + "filename" : "plash-add-website.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/pulse-secure.png" + "light" : ".\/images\/plash.png" }, - "identifier" : "137e52f49aba309c60fb9bc9427bda4d", + "identifier" : "d65493aee461a49dbf2b6ef976857898", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Pulse Secure", - "path" : "apps\/pulse-secure\/", + "packageName" : "Plash", + "path" : "apps\/plash\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Resume", - "updatedAt" : "2021-06-14T20:14:26+02:00" - }, + "title" : "Add Website", + "updatedAt" : "2021-06-04T23:56:19+07:00" + } + ] + }, + { + "name" : "Mullvad", + "path" : "mullvad", + "readme" : "apps\/mullvad\/README.md", + "scriptCommands" : [ { "authors" : [ { - "name" : "Jakub Lanski", - "url" : "https:\/\/github.com\/jaklan" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-06-14T20:14:26+02:00", + "createdAt" : "2021-03-25T18:08:20-04:00", "currentDirectoryPath" : null, - "description" : "Connect to the given \/ default connection with the given \/ default username.", - "filename" : "pulse-secure-connect.applescript", - "hasArguments" : true, + "description" : "Disconnect from the Mullvad VPN tunnel.", + "filename" : "disconnect.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/pulse-secure.png" + "light" : "images\/mullvad.png" }, - "identifier" : "8776f55ec372ac1d0a62bc9267777ace", + "identifier" : "a16754f03ea5fa74d3d05116c6f23ed1", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Pulse Secure", - "path" : "apps\/pulse-secure\/", + "packageName" : "Mullvad", + "path" : "apps\/mullvad\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Connect \/ Reconnect", - "updatedAt" : "2021-06-16T14:42:20+02:00" + "title" : "Disconnect", + "updatedAt" : "2021-03-25T22:10:33Z" }, { "authors" : [ { - "name" : "Jakub Lanski", - "url" : "https:\/\/github.com\/jaklan" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-06-14T20:14:26+02:00", + "createdAt" : "2021-03-25T18:08:20-04:00", "currentDirectoryPath" : null, - "description" : "Suspend the active connection.", - "filename" : "pulse-secure-suspend.applescript", - "hasArguments" : false, + "description" : "Connect the Mullvad VPN tunnel using the specified location.", + "filename" : "location.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/pulse-secure.png" + "light" : "images\/mullvad.png" }, - "identifier" : "c5e03d8d6265725238c13d8b285c48f6", + "identifier" : "bfd215e3646e02a03ad2b15ad2a97557", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Pulse Secure", - "path" : "apps\/pulse-secure\/", + "packageName" : "Mullvad", + "path" : "apps\/mullvad\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Suspend", - "updatedAt" : "2021-06-14T20:14:26+02:00" + "title" : "Connect to Location", + "updatedAt" : "2022-08-25T19:51:18Z" }, { "authors" : [ { - "name" : "Jakub Lanski", - "url" : "https:\/\/github.com\/jaklan" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-06-14T20:14:26+02:00", + "createdAt" : "2021-03-25T18:08:20-04:00", "currentDirectoryPath" : null, - "description" : "Disconnect \/ cancel the active connection.", - "filename" : "pulse-secure-disconnect.applescript", - "hasArguments" : false, + "description" : "Search the list of available entities to which a Mullvad VPN tunnel connection can be made.", + "filename" : "search.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/pulse-secure.png" + "light" : "images\/mullvad.png" }, - "identifier" : "03191a91d92833853d2a70fad5f19424", + "identifier" : "5773c509e585b2181a22e12e75b4cf0f", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "bash", + "mode" : "fullOutput", "needsConfirmation" : null, - "packageName" : "Pulse Secure", - "path" : "apps\/pulse-secure\/", + "packageName" : "Mullvad", + "path" : "apps\/mullvad\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Disconnect \/ Cancel", - "updatedAt" : "2021-06-14T20:14:26+02:00" - } - ] - }, - { - "name" : "Downie", - "path" : "downie", - "scriptCommands" : [ + "title" : "Search Countries, Cities, and Hostnames", + "updatedAt" : "2021-03-25T22:10:33Z" + }, { "authors" : [ { - "name" : "Clu Soh", - "url" : "https:\/\/twitter.com\/designedbyclu" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2022-06-14T15:34:34+08:00", + "createdAt" : "2021-03-25T18:08:20-04:00", "currentDirectoryPath" : null, - "description" : "Download video from Pasteboard link", - "filename" : "download-video.sh", + "description" : "Display the current status of the Mullvad VPN tunnel connection.", + "filename" : "status.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/downie.png" + "light" : "images\/mullvad.png" }, - "identifier" : "2003cce30b2c40d492dfd7a17e5afeb3", + "identifier" : "cd0323ea623775b56c6aaf7f2123bb14", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "inline", "needsConfirmation" : null, - "packageName" : "Downie", - "path" : "apps\/downie\/", - "refreshTime" : null, + "packageName" : "Mullvad", + "path" : "apps\/mullvad\/", + "refreshTime" : "5m", "schemaVersion" : 1, - "title" : "Download Video", - "updatedAt" : "2022-08-25T12:14:46+08:00" - } - ] - }, - { - "name" : "Focus", - "path" : "focus", - "scriptCommands" : [ + "title" : "Mullvad Status", + "updatedAt" : "2022-08-25T19:51:18Z" + }, { "authors" : [ { - "name" : "Ernest Ojeh", - "url" : "https:\/\/github.com\/namzo" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2022-01-28T20:18:00+01:00", + "createdAt" : "2021-03-25T18:08:20-04:00", "currentDirectoryPath" : null, - "description" : "Start a custom focus session. If you don't enter any values, it starts an untimed focus session.", - "filename" : "focus-start-custom-session.sh", - "hasArguments" : true, + "description" : "Force the client to reconnect to the Mullvad VPN tunnel.", + "filename" : "reconnect.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/focus-logo.png" + "light" : "images\/mullvad.png" }, - "identifier" : "80dd2db0a8e0b267adf52209d1e2b66a", + "identifier" : "3712d89f71b9d5508b039c4a8b0a1a8c", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Focus", - "path" : "apps\/focus\/", + "packageName" : "Mullvad", + "path" : "apps\/mullvad\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Start Custom Focus Session", - "updatedAt" : "2022-02-09T09:15:31+01:00" + "title" : "Reconnect", + "updatedAt" : "2022-08-25T19:51:18Z" }, { "authors" : [ { - "name" : "Ernest Ojeh", - "url" : "https:\/\/github.com\/namzo" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2022-01-28T20:18:00+01:00", + "createdAt" : "2021-03-25T18:08:20-04:00", "currentDirectoryPath" : null, - "description" : "Open focus preferences.", - "filename" : "focus-preferences.sh", + "description" : "Connect the Mullvad VPN tunnel using the most recent configuration settings.", + "filename" : "connect.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/focus-logo.png" + "light" : "images\/mullvad.png" }, - "identifier" : "26e49cef06b6a50e9c2a2288a0b3e5de", + "identifier" : "a7c6ddf80482ff3f287840cdf2f6a8f9", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Focus", - "path" : "apps\/focus\/", + "packageName" : "Mullvad", + "path" : "apps\/mullvad\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Focus Preferences", - "updatedAt" : "2022-02-09T09:15:31+01:00" - }, + "title" : "Connect", + "updatedAt" : "2022-08-25T19:51:18Z" + } + ] + }, + { + "name" : "Timing", + "path" : "timing", + "scriptCommands" : [ { "authors" : [ { - "name" : "Ernest Ojeh", - "url" : "https:\/\/github.com\/namzo" + "name" : "Landen Danyluk", + "url" : "https:\/\/github.com\/landendanyluk" } ], - "createdAt" : "2022-01-28T20:18:00+01:00", + "createdAt" : "2022-07-23T23:10:15-05:00", "currentDirectoryPath" : null, - "description" : "Stop the current focus session.", - "filename" : "focus-stop-session.sh", - "hasArguments" : false, + "description" : "Start a timer", + "filename" : "timing-start-timer.js", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/focus-logo.png" + "light" : "images\/timing-logo.png" }, - "identifier" : "2f0e5d4a017c664641797d3ccad1fbe1", + "identifier" : "e76f98fba595acb6590639f1d8705b5a", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Focus", - "path" : "apps\/focus\/", + "packageName" : "Timing", + "path" : "apps\/timing\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Stop Focus Session (Unfocus)", - "updatedAt" : "2022-02-09T09:15:31+01:00" + "title" : "Start Timer", + "updatedAt" : "2022-07-23T23:10:15-05:00" }, { "authors" : [ { - "name" : "Ernest Ojeh", - "url" : "https:\/\/github.com\/namzo" + "name" : "Landen Danyluk", + "url" : "https:\/\/github.com\/landendanyluk" } ], - "createdAt" : "2022-01-28T20:18:00+01:00", + "createdAt" : "2022-07-23T23:10:15-05:00", "currentDirectoryPath" : null, - "description" : "Take 5 minutes break.", - "filename" : "focus-start-break-5.sh", + "description" : "Stop the active timer", + "filename" : "timing-stop-timer.js", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/focus-logo.png" + "light" : "images\/timing-logo.png" }, - "identifier" : "11136efc43088020c73969f86e0dd6d2", + "identifier" : "b8f7a1b309c9fd169a4bb20d08748dcb", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Focus", - "path" : "apps\/focus\/", + "packageName" : "Timing", + "path" : "apps\/timing\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Take 5 Minutes Break", - "updatedAt" : "2022-02-09T09:15:31+01:00" - }, + "title" : "Stop Timer", + "updatedAt" : "2022-07-23T23:10:15-05:00" + } + ] + }, + { + "name" : "OpenVPN", + "path" : "openvpn", + "scriptCommands" : [ { "authors" : [ { - "name" : "Ernest Ojeh", - "url" : "https:\/\/github.com\/namzo" + "name" : "Aaron Miller", + "url" : "https:\/\/github.com\/aaronhmiller" } ], - "createdAt" : "2022-01-28T20:18:00+01:00", + "createdAt" : "2021-08-16T13:21:15-07:00", "currentDirectoryPath" : null, - "description" : "Toggle between start session (untimed) and stop session.", - "filename" : "focus-toggle-focus.sh", + "description" : "Prepares OpenVPN Connect client to connect or reconnect.", + "filename" : "connect-openvpn.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/focus-logo.png" + "light" : ".\/images\/openvpn.png" }, - "identifier" : "87f5cb4aa46375da34318fc091f250b0", + "identifier" : "a345726ad1219631c162173e74cc319c", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Focus", - "path" : "apps\/focus\/", + "packageName" : "OpenVPN", + "path" : "apps\/openvpn\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Toggle Focus Session", - "updatedAt" : "2022-02-09T09:15:31+01:00" + "title" : "Connect OpenVPN", + "updatedAt" : "2021-08-16T13:21:15-07:00" }, { "authors" : [ { - "name" : "Ernest Ojeh", - "url" : "https:\/\/github.com\/namzo" + "name" : "Aaron Miller", + "url" : "https:\/\/github.com\/aaronhmiller" } ], - "createdAt" : "2022-01-28T20:18:00+01:00", + "createdAt" : "2021-08-16T13:21:15-07:00", "currentDirectoryPath" : null, - "description" : "Start an untimed focus session.", - "filename" : "focus-start-session.sh", + "description" : "Quits the OpenVPN Connect client.", + "filename" : "quit-openvpn.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/focus-logo.png" + "light" : ".\/images\/openvpn.png" }, - "identifier" : "870e8c9bf851b140036bb6959e990571", + "identifier" : "d0b3d1b64e34e581d9224b2efbce2c6e", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Focus", - "path" : "apps\/focus\/", + "packageName" : "OpenVPN", + "path" : "apps\/openvpn\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Start Focus Session (Focus)", - "updatedAt" : "2022-02-09T09:15:31+01:00" + "title" : "Quit OpenVPN", + "updatedAt" : "2021-08-16T13:21:15-07:00" }, { "authors" : [ { - "name" : "Ernest Ojeh", - "url" : "https:\/\/github.com\/namzo" + "name" : "Aaron Miller", + "url" : "https:\/\/github.com\/aaronhmiller" } ], - "createdAt" : "2022-01-28T20:18:00+01:00", + "createdAt" : "2021-08-16T13:21:15-07:00", "currentDirectoryPath" : null, - "description" : "Stop break and continues the current focus session.", - "filename" : "focus-stop-break.sh", + "description" : "Disconnects the OpenVPN Connect client from VPN.", + "filename" : "disconnect-openvpn.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/focus-logo.png" + "light" : ".\/images\/openvpn.png" }, - "identifier" : "301323d2b2b7165ab0364ea4a600f4d5", + "identifier" : "d63f02150ae5a9a98eadc250ec299d40", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Focus", - "path" : "apps\/focus\/", + "packageName" : "OpenVPN", + "path" : "apps\/openvpn\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Stop Break (Unbreak)", - "updatedAt" : "2022-02-09T09:15:31+01:00" - }, + "title" : "Disconnect OpenVPN", + "updatedAt" : "2021-08-16T13:21:15-07:00" + } + ] + }, + { + "name" : "Todoist", + "path" : "todoist", + "scriptCommands" : [ { "authors" : [ { - "name" : "Ernest Ojeh", - "url" : "https:\/\/github.com\/namzo" + "name" : "Faris Aziz", + "url" : "https:\/\/github.com\/farisaziz12" } ], - "createdAt" : "2022-01-28T20:18:00+01:00", + "createdAt" : "2021-05-04T12:12:44+02:00", "currentDirectoryPath" : null, - "description" : "Start a custom break. If you don't enter any values, it uses the last break duration.", - "filename" : "focus-start-custom-break.sh", + "description" : "Create Task", + "filename" : "create-task.template.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/focus-logo.png" + "light" : "images\/todoist-logo.png" }, - "identifier" : "a8c3ae965a33e0ac2098e35ea49ffdd0", - "isTemplate" : false, + "identifier" : "306fdf2b185a4c91bdc04007b23bd008", + "isTemplate" : true, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Focus", - "path" : "apps\/focus\/", + "packageName" : "Todoist", + "path" : "apps\/todoist\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Start Custom Break", - "updatedAt" : "2022-02-09T09:15:31+01:00" + "title" : "Create Task", + "updatedAt" : "2023-03-18T04:02:12+03:00" }, { "authors" : [ { - "name" : "Ernest Ojeh", - "url" : "https:\/\/github.com\/namzo" + "name" : "Faris Aziz", + "url" : "https:\/\/github.com\/farisaziz12" } ], - "createdAt" : "2022-01-28T20:18:00+01:00", + "createdAt" : "2021-05-04T12:12:44+02:00", "currentDirectoryPath" : null, - "description" : "Start a 25 minutes focus session.", - "filename" : "focus-start-session-25.sh", + "description" : "Gets All Todoist tasks", + "filename" : "get-tasks.template.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/focus-logo.png" + "light" : "images\/todoist-logo.png" }, - "identifier" : "c98d57dfcdd3aa35ed145b6a221377e5", - "isTemplate" : false, + "identifier" : "ef1425a55c8acd3fad650cc85a6ae88a", + "isTemplate" : true, "language" : "bash", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Focus", - "path" : "apps\/focus\/", + "mode" : "fullOutput", + "needsConfirmation" : false, + "packageName" : "Todoist", + "path" : "apps\/todoist\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Start 25 minutes Focus Session", - "updatedAt" : "2022-02-09T09:15:31+01:00" + "title" : "Get Tasks", + "updatedAt" : "2021-05-04T10:14:48Z" } ] }, { - "name" : "Plash", - "path" : "plash", + "name" : "WebStorm", + "path" : "webstorm", "scriptCommands" : [ { "authors" : [ { - "name" : "Plash", - "url" : "https:\/\/github.com\/sindresorhus\/Plash" + "name" : "Daniel Stovv", + "url" : "https:\/\/github.com\/stovv" } ], - "createdAt" : "2021-05-28T01:55:40+07:00", + "createdAt" : "2022-01-27T15:04:54+03:00", "currentDirectoryPath" : null, - "description" : "Reload the current website in Plash.", - "filename" : "plash-reload-website.sh", - "hasArguments" : false, + "description" : "Open WebStorm projects", + "filename" : "open-workspace.template.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/plash.png" + "light" : "images\/webstorm.png" }, - "identifier" : "efba722b5a535ab230ffe426bbd3aa00", - "isTemplate" : false, + "identifier" : "8db170a15f9f700cf1a5bc69152e3e3e", + "isTemplate" : true, "language" : "bash", - "mode" : "silent", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Plash", - "path" : "apps\/plash\/", + "packageName" : "WebStorm", + "path" : "apps\/webstorm\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Reload Website", - "updatedAt" : "2021-06-04T23:56:19+07:00" - }, + "title" : "Open", + "updatedAt" : "2022-01-27T12:07:09Z" + } + ] + }, + { + "name" : "Translate Shell", + "path" : "translate-shell", + "scriptCommands" : [ { "authors" : [ { - "name" : "Plash", - "url" : "https:\/\/github.com\/sindresorhus\/Plash" + "name" : "tiancheng92", + "url" : "https:\/\/github.com\/tiancheng92" } ], - "createdAt" : "2021-05-28T01:55:40+07:00", + "createdAt" : "2021-05-03T20:56:05+08:00", "currentDirectoryPath" : null, - "description" : "Switch to the next website in the list in Plash.", - "filename" : "plash-next-website.sh", - "hasArguments" : false, + "description" : "Translate and copy brief translation to clipboard.", + "filename" : "translate-to-en.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/plash.png" + "light" : "📖" }, - "identifier" : "4871914878a1c9aca9d14b7114a76df2", + "identifier" : "ad28b67b7a6ad68e8fe478ae135e8795", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "fullOutput", "needsConfirmation" : null, - "packageName" : "Plash", - "path" : "apps\/plash\/", + "packageName" : "Translate Shell", + "path" : "apps\/translate-shell\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Next Website", - "updatedAt" : "2021-06-04T23:56:19+07:00" + "title" : "Translate to EN", + "updatedAt" : "2021-05-07T07:58:55+02:00" }, { "authors" : [ { - "name" : "Plash", - "url" : "https:\/\/github.com\/sindresorhus\/Plash" + "name" : "tiancheng92", + "url" : "https:\/\/github.com\/tiancheng92" } ], - "createdAt" : "2021-05-28T01:55:40+07:00", + "createdAt" : "2021-05-03T20:56:05+08:00", "currentDirectoryPath" : null, - "description" : "Switch to the previous website in the list in Plash.", - "filename" : "plash-previous-website.sh", - "hasArguments" : false, + "description" : "Translate and copy brief translation to clipboard.", + "filename" : "translate-to-zh.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/plash.png" + "light" : "📖" }, - "identifier" : "ffed236c901c236e41814468c88c82ea", + "identifier" : "cb355a2a427be58d5695011f2d8cd64a", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "fullOutput", "needsConfirmation" : null, - "packageName" : "Plash", - "path" : "apps\/plash\/", + "packageName" : "Translate Shell", + "path" : "apps\/translate-shell\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Previous Website", - "updatedAt" : "2021-06-04T23:56:19+07:00" + "title" : "Translate to ZH", + "updatedAt" : "2021-05-07T07:58:55+02:00" }, { "authors" : [ { - "name" : "Plash", - "url" : "https:\/\/github.com\/sindresorhus\/Plash" + "name" : "Marcel Bochtler", + "url" : "https:\/\/github.com\/MarcelBochtler" } ], - "createdAt" : "2021-05-28T01:55:40+07:00", + "createdAt" : "2021-05-07T07:58:55+02:00", "currentDirectoryPath" : null, - "description" : "Switch to a random website from the list of websites in Plash.", - "filename" : "plash-random-website.sh", - "hasArguments" : false, + "description" : "Translate text using translate-shell.", + "filename" : "translate-shell-language-pair.py", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/plash.png" + "light" : "🌍" }, - "identifier" : "10bddde306d0bfdae3624cb8cdddd0b0", + "identifier" : "e9776d8d1e5db81fb7f49a4df06af0f0", "isTemplate" : false, - "language" : "bash", - "mode" : "silent", + "language" : "python", + "mode" : "fullOutput", "needsConfirmation" : null, - "packageName" : "Plash", - "path" : "apps\/plash\/", + "packageName" : "Translate Shell Language Pair", + "path" : "apps\/translate-shell\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Switch to Random Website", - "updatedAt" : "2021-06-04T23:56:19+07:00" - }, + "title" : "Translate Shell", + "updatedAt" : "2021-07-15T22:22:31+02:00" + } + ] + }, + { + "name" : "Notes", + "path" : "notes", + "scriptCommands" : [ { "authors" : [ { - "name" : "Plash", - "url" : "https:\/\/github.com\/sindresorhus\/Plash" + "name" : "Vardan Sawhney", + "url" : "https:\/\/github.com\/commai" } ], - "createdAt" : "2021-05-28T01:55:40+07:00", + "createdAt" : "2021-08-03T09:54:13-04:00", "currentDirectoryPath" : null, - "description" : "Toggle browsing mode in Plash.", - "filename" : "plash-toggle-browser-mode.sh", - "hasArguments" : false, + "description" : "Open Note via its Title", + "filename" : "open-note.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/plash.png" + "light" : ".\/images\/notes.png" }, - "identifier" : "a0a1cd94513bf76d8c8ec9bec1ce7ec2", + "identifier" : "9295d4230a85f19a25e491154c2cc2ae", "isTemplate" : false, - "language" : "bash", - "mode" : "silent", + "language" : "applescript", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Plash", - "path" : "apps\/plash\/", + "packageName" : "Notes", + "path" : "apps\/notes\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Toggle Browsing Mode", - "updatedAt" : "2021-05-28T10:24:58+01:00" + "title" : "Open Note", + "updatedAt" : "2021-08-03T09:54:13-04:00" }, { "authors" : [ { - "name" : "Plash", - "url" : "https:\/\/github.com\/sindresorhus\/Plash" + "name" : "Ayoub Gharbi", + "url" : "github.com\/ayoub-g" } ], - "createdAt" : "2021-05-28T01:55:40+07:00", + "createdAt" : "2021-08-19T11:57:46+01:00", "currentDirectoryPath" : null, - "description" : "Add a website to Plash.", - "filename" : "plash-add-website.sh", + "description" : "This script searches for a note, given its exact name, or a substring, the search does not consider case", + "filename" : "search-note-by-name.applescript", "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/plash.png" + "light" : ".\/images\/notes.png" }, - "identifier" : "d65493aee461a49dbf2b6ef976857898", + "identifier" : "2742cc92859fb01b45bbed9bd2ba3dc8", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Plash", - "path" : "apps\/plash\/", + "packageName" : "Notes", + "path" : "apps\/notes\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Add Website", - "updatedAt" : "2021-06-04T23:56:19+07:00" - } - ] - }, - { - "name" : "Mullvad", - "path" : "mullvad", - "readme" : "apps\/mullvad\/README.md", - "scriptCommands" : [ + "title" : "Search Note By Name", + "updatedAt" : "2021-08-19T11:57:46+01:00" + }, { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Ayoub Gharbi", + "url" : "https:\/\/github.com\/ayoub-g" } ], - "createdAt" : "2021-03-25T18:08:20-04:00", + "createdAt" : "2021-08-20T22:46:40+01:00", "currentDirectoryPath" : null, - "description" : "Disconnect from the Mullvad VPN tunnel.", - "filename" : "disconnect.sh", - "hasArguments" : false, + "description" : "Script to append to an existing note content from clipboard.", + "filename" : "append-note-from-clipboard.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/mullvad.png" + "light" : ".\/images\/notes.png" }, - "identifier" : "a16754f03ea5fa74d3d05116c6f23ed1", + "identifier" : "8e61646606984a27fa52fabeda748f01", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Mullvad", - "path" : "apps\/mullvad\/", + "packageName" : "Notes", + "path" : "apps\/notes\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Disconnect", - "updatedAt" : "2021-03-25T22:10:33+00:00" + "title" : "Append Content From Clipboard", + "updatedAt" : "2021-08-20T22:46:40+01:00" }, { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Ayoub Gharbi", + "url" : "https:\/\/github.com\/ayoub-g" } ], - "createdAt" : "2021-03-25T18:08:20-04:00", + "createdAt" : "2021-07-21T23:46:22-04:00", "currentDirectoryPath" : null, - "description" : "Connect the Mullvad VPN tunnel using the specified location.", - "filename" : "location.sh", + "description" : "Create Note From Clipboard", + "filename" : "create-note-from-clipboard.applescript", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/mullvad.png" + "light" : ".\/images\/notes.png" }, - "identifier" : "bfd215e3646e02a03ad2b15ad2a97557", + "identifier" : "4186e11daddefc7d27d89b3943eb4b44", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Mullvad", - "path" : "apps\/mullvad\/", + "packageName" : "Notes", + "path" : "apps\/notes\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Connect to Location", - "updatedAt" : "2022-08-25T19:51:18+00:00" + "title" : "Create Note From Clipboard", + "updatedAt" : "2024-03-01T12:51:47+01:00" }, { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Vardan Sawhney", + "url" : "https:\/\/github.com\/commai" } ], - "createdAt" : "2021-03-25T18:08:20-04:00", + "createdAt" : "2021-07-21T23:46:22-04:00", "currentDirectoryPath" : null, - "description" : "Search the list of available entities to which a Mullvad VPN tunnel connection can be made.", - "filename" : "search.sh", + "description" : "Create a new Note ", + "filename" : "create-note.applescript", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/mullvad.png" + "light" : ".\/images\/notes.png" }, - "identifier" : "5773c509e585b2181a22e12e75b4cf0f", + "identifier" : "e9cecac4bfa067f607c15ef602dae3d9", "isTemplate" : false, - "language" : "bash", - "mode" : "fullOutput", + "language" : "applescript", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Mullvad", - "path" : "apps\/mullvad\/", + "packageName" : "Notes", + "path" : "apps\/notes\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Search Countries, Cities, and Hostnames", - "updatedAt" : "2021-03-25T22:10:33+00:00" - }, + "title" : "Create Note", + "updatedAt" : "2021-07-23T21:06:02-04:00" + } + ] + }, + { + "name" : "Y Pomodoro", + "path" : "y-pomodoro", + "scriptCommands" : [ { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Jesse Claven", + "url" : "https:\/\/github.com\/jesse-c" } ], - "createdAt" : "2021-03-25T18:08:20-04:00", + "createdAt" : "2021-08-20T22:47:15+01:00", "currentDirectoryPath" : null, - "description" : "Display the current status of the Mullvad VPN tunnel connection.", - "filename" : "status.sh", + "description" : "Pause active pomodoro timer using [y-pomodoro](https:\/\/github.com\/jesse-c\/y-pomodoro)", + "filename" : "pause.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/mullvad.png" + "light" : "🍅" }, - "identifier" : "cd0323ea623775b56c6aaf7f2123bb14", + "identifier" : "d2836820287e44cb9f83f4dd84f8fdd1", "isTemplate" : false, "language" : "bash", - "mode" : "inline", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Mullvad", - "path" : "apps\/mullvad\/", - "refreshTime" : "5m", + "packageName" : "y-pomodoro", + "path" : "apps\/y-pomodoro\/", + "refreshTime" : null, "schemaVersion" : 1, - "title" : "Mullvad Status", - "updatedAt" : "2022-08-25T19:51:18+00:00" + "title" : "Pause", + "updatedAt" : "2021-08-20T22:47:15+01:00" }, { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Jesse Claven", + "url" : "https:\/\/github.com\/jesse-c" } ], - "createdAt" : "2021-03-25T18:08:20-04:00", + "createdAt" : "2021-08-20T22:47:15+01:00", "currentDirectoryPath" : null, - "description" : "Force the client to reconnect to the Mullvad VPN tunnel.", - "filename" : "reconnect.sh", + "description" : "Show active pomodoro timer using [y-pomodoro](https:\/\/github.com\/jesse-c\/y-pomodoro)", + "filename" : "show.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/mullvad.png" + "light" : "🍅" }, - "identifier" : "3712d89f71b9d5508b039c4a8b0a1a8c", + "identifier" : "8c775fb12a394e545e09c5dc3f4f5385", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "inline", "needsConfirmation" : null, - "packageName" : "Mullvad", - "path" : "apps\/mullvad\/", - "refreshTime" : null, + "packageName" : "y-pomodoro", + "path" : "apps\/y-pomodoro\/", + "refreshTime" : "15s", "schemaVersion" : 1, - "title" : "Reconnect", - "updatedAt" : "2022-08-25T19:51:18+00:00" + "title" : "Show", + "updatedAt" : "2021-08-20T22:47:15+01:00" }, { "authors" : [ { - "name" : "Phil Salant", - "url" : "https:\/\/github.com\/PSalant726" + "name" : "Jesse Claven", + "url" : "https:\/\/github.com\/jesse-c" } ], - "createdAt" : "2021-03-25T18:08:20-04:00", + "createdAt" : "2021-08-20T22:47:15+01:00", "currentDirectoryPath" : null, - "description" : "Connect the Mullvad VPN tunnel using the most recent configuration settings.", - "filename" : "connect.sh", + "description" : "Resume active pomodoro timer using [y-pomodoro](https:\/\/github.com\/jesse-c\/y-pomodoro)", + "filename" : "resume.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/mullvad.png" + "light" : "🍅" }, - "identifier" : "a7c6ddf80482ff3f287840cdf2f6a8f9", + "identifier" : "3f8075486c097397d65b6911816fba51", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Mullvad", - "path" : "apps\/mullvad\/", + "packageName" : "y-pomodoro", + "path" : "apps\/y-pomodoro\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Connect", - "updatedAt" : "2022-08-25T19:51:18+00:00" - } - ] - }, - { - "name" : "Timing", - "path" : "timing", - "scriptCommands" : [ + "title" : "Resume", + "updatedAt" : "2021-08-20T22:47:15+01:00" + }, { "authors" : [ { - "name" : "Landen Danyluk", - "url" : "https:\/\/github.com\/landendanyluk" + "name" : "Jesse Claven", + "url" : "https:\/\/github.com\/jesse-c" } ], - "createdAt" : "2022-07-23T23:10:15-05:00", + "createdAt" : "2021-08-20T22:47:15+01:00", "currentDirectoryPath" : null, - "description" : "Start a timer", - "filename" : "timing-start-timer.js", - "hasArguments" : true, + "description" : "Stop active pomodoro timer using [y-pomodoro](https:\/\/github.com\/jesse-c\/y-pomodoro)", + "filename" : "stop.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/timing-logo.png" + "light" : "🍅" }, - "identifier" : "e76f98fba595acb6590639f1d8705b5a", + "identifier" : "e265864f8039fb0d44199d08a552c4f5", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "bash", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Timing", - "path" : "apps\/timing\/", + "packageName" : "y-pomodoro", + "path" : "apps\/y-pomodoro\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Start Timer", - "updatedAt" : "2022-07-23T23:10:15-05:00" + "title" : "Stop", + "updatedAt" : "2021-08-20T22:47:15+01:00" }, { "authors" : [ { - "name" : "Landen Danyluk", - "url" : "https:\/\/github.com\/landendanyluk" + "name" : "Jesse Claven", + "url" : "https:\/\/github.com\/jesse-c" } ], - "createdAt" : "2022-07-23T23:10:15-05:00", + "createdAt" : "2021-08-20T22:47:15+01:00", "currentDirectoryPath" : null, - "description" : "Stop the active timer", - "filename" : "timing-stop-timer.js", + "description" : "Start a pomodoro timer using [y-pomodoro](https:\/\/github.com\/jesse-c\/y-pomodoro)", + "filename" : "start.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/timing-logo.png" + "light" : "🍅" }, - "identifier" : "b8f7a1b309c9fd169a4bb20d08748dcb", + "identifier" : "205772935becd5940672978344fe329f", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "bash", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Timing", - "path" : "apps\/timing\/", + "packageName" : "y-pomodoro", + "path" : "apps\/y-pomodoro\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Stop Timer", - "updatedAt" : "2022-07-23T23:10:15-05:00" + "title" : "Start", + "updatedAt" : "2021-08-20T22:47:15+01:00" } ] }, { - "name" : "OpenVPN", - "path" : "openvpn", + "name" : "PhpStorm", + "path" : "phpstorm", "scriptCommands" : [ - { - "authors" : [ - { - "name" : "Aaron Miller", - "url" : "https:\/\/github.com\/aaronhmiller" - } - ], - "createdAt" : "2021-08-16T13:21:15-07:00", + { + "authors" : null, + "createdAt" : "2021-08-06T16:17:35+04:00", "currentDirectoryPath" : null, - "description" : "Prepares OpenVPN Connect client to connect or reconnect.", - "filename" : "connect-openvpn.applescript", + "description" : null, + "filename" : "recent-projects.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/openvpn.png" + "light" : "icon.icns" }, - "identifier" : "a345726ad1219631c162173e74cc319c", + "identifier" : "636e401e276ed8883dff6e76bf1983b4", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "bash", + "mode" : "inline", "needsConfirmation" : null, - "packageName" : "OpenVPN", - "path" : "apps\/openvpn\/", - "refreshTime" : null, + "packageName" : "PhpStorm", + "path" : "apps\/phpstorm\/", + "refreshTime" : "5m", "schemaVersion" : 1, - "title" : "Connect OpenVPN", - "updatedAt" : "2021-08-16T13:21:15-07:00" - }, + "title" : "Update Recent Projects", + "updatedAt" : "2021-08-06T16:17:35+04:00" + } + ] + }, + { + "name" : "Fantastical", + "path" : "fantastical", + "scriptCommands" : [ { "authors" : [ { - "name" : "Aaron Miller", - "url" : "https:\/\/github.com\/aaronhmiller" + "name" : "Robert Cooper", + "url" : "https:\/\/github.com\/robertcoopercode" } ], - "createdAt" : "2021-08-16T13:21:15-07:00", + "createdAt" : "2021-03-23T16:29:01-04:00", "currentDirectoryPath" : null, - "description" : "Quits the OpenVPN Connect client.", - "filename" : "quit-openvpn.applescript", - "hasArguments" : false, + "description" : "Create an event in Fantastical", + "filename" : "create-event.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/openvpn.png" + "light" : ".\/images\/fantastical.png" }, - "identifier" : "d0b3d1b64e34e581d9224b2efbce2c6e", + "identifier" : "7634569101c20232ebf8ecfce9624c61", "isTemplate" : false, "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "OpenVPN", - "path" : "apps\/openvpn\/", + "packageName" : "Fantastical", + "path" : "apps\/fantastical\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Quit OpenVPN", - "updatedAt" : "2021-08-16T13:21:15-07:00" + "title" : "Create Event", + "updatedAt" : "2021-05-28T10:41:12+01:00" }, { "authors" : [ { - "name" : "Aaron Miller", - "url" : "https:\/\/github.com\/aaronhmiller" + "name" : "Vardan Sawhney", + "url" : "https:\/\/github.com\/commai" } ], - "createdAt" : "2021-08-16T13:21:15-07:00", + "createdAt" : "2021-06-03T00:04:35-04:00", "currentDirectoryPath" : null, - "description" : "Disconnects the OpenVPN Connect client from VPN.", - "filename" : "disconnect-openvpn.applescript", - "hasArguments" : false, + "description" : "Speed up setting reminders for Fantastical by invoking this script.", + "filename" : "create-todo-in-fantastical.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/openvpn.png" + "light" : ".\/images\/fantastical.png" }, - "identifier" : "d63f02150ae5a9a98eadc250ec299d40", + "identifier" : "ed64cfea0aefdda6f31454176ecc101f", "isTemplate" : false, "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "OpenVPN", - "path" : "apps\/openvpn\/", + "packageName" : "Fantastical", + "path" : "apps\/fantastical\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Disconnect OpenVPN", - "updatedAt" : "2021-08-16T13:21:15-07:00" + "title" : "Create Task", + "updatedAt" : "2021-06-03T00:04:35-04:00" } ] }, { - "name" : "Todoist", - "path" : "todoist", + "name" : "Safari", + "path" : "safari", + "readme" : "apps\/safari\/README.md", "scriptCommands" : [ { "authors" : [ { - "name" : "Faris Aziz", - "url" : "https:\/\/github.com\/farisaziz12" + "name" : "Thomas Paul Mann", + "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-05-04T12:12:44+02:00", + "createdAt" : "2021-03-09T15:09:02Z", "currentDirectoryPath" : null, - "description" : "Create Task", - "filename" : "create-task.template.sh", - "hasArguments" : true, + "description" : "Close all tabs besides the currently active tab.", + "filename" : "safari-close-other-tabs.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/todoist-logo.png" + "light" : "images\/safari.png" }, - "identifier" : "306fdf2b185a4c91bdc04007b23bd008", - "isTemplate" : true, - "language" : "bash", + "identifier" : "38cc0dc04da036a099b3e37fd711ef8d", + "isTemplate" : false, + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Todoist", - "path" : "apps\/todoist\/", + "packageName" : "Safari", + "path" : "apps\/safari\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create Task", - "updatedAt" : "2022-07-22T06:29:42-04:00" + "title" : "Close Other Tabs", + "updatedAt" : "2021-03-09T15:09:02Z" }, { "authors" : [ { - "name" : "Faris Aziz", - "url" : "https:\/\/github.com\/farisaziz12" + "name" : "Dave Lehman", + "url" : "https:\/\/github.com\/dlehman" } ], - "createdAt" : "2021-05-04T12:12:44+02:00", + "createdAt" : "2021-08-19T12:49:15-05:00", "currentDirectoryPath" : null, - "description" : "Gets All Todoist tasks", - "filename" : "get-tasks.template.sh", + "description" : "Open current Safari URL in new tab in Firefox", + "filename" : "safari-current-page-url-in-firefox.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/todoist-logo.png" + "light" : "images\/safari.png" }, - "identifier" : "ef1425a55c8acd3fad650cc85a6ae88a", - "isTemplate" : true, - "language" : "bash", - "mode" : "fullOutput", - "needsConfirmation" : false, - "packageName" : "Todoist", - "path" : "apps\/todoist\/", + "identifier" : "953364ac2c0ce7e6bbb02efeed35bfd6", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Safari", + "path" : "apps\/safari\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Get Tasks", - "updatedAt" : "2021-05-04T10:14:48+00:00" - } - ] - }, - { - "name" : "WebStorm", - "path" : "webstorm", - "scriptCommands" : [ + "title" : "Open Safari URL in Firefox", + "updatedAt" : "2021-08-20T09:04:17-05:00" + }, { "authors" : [ { - "name" : "Daniel Stovv", - "url" : "https:\/\/github.com\/stovv" + "name" : "Aaron Miller", + "url" : "https:\/\/github.com\/aaronhmiller" } ], - "createdAt" : "2022-01-27T15:04:54+03:00", + "createdAt" : "2021-08-06T10:24:49-07:00", "currentDirectoryPath" : null, - "description" : "Open WebStorm projects", - "filename" : "open-workspace.template.sh", - "hasArguments" : true, + "description" : "This script clears cache and reloads the page of the frontmost Safari window.", + "filename" : "safari-clear-cache-reload.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/webstorm.png" + "light" : "images\/safari.png" }, - "identifier" : "8db170a15f9f700cf1a5bc69152e3e3e", - "isTemplate" : true, - "language" : "bash", - "mode" : "compact", + "identifier" : "ce0ee1596099e7699e99d6267b097f3d", + "isTemplate" : false, + "language" : "applescript", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "WebStorm", - "path" : "apps\/webstorm\/", + "packageName" : "Safari", + "path" : "apps\/safari\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open", - "updatedAt" : "2022-01-27T12:07:09+00:00" - } - ] - }, - { - "name" : "Translate Shell", - "path" : "translate-shell", - "scriptCommands" : [ + "title" : "Clear Cache and Refresh Page", + "updatedAt" : "2021-08-06T10:24:49-07:00" + }, { "authors" : [ { - "name" : "tiancheng92", - "url" : "https:\/\/github.com\/tiancheng92" + "name" : "Thomas Paul Mann", + "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-05-03T20:56:05+08:00", + "createdAt" : "2021-03-09T15:09:02Z", "currentDirectoryPath" : null, - "description" : "Translate and copy brief translation to clipboard.", - "filename" : "translate-to-en.sh", + "description" : "Add a new Reading List item with the given URL. Allows a custom title to be specified.", + "filename" : "safari-create-reading-list-item.applescript", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "📖" + "light" : "images\/safari.png" }, - "identifier" : "ad28b67b7a6ad68e8fe478ae135e8795", + "identifier" : "77a2ff3bf579994aa3624feb9aca64a4", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "fullOutput", "needsConfirmation" : null, - "packageName" : "Translate Shell", - "path" : "apps\/translate-shell\/", + "packageName" : "Safari", + "path" : "apps\/safari\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Translate to EN", - "updatedAt" : "2021-05-07T07:58:55+02:00" + "title" : "Add Item to Reading List", + "updatedAt" : "2021-03-09T15:09:02Z" }, { "authors" : [ { - "name" : "tiancheng92", - "url" : "https:\/\/github.com\/tiancheng92" + "name" : "Michael Bianco", + "url" : "https:\/\/github.com\/iloveitaly" } ], - "createdAt" : "2021-05-03T20:56:05+08:00", + "createdAt" : "2024-08-21T08:30:36-06:00", "currentDirectoryPath" : null, - "description" : "Translate and copy brief translation to clipboard.", - "filename" : "translate-to-zh.sh", - "hasArguments" : true, + "description" : "Download the currently active tab's URL.", + "filename" : "safari-download-url.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "📖" + "light" : "images\/safari.png" }, - "identifier" : "cb355a2a427be58d5695011f2d8cd64a", + "identifier" : "3fe3287d74734aa1adaf454aa6be4dce", "isTemplate" : false, - "language" : "bash", - "mode" : "fullOutput", + "language" : "applescript", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Translate Shell", - "path" : "apps\/translate-shell\/", + "packageName" : "Safari", + "path" : "apps\/safari\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Translate to ZH", - "updatedAt" : "2021-05-07T07:58:55+02:00" + "title" : "Download Current URL", + "updatedAt" : "2024-08-30T13:02:53Z" }, { "authors" : [ { - "name" : "Marcel Bochtler", - "url" : "https:\/\/github.com\/MarcelBochtler" + "name" : "Thomas Paul Mann", + "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-05-07T07:58:55+02:00", + "createdAt" : "2021-03-09T15:09:02Z", "currentDirectoryPath" : null, - "description" : "Translate text using translate-shell.", - "filename" : "translate-shell-language-pair.py", - "hasArguments" : true, + "description" : "Close tabs with the same URL.", + "filename" : "safari-close-duplicated-tabs.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "🌍" + "light" : "images\/safari.png" }, - "identifier" : "e9776d8d1e5db81fb7f49a4df06af0f0", + "identifier" : "3910bc8358dde77be0359ef115f703a6", "isTemplate" : false, - "language" : "python", - "mode" : "fullOutput", + "language" : "applescript", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Translate Shell Language Pair", - "path" : "apps\/translate-shell\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Translate Shell", - "updatedAt" : "2021-07-15T22:22:31+02:00" - } - ] - }, - { - "name" : "Notes", - "path" : "notes", - "scriptCommands" : [ + "packageName" : "Safari", + "path" : "apps\/safari\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Close Duplicated Tabs", + "updatedAt" : "2021-03-09T15:11:52Z" + }, { "authors" : [ { - "name" : "Vardan Sawhney", - "url" : "https:\/\/github.com\/commai" + "name" : "Thomas Paul Mann", + "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-08-03T09:54:13-04:00", + "createdAt" : "2021-03-09T15:09:02Z", "currentDirectoryPath" : null, - "description" : "Open Note via its Title", - "filename" : "open-note.applescript", - "hasArguments" : true, + "description" : "Close all tabs to the right side of the currently active tab.", + "filename" : "safari-close-tabs-right.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/notes.png" + "light" : "images\/safari.png" }, - "identifier" : "9295d4230a85f19a25e491154c2cc2ae", + "identifier" : "779e79e3334dca627507dc1737a1cf27", "isTemplate" : false, "language" : "applescript", - "mode" : "compact", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Notes", - "path" : "apps\/notes\/", + "packageName" : "Safari", + "path" : "apps\/safari\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Note", - "updatedAt" : "2021-08-03T09:54:13-04:00" + "title" : "Close Tabs to the Right", + "updatedAt" : "2021-03-09T15:09:02Z" }, { "authors" : [ { - "name" : "Ayoub Gharbi", - "url" : "github.com\/ayoub-g" + "name" : "Thomas Paul Mann", + "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-08-19T11:57:46+01:00", + "createdAt" : "2021-03-09T15:09:02Z", "currentDirectoryPath" : null, - "description" : "This script searches for a note, given its exact name, or a substring, the search does not consider case", - "filename" : "search-note-by-name.applescript", - "hasArguments" : true, + "description" : "Close all tabs to the left side of the currently active tab.", + "filename" : "safari-close-tabs-left.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/notes.png" + "light" : "images\/safari.png" }, - "identifier" : "2742cc92859fb01b45bbed9bd2ba3dc8", + "identifier" : "98ee4a51212c322cf544c0e756ca3383", "isTemplate" : false, "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Notes", - "path" : "apps\/notes\/", + "packageName" : "Safari", + "path" : "apps\/safari\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Search Note By Name", - "updatedAt" : "2021-08-19T11:57:46+01:00" + "title" : "Close Tabs to the Left", + "updatedAt" : "2021-03-09T15:09:02Z" }, { "authors" : [ { - "name" : "Ayoub Gharbi", - "url" : "https:\/\/github.com\/ayoub-g" + "name" : "Thomas Paul Mann", + "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-08-20T22:46:40+01:00", + "createdAt" : "2021-03-09T15:09:02Z", "currentDirectoryPath" : null, - "description" : "Script to append to an existing note content from clipboard.", - "filename" : "append-note-from-clipboard.applescript", - "hasArguments" : true, + "description" : "Duplicates and opens the currently active tab.", + "filename" : "safari-duplicate-tab.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/notes.png" + "light" : "images\/safari.png" }, - "identifier" : "8e61646606984a27fa52fabeda748f01", + "identifier" : "6727e9a045a860d1a726af83df1b9df3", "isTemplate" : false, "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Notes", - "path" : "apps\/notes\/", + "packageName" : "Safari", + "path" : "apps\/safari\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Append Content From Clipboard", - "updatedAt" : "2021-08-20T22:46:40+01:00" + "title" : "Duplicate Tab", + "updatedAt" : "2021-03-09T15:09:02Z" }, { "authors" : [ { - "name" : "Ayoub Gharbi", - "url" : "https:\/\/github.com\/ayoub-g" + "name" : "Thomas Paul Mann", + "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-07-21T23:46:22-04:00", + "createdAt" : "2021-03-09T15:09:02Z", "currentDirectoryPath" : null, - "description" : "Create Note From Clipboard", - "filename" : "create-note-from-clipboard.applescript", - "hasArguments" : true, + "description" : "Close all tabs in the frontmost window", + "filename" : "safari-close-all-tabs.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/notes.png" + "light" : "images\/safari.png" }, - "identifier" : "4186e11daddefc7d27d89b3943eb4b44", + "identifier" : "1cd7846276f766bc2b17a7a99bed645a", "isTemplate" : false, "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Notes", - "path" : "apps\/notes\/", + "packageName" : "Safari", + "path" : "apps\/safari\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create Note From Clipboard", - "updatedAt" : "2021-08-18T17:31:58+01:00" + "title" : "Close All Tabs", + "updatedAt" : "2021-03-09T15:09:02Z" }, { "authors" : [ { - "name" : "Vardan Sawhney", - "url" : "https:\/\/github.com\/commai" + "name" : "smxl", + "url" : "https:\/\/github.com\/smxl" } ], - "createdAt" : "2021-07-21T23:46:22-04:00", + "createdAt" : "2023-02-16T13:11:13+08:00", "currentDirectoryPath" : null, - "description" : "Create a new Note ", - "filename" : "create-note.applescript", - "hasArguments" : true, + "description" : "Open Bing in Safari with Edge User-Agent", + "filename" : "safari-bing-edge-user-agent.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/notes.png" + "light" : "images\/safari.png" }, - "identifier" : "e9cecac4bfa067f607c15ef602dae3d9", + "identifier" : "f88a9b8ee459537aa8da40d071ab6232", "isTemplate" : false, "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Notes", - "path" : "apps\/notes\/", + "packageName" : "Safari", + "path" : "apps\/safari\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create Note", - "updatedAt" : "2021-07-23T21:06:02-04:00" - } - ] - }, - { - "name" : "Y Pomodoro", - "path" : "y-pomodoro", - "scriptCommands" : [ + "title" : "Open Bing with Edge User-Agent", + "updatedAt" : "2023-02-17T18:29:04+09:00" + }, { "authors" : [ { - "name" : "Jesse Claven", - "url" : "https:\/\/github.com\/jesse-c" + "name" : "Dave Lehman", + "url" : "https:\/\/github.com\/dlehman" } ], - "createdAt" : "2021-08-20T22:47:15+01:00", + "createdAt" : "2021-08-19T12:49:15-05:00", "currentDirectoryPath" : null, - "description" : "Pause active pomodoro timer using [y-pomodoro](https:\/\/github.com\/jesse-c\/y-pomodoro)", - "filename" : "pause.sh", + "description" : "Open current Safari URL in new tab in Chrome", + "filename" : "safari-current-page-url-in-chrome.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "🍅" + "light" : "images\/safari.png" }, - "identifier" : "d2836820287e44cb9f83f4dd84f8fdd1", + "identifier" : "82f9f4b17a97bf774484f7946245c318", "isTemplate" : false, - "language" : "bash", - "mode" : "compact", + "language" : "applescript", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "y-pomodoro", - "path" : "apps\/y-pomodoro\/", + "packageName" : "Safari", + "path" : "apps\/safari\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Pause", - "updatedAt" : "2021-08-20T22:47:15+01:00" - }, + "title" : "Open Safari URL in Chrome", + "updatedAt" : "2021-08-20T09:04:07-05:00" + } + ] + }, + { + "name" : "Dictionary", + "path" : "dictionary", + "scriptCommands" : [ { "authors" : [ { - "name" : "Jesse Claven", - "url" : "https:\/\/github.com\/jesse-c" + "name" : "yayiji", + "url" : "https:\/\/github.com\/yayiji" } ], - "createdAt" : "2021-08-20T22:47:15+01:00", + "createdAt" : "2022-10-19T02:28:10+08:00", "currentDirectoryPath" : null, - "description" : "Show active pomodoro timer using [y-pomodoro](https:\/\/github.com\/jesse-c\/y-pomodoro)", - "filename" : "show.sh", + "description" : "Look up selected text in Dictionary", + "filename" : "look-up-in-dictionary.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "🍅" + "light" : "images\/dictionary.icns" }, - "identifier" : "8c775fb12a394e545e09c5dc3f4f5385", + "identifier" : "5952f1e95fc51a30ab3a3d3538dfe273", "isTemplate" : false, - "language" : "bash", - "mode" : "inline", + "language" : "applescript", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "y-pomodoro", - "path" : "apps\/y-pomodoro\/", - "refreshTime" : "15s", + "packageName" : "Dictionary", + "path" : "apps\/dictionary\/", + "refreshTime" : null, "schemaVersion" : 1, - "title" : "Show", - "updatedAt" : "2021-08-20T22:47:15+01:00" - }, + "title" : "Look up in Dictionary", + "updatedAt" : "2022-10-19T02:28:10+08:00" + } + ] + }, + { + "name" : "Raycast", + "path" : "raycast", + "scriptCommands" : [ { "authors" : [ { - "name" : "Jesse Claven", - "url" : "https:\/\/github.com\/jesse-c" + "name" : "Fatpandac", + "url" : "https:\/\/github.com\/Fatpandac" } ], - "createdAt" : "2021-08-20T22:47:15+01:00", + "createdAt" : "2022-05-19T01:47:07+08:00", "currentDirectoryPath" : null, - "description" : "Resume active pomodoro timer using [y-pomodoro](https:\/\/github.com\/jesse-c\/y-pomodoro)", - "filename" : "resume.sh", - "hasArguments" : false, + "description" : "Set Confetti to run for a number of times and during intervals", + "filename" : "celebrate.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "🍅" + "light" : "🎉" }, - "identifier" : "3f8075486c097397d65b6911816fba51", + "identifier" : "c9ab115f10c7edb801658fe3f94c2886", "isTemplate" : false, "language" : "bash", - "mode" : "compact", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "y-pomodoro", - "path" : "apps\/y-pomodoro\/", + "packageName" : "Raycast", + "path" : "apps\/raycast\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Resume", - "updatedAt" : "2021-08-20T22:47:15+01:00" - }, + "title" : "Celebrate", + "updatedAt" : "2022-05-19T10:24:28+08:00" + } + ] + }, + { + "name" : "Surfshark", + "path" : "surfshark", + "scriptCommands" : [ { "authors" : [ { - "name" : "Jesse Claven", - "url" : "https:\/\/github.com\/jesse-c" + "name" : "Jordi Clement", + "url" : "https:\/\/github.com\/jordicl" } ], - "createdAt" : "2021-08-20T22:47:15+01:00", + "createdAt" : "2021-03-04T23:14:49+01:00", "currentDirectoryPath" : null, - "description" : "Stop active pomodoro timer using [y-pomodoro](https:\/\/github.com\/jesse-c\/y-pomodoro)", - "filename" : "stop.sh", + "description" : "Start Surfshark VPN connection", + "filename" : "surfshark-vpn-start.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "🍅" + "light" : "images\/surfshark.png" }, - "identifier" : "e265864f8039fb0d44199d08a552c4f5", + "identifier" : "b3f462e20e0dfbe32bbe6647d34b39f3", "isTemplate" : false, "language" : "bash", "mode" : "compact", "needsConfirmation" : null, - "packageName" : "y-pomodoro", - "path" : "apps\/y-pomodoro\/", + "packageName" : "Surfshark", + "path" : "apps\/surfshark\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Stop", - "updatedAt" : "2021-08-20T22:47:15+01:00" + "title" : "VPN Connect", + "updatedAt" : "2021-03-08T18:01:25+01:00" }, { "authors" : [ { - "name" : "Jesse Claven", - "url" : "https:\/\/github.com\/jesse-c" + "name" : "Jordi Clement", + "url" : "https:\/\/github.com\/jordicl" } ], - "createdAt" : "2021-08-20T22:47:15+01:00", + "createdAt" : "2021-03-04T23:14:49+01:00", "currentDirectoryPath" : null, - "description" : "Start a pomodoro timer using [y-pomodoro](https:\/\/github.com\/jesse-c\/y-pomodoro)", - "filename" : "start.sh", + "description" : "Stop Surfshark VPN connection", + "filename" : "surfshark-vpn-stop.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "🍅" + "light" : "images\/surfshark.png" }, - "identifier" : "205772935becd5940672978344fe329f", + "identifier" : "ee1e49d67e3b13e5a97141a3b9c4ecac", "isTemplate" : false, "language" : "bash", "mode" : "compact", "needsConfirmation" : null, - "packageName" : "y-pomodoro", - "path" : "apps\/y-pomodoro\/", + "packageName" : "Surfshark", + "path" : "apps\/surfshark\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Start", - "updatedAt" : "2021-08-20T22:47:15+01:00" - } - ] - }, - { - "name" : "PhpStorm", - "path" : "phpstorm", - "scriptCommands" : [ + "title" : "VPN Disconnect", + "updatedAt" : "2021-03-08T18:01:25+01:00" + }, { - "authors" : null, - "createdAt" : "2021-08-06T16:17:35+04:00", + "authors" : [ + { + "name" : "Jordi Clement", + "url" : "https:\/\/github.com\/jordicl" + } + ], + "createdAt" : "2021-03-04T23:14:49+01:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "recent-projects.sh", + "description" : "Get Surfshark VPN status", + "filename" : "surfshark-vpn-status.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "icon.icns" + "light" : "images\/surfshark.png" }, - "identifier" : "636e401e276ed8883dff6e76bf1983b4", + "identifier" : "bdb5be9e3fc0587bacc025ba8b39a4cc", "isTemplate" : false, "language" : "bash", "mode" : "inline", "needsConfirmation" : null, - "packageName" : "PhpStorm", - "path" : "apps\/phpstorm\/", - "refreshTime" : "5m", + "packageName" : "Surfshark", + "path" : "apps\/surfshark\/", + "refreshTime" : "10s", "schemaVersion" : 1, - "title" : "Update Recent Projects", - "updatedAt" : "2021-08-06T16:17:35+04:00" + "title" : "Surfshark VPN Status", + "updatedAt" : "2021-03-08T18:01:25+01:00" } ] }, { - "name" : "Fantastical", - "path" : "fantastical", + "name" : "DND Me", + "path" : "dnd-me", "scriptCommands" : [ { "authors" : [ { - "name" : "Robert Cooper", - "url" : "https:\/\/github.com\/robertcoopercode" + "name" : "Roland Leth", + "url" : "https:\/\/runtimesharks.com\/projects\/dnd-me" } ], - "createdAt" : "2021-03-23T16:29:01-04:00", + "createdAt" : "2021-04-21T11:07:25+03:00", "currentDirectoryPath" : null, - "description" : "Create an event in Fantastical", - "filename" : "create-event.applescript", - "hasArguments" : true, + "description" : "Stops DND via DND Me.", + "filename" : "stop-dnd-me.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/fantastical.png" + "light" : "🔔" }, - "identifier" : "7634569101c20232ebf8ecfce9624c61", + "identifier" : "b382cc160f69b4551ceddaab6d613f1a", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Fantastical", - "path" : "apps\/fantastical\/", + "packageName" : "DND Me", + "path" : "apps\/dnd-me\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create Event", - "updatedAt" : "2021-05-28T10:41:12+01:00" + "title" : "Stop DND", + "updatedAt" : "2021-05-28T10:40:03+01:00" }, { "authors" : [ { - "name" : "Vardan Sawhney", - "url" : "https:\/\/github.com\/commai" + "name" : "Roland Leth", + "url" : "https:\/\/runtimesharks.com\/projects\/dnd-me" } ], - "createdAt" : "2021-06-03T00:04:35-04:00", + "createdAt" : "2021-04-21T11:07:25+03:00", "currentDirectoryPath" : null, - "description" : "Speed up setting reminders for Fantastical by invoking this script.", - "filename" : "create-todo-in-fantastical.applescript", + "description" : "Starts DND via DND Me. The parameter has to be a menu item or slider equivalent: 15m, 30m, 1h, 2h, ..., 12h, next, next-hour, next-half-hour; it defaults to next. next-hour means the next 60m mark, next-half-hour means the next 30m mark and next means the first of the two. For example, if it's 9:22, next-hour means 10:00, next-half-hour means 9:30 and next means 9:30.", + "filename" : "start-dnd-me.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/fantastical.png" + "light" : "🔕" }, - "identifier" : "ed64cfea0aefdda6f31454176ecc101f", + "identifier" : "98631b11572aad898f0ff5303c51aeaf", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Fantastical", - "path" : "apps\/fantastical\/", + "packageName" : "DND Me", + "path" : "apps\/dnd-me\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create Task", - "updatedAt" : "2021-06-03T00:04:35-04:00" + "title" : "Start DND", + "updatedAt" : "2021-05-28T10:40:03+01:00" } ] }, { - "name" : "Safari", - "path" : "safari", - "readme" : "apps\/safari\/README.md", + "name" : "Tailscale", + "path" : "tailscale", + "readme" : "apps\/tailscale\/README.md", "scriptCommands" : [ { "authors" : [ { - "name" : "Thomas Paul Mann", - "url" : "https:\/\/github.com\/thomaspaulmann" + "name" : "Ross Zurowski", + "url" : "https:\/\/github.com\/rosszurowski" } ], - "createdAt" : "2021-03-09T15:09:02+00:00", + "createdAt" : "2021-06-14T15:33:18-04:00", "currentDirectoryPath" : null, - "description" : "Close all tabs besides the currently active tab.", - "filename" : "safari-close-other-tabs.applescript", + "description" : "Disconnects from Tailscale", + "filename" : "tailscale-disconnect.sh", "hasArguments" : false, "icon" : { - "dark" : null, - "light" : "images\/safari.png" + "dark" : ".\/images\/tailscale-iconDark.png", + "light" : ".\/images\/tailscale-icon.png" }, - "identifier" : "4c466c382386183b6393383afe1a0b26", + "identifier" : "e8490d25ff8264ba488daca5cf1bd686", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Safari", - "path" : "apps\/safari\/", + "packageName" : "Tailscale", + "path" : "apps\/tailscale\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Close Other Tabs", - "updatedAt" : "2021-03-09T15:09:02+00:00" + "title" : "Disconnect", + "updatedAt" : "2021-06-14T15:33:18-04:00" }, { "authors" : [ { - "name" : "Dave Lehman", - "url" : "https:\/\/github.com\/dlehman" + "name" : "Ross Zurowski", + "url" : "https:\/\/github.com\/rosszurowski" } ], - "createdAt" : "2021-08-19T12:49:15-05:00", + "createdAt" : "2021-06-14T15:33:18-04:00", "currentDirectoryPath" : null, - "description" : "Open current Safari URL in new tab in Firefox", - "filename" : "safari-current-page-url-in-firefox.applescript", + "description" : "Gets your private Tailscale IP", + "filename" : "tailscale-ip.sh", "hasArguments" : false, "icon" : { - "dark" : null, - "light" : "images\/safari.png" + "dark" : ".\/images\/tailscale-iconDark.png", + "light" : ".\/images\/tailscale-icon.png" }, - "identifier" : "953364ac2c0ce7e6bbb02efeed35bfd6", + "identifier" : "95bc0bc6cbf4aa67028652f54fc1009c", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", + "mode" : "inline", + "needsConfirmation" : null, + "packageName" : "Tailscale", + "path" : "apps\/tailscale\/", + "refreshTime" : "1d", + "schemaVersion" : 1, + "title" : "Get IP", + "updatedAt" : "2021-06-14T15:33:18-04:00" + }, + { + "authors" : [ + { + "name" : "Ross Zurowski", + "url" : "https:\/\/github.com\/rosszurowski" + } + ], + "createdAt" : "2021-06-14T15:33:18-04:00", + "currentDirectoryPath" : null, + "description" : "Connects to Tailscale", + "filename" : "tailscale-connect.sh", + "hasArguments" : false, + "icon" : { + "dark" : ".\/images\/tailscale-iconDark.png", + "light" : ".\/images\/tailscale-icon.png" + }, + "identifier" : "3264e1d35d86b9573e5d3962b64992f6", + "isTemplate" : false, + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Safari", - "path" : "apps\/safari\/", + "packageName" : "Tailscale", + "path" : "apps\/tailscale\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Safari URL in Firefox", - "updatedAt" : "2021-08-20T09:04:17-05:00" + "title" : "Connect", + "updatedAt" : "2021-06-14T15:33:18-04:00" }, { "authors" : [ { - "name" : "Aaron Miller", - "url" : "https:\/\/github.com\/aaronhmiller" + "name" : "Ross Zurowski", + "url" : "https:\/\/github.com\/rosszurowski" + }, + { + "name" : "Daniel Schoemer", + "url" : "https:\/\/github.com\/quatauta" } ], - "createdAt" : "2021-08-06T10:24:49-07:00", + "createdAt" : "2021-06-14T15:33:18-04:00", "currentDirectoryPath" : null, - "description" : "This script clears cache and reloads the page of the frontmost Safari window.", - "filename" : "safari-clear-cache-reload.applescript", + "description" : "Switches Tailscale networks", + "filename" : "tailscale-switch.sh", "hasArguments" : false, "icon" : { - "dark" : null, - "light" : "images\/safari.png" + "dark" : ".\/images\/tailscale-iconDark.png", + "light" : ".\/images\/tailscale-icon.png" }, - "identifier" : "ce0ee1596099e7699e99d6267b097f3d", + "identifier" : "d80b655296e9ce8762ff310a4dc45d7a", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Safari", - "path" : "apps\/safari\/", + "packageName" : "Tailscale", + "path" : "apps\/tailscale\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Clear Cache and Refresh Page", - "updatedAt" : "2021-08-06T10:24:49-07:00" - }, + "title" : "Switch Account", + "updatedAt" : "2024-08-19T14:49:32+02:00" + } + ] + }, + { + "name" : "Deepl", + "path" : "deepl", + "scriptCommands" : [ { "authors" : [ { - "name" : "Thomas Paul Mann", - "url" : "https:\/\/github.com\/thomaspaulmann" + "name" : "Jono Hewitt", + "url" : "https:\/\/github.com\/jonohewitt" } ], - "createdAt" : "2021-03-09T15:09:02+00:00", + "createdAt" : "2021-03-16T15:22:56+01:00", "currentDirectoryPath" : null, - "description" : "Add a new Reading List item with the given URL. Allows a custom title to be specified.", - "filename" : "safari-create-reading-list-item.applescript", + "description" : "Translate text on the DeepL website. Translates to a default language if no \"to\" argument is given.", + "filename" : "deepl-web-translate.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/safari.png" + "light" : "images\/deepl.png" }, - "identifier" : "b63421c14664c46305244e65fe16553f", + "identifier" : "0c7a95c20bc816c7db4e9b84ed604c0e", "isTemplate" : false, - "language" : "applescript", - "mode" : "fullOutput", + "language" : "bash", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Safari", - "path" : "apps\/safari\/", + "packageName" : "Web Searches", + "path" : "apps\/deepl\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Add Item to Reading List", - "updatedAt" : "2021-03-09T15:09:02+00:00" + "title" : "DeepL Web Translate", + "updatedAt" : "2021-04-07T20:04:04+08:00" }, { "authors" : [ { - "name" : "Thomas Paul Mann", - "url" : "https:\/\/github.com\/thomaspaulmann" + "name" : "Jono Hewitt", + "url" : "https:\/\/github.com\/jonohewitt" } ], - "createdAt" : "2021-03-09T15:09:02+00:00", + "createdAt" : "2021-03-12T22:44:13+01:00", "currentDirectoryPath" : null, - "description" : "Close tabs with the same URL.", - "filename" : "safari-close-duplicated-tabs.applescript", - "hasArguments" : false, + "description" : "Translate text in DeepL for Mac. Features options to input from the clipboard as well as automatically copy translation results.", + "filename" : "deepl-app-translate.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/safari.png" + "light" : "images\/deepl.png" }, - "identifier" : "800d9f6cf20b6b1c2f5ffe4e76b84b4b", + "identifier" : "13e79a758f8e2822baea735ea52075c5", "isTemplate" : false, "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Safari", - "path" : "apps\/safari\/", + "packageName" : "Apps", + "path" : "apps\/deepl\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Close Duplicated Tabs", - "updatedAt" : "2021-03-09T15:11:52+00:00" - }, + "title" : "DeepL App Translate", + "updatedAt" : "2022-02-07T03:09:14+01:00" + } + ] + }, + { + "name" : "WARP", + "path" : "warp", + "scriptCommands" : [ { "authors" : [ { - "name" : "Thomas Paul Mann", - "url" : "https:\/\/github.com\/thomaspaulmann" + "name" : "Sergey Fuksman", + "url" : "https:\/\/github.com\/fuksman" } ], - "createdAt" : "2021-03-09T15:09:02+00:00", + "createdAt" : "2021-11-03T23:01:39+03:00", "currentDirectoryPath" : null, - "description" : "Close all tabs to the right side of the currently active tab.", - "filename" : "safari-close-tabs-right.applescript", + "description" : "Disconnect from WARP", + "filename" : "warp-stop.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/safari.png" + "light" : "images\/warp.png" }, - "identifier" : "723f7798053edadfeb982265f283b4c2", + "identifier" : "84f6a46d9901c80cc7dd7a7d71e833db", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "bash", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Safari", - "path" : "apps\/safari\/", + "packageName" : "WARP", + "path" : "apps\/warp\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Close Tabs to the Right", - "updatedAt" : "2021-03-09T15:09:02+00:00" + "title" : "Disconnect", + "updatedAt" : "2022-11-21T00:02:28+07:00" }, { "authors" : [ { - "name" : "Thomas Paul Mann", - "url" : "https:\/\/github.com\/thomaspaulmann" + "name" : "Sergey Fuksman", + "url" : "https:\/\/github.com\/fuksman" } ], - "createdAt" : "2021-03-09T15:09:02+00:00", + "createdAt" : "2021-11-03T23:01:39+03:00", "currentDirectoryPath" : null, - "description" : "Close all tabs to the left side of the currently active tab.", - "filename" : "safari-close-tabs-left.applescript", + "description" : "Toggle Connection", + "filename" : "warp-toggle.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/safari.png" + "light" : "images\/warp.png" }, - "identifier" : "6d6cf490c73838f02f2054fcfb4d3786", + "identifier" : "7792a62e2ea9c46c3c44aa5c7ea0a3fe", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "bash", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Safari", - "path" : "apps\/safari\/", + "packageName" : "WARP", + "path" : "apps\/warp\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Close Tabs to the Left", - "updatedAt" : "2021-03-09T15:09:02+00:00" + "title" : "Toggle WARP", + "updatedAt" : "2022-11-21T00:02:28+07:00" }, { "authors" : [ { - "name" : "Thomas Paul Mann", - "url" : "https:\/\/github.com\/thomaspaulmann" + "name" : "Sergey Fuksman", + "url" : "https:\/\/github.com\/fuksman" } ], - "createdAt" : "2021-03-09T15:09:02+00:00", + "createdAt" : "2021-11-03T23:01:39+03:00", "currentDirectoryPath" : null, - "description" : "Duplicates and opens the currently active tab.", - "filename" : "safari-duplicate-tab.applescript", + "description" : "Check WARP connection", + "filename" : "warp-status.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/safari.png" + "light" : "images\/warp.png" }, - "identifier" : "e0be5f0e55412e5eaab09144dfb2aa6e", + "identifier" : "e24da24122bfc2592adaf22617c9b2ee", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "bash", + "mode" : "inline", "needsConfirmation" : null, - "packageName" : "Safari", - "path" : "apps\/safari\/", - "refreshTime" : null, + "packageName" : "WARP", + "path" : "apps\/warp\/", + "refreshTime" : "30s", "schemaVersion" : 1, - "title" : "Duplicate Tab", - "updatedAt" : "2021-03-09T15:09:02+00:00" + "title" : "WARP Status", + "updatedAt" : "2022-11-21T00:02:28+07:00" }, { "authors" : [ { - "name" : "Thomas Paul Mann", - "url" : "https:\/\/github.com\/thomaspaulmann" + "name" : "Sergey Fuksman", + "url" : "https:\/\/github.com\/fuksman" } ], - "createdAt" : "2021-03-09T15:09:02+00:00", + "createdAt" : "2021-11-03T23:01:39+03:00", "currentDirectoryPath" : null, - "description" : "Close all tabs in the frontmost window", - "filename" : "safari-close-all-tabs.applescript", + "description" : "Create a connection to WARP", + "filename" : "warp-start.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/safari.png" + "light" : "images\/warp.png" }, - "identifier" : "abb41453f8b816095fb4bada2a14927a", + "identifier" : "5e1bf486a85fcd82a889fc34e2f23399", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "bash", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Safari", - "path" : "apps\/safari\/", + "packageName" : "WARP", + "path" : "apps\/warp\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Close All Tabs", - "updatedAt" : "2021-03-09T15:09:02+00:00" + "title" : "Connect", + "updatedAt" : "2022-11-21T00:02:28+07:00" }, { "authors" : [ { - "name" : "Dave Lehman", - "url" : "https:\/\/github.com\/dlehman" + "name" : "Daniils Petrovs", + "url" : "https:\/\/github.com\/danirukun" } ], - "createdAt" : "2021-08-19T12:49:15-05:00", + "createdAt" : "2021-11-03T23:01:39+03:00", "currentDirectoryPath" : null, - "description" : "Open current Safari URL in new tab in Chrome", - "filename" : "safari-current-page-url-in-chrome.applescript", + "description" : "Force WARP reauthentication", + "filename" : "warp-reauth.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/safari.png" + "light" : "images\/warp.png" }, - "identifier" : "82f9f4b17a97bf774484f7946245c318", + "identifier" : "a47be00594b26ffd668ccf35ac6d9a10", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "bash", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Safari", - "path" : "apps\/safari\/", + "packageName" : "WARP", + "path" : "apps\/warp\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Safari URL in Chrome", - "updatedAt" : "2021-08-20T09:04:07-05:00" + "title" : "Reauthenticate", + "updatedAt" : "2023-08-10T10:55:06+02:00" } ] }, { - "name" : "Raycast", - "path" : "raycast", + "name" : "Medo", + "path" : "medo", "scriptCommands" : [ { "authors" : [ { - "name" : "Fatpandac", - "url" : "https:\/\/github.com\/Fatpandac" + "name" : "Aayush ", + "url" : "https:\/\/github.com\/Aayush9029" } ], - "createdAt" : "2022-05-19T01:47:07+08:00", + "createdAt" : "2022-03-27T16:04:55-04:00", "currentDirectoryPath" : null, - "description" : "Set Confetti to run for a number of times and during intervals", - "filename" : "celebrate.sh", - "hasArguments" : true, + "description" : "Add a new task with priority ", + "filename" : "medo-float-small.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "🎉" + "light" : ".\/images\/medo.png" }, - "identifier" : "c9ab115f10c7edb801658fe3f94c2886", + "identifier" : "53656a8d7f20d1e46864d16a171f415e", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Raycast", - "path" : "apps\/raycast\/", + "packageName" : "Medo", + "path" : "apps\/medo\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Celebrate", - "updatedAt" : "2022-05-19T10:24:28+08:00" - } - ] - }, - { - "name" : "Surfshark", - "path" : "surfshark", - "scriptCommands" : [ + "title" : "Medo Float Small", + "updatedAt" : "2022-03-27T16:04:55-04:00" + }, { "authors" : [ { - "name" : "Jordi Clement", - "url" : "https:\/\/github.com\/jordicl" + "name" : "Aayush ", + "url" : "https:\/\/github.com\/Aayush9029" } ], - "createdAt" : "2021-03-04T23:14:49+01:00", + "createdAt" : "2022-03-27T16:04:55-04:00", "currentDirectoryPath" : null, - "description" : "Start Surfshark VPN connection", - "filename" : "surfshark-vpn-start.sh", + "description" : "Add a new task with priority ", + "filename" : "medo-float-large.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/surfshark.png" + "light" : ".\/images\/medo.png" }, - "identifier" : "b3f462e20e0dfbe32bbe6647d34b39f3", + "identifier" : "1b642fee34bc69c2bfffff0474590cda", "isTemplate" : false, "language" : "bash", - "mode" : "compact", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Surfshark", - "path" : "apps\/surfshark\/", + "packageName" : "Medo", + "path" : "apps\/medo\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "VPN Connect", - "updatedAt" : "2021-03-08T18:01:25+01:00" + "title" : "Medo Float Large", + "updatedAt" : "2022-03-27T16:04:55-04:00" }, { "authors" : [ { - "name" : "Jordi Clement", - "url" : "https:\/\/github.com\/jordicl" + "name" : "Aayush ", + "url" : "https:\/\/github.com\/Aayush9029" } ], - "createdAt" : "2021-03-04T23:14:49+01:00", + "createdAt" : "2022-03-27T16:04:55-04:00", "currentDirectoryPath" : null, - "description" : "Stop Surfshark VPN connection", - "filename" : "surfshark-vpn-stop.sh", - "hasArguments" : false, + "description" : "Add a new task", + "filename" : "add-task.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/surfshark.png" + "light" : ".\/images\/medo.png" }, - "identifier" : "ee1e49d67e3b13e5a97141a3b9c4ecac", + "identifier" : "964abdac20ce59cf52a6d150569ed68c", "isTemplate" : false, "language" : "bash", - "mode" : "compact", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Surfshark", - "path" : "apps\/surfshark\/", + "packageName" : "Medo", + "path" : "apps\/medo\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "VPN Disconnect", - "updatedAt" : "2021-03-08T18:01:25+01:00" + "title" : "Add Task", + "updatedAt" : "2022-03-27T16:04:55-04:00" }, { "authors" : [ { - "name" : "Jordi Clement", - "url" : "https:\/\/github.com\/jordicl" + "name" : "Aayush ", + "url" : "https:\/\/github.com\/Aayush9029" } ], - "createdAt" : "2021-03-04T23:14:49+01:00", + "createdAt" : "2022-03-27T16:04:55-04:00", "currentDirectoryPath" : null, - "description" : "Get Surfshark VPN status", - "filename" : "surfshark-vpn-status.sh", + "description" : "Add a new task with priority ", + "filename" : "medo-float.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/surfshark.png" + "light" : ".\/images\/medo.png" }, - "identifier" : "bdb5be9e3fc0587bacc025ba8b39a4cc", + "identifier" : "d17151bc9fa155a91dd7a260bf330279", "isTemplate" : false, "language" : "bash", - "mode" : "inline", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Surfshark", - "path" : "apps\/surfshark\/", - "refreshTime" : "10s", + "packageName" : "Medo", + "path" : "apps\/medo\/", + "refreshTime" : null, "schemaVersion" : 1, - "title" : "Surfshark VPN Status", - "updatedAt" : "2021-03-08T18:01:25+01:00" + "title" : "Medo Float", + "updatedAt" : "2022-03-27T16:04:55-04:00" } ] }, { - "name" : "DND Me", - "path" : "dnd-me", + "name" : "Agenda", + "path" : "agenda", + "readme" : "apps\/agenda\/README.md", "scriptCommands" : [ { "authors" : [ { - "name" : "Roland Leth", - "url" : "https:\/\/runtimesharks.com\/projects\/dnd-me" + "name" : "Michael Ellis", + "url" : "https:\/\/github.com\/mtellis2" + } + ], + "createdAt" : "2021-06-26T15:52:43-04:00", + "currentDirectoryPath" : null, + "description" : "Opens Agenda - Today Overview", + "filename" : "agenda-today.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "images\/agenda.png" + }, + "identifier" : "7f50aaf0597b597069fb354a58a4573b", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", + "needsConfirmation" : null, + "packageName" : "Agenda", + "path" : "apps\/agenda\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Agenda Today Overview", + "updatedAt" : "2021-06-26T15:52:43-04:00" + }, + { + "authors" : [ + { + "name" : "Michael Ellis", + "url" : "https:\/\/github.com\/mtellis2" } ], - "createdAt" : "2021-04-21T11:07:25+03:00", + "createdAt" : "2021-06-26T15:52:43-04:00", "currentDirectoryPath" : null, - "description" : "Stops DND via DND Me.", - "filename" : "stop-dnd-me.sh", + "description" : "Opens Agenda - On the Agenda Overview", + "filename" : "agenda-on-the-agenda.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "🔔" + "light" : "images\/agenda.png" }, - "identifier" : "b382cc160f69b4551ceddaab6d613f1a", + "identifier" : "8e019b6506bee0ffad51b2a625ed0d0b", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DND Me", - "path" : "apps\/dnd-me\/", + "packageName" : "Agenda", + "path" : "apps\/agenda\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Stop DND", - "updatedAt" : "2021-05-28T10:40:03+01:00" + "title" : "On the Agenda Overview", + "updatedAt" : "2021-06-26T15:52:43-04:00" }, { "authors" : [ { - "name" : "Roland Leth", - "url" : "https:\/\/runtimesharks.com\/projects\/dnd-me" + "name" : "Michael Ellis", + "url" : "https:\/\/github.com\/mtellis2" } ], - "createdAt" : "2021-04-21T11:07:25+03:00", + "createdAt" : "2021-06-26T15:52:43-04:00", "currentDirectoryPath" : null, - "description" : "Starts DND via DND Me. The parameter has to be a menu item or slider equivalent: 15m, 30m, 1h, 2h, ..., 12h, next, next-hour, next-half-hour; it defaults to next. next-hour means the next 60m mark, next-half-hour means the next 30m mark and next means the first of the two. For example, if it's 9:22, next-hour means 10:00, next-half-hour means 9:30 and next means 9:30.", - "filename" : "start-dnd-me.sh", + "description" : "Creates New Note and adds it to On the Agenda", + "filename" : "agenda-new-note.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "🔕" + "light" : "images\/agenda.png" }, - "identifier" : "98631b11572aad898f0ff5303c51aeaf", + "identifier" : "9b7ee4e0b61fcd48feeb8280ac0adbdf", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DND Me", - "path" : "apps\/dnd-me\/", + "packageName" : "Agenda", + "path" : "apps\/agenda\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Start DND", - "updatedAt" : "2021-05-28T10:40:03+01:00" + "title" : "Create New On the Agenda Note", + "updatedAt" : "2021-06-26T15:52:43-04:00" } ] }, { - "name" : "Tailscale", - "path" : "tailscale", - "readme" : "apps\/tailscale\/README.md", + "name" : "Sip", + "path" : "sip", "scriptCommands" : [ { "authors" : [ { - "name" : "Ross Zurowski", - "url" : "https:\/\/github.com\/rosszurowski" + "name" : "Sip", + "url" : "https:\/\/twitter.com\/sip_app\/" } ], - "createdAt" : "2021-06-14T15:33:18-04:00", + "createdAt" : "2021-03-09T18:54:05-08:00", "currentDirectoryPath" : null, - "description" : "Disconnects from Tailscale", - "filename" : "tailscale-disconnect.sh", - "hasArguments" : false, + "description" : " Add a color to your Sip history.", + "filename" : "sip-add-hex-color.sh", + "hasArguments" : true, "icon" : { - "dark" : ".\/images\/tailscale-iconDark.png", - "light" : ".\/images\/tailscale-icon.png" + "dark" : null, + "light" : ".\/images\/sip.png" }, - "identifier" : "e8490d25ff8264ba488daca5cf1bd686", + "identifier" : "1464e6600c3226f74b04dfa0dd946eac", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Tailscale", - "path" : "apps\/tailscale\/", + "packageName" : "Sip", + "path" : "apps\/sip\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Disconnect", - "updatedAt" : "2021-06-14T15:33:18-04:00" + "title" : " Add Color to History", + "updatedAt" : "2021-05-28T10:43:11+01:00" }, { "authors" : [ { - "name" : "Ross Zurowski", - "url" : "https:\/\/github.com\/rosszurowski" + "name" : "Sip", + "url" : "https:\/\/twitter.com\/sip_app\/" } ], - "createdAt" : "2021-06-14T15:33:18-04:00", + "createdAt" : "2021-03-09T18:54:05-08:00", "currentDirectoryPath" : null, - "description" : "Gets your private Tailscale IP", - "filename" : "tailscale-ip.sh", + "description" : "Open Sip Contrast Checker.", + "filename" : "sip-open-check-contrast.sh", "hasArguments" : false, "icon" : { - "dark" : ".\/images\/tailscale-iconDark.png", - "light" : ".\/images\/tailscale-icon.png" + "dark" : null, + "light" : ".\/images\/sip.png" }, - "identifier" : "95bc0bc6cbf4aa67028652f54fc1009c", + "identifier" : "3c16dd65bb4f638b006b4e71787ff835", "isTemplate" : false, "language" : "bash", - "mode" : "inline", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Tailscale", - "path" : "apps\/tailscale\/", - "refreshTime" : "1d", + "packageName" : "Sip", + "path" : "apps\/sip\/", + "refreshTime" : null, "schemaVersion" : 1, - "title" : "Get IP", - "updatedAt" : "2021-06-14T15:33:18-04:00" + "title" : "Open Contrast Checker", + "updatedAt" : "2021-05-28T10:43:11+01:00" }, { "authors" : [ { - "name" : "Ross Zurowski", - "url" : "https:\/\/github.com\/rosszurowski" + "name" : "Sip", + "url" : "https:\/\/twitter.com\/sip_app\/" } ], - "createdAt" : "2021-06-14T15:33:18-04:00", + "createdAt" : "2021-03-09T18:54:05-08:00", "currentDirectoryPath" : null, - "description" : "Connects to Tailscale", - "filename" : "tailscale-connect.sh", + "description" : "Pick a color value from your screen.", + "filename" : "sip-show-picker.sh", "hasArguments" : false, "icon" : { - "dark" : ".\/images\/tailscale-iconDark.png", - "light" : ".\/images\/tailscale-icon.png" + "dark" : null, + "light" : ".\/images\/sip.png" }, - "identifier" : "3264e1d35d86b9573e5d3962b64992f6", + "identifier" : "e0a9a42ede865f3c4b41b8212b7abf47", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Tailscale", - "path" : "apps\/tailscale\/", + "packageName" : "Sip", + "path" : "apps\/sip\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Connect", - "updatedAt" : "2021-06-14T15:33:18-04:00" + "title" : "Show Color Picker", + "updatedAt" : "2021-05-28T10:43:11+01:00" }, { "authors" : [ { - "name" : "Ross Zurowski", - "url" : "https:\/\/github.com\/rosszurowski" + "name" : "Sip", + "url" : "https:\/\/twitter.com\/sip_app\/" } ], - "createdAt" : "2021-06-14T15:33:18-04:00", + "createdAt" : "2021-03-09T18:54:05-08:00", "currentDirectoryPath" : null, - "description" : "Switches Tailscale networks", - "filename" : "tailscale-switch.sh", - "hasArguments" : false, + "description" : "Open Sip Contrast Checker.", + "filename" : "sip-check-contrast-hex.sh", + "hasArguments" : true, "icon" : { - "dark" : ".\/images\/tailscale-iconDark.png", - "light" : ".\/images\/tailscale-icon.png" + "dark" : null, + "light" : ".\/images\/sip.png" }, - "identifier" : "d80b655296e9ce8762ff310a4dc45d7a", + "identifier" : "23c64d597f80a9cc2b19cc5e5ed8c27d", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Tailscale", - "path" : "apps\/tailscale\/", + "packageName" : "Sip", + "path" : "apps\/sip\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Switch Account", - "updatedAt" : "2021-06-14T15:33:18-04:00" + "title" : "Check Contrast", + "updatedAt" : "2021-05-28T10:43:11+01:00" } ] }, { - "name" : "Deepl", - "path" : "deepl", + "name" : "Obsidian", + "path" : "obsidian", "scriptCommands" : [ { "authors" : [ { - "name" : "Jono Hewitt", - "url" : "https:\/\/github.com\/jonohewitt" + "name" : "Yiyao Wei", + "url" : "https:\/\/github.com\/HotThoughts" } ], - "createdAt" : "2021-03-16T15:22:56+01:00", + "createdAt" : "2021-07-18T15:40:05+02:00", "currentDirectoryPath" : null, - "description" : "Translate text on the DeepL website. Translates to a default language if no \"to\" argument is given.", - "filename" : "deepl-web-translate.sh", + "description" : "Create a new note", + "filename" : "obsidian-create-note.template.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/deepl.png" + "light" : ".\/images\/obsidian.png" }, - "identifier" : "0c7a95c20bc816c7db4e9b84ed604c0e", - "isTemplate" : false, + "identifier" : "5e5d144d98524911ae3b2198de181c01", + "isTemplate" : true, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Web Searches", - "path" : "apps\/deepl\/", + "packageName" : "Obsidian", + "path" : "apps\/obsidian\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "DeepL Web Translate", - "updatedAt" : "2021-04-07T20:04:04+08:00" + "title" : "Create Note", + "updatedAt" : "2021-07-19T22:03:48+02:00" }, { "authors" : [ { - "name" : "Jono Hewitt", - "url" : "https:\/\/github.com\/jonohewitt" + "name" : "Yiyao Wei", + "url" : "https:\/\/github.com\/HotThoughts" } ], - "createdAt" : "2021-03-12T22:44:13+01:00", + "createdAt" : "2021-07-18T15:40:05+02:00", "currentDirectoryPath" : null, - "description" : "Translate text in DeepL for Mac. Features options to input from the clipboard as well as automatically copy translation results.", - "filename" : "deepl-app-translate.applescript", + "description" : "Search Obsidian Vault", + "filename" : "obsidian-search-vault.template.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/deepl.png" + "light" : ".\/images\/obsidian.png" }, - "identifier" : "13e79a758f8e2822baea735ea52075c5", - "isTemplate" : false, - "language" : "applescript", + "identifier" : "220bea9681acc6640802b8cb8b0ee55d", + "isTemplate" : true, + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Apps", - "path" : "apps\/deepl\/", + "packageName" : "Obsidian", + "path" : "apps\/obsidian\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "DeepL App Translate", - "updatedAt" : "2022-02-07T03:09:14+01:00" + "title" : "Search in Vault", + "updatedAt" : "2021-07-19T22:03:48+02:00" } ] }, { - "name" : "WARP", - "path" : "warp", + "name" : "Things", + "path" : "things", + "readme" : "apps\/things\/README.md", "scriptCommands" : [ { "authors" : [ { - "name" : "Sergey Fuksman", - "url" : "https:\/\/github.com\/fuksman" + "name" : "Things", + "url" : "https:\/\/twitter.com\/culturedcode\/" } ], - "createdAt" : "2021-11-03T23:01:39+03:00", + "createdAt" : "2021-03-03T19:17:44Z", "currentDirectoryPath" : null, - "description" : "Disconnect from WARP", - "filename" : "warp-stop.sh", + "description" : "Get an overview of your completed tasks for today.", + "filename" : "things-today.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/warp.png" + "light" : "images\/things.png" }, - "identifier" : "84f6a46d9901c80cc7dd7a7d71e833db", + "identifier" : "f5c008fbbafb56d3dd35483b209357f5", + "isTemplate" : false, + "language" : "applescript", + "mode" : "inline", + "needsConfirmation" : null, + "packageName" : "Things", + "path" : "apps\/things\/", + "refreshTime" : "1m", + "schemaVersion" : 1, + "title" : "Today", + "updatedAt" : "2021-03-03T19:17:44Z" + }, + { + "authors" : [ + { + "name" : "Things", + "url" : "https:\/\/twitter.com\/culturedcode\/" + } + ], + "createdAt" : "2021-03-03T19:17:44Z", + "currentDirectoryPath" : null, + "description" : "Search To-Dos with a query.", + "filename" : "things-search-to-dos.sh", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "images\/things.png" + }, + "identifier" : "81182c169dbbf72ba9dfbbfea713275b", "isTemplate" : false, "language" : "bash", - "mode" : "compact", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "WARP", - "path" : "apps\/warp\/", + "packageName" : "Things", + "path" : "apps\/things\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Disconnect", - "updatedAt" : "2021-11-03T23:01:39+03:00" + "title" : "Search To-Dos", + "updatedAt" : "2021-03-03T19:17:44Z" }, { "authors" : [ - { - "name" : "Sergey Fuksman", - "url" : "https:\/\/github.com\/fuksman" + { + "name" : "Things", + "url" : "https:\/\/twitter.com\/culturedcode\/" } ], - "createdAt" : "2021-11-03T23:01:39+03:00", + "createdAt" : "2021-03-03T19:17:44Z", "currentDirectoryPath" : null, - "description" : "Toggle Connection", - "filename" : "warp-toggle.sh", - "hasArguments" : false, + "description" : "Create a new To-Do with title and optional deadline.", + "filename" : "things-create-todo.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/warp.png" + "light" : "images\/things.png" }, - "identifier" : "7792a62e2ea9c46c3c44aa5c7ea0a3fe", + "identifier" : "f5ae3372a366a985c4a630f8f3412f83", "isTemplate" : false, "language" : "bash", - "mode" : "compact", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "WARP", - "path" : "apps\/warp\/", + "packageName" : "Things", + "path" : "apps\/things\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Toggle WARP", - "updatedAt" : "2021-11-03T23:01:39+03:00" + "title" : "Create To-Do", + "updatedAt" : "2021-08-09T22:29:37+02:00" }, { "authors" : [ { - "name" : "Sergey Fuksman", - "url" : "https:\/\/github.com\/fuksman" + "name" : "Things", + "url" : "https:\/\/twitter.com\/culturedcode\/" } ], - "createdAt" : "2021-11-03T23:01:39+03:00", + "createdAt" : "2021-03-03T19:17:44Z", "currentDirectoryPath" : null, - "description" : "Check WARP connection", - "filename" : "warp-status.sh", + "description" : "Show your current To-Do to stay focused.", + "filename" : "things-current-todo.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/warp.png" + "light" : "images\/things.png" }, - "identifier" : "e24da24122bfc2592adaf22617c9b2ee", + "identifier" : "7a61aa9d34f92172b970cf9ff88113af", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "inline", "needsConfirmation" : null, - "packageName" : "WARP", - "path" : "apps\/warp\/", - "refreshTime" : "30s", + "packageName" : "Things", + "path" : "apps\/things\/", + "refreshTime" : "1m", "schemaVersion" : 1, - "title" : "WARP Status", - "updatedAt" : "2021-11-03T23:01:39+03:00" - }, + "title" : "Current To-Do", + "updatedAt" : "2021-03-03T19:17:44Z" + } + ] + }, + { + "name" : "Chatgpt", + "path" : "chatgpt", + "scriptCommands" : [ { "authors" : [ { - "name" : "Sergey Fuksman", - "url" : "https:\/\/github.com\/fuksman" + "name" : "gintonyc", + "url" : "https:\/\/raycast.com\/gintonyc" } ], - "createdAt" : "2021-11-03T23:01:39+03:00", + "createdAt" : "2023-06-05T12:05:06+08:00", "currentDirectoryPath" : null, - "description" : "Create a connection to WARP", - "filename" : "warp-start.sh", + "description" : "Open chatgpt in safari", + "filename" : "chatgpt-open-safari.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/warp.png" + "light" : "images\/chatgpt.png" }, - "identifier" : "5e1bf486a85fcd82a889fc34e2f23399", + "identifier" : "9dd095ddbac7bc040b2af63d1532a3d1", "isTemplate" : false, - "language" : "bash", - "mode" : "compact", + "language" : "applescript", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "WARP", - "path" : "apps\/warp\/", + "packageName" : "Chatgpt Util", + "path" : "apps\/chatgpt\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Connect", - "updatedAt" : "2021-11-03T23:01:39+03:00" + "title" : "chatgpt", + "updatedAt" : "2023-06-05T07:04:09Z" } ] }, { - "name" : "Medo", - "path" : "medo", + "name" : "Trello", + "path" : "trello", "scriptCommands" : [ { "authors" : [ { - "name" : "Aayush ", - "url" : "https:\/\/github.com\/Aayush9029" + "name" : "Michael Francis", + "url" : "https:\/\/github.com\/mikefrancis" } ], - "createdAt" : "2022-03-27T16:04:55-04:00", + "createdAt" : "2021-08-12T08:49:15+01:00", "currentDirectoryPath" : null, - "description" : "Add a new task with priority ", - "filename" : "medo-float-small.sh", - "hasArguments" : false, + "description" : "Create a new Trello card", + "filename" : "create-trello-card.template.py", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/medo.png" + "light" : ".\/images\/logo.png" }, - "identifier" : "53656a8d7f20d1e46864d16a171f415e", - "isTemplate" : false, - "language" : "bash", - "mode" : "silent", + "identifier" : "0ab076acf65d71d43777520db336ca41", + "isTemplate" : true, + "language" : "python", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Medo", - "path" : "apps\/medo\/", + "packageName" : "Trello", + "path" : "apps\/trello\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Medo Float Small", - "updatedAt" : "2022-03-27T16:04:55-04:00" - }, + "title" : "Create Card", + "updatedAt" : "2021-08-12T07:51:38Z" + } + ] + }, + { + "name" : "MenubarX", + "path" : "menubarx", + "scriptCommands" : [ { "authors" : [ { - "name" : "Aayush ", - "url" : "https:\/\/github.com\/Aayush9029" + "name" : "Clu Soh", + "url" : "https:\/\/twitter.com\/designedbyclu" } ], - "createdAt" : "2022-03-27T16:04:55-04:00", + "createdAt" : "2022-06-14T15:34:34+08:00", "currentDirectoryPath" : null, - "description" : "Add a new task with priority ", - "filename" : "medo-float-large.sh", + "description" : "Open Pasteboard link in MenubarX", + "filename" : "open-in-menubarx.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/medo.png" + "light" : "images\/menubarx_logo.png" }, - "identifier" : "1b642fee34bc69c2bfffff0474590cda", + "identifier" : "d919503ba27fcc13e43995035a1a51e2", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Medo", - "path" : "apps\/medo\/", + "packageName" : "MenubarX", + "path" : "apps\/menubarx\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Medo Float Large", - "updatedAt" : "2022-03-27T16:04:55-04:00" + "title" : "Open in MenubarX", + "updatedAt" : "2022-06-14T15:34:34+08:00" }, { "authors" : [ { - "name" : "Aayush ", - "url" : "https:\/\/github.com\/Aayush9029" + "name" : "Clu Soh", + "url" : "https:\/\/twitter.com\/designedbyclu" } ], - "createdAt" : "2022-03-27T16:04:55-04:00", + "createdAt" : "2022-06-14T15:34:34+08:00", "currentDirectoryPath" : null, - "description" : "Add a new task", - "filename" : "add-task.sh", + "description" : "Open X Tab in your menubar", + "filename" : "open-tab-in-menubar.applescript", "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/medo.png" + "light" : "images\/menubarx_logo.png" }, - "identifier" : "964abdac20ce59cf52a6d150569ed68c", + "identifier" : "cc7255205230e541123c8c720f81d511", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Medo", - "path" : "apps\/medo\/", + "packageName" : "MenubarX", + "path" : "apps\/menubarx\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Add Task", - "updatedAt" : "2022-03-27T16:04:55-04:00" + "title" : "Open Tabs", + "updatedAt" : "2022-06-14T15:34:34+08:00" }, { "authors" : [ { - "name" : "Aayush ", - "url" : "https:\/\/github.com\/Aayush9029" + "name" : "Clu Soh", + "url" : "https:\/\/twitter.com\/designedbyclu" } ], - "createdAt" : "2022-03-27T16:04:55-04:00", + "createdAt" : "2022-06-14T15:34:34+08:00", "currentDirectoryPath" : null, - "description" : "Add a new task with priority ", - "filename" : "medo-float.sh", + "description" : "Close last viewed tab in MenubarX", + "filename" : "close-last-menubarx-tab.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/medo.png" + "light" : "images\/menubarx_logo.png" }, - "identifier" : "d17151bc9fa155a91dd7a260bf330279", + "identifier" : "48706938160df7f4d61a274a752dea5b", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Medo", - "path" : "apps\/medo\/", + "packageName" : "MenubarX", + "path" : "apps\/menubarx\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Medo Float", - "updatedAt" : "2022-03-27T16:04:55-04:00" + "title" : "Close Last Tab", + "updatedAt" : "2022-06-14T15:34:34+08:00" } ] }, { - "name" : "Agenda", - "path" : "agenda", - "readme" : "apps\/agenda\/README.md", + "name" : "Viscosity", + "path" : "viscosity", "scriptCommands" : [ { "authors" : [ { - "name" : "Michael Ellis", - "url" : "https:\/\/github.com\/mtellis2" + "name" : "Luigi Cardito (credits Achille Lacoin https:\/\/github.com\/pomdtr)", + "url" : "https:\/\/github.com\/lcardito" } ], - "createdAt" : "2021-06-26T15:52:43-04:00", + "createdAt" : "2021-03-23T21:40:02+01:00", "currentDirectoryPath" : null, - "description" : "Opens Agenda - Today Overview", - "filename" : "agenda-today.sh", + "description" : "Disconnect all connected VPN configurations.", + "filename" : "viscosity-disconnect-all.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/agenda.png" + "light" : "images\/viscosity.png" }, - "identifier" : "7f50aaf0597b597069fb354a58a4573b", + "identifier" : "e271e6ed237d2a3fb9c8a401ff15503e", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Agenda", - "path" : "apps\/agenda\/", + "needsConfirmation" : false, + "packageName" : "Viscosity", + "path" : "apps\/viscosity\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Agenda Today Overview", - "updatedAt" : "2021-06-26T15:52:43-04:00" + "title" : "Viscosity: Disconnect All", + "updatedAt" : "2021-03-23T21:40:02+01:00" }, { "authors" : [ { - "name" : "Michael Ellis", - "url" : "https:\/\/github.com\/mtellis2" + "name" : "Luigi Cardito (credits Achille Lacoin https:\/\/github.com\/pomdtr)", + "url" : "https:\/\/github.com\/lcardito" } ], - "createdAt" : "2021-06-26T15:52:43-04:00", + "createdAt" : "2021-03-23T21:40:02+01:00", "currentDirectoryPath" : null, - "description" : "Opens Agenda - On the Agenda Overview", - "filename" : "agenda-on-the-agenda.sh", - "hasArguments" : false, + "description" : "Connect a VPN viscosity configuration.", + "filename" : "viscosity-connect.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/agenda.png" + "light" : "images\/viscosity.png" }, - "identifier" : "8e019b6506bee0ffad51b2a625ed0d0b", + "identifier" : "aff632e02a4d4991a02dcb2e998b5598", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Agenda", - "path" : "apps\/agenda\/", + "needsConfirmation" : false, + "packageName" : "Viscosity", + "path" : "apps\/viscosity\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "On the Agenda Overview", - "updatedAt" : "2021-06-26T15:52:43-04:00" + "title" : "Viscosity: Connect", + "updatedAt" : "2021-03-23T21:40:02+01:00" }, { "authors" : [ { - "name" : "Michael Ellis", - "url" : "https:\/\/github.com\/mtellis2" + "name" : "Luigi Cardito (credits Achille Lacoin https:\/\/github.com\/pomdtr)", + "url" : "https:\/\/github.com\/lcardito" } ], - "createdAt" : "2021-06-26T15:52:43-04:00", + "createdAt" : "2021-03-14T17:37:20+01:00", "currentDirectoryPath" : null, - "description" : "Creates New Note and adds it to On the Agenda", - "filename" : "agenda-new-note.sh", + "description" : "Disconnect a VPN configuration.", + "filename" : "viscosity-disconnect.applescript", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/agenda.png" + "light" : "images\/viscosity.png" }, - "identifier" : "9b7ee4e0b61fcd48feeb8280ac0adbdf", + "identifier" : "3026d9f845bb1212453542c8faac0c99", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Agenda", - "path" : "apps\/agenda\/", + "needsConfirmation" : false, + "packageName" : "Viscosity", + "path" : "apps\/viscosity\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create New On the Agenda Note", - "updatedAt" : "2021-06-26T15:52:43-04:00" - } - ] - }, - { - "name" : "Sip", - "path" : "sip", - "scriptCommands" : [ + "title" : "Viscosity: Disconnect", + "updatedAt" : "2021-03-23T21:40:02+01:00" + }, { "authors" : [ { - "name" : "Sip", - "url" : "https:\/\/twitter.com\/sip_app\/" + "name" : "Luigi Cardito (credits Achille Lacoin https:\/\/github.com\/pomdtr)", + "url" : "https:\/\/github.com\/lcardito" } ], - "createdAt" : "2021-03-09T18:54:05-08:00", + "createdAt" : "2021-03-14T17:37:20+01:00", "currentDirectoryPath" : null, - "description" : " Add a color to your Sip history.", - "filename" : "sip-add-hex-color.sh", - "hasArguments" : true, + "description" : "Connect all unconnected VPN configurations.", + "filename" : "viscosity-connect-all.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/sip.png" + "light" : "images\/viscosity.png" }, - "identifier" : "1464e6600c3226f74b04dfa0dd946eac", + "identifier" : "71345f2d9ab8ad5b476cd4adeff8e1e7", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Sip", - "path" : "apps\/sip\/", + "needsConfirmation" : false, + "packageName" : "Viscosity", + "path" : "apps\/viscosity\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : " Add Color to History", - "updatedAt" : "2021-05-28T10:43:11+01:00" - }, + "title" : "Viscosity: Connect All", + "updatedAt" : "2021-03-23T21:40:02+01:00" + } + ] + }, + { + "name" : "ExpressVPN", + "path" : "expressvpn", + "scriptCommands" : [ { "authors" : [ { - "name" : "Sip", - "url" : "https:\/\/twitter.com\/sip_app\/" + "name" : "Amir Hossein SamadiPour", + "url" : "https:\/\/github.com\/SamadiPour" } ], - "createdAt" : "2021-03-09T18:54:05-08:00", + "createdAt" : "2022-07-22T18:26:50+04:30", "currentDirectoryPath" : null, - "description" : "Open Sip Contrast Checker.", - "filename" : "sip-open-check-contrast.sh", + "description" : null, + "filename" : "expressvpn-reconnect.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/sip.png" + "light" : "images\/expressvpn_logo.svg" }, - "identifier" : "3c16dd65bb4f638b006b4e71787ff835", + "identifier" : "3bada318c2097f51fcbec7513b5ecaa6", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Sip", - "path" : "apps\/sip\/", + "packageName" : "ExpressVPN", + "path" : "apps\/expressvpn\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Contrast Checker", - "updatedAt" : "2021-05-28T10:43:11+01:00" + "title" : "Reconnect", + "updatedAt" : "2022-07-22T18:26:50+04:30" }, { "authors" : [ { - "name" : "Sip", - "url" : "https:\/\/twitter.com\/sip_app\/" + "name" : "Amir Hossein SamadiPour", + "url" : "https:\/\/github.com\/SamadiPour" } ], - "createdAt" : "2021-03-09T18:54:05-08:00", + "createdAt" : "2022-07-22T18:26:50+04:30", "currentDirectoryPath" : null, - "description" : "Pick a color value from your screen.", - "filename" : "sip-show-picker.sh", + "description" : null, + "filename" : "expressvpn-disconnect.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/sip.png" + "light" : "images\/expressvpn_logo.svg" }, - "identifier" : "e0a9a42ede865f3c4b41b8212b7abf47", + "identifier" : "f8d7cbf3a379d469dd987f032de1656c", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Sip", - "path" : "apps\/sip\/", + "packageName" : "ExpressVPN", + "path" : "apps\/expressvpn\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Show Color Picker", - "updatedAt" : "2021-05-28T10:43:11+01:00" + "title" : "Disconnect", + "updatedAt" : "2022-07-22T18:26:50+04:30" }, { "authors" : [ { - "name" : "Sip", - "url" : "https:\/\/twitter.com\/sip_app\/" + "name" : "Amir Hossein SamadiPour", + "url" : "https:\/\/github.com\/SamadiPour" } ], - "createdAt" : "2021-03-09T18:54:05-08:00", + "createdAt" : "2022-07-22T18:26:50+04:30", "currentDirectoryPath" : null, - "description" : "Open Sip Contrast Checker.", - "filename" : "sip-check-contrast-hex.sh", - "hasArguments" : true, + "description" : null, + "filename" : "expressvpn-connect.applescript", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/sip.png" + "light" : "images\/expressvpn_logo.svg" }, - "identifier" : "23c64d597f80a9cc2b19cc5e5ed8c27d", + "identifier" : "3c0176e3dc0c58d220cd3f9fdb90e4c5", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Sip", - "path" : "apps\/sip\/", + "packageName" : "ExpressVPN", + "path" : "apps\/expressvpn\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Check Contrast", - "updatedAt" : "2021-05-28T10:43:11+01:00" + "title" : "Connect", + "updatedAt" : "2022-07-22T18:26:50+04:30" } ] }, { - "name" : "Obsidian", - "path" : "obsidian", + "name" : "Quip", + "path" : "quip", + "readme" : "apps\/quip\/README.org", "scriptCommands" : [ { "authors" : [ { - "name" : "Yiyao Wei", - "url" : "https:\/\/github.com\/HotThoughts" + "name" : "zzamboni", + "url" : "https:\/\/raycast.com\/zzamboni" } ], - "createdAt" : "2021-07-18T15:40:05+02:00", + "createdAt" : "2023-07-12T10:50:40+02:00", "currentDirectoryPath" : null, - "description" : "Create a new note", - "filename" : "obsidian-create-note.template.sh", + "description" : "Configure your Quip API token and other defaults in quip_config.ini", + "filename" : "quip-new.template.py", "hasArguments" : true, "icon" : { "dark" : null, - "light" : ".\/images\/obsidian.png" + "light" : "\/Applications\/Quip.app\/Contents\/Resources\/AppIcon.icns" }, - "identifier" : "5e5d144d98524911ae3b2198de181c01", + "identifier" : "d8fa7bc18200bc8e62536c5dd1c5a6f9", "isTemplate" : true, - "language" : "bash", - "mode" : "silent", + "language" : "python", + "mode" : "compact", "needsConfirmation" : null, - "packageName" : "Obsidian", - "path" : "apps\/obsidian\/", + "packageName" : "Quip utilities", + "path" : "apps\/quip\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create Note", - "updatedAt" : "2021-07-19T22:03:48+02:00" + "title" : "{{commandtitle}}", + "updatedAt" : "2023-07-12T10:50:40+02:00" }, { "authors" : [ { - "name" : "Yiyao Wei", - "url" : "https:\/\/github.com\/HotThoughts" + "name" : "diego_zamboni", + "url" : "https:\/\/raycast.com\/diego_zamboni" } ], - "createdAt" : "2021-07-18T15:40:05+02:00", + "createdAt" : "2023-07-12T10:50:40+02:00", "currentDirectoryPath" : null, - "description" : "Search Obsidian Vault", - "filename" : "obsidian-search-vault.template.sh", - "hasArguments" : true, + "description" : "Create script commands for creating Quip documents, based on the configuration in quip_config.ini.", + "filename" : "set-up-quip-commands.py", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/obsidian.png" + "light" : "\/Applications\/Quip.app\/Contents\/Resources\/AppIcon.icns" }, - "identifier" : "220bea9681acc6640802b8cb8b0ee55d", - "isTemplate" : true, - "language" : "bash", - "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Obsidian", - "path" : "apps\/obsidian\/", + "identifier" : "fdc5f3fc9cc957f068cd9ec6a7c031b6", + "isTemplate" : false, + "language" : "python", + "mode" : "fullOutput", + "needsConfirmation" : true, + "packageName" : "Quip utilities", + "path" : "apps\/quip\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Search in Vault", - "updatedAt" : "2021-07-19T22:03:48+02:00" + "title" : "Set up Quip commands", + "updatedAt" : "2023-07-12T10:50:40+02:00" } ] }, { - "name" : "Things", - "path" : "things", - "readme" : "apps\/things\/README.md", + "name" : "Hyper", + "path" : "hyper", "scriptCommands" : [ { "authors" : [ { - "name" : "Things", - "url" : "https:\/\/twitter.com\/culturedcode\/" - } - ], - "createdAt" : "2021-03-03T19:17:44+00:00", - "currentDirectoryPath" : null, - "description" : "Get an overview of your completed tasks for today.", - "filename" : "things-today.applescript", - "hasArguments" : false, - "icon" : { - "dark" : null, - "light" : "images\/things.png" - }, - "identifier" : "9684467fd87bbb68d852c1ef118e4322", - "isTemplate" : false, - "language" : "applescript", - "mode" : "inline", - "needsConfirmation" : null, - "packageName" : "Things", - "path" : "apps\/things\/", - "refreshTime" : "1m", - "schemaVersion" : 1, - "title" : "Today", - "updatedAt" : "2021-03-03T19:17:44+00:00" - }, - { - "authors" : [ - { - "name" : "Things", - "url" : "https:\/\/twitter.com\/culturedcode\/" + "name" : "Eliot Hertenstein", + "url" : "https:\/\/github.com\/eIiot" } ], - "createdAt" : "2021-03-03T19:17:44+00:00", - "currentDirectoryPath" : null, - "description" : "Search To-Dos with a query.", - "filename" : "things-search-to-dos.sh", + "createdAt" : "2022-02-18T02:19:33-08:00", + "currentDirectoryPath" : "~", + "description" : "Run a terminal using Hyper", + "filename" : "hyper-run-shell-command.applescript", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/things.png" + "light" : "images\/hyper.png" }, - "identifier" : "8194ae91b888f4b868d50bade0f9c6af", + "identifier" : "49608e0b2c2375fec1a6f173155333af", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Things", - "path" : "apps\/things\/", + "packageName" : "Hyper", + "path" : "apps\/hyper\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Search To-Dos", - "updatedAt" : "2021-03-03T19:17:44+00:00" - }, + "title" : "Run Shell Command", + "updatedAt" : "2022-02-18T19:08:51-08:00" + } + ] + }, + { + "name" : "Reminders", + "path" : "reminders", + "scriptCommands" : [ { "authors" : [ { - "name" : "Things", - "url" : "https:\/\/twitter.com\/culturedcode\/" + "name" : "Andrei Nedelcu", + "url" : "https:\/\/dinosaurgame.net" } ], - "createdAt" : "2021-03-03T19:17:44+00:00", + "createdAt" : "2022-02-07T04:07:49+02:00", "currentDirectoryPath" : null, - "description" : "Create a new To-Do with title and optional deadline.", - "filename" : "things-create-todo.sh", + "description" : "Add a new reminder.", + "filename" : "reminders-create-reminder.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/things.png" + "light" : "images\/reminders.png" }, - "identifier" : "5ac2c380166460ade602f0c1e96df290", + "identifier" : "75a45615fac6beb2797006d141e954b6", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Things", - "path" : "apps\/things\/", + "packageName" : "Create Reminder", + "path" : "apps\/reminders\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create To-Do", - "updatedAt" : "2021-08-09T22:29:37+02:00" - }, + "title" : "Add Reminder", + "updatedAt" : "2022-02-07T02:10:02Z" + } + ] + }, + { + "name" : "Devutils", + "path" : "devutils", + "scriptCommands" : [ { "authors" : [ { - "name" : "Things", - "url" : "https:\/\/twitter.com\/culturedcode\/" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2021-03-03T19:17:44+00:00", + "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Show your current To-Do to stay focused.", - "filename" : "things-current-todo.applescript", + "description" : "Convert your current clipboard from CSV to JSON", + "filename" : "csv2json.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/things.png" + "light" : "images\/devutils.png" }, - "identifier" : "5ce51f66aa4c3798e7dcd06dd8199c12", + "identifier" : "96351002cef0c040a5c35e6f2e04a7a0", "isTemplate" : false, - "language" : "applescript", - "mode" : "inline", + "language" : "bash", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Things", - "path" : "apps\/things\/", - "refreshTime" : "1m", + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", + "refreshTime" : null, "schemaVersion" : 1, - "title" : "Current To-Do", - "updatedAt" : "2021-03-03T19:17:44+00:00" - } - ] - }, - { - "name" : "Trello", - "path" : "trello", - "scriptCommands" : [ + "title" : "CSV to JSON", + "updatedAt" : "2022-01-23T16:30:27+07:00" + }, { "authors" : [ { - "name" : "Michael Francis", - "url" : "https:\/\/github.com\/mikefrancis" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2021-08-12T08:49:15+01:00", + "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Create a new Trello card", - "filename" : "create-trello-card.template.py", - "hasArguments" : true, + "description" : "Escape (or unescape) the HTML entities your current clipboard string", + "filename" : "htmlencode.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : ".\/images\/logo.png" + "light" : "images\/devutils.png" }, - "identifier" : "0ab076acf65d71d43777520db336ca41", - "isTemplate" : true, - "language" : "python", - "mode" : "compact", + "identifier" : "7b2949bdb3461fae767de2e8a2686153", + "isTemplate" : false, + "language" : "bash", + "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Trello", - "path" : "apps\/trello\/", + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create Card", - "updatedAt" : "2021-08-12T07:51:38+00:00" - } - ] - }, - { - "name" : "MenubarX", - "path" : "menubarx", - "scriptCommands" : [ + "title" : "HTML Entity Encode\/Decode", + "updatedAt" : "2022-01-23T16:30:27+07:00" + }, { "authors" : [ { - "name" : "Clu Soh", - "url" : "https:\/\/twitter.com\/designedbyclu" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2022-06-14T15:34:34+08:00", + "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Open Pasteboard link in MenubarX", - "filename" : "open-in-menubarx.sh", + "description" : "Beautify or minify your current clipboard as XML", + "filename" : "xmlformatter.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/menubarx_logo.png" + "light" : "images\/devutils.png" }, - "identifier" : "d919503ba27fcc13e43995035a1a51e2", + "identifier" : "c1fd8764b8bb26e465a7a48dc3d55b89", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "MenubarX", - "path" : "apps\/menubarx\/", + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open in MenubarX", - "updatedAt" : "2022-06-14T15:34:34+08:00" + "title" : "XML Beautify\/Minify", + "updatedAt" : "2022-01-23T16:30:27+07:00" }, { "authors" : [ { - "name" : "Clu Soh", - "url" : "https:\/\/twitter.com\/designedbyclu" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2022-06-14T15:34:34+08:00", + "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Open X Tab in your menubar", - "filename" : "open-tab-in-menubar.applescript", - "hasArguments" : true, + "description" : "Convert the HTML string in clipboard to JSX", + "filename" : "html2jsx.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/menubarx_logo.png" + "light" : "images\/devutils.png" }, - "identifier" : "cc7255205230e541123c8c720f81d511", + "identifier" : "5d48ac8248afc31799260e5ee0af87b1", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "MenubarX", - "path" : "apps\/menubarx\/", + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open Tabs", - "updatedAt" : "2022-06-14T15:34:34+08:00" + "title" : "HTML to JSX", + "updatedAt" : "2022-01-23T16:30:27+07:00" }, { "authors" : [ { - "name" : "Clu Soh", - "url" : "https:\/\/twitter.com\/designedbyclu" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2022-06-14T15:34:34+08:00", + "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Close last viewed tab in MenubarX", - "filename" : "close-last-menubarx-tab.sh", + "description" : "Escape (or unescape) backslashes in your current clipboard string", + "filename" : "backslash.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/menubarx_logo.png" + "light" : "images\/devutils.png" }, - "identifier" : "48706938160df7f4d61a274a752dea5b", + "identifier" : "1fe92d44c297f36a443e1741eb727317", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "MenubarX", - "path" : "apps\/menubarx\/", + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Close Last Tab", - "updatedAt" : "2022-06-14T15:34:34+08:00" - } - ] - }, - { - "name" : "Viscosity", - "path" : "viscosity", - "scriptCommands" : [ + "title" : "Backslash Escape\/Unescape", + "updatedAt" : "2022-01-23T16:30:27+07:00" + }, { "authors" : [ { - "name" : "Luigi Cardito (credits Achille Lacoin https:\/\/github.com\/pomdtr)", - "url" : "https:\/\/github.com\/lcardito" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2021-03-23T21:40:02+01:00", + "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Disconnect all connected VPN configurations.", - "filename" : "viscosity-disconnect-all.applescript", + "description" : "Get some randomly generated lorem ipsum strings", + "filename" : "loremipsum.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/viscosity.png" + "light" : "images\/devutils.png" }, - "identifier" : "e271e6ed237d2a3fb9c8a401ff15503e", + "identifier" : "34c135d0d015486dc28c4a1789dd9c5e", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", - "needsConfirmation" : false, - "packageName" : "Viscosity", - "path" : "apps\/viscosity\/", + "needsConfirmation" : null, + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Viscosity: Disconnect All", - "updatedAt" : "2021-03-23T21:40:02+01:00" + "title" : "Lorem Ipsum Generator", + "updatedAt" : "2022-01-23T16:30:27+07:00" }, { "authors" : [ { - "name" : "Luigi Cardito (credits Achille Lacoin https:\/\/github.com\/pomdtr)", - "url" : "https:\/\/github.com\/lcardito" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2021-03-23T21:40:02+01:00", + "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Connect a VPN viscosity configuration.", - "filename" : "viscosity-connect.applescript", - "hasArguments" : true, + "description" : "Decode and verify the current JWT token in your clipboard", + "filename" : "jwt.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/viscosity.png" + "light" : "images\/devutils.png" }, - "identifier" : "aff632e02a4d4991a02dcb2e998b5598", + "identifier" : "03b13d316e4eaf0c2cf02eec27ad6d49", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", - "needsConfirmation" : false, - "packageName" : "Viscosity", - "path" : "apps\/viscosity\/", + "needsConfirmation" : null, + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Viscosity: Connect", - "updatedAt" : "2021-03-23T21:40:02+01:00" + "title" : "JWT Debugger", + "updatedAt" : "2022-01-23T16:30:27+07:00" }, { "authors" : [ { - "name" : "Luigi Cardito (credits Achille Lacoin https:\/\/github.com\/pomdtr)", - "url" : "https:\/\/github.com\/lcardito" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2021-03-14T17:37:20+01:00", + "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Disconnect a VPN configuration.", - "filename" : "viscosity-disconnect.applescript", - "hasArguments" : true, + "description" : "Beautify or minify your current clipboard as ERB", + "filename" : "erbformatter.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/viscosity.png" + "light" : "images\/devutils.png" }, - "identifier" : "3026d9f845bb1212453542c8faac0c99", + "identifier" : "c0862014d90bee6995ecfbf61b5468d2", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", - "needsConfirmation" : false, - "packageName" : "Viscosity", - "path" : "apps\/viscosity\/", + "needsConfirmation" : null, + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Viscosity: Disconnect", - "updatedAt" : "2021-03-23T21:40:02+01:00" + "title" : "ERB Beautify\/Minify", + "updatedAt" : "2022-01-23T16:30:27+07:00" }, { "authors" : [ { - "name" : "Luigi Cardito (credits Achille Lacoin https:\/\/github.com\/pomdtr)", - "url" : "https:\/\/github.com\/lcardito" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2021-03-14T17:37:20+01:00", + "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Connect all unconnected VPN configurations.", - "filename" : "viscosity-connect-all.applescript", + "description" : "Format the SQL string currently in your clipboard", + "filename" : "sqlformatter.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/viscosity.png" + "light" : "images\/devutils.png" }, - "identifier" : "71345f2d9ab8ad5b476cd4adeff8e1e7", + "identifier" : "9ec928b585e7c1b2de1f2e13cb3fab26", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", - "needsConfirmation" : false, - "packageName" : "Viscosity", - "path" : "apps\/viscosity\/", + "needsConfirmation" : null, + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Viscosity: Connect All", - "updatedAt" : "2021-03-23T21:40:02+01:00" - } - ] - }, - { - "name" : "ExpressVPN", - "path" : "expressvpn", - "scriptCommands" : [ + "title" : "SQL Formatter", + "updatedAt" : "2022-01-23T16:30:27+07:00" + }, { "authors" : [ { - "name" : "Amir Hossein SamadiPour", - "url" : "https:\/\/github.com\/SamadiPour" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2022-07-22T18:26:50+04:30", + "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "expressvpn-reconnect.applescript", + "description" : "Inspect your current clipboard string (length, words count, unicode, etc.)", + "filename" : "stringinspect.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/expressvpn_logo.svg" + "light" : "images\/devutils.png" }, - "identifier" : "3bada318c2097f51fcbec7513b5ecaa6", + "identifier" : "3da94b4e417bf5ff6e44b67869a7d612", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "ExpressVPN", - "path" : "apps\/expressvpn\/", + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Reconnect", - "updatedAt" : "2022-07-22T18:26:50+04:30" + "title" : "String Inspector", + "updatedAt" : "2022-01-23T16:30:27+07:00" }, { "authors" : [ { - "name" : "Amir Hossein SamadiPour", - "url" : "https:\/\/github.com\/SamadiPour" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2022-07-22T18:26:50+04:30", + "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "expressvpn-disconnect.applescript", + "description" : "Decode the Base64 string in clipboard (if it’s decodable)", + "filename" : "base64encode.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/expressvpn_logo.svg" + "light" : "images\/devutils.png" }, - "identifier" : "f8d7cbf3a379d469dd987f032de1656c", + "identifier" : "65ca896b0c3fb60ad6f189616c8c7524", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "ExpressVPN", - "path" : "apps\/expressvpn\/", + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Disconnect", - "updatedAt" : "2022-07-22T18:26:50+04:30" + "title" : "Base64 String Encode\/Decode", + "updatedAt" : "2022-01-23T16:30:27+07:00" }, { "authors" : [ { - "name" : "Amir Hossein SamadiPour", - "url" : "https:\/\/github.com\/SamadiPour" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2022-07-22T18:26:50+04:30", + "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "expressvpn-connect.applescript", + "description" : "Convert your current clipboard from JSON to CSV", + "filename" : "json2csv.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/expressvpn_logo.svg" + "light" : "images\/devutils.png" }, - "identifier" : "3c0176e3dc0c58d220cd3f9fdb90e4c5", + "identifier" : "77e0bc4cd51d4d5cd1560c0c2b420214", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "ExpressVPN", - "path" : "apps\/expressvpn\/", + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Connect", - "updatedAt" : "2022-07-22T18:26:50+04:30" - } - ] - }, - { - "name" : "Hyper", - "path" : "hyper", - "scriptCommands" : [ + "title" : "JSON to CSV", + "updatedAt" : "2022-01-23T16:30:27+07:00" + }, { "authors" : [ { - "name" : "Eliot Hertenstein", - "url" : "https:\/\/github.com\/eIiot" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2022-02-18T02:19:33-08:00", - "currentDirectoryPath" : "~", - "description" : "Run a terminal using Hyper", - "filename" : "hyper-run-shell-command.applescript", - "hasArguments" : true, + "createdAt" : "2022-01-23T16:30:27+07:00", + "currentDirectoryPath" : null, + "description" : "Beautify or minify your current clipboard as CSS", + "filename" : "cssformatter.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/hyper.png" + "light" : "images\/devutils.png" }, - "identifier" : "49608e0b2c2375fec1a6f173155333af", + "identifier" : "55e6391c0919e4ce410977d7791d75f3", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Hyper", - "path" : "apps\/hyper\/", + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Run Shell Command", - "updatedAt" : "2022-02-18T19:08:51-08:00" - } - ] - }, - { - "name" : "Reminders", - "path" : "reminders", - "scriptCommands" : [ + "title" : "CSS Beautify\/Minify", + "updatedAt" : "2022-01-23T16:30:27+07:00" + }, { "authors" : [ { - "name" : "Andrei Nedelcu", - "url" : "https:\/\/dinosaurgame.net" + "name" : "DevUtils.app", + "url" : "https:\/\/devutils.app" } ], - "createdAt" : "2022-02-07T04:07:49+02:00", + "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Add a new reminder.", - "filename" : "reminders-create-reminder.sh", - "hasArguments" : true, + "description" : "Convert your current clipboard from JSON to YAML", + "filename" : "json2yaml.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/reminders.png" + "light" : "images\/devutils.png" }, - "identifier" : "75a45615fac6beb2797006d141e954b6", + "identifier" : "7fda6adb9ccc8f154619301140faa03c", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Create Reminder", - "path" : "apps\/reminders\/", + "packageName" : "DevUtils.app", + "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Add Reminder", - "updatedAt" : "2022-02-07T02:10:02+00:00" - } - ] - }, - { - "name" : "Devutils", - "path" : "devutils", - "scriptCommands" : [ + "title" : "JSON to YAML", + "updatedAt" : "2022-01-23T16:30:27+07:00" + }, { "authors" : [ { @@ -18423,14 +20468,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Convert your current clipboard from CSV to JSON", - "filename" : "csv2json.sh", + "description" : "Calculate the hash of your current clipboard string", + "filename" : "hashing.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "96351002cef0c040a5c35e6f2e04a7a0", + "identifier" : "660dc6a522fbb4c1d25fdd5c4bc43503", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18439,7 +20484,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "CSV to JSON", + "title" : "Hash Generator", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18451,14 +20496,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Escape (or unescape) the HTML entities your current clipboard string", - "filename" : "htmlencode.sh", + "description" : "Parse the cron job expression in clipboard (if it’s a valid cron expression)", + "filename" : "cronparser.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "7b2949bdb3461fae767de2e8a2686153", + "identifier" : "e92d8c824922446f81d842b8a75abeea", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18467,7 +20512,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "HTML Entity Encode\/Decode", + "title" : "Cron Job Parser", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18479,14 +20524,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Beautify or minify your current clipboard as XML", - "filename" : "xmlformatter.sh", + "description" : "Decode the current URL string in your clipboard (if any)", + "filename" : "urlencode.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "c1fd8764b8bb26e465a7a48dc3d55b89", + "identifier" : "4770cbb56d80eed7a9092dcb84442724", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18495,7 +20540,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "XML Beautify\/Minify", + "title" : "URL Encode\/Decode", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18507,14 +20552,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Convert the HTML string in clipboard to JSX", - "filename" : "html2jsx.sh", + "description" : "Decode the UUID in your clipboard (if any), or generate UUIDs", + "filename" : "uuidtool.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "5d48ac8248afc31799260e5ee0af87b1", + "identifier" : "64fd318687c1f6e5e92033e62fe3b8a2", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18523,7 +20568,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "HTML to JSX", + "title" : "UUID\/ULID Generate\/Decode", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18535,14 +20580,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Escape (or unescape) backslashes in your current clipboard string", - "filename" : "backslash.sh", + "description" : "Decode the Base64 string in clipboard to an image (if it’s decodable)", + "filename" : "base64image.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "1fe92d44c297f36a443e1741eb727317", + "identifier" : "6f08b5175968433d58c9b9565fa8e3b5", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18551,7 +20596,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Backslash Escape\/Unescape", + "title" : "Base64 Image Encode\/Decode", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18563,14 +20608,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Get some randomly generated lorem ipsum strings", - "filename" : "loremipsum.sh", + "description" : "Beautify or minify your current clipboard as LESS", + "filename" : "lessformatter.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "34c135d0d015486dc28c4a1789dd9c5e", + "identifier" : "3a70a1e6d6df5384d2ca515a3c31ffb2", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18579,7 +20624,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Lorem Ipsum Generator", + "title" : "LESS Beautify\/Minify", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18591,14 +20636,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Decode and verify the current JWT token in your clipboard", - "filename" : "jwt.sh", + "description" : "Convert your current clipboard from YAML to JSON", + "filename" : "yaml2json.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "03b13d316e4eaf0c2cf02eec27ad6d49", + "identifier" : "302fe47b8006d28fe4e9693471193e00", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18607,7 +20652,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "JWT Debugger", + "title" : "YAML to JSON", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18619,14 +20664,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Beautify or minify your current clipboard as ERB", - "filename" : "erbformatter.sh", + "description" : "Format the JSON string currently in your clipboard (if it’s a valid JSON)", + "filename" : "jsonformatter.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "c0862014d90bee6995ecfbf61b5468d2", + "identifier" : "2ff9ca437fae33af3b7e744a05842fe2", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18635,7 +20680,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "ERB Beautify\/Minify", + "title" : "JSON Format\/Validate", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18647,14 +20692,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Format the SQL string currently in your clipboard", - "filename" : "sqlformatter.sh", + "description" : "Show a HTML preview of your current clipboard string", + "filename" : "htmlpreview.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "9ec928b585e7c1b2de1f2e13cb3fab26", + "identifier" : "ea972077aa252a09b9755043ddb3ee56", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18663,7 +20708,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "SQL Formatter", + "title" : "HTML Preview", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18675,14 +20720,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Inspect your current clipboard string (length, words count, unicode, etc.)", - "filename" : "stringinspect.sh", + "description" : "Convert a string in clipboard into various naming conventions", + "filename" : "stringcaseconverter.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "3da94b4e417bf5ff6e44b67869a7d612", + "identifier" : "da658bbfc3056122cfa25655191ba46e", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18691,7 +20736,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "String Inspector", + "title" : "String Case Converter", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18703,14 +20748,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Decode the Base64 string in clipboard (if it’s decodable)", - "filename" : "base64encode.sh", + "description" : "Test your regular expression with a string and inspect matches, groups, etc.", + "filename" : "regextester.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "65ca896b0c3fb60ad6f189616c8c7524", + "identifier" : "6fdaca184e9aaf35ed9935ca7765c887", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18719,7 +20764,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Base64 String Encode\/Decode", + "title" : "RegExp Tester", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18731,14 +20776,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Convert your current clipboard from JSON to CSV", - "filename" : "json2csv.sh", + "description" : "Preview the markdown string currently in your clipboard", + "filename" : "markdownpreview.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "77e0bc4cd51d4d5cd1560c0c2b420214", + "identifier" : "4e9b6a8f59213b7740cf8ea0681d7489", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18747,7 +20792,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "JSON to CSV", + "title" : "Markdown Preview", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18759,14 +20804,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Beautify or minify your current clipboard as CSS", - "filename" : "cssformatter.sh", + "description" : "Beautify or minify your current clipboard as SCSS", + "filename" : "scssformatter.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "55e6391c0919e4ce410977d7791d75f3", + "identifier" : "9e6ab71f9cf6a8621606b3934345e1ef", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18775,7 +20820,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "CSS Beautify\/Minify", + "title" : "SCSS Beautify\/Minify", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18787,14 +20832,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Convert your current clipboard from JSON to YAML", - "filename" : "json2yaml.sh", + "description" : "Compare two texts and find diff (per characters, words, lines, etc.)", + "filename" : "textdiff.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "7fda6adb9ccc8f154619301140faa03c", + "identifier" : "59f6ce6bc50e81065dbe667b82c1771f", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18803,7 +20848,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "JSON to YAML", + "title" : "Text Diff Checker", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18815,14 +20860,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Calculate the hash of your current clipboard string", - "filename" : "hashing.sh", + "description" : "Beautify or minify your current clipboard as HTML", + "filename" : "htmlformatter.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "660dc6a522fbb4c1d25fdd5c4bc43503", + "identifier" : "6c594f59f7c3fa76ddbb219689014e61", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18831,7 +20876,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Hash Generator", + "title" : "HTML Beautify\/Minify", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18843,14 +20888,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Parse the cron job expression in clipboard (if it’s a valid cron expression)", - "filename" : "cronparser.sh", + "description" : "Convert numbers between bases (oct, hex, binary, etc.)", + "filename" : "numberbase.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "e92d8c824922446f81d842b8a75abeea", + "identifier" : "b49f9f56ffad1e4e2127df82116d0f3d", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18859,7 +20904,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Cron Job Parser", + "title" : "Number Base Converter", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18871,14 +20916,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Decode the current URL string in your clipboard (if any)", - "filename" : "urlencode.sh", + "description" : "Parse the URL string currently in your clipboard", + "filename" : "querystringparser.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "4770cbb56d80eed7a9092dcb84442724", + "identifier" : "995abb11b07f6e5776a94c91448cc54b", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18887,7 +20932,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "URL Encode\/Decode", + "title" : "URL Parser", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18899,14 +20944,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Decode the UUID in your clipboard (if any), or generate UUIDs", - "filename" : "uuidtool.sh", + "description" : "Generate a QR code from your current clipboard string", + "filename" : "qrcode.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "64fd318687c1f6e5e92033e62fe3b8a2", + "identifier" : "9e5235df4808af09a9c965f83873718d", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18915,7 +20960,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "UUID\/ULID Generate\/Decode", + "title" : "QR Code Reader\/Generator", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18927,14 +20972,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Decode the Base64 string in clipboard to an image (if it’s decodable)", - "filename" : "base64image.sh", + "description" : "Beautify or minify your current clipboard as JavaScript", + "filename" : "jsformatter.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "6f08b5175968433d58c9b9565fa8e3b5", + "identifier" : "9d6c09efd9fa58b456df731a9758eb3e", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18943,7 +20988,7 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Base64 Image Encode\/Decode", + "title" : "JS Beautify\/Minify", "updatedAt" : "2022-01-23T16:30:27+07:00" }, { @@ -18955,14 +21000,14 @@ ], "createdAt" : "2022-01-23T16:30:27+07:00", "currentDirectoryPath" : null, - "description" : "Beautify or minify your current clipboard as LESS", - "filename" : "lessformatter.sh", + "description" : "Parse and display UNIX the timestamp string currently in your clipboard", + "filename" : "unixtime.sh", "hasArguments" : false, "icon" : { "dark" : null, "light" : "images\/devutils.png" }, - "identifier" : "3a70a1e6d6df5384d2ca515a3c31ffb2", + "identifier" : "b54dbb6855fc539be668f972f6ad4de0", "isTemplate" : false, "language" : "bash", "mode" : "silent", @@ -18971,921 +21016,962 @@ "path" : "apps\/devutils\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "LESS Beautify\/Minify", + "title" : "Unix Time Converter", "updatedAt" : "2022-01-23T16:30:27+07:00" - }, + } + ] + }, + { + "name" : "Espanso", + "path" : "espanso", + "scriptCommands" : [ { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "es183923", + "url" : "https:\/\/github.com\/es183923" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2021-05-11T20:44:52-04:00", "currentDirectoryPath" : null, - "description" : "Convert your current clipboard from YAML to JSON", - "filename" : "yaml2json.sh", + "description" : null, + "filename" : "enable-espanso.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "images\/espanso.png" }, - "identifier" : "302fe47b8006d28fe4e9693471193e00", + "identifier" : "e2ba4a2b364b245d6ce4402f7f2dc936", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "Espanso", + "path" : "apps\/espanso\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "YAML to JSON", - "updatedAt" : "2022-01-23T16:30:27+07:00" + "title" : "Enable Espanso", + "updatedAt" : "2021-05-14T16:44:53Z" }, { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "Max Stoiber", + "url" : "https:\/\/github.com\/mxstbr" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2021-04-30T10:29:47+02:00", "currentDirectoryPath" : null, - "description" : "Format the JSON string currently in your clipboard (if it’s a valid JSON)", - "filename" : "jsonformatter.sh", - "hasArguments" : false, + "description" : "Add a text expansion to expanso", + "filename" : "espanso-create-expansion.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "images\/espanso.png" }, - "identifier" : "2ff9ca437fae33af3b7e744a05842fe2", + "identifier" : "8913cd83010b84c681d85d018013a800", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "Espanso", + "path" : "apps\/espanso\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "JSON Format\/Validate", - "updatedAt" : "2022-01-23T16:30:27+07:00" + "title" : "Create Text Expansion", + "updatedAt" : "2021-05-11T20:46:55-04:00" }, { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "es183923", + "url" : "https:\/\/github.com\/es183923" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2021-05-11T20:44:52-04:00", "currentDirectoryPath" : null, - "description" : "Show a HTML preview of your current clipboard string", - "filename" : "htmlpreview.sh", + "description" : null, + "filename" : "start-espanso.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "images\/espanso.png" }, - "identifier" : "ea972077aa252a09b9755043ddb3ee56", + "identifier" : "2465c28979527987108461aaa939717a", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "Espanso", + "path" : "apps\/espanso\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "HTML Preview", - "updatedAt" : "2022-01-23T16:30:27+07:00" + "title" : "Start Espanso", + "updatedAt" : "2021-05-14T16:44:53Z" }, { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "es183923", + "url" : "https:\/\/github.com\/es183923" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2021-05-11T20:44:52-04:00", "currentDirectoryPath" : null, - "description" : "Convert a string in clipboard into various naming conventions", - "filename" : "stringcaseconverter.sh", + "description" : null, + "filename" : "disable-espanso.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "images\/espanso.png" }, - "identifier" : "da658bbfc3056122cfa25655191ba46e", + "identifier" : "9a5666c27b2dd8eeb9b7f6e664019e13", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "Espanso", + "path" : "apps\/espanso\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "String Case Converter", - "updatedAt" : "2022-01-23T16:30:27+07:00" + "title" : "Disable Espanso", + "updatedAt" : "2021-05-14T16:44:53Z" }, { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "es183923", + "url" : "https:\/\/github.com\/es183923" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2021-05-11T20:44:52-04:00", "currentDirectoryPath" : null, - "description" : "Test your regular expression with a string and inspect matches, groups, etc.", - "filename" : "regextester.sh", + "description" : null, + "filename" : "restart-espanso.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "images\/espanso.png" }, - "identifier" : "6fdaca184e9aaf35ed9935ca7765c887", + "identifier" : "483881356febc3e29f60c16e6675ffeb", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "Espanso", + "path" : "apps\/espanso\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "RegExp Tester", - "updatedAt" : "2022-01-23T16:30:27+07:00" + "title" : "Restart Espanso", + "updatedAt" : "2021-05-14T16:44:53Z" }, { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "es183923", + "url" : "https:\/\/github.com\/es183923" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2021-05-11T20:44:52-04:00", "currentDirectoryPath" : null, - "description" : "Preview the markdown string currently in your clipboard", - "filename" : "markdownpreview.sh", + "description" : null, + "filename" : "stop-espanso.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "images\/espanso.png" }, - "identifier" : "4e9b6a8f59213b7740cf8ea0681d7489", + "identifier" : "50101f86c29a34ecdfc3fa2ea5d5109e", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "Espanso", + "path" : "apps\/espanso\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Markdown Preview", - "updatedAt" : "2022-01-23T16:30:27+07:00" - }, + "title" : "Stop Espanso", + "updatedAt" : "2021-05-14T16:44:53Z" + } + ] + }, + { + "name" : "SideNotes", + "path" : "sidenotes", + "scriptCommands" : [ { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "Marcel Bochtler", + "url" : "https:\/\/github.com\/MarcelBochtler" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2021-03-07T06:29:59-08:00", "currentDirectoryPath" : null, - "description" : "Beautify or minify your current clipboard as SCSS", - "filename" : "scssformatter.sh", - "hasArguments" : false, + "description" : "Create a new note within the selected or the first SideNotes folder.", + "filename" : "sidenotes-create-note.applescript", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "images\/sidenotes.png" }, - "identifier" : "9e6ab71f9cf6a8621606b3934345e1ef", + "identifier" : "053dffcafea188ea1d0f4789fefb085b", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "SideNotes", + "path" : "apps\/sidenotes\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "SCSS Beautify\/Minify", - "updatedAt" : "2022-01-23T16:30:27+07:00" - }, + "title" : "SideNotes create", + "updatedAt" : "2021-03-07T06:29:59-08:00" + } + ] + }, + { + "name" : "Sublime", + "path" : "sublime", + "scriptCommands" : [ { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "Rock Hu", + "url" : "https:\/\/twitter.com\/0xRock" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2022-05-27T10:22:01-07:00", "currentDirectoryPath" : null, - "description" : "Compare two texts and find diff (per characters, words, lines, etc.)", - "filename" : "textdiff.sh", + "description" : "Open currently focused directory in Sublime", + "filename" : "open-with-sublime.applescript", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "https:\/\/cdn.worldvectorlogo.com\/logos\/sublime-text.svg" }, - "identifier" : "59f6ce6bc50e81065dbe667b82c1771f", + "identifier" : "dbc6916febf1c2218e0cef9c4e3d5e96", "isTemplate" : false, - "language" : "bash", + "language" : "applescript", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "Sublime", + "path" : "apps\/sublime\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Text Diff Checker", - "updatedAt" : "2022-01-23T16:30:27+07:00" - }, + "title" : "Open with Sublime", + "updatedAt" : "2022-05-27T18:41:22+01:00" + } + ] + }, + { + "name" : "Session", + "path" : "session", + "scriptCommands" : [ { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "James Lyons", + "url" : "https:\/\/github.com\/jamesjlyons" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2021-03-29T10:46:13-07:00", "currentDirectoryPath" : null, - "description" : "Beautify or minify your current clipboard as HTML", - "filename" : "htmlformatter.sh", + "description" : "Starts a focus session in Session app with the previous intent and duration", + "filename" : "session-start-previous.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "images\/session.png" }, - "identifier" : "6c594f59f7c3fa76ddbb219689014e61", + "identifier" : "6f4911496269d10725259483c0b9125b", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "Session", + "path" : "apps\/session\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "HTML Beautify\/Minify", - "updatedAt" : "2022-01-23T16:30:27+07:00" + "title" : "Start Previous Session", + "updatedAt" : "2021-03-29T10:46:13-07:00" }, { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "James Lyons", + "url" : "https:\/\/github.com\/jamesjlyons" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2021-03-29T10:46:13-07:00", "currentDirectoryPath" : null, - "description" : "Convert numbers between bases (oct, hex, binary, etc.)", - "filename" : "numberbase.sh", + "description" : "Finishes a focus session in Session app", + "filename" : "session-finish.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "images\/session.png" }, - "identifier" : "b49f9f56ffad1e4e2127df82116d0f3d", + "identifier" : "1a0f03f376b59043abf161176414d158", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "Session", + "path" : "apps\/session\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Number Base Converter", - "updatedAt" : "2022-01-23T16:30:27+07:00" + "title" : "Finish Session", + "updatedAt" : "2021-03-29T10:46:13-07:00" }, { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "James Lyons", + "url" : "https:\/\/github.com\/jamesjlyons" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2021-03-29T10:46:13-07:00", "currentDirectoryPath" : null, - "description" : "Parse the URL string currently in your clipboard", - "filename" : "querystringparser.sh", + "description" : "Starts a focus session in Session app", + "filename" : "session-pause.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "images\/session.png" }, - "identifier" : "995abb11b07f6e5776a94c91448cc54b", + "identifier" : "2edff21d2006d1ae7559d4cf6173b845", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "Session", + "path" : "apps\/session\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "URL Parser", - "updatedAt" : "2022-01-23T16:30:27+07:00" + "title" : "Pause Session", + "updatedAt" : "2021-03-29T10:46:13-07:00" }, { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "James Lyons", + "url" : "https:\/\/github.com\/jamesjlyons" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2021-03-29T10:46:13-07:00", "currentDirectoryPath" : null, - "description" : "Generate a QR code from your current clipboard string", - "filename" : "qrcode.sh", - "hasArguments" : false, + "description" : "Starts a focus session in Session app", + "filename" : "session-start-new.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "images\/session.png" }, - "identifier" : "9e5235df4808af09a9c965f83873718d", + "identifier" : "92ffe9f3858ffdbae4bcfa0a185feb7a", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "Session", + "path" : "apps\/session\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "QR Code Reader\/Generator", - "updatedAt" : "2022-01-23T16:30:27+07:00" + "title" : "Start Session", + "updatedAt" : "2021-03-29T10:46:13-07:00" }, { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "James Lyons", + "url" : "https:\/\/github.com\/jamesjlyons" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2021-03-29T10:46:13-07:00", "currentDirectoryPath" : null, - "description" : "Beautify or minify your current clipboard as JavaScript", - "filename" : "jsformatter.sh", + "description" : "Starts a focus session in Session app", + "filename" : "session-abandon.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "images\/session.png" }, - "identifier" : "9d6c09efd9fa58b456df731a9758eb3e", + "identifier" : "8faf6b45a243e039e253dddab88afad9", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "Session", + "path" : "apps\/session\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "JS Beautify\/Minify", - "updatedAt" : "2022-01-23T16:30:27+07:00" - }, + "title" : "Abandon Session", + "updatedAt" : "2021-03-29T10:46:13-07:00" + } + ] + } + ] + }, + { + "name" : "Culture", + "path" : "culture", + "scriptCommands" : [ + { + "authors" : [ + { + "name" : "Emircan Erkul", + "url" : "https:\/\/emircanerkul.com" + } + ], + "createdAt" : "2022-11-17T12:22:40+03:00", + "currentDirectoryPath" : null, + "description" : "Prayer Times grabbed from the aladhan.com.", + "filename" : "prayer-times.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🕌" + }, + "identifier" : "ebda5e51cd4760fb9dbce650e41a9142", + "isTemplate" : false, + "language" : "bash", + "mode" : "inline", + "needsConfirmation" : null, + "packageName" : "Culture", + "path" : "culture\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Prayer Times", + "updatedAt" : "2024-07-20T15:38:18+03:00" + } + ] + }, + { + "name" : "Productivity", + "path" : "productivity", + "scriptCommands" : [ + + ], + "subGroups" : [ + { + "name" : "Imgur", + "path" : "imgur", + "scriptCommands" : [ { "authors" : [ { - "name" : "DevUtils.app", - "url" : "https:\/\/devutils.app" + "name" : "Fahim Faisal", + "url" : "https:\/\/github.com\/i3p9" } ], - "createdAt" : "2022-01-23T16:30:27+07:00", + "createdAt" : "2021-08-19T04:36:52+06:00", "currentDirectoryPath" : null, - "description" : "Parse and display UNIX the timestamp string currently in your clipboard", - "filename" : "unixtime.sh", + "description" : "Upload your last screenshot to Imgur and copy the image link to clipboard", + "filename" : "imgur-upload-latest-screenshot.template.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/devutils.png" + "light" : "☁️" }, - "identifier" : "b54dbb6855fc539be668f972f6ad4de0", - "isTemplate" : false, + "identifier" : "fb44bae955f942707a724e0c14063627", + "isTemplate" : true, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "DevUtils.app", - "path" : "apps\/devutils\/", + "packageName" : "Upload to Imgur", + "path" : "productivity\/imgur\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Unix Time Converter", - "updatedAt" : "2022-01-23T16:30:27+07:00" - } - ] - }, - { - "name" : "Espanso", - "path" : "espanso", - "scriptCommands" : [ + "title" : "Upload Latest Screenshot to Imgur", + "updatedAt" : "2022-11-13T01:47:18+08:00" + }, { "authors" : [ { - "name" : "es183923", - "url" : "https:\/\/github.com\/es183923" + "name" : "Fahim Faisal", + "url" : "https:\/\/github.com\/i3p9" } ], - "createdAt" : "2021-05-11T20:44:52-04:00", + "createdAt" : "2021-08-26T01:16:19+06:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "enable-espanso.sh", + "description" : "Upload Image from your Clipboard and copy the image link to clipboard", + "filename" : "imgur-upload-clipboard-image.template.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/espanso.png" + "light" : "📋" }, - "identifier" : "e2ba4a2b364b245d6ce4402f7f2dc936", - "isTemplate" : false, + "identifier" : "4041c74c3a091d708e0e58c159d5024e", + "isTemplate" : true, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Espanso", - "path" : "apps\/espanso\/", + "packageName" : "Uploads Copied Image or Image from Clipboard", + "path" : "productivity\/imgur\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Enable Espanso", - "updatedAt" : "2021-05-14T16:44:53+00:00" + "title" : "Clipboard to Imgur", + "updatedAt" : "2023-07-12T15:49:52+08:00" }, { "authors" : [ { - "name" : "Max Stoiber", - "url" : "https:\/\/github.com\/mxstbr" + "name" : "Fahim Faisal", + "url" : "https:\/\/github.com\/i3p9" } ], - "createdAt" : "2021-04-30T10:29:47+02:00", + "createdAt" : "2021-08-19T04:36:52+06:00", "currentDirectoryPath" : null, - "description" : "Add a text expansion to expanso", - "filename" : "espanso-create-expansion.sh", - "hasArguments" : true, + "description" : "Opens default screenshot interface and immediately uploads and copies link to clipboard", + "filename" : "screenshot-and-imgur.sh", + "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/espanso.png" + "light" : "📷" }, - "identifier" : "8913cd83010b84c681d85d018013a800", + "identifier" : "06f3fa5d901f894dba435781da31037d", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Espanso", - "path" : "apps\/espanso\/", + "packageName" : "Opens Screenshot Interface and Uploads", + "path" : "productivity\/imgur\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Create Text Expansion", - "updatedAt" : "2021-05-11T20:46:55-04:00" - }, + "title" : "Screenshot and Imgur", + "updatedAt" : "2022-11-13T01:47:18+08:00" + } + ] + }, + { + "name" : "tesseract", + "path" : "tesseract", + "scriptCommands" : [ { "authors" : [ { - "name" : "es183923", - "url" : "https:\/\/github.com\/es183923" + "name" : "Diego Lopes", + "url" : "https:\/\/github.com\/Dihgg" } ], - "createdAt" : "2021-05-11T20:44:52-04:00", + "createdAt" : "2021-09-28T10:37:53-03:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "start-espanso.sh", - "hasArguments" : false, + "description" : "Tesseract OCR", + "filename" : "tesseract-ocr.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/espanso.png" + "light" : "🔍" }, - "identifier" : "2465c28979527987108461aaa939717a", + "identifier" : "25b6650479ec5f66c13955ef072ebf65", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Espanso", - "path" : "apps\/espanso\/", + "packageName" : "tesseract", + "path" : "productivity\/tesseract\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Start Espanso", - "updatedAt" : "2021-05-14T16:44:53+00:00" - }, + "title" : "OCR Screenshot", + "updatedAt" : "2021-11-05T00:12:23+03:00" + } + ] + }, + { + "name" : "Bitwarden", + "path" : "bitwarden", + "readme" : "productivity\/bitwarden\/README.md", + "scriptCommands" : [ { "authors" : [ { - "name" : "es183923", - "url" : "https:\/\/github.com\/es183923" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-05-11T20:44:52-04:00", + "createdAt" : "2021-02-03T02:57:58-05:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "disable-espanso.sh", - "hasArguments" : false, + "description" : "Search all items in a Bitwarden vault, and copy the password of the first search result to the clipboard.", + "filename" : "copy-first-matching-password.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/espanso.png" + "light" : "images\/bitwarden.png" }, - "identifier" : "9a5666c27b2dd8eeb9b7f6e664019e13", + "identifier" : "72075d66d7c96563327670d572148a5c", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Espanso", - "path" : "apps\/espanso\/", + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Disable Espanso", - "updatedAt" : "2021-05-14T16:44:53+00:00" + "title" : "Copy First Matching Password", + "updatedAt" : "2022-11-17T10:35:57+01:00" }, { "authors" : [ { - "name" : "es183923", - "url" : "https:\/\/github.com\/es183923" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-05-11T20:44:52-04:00", + "createdAt" : "2021-03-29T13:44:44-04:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "restart-espanso.sh", - "hasArguments" : false, + "description" : "Delete a Bitwarden Send.", + "filename" : "delete-send.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/espanso.png" + "light" : "images\/bitwarden.png" }, - "identifier" : "483881356febc3e29f60c16e6675ffeb", + "identifier" : "c379a38ce1c09e8d957bd3be837d9ebd", "isTemplate" : false, "language" : "bash", "mode" : "silent", - "needsConfirmation" : null, - "packageName" : "Espanso", - "path" : "apps\/espanso\/", + "needsConfirmation" : true, + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Restart Espanso", - "updatedAt" : "2021-05-14T16:44:53+00:00" + "title" : "Delete a Send", + "updatedAt" : "2022-11-17T10:35:57+01:00" }, { "authors" : [ { - "name" : "es183923", - "url" : "https:\/\/github.com\/es183923" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-05-11T20:44:52-04:00", + "createdAt" : "2021-02-03T02:57:58-05:00", "currentDirectoryPath" : null, - "description" : null, - "filename" : "stop-espanso.sh", + "description" : "Lock a Bitwarden session.", + "filename" : "lock.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/espanso.png" + "light" : "images\/bitwarden.png" }, - "identifier" : "50101f86c29a34ecdfc3fa2ea5d5109e", + "identifier" : "2a9be47e57277d4fa9cb8a226abd9b4e", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Espanso", - "path" : "apps\/espanso\/", + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Stop Espanso", - "updatedAt" : "2021-05-14T16:44:53+00:00" - } - ] - }, - { - "name" : "SideNotes", - "path" : "sidenotes", - "scriptCommands" : [ + "title" : "Lock Session", + "updatedAt" : "2022-11-17T10:35:57+01:00" + }, { "authors" : [ { - "name" : "Marcel Bochtler", - "url" : "https:\/\/github.com\/MarcelBochtler" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-03-07T06:29:59-08:00", + "createdAt" : "2021-02-03T02:57:58-05:00", "currentDirectoryPath" : null, - "description" : "Create a new note within the selected or the first SideNotes folder.", - "filename" : "sidenotes-create-note.applescript", + "description" : "View the content of a text-only Bitwarden Send.", + "filename" : "receive-text-send.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/sidenotes.png" + "light" : "images\/bitwarden.png" }, - "identifier" : "053dffcafea188ea1d0f4789fefb085b", + "identifier" : "f850482284a0f897ac026bb0ed8514d2", "isTemplate" : false, - "language" : "applescript", - "mode" : "silent", + "language" : "bash", + "mode" : "fullOutput", "needsConfirmation" : null, - "packageName" : "SideNotes", - "path" : "apps\/sidenotes\/", + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "SideNotes create", - "updatedAt" : "2021-03-07T06:29:59-08:00" - } - ] - }, - { - "name" : "Sublime", - "path" : "sublime", - "scriptCommands" : [ + "title" : "Receive a Text Send", + "updatedAt" : "2022-11-17T10:35:57+01:00" + }, { "authors" : [ { - "name" : "Rock Hu", - "url" : "https:\/\/twitter.com\/0xRock" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2022-05-27T10:22:01-07:00", + "createdAt" : "2021-02-03T02:57:58-05:00", "currentDirectoryPath" : null, - "description" : "Open currently focused directory in Sublime", - "filename" : "open-with-sublime.applescript", - "hasArguments" : false, + "description" : "Create a new text-only Bitwarden Send.", + "filename" : "create-text-send.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "https:\/\/cdn.worldvectorlogo.com\/logos\/sublime-text.svg" + "light" : "images\/bitwarden.png" }, - "identifier" : "dbc6916febf1c2218e0cef9c4e3d5e96", + "identifier" : "ef085c701b79f8559894d964b6244742", "isTemplate" : false, - "language" : "applescript", + "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Sublime", - "path" : "apps\/sublime\/", + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Open with Sublime", - "updatedAt" : "2022-05-27T18:41:22+01:00" - } - ] - }, - { - "name" : "Session", - "path" : "session", - "scriptCommands" : [ + "title" : "Create a Text Send", + "updatedAt" : "2022-11-17T10:35:57+01:00" + }, { "authors" : [ { - "name" : "James Lyons", - "url" : "https:\/\/github.com\/jamesjlyons" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-03-29T10:46:13-07:00", + "createdAt" : "2021-02-03T02:57:58-05:00", "currentDirectoryPath" : null, - "description" : "Starts a focus session in Session app with the previous intent and duration", - "filename" : "session-start-previous.sh", - "hasArguments" : false, + "description" : "Search all items in a Bitwarden vault.", + "filename" : "search-vault-items.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/session.png" + "light" : "images\/bitwarden.png" }, - "identifier" : "6f4911496269d10725259483c0b9125b", + "identifier" : "1e0fc8f792351eeff8d1f403cef716f5", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "fullOutput", "needsConfirmation" : null, - "packageName" : "Session", - "path" : "apps\/session\/", + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Start Previous Session", - "updatedAt" : "2021-03-29T10:46:13-07:00" + "title" : "Search Vault Items", + "updatedAt" : "2022-11-17T10:35:57+01:00" }, { "authors" : [ { - "name" : "James Lyons", - "url" : "https:\/\/github.com\/jamesjlyons" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-03-29T10:46:13-07:00", + "createdAt" : "2021-02-03T02:57:58-05:00", "currentDirectoryPath" : null, - "description" : "Finishes a focus session in Session app", - "filename" : "session-finish.sh", + "description" : "Display the authentication and lock status of the user's Bitwarden session.", + "filename" : "status.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "images\/session.png" + "light" : "images\/bitwarden.png" }, - "identifier" : "1a0f03f376b59043abf161176414d158", + "identifier" : "d86ee71986d686b7dfdeac1101e869ef", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "inline", "needsConfirmation" : null, - "packageName" : "Session", - "path" : "apps\/session\/", - "refreshTime" : null, + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", + "refreshTime" : "5m", "schemaVersion" : 1, - "title" : "Finish Session", - "updatedAt" : "2021-03-29T10:46:13-07:00" + "title" : "Bitwarden Status", + "updatedAt" : "2022-11-17T10:35:57+01:00" }, { "authors" : [ { - "name" : "James Lyons", - "url" : "https:\/\/github.com\/jamesjlyons" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-03-29T10:46:13-07:00", + "createdAt" : "2021-03-29T13:44:44-04:00", "currentDirectoryPath" : null, - "description" : "Starts a focus session in Session app", - "filename" : "session-pause.sh", - "hasArguments" : false, + "description" : "Edit an existing Bitwarden Send.", + "filename" : "edit-send.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/session.png" + "light" : "images\/bitwarden.png" }, - "identifier" : "2edff21d2006d1ae7559d4cf6173b845", + "identifier" : "11b9241c955e4217f11a3e797189a3ab", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "fullOutput", "needsConfirmation" : null, - "packageName" : "Session", - "path" : "apps\/session\/", + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Pause Session", - "updatedAt" : "2021-03-29T10:46:13-07:00" + "title" : "Edit a Send", + "updatedAt" : "2022-11-17T10:35:57+01:00" }, { "authors" : [ { - "name" : "James Lyons", - "url" : "https:\/\/github.com\/jamesjlyons" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-03-29T10:46:13-07:00", + "createdAt" : "2021-02-03T02:57:58-05:00", "currentDirectoryPath" : null, - "description" : "Starts a focus session in Session app", - "filename" : "session-start-new.sh", + "description" : "List all Bitwarden text Sends created in the currently unlocked account.", + "filename" : "list-sends.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/session.png" + "light" : "images\/bitwarden.png" }, - "identifier" : "92ffe9f3858ffdbae4bcfa0a185feb7a", + "identifier" : "10d61b623f51ab4e5a12cb1df29a16c0", "isTemplate" : false, "language" : "bash", - "mode" : "silent", + "mode" : "fullOutput", "needsConfirmation" : null, - "packageName" : "Session", - "path" : "apps\/session\/", + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Start Session", - "updatedAt" : "2021-03-29T10:46:13-07:00" + "title" : "List All Text Sends", + "updatedAt" : "2022-11-17T10:35:57+01:00" }, { "authors" : [ { - "name" : "James Lyons", - "url" : "https:\/\/github.com\/jamesjlyons" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-03-29T10:46:13-07:00", + "createdAt" : "2021-02-03T02:57:58-05:00", "currentDirectoryPath" : null, - "description" : "Starts a focus session in Session app", - "filename" : "session-abandon.sh", - "hasArguments" : false, + "description" : "Unlock an authenticated Bitwarden session.", + "filename" : "unlock.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "images\/session.png" + "light" : "images\/bitwarden.png" }, - "identifier" : "8faf6b45a243e039e253dddab88afad9", + "identifier" : "0d6dbf49507170aa4af614cbb4b16613", "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Session", - "path" : "apps\/session\/", + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Abandon Session", - "updatedAt" : "2021-03-29T10:46:13-07:00" - } - ] - } - ] - }, - { - "name" : "Productivity", - "path" : "productivity", - "scriptCommands" : [ - - ], - "subGroups" : [ - { - "name" : "Imgur", - "path" : "imgur", - "scriptCommands" : [ + "title" : "Unlock Session", + "updatedAt" : "2022-11-17T10:35:57+01:00" + }, { "authors" : [ { - "name" : "Fahim Faisal", - "url" : "https:\/\/github.com\/i3p9" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-08-19T04:36:52+06:00", + "createdAt" : "2021-02-03T02:57:58-05:00", "currentDirectoryPath" : null, - "description" : "Upload your last screenshot to Imgur and copy the image link to clipboard", - "filename" : "imgur-upload-latest-screenshot.template.sh", + "description" : "Log out of Bitwarden.", + "filename" : "log-out.sh", "hasArguments" : false, "icon" : { "dark" : null, - "light" : "☁️" + "light" : "images\/bitwarden.png" }, - "identifier" : "fb44bae955f942707a724e0c14063627", - "isTemplate" : true, + "identifier" : "b0e4b9ddb57fdd18854bc8436273b550", + "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Upload to Imgur", - "path" : "productivity\/imgur\/", + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Upload Latest Screenshot to Imgur", - "updatedAt" : "2021-09-09T13:29:10+03:00" + "title" : "Log Out", + "updatedAt" : "2022-11-17T10:35:57+01:00" }, { "authors" : [ { - "name" : "Fahim Faisal", - "url" : "https:\/\/github.com\/i3p9" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/int3rrupt" } ], - "createdAt" : "2021-08-26T01:16:19+06:00", + "createdAt" : "2021-02-03T02:57:58-05:00", "currentDirectoryPath" : null, - "description" : "Upload Image from your Clipboard and copy the image link to clipboard", - "filename" : "imgur-upload-clipboard-image.template.sh", - "hasArguments" : false, + "description" : "Search all items in a Bitwarden vault, and copy the TOTP of the first search result to the clipboard.", + "filename" : "copy-first-matching-totp.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "📋" + "light" : "images\/bitwarden.png" }, - "identifier" : "4041c74c3a091d708e0e58c159d5024e", - "isTemplate" : true, + "identifier" : "5ddedd2cc4ce0ce27ea9da0db895b05d", + "isTemplate" : false, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Uploads Copied Image or Image from Clipboard", - "path" : "productivity\/imgur\/", + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Clipboard to Imgur", - "updatedAt" : "2021-09-09T13:29:10+03:00" + "title" : "Copy First Matching TOTP", + "updatedAt" : "2022-11-17T10:35:57+01:00" }, { "authors" : [ { - "name" : "Fahim Faisal", - "url" : "https:\/\/github.com\/i3p9" + "name" : "Marcel Bochtler", + "url" : "https:\/\/github.com\/MarcelBochtler" } ], - "createdAt" : "2021-08-19T04:36:52+06:00", + "createdAt" : "2021-11-03T21:02:13+01:00", "currentDirectoryPath" : null, - "description" : "Opens default screenshot interface and immediately uploads and copies link to clipboard", - "filename" : "screenshot-and-imgur.sh", - "hasArguments" : false, + "description" : "Log in to Bitwarden using an API key.", + "filename" : "log-in-apikey.template.sh", + "hasArguments" : true, "icon" : { "dark" : null, - "light" : "📷" + "light" : "images\/bitwarden.png" }, - "identifier" : "06f3fa5d901f894dba435781da31037d", - "isTemplate" : false, + "identifier" : "837bd1e9a8fe1ed4fa905be4f9cbc492", + "isTemplate" : true, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "Opens Screenshot Interface and Uploads", - "path" : "productivity\/imgur\/", + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "Screenshot and Imgur", - "updatedAt" : "2021-09-09T13:29:10+03:00" - } - ] - }, - { - "name" : "tesseract", - "path" : "tesseract", - "scriptCommands" : [ + "title" : "Log In", + "updatedAt" : "2022-11-17T10:35:57+01:00" + }, { "authors" : [ { - "name" : "Diego Lopes", - "url" : "https:\/\/github.com\/Dihgg" + "name" : "Phil Salant", + "url" : "https:\/\/github.com\/PSalant726" } ], - "createdAt" : "2021-09-28T10:37:53-03:00", + "createdAt" : "2021-02-03T02:57:58-05:00", "currentDirectoryPath" : null, - "description" : "Tesseract OCR", - "filename" : "tesseract-ocr.sh", + "description" : "Log in to Bitwarden.", + "filename" : "log-in.template.sh", "hasArguments" : true, "icon" : { "dark" : null, - "light" : "🔍" + "light" : "images\/bitwarden.png" }, - "identifier" : "25b6650479ec5f66c13955ef072ebf65", - "isTemplate" : false, + "identifier" : "8bbdf715852f934a47421e7f13d67602", + "isTemplate" : true, "language" : "bash", "mode" : "silent", "needsConfirmation" : null, - "packageName" : "tesseract", - "path" : "productivity\/tesseract\/", + "packageName" : "Bitwarden", + "path" : "productivity\/bitwarden\/", "refreshTime" : null, "schemaVersion" : 1, - "title" : "OCR Screenshot", - "updatedAt" : "2021-11-05T00:12:23+03:00" + "title" : "Log In", + "updatedAt" : "2022-11-17T10:35:57+01:00" } ] }, @@ -20102,68 +22188,68 @@ "updatedAt" : "2021-11-11T04:18:19+01:00" } ] - } - ] - }, - { - "name" : "Writing", - "path" : "writing", - "scriptCommands" : [ - { - "authors" : [ - { - "name" : "Benny Wong", - "url" : "https:\/\/bwong.net" - } - ], - "createdAt" : "2022-01-29T12:34:13-05:00", - "currentDirectoryPath" : null, - "description" : "Counts the number of words of the text in the clipboard", - "filename" : "word-count.sh", - "hasArguments" : false, - "icon" : { - "dark" : null, - "light" : "🤖" - }, - "identifier" : "4757d0ea5b9d6eedf37b64f283531315", - "isTemplate" : false, - "language" : "bash", - "mode" : "inline", - "needsConfirmation" : null, - "packageName" : "Writing", - "path" : "writing\/", - "refreshTime" : "15s", - "schemaVersion" : 1, - "title" : "Word Count", - "updatedAt" : "2022-01-29T12:34:13-05:00" }, { - "authors" : [ + "name" : "Writing", + "path" : "writing", + "scriptCommands" : [ { - "name" : "Alessandra Pereyra", - "url" : "https:\/\/github.com\/alessandrapereyra" + "authors" : [ + { + "name" : "Benny Wong", + "url" : "https:\/\/bwong.net" + } + ], + "createdAt" : "2022-01-29T12:34:13-05:00", + "currentDirectoryPath" : null, + "description" : "Counts the number of words of the text in the clipboard", + "filename" : "word-count.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🤖" + }, + "identifier" : "4757d0ea5b9d6eedf37b64f283531315", + "isTemplate" : false, + "language" : "bash", + "mode" : "inline", + "needsConfirmation" : null, + "packageName" : "Writing", + "path" : "productivity\/writing\/", + "refreshTime" : "15s", + "schemaVersion" : 1, + "title" : "Word Count", + "updatedAt" : "2022-10-31T10:14:18+01:00" + }, + { + "authors" : [ + { + "name" : "Alessandra Pereyra", + "url" : "https:\/\/github.com\/alessandrapereyra" + } + ], + "createdAt" : "2022-09-04T19:45:53-05:00", + "currentDirectoryPath" : null, + "description" : "Directly use macOS Dictionary", + "filename" : "dictionary-lookup.swift", + "hasArguments" : true, + "icon" : { + "dark" : null, + "light" : "📖" + }, + "identifier" : "be57af80902c33cee913774b6e58d678", + "isTemplate" : false, + "language" : "swift", + "mode" : "compact", + "needsConfirmation" : null, + "packageName" : "Writing", + "path" : "productivity\/writing\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Dictionary Lookup", + "updatedAt" : "2022-10-31T10:14:18+01:00" } - ], - "createdAt" : "2022-09-04T19:45:53-05:00", - "currentDirectoryPath" : null, - "description" : "Directly use macOS Dictionary", - "filename" : "dictionary-lookup.swift", - "hasArguments" : true, - "icon" : { - "dark" : null, - "light" : "📖" - }, - "identifier" : "be57af80902c33cee913774b6e58d678", - "isTemplate" : false, - "language" : "swift", - "mode" : "compact", - "needsConfirmation" : null, - "packageName" : "Writing", - "path" : "writing\/", - "refreshTime" : null, - "schemaVersion" : 1, - "title" : "Dictionary Lookup", - "updatedAt" : "2022-09-05T11:33:53+00:00" + ] } ] }, @@ -20174,6 +22260,40 @@ ], "subGroups" : [ + { + "name" : "Speaker Setup", + "path" : "speaker-setup", + "scriptCommands" : [ + { + "authors" : [ + { + "name" : "Kailash Yellareddy", + "url" : "https:\/\/github.com\/kyellareddy" + } + ], + "createdAt" : "2024-01-09T01:17:34-08:00", + "currentDirectoryPath" : null, + "description" : null, + "filename" : "speaker-setup.sh", + "hasArguments" : false, + "icon" : { + "dark" : null, + "light" : "🔊" + }, + "identifier" : "7920ccb4e58a80afd149f6ce81e8f185", + "isTemplate" : false, + "language" : "bash", + "mode" : "compact", + "needsConfirmation" : null, + "packageName" : "Speaker Setup", + "path" : "media\/speaker-setup\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Speaker Setup", + "updatedAt" : "2024-04-07T23:23:52+04:00" + } + ] + }, { "name" : "Apple Music", "path" : "apple-music", @@ -20428,7 +22548,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Set Volume", - "updatedAt" : "2020-12-11T00:15:58+00:00" + "updatedAt" : "2020-12-11T00:15:58Z" }, { "authors" : [ @@ -20521,7 +22641,7 @@ "url" : "https:\/\/github.com\/mmerle" } ], - "createdAt" : "2020-11-30T12:52:41+00:00", + "createdAt" : "2020-11-30T12:52:41Z", "currentDirectoryPath" : null, "description" : "Show currently playing track in Music.", "filename" : "apple-music-current-track.applescript", @@ -20530,7 +22650,7 @@ "dark" : null, "light" : "images\/apple-music-logo.png" }, - "identifier" : "1ce69e81108a71dc7ebdbe58cb8892eb", + "identifier" : "41db4193526a667ad73d8742fc72d7de", "isTemplate" : false, "language" : "applescript", "mode" : "inline", @@ -20596,7 +22716,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Love Current Track", - "updatedAt" : "2021-09-24T08:42:54-04:00" + "updatedAt" : "2024-02-27T09:52:24-05:00" } ] }, @@ -21337,7 +23457,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Next Track", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : null, @@ -21360,7 +23480,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Toggle Play\/Pause", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : [ @@ -21425,7 +23545,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2021-01-26T20:54:37+00:00", + "createdAt" : "2021-01-26T20:54:37Z", "currentDirectoryPath" : null, "description" : "Play playlist or track in Spotify.", "filename" : "spotify-play-playlist.template.applescript", @@ -21434,7 +23554,7 @@ "dark" : null, "light" : "images\/spotify-logo.png" }, - "identifier" : "faad4bf6558229aa4c10be54368a4c18", + "identifier" : "8e28e54269f27849b00b363c8a0271be", "isTemplate" : true, "language" : "applescript", "mode" : "silent", @@ -21444,7 +23564,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Play Track or Playlist", - "updatedAt" : "2021-01-26T20:55:11+00:00" + "updatedAt" : "2021-01-26T20:55:11Z" }, { "authors" : null, @@ -21467,7 +23587,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Play", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : [ @@ -21476,7 +23596,7 @@ "url" : "https:\/\/github.com\/thomaspaulmann" } ], - "createdAt" : "2020-11-30T12:52:41+00:00", + "createdAt" : "2020-11-30T12:52:41Z", "currentDirectoryPath" : null, "description" : "Show currently playing track in Spotify.", "filename" : "spotify-current-track.applescript", @@ -21485,7 +23605,7 @@ "dark" : null, "light" : "images\/spotify-logo.png" }, - "identifier" : "94fcb3923a4b45346a924803c2b36f3f", + "identifier" : "2eb202dd044979361f9d435198280920", "isTemplate" : false, "language" : "applescript", "mode" : "inline", @@ -21495,7 +23615,7 @@ "refreshTime" : "30s", "schemaVersion" : 1, "title" : "Current Track", - "updatedAt" : "2020-11-30T12:52:41+00:00" + "updatedAt" : "2020-11-30T12:52:41Z" }, { "authors" : null, @@ -21518,7 +23638,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Previous Track", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" }, { "authors" : null, @@ -21541,7 +23661,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Pause", - "updatedAt" : "2020-12-08T15:56:35+00:00" + "updatedAt" : "2020-12-08T15:56:35Z" } ] }, @@ -21635,6 +23755,32 @@ } ] }, + { + "name" : "Lowfi", + "path" : "lowfi", + "scriptCommands" : [ + { + "authors" : null, + "createdAt" : "2024-11-24T04:45:52+01:00", + "currentDirectoryPath" : null, + "description" : null, + "filename" : "lowfi.sh", + "hasArguments" : false, + "icon" : null, + "identifier" : "afcc05d7a53abe6543c98f59f23bb7e5", + "isTemplate" : false, + "language" : "bash", + "mode" : "compact", + "needsConfirmation" : null, + "packageName" : "Music", + "path" : "media\/lowfi\/", + "refreshTime" : null, + "schemaVersion" : 1, + "title" : "Lowfi", + "updatedAt" : "2024-12-11T20:08:12Z" + } + ] + }, { "name" : "Apple Tv", "path" : "apple-tv", @@ -21665,7 +23811,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Set Volume", - "updatedAt" : "2020-12-11T00:16:06+00:00" + "updatedAt" : "2020-12-11T00:16:06Z" }, { "authors" : [ @@ -21911,7 +24057,7 @@ "url" : "https:\/\/github.com\/charlesharries" } ], - "createdAt" : "2022-02-01T13:37:24+00:00", + "createdAt" : "2022-02-01T13:37:24Z", "currentDirectoryPath" : null, "description" : "Play the current track in Tidal.", "filename" : "tidal-play.applescript", @@ -21920,7 +24066,7 @@ "dark" : null, "light" : "images\/tidal-logo.png" }, - "identifier" : "370fa0d9f88c538e191fa5c4df615aed", + "identifier" : "2ea9c044515312cbf87dac8fb5e0c92a", "isTemplate" : false, "language" : "applescript", "mode" : "silent", @@ -21930,7 +24076,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Play", - "updatedAt" : "2022-02-01T13:37:24+00:00" + "updatedAt" : "2022-02-01T13:37:24Z" }, { "authors" : [ @@ -21939,7 +24085,7 @@ "url" : "https:\/\/github.com\/charlesharries" } ], - "createdAt" : "2022-02-01T13:37:24+00:00", + "createdAt" : "2022-02-01T13:37:24Z", "currentDirectoryPath" : null, "description" : "Skip to the next track in Tidal.", "filename" : "tidal-next-track.applescript", @@ -21948,7 +24094,7 @@ "dark" : null, "light" : "images\/tidal-logo.png" }, - "identifier" : "9206bc623c13a1861d1ea4f872c8fbee", + "identifier" : "aac66a366cec215c8594f02cf425bcb0", "isTemplate" : false, "language" : "applescript", "mode" : "silent", @@ -21958,7 +24104,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Next Track", - "updatedAt" : "2022-02-01T14:38:40+00:00" + "updatedAt" : "2022-02-01T14:38:40Z" }, { "authors" : [ @@ -21967,7 +24113,7 @@ "url" : "https:\/\/github.com\/charlesharries" } ], - "createdAt" : "2022-02-01T13:37:24+00:00", + "createdAt" : "2022-02-01T13:37:24Z", "currentDirectoryPath" : null, "description" : "Pause the current track in Tidal.", "filename" : "tidal-pause.applescript", @@ -21976,7 +24122,7 @@ "dark" : null, "light" : "images\/tidal-logo.png" }, - "identifier" : "1e045340ac4a21b2cf81a4bf59b3984e", + "identifier" : "58a1d13baec2c61c0a7ee815126b4fd9", "isTemplate" : false, "language" : "applescript", "mode" : "silent", @@ -21986,7 +24132,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Pause", - "updatedAt" : "2022-02-01T13:37:24+00:00" + "updatedAt" : "2022-02-01T13:37:24Z" }, { "authors" : [ @@ -21995,7 +24141,7 @@ "url" : "https:\/\/github.com\/charlesharries" } ], - "createdAt" : "2022-02-01T13:37:24+00:00", + "createdAt" : "2022-02-01T13:37:24Z", "currentDirectoryPath" : null, "description" : "Skip back to the previous track in Tidal.", "filename" : "tidal-previous-track.applescript", @@ -22004,7 +24150,7 @@ "dark" : null, "light" : "images\/tidal-logo.png" }, - "identifier" : "756f25af8641456ee9d6c6b14146f1dd", + "identifier" : "2a30f2daec4a4df68c4f0dae82c0e6ba", "isTemplate" : false, "language" : "applescript", "mode" : "silent", @@ -22014,7 +24160,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Previous Track", - "updatedAt" : "2022-02-01T14:38:40+00:00" + "updatedAt" : "2022-02-01T14:38:40Z" }, { "authors" : [ @@ -22042,7 +24188,7 @@ "refreshTime" : null, "schemaVersion" : 1, "title" : "Toggle Play\/Pause", - "updatedAt" : "2022-09-13T08:16:43+00:00" + "updatedAt" : "2022-09-13T08:16:43Z" } ] } @@ -22050,6 +24196,11 @@ } ], "languages" : [ + { + "displayName" : "Python", + "icon" : "icon-python.png", + "name" : "python" + }, { "displayName" : "Bash", "icon" : "icon-bash.png", @@ -22065,25 +24216,20 @@ "icon" : "icon-swift.png", "name" : "swift" }, - { - "displayName" : "Ruby", - "icon" : "icon-ruby.png", - "name" : "ruby" - }, { "displayName" : "AppleScript", "icon" : "icon-applescript.png", "name" : "applescript" }, { - "displayName" : "Python", - "icon" : "icon-python.png", - "name" : "python" + "displayName" : "Ruby", + "icon" : "icon-ruby.png", + "name" : "ruby" } ], "metadata" : [ ], - "totalScriptCommands" : 767, - "updatedAt" : "2022-09-21T19:23:16Z" + "totalScriptCommands" : 841, + "updatedAt" : "2025-09-29T13:46:20Z" } \ No newline at end of file diff --git a/commands/google-maps/google-maps.sh b/commands/google-maps/google-maps.sh deleted file mode 100755 index 345205af0..000000000 --- a/commands/google-maps/google-maps.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -# Required parameters: -# @raycast.schemaVersion 1 -# @raycast.title Search Google Maps -# @raycast.mode silent -# @raycast.packageName Google Maps - -# Optional parameters: -# @raycast.icon images/google-map.png -# @raycast.argument1 { "type": "text", "placeholder": "Location", "optional": true} -# @raycast.argument2 { "type": "text", "placeholder": "Destination", "optional": true} - -first_argument=${1// /+} -second_argument=${2// /+} - -if [ "$1" = "" ]; then - open "https://www.google.com/maps" -elif [ "$2" = "" ]; then - open "https://www.google.com/maps/search/$first_argument" -else - open "https://www.google.com/maps/dir/$first_argument/$second_argument" -fi diff --git a/commands/math/calculate-CAGR.sh b/commands/math/calculate-CAGR.sh new file mode 100755 index 000000000..671876a94 --- /dev/null +++ b/commands/math/calculate-CAGR.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Calculate CAGR Percentage +# @raycast.mode compact +# @raycast.packageName Math + +# Optional parameters: +# @raycast.argument1 { "type": "text", "placeholder": "From" } +# @raycast.argument2 { "type": "text", "placeholder": "To" } +# @raycast.argument3 { "type": "text", "placeholder": "Years" } + +# Documentation: +# @raycast.author Samuel Barton +# @raycast.authorURL https://github.com/samueldbarton +# @raycast.description Calculate the CAGR between "from" and "to" values over given "years," then copy the result. + +CAGR=$(echo "scale=4; e( l($2 / $1) / $3 ) - 1" | bc -l) +CAGR=$(echo "scale=2; $CAGR * 100" | bc -l) +CAGR=$(printf "%.2f" "$CAGR") +echo "$CAGR" | pbcopy +echo "The CAGR from $1 to $2 over $3 years is $CAGR%. CAGR copied to clipboard." \ No newline at end of file diff --git a/commands/math/calculate-combinations.js b/commands/math/calculate-combinations.js new file mode 100755 index 000000000..be25ba058 --- /dev/null +++ b/commands/math/calculate-combinations.js @@ -0,0 +1,71 @@ +#!/usr/bin/env node +// Dependency: This script requires Nodejs. +// Install Node: https://nodejs.org/en/download/ + +// Required parameters: +// @raycast.schemaVersion 1 +// @raycast.title nCr: Calculate Combinations +// @raycast.mode silent + +// Optional parameters: +// @raycast.icon 𝐂 +// @raycast.argument1 { "type": "text", "placeholder": "n" } +// @raycast.argument2 { "type": "text", "placeholder": "r" } +// Documentation: +// @raycast.description nCr: Calculate combinations +// @raycast.author cSharp +// @raycast.authorURL https://github.com/noidwasavailable + +const child_process = require('child_process'); + +// Function to copy data to clipboard +const pbcopy = (data) => { + return new Promise(function (resolve, reject) { + const child = child_process.spawn('pbcopy'); + + child.on('error', function (err) { + reject(err); + }); + + child.on('close', function (err) { + resolve(data); + }); + + child.stdin.write(data); + child.stdin.end(); + }); +}; + +// get args +const n = Number(process.argv.slice(2)[0]); +const r = Number(process.argv.slice(2)[1]); + +// performance optimizations +const memoize = (fn) => { + const cache = {}; + return (...args) => { + const n = args[0]; + if (n in cache) { + return cache[n]; + } + const result = fn(n); + cache[n] = result; + return result; + }; +}; + +// factorial function +const factorial = memoize((n) => { + if (n === 0 || n === 1) { + return 1; + } else { + return n * factorial(n - 1); + } +}); + +// calculate nCr +const nCr = factorial(n) / (factorial(r) * factorial(n - r)); +console.log(`${n} choose ${r} = ${nCr}`); +pbcopy(`${nCr}`); + +return nCr; diff --git a/commands/media/apple-music/apple-music-love-current-track.applescript b/commands/media/apple-music/apple-music-love-current-track.applescript index cf805be47..4971ffa85 100755 --- a/commands/media/apple-music/apple-music-love-current-track.applescript +++ b/commands/media/apple-music/apple-music-love-current-track.applescript @@ -11,6 +11,10 @@ # @raycast.schemaVersion 1 tell application "Music" - set loved of current track to true - log "<3 Yeah, that song is rad." - end tell \ No newline at end of file + if player state is playing then + set favorited of current track to true + log "<3 Yeah, the song is now favorited" + else + return "No track is currently playing." + end if + end tell diff --git a/commands/media/lowfi/lowfi.sh b/commands/media/lowfi/lowfi.sh new file mode 100755 index 000000000..04248cf5c --- /dev/null +++ b/commands/media/lowfi/lowfi.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# Note: lowfi and WezTerm required +# +# Install lowfi at https://github.com/talwat/lowfi +# or by cargo: cargo install lowfi +# +# Install WezTerm at https://wezfurlong.org/wezterm/install/macos.html +# or by homebrew: brew install --cask wezterm + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Lowfi +# @raycast.mode compact +# @raycast.packageName Music + +# Optional parameters: +# @raycast.icon + +export PATH="$HOME/.cargo/bin:$PATH" + +# Check if lowfi is already running +if pgrep -f "lowfi$" > /dev/null; then + echo "Found existing lowfi process" + + # Use AppleScript to find and focus the lowfi window + osascript -e ' + -- First activate WezTerm application + tell application "WezTerm" to activate + + -- Then focus the specific window + tell application "System Events" + tell process "wezterm-gui" + -- Get all windows + set allWindows to every window + repeat with w in allWindows + if title of w contains "lowfi" then + -- Try multiple methods to bring window to front + set frontmost to true + set value of attribute "AXMain" of w to true + perform action "AXRaise" of w + set position of w to {0, 40} + -- Click the window to ensure focus + click w + return "Found and focused lowfi window" + end if + end repeat + end tell + end tell + return "Could not find lowfi window" + ' +else + echo "Starting new lowfi instance" + /Applications/WezTerm.app/Contents/MacOS/wezterm start -- lowfi & +fi diff --git a/commands/media/speaker-setup/Left.mp3 b/commands/media/speaker-setup/Left.mp3 new file mode 100644 index 000000000..4b9618863 Binary files /dev/null and b/commands/media/speaker-setup/Left.mp3 differ diff --git a/commands/media/speaker-setup/Right.mp3 b/commands/media/speaker-setup/Right.mp3 new file mode 100644 index 000000000..53559d18d Binary files /dev/null and b/commands/media/speaker-setup/Right.mp3 differ diff --git a/commands/media/speaker-setup/speaker-setup.sh b/commands/media/speaker-setup/speaker-setup.sh new file mode 100755 index 000000000..6ca3d983a --- /dev/null +++ b/commands/media/speaker-setup/speaker-setup.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Speaker Setup +# @raycast.mode compact + +# Optional parameters: +# @raycast.icon 🔊 + +# Documentation: +# @raycast.author Kailash Yellareddy +# @raycast.authorURL https://github.com/kyellareddy + +# SETUP: +# 1. Download the files Left.mp3 and Right.mp3 +# 2. Replace "Left.mp3" in line 21 with the file path for the file Left.mp3 +# 3. Replace "Right.mp3" in line 24 with the file path for the file Right.mp3 + +# Play the first audio file +afplay Left.mp3 + +# Play the second audio file +afplay Right.mp3 diff --git a/commands/navigation/hide-application.applescript b/commands/navigation/hide-application.applescript new file mode 100755 index 000000000..f9574a4fd --- /dev/null +++ b/commands/navigation/hide-application.applescript @@ -0,0 +1,18 @@ +#!/usr/bin/osascript + +# @raycast.schemaVersion 1 +# @raycast.author Chris Bailey +# @raycast.authorURL https://raycast.com/that70schris +# @raycast.description Easily hide your foremost application +# @raycast.packageName Navigation +# @raycast.title Hide Current Application +# @raycast.mode silent +# @raycast.icon 🫥 + +tell application "System Events" + tell (first process whose frontmost is true) + set _name to displayed name + end tell + + set visible of application process _name to false +end tell diff --git a/commands/password-managers/bitwarden/README.md b/commands/productivity/bitwarden/README.md similarity index 100% rename from commands/password-managers/bitwarden/README.md rename to commands/productivity/bitwarden/README.md diff --git a/commands/password-managers/bitwarden/copy-first-matching-password.sh b/commands/productivity/bitwarden/copy-first-matching-password.sh similarity index 100% rename from commands/password-managers/bitwarden/copy-first-matching-password.sh rename to commands/productivity/bitwarden/copy-first-matching-password.sh diff --git a/commands/password-managers/bitwarden/copy-first-matching-totp.sh b/commands/productivity/bitwarden/copy-first-matching-totp.sh similarity index 100% rename from commands/password-managers/bitwarden/copy-first-matching-totp.sh rename to commands/productivity/bitwarden/copy-first-matching-totp.sh diff --git a/commands/password-managers/bitwarden/create-text-send.sh b/commands/productivity/bitwarden/create-text-send.sh similarity index 100% rename from commands/password-managers/bitwarden/create-text-send.sh rename to commands/productivity/bitwarden/create-text-send.sh diff --git a/commands/password-managers/bitwarden/delete-send.sh b/commands/productivity/bitwarden/delete-send.sh similarity index 100% rename from commands/password-managers/bitwarden/delete-send.sh rename to commands/productivity/bitwarden/delete-send.sh diff --git a/commands/password-managers/bitwarden/edit-send.sh b/commands/productivity/bitwarden/edit-send.sh similarity index 100% rename from commands/password-managers/bitwarden/edit-send.sh rename to commands/productivity/bitwarden/edit-send.sh diff --git a/commands/password-managers/bitwarden/images/bitwarden.png b/commands/productivity/bitwarden/images/bitwarden.png similarity index 100% rename from commands/password-managers/bitwarden/images/bitwarden.png rename to commands/productivity/bitwarden/images/bitwarden.png diff --git a/commands/password-managers/bitwarden/images/copy-first-matching-password.png b/commands/productivity/bitwarden/images/copy-first-matching-password.png similarity index 100% rename from commands/password-managers/bitwarden/images/copy-first-matching-password.png rename to commands/productivity/bitwarden/images/copy-first-matching-password.png diff --git a/commands/password-managers/bitwarden/images/copy-first-matching-totp.png b/commands/productivity/bitwarden/images/copy-first-matching-totp.png similarity index 100% rename from commands/password-managers/bitwarden/images/copy-first-matching-totp.png rename to commands/productivity/bitwarden/images/copy-first-matching-totp.png diff --git a/commands/password-managers/bitwarden/images/create-text-send.png b/commands/productivity/bitwarden/images/create-text-send.png similarity index 100% rename from commands/password-managers/bitwarden/images/create-text-send.png rename to commands/productivity/bitwarden/images/create-text-send.png diff --git a/commands/password-managers/bitwarden/images/delete-send.png b/commands/productivity/bitwarden/images/delete-send.png similarity index 100% rename from commands/password-managers/bitwarden/images/delete-send.png rename to commands/productivity/bitwarden/images/delete-send.png diff --git a/commands/password-managers/bitwarden/images/edit-send.png b/commands/productivity/bitwarden/images/edit-send.png similarity index 100% rename from commands/password-managers/bitwarden/images/edit-send.png rename to commands/productivity/bitwarden/images/edit-send.png diff --git a/commands/password-managers/bitwarden/images/list-sends.png b/commands/productivity/bitwarden/images/list-sends.png similarity index 100% rename from commands/password-managers/bitwarden/images/list-sends.png rename to commands/productivity/bitwarden/images/list-sends.png diff --git a/commands/password-managers/bitwarden/images/lock.png b/commands/productivity/bitwarden/images/lock.png similarity index 100% rename from commands/password-managers/bitwarden/images/lock.png rename to commands/productivity/bitwarden/images/lock.png diff --git a/commands/password-managers/bitwarden/images/log-in-apikey.png b/commands/productivity/bitwarden/images/log-in-apikey.png similarity index 100% rename from commands/password-managers/bitwarden/images/log-in-apikey.png rename to commands/productivity/bitwarden/images/log-in-apikey.png diff --git a/commands/password-managers/bitwarden/images/log-in.png b/commands/productivity/bitwarden/images/log-in.png similarity index 100% rename from commands/password-managers/bitwarden/images/log-in.png rename to commands/productivity/bitwarden/images/log-in.png diff --git a/commands/password-managers/bitwarden/images/log-out.png b/commands/productivity/bitwarden/images/log-out.png similarity index 100% rename from commands/password-managers/bitwarden/images/log-out.png rename to commands/productivity/bitwarden/images/log-out.png diff --git a/commands/password-managers/bitwarden/images/receive-text-send.png b/commands/productivity/bitwarden/images/receive-text-send.png similarity index 100% rename from commands/password-managers/bitwarden/images/receive-text-send.png rename to commands/productivity/bitwarden/images/receive-text-send.png diff --git a/commands/password-managers/bitwarden/images/search-vault-items.png b/commands/productivity/bitwarden/images/search-vault-items.png similarity index 100% rename from commands/password-managers/bitwarden/images/search-vault-items.png rename to commands/productivity/bitwarden/images/search-vault-items.png diff --git a/commands/password-managers/bitwarden/images/status.png b/commands/productivity/bitwarden/images/status.png similarity index 100% rename from commands/password-managers/bitwarden/images/status.png rename to commands/productivity/bitwarden/images/status.png diff --git a/commands/password-managers/bitwarden/images/unlock.png b/commands/productivity/bitwarden/images/unlock.png similarity index 100% rename from commands/password-managers/bitwarden/images/unlock.png rename to commands/productivity/bitwarden/images/unlock.png diff --git a/commands/password-managers/bitwarden/list-sends.sh b/commands/productivity/bitwarden/list-sends.sh similarity index 100% rename from commands/password-managers/bitwarden/list-sends.sh rename to commands/productivity/bitwarden/list-sends.sh diff --git a/commands/password-managers/bitwarden/lock.sh b/commands/productivity/bitwarden/lock.sh similarity index 100% rename from commands/password-managers/bitwarden/lock.sh rename to commands/productivity/bitwarden/lock.sh diff --git a/commands/password-managers/bitwarden/log-in-apikey.template.sh b/commands/productivity/bitwarden/log-in-apikey.template.sh similarity index 100% rename from commands/password-managers/bitwarden/log-in-apikey.template.sh rename to commands/productivity/bitwarden/log-in-apikey.template.sh diff --git a/commands/password-managers/bitwarden/log-in.template.sh b/commands/productivity/bitwarden/log-in.template.sh similarity index 100% rename from commands/password-managers/bitwarden/log-in.template.sh rename to commands/productivity/bitwarden/log-in.template.sh diff --git a/commands/password-managers/bitwarden/log-out.sh b/commands/productivity/bitwarden/log-out.sh similarity index 100% rename from commands/password-managers/bitwarden/log-out.sh rename to commands/productivity/bitwarden/log-out.sh diff --git a/commands/password-managers/bitwarden/receive-text-send.sh b/commands/productivity/bitwarden/receive-text-send.sh similarity index 100% rename from commands/password-managers/bitwarden/receive-text-send.sh rename to commands/productivity/bitwarden/receive-text-send.sh diff --git a/commands/password-managers/bitwarden/search-vault-items.sh b/commands/productivity/bitwarden/search-vault-items.sh similarity index 100% rename from commands/password-managers/bitwarden/search-vault-items.sh rename to commands/productivity/bitwarden/search-vault-items.sh diff --git a/commands/password-managers/bitwarden/status.sh b/commands/productivity/bitwarden/status.sh similarity index 100% rename from commands/password-managers/bitwarden/status.sh rename to commands/productivity/bitwarden/status.sh diff --git a/commands/password-managers/bitwarden/unlock.sh b/commands/productivity/bitwarden/unlock.sh similarity index 100% rename from commands/password-managers/bitwarden/unlock.sh rename to commands/productivity/bitwarden/unlock.sh diff --git a/commands/productivity/imgur/imgur-upload-clipboard-image.template.sh b/commands/productivity/imgur/imgur-upload-clipboard-image.template.sh index cebff8ced..3242c3c59 100755 --- a/commands/productivity/imgur/imgur-upload-clipboard-image.template.sh +++ b/commands/productivity/imgur/imgur-upload-clipboard-image.template.sh @@ -33,7 +33,7 @@ if [ -z "$m" ]; then exit -1 fi -#Client ID, use your own client ID. Get it from https://api.imgur.com/oauth2/addclient (Select anonymous useage as auth type) +#Client ID, use your own client ID. Get it from https://api.imgur.com/oauth2/addclient (Select anonymous usage as auth type) client_id="" #CAN NOT BE EMPTY if [ "$client_id" == "" ]; then @@ -80,7 +80,7 @@ else delete_hash="${output##*}" delete_hash="${delete_hash%%*}" - echo -n "$url" | pbcopy + echo -n "$url" | sed 's/\\\//\//g' | pbcopy jobdone=0 fi diff --git a/commands/productivity/imgur/imgur-upload-latest-screenshot.template.sh b/commands/productivity/imgur/imgur-upload-latest-screenshot.template.sh index 1e63d7dee..9c7d7752e 100755 --- a/commands/productivity/imgur/imgur-upload-latest-screenshot.template.sh +++ b/commands/productivity/imgur/imgur-upload-latest-screenshot.template.sh @@ -20,7 +20,7 @@ DIR=$(defaults read com.apple.screencapture location) FILE=$(ls -t "$DIR" | head -n 1) FILELOC="$DIR/$FILE" -#Client ID, use your own client ID. Get it from https://api.imgur.com/oauth2/addclient (Select anonymous useage as auth type) +#Client ID, use your own client ID. Get it from https://api.imgur.com/oauth2/addclient (Select anonymous usage as auth type) client_id="" #CAN NOT BE EMPTY if [ "$client_id" == "" ]; then diff --git a/commands/productivity/imgur/screenshot-and-imgur.sh b/commands/productivity/imgur/screenshot-and-imgur.sh index 176ecfda7..ee57015ee 100755 --- a/commands/productivity/imgur/screenshot-and-imgur.sh +++ b/commands/productivity/imgur/screenshot-and-imgur.sh @@ -15,7 +15,7 @@ # @raycast.author Fahim Faisal # @raycast.authorURL https://github.com/i3p9 -#Client ID, use your own client ID. Get it from https://api.imgur.com/oauth2/addclient (Select anonymous useage as auth type) +#Client ID, use your own client ID. Get it from https://api.imgur.com/oauth2/addclient (Select anonymous usage as auth type) client_id="" #CAN NOT BE EMPTY if [ "$client_id" == "" ]; then diff --git a/commands/writing/dictionary-lookup.swift b/commands/productivity/writing/dictionary-lookup.swift similarity index 100% rename from commands/writing/dictionary-lookup.swift rename to commands/productivity/writing/dictionary-lookup.swift diff --git a/commands/writing/word-count.sh b/commands/productivity/writing/word-count.sh similarity index 100% rename from commands/writing/word-count.sh rename to commands/productivity/writing/word-count.sh diff --git a/commands/system/Low Power Mode.sh b/commands/system/Low Power Mode.sh new file mode 100755 index 000000000..0adbf3add --- /dev/null +++ b/commands/system/Low Power Mode.sh @@ -0,0 +1,38 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Low Power Mode +# @raycast.mode silent + +# @raycast.icon 🔋 +# @raycast.author Kailash Yellareddy +# @raycast.authorURL https://github.com/kyellareddy + +on getLowPowerMode(str) + set trimmedStr to do shell script "echo " & quoted form of str & " | xargs" -- trim trailing spaces + set lastChar to character (length of trimmedStr) of trimmedStr -- get last character + set mode to lastChar as number -- convert to number + return mode +end getLowPowerMode +tell application "System Settings" + set output to do shell script "pmset -g | grep lowpowermode" +end tell +set result to getLowPowerMode(output) +if result = 0 then + tell application "System Settings" + do shell script "pmset -a lowpowermode 1" with administrator privileges + end tell + do shell script "echo Low Power Mode turned on." +else + tell application "System Settings" + do shell script "pmset -a lowpowermode 0" with administrator privileges + end tell + +# This makes the brightness 100% again, if it doesn't go all the way to 100% for you, change the number of times it repeats. + repeat 25 times + tell application "System Events" + key code 144 + end tell + end repeat +end if diff --git a/commands/system/Network Info.sh b/commands/system/Network Info.sh new file mode 100755 index 000000000..a43dfa8de --- /dev/null +++ b/commands/system/Network Info.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Network Info +# @raycast.mode fullOutput + +# @raycast.icon 🛜 +# @raycast.author Kailash Yellareddy +# @raycast.authorURL https://github.com/kyellareddy + +import urllib.request, json +with urllib.request.urlopen("http://ip-api.com/json") as url: + data = json.load(url) + + print("IP address:", data["query"]) + print("ISP:", data["isp"]) + + print("City:", data["city"]) + print("Region:", data["regionName"]) + print("Country:", data["country"]) + print("ZIP:", data["zip"]) \ No newline at end of file diff --git a/commands/system/audio/bluetooth-headphones-battery-level.template.sh b/commands/system/audio/bluetooth-headphones-battery-level.template.sh new file mode 100755 index 000000000..146c6e8fa --- /dev/null +++ b/commands/system/audio/bluetooth-headphones-battery-level.template.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Headphones Battery Level +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 🎧 +# @raycast.packageName Audio + +# Documentation: +# @raycast.description Get the battery level of your bluetooth headphones +# @raycast.author Mortada Sarheed +# @raycast.authorURL https://github.com/mSarheed + +# Find the mac address of your headhpones by holding down option-key (⌥) (+ click on your bluetooth icon in the menubar or control centre. +# The mac address for your headphones should look something like this A1-23-45-B6-C7, change the dashes(-) to colons (:), so A1:23:45:B6:C7 +macAddr="XX:XX:XX:XX:XX" + +call="system_profiler SPBluetoothDataType" + +# Finds the name of the Headphones +headphonesName=$($call | grep -B1 "$macAddr" | head -n 1 | sed 's/.$//') + +batteryLevel=$($call | grep -A4 "$macAddr" | grep 'Battery Level:' | grep -Eo '[0-9]{1,4}') + + +if [ "$batteryLevel" != "" ]; then +echo '🔋'$headphonesName' is at '$batteryLevel'% 🔋' +else +echo "🎧 Headphones aren't connected 🤷🏻‍♂️" +fi diff --git a/commands/system/audio/toggle-mute-notification-sounds.applescript b/commands/system/audio/toggle-mute-notification-sounds.applescript new file mode 100755 index 000000000..779a3f4a8 --- /dev/null +++ b/commands/system/audio/toggle-mute-notification-sounds.applescript @@ -0,0 +1,27 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Toggle Mute Notifcation Sounds +# @raycast.mode silent +# @raycast.packageName System + +# Optional parameters: +# @raycast.icon 🔔 + +# Documentation: +# @raycast.author Annie Ma +# @raycast.authorURL http://www.anniema.co/ +# @raycast.description Toggles notification sounds. + +set volumeSettings to get volume settings +set alertVolume to alert volume of volumeSettings + +if alertVolume > 0 then + set volume alert volume 0 + display notification "" with title "Muted notification sounds" +else + set volume alert volume 100 + display notification "" with title "Unmuted notification sounds" +end if + diff --git a/commands/system/copy-selection-to-clipboard.applescript b/commands/system/copy-selection-to-clipboard.applescript new file mode 100755 index 000000000..6a5031e2a --- /dev/null +++ b/commands/system/copy-selection-to-clipboard.applescript @@ -0,0 +1,43 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Copy Finder Selection to Clipboard +# @raycast.mode silent +# @raycast.packageName System +# +# Optional parameters: +# @raycast.icon ?? +# +# Documentation: +# @raycast.description Copy contents of selected items in Finder to the clipboard. If there's more than one file selected, they will be combined and added to the clipboard. +# @raycast.author Felipe Turcheti +# @raycast.authorURL https://felipeturcheti.com + +on run + log "Copying contents of the selected items to the clipboard..." + + tell application "Finder" + -- get Finder selected items + set theItems to selection + end tell + + -- create a list to store contents of all selected items + set allContents to "" + + -- for each item in the Finder selection + repeat with itemRef in theItems + -- get the item path + set theItem to POSIX path of (itemRef as string) + -- read the content of the item + set fileDescriptor to open for access (POSIX file theItem) + set fileContent to read fileDescriptor for (get eof fileDescriptor) + close access fileDescriptor + -- add the content to the list + set allContents to allContents & fileContent & " +" + end repeat + + -- set the clipboard to the combined contents + set the clipboard to allContents +end run diff --git a/commands/system/default-browser-arc.applescript b/commands/system/default-browser-arc.applescript new file mode 100755 index 000000000..d36e16fa7 --- /dev/null +++ b/commands/system/default-browser-arc.applescript @@ -0,0 +1,64 @@ +#!/usr/bin/osascript + +# Dependency: requires defaultbrowser (https://github.com/kerma/defaultbrowser) +# Install via Homebrew: `brew install defaultbrowser` + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Default to Arc +# @raycast.mode silent +# @raycast.packageName Browser + +# Optional parameters: +# @raycast.icon images/arc.png + +# Documentation: +# @raycast.author Marcos Sánchez-Dehesa +# @raycast.authorURL https://github.com/dehesa +# @raycast.description Set Arc as the default browser. + +# check to see what the current browser is +set currentDefaultBrowser to my getCurrentDefaultBrowser() + +set repeatCount to 0 + +tell application "System Events" + try + my changeDefaultBrowser("browser") + repeat until button 2 of window 1 of process "CoreServicesUIAgent" exists + delay 0.01 + set repeatCount to repeatCount + 1 + if repeatCount = 15 then exit repeat + end repeat + try + # if Chrome is the current default browser, the order of the buttons is reversed. Click button 1 to change the default browser to Arc. + if currentDefaultBrowser contains "com.google.chrome" then + click button 1 of window 1 of process "CoreServicesUIAgent" + else # otherwise click button 2 to change the default browser to Arc. + click button 2 of window 1 of process "CoreServicesUIAgent" + end if + log "Arc is now your default browser" + on error + log "Arc is already your default browser" + end try + on error + log "The \"defaultbrowser\" CLI tool is required: https://github.com/kerma/defaultbrowser 🔥" + end try +end tell + +to getCurrentDefaultBrowser() + set filePath to "~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist" + + set output to do shell script "plutil -p " & filePath & " | awk '/LSHandlerRoleAll/{a=$3}/LSHandlerURLScheme/{if($3==\"\\\"https\\\"\") print a}'" + return output +end getCurrentDefaultBrowser + +to changeDefaultBrowser(thebrowser) + do shell script " + if ! command -v defaultbrowser &> /dev/null; then + exit 1 + fi + defaultbrowser " & thebrowser & " + exit 0 + " +end changeDefaultBrowser \ No newline at end of file diff --git a/commands/system/default-browser-chrome.applescript b/commands/system/default-browser-chrome.applescript new file mode 100755 index 000000000..a09bdad9e --- /dev/null +++ b/commands/system/default-browser-chrome.applescript @@ -0,0 +1,49 @@ +#!/usr/bin/osascript + +# Dependency: requires defaultbrowser (https://github.com/kerma/defaultbrowser) +# Install via Homebrew: `brew install defaultbrowser` + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Default to Chrome +# @raycast.mode silent +# @raycast.packageName Browser + +# Optional parameters: +# @raycast.icon images/chrome.png + +# Documentation: +# @raycast.author Marcos Sánchez-Dehesa +# @raycast.authorURL https://github.com/dehesa +# @raycast.description Set Google Chrome as the default browser. + +set repeatCount to 0 + +tell application "System Events" + try + my changeDefaultBrowser("chrome") + repeat until button 2 of window 1 of process "CoreServicesUIAgent" exists + delay 0.01 + set repeatCount to repeatCount + 1 + if repeatCount = 15 then exit repeat + end repeat + try + click button 2 of window 1 of process "CoreServicesUIAgent" + log "Google Chrome is now your default browser" + on error + log "Google Chrome is already your default browser" + end try + on error + log "The \"defaultbrowser\" CLI tool is required: https://github.com/kerma/defaultbrowser 🔥" + end try +end tell + +to changeDefaultBrowser(thebrowser) + do shell script " + if ! command -v defaultbrowser &> /dev/null; then + exit 1 + fi + defaultbrowser " & thebrowser & " + exit 0 + " +end changeDefaultBrowser \ No newline at end of file diff --git a/commands/system/default-browser-chrome.sh b/commands/system/default-browser-chrome.sh deleted file mode 100755 index cae645ac4..000000000 --- a/commands/system/default-browser-chrome.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# Dependency: requires defaultbrowser (https://github.com/kerma/defaultbrowser/) -# Install via Homebrew: `brew install defaultbrowser` - -# Required parameters: -# @raycast.schemaVersion 1 -# @raycast.title Switch Default Browser to Chrome -# @raycast.mode silent -# @raycast.packageName Browsing - -# Optional parameters: -# @raycast.icon 🧭 - -# Documentation: -# @raycast.author Marc Klingen -# @raycast.authorURL https://github.com/marcklingen -# @raycast.description Set Chrome as the default browser. - -if ! command -v defaultbrowser &> /dev/null; then - echo "defaultbrowser is required (https://github.com/kerma/defaultbrowser/)."; - exit 1; -fi - -defaultbrowser chrome -exit 0 diff --git a/commands/system/default-browser-chromium.applescript b/commands/system/default-browser-chromium.applescript new file mode 100755 index 000000000..b9a6bc63e --- /dev/null +++ b/commands/system/default-browser-chromium.applescript @@ -0,0 +1,49 @@ +#!/usr/bin/osascript + +# Dependency: requires defaultbrowser (https://github.com/kerma/defaultbrowser) +# Install via Homebrew: `brew install defaultbrowser` + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Default to Chromium +# @raycast.mode silent +# @raycast.packageName Browser + +# Optional parameters: +# @raycast.icon images/chrome-icon.png + +# Documentation: +# @raycast.author Marcos Sánchez-Dehesa +# @raycast.authorURL https://github.com/dehesa +# @raycast.description Set Chromium as the default browser. + +set repeatCount to 0 + +tell application "System Events" + try + my changeDefaultBrowser("chromium") + repeat until button 2 of window 1 of process "CoreServicesUIAgent" exists + delay 0.01 + set repeatCount to repeatCount + 1 + if repeatCount = 15 then exit repeat + end repeat + try + click button 2 of window 1 of process "CoreServicesUIAgent" + log "Chromium is now your default browser" + on error + log "Chromium is already your default browser" + end try + on error + log "The \"defaultbrowser\" CLI tool is required: https://github.com/kerma/defaultbrowser 🔥" + end try +end tell + +to changeDefaultBrowser(thebrowser) + do shell script " + if ! command -v defaultbrowser &> /dev/null; then + exit 1 + fi + defaultbrowser " & thebrowser & " + exit 0 + " +end changeDefaultBrowser \ No newline at end of file diff --git a/commands/system/default-browser-chromium.sh b/commands/system/default-browser-chromium.sh deleted file mode 100755 index 1e93278f9..000000000 --- a/commands/system/default-browser-chromium.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# Dependency: requires defaultbrowser (https://github.com/kerma/defaultbrowser/) -# Install via Homebrew: `brew install defaultbrowser` - -# Required parameters: -# @raycast.schemaVersion 1 -# @raycast.title Switch Default Browser to Chromium -# @raycast.mode silent -# @raycast.packageName Browsing - -# Optional parameters: -# @raycast.icon 🧭 - -# Documentation: -# @raycast.author Marc Klingen -# @raycast.authorURL https://github.com/marcklingen -# @raycast.description Set Chromium as the default browser. - -if ! command -v defaultbrowser &> /dev/null; then - echo "defaultbrowser is required (https://github.com/kerma/defaultbrowser/)."; - exit 1; -fi - -defaultbrowser chromium -exit 0 diff --git a/commands/system/default-browser-firefox.applescript b/commands/system/default-browser-firefox.applescript new file mode 100755 index 000000000..449f1c324 --- /dev/null +++ b/commands/system/default-browser-firefox.applescript @@ -0,0 +1,64 @@ +#!/usr/bin/osascript + +# Dependency: requires defaultbrowser (https://github.com/kerma/defaultbrowser) +# Install via Homebrew: `brew install defaultbrowser` + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Default to Firefox +# @raycast.mode silent +# @raycast.packageName Browser + +# Optional parameters: +# @raycast.icon images/firefox.png + +# Documentation: +# @raycast.author Marcos Sánchez-Dehesa +# @raycast.authorURL https://github.com/dehesa +# @raycast.description Set Firefox as the default browser. + +# check to see what the current browser is +set currentDefaultBrowser to my getCurrentDefaultBrowser() + +set repeatCount to 0 + +tell application "System Events" + try + my changeDefaultBrowser("firefox") + repeat until button 2 of window 1 of process "CoreServicesUIAgent" exists + delay 0.01 + set repeatCount to repeatCount + 1 + if repeatCount = 15 then exit repeat + end repeat + try + # if Chrome is the current default browser, the order of the buttons is reversed. Click button 1 to change the default browser to FF. + if currentDefaultBrowser contains "com.google.chrome" then + click button 1 of window 1 of process "CoreServicesUIAgent" + else # otherwise click button 2 to change the default browser to FF. + click button 2 of window 1 of process "CoreServicesUIAgent" + end if + log "Firefox is now your default browser" + on error + log "Firefox is already your default browser" + end try + on error + log "The \"defaultbrowser\" CLI tool is required: https://github.com/kerma/defaultbrowser 🔥" + end try +end tell + +to getCurrentDefaultBrowser() + set filePath to "~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist" + + set output to do shell script "plutil -p " & filePath & " | awk '/LSHandlerRoleAll/{a=$3}/LSHandlerURLScheme/{if($3==\"\\\"https\\\"\") print a}'" + return output +end getCurrentDefaultBrowser + +to changeDefaultBrowser(thebrowser) + do shell script " + if ! command -v defaultbrowser &> /dev/null; then + exit 1 + fi + defaultbrowser " & thebrowser & " + exit 0 + " +end changeDefaultBrowser diff --git a/commands/system/default-browser-firefox.sh b/commands/system/default-browser-firefox.sh deleted file mode 100755 index 8359298cd..000000000 --- a/commands/system/default-browser-firefox.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# Dependency: requires defaultbrowser (https://github.com/kerma/defaultbrowser/) -# Install via Homebrew: `brew install defaultbrowser` - -# Required parameters: -# @raycast.schemaVersion 1 -# @raycast.title Switch Default Browser to Firefox -# @raycast.mode silent -# @raycast.packageName Browsing - -# Optional parameters: -# @raycast.icon 🧭 - -# Documentation: -# @raycast.author Marc Klingen -# @raycast.authorURL https://github.com/marcklingen -# @raycast.description Set Firefox as the default browser. - -if ! command -v defaultbrowser &> /dev/null; then - echo "defaultbrowser is required (https://github.com/kerma/defaultbrowser/)."; - exit 1; -fi - -defaultbrowser firefox -exit 0 diff --git a/commands/system/default-browser-front-most-app.applescript b/commands/system/default-browser-front-most-app.applescript index 7b67aeae7..83b41fc28 100755 --- a/commands/system/default-browser-front-most-app.applescript +++ b/commands/system/default-browser-front-most-app.applescript @@ -38,6 +38,8 @@ if (raycastArgv is equal to "") then set browserName to "safari" else if (appName is equal to "Safari Technology Preview") then set browserName to "safaritechnologypreview" + else if (appName contains "Firefox Dev") then + set browserName to "firefoxdeveloperedition" # set Google chrome dev as default browser # it need to put before Chrome else if (appName contains "dev") then @@ -48,8 +50,10 @@ if (raycastArgv is equal to "") then set browserName to "chromium" else if (appName is equal to "Firefox") then set browserName to "firefox" - else if (appName is equal to "Firefox Developer Edition") then - set browserName to "firefoxdeveloperedition" + else if (appName is equal to "SigmaOS") then + set browserName to "macos" + else if (appName is equal to "Arc") then + set browserName to "browser" end if else diff --git a/commands/system/default-browser-safari.applescript b/commands/system/default-browser-safari.applescript new file mode 100755 index 000000000..d1c2cc9d7 --- /dev/null +++ b/commands/system/default-browser-safari.applescript @@ -0,0 +1,64 @@ +#!/usr/bin/osascript + +# Dependency: requires defaultbrowser (https://github.com/kerma/defaultbrowser) +# Install via Homebrew: `brew install defaultbrowser` + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Default to Safari +# @raycast.mode silent +# @raycast.packageName Browser + +# Optional parameters: +# @raycast.icon images/safari.png + +# Documentation: +# @raycast.author Marcos Sánchez-Dehesa +# @raycast.authorURL https://github.com/dehesa +# @raycast.description Set Safari as the default browser. + +# check to see what the current browser is +set currentDefaultBrowser to my getCurrentDefaultBrowser() + +set repeatCount to 0 + +tell application "System Events" + try + my changeDefaultBrowser("safari") + repeat until button 2 of window 1 of process "CoreServicesUIAgent" exists + delay 0.01 + set repeatCount to repeatCount + 1 + if repeatCount = 15 then exit repeat + end repeat + try + # if Chrome is the current default browser, the order of the buttons is reversed. Click button 1 to change the default browser to Safari. + if currentDefaultBrowser contains "com.google.chrome" then + click button 1 of window 1 of process "CoreServicesUIAgent" + else # otherwise click button 2 to change the default browser to Safari. + click button 2 of window 1 of process "CoreServicesUIAgent" + end if + log "Safari is now your default browser" + on error + log "Safari is already your default browser" + end try + on error + log "The \"defaultbrowser\" CLI tool is required: https://github.com/kerma/defaultbrowser 🔥" + end try +end tell + +to getCurrentDefaultBrowser() + set filePath to "~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist" + + set output to do shell script "plutil -p " & filePath & " | awk '/LSHandlerRoleAll/{a=$3}/LSHandlerURLScheme/{if($3==\"\\\"https\\\"\") print a}'" + return output +end getCurrentDefaultBrowser + +to changeDefaultBrowser(thebrowser) + do shell script " + if ! command -v defaultbrowser &> /dev/null; then + exit 1 + fi + defaultbrowser " & thebrowser & " + exit 0 + " +end changeDefaultBrowser diff --git a/commands/system/default-browser-safari.sh b/commands/system/default-browser-safari.sh deleted file mode 100755 index c68c2fe31..000000000 --- a/commands/system/default-browser-safari.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# Dependency: requires defaultbrowser (https://github.com/kerma/defaultbrowser/) -# Install via Homebrew: `brew install defaultbrowser` - -# Required parameters: -# @raycast.schemaVersion 1 -# @raycast.title Switch Default Browser to Safari -# @raycast.mode silent -# @raycast.packageName Browsing - -# Optional parameters: -# @raycast.icon 🧭 - -# Documentation: -# @raycast.author Marc Klingen -# @raycast.authorURL https://github.com/marcklingen -# @raycast.description Set Safari as the default browser. - -if ! command -v defaultbrowser &> /dev/null; then - echo "defaultbrowser is required (https://github.com/kerma/defaultbrowser/)."; - exit 1; -fi - -defaultbrowser safari -exit 0 diff --git a/commands/system/dismiss-notifications.applescript b/commands/system/dismiss-notifications.applescript new file mode 100755 index 000000000..2c3c2716b --- /dev/null +++ b/commands/system/dismiss-notifications.applescript @@ -0,0 +1,49 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Dismiss Notifications +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 🔕 +# @raycast.packageName System + +# Documentation: +# @raycast.description Close all notification alerts staying on screen, e.g., Calendar notifications. +# @raycast.author benyn +# @raycast.authorURL github.com/benyn + +tell application "System Events" to tell process "NotificationCenter" + -- Exit if there are no visible notifications. + if not (window "Notification Center" exists) then return + + -- `notificationContainer` refers to the UI element (of class `group`) holding notifications and can be either: + -- - A single, individual notification, or + -- - A collection of individual notifications and groups of stacked notifications. + set notificationContainer to a reference to group 1 of scroll area 1 of group 1 of group 1 of window "Notification Center" + + -- If it is a collection, close notifications and groups in reverse order to avoid index changes. + set notificationGroups to a reference to groups of notificationContainer + repeat with i from (number of notificationGroups) to 1 by -1 + set g to item i of notificationGroups + repeat with a in (actions of g whose description is "Close" or description starts with "Clear") + -- Ignore errors that happen if the last remaining item is an individual notification, + -- and `notificationCenter` is no longer a `group` of `group`s. + -- The final remaining notification will be closed in the second repeat statement below. + ignoring application responses + perform a + end ignoring + end repeat + end repeat + + -- Close the `notificationContainer` itself. This handles: + -- - A single, individual notification that was `notificationContainer` from the start, or + -- - The last remaining individual notification after the loop above. + repeat with a in (actions of notificationContainer whose description is "Close" or description starts with "Clear") + perform a + end repeat +end tell + +-- Prevent Raycast from displaying the successful result message. +return diff --git a/commands/system/dock-autohide-toggle.sh b/commands/system/dock-autohide-toggle.sh new file mode 100755 index 000000000..5b05c740d --- /dev/null +++ b/commands/system/dock-autohide-toggle.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Toggle Dock Autohide +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 🤖 +# @raycast.packageName System + +# Documentation: +# @raycast.description Toggle the Dock Autohide +# @raycast.author Jelte Lagendijk +# @raycast.authorURL https://raycast.com/j3lte + +autohide=$(defaults read com.apple.dock autohide) + +if [[ $autohide == 1 ]]; then + defaults write com.apple.dock autohide -bool false; killall Dock +else + defaults write com.apple.dock autohide -bool true; killall Dock +fi diff --git a/commands/system/dock-set-autohide.sh b/commands/system/dock-set-autohide.sh new file mode 100755 index 000000000..f3a4c0287 --- /dev/null +++ b/commands/system/dock-set-autohide.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Dock Set Autohide +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 🤖 +# @raycast.argument1 { "type": "dropdown", "placeholder": "On/Off", "data": [{"title": "Off", "value": "false"}, {"title": "On", "value": "true"}] } +# @raycast.packageName System + +# Documentation: +# @raycast.description Set the Dock autohide +# @raycast.author Jelte Lagendijk +# @raycast.authorURL https://raycast.com/j3lte + +defaults write com.apple.dock autohide -bool $1; killall Dock diff --git a/commands/system/dock-set-position.sh b/commands/system/dock-set-position.sh new file mode 100755 index 000000000..de91f8452 --- /dev/null +++ b/commands/system/dock-set-position.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Dock Position +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 🤖 +# @raycast.argument1 { "type": "dropdown", "placeholder": "Position on Screen", "data": [{"title": "Left", "value": "left"}, {"title": "Right", "value": "right"}, {"title": "Bottom", "value": "bottom"}] } +# @raycast.packageName System + +# Documentation: +# @raycast.description Set the position of the Dock in the screen +# @raycast.author Jelte Lagendijk +# @raycast.authorURL https://raycast.com/j3lte + +defaults write com.apple.dock orientation -string $1; killall Dock diff --git a/commands/system/images/arc.png b/commands/system/images/arc.png new file mode 100644 index 000000000..eb423a235 Binary files /dev/null and b/commands/system/images/arc.png differ diff --git a/commands/system/images/chrome.png b/commands/system/images/chrome.png new file mode 100644 index 000000000..e3fb307b6 Binary files /dev/null and b/commands/system/images/chrome.png differ diff --git a/commands/system/images/firefox.png b/commands/system/images/firefox.png new file mode 100644 index 000000000..4a711cace Binary files /dev/null and b/commands/system/images/firefox.png differ diff --git a/commands/system/images/safari.png b/commands/system/images/safari.png new file mode 100644 index 000000000..243df56f7 Binary files /dev/null and b/commands/system/images/safari.png differ diff --git a/commands/system/inline-cpu-usage-percent.sh b/commands/system/inline-cpu-usage-percent.sh new file mode 100755 index 000000000..cfe464085 --- /dev/null +++ b/commands/system/inline-cpu-usage-percent.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title CPU Usage +# @raycast.mode inline +# @raycast.packageName System +# @raycast.refreshTime 10s + +# Optional parameters: +# @raycast.icon 🖥️ + +# Documentation: +# @raycast.description Display CPU usage percent +# @raycast.author Juan Luis Romero +# @raycast.authorURL https://github.com/JuanluR8 + + +output=$(top -l 1 | grep "CPU usage") +cpu_usage=$(echo "$output" | awk -F " " '{print $3}' | cut -d% -f1) + +echo "CPU Usage: ${cpu_usage}%" \ No newline at end of file diff --git a/commands/system/magic-keyboard-switcher/README.md b/commands/system/magic-keyboard-switcher/README.md new file mode 100644 index 000000000..a6ce88ad3 --- /dev/null +++ b/commands/system/magic-keyboard-switcher/README.md @@ -0,0 +1,21 @@ +# magic-keyboard-switcher +Script command to easility switch the bluetooth connectivity of a single Magic Keyboard between several computers. + +## How to setup + +1. Install [blueutil](https://github.com/toy/blueutil). You can use [brew](https://brew.sh/) - `brew install blueutil` +2. Find out your Magic Keyboard bluetooth MAC address. With the keyboard connected, keep the Option key pressed while you click on your status bar bluetooth icon. +
+ Bluetooth menu +
+ +3. Open the script file, set your Magic Keyboard bluetooth MAC address in the `BTMAC` variable and review the blueutil binary location set in the `BIN` variable. +4. Remove `.template` from the file name. +5. Say Ok when prompted about giving Bluetooth permissions to Raycast after executing the script command. + +## How to switch the Magic Keyboard between computers + +It's desirable to have Raycast and this script command installed in both computers. + +First, run the script command in the one that has the keyboard currently connected. It will disconnect it and make it discoverable. +Second, run the script command in the other computer. It should connect it. diff --git a/commands/system/magic-keyboard-switcher/images/bluetooth menu.png b/commands/system/magic-keyboard-switcher/images/bluetooth menu.png new file mode 100644 index 000000000..de5d4070a Binary files /dev/null and b/commands/system/magic-keyboard-switcher/images/bluetooth menu.png differ diff --git a/commands/system/magic-keyboard-switcher/images/logo.png b/commands/system/magic-keyboard-switcher/images/logo.png new file mode 100644 index 000000000..200a262fe Binary files /dev/null and b/commands/system/magic-keyboard-switcher/images/logo.png differ diff --git a/commands/system/magic-keyboard-switcher/magic-keyboard-switcher.template.sh b/commands/system/magic-keyboard-switcher/magic-keyboard-switcher.template.sh new file mode 100755 index 000000000..e27d2b939 --- /dev/null +++ b/commands/system/magic-keyboard-switcher/magic-keyboard-switcher.template.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +# Dependency: This script requires `blueutil` cli installed: https://github.com/toy/blueutil +# Install via homebrew: `brew install blueutil` + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Magic Keyboard switcher +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon images/logo.png +# @raycast.packageName System + +# Documentation: +# @raycast.author blastik +# @raycast.authorURL https://github.com/blastik +# @raycast.description Switch a single magic keyboard between computers + +# blueutil location +BIN=/opt/homebrew/bin/blueutil + +# Your Magic Keyboard MAC Address +BTMAC='XX:XX:XX:XX:XX:XX' + +CMD_VAL="$($BIN --is-connected $BTMAC)" +CMD_UNPAIR="$BIN --unpair $BTMAC" +CMD_PAIR="$BIN --pair $BTMAC" +CMD_CONN="$BIN --connect $BTMAC" + +if ! command -v blueutil &> /dev/null; then + echo "blueutil command is required (https://github.com/toy/blueutil)."; + exit 1; +fi + +if [[ "$CMD_VAL" -eq 1 ]]; then + echo "Connected to $BTMAC" + echo "Going to disconnect $BTMAC" + $($CMD_UNPAIR) + if [[ $? -eq 0 ]]; then + echo "Disconnected from $BTMAC" + else + echo "Failed to disconnect from $BTMAC" + exit 1 + fi +else + echo "Not connected to $BTMAC" + $($CMD_PAIR) + sleep 1 + $($CMD_CONN) + if [[ $? -eq 0 ]]; then + echo "Connected to $BTMAC" + else + echo "Failed to connect to $BTMAC" + exit 1 + fi +fi diff --git a/commands/system/meeting_summary_script.swift b/commands/system/meeting_summary_script.swift new file mode 100755 index 000000000..57053400c --- /dev/null +++ b/commands/system/meeting_summary_script.swift @@ -0,0 +1,92 @@ +#!/usr/bin/swift + +// Required parameters: +// @raycast.schemaVersion 1 +// @raycast.title Copy Meeting Summary +// @raycast.mode silent +// @raycast.packageName System +// +// Optional parameters: +// @raycast.icon 📝 +// +// Documentation: +// @raycast.description Copies a summary of today's meetings to the clipboard. + +import AppKit +import EventKit + +let now = Date() +let calendar: Calendar = .current + +do { + let today: (startDate: Date, endDate: Date, events: [EKEvent]) + + do { + // Retrieve the range for today (from 00:00 to 23:59) + today.startDate = calendar.startOfDay(for: now) + today.endDate = calendar.date(byAdding: .day, value: 1, to: today.startDate)! + + // Retrieve all the events for today + let store = EKEventStore() + let predicate = store.predicateForEvents(withStart: today.startDate, end: today.endDate, calendars: nil) + today.events = store.events(matching: predicate) + .filter { !$0.isAllDay } // Exclude all-day events + .sorted { $0.startDate < $1.startDate } // Sort by start time + } + + let summary: String + if today.events.isEmpty { + summary = "No meetings scheduled for today." + } else { + let dateFormatter = DateFormatter() + dateFormatter.dateStyle = .full + dateFormatter.timeStyle = .none + let todayString = dateFormatter.string(from: now) + + let timeFormatter = DateFormatter() + timeFormatter.dateStyle = .none + timeFormatter.timeStyle = .short + timeFormatter.timeZone = TimeZone.current + + let meetingList = today.events.map { event in + let startTime = timeFormatter.string(from: event.startDate) + let title = event.title ?? "Untitled Event" + let timezone = timeFormatter.timeZone.abbreviation() ?? "" + + var meetingInfo = timezone.isEmpty ? "• \(startTime): \(title)" : "• \(startTime) \(timezone): \(title)" + + // Add location if available + if let location = event.location, !location.isEmpty { + meetingInfo += " (\(location))" + } + + // Add notes if available (first line only to keep it concise) + if let notes = event.notes, !notes.isEmpty { + let firstLine = notes.components(separatedBy: .newlines).first ?? "" + let cleanedNotes = firstLine.trimmingCharacters(in: .whitespacesAndNewlines) + // Filter out junk characters (like the -::~: pattern) + let validNotes = cleanedNotes.filter { char in + char.isLetter || char.isNumber || char.isWhitespace || char.isPunctuation && !"-:~".contains(char) + } + if !validNotes.isEmpty && validNotes.count <= 100 && !validNotes.allSatisfy({ "-:~".contains($0) }) { + meetingInfo += "\n Notes: \(String(validNotes))" + } + } + + return meetingInfo + }.joined(separator: "\n") + + let meetingCount = today.events.count + + summary = """ +Meetings: +\(meetingList) +""" + } + + NSPasteboard.general.declareTypes([NSPasteboard.PasteboardType.string], owner: nil) + NSPasteboard.general.setString(summary, forType: NSPasteboard.PasteboardType.string) + print("Copied meeting summary to clipboard") +} catch { + print("Error retrieving calendar events: \(error)") +} \ No newline at end of file diff --git a/commands/system/network-quality.sh b/commands/system/network-quality.sh index 607f6d0f9..efd2e8ffd 100755 --- a/commands/system/network-quality.sh +++ b/commands/system/network-quality.sh @@ -18,8 +18,8 @@ result=$(networkQuality -v) -rtt=$(echo "$result" | grep RTT | awk -F": " '{print $2}') -mbps_down=$(echo "$result" | grep "Download capacity" | awk -F": " '{print $2}') -mbps_up=$(echo "$result" | grep "Upload capacity" | awk -F": " '{print $2}') +rtt=$(echo "$result" | grep "Idle Latency" | awk '{print $3}') +mbps_down=$(echo "$result" | grep "Downlink capacity" | awk '{print $3 tolower($4)}') +mbps_up=$(echo "$result" | grep "Uplink capacity" | awk '{print $3 tolower($4)}') echo "↓ ${mbps_down} ↑ ${mbps_up} ↔ ${rtt} ms" diff --git a/commands/system/ocr.swift b/commands/system/ocr.swift index 2b8d37df4..cb22349e7 100755 --- a/commands/system/ocr.swift +++ b/commands/system/ocr.swift @@ -21,7 +21,7 @@ import Cocoa import Vision let screenCapturePath = "/tmp/ocr.png" -let recognitionLanguages = ["en-US", "zh-CN"] +let recognitionLanguages = ["zh-Hans", "en-US"] let joiner = " " @discardableResult diff --git a/commands/system/open-image-from-clipboard.sh b/commands/system/open-image-from-clipboard.sh new file mode 100755 index 000000000..affb7cdc1 --- /dev/null +++ b/commands/system/open-image-from-clipboard.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Dependency: `brew install pngpaste coreutils` +# pngpaste required to grab image from clipboard +# coreutils required to create temp file with suffix + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Open Image +# @raycast.mode compact + +# Optional parameters: +# @raycast.icon 📋 +# @raycast.packageName Clipboard + +# Documentation: +# @raycast.description Open Image from Clipboard in Preview for OCR or other purposes. +# @raycast.author xxchan +# @raycast.authorURL https://github.com/xxchan + +tempfile=$(gmktemp --suffix=.png) && pngpaste $tempfile && open $tempfile diff --git a/commands/system/otp.sh b/commands/system/otp.sh new file mode 100755 index 000000000..830ba3ded --- /dev/null +++ b/commands/system/otp.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# Dependency: This script requires `apw`, `jq` and `awk` to be installed and in $PATH +# +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title One-Time Password +# @raycast.mode silent +# +# Optional parameters: +# @raycast.icon 🔑 +# @raycast.packageName System +# @raycast.argument1 { "type": "text", "placeholder": "Domain" } +# @raycast.argument2 { "type": "text", "placeholder": "Username Index", "optional": true } +# +# @raycast.description Get One-Time Password (OTP) from Apple Password Manager +# @raycast.author Angelos Michalopoulos +# @raycase.authorURL https://github.com/miagg + +if ! command -v apw &> /dev/null || ! command -v jq &> /dev/null || ! command -v awk &> /dev/null; then + echo "This function requires apw, jq and awk to be installed" + exit 1 +fi +UINDEX=$((${2:-1} - 1)) +CODES=$(apw otp get "$1" 2>/dev/null) +STATUS=$? +# ✋ If return code 9, not authenticated, run apw auth +if [ $STATUS -eq 9 ]; then + echo "Please authenticate first by running 'apw auth'" + exit 1 +fi +# ✋ If return code 3, domain not found, alert user +if [ $STATUS -eq 3 ]; then + echo "Domain $1 not found" + exit 1 +fi +# Grab available OTP codes for domain +CODES_COUNT=$(echo $CODES | jq '.results | length') +if [ $CODES_COUNT -gt 1 ]; then + CODE=$(echo $CODES | jq -r ".results[$UINDEX].code") + USERNAME=$(echo $CODES | jq -r ".results[$UINDEX].username") + if [ "$CODE" == "null" ]; then + echo "Please provide an index between 1 and $CODES_COUNT" + exit 1 + fi +else + CODE=$(echo $CODES | jq -r '.results[0].code') + USERNAME=$(echo $CODES | jq -r ".results[0].username") +fi +echo $CODE | pbcopy +echo "OTP code for $USERNAME copied to clipboard" \ No newline at end of file diff --git a/commands/system/rename-videos-pictures.py b/commands/system/rename-videos-pictures.py new file mode 100755 index 000000000..f4f25c862 --- /dev/null +++ b/commands/system/rename-videos-pictures.py @@ -0,0 +1,127 @@ +#!/usr/bin/env python3 + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Rename Video +# @raycast.mode fullOutput + +# Optional parameters: +# @raycast.icon 📂 +# @raycast.argument1 { "type": "text", "placeholder": "Directory's absolute path", "optional": false } +# @raycast.argument2 { "type": "text", "placeholder": "Type (video/image/all)", "optional": true } +# @raycast.argument3 { "type": "text", "placeholder": "Dry Run (true/false)", "optional": true } + +# Documentation: +# @raycast.description This is a simple Python script for recursively renaming video and picture files within a directory. Type the root directory's absolute path, and it will scan all the video and picture files in it and rename them according to the folder where they are located as the format `--`. +# @raycast.author StepaniaH +# @raycast.authorURL https://github.com/StepaniaH + +import os +import sys +import datetime +import argparse +import re + +class RenameFilesAsDate: + def __init__(self, root_directory): + self.root_directory = os.path.expanduser(root_directory) + self.error_files = {} + self.video_extensions = ('.mp4', '.avi', '.mov', '.mkv', '.wmv', '.flv', '.webm', '.m4v', '.3gp') + self.image_extensions = ('.jpg', '.jpeg', '.png', '.gif', '.webp', '.bmp', '.tiff', '.svg', '.heic') + + def rename_files(self, file_type='all', dry_run=False): + current_date = datetime.datetime.now().strftime("%m%d") + self._process_directory(self.root_directory, current_date, file_type, dry_run) + + if self.error_files: + print("\nThe following files could not be renamed:") + for original_path, error in self.error_files.items(): + print(f"{original_path}: {error}") + + def _is_already_renamed(self, filename, current_date): + """Check if the file has been named according to the target format""" + base_name = os.path.splitext(filename)[0] + pattern = re.compile(f'^.*-{current_date}-\\d+$') + return bool(pattern.match(base_name)) + + def _get_max_sequence_number(self, directory, current_date): + """Get the largest serial number existing in the current directory""" + max_seq = 0 + pattern = re.compile(f'^.*-{current_date}-(\\d+)$') + + for entry in os.listdir(directory): + match = pattern.match(os.path.splitext(entry)[0]) + if match: + seq_num = int(match.group(1)) + max_seq = max(max_seq, seq_num) + return max_seq + + def _process_directory(self, directory, current_date, file_type, dry_run): + folder_name = os.path.basename(directory) + supported_extensions = self._get_supported_extensions(file_type) + + # First collect the files that need to be renamed + files_to_rename = [] + for entry in os.listdir(directory): + entry_path = os.path.join(directory, entry) + + if os.path.isfile(entry_path): + if entry.lower().endswith(supported_extensions): + if not self._is_already_renamed(entry, current_date): + files_to_rename.append(entry) + elif os.path.isdir(entry_path): + self._process_directory(entry_path, current_date, file_type, dry_run) + + if files_to_rename: + # Get the largest serial number existing in the current directory + count = self._get_max_sequence_number(directory, current_date) + 1 + total_files = len(files_to_rename) + num_digits = len(str(total_files + count - 1)) + + # Rename collected files + for entry in sorted(files_to_rename): # Sort to ensure consistent rename order + entry_path = os.path.join(directory, entry) + new_name = f"{folder_name}-{current_date}-{count:0{num_digits}d}{os.path.splitext(entry)[1].lower()}" + new_path = os.path.join(directory, new_name) + + if dry_run: + print(f"Would rename: {entry} -> {new_name}") + else: + try: + os.rename(entry_path, new_path) + print(f"Renamed: {entry} -> {new_name}") + except OSError as e: + self.error_files[entry_path] = f"Rename failed: {str(e)}" + continue + count += 1 + + def _get_supported_extensions(self, file_type): + if file_type == 'video': + return self.video_extensions + elif file_type == 'image': + return self.image_extensions + return self.video_extensions + self.image_extensions + +def main(): + args = sys.argv[1:] + + directory = None + file_type = 'all' + dry_run = False + + if len(args) >= 1: + directory = args[0] + if len(args) >= 2 and args[1]: + file_type = args[1] + if len(args) >= 3 and args[2]: + dry_run = args[2].lower() == 'true' + + if not directory: + print("Error: Directory argument is required.") + sys.exit(1) + + renamer = RenameFilesAsDate(directory) + renamer.rename_files(file_type, dry_run) + +if __name__ == '__main__': + main() diff --git a/commands/system/reset-launchpad.sh b/commands/system/reset-launchpad.sh new file mode 100755 index 000000000..5df20819d --- /dev/null +++ b/commands/system/reset-launchpad.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Reset Launchpad +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 🚀 +# @raycast.packageName System + +# Documentation: +# @raycast.description Resets the macOS Launchpad to its default state +# @raycast.author Zach Dawson +# @raycast.authorURL https://raycast.com/zdawz + +defaults write com.apple.dock ResetLaunchPad -bool true +killall Dock diff --git a/commands/system/sleep-timer.applescript b/commands/system/sleep-timer.applescript new file mode 100755 index 000000000..8cd9ae4ee --- /dev/null +++ b/commands/system/sleep-timer.applescript @@ -0,0 +1,22 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Sleep Timer +# @raycast.mode silent +# @raycast.description Put your Mac to sleep (in X minutes). +# @raycast.packageName System + +# Optional parameters: +# @raycast.icon 😴 +# @raycast.argument1 { "optional": true, "type": "text", "placeholder": "(in) minutes" } + +# Documentation: +# @raycast.author AndriiBarabash +# @raycast.authorURL https://github.com/AndriiBarabash + +on run argv + delay (item 1 of argv) * 60 + tell application "Finder" to sleep +end run + diff --git a/commands/system/toggle-desktop-widget.sh b/commands/system/toggle-desktop-widget.sh new file mode 100755 index 000000000..a78783604 --- /dev/null +++ b/commands/system/toggle-desktop-widget.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Toggle Desktop Widgets +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 🔄 + +# Documentation: +# @raycast.author Federico Zivolo +# @raycast.authorURL https://github.com/FezVrasta + +# Get the current value of the preference +current_value=$(defaults read com.apple.WindowManager StandardHideWidgets) + +# Toggle the value +if [[ $current_value == 1 ]]; then + new_value=0 +else + new_value=1 +fi + +# Write the new value to the preference +defaults write com.apple.WindowManager StandardHideWidgets -int $new_value diff --git a/commands/system/toggle-lid-sleep.sh b/commands/system/toggle-lid-sleep.sh new file mode 100755 index 000000000..0f76659e3 --- /dev/null +++ b/commands/system/toggle-lid-sleep.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +# Note: You must add pmset to sudoers for this script to work. +# 1- run to create file and open editor: +# sudo visudo -f /etc/sudoers.d/pmset +# 2- press 'i' to enter input mode +# 3- paste this line into the editor: +# ALL ALL=NOPASSWD: /usr/bin/pmset +# 4- press 'esc' to exit input mode +# 5- type this to exit and save file: +# :wq + +# Note: this will not prevent laptop sleep from timeout. +# Refer to System Settings and search for 'sleep' there for +# things like 'Turn display off on battery when inactive' and +# 'Prevent automatic sleeping on power adapter when the display is off' + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Toggle Lid Sleep +# @raycast.mode inline + +# Optional parameters: +# @raycast.icon 🐚 +# @raycast.packageName System + +# Documentation: +# @raycast.description Prevent sleep from closing laptop lid (clamshell mode) +# @raycast.author Ivan Rybalko +# @raycast.authorURL https://github.com/ivribalko + +validate_exit_code() +{ + if [ $? -ne 0 ]; then + echo "probably missing sudoers, see sources for how-to." + exit 1 + fi +} + +if [[ $(pmset -g | grep SleepDisabled | cut -f3) -eq '1' ]]; then + sudo pmset disablesleep 0 2> /dev/null + validate_exit_code + echo now on 💤 +else + sudo pmset disablesleep 1 2> /dev/null + validate_exit_code + echo now off ☕ +fi diff --git a/commands/system/toggle-natural-scrolling-macos15.applescript b/commands/system/toggle-natural-scrolling-macos15.applescript new file mode 100755 index 000000000..710b7e435 --- /dev/null +++ b/commands/system/toggle-natural-scrolling-macos15.applescript @@ -0,0 +1,69 @@ +#!/usr/bin/osascript + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Toggle Natural Scrolling (macOS 15+) +# @raycast.mode silent +# @raycast.packageName System + +# Optional parameters: +# @raycast.icon 🖱 +# @raycast.author Raphael-KR +# @raycast.authorURL https://github.com/Raphael-KR +# @raycast.description Toggle natural trackpad/mouse scrolling setting for macOS 15.6.1+ + +set macVersion to system version of (system info) + +if macVersion is greater than or equal to "15" then + try + set isNaturalScrolling to (do shell script "defaults read .GlobalPreferences 'com.apple.swipescrolldirection' 2>/dev/null || echo '1'") + + if isNaturalScrolling is "1" then + do shell script "defaults write .GlobalPreferences 'com.apple.swipescrolldirection' -bool NO" + display notification "Natural Scrolling: OFF" with title "Trackpad Settings" + else + do shell script "defaults write .GlobalPreferences 'com.apple.swipescrolldirection' -bool YES" + display notification "Natural Scrolling: ON" with title "Trackpad Settings" + end if + + do shell script "/System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u" + + on error e + display notification "Using GUI method as fallback" with title "Trackpad Settings" + + tell application "System Settings" + activate + set current pane to pane "com.apple.preference.trackpad" + end tell + + delay 0.6 + + tell application "System Events" + tell process "System Settings" + click radio button 2 of tab group 1 of window "Trackpad" + click checkbox 1 of tab group 1 of window "Trackpad" + end tell + end tell + + tell application "System Settings" to quit + end try + +else + display notification "For macOS 14 and earlier, use the original script" with title "Compatibility Note" + + tell application "System Settings" + activate + set current pane to pane "com.apple.preference.trackpad" + end tell + + delay 0.6 + + tell application "System Events" + tell process "System Settings" + click radio button 2 of tab group 1 of window "Trackpad" + click checkbox 1 of tab group 1 of window "Trackpad" + end tell + end tell + + tell application "System Settings" to quit +end if diff --git a/commands/system/toggle-natural-scrolling.applescript b/commands/system/toggle-natural-scrolling.applescript index 106652a37..1d3e13253 100755 --- a/commands/system/toggle-natural-scrolling.applescript +++ b/commands/system/toggle-natural-scrolling.applescript @@ -12,18 +12,32 @@ # @raycast.authorURL https://twitter.com/wileymarques # @raycast.description Script Command to change natural trackpad/mouse scrolling setting. Reverting the setting value each time. -tell application "System Preferences" - activate - set current pane to pane "com.apple.preference.trackpad" -end tell +set macVersion to system version of (system info) -delay 0.6 - -tell application "System Events" - tell process "System Preferences" - click radio button 2 of tab group 1 of window "Trackpad" - click checkbox 1 of tab group 1 of window "Trackpad" - end tell -end tell - -tell application "System Preferences" to quit +if macVersion is greater than or equal to "14" then + set isNaturalScrolling to (do shell script "defaults -currentHost read NSGlobalDomain com.apple.swipescrolldirection") + + if isNaturalScrolling is "1" then + do shell script "defaults -currentHost write NSGlobalDomain com.apple.swipescrolldirection -bool NO" + else + do shell script "defaults -currentHost write NSGlobalDomain com.apple.swipescrolldirection -bool YES" + end if + + do shell script "/System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u" +else + tell application "System Settings" + activate + set current pane to pane "com.apple.preference.trackpad" + end tell + + delay 0.6 + + tell application "System Events" + tell process "System Preferences" + click radio button 2 of tab group 1 of window "Trackpad" + click checkbox 1 of tab group 1 of window "Trackpad" + end tell + end tell + + tell application "System Settings" to quit +end if diff --git a/commands/web-searches/doi-clipboard.sh b/commands/web-searches/doi-clipboard.sh new file mode 100755 index 000000000..124ca87d6 --- /dev/null +++ b/commands/web-searches/doi-clipboard.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Find Paper +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 📖 +# @raycast.packageName DOI + +# Documentation: +# @raycast.description Scans clipboard and opens DOI links in your browser +# @raycast.author Razvan Azamfirei +# @raycast.authorURL https://github.com/razvanazamfirei +LINK="$(pbpaste)" +REGEX="^doi: 10." +if [[ "$LINK" =~ ^doi:10. ]]; then + IN="$LINK" + arrIN=("${IN//doi:/}") + URL="https://doi.org/${arrIN[0]}" + open "$URL" +elif [[ "$LINK" =~ ^doi/10. ]]; then + IN="$LINK" + arrIN=("${IN//doi///}") + URL="https://doi.org/${arrIN[0]}" + open "$URL" +elif [[ "$LINK" =~ ${REGEX} ]]; then + IN="$LINK" + arrIN=("${IN//doi: //}") + URL="https://doi.org/${arrIN[0]}" + open "$URL" +elif [[ "$LINK" =~ ^10. ]]; then + URL="https://doi.org/${LINK}" + open "$URL" +else + echo "Please specify a DOI" + exit 1 +fi diff --git a/commands/web-searches/doi.sh b/commands/web-searches/doi.sh new file mode 100755 index 000000000..0ec6a6e55 --- /dev/null +++ b/commands/web-searches/doi.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Find Paper +# @raycast.mode silent + +# Optional parameters: +# @raycast.icon 📖 +# @raycast.argument1 { "type": "text", "placeholder": "DOI" } +# @raycast.packageName DOI + +# Documentation: +# @raycast.description Parses and opens DOI links in your browser +# @raycast.author Razvan Azamfirei +# @raycast.authorURL https://github.com/razvanazamfirei +LINK="$1" +REGEX="^doi: 10." +if [[ "$LINK" =~ ^doi:10. ]]; then + IN="$LINK" + arrIN=("${IN//doi:/}") + URL="https://doi.org/${arrIN[0]}" + open "$URL" +elif [[ "$LINK" =~ ^doi/10. ]]; then + IN="$LINK" + arrIN=("${IN//doi///}") + URL="https://doi.org/${arrIN[0]}" + open "$URL" +elif [[ "$LINK" =~ ${REGEX} ]]; then + IN="$LINK" + arrIN=("${IN//doi: //}") + URL="https://doi.org/${arrIN[0]}" + open "$URL" +elif [[ "$LINK" =~ ^10. ]]; then + URL="https://doi.org/${LINK}" + open "$URL" +else + echo "Please specify a DOI" + exit 1 +fi diff --git a/commands/web-searches/google-maps.sh b/commands/web-searches/google-maps.sh new file mode 100755 index 000000000..d856d504b --- /dev/null +++ b/commands/web-searches/google-maps.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Search Google Maps +# @raycast.mode silent +# @raycast.packageName Google Maps + +# Optional parameters: +# @raycast.icon images/google-map.png +# @raycast.argument1 { "type": "text", "placeholder": "Location", "optional": true} +# @raycast.argument2 { "type": "text", "placeholder": "Destination", "optional": true} + +first_argument=${1// /+} +second_argument=${2// /+} + +if [ "$1" != "" ]; then + if [ "$2" = "" ]; then + open "https://www.google.com/maps/dir/?api=1&origin=$first_argument" + else + open "https://www.google.com/maps/dir/?api=1&origin=$first_argument&destination=$second_argument" + fi +elif [ "$1" = "" ] && [ "$2" != "" ]; then + open "https://www.google.com/maps/dir/?api=1&origin=Current+Location&destination=$second_argument" +else + open "https://www.google.com/maps" +fi diff --git a/commands/google-maps/images/google-map.png b/commands/web-searches/images/google-map.png similarity index 100% rename from commands/google-maps/images/google-map.png rename to commands/web-searches/images/google-map.png diff --git a/commands/web-searches/images/opensecrets.png b/commands/web-searches/images/opensecrets.png new file mode 100644 index 000000000..31b9b71fa Binary files /dev/null and b/commands/web-searches/images/opensecrets.png differ diff --git a/commands/web-searches/images/rust.png b/commands/web-searches/images/rust.png new file mode 100644 index 000000000..1eaa7709d Binary files /dev/null and b/commands/web-searches/images/rust.png differ diff --git a/commands/web-searches/opensecrets.sh b/commands/web-searches/opensecrets.sh new file mode 100755 index 000000000..5fac9559f --- /dev/null +++ b/commands/web-searches/opensecrets.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Search OpenSecrets.org +# @raycast.mode silent +# +# Optional parameters: +# @raycast.packageName Web Searches +# @raycast.icon images/opensecrets.png +# @raycast.argument1 { "type": "text", "placeholder": "Query", "percentEncoded": true } +# @raycast.argument2 { "type": "text", "placeholder": "Type (default: donor)", "optional": true, "percentEncoded": true } +# @raycast.author Daniel Sieradski +# @raycast.authorURL https://github.com/selfagency + +case $(tr "[:upper:]" "[:lower:]" <<<$2) in +"" | "d" | "donor" | "donors") + searchtype="donors" + ;; +"p" | "pol" | "pols" | "politician" | "politicians" | "l" | "lob" | "lobbyist" | "lobbyists") + searchtype="indiv" + ;; +"o" | "org" | "orgs" | "organization" | "organizations") + searchtype="orgs" + ;; +"n" | "news") + searchtype="news" + ;; +"s" | "site") + searchtype="site" + ;; +*) + searchtype=$2 + ;; +esac + +open "https://www.opensecrets.org/search?q=$1&type=$searchtype" diff --git a/commands/web-searches/search-rust-docs.sh b/commands/web-searches/search-rust-docs.sh new file mode 100755 index 000000000..7c28cf948 --- /dev/null +++ b/commands/web-searches/search-rust-docs.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Search Rust Documentation +# @raycast.mode silent +# +# Optional parameters: +# @raycast.packageName Web Searches +# @raycast.icon images/rust.png +# @raycast.argument1 { "type": "text", "placeholder": "Name", "percentEncoded": true } +# +# Example query: +# Searching for `expect` will open this link in your browser: +# `https://doc.rust-lang.org/std/?search=expect`. +# +# Documentation: +# @raycast.author lemorage +# @raycast.authorURL https://raycast.com/lemorage +# @raycast.description Search Rust documentation + +query=$(echo "$1" | sed 's/ /%20/g') + +open "https://doc.rust-lang.org/std/?search=$query" diff --git a/commands/web-searches/search-script-command-marketplace.sh b/commands/web-searches/search-script-command-marketplace.sh index 17b36d23b..5280ec224 100755 --- a/commands/web-searches/search-script-command-marketplace.sh +++ b/commands/web-searches/search-script-command-marketplace.sh @@ -9,11 +9,11 @@ # @raycast.icon images/marketplace-logo.png # @raycast.argument1 { "type": "text", "placeholder": "query"} # @raycast.packageName Web Searches -# @raycast.description Search for Script Commands in the [Unofficial Raycast Script Commands Marketplace](https://scriptcommands.com). +# @raycast.description Search for Script Commands in the [Unofficial Raycast Script Commands Marketplace](https://scriptcommands.alexandru.so). # Documentation: # @raycast.author Alexandru Turcanu # @raycast.authorURL https://github.com/Pondorasti -open "https://scriptcommands.com/?search=$1" +open "https://scriptcommands.alexandru.so/?search=$1" diff --git a/documentation/ARGUMENTS.md b/documentation/ARGUMENTS.md index a8fcd0a13..e9d34d296 100644 --- a/documentation/ARGUMENTS.md +++ b/documentation/ARGUMENTS.md @@ -5,14 +5,15 @@ Raycast allows you to set arguments for your script to enable you to do things l Use `argument[1..3]` metadata to specify custom arguments that will be displayed as inputs in the search bar when the script is selected. ![Custom arguments](/images/screenshots/custom-arguments.png) - The value of the argument metadata parameter should be valid json with these fields: +The value of the argument metadata parameter should be valid json with these fields: | Field | Description | Required | App Version | | ----- | ----------- | -------- | ----------- | -| type | Input type. For now only "text" value available. | ✅ | 1.2.0+ | +| type | The argument type. We currently support `"text"`, `"password"` (for secure entry), and `"dropdown"`. When the type is `password`, entered text will be replaced with asterisks. Most common use case – passing passwords or secrets to commands. | ✅ | 1.64.0+ | | placeholder | Placeholder for the input field. | ✅ | 1.2.0+ | -| optional | Set to `true` if you want to mark the argument as optional. When not provided, the argument is considered to be required (Raycast will not allow to execute the script if the argument input is empty) | | 1.3.0+ | -| percentEncoded | Set to `true` if you want Raycast to perform percent encoding on the argument value before passing it to the script. Can be handy for scripts that pass the argument directly to URL query | | 1.4.0+ | -| secure | When set to `true` entered text will be replaced with asterisks and won't be recorded by history. Most common use case – passing passwords or secrets to scripts. | | 1.18.0+ | +| optional | Set to `true` if you want to mark the argument as optional. When not provided, the argument is considered to be required (Raycast will not allow executing the script if the argument input is empty) | | 1.3.0+ | +| percentEncoded | Set to `true` if you want Raycast to perform percent-encoding on the argument value before passing it to the script. Can be handy for scripts that pass the argument directly to URL query | | 1.4.0+ | +| data | An array of objects with `title` and `value` properties, e.g.: `[{"title": "Item 1", "value": "1"}]` | ✅ when `type` is `dropdown`. | 1.64.0+ | +| ~~secure~~ | Deprecated in favor of `"type" = "password"` | | 1.18.0+ | 💡 **Maximum number of arguments:** 3 (if you have a use case that requires more, please let us know via feedback or in the [Slack community](https://www.raycast.com/community)) diff --git a/documentation/OUTPUTMODES.md b/documentation/OUTPUTMODES.md index cd98677fb..b4f2f0ca2 100644 --- a/documentation/OUTPUTMODES.md +++ b/documentation/OUTPUTMODES.md @@ -23,7 +23,7 @@ In `inline` mode, the first line of output will be directly shown in the command Please note that long-running tasks generating a lot of partial data are not supported for `compact`, `silent`, and `inline` modes. For example, the `zip` command generates a lot of partial logs when compressing folders with many files. Scripts using `zip` won't work on `compact`, `silent`, and `inline`; but they will work in `fullOutput`. To make it work in the other modes you need to use the `zip -q` flag. -# ANSII Supported Colors 🎨 +# ANSI Supported Colors 🎨 We support colors for `inline` and `fullOutput` mode scripts for you to customize generated output by changing its background and foreground color. diff --git a/templates/script-command.template.applescript b/templates/script-command.template.applescript index 392ac4f61..fe98b9c3a 100644 --- a/templates/script-command.template.applescript +++ b/templates/script-command.template.applescript @@ -2,7 +2,7 @@ # Raycast Script Command Template # -# Duplicate this file and remove ".template." from the filename to get started. +# Duplicate this file and remove ".template" from the filename to get started. # See full documentation here: https://github.com/raycast/script-commands # # Required parameters: diff --git a/templates/script-command.template.php b/templates/script-command.template.php index 99e524e0a..7d946f971 100644 --- a/templates/script-command.template.php +++ b/templates/script-command.template.php @@ -5,7 +5,7 @@ # Dependency: This script requires PHP # Install PHP: http://www.https://www.php.net/ # -# Duplicate this file and remove ".template." from the filename to get started. +# Duplicate this file and remove ".template" from the filename to get started. # See full documentation here: https://github.com/raycast/script-commands # # Required parameters: diff --git a/templates/script-command.template.py b/templates/script-command.template.py index 5b2ad7760..e91e99e6d 100755 --- a/templates/script-command.template.py +++ b/templates/script-command.template.py @@ -5,7 +5,7 @@ # Dependency: This script requires Python 3 # Install Python 3: https://www.python.org/downloads/release # -# Duplicate this file and remove ".template." from the filename to get started. +# Duplicate this file and remove ".template" from the filename to get started. # See full documentation here: https://github.com/raycast/script-commands # # Required parameters: diff --git a/templates/script-command.template.rb b/templates/script-command.template.rb index 125f8ac70..8638b88f1 100755 --- a/templates/script-command.template.rb +++ b/templates/script-command.template.rb @@ -5,7 +5,7 @@ # Dependency: This script requires Ruby # Install Ruby: http://www.ruby-lang.org/ # -# Duplicate this file and remove ".template." from the filename to get started. +# Duplicate this file and remove ".template" from the filename to get started. # See full documentation here: https://github.com/raycast/script-commands # # Required parameters: diff --git a/templates/script-command.template.sh b/templates/script-command.template.sh index e9b58a871..14be6c7ba 100755 --- a/templates/script-command.template.sh +++ b/templates/script-command.template.sh @@ -2,7 +2,7 @@ # Raycast Script Command Template # -# Duplicate this file and remove ".template." from the filename to get started. +# Duplicate this file and remove ".template" from the filename to get started. # See full documentation here: https://github.com/raycast/script-commands # # Required parameters: diff --git a/templates/script-command.template.swift b/templates/script-command.template.swift index 013aabb7a..ece06d55b 100755 --- a/templates/script-command.template.swift +++ b/templates/script-command.template.swift @@ -2,7 +2,7 @@ // Raycast Script Command Template // -// Duplicate this file and remove ".template." from the filename to get started. +// Duplicate this file and remove ".template" from the filename to get started. // See full documentation here: https://github.com/raycast/script-commands // // Required parameters: diff --git a/toolkit b/toolkit deleted file mode 120000 index 9eafa89f8..000000000 --- a/toolkit +++ /dev/null @@ -1 +0,0 @@ -Tools/Toolkit/.build/release/Toolkit \ No newline at end of file