Skip to content

Instantly share code, notes, and snippets.

View samhenrigold's full-sized avatar
📱
out with rach, cell’s hot if u r

samhenrigold

📱
out with rach, cell’s hot if u r
View GitHub Profile

Wrapping Algorithm for Multiline Canvas Text (+types and max line count support!)

A simple text wrapping algorithm for multiline canvas text. Does not support hyphenation but will break words that don’t fit on a line by themselves.

If the next word will exceed maxLines, the text will be truncated with an ellipsis. maxLines is uncapped by default.

@samhenrigold
samhenrigold / De-dobe.scpt
Last active March 23, 2025 23:20
Kill all Adobe CC daemons on app quit
-- Original script by Ted Wrigley (https://stackoverflow.com/questions/63786497/is-it-possible-to-run-an-automator-workflow-when-a-program-exits/69959340#69959340)
use framework "AppKit"
use scripting additions
property NSWorkspace : class "NSWorkspace"
property whitelist : {"com.adobe.ARM", "com.adobe.Acrobat", "com.adobe.Acrobat.Pro", "com.adobe.AdobePremierePro", "com.adobe.AfterEffects", "com.adobe.InCopy", "com.adobe.InDesign", "com.adobe.InDesignServer", "com.adobe.Lightroom2", "com.adobe.Lightroom3", "com.adobe.Muse.application", "com.adobe.Photoshop", "com.adobe.PhotoshopElements", "com.adobe.Reader", "com.adobe.bridge3", "com.adobe.bridge4", "com.adobe.bridge4.1", "com.adobe.dreamweaver-15.0", "com.adobe.dreamweaver-15.1", "com.adobe.dreamweaver-16.0", "com.adobe.dreamweaver-16.1", "com.adobe.estoolkit-3.0", "com.adobe.estoolkit-3.5", "com.adobe.estoolkit-3.6", "com.adobe.flash", "com.adobe.illustrator", "com.adobe.photodownloader", "com.adobe.pse11editor", "com.adobe.pse12editor", "com.adobe.pse9ed
@samhenrigold
samhenrigold / medium-to-scribe.js
Last active September 15, 2023 19:29
UserScript to redirect medium.com articles to scribe.rip
// ==UserScript==
// @name Medium to Scribe
// @description Redirects Medium.com articles to scribe.rip
// @match *://*/*
// @exclude /^https?://(www\.)?medium\.com/((\?.*)|((m|about|creators|membership)/.*))$/
// @run-at document-end
// @version 1.2.4
// @updateURL https://gist.githubusercontent.com/samhenrigold/4a082dde823bc3cb62e43a2fc2b12b8e/raw/medium-to-scribe.js
// ==/UserScript==
@samhenrigold
samhenrigold / .funky
Created July 2, 2021 14:58
macOS Funky
#!/usr/bin/env bash
# Ask for the administrator password upfront
sudo -v
# Keep-alive: update existing `sudo` time stamp until `.funky` has finished
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
###############################################################################
# General UI/UX #
@samhenrigold
samhenrigold / gist:887ebeb947fe0844e6e58e91e2f86d6c
Last active July 4, 2021 21:03
Useful JS Console Snippets

Check all checkboxes

$$('input[type="checkbox"').map(i => i.checked = true)

UNcheck all checkboxes

$$('input[type="checkbox"').map(i => i.checked = false)

Allow all text to be selectable

document.querySelectorAll('*').style.userSelect = 'auto';

Extract all links from website to a table