Skip to content

Instantly share code, notes, and snippets.

Vítor Galvão vitorgalvao

Block or report user

Report or block vitorgalvao

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@vitorgalvao
vitorgalvao / ipboard_bbcode_renderer.rb
Last active Feb 26, 2018
IPBoard BBCode renderer for Redcarpet
View ipboard_bbcode_renderer.rb
require 'redcarpet'
class IPBoardBBCodeRender < Redcarpet::Render::Base
# Needed since we are inheriting from the base render, which doesn't implement any method by default
def paragraph(text)
"\n\n" + text
end
def emphasis(text)
surround(text, :i)
@vitorgalvao
vitorgalvao / process_indicator.sh
Created Apr 22, 2017
Bash progress indicator and spinner
View process_indicator.sh
# You need to end the command to track with `&` so it goes to the background.
# Running these with no arguments will track the latest running process until it ends. Alternatively, give a PID.
# Progress indicator. Outputs an extra `.` every 0.75 seconds.
function progress_indicator {
local pid
if [[ -n "${1}" ]]; then
pid="${1}"
else
@vitorgalvao
vitorgalvao / correct_keystroke.applescript
Last active May 8, 2017
Correctly keystroke characters in AppleScript
View correct_keystroke.applescript
-- While `keystroke text_to_write` also works, it types so fast some characters get mixed up.
-- For example, `keytroke "Example"` might result in `EXample` as if AppleScript wasn’t fast enough to release ⇧ after the `E`.
-- By using a `repeat` loop, we ensure each character gets typed in isolation.
-- However, you might need to decompose certain characters. For example, to type `ã` you might have to tell the command to type `~a`.
-- In those situations it might also be beneficial to add a `delay 0.01` before the `end repeat`.
on type_text(text_to_write)
tell application "System Events"
repeat with c from 1 to count characters of text_to_write
keystroke (character c of text_to_write)
@vitorgalvao
vitorgalvao / make_icns.bash
Created Feb 14, 2017
Bash function to build an .icns from a .png, with no dependencies
View make_icns.bash
function make_icns {
local file="${1}"
local iconset="$(mktemp -d)"
local output_icon="$(mktemp).icns"
for size in {16,32,64,128,256,512}; do
sips --resampleHeightWidth "${size}" "${size}" "${file}" --out "${iconset}/icon_${size}x${size}.png" &> /dev/null
sips --resampleHeightWidth "$((size * 2))" "$((size * 2))" "${file}" --out "${iconset}/icon_${size}x${size}@2x.png" &> /dev/null
done
@vitorgalvao
vitorgalvao / RightClick.applescript
Last active May 26, 2020
Make right-clicking on OSX accessible via a keyboard shortcut.
View RightClick.applescript
(*
Even though a [native solution][1] exists, it still suffers from a big flaw: it right-clicks the place you cursor is, not what you’re selecting. This addresses that limitation.
You can install this as a [Finder Service, and later asign it a keyboard shortcut][2].
[1]: http://stackoverflow.com/questions/9171613/right-click-shortcut-for-mac-lion-os
[2]: http://www.macosxautomation.com/services/learn/tut01/index.html
*)
@vitorgalvao
vitorgalvao / get_title_and_url.applescript
Last active May 13, 2020
AppleScript and JavaScript for Automation to get frontmost tab’s url and title of various browsers.
View get_title_and_url.applescript
-- AppleScript --
-- This example is meant as a simple starting point to show how to get the information in the simplest available way.
-- Keep in mind that when asking for a `return` after another, only the first one will be output.
-- This method is as good as its JXA counterpart.
-- Google Chrome
tell application "Google Chrome" to return title of active tab of front window
tell application "Google Chrome" to return URL of active tab of front window
-- Google Chrome Canary
You can’t perform that action at this time.