Specify what you want urlview to open your links with in ~/.urlview after COMMAND
. I.e. the line below will make urlview open all urls in Firefox.
COMMAND firefox
// GitHub: git clone someone else's repository & git push to your own repository | |
// Create a new repository at github.com. (this is your repository) | |
// Give it the same name as the other repository. | |
// Don't initialize it with a README, .gitignore, or license. | |
// Clone the other repository to your local machine. (if you haven't done so already) | |
// git clone https://github.com/other-account/other-repository.git | |
// Rename the local repository's current 'origin' to 'upstream'. |
const drawille = require('drawille') | |
const bunny = require('bunny') | |
const glmatrix = require('gl-matrix') | |
const width = 200 | |
const height = 200 | |
const canvas = new drawille(width, height) | |
const mat4 = glmatrix.mat4 | |
const vec3 = glmatrix.vec3 | |
let points = [] |
{"title": "Mission control, elaborate", | |
"rules":[ | |
{ "description": "Mission control, elaborate; requires Ctrl, Shft & arrows. Was created to make movements in Mission Control 'key-able', but works in all apps.", | |
"manipulators": [ | |
{ "from": { | |
"key_code": "right_arrow", | |
"modifiers": { | |
"mandatory": ["control", | |
"shift"] } }, | |
"to": [ |
// Unmap undesired defaults | |
const unmaps = [ | |
"sb", "sw", "ob", | |
"ow", "cp", ";cp", | |
";ap", "spa", "spb", | |
"spd", "sps", "spc", | |
"spi", "sfr", "zQ", | |
"zz", "zR", "ab", | |
"Q", "q", "ag", | |
"af", ";s", "yp", |
# Modified from https://github.com/alyssais configuration. | |
# | |
# The following configuration heavily leverages modal keymaps to minimize the | |
# pollution of global keybindings. In addition, the modal keymaps facilitate | |
# the consistent use of the same keybindings across different modes. For | |
# example, this configuration uses 'h', 'l', 'j', and 'k' to represent west, | |
# east, south, and north when: changing focus, warping windows, resizing | |
# windows, swapping windows, and moving floating windows. Those four keys are | |
# mapped differently depending on the current mode to provide a consistent user | |
# experience. |
/* | |
Requirements: | |
* iTerm | |
* nvim | |
* nvr | |
Install: | |
1. New application in Automator | |
2. Add Run JavaScript action |
// Helper function to convert node lists returned by querySelectorAll to an array | |
// so that we can used methods like map and filter. | |
function toArray(nodeList) { | |
let array = [] | |
nodeList.forEach(node => array.push(node)) | |
return array | |
} | |
// Returns a text (like markdown) representation of a trello board. | |
function trelloBoardAsText() { |
async function nextFrame() { | |
return new Promise((resolve) => { | |
requestAnimationFrame(resolve) | |
}) | |
} | |
async function randomDelay(min, max) { | |
const delay = Math.random() * (max - min) + min; | |
const startTime = performance.now() | |
while (performance.now() - startTime < delay) { |
(function () { | |
'use strict'; | |
// OSX JavaScript for Applications lacks the persistent 'properties' | |
// of AppleScript (in which global variables and properties persist between script runs) | |
// but we can, of course, serialise to JSON or plist at the end of a script | |
// parsing it at the start of the next run. | |
// Here is one approach to persistence between script runs | |
// using JSON.stringify() and JSON.parse() |