├── .gitignore ├── .gitmodules ├── README.markdown ├── Rakefile ├── automator ├── Pomodoro.workflow │ └── Contents │ │ ├── Info.plist │ │ ├── QuickLook │ │ └── Thumbnail.png │ │ └── document.wflow ├── Toggle Mute Microphone.workflow │ └── Contents │ │ ├── Info.plist │ │ ├── QuickLook │ │ └── Thumbnail.png │ │ └── document.wflow └── Upload to Imgur.workflow │ └── Contents │ ├── Info.plist │ ├── QuickLook │ └── Thumbnail.png │ └── document.wflow ├── bin ├── .gitignore ├── Detect Displays.scpt ├── apacheconf ├── appledoc ├── backup-dewback ├── backup-rocketdrive ├── backup-talos ├── backup-thesextons ├── backup-wampa ├── bash-color ├── battery-temperature ├── ci-screensaver ├── codeship ├── colortest ├── dashboard ├── docker-build-n-push ├── docker-fuckit ├── dotfiles-update ├── envrc ├── exercism ├── fix-pow ├── git-action ├── git-browse ├── git-cal ├── git-churn ├── git-cleanup-merged-branches ├── git-keys ├── git-publish-branch ├── git-rank-contributors ├── git-wtf ├── heroku-environments ├── ibeacon ├── mobile-safari-inspector ├── omnifocus ├── pg_start ├── pg_stop ├── production ├── puma-browse ├── reattach-to-user-namespace ├── rsync-amazon-music ├── rsync-ci-screensaver ├── selecta ├── slack-delete-files ├── ssh-copy-id ├── staging ├── suggest-pass ├── today-in-history ├── tssh ├── upload2media.districttaco.com ├── webserver ├── what-is-open └── xcode ├── home ├── ackrc ├── bash_login ├── git_template │ ├── commit.txt │ └── hooks │ │ ├── ctags │ │ ├── post-checkout │ │ ├── post-commit │ │ ├── post-merge │ │ ├── post-rewrite │ │ └── prepare-commit-msg ├── gitconfig ├── gitignore ├── gitmessage ├── irbrc ├── jslintrc ├── powconfig ├── profile ├── rvmrc ├── safari │ └── user.css ├── screenrc ├── tmux.conf ├── vim-bundles ├── vimrc ├── zshenv └── zshrc ├── iterm2 ├── README ├── Spaceman Spiff.itermcolors └── com.googlecode.iterm2.plist ├── karabiner ├── README └── private.xml ├── launchbar ├── Actions │ ├── Apple Hot News.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── Apple Logo.png │ │ │ ├── Apple Logo@2x.png │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── Scripts │ │ │ └── default.rb │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Copy SSH public key to clipboard.scpt │ ├── Dark Mode.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ └── darkmodeTemplate.png │ │ │ ├── Scripts │ │ │ └── default.scpt │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeRequirements-1 │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Did you mean.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ └── Scripts │ │ │ ├── default.rb │ │ │ └── suggestions.rb │ ├── Generate UUID.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ └── Scripts │ │ │ └── default.sh │ ├── Hide File or Folder.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── Scripts │ │ │ └── default.sh │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Hide Icons on Desktop.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── Scripts │ │ │ └── default.sh │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Light Mode.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ └── lightmodeTemplate.png │ │ │ ├── Scripts │ │ │ └── default.scpt │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeRequirements-1 │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Notes Navigator.lbaction │ │ ├── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ │ └── en.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ └── Scripts │ │ │ │ └── default.scpt │ │ ├── README.md │ │ └── images │ │ │ └── Notes_Demo.gif │ ├── Objective Development Blog.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── ObDev Logo.png │ │ │ ├── ObDev Logo@2x.png │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── Scripts │ │ │ └── default.rb │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Open Anyway.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── Scripts │ │ │ └── default.sh │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Pinboard Log In.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── BookmarkTemplate.icns │ │ │ ├── PinboardTemplate.icns │ │ │ ├── TagTemplate.icns │ │ │ └── pinboard.jpg │ │ │ └── Scripts │ │ │ └── pinboard-login.js │ ├── Pinboard Recent.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── BookmarkTemplate.icns │ │ │ ├── PinboardTemplate.icns │ │ │ └── TagTemplate.icns │ │ │ └── Scripts │ │ │ ├── pinboard-recent.js │ │ │ └── shared.js │ ├── Pinboard Search.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── BookmarkTemplate.icns │ │ │ ├── PinboardTemplate.icns │ │ │ └── TagTemplate.icns │ │ │ └── Scripts │ │ │ ├── pinboard-search.js │ │ │ ├── search.js │ │ │ └── shared.js │ ├── Pinboard Tags.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── BookmarkTemplate.icns │ │ │ ├── PinboardTemplate.icns │ │ │ └── TagTemplate.icns │ │ │ └── Scripts │ │ │ ├── pinboard-tags.js │ │ │ └── shared.js │ ├── Pinboard Unread.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── BookmarkTemplate.icns │ │ │ ├── PinboardTemplate.icns │ │ │ └── TagTemplate.icns │ │ │ └── Scripts │ │ │ ├── pinboard-unread.js │ │ │ └── shared.js │ ├── Post current iTunes song on Twitter.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── de.lproj │ │ │ │ ├── InfoPlist.strings │ │ │ │ └── default.strings │ │ │ └── en.lproj │ │ │ │ └── default.strings │ │ │ ├── Scripts │ │ │ └── default.js │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Search Duden.de.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── Duden.png │ │ │ ├── Duden@2x.png │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── Scripts │ │ │ ├── default.js │ │ │ └── suggestions.js │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Search WolframAlpha.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── WolframAlpha.png │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── result.png │ │ │ ├── Scripts │ │ │ ├── default.js │ │ │ └── suggestions.js │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Select iTunes AirPlay Device.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── AirPlay.icns │ │ │ ├── AirPlayActive.icns │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── Scripts │ │ │ └── default.scpt │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Show Icons on Desktop.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── Scripts │ │ │ └── default.sh │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Sort Lines of Text.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── Scripts │ │ │ └── default.js │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Toggle Dark Mode.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ └── toggledarklightTemplate.png │ │ │ ├── Scripts │ │ │ └── default.scpt │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeRequirements-1 │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Toggle Notification Center.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── TNCTemplate.pdf │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── Scripts │ │ │ └── TNC.scpt │ ├── Turn Bluetooth Off.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── Scripts │ │ │ ├── blueutil │ │ │ └── default.sh │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Turn Bluetooth On.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── Scripts │ │ │ ├── blueutil │ │ │ └── default.sh │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Unhide File or Folder.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── Scripts │ │ │ └── default.sh │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── VPNs.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Resources │ │ │ ├── VPN-active.png │ │ │ ├── VPN.png │ │ │ ├── de.lproj │ │ │ │ └── InfoPlist.strings │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── Scripts │ │ │ ├── default.rb │ │ │ └── toggleVPN.rb │ │ │ └── _CodeSignature │ │ │ ├── CodeDirectory │ │ │ ├── CodeRequirements │ │ │ ├── CodeResources │ │ │ └── CodeSignature │ ├── Vim Scratch.lbaction │ │ └── Contents │ │ │ ├── Info.plist │ │ │ └── Scripts │ │ │ └── default.sh │ └── timer.scpt └── Snippets │ ├── Baymax (●—● ).txt │ ├── Command ⌘.txt │ ├── Control ⌃.txt │ ├── Current Date & Time.txt │ ├── Current Date (ISO Format).txt │ ├── Current Time (24-hour).txt │ ├── Current Time (AM:PM).txt │ ├── Double Heart Eyes ♥‿♥.txt │ ├── Double Table Flip ┻━┻ ︵ヽ(`Д´)ノ︵ ┻━┻.txt │ ├── Enclose in “Typographic Quotes”.txt │ ├── Facepalm (-‸ლ).txt │ ├── Heart ♥.txt │ ├── Hello Clipboard.txt │ ├── Hi There (•◡•).txt │ ├── I dont know guy ¯\_(ツ)_:¯.txt │ ├── Look of Disapproval ಠ_ಠ.txt │ ├── Lorem Ipsum.txt │ ├── Obliviously happy ◕‿◕.txt │ ├── Option ⌥.txt │ ├── Panic and scream ⊙▃⊙.txt │ ├── Panic and worry (ʘᗩʘ').txt │ ├── Phone number (703) 618-6113.txt │ ├── Picard Facepalm Gif.txt │ ├── Quiver worry fret ⊙﹏⊙.txt │ ├── README │ ├── Satisfaction (¬‿¬).txt │ ├── Shift ⇧.txt │ ├── Table flipped ┬─┬ ︵ (.□. ).txt │ ├── Thank you very much.txt │ ├── Throw you away (╯°□°)╯︵( .o.) .txt │ ├── Very sad (ू˃̣̣̣̣̣̣︿˂̣̣̣̣̣̣ ू).txt │ ├── Whee ヽ(。_°)ノ.txt │ ├── Yours Sincerely.txt │ ├── adventure time | (• ◡•)| (❍ᴥ❍ʋ).txt │ ├── angry face (⋟﹏⋞).txt │ ├── bear ʕ•ᴥ•ʔ.txt │ ├── crying face (╥﹏╥).txt │ ├── facepalm (>ლ).txt │ ├── flip table (╯°□°)╯︵ ┻━┻.txt │ ├── flip table in rage (ノಠ益ಠ)ノ彡┻━┻ .txt │ ├── help face ٩(͡๏̯͡๏)۶.txt │ ├── hugs (っ◕‿◕)っ.txt │ ├── put 'em up (ง'̀-'́)ง.txt │ ├── put this table back ┬──┬ ノ( ゜-゜ノ).txt │ ├── sad disaproval ಠ⌣ಠ.txt │ └── zombie face [¬º-°]¬.txt ├── resources └── logo.png ├── terminal ├── Risto.terminal ├── Spaceman Spiff.terminal └── Tomorrow Night.terminal ├── vim ├── colors │ └── pyte.vim ├── gvimrc ├── indent │ └── css.vim ├── plugin │ ├── preso.vim │ └── status.vim ├── skeleton │ └── ruby.rb ├── spell │ ├── en.utf-8.add │ └── en.utf-8.add.spl └── undo │ └── .gitkeep ├── visualstudio └── risto.vssettings ├── xcode ├── README └── RistoInk.xccolortheme └── zsh └── completion └── _swift /.gitignore: -------------------------------------------------------------------------------- 1 | vim/tmp/ 2 | bin/p4 3 | bin/irc-say 4 | bin/mr-curl 5 | bin/mate 6 | bin/nobu* 7 | vim/.VimballRecord 8 | vim/.cache 9 | vim/bundle 10 | vim/pack 11 | vim/tmp 12 | vim/undo 13 | bin/silly* 14 | bin/mac* 15 | vim/.netrwhist 16 | *~ 17 | tags 18 | bin/ngrok 19 | bin/rad-dfu 20 | bin/radbeacon-flasher 21 | bin/rbcomser 22 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/.gitmodules -------------------------------------------------------------------------------- /README.markdown: -------------------------------------------------------------------------------- 1 | ![I am easily satisfied with the very best](https://raw.github.com/csexton/dotfiles/master/resources/logo.png) 2 | 3 | ~ Winston Churchill 4 | 5 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | def puts_red(str) 2 | puts " \e[00;31m#{str}\e[00m" 3 | end 4 | def puts_green(str) 5 | puts " \e[00;32m#{str}\e[00m" 6 | end 7 | def puts_blue(str) 8 | puts " \e[00;34m#{str}\e[00m" 9 | end 10 | 11 | # Create a simlink in the user's home directory from the files in ./home 12 | # src - file name of a file in .home/ 13 | # dest - name of the symlink to create in $HOME 14 | def symlink_home(src, dest) 15 | home_dir = ENV['HOME'] 16 | if( !File.exists?(File.join(home_dir, dest)) || File.symlink?(File.join(home_dir, dest)) ) 17 | # FileUtils.ln_sf was making odd nested links, and this works. 18 | FileUtils.rm(File.join(home_dir, dest)) if File.symlink?(File.join(home_dir, dest)) 19 | FileUtils.ln_s(File.join(File.dirname(__FILE__), src), File.join(home_dir, dest)) 20 | puts_green " #{dest} -> #{src}" 21 | else 22 | puts_red " Unable to symlink #{dest} because it exists and is not a symlink" 23 | end 24 | end 25 | 26 | # Detect if this is a mac 27 | def mac? 28 | RUBY_PLATFORM =~ /darwin/i 29 | end 30 | 31 | # Detect if this is linux 32 | def linux? 33 | RUBY_PLATFORM =~ /linux/i 34 | end 35 | 36 | desc "Init and update submodules" 37 | task :submodule do 38 | system "git submodule init" 39 | system "git submodule update" 40 | end 41 | 42 | desc "Compile Command-T plugin for vim" 43 | task :"command-t" do 44 | if File.exists? "vim/bundle/command-t" 45 | if system "cd vim/bundle/command-t/ruby/command-t && /usr/bin/ruby extconf.rb && make" 46 | puts_green "Command-T installed. You win!" 47 | end 48 | else 49 | puts_red "Command T submodule not found, run `rake submodule` to fetch it" 50 | end 51 | end 52 | 53 | desc "create simlinks to the files in the user's home dir" 54 | task :home do 55 | puts_blue "linking files" 56 | Dir["home/*"].each do |f| 57 | symlink_home("#{f}", ".#{File.basename f}") 58 | end 59 | 60 | symlink_home('vim', '.vim') 61 | symlink_home('zsh', '.zsh') 62 | symlink_home('bin', 'bin') 63 | end 64 | 65 | desc "create simlinks to the xcode color scheme in the user's Library/Application Support" 66 | task :xcode do 67 | # TODO: refactor the symlink code, this is ugly 68 | puts_blue "linking colorscheme files" 69 | color_themes_dir = File.join( ENV['HOME'], "Library", "Application Support", "Xcode", "Color Themes") 70 | FileUtils.mkdir_p(color_themes_dir) 71 | FileUtils.rm(File.join(color_themes_dir, "RistoInk.xccolortheme")) if File.symlink?(File.join(File.dirname(__FILE__))) 72 | puts File.join(File.dirname(__FILE__), "xcode", "RistoInk.xccolortheme") 73 | FileUtils.ln_s(File.join(File.dirname(__FILE__), "xcode", "RistoInk.xccolortheme"), color_themes_dir) 74 | 75 | end 76 | 77 | desc "create simlinks to launchbar actions in the user's Library/Application Support" 78 | task :launchbar do 79 | puts_blue "linking launchbar files" 80 | base_dir = File.join( ENV['HOME'], "Library", "Application Support", "LaunchBar") 81 | 82 | actions_dir = File.join(base_dir, "Actions") 83 | FileUtils.rmdir(actions_dir) 84 | FileUtils.ln_s(File.join(File.dirname(__FILE__), "launchbar", "Actions"), actions_dir) 85 | 86 | snippets_dir = File.join(base_dir, "Snippets") 87 | FileUtils.rmdir(snippets_dir) 88 | FileUtils.ln_s(File.join(File.dirname(__FILE__), "launchbar", "Snippets"), snippets_dir) 89 | end 90 | -------------------------------------------------------------------------------- /automator/Pomodoro.workflow/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSServices 6 | 7 | 8 | NSMenuItem 9 | 10 | default 11 | Pomodoro 12 | 13 | NSMessage 14 | runWorkflowAsService 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /automator/Pomodoro.workflow/Contents/QuickLook/Thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/automator/Pomodoro.workflow/Contents/QuickLook/Thumbnail.png -------------------------------------------------------------------------------- /automator/Toggle Mute Microphone.workflow/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSServices 6 | 7 | 8 | NSMenuItem 9 | 10 | default 11 | Toggle Mute Microphone 12 | 13 | NSMessage 14 | runWorkflowAsService 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /automator/Toggle Mute Microphone.workflow/Contents/QuickLook/Thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/automator/Toggle Mute Microphone.workflow/Contents/QuickLook/Thumbnail.png -------------------------------------------------------------------------------- /automator/Upload to Imgur.workflow/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSServices 6 | 7 | 8 | NSMenuItem 9 | 10 | default 11 | Upload to Imgur 12 | 13 | NSMessage 14 | runWorkflowAsService 15 | NSSendFileTypes 16 | 17 | public.image 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /automator/Upload to Imgur.workflow/Contents/QuickLook/Thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/automator/Upload to Imgur.workflow/Contents/QuickLook/Thumbnail.png -------------------------------------------------------------------------------- /bin/.gitignore: -------------------------------------------------------------------------------- 1 | mysql* 2 | -------------------------------------------------------------------------------- /bin/Detect Displays.scpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/bin/Detect Displays.scpt -------------------------------------------------------------------------------- /bin/apacheconf: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Edit the user specific apache config file on OS X 3 | vim /etc/apache2/users/$USER.conf 4 | -------------------------------------------------------------------------------- /bin/appledoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/bin/appledoc -------------------------------------------------------------------------------- /bin/backup-dewback: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | OPTIONS="-e ssh --relative --compress --archive --delete-excluded --progress --human-readable " 4 | SERVER="backup.remote:cs-dewback" 5 | 6 | cd /Users/csexton 7 | 8 | # Rsync to Dreamhost 9 | #rsync $OPTIONS Projects Pictures Documents $SERVER \ 10 | # --exclude="OmniFocus Backups" \ 11 | # --exclude="*vmwarevm" \ 12 | # --exclude="Apple Marketing Material" \ 13 | # --exclude="*DS_Store" 14 | 15 | # S3 16 | S3_EXCLUDES="--exclude \".DS_Store\" --exclude=\"*.git/*\" --exclude=\"*vmwarevm\" --exclude=\"tmp\" --exclude=\"*.tmp\"" 17 | . ~/.aws/backup.conf 18 | echo $S3_EXCLUDES 19 | aws s3 sync ~/Pictures s3://dewback-backup/Pictures --delete $S3_EXCLUDES 20 | aws s3 sync ~/Projects s3://dewback-backup/Projects --delete $S3_EXCLUDES 21 | aws s3 sync ~/Documents s3://dewback-backup/Documents --delete $S3_EXCLUDES 22 | -------------------------------------------------------------------------------- /bin/backup-rocketdrive: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd /Users/csexton 4 | 5 | rsync -auvv --progress --delete /Users/csexton /Volumes/RocketDrive/DewbackRsyncBackup \ 6 | --exclude="OmniFocus Backups" \ 7 | --exclude="Library/Caches" \ 8 | --exclude="Library/Caches" \ 9 | --exclude="Downloads" \ 10 | --exclude="*vmwarevm" \ 11 | --exclude="*DS_Store" \ 12 | --exclude="*.git" \ 13 | --exclude="*.ievms" \ 14 | --exclude="*.rvm" 15 | -------------------------------------------------------------------------------- /bin/backup-talos: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | OPTIONS="-e ssh --relative --compress --archive --delete-excluded --progress --human-readable " 4 | SERVER="backup.remote:cs-talos" 5 | 6 | cd /Users/csexton 7 | 8 | rsync $OPTIONS Projects Pictures Documents $SERVER \ 9 | --exclude="OmniFocus Backups" \ 10 | --exclude="*vmwarevm" \ 11 | --exclude="Apple Marketing Material" \ 12 | --exclude="*DS_Store" 13 | -------------------------------------------------------------------------------- /bin/backup-thesextons: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ssh fuzzymonk_wp@fuzzymonk.com "./backup-thesextons" 3 | -------------------------------------------------------------------------------- /bin/backup-wampa: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # S3 4 | S3_EXCLUDES="--exclude \"*.DS_Store*\" --exclude=\"*.git/*\" --exclude=\"*vmwarevm\" --exclude=\"tmp\" --exclude=\"*.tmp\"" 5 | . ~/.aws/backup.conf 6 | echo $S3_EXCLUDES 7 | aws s3 sync ~/Pictures s3://wampa-backup/Pictures --delete $S3_EXCLUDES 8 | aws s3 sync ~/Projects s3://wampa-backup/Projects --delete $S3_EXCLUDES 9 | aws s3 sync ~/Documents s3://wampa-backup/Documents --delete $S3_EXCLUDES 10 | -------------------------------------------------------------------------------- /bin/bash-color: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | for i in {0..255} ; do 3 | printf "\x1b[38;5;${i}mcolour${i}\n" 4 | done 5 | -------------------------------------------------------------------------------- /bin/battery-temperature: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # battery_temperature for mac osx 10.9.2 3 | if [ `uname` == "Darwin" ]; then 4 | 5 | if [ "$1" == "-h" ]; then 6 | echo "Usage: $(basename $0 ".sh") [option]" 7 | echo " -l also show Model Name and Processor Name" 8 | echo " -h display this help message" 9 | exit 10 | fi 11 | 12 | # -l display Model Name and Processor Name 13 | if [ "$1" == "-l" ]; then 14 | system_profiler SPHardwareDataType | awk '/Model Name/ || /Processor Name/' | sed 's/[^:]*: //' | awk '{ printf $0 " " }' 15 | echo 16 | fi 17 | 18 | # sensor data 19 | temperature=`ioreg -r -n AppleSmartBattery | grep Temperature | cut -c23-` 20 | temperature_celsius=`echo $temperature / 100.0 | bc` 21 | echo "AppleSmartBattery Temperature: " 22 | echo $temperature_celsius °C 23 | temperature_fahrenheit=`echo "($temperature_celsius * (9 / 5)) + 32.0" | bc` 24 | echo $temperature_fahrenheit °F 25 | 26 | # error message if unsupported machine 27 | else 28 | echo -e "\nThis appears not to be an OS X machine\n" 29 | fi 30 | -------------------------------------------------------------------------------- /bin/ci-screensaver: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | scp "$1" continuousintegration@ci-mini.local:Pictures/Screensaver/ 3 | -------------------------------------------------------------------------------- /bin/codeship: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | require 'pry' 3 | require 'yaml' 4 | require 'open-uri' 5 | require 'json' 6 | 7 | def colorize(color, string) 8 | color_code = case color 9 | when :red 10 | 31 11 | when :green 12 | 32 13 | when :yellow 14 | 33 15 | when :pink 16 | 35 17 | else 18 | 0 19 | end 20 | "\e[#{color_code}m#{string}\e[0m" 21 | end 22 | 23 | def status(project) 24 | case project["builds"].first["status"] 25 | when "testing" 26 | "😱 " 27 | when "success" 28 | "😊 " 29 | else 30 | "😡 " 31 | end 32 | end 33 | 34 | def stat_color(project) 35 | name = project["repository_name"] 36 | case project["builds"].first["status"] 37 | when "testing" 38 | colorize :yellow, name 39 | when "success" 40 | colorize :green, name 41 | else 42 | colorize :red, name 43 | end 44 | end 45 | 46 | config = YAML::load_file File.join(Dir.home, '.codeship') 47 | 48 | response_body = open("https://codeship.com/api/v1/projects.json?api_key=#{config["api_key"]}").read 49 | 50 | response = JSON.parse(response_body) 51 | 52 | response["projects"].each do |project| 53 | #puts "#{status(project)} #{stat_color project}" 54 | puts "#{stat_color project}" 55 | end 56 | -------------------------------------------------------------------------------- /bin/dashboard: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | curl -d "{ \"auth_token\": \"shhh\", \"title\": \"$1\", \"text\": \"$2\" }" "http://dashboard.radiusnetworks.com/widgets/welcome" 3 | -------------------------------------------------------------------------------- /bin/docker-build-n-push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | name=$1 5 | if [ -z "$1" ]; then 6 | name=${PWD##*/} 7 | fi 8 | 9 | docker build -t radiusnetworks/$name . 10 | docker push radiusnetworks/$name 11 | -------------------------------------------------------------------------------- /bin/docker-fuckit: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker rm $(docker ps -a -q) 3 | docker rmi $(docker images -q) 4 | -------------------------------------------------------------------------------- /bin/dotfiles-update: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | require "fileutils" 3 | include FileUtils 4 | FileUtils.chdir("#{ENV['HOME']}/.dotfiles") do 5 | %x[git pull] 6 | %x[git submodule init] 7 | %x[git submodule update] 8 | end 9 | puts "For new hewtness please restart your shell. Oven mitts recommended." 10 | -------------------------------------------------------------------------------- /bin/envrc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [ -e ".envrc" ] 4 | then 5 | echo "$(tput setaf 4).envrc already exists$(tput sgr 0)" 6 | else 7 | echo "$(tput setaf 4)Creating .envrc file$(tput sgr 0)" 8 | cat < .envrc 9 | # Load docker-machine enviroment 10 | #eval \$(docker-machine env default) 11 | 12 | # Other Enviroment vars 13 | #export MY_VAR=my-value 14 | 15 | END 16 | 17 | echo -e "# Ruby Projects\n" >> .envrc 18 | echo "# Load the ruby version manually" >> .envrc 19 | echo -e "#use ruby 2.3.0\n" >> .envrc 20 | echo "# Load the ruby version from the .ruby-version file" >> .envrc 21 | if [ -e ".ruby-version" ]; then 22 | echo -e "use ruby\n" >> .envrc 23 | else 24 | echo -e "#use ruby\n" >> .envrc 25 | fi 26 | 27 | echo "# Load .env files automatically:" >> .envrc 28 | if [ -e ".env" ]; then 29 | echo -e "dotenv\n" >> .envrc 30 | else 31 | echo -e "#dotenv\n" >> .envrc 32 | fi 33 | fi 34 | 35 | # Touch the file to some long ago time so we can determine the the file is updated 36 | touch -t 200001010101 .envrc 37 | 38 | # Open it in a text editor to review and confirm 39 | if $EDITOR .envrc ; then 40 | if [ "$(stat -f%c .envrc)" -eq "$(stat -f%B .envrc)" ]; then 41 | direnv allow 42 | else 43 | echo "$(tput setaf 1).envrc was not saved so it was not approved. Either delete it or run \`direnv allow\` to approve its content.$(tput sgr 0)" 44 | fi 45 | else 46 | echo "$(tput setaf 1)Error: $EDITOR returned non-zero exit code$(tput sgr 0)" 47 | fi 48 | 49 | 50 | -------------------------------------------------------------------------------- /bin/exercism: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/bin/exercism -------------------------------------------------------------------------------- /bin/fix-pow: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 20559" | sudo pfctl -a 'com.apple/250.ApplicationFirewall' -f - -E 3 | -------------------------------------------------------------------------------- /bin/git-action: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | repo = `git config --get remote.origin.url`.strip 3 | ref = `git rev-parse HEAD`.strip 4 | repo_url = repo.sub(':', '/').sub(/^git@/, 'https://').sub(/(.*)\.git/, '\1') 5 | repo_url = "#{repo_url}/commit/#{ref}/checks" 6 | `open #{repo_url}` 7 | -------------------------------------------------------------------------------- /bin/git-browse: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | repo = `git config --get remote.origin.url`.strip 3 | branch = `git branch | sed -n '/\* /s///p'`.strip 4 | repo_url = repo.sub(':', '/').sub(/^git@/, 'https://').sub(/(.*)\.git/, '\1') 5 | repo_url = "#{repo_url}/tree/#{branch}" 6 | `open #{repo_url}` 7 | -------------------------------------------------------------------------------- /bin/git-churn: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Written by Corey Haines 4 | # Scriptified by Gary Bernhardt 5 | # 6 | # Put this anywhere on your $PATH (~/bin is recommended). Then git will see it 7 | # and you'll be able to do `git churn`. 8 | # 9 | # Show churn for whole repo: 10 | # $ git churn 11 | # 12 | # Show churn for specific directories: 13 | # $ git churn app lib 14 | # 15 | # Show churn for a time range: 16 | # $ git churn --since='1 month ago' 17 | # 18 | # (These are all standard arguments to `git log`.) 19 | 20 | set -e 21 | git log --all -M -C --name-only --format='format:' "$@" | sort | grep -v '^$' | uniq -c | sort | awk 'BEGIN {print "count\tfile"} {print $1 "\t" $2}' | sort -g 22 | 23 | 24 | -------------------------------------------------------------------------------- /bin/git-cleanup-merged-branches: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Delete any branches that have been merged. Will warn you if it is trying to delete main branch. 4 | # 5 | # To install a git alias: 6 | # 1. Copy this file to somewhere in you path and make it executable 7 | # 2. `git config --global alias.cleanup '!git-cleanup-merged-branches'` 8 | # 9 | set -e 10 | 11 | branch_name=$(git symbolic-ref -q HEAD) 12 | branch_name=${branch_name##refs/heads/} 13 | branch_name=${branch_name:-HEAD} 14 | 15 | if ! git rev-parse --git-dir > /dev/null 2>&1 16 | then 17 | exit 1 18 | fi 19 | 20 | echo $branch_name 21 | if [[ "$branch_name" != 'master' && "$branch_name" != 'main' ]] 22 | then 23 | read -p "Current branch is not 'main'. Are you sure? " -n 1 -r 24 | if [[ $REPLY =~ ^[Nn]$ ]] 25 | then 26 | echo 27 | echo "KTHXBYE" 28 | exit 1 29 | fi 30 | fi 31 | 32 | git branch --merged | grep -v "\*" | xargs -n 1 git branch -d 33 | -------------------------------------------------------------------------------- /bin/git-keys: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -z "$1" ] 4 | then 5 | echo "No username specified" 6 | fi 7 | 8 | curl "https://github.com/$1.keys" 9 | -------------------------------------------------------------------------------- /bin/git-publish-branch: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | ## git-publish-branch: a simple script to ease the unnecessarily complex 4 | ## task of "publishing" a branch, i.e., taking a local branch, creating a 5 | ## reference to it on a remote repo, and setting up the local branch to 6 | ## track the remote one, all in one go. you can even delete that remote 7 | ## reference. 8 | ## 9 | ## Usage: git publish-branch [-d] [repository] 10 | ## 11 | ## '-d' signifies deletion. is the branch to publish, and 12 | ## [repository] defaults to "origin". The remote branch name will be the 13 | ## same as the local branch name. Don't make life unnecessarily complex 14 | ## for yourself. 15 | ## 16 | ## Note that unpublishing a branch doesn't delete the local branch. 17 | ## Safety first! 18 | ## 19 | ## git-publish-branch Copyright 2008 William Morgan . 20 | ## This program is free software: you can redistribute it and/or modify 21 | ## it under the terms of the GNU General Public License as published by 22 | ## the Free Software Foundation, either version 3 of the License, or (at 23 | ## your option) any later version. 24 | ## 25 | ## This program is distributed in the hope that it will be useful, 26 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 27 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 28 | ## GNU General Public License for more details. 29 | ## 30 | ## You can find the GNU General Public License at: 31 | ## http://www.gnu.org/licenses/ 32 | 33 | def exec cmd 34 | puts cmd 35 | system cmd or die unless $fake 36 | end 37 | 38 | def die s=nil 39 | $stderr.puts s if s 40 | exit(-1) 41 | end 42 | 43 | head = `git symbolic-ref HEAD`.chomp.gsub(/refs\/heads\//, "") 44 | delete = ARGV.delete "-d" 45 | $fake = ARGV.delete "-n" 46 | branch = (ARGV.shift || head).gsub(/refs\/heads\//, "") 47 | remote = ARGV.shift || "origin" 48 | local_ref = `git show-ref heads/#{branch}` 49 | remote_ref = `git show-ref remotes/#{remote}/#{branch}` 50 | remote_config = `git config branch.#{branch}.merge` 51 | 52 | if delete 53 | ## we don't do any checking here because the remote branch might actually 54 | ## exist, whether we actually know about it or not. 55 | exec "git push #{remote} :refs/heads/#{branch}" 56 | 57 | unless local_ref.empty? 58 | exec "git config --unset branch.#{branch}.remote" 59 | exec "git config --unset branch.#{branch}.merge" 60 | end 61 | else 62 | die "No local branch #{branch} exists!" if local_ref.empty? 63 | die "A remote branch #{branch} on #{remote} already exists!" unless remote_ref.empty? 64 | die "Local branch #{branch} is already a tracking branch!" unless remote_config.empty? 65 | 66 | exec "git push #{remote} #{branch}:refs/heads/#{branch}" 67 | exec "git config branch.#{branch}.remote #{remote}" 68 | exec "git config branch.#{branch}.merge refs/heads/#{branch}" 69 | end 70 | 71 | -------------------------------------------------------------------------------- /bin/git-rank-contributors: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | ## git-rank-contributors: a simple script to trace through the logs and 4 | ## rank contributors by the total size of the diffs they're responsible for. 5 | ## A change counts twice as much as a plain addition or deletion. 6 | ## 7 | ## Output may or may not be suitable for inclusion in a CREDITS file. 8 | ## Probably not without some editing, because people often commit from more 9 | ## than one address. 10 | ## 11 | ## git-rank-contributors Copyright 2008 William Morgan . 12 | ## This program is free software: you can redistribute it and/or modify 13 | ## it under the terms of the GNU General Public License as published by 14 | ## the Free Software Foundation, either version 3 of the License, or (at 15 | ## your option) any later version. 16 | ## 17 | ## This program is distributed in the hope that it will be useful, 18 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ## GNU General Public License for more details. 21 | ## 22 | ## You can find the GNU General Public License at: 23 | ## http://www.gnu.org/licenses/ 24 | 25 | class String 26 | def obfuscate; gsub(/@/, " at the ").gsub(/\.(\w+)(>|$)/, ' dot \1s\2') end 27 | def htmlize; gsub("&", "&").gsub("<", "<").gsub(">", ">") end 28 | 29 | alias :each_line :each unless method_defined?(:each_line) 30 | end 31 | 32 | lines = {} 33 | verbose = ARGV.delete("-v") 34 | obfuscate = ARGV.delete("-o") 35 | htmlize = ARGV.delete("-h") 36 | 37 | author = nil 38 | state = :pre_author 39 | `git log -M -C -C -p --no-color`.each_line do |l| 40 | case 41 | when (state == :pre_author || state == :post_author) && l =~ /Author: (.*)$/ 42 | author = $1 43 | state = :post_author 44 | lines[author] ||= 0 45 | when state == :post_author && l =~ /^\+\+\+/ 46 | state = :in_diff 47 | when state == :in_diff && l =~ /^[\+\-]/ 48 | lines[author] += 1 49 | when state == :in_diff && l =~ /^commit / 50 | state = :pre_author 51 | end 52 | end 53 | 54 | lines.sort_by { |a, c| -c }.each_line do |a, c| 55 | a = a.obfuscate if obfuscate 56 | a = a.htmlize if htmlize 57 | if verbose 58 | puts "#{a}: #{c} lines of diff" 59 | else 60 | puts a 61 | end 62 | end 63 | -------------------------------------------------------------------------------- /bin/heroku-environments: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | # Heroku enviroment helper script 4 | # 5 | # This is to streamline using differnt heroku enviroments from one repo. 6 | # Symlink this file to an envroment name (as set by the git-remote name), then 7 | # when running that symlink the script will look up the name in the git config 8 | # and use that remote as the heroku name. 9 | # 10 | # Setup: 11 | # 12 | # ln -s ~/bin/heroku-enviroments ~/bin/production 13 | # 14 | # And assuming git is configured: 15 | # 16 | # [remote "production"] 17 | # url = git@heroku.com:my-app-production.git 18 | # fetch = +refs/heads/*:refs/remotes/production/* 19 | # 20 | # Then running: 21 | # 22 | # production run rails console 23 | # 24 | # Actually runs: 25 | # 26 | # heroku run rails console --app my-app-production 27 | 28 | trap "SIGINT" do 29 | puts "Exiting" 30 | exit 130 31 | end 32 | 33 | class String 34 | def red; "\e[31m#{self}\e[0m" end 35 | def green; "\e[32m#{self}\e[0m" end 36 | def blue; "\e[34m#{self}\e[0m" end 37 | end 38 | 39 | def error(message) 40 | STDERR.puts "Error: #{message}".red 41 | exit 1 42 | end 43 | 44 | env_name = File.basename($0, File.extname($0)) 45 | url = `git config --get remote.#{env_name}.url`.chomp 46 | 47 | if ARGV.empty? 48 | puts "Heroku CLI Wrapper for #{env_name}. Try `#{env_name} --help` for more information" 49 | exit 0 50 | end 51 | 52 | error "Unable to find git config file. Are you in a git repo?" if url.empty? 53 | 54 | app_name = /([^\/:]+)\.git$/.match(url)[1] 55 | 56 | error "Unable to find #{env_name} remote. Make sure you have `remote.production` set in your git config" if app_name.empty? 57 | 58 | cmd = "heroku #{ARGV.join " "} --app #{app_name}" 59 | 60 | puts cmd.blue 61 | puts 62 | 63 | system(cmd) 64 | exit $?.exitstatus 65 | -------------------------------------------------------------------------------- /bin/ibeacon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/bin/ibeacon -------------------------------------------------------------------------------- /bin/mobile-safari-inspector: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Configure Mobile Safari on the Simulator allow remote debugging of web pages 4 | # and open safari to view the inspector. 5 | # 6 | # If you want to open the Simulator from the command line you might like the 7 | # following alias: 8 | # alias iphone-simulator="open /Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone\ Simulator.app" 9 | # 10 | 11 | pid=$(ps x | egrep "MobileSafari|Web.app" | grep -v grep | awk '{ print $1 }') 12 | 13 | if [ "$pid" == "" ]; then 14 | echo "Safari.app must be running in the Simulator to enable the remote inspector." 15 | else 16 | 17 | cat < /dev/null 18 | attach $pid 19 | p (void *)[WebView _enableRemoteInspector] 20 | detach 21 | EOS 22 | 23 | osascript < /dev/null 2>&1 24 | tell application "Safari" 25 | activate 26 | do JavaScript "window.open('http://localhost:9999')" in document 1 27 | end tell 28 | EOS 29 | 30 | fi 31 | -------------------------------------------------------------------------------- /bin/pg_start: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start 3 | -------------------------------------------------------------------------------- /bin/pg_stop: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | pg_ctl -D /usr/local/var/postgres stop -s -m fast 3 | -------------------------------------------------------------------------------- /bin/production: -------------------------------------------------------------------------------- 1 | heroku-environments -------------------------------------------------------------------------------- /bin/puma-browse: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # 3 | # Quickly open a browser window from a project file to the app hosted in 4 | # puma-dev. 5 | # 6 | # This script will find the matching symlink in `~/.puma-dev` and use that file 7 | # to construct the url to the local app. 8 | (require 'launchy') rescue nil 9 | 10 | dot_puma = File.expand_path "~/.puma-dev" 11 | match = Dir["#{dot_puma}/*"].detect do |file| 12 | Dir.pwd.start_with? File.readlink(file) 13 | end 14 | 15 | exit 1 unless match 16 | 17 | url = "http://#{File.basename(match)}.test" 18 | if defined?(Launchy) 19 | Launchy.open url 20 | else 21 | system("open #{url}") 22 | end 23 | -------------------------------------------------------------------------------- /bin/reattach-to-user-namespace: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/bin/reattach-to-user-namespace -------------------------------------------------------------------------------- /bin/rsync-amazon-music: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | rsync --progress --stats --verbose --recursive --times --perms --links \ 3 | --exclude "iTunes" --exclude ".*" \ 4 | sexton@bold.local:"Music/" /Users/csexton/Music/ 5 | -------------------------------------------------------------------------------- /bin/rsync-ci-screensaver: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | rsync --progress --stats --verbose --recursive --times --perms --links \ 3 | continuousintegration@ci-mini.local:Pictures/Screensaver/ /Users/csexton/Pictures/Motivation 4 | -------------------------------------------------------------------------------- /bin/selecta: -------------------------------------------------------------------------------- 1 | /Users/csexton/src/selecta/selecta -------------------------------------------------------------------------------- /bin/slack-delete-files: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require 'net/http' 4 | require 'json' 5 | require 'uri' 6 | 7 | @token = ARGV.first 8 | 9 | unless @token 10 | puts "usage: slack-delete-files " 11 | puts " See https://api.slack.com/custom-integrations/legacy-tokens for the token" 12 | exit 1 13 | end 14 | 15 | def list_files 16 | ts_to = (Time.now - 30 * 24 * 60 * 60).to_i # 30 days ago 17 | params = { 18 | token: @token, 19 | ts_to: ts_to, 20 | count: 1000 21 | } 22 | uri = URI.parse('https://slack.com/api/files.list') 23 | uri.query = URI.encode_www_form(params) 24 | response = Net::HTTP.get_response(uri) 25 | JSON.parse(response.body)['files'] rescue [] 26 | end 27 | 28 | def delete_files(file_ids) 29 | file_ids.each do |file_id| 30 | params = { 31 | token: @token, 32 | file: file_id 33 | } 34 | uri = URI.parse('https://slack.com/api/files.delete') 35 | uri.query = URI.encode_www_form(params) 36 | response = Net::HTTP.get_response(uri) 37 | p "#{file_id}: #{JSON.parse(response.body)['ok']}" 38 | end 39 | end 40 | 41 | p 'Deleting files...' 42 | files = list_files 43 | file_ids = files.map { |f| f['id'] } 44 | delete_files(file_ids) 45 | p 'Done!' 46 | -------------------------------------------------------------------------------- /bin/ssh-copy-id: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Shell script to install your public key on a remote machine 4 | # Takes the remote machine name as an argument. 5 | # Obviously, the remote machine must accept password authentication, 6 | # or one of the other keys in your ssh-agent, for this to work. 7 | # 8 | # http://www.devthought.com/2009/09/19/get-ssh-copy-id-in-mac-os-x/ 9 | # 10 | 11 | ID_FILE="${HOME}/.ssh/id_rsa.pub" 12 | 13 | if [ "-i" = "$1" ]; then 14 | shift 15 | # check if we have 2 parameters left, if so the first is the new ID file 16 | if [ -n "$2" ]; then 17 | if expr "$1" : ".*\.pub" > /dev/null ; then 18 | ID_FILE="$1" 19 | else 20 | ID_FILE="$1.pub" 21 | fi 22 | shift # and this should leave $1 as the target name 23 | fi 24 | else 25 | if [ x$SSH_AUTH_SOCK != x ] && ssh-add -L >/dev/null 2>&1; then 26 | GET_ID="$GET_ID ssh-add -L" 27 | fi 28 | fi 29 | 30 | if [ -z "`eval $GET_ID`" ] && [ -r "${ID_FILE}" ] ; then 31 | GET_ID="cat ${ID_FILE}" 32 | fi 33 | 34 | if [ -z "`eval $GET_ID`" ]; then 35 | echo "$0: ERROR: No identities found" >&2 36 | exit 1 37 | fi 38 | 39 | if [ "$#" -lt 1 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then 40 | echo "Usage: $0 [-i [identity_file]] [user@]machine" >&2 41 | exit 1 42 | fi 43 | 44 | # strip any trailing colon 45 | host=`echo $1 | sed 's/:$//'` 46 | 47 | { eval "$GET_ID" ; } | ssh $host "umask 077; test -d ~/.ssh || mkdir ~/.ssh ; cat >> ~/.ssh/authorized_keys" || exit 1 48 | 49 | cat <);' | head -n 3 3 | -------------------------------------------------------------------------------- /bin/today-in-history: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require 'net/http' 4 | require 'uri' 5 | require 'json' 6 | 7 | uri = URI.parse('https://history.muffinlabs.com/date') 8 | response = Net::HTTP.get_response(uri) 9 | json_response = JSON.parse(response.body) 10 | output = json_response['data']['Events'].sample 11 | 12 | puts "On this day in the year #{output['year']}:" 13 | puts 14 | puts output['text'] 15 | puts 16 | puts 'For more information, refer to wikipedia: ' 17 | output['links'].each do |link| 18 | puts "- [#{link['title']}](#{link['link']})" 19 | end 20 | -------------------------------------------------------------------------------- /bin/tssh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | server=$1 5 | if [ -z "$1" ] ; then 6 | echo "Usage: $(basename $0) hostname [session name]" 7 | exit 1 8 | fi 9 | 10 | name=$2 11 | if [ -z "$2" ] 12 | then name=$(whoami) 13 | fi 14 | 15 | ssh -t $server "tmux attach-session -t $name || tmux new-session -s $name" 16 | -------------------------------------------------------------------------------- /bin/upload2media.districttaco.com: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # -*- sh -*- vim:set ft=sh ai et sw=4 sts=4: 3 | scp $1 districttaco.com:/home/districttaco/media.districttaco.com/$2 4 | -------------------------------------------------------------------------------- /bin/webserver: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | require 'webrick' 3 | WEBrick::HTTPServer.new(:Port => 3000, :DocumentRoot => Dir.pwd).start 4 | 5 | -------------------------------------------------------------------------------- /bin/what-is-open: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # https://github.com/Chealion/chealion/tree/master/Shell 3 | # 4 | # -*- sh -*- vim:set ft=sh ai et sw=4 sts=4: 5 | lsof -F n | grep '^n/Volumes/' | sed 's/n\/Volumes\///g' | sort -f 6 | -------------------------------------------------------------------------------- /bin/xcode: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | f = [] 3 | f.concat Dir["*.xcworkspace"] 4 | f.concat Dir["*.xcodeproj"] 5 | 6 | if f.length > 0 7 | puts "opening #{f.first}" 8 | `open -a /Applications/Xcode.app "#{f.first}" --args -ApplePersistenceIgnoreState YES` 9 | exit 0 10 | end 11 | 12 | puts "No Xcode projects found" 13 | -------------------------------------------------------------------------------- /home/ackrc: -------------------------------------------------------------------------------- 1 | --type-set=rails=.rb,.css,.erb,.slim,.haml,.js,.rjs,.rake,.html,.rhtml,.sass,.scss,.spec,.xml,.rxml,.yml,.feature,.coffee,.jbuilder,.builder 2 | --type-set=scala=.scala 3 | --type-set=vim=.vim 4 | --type-set=zsh=.zsh,.sh,.zsh-theme 5 | --type-set=markdown=.md,.markdown,.txt 6 | --type-set=html=.htm,.html,.shtml,.xhtml,.html,.erb 7 | --type-set=sass=.sass,.scss 8 | --type-set=xcode=.plist,.nib,.xib,.project,.h,.m,.cpp 9 | --type-set=plist=.plist 10 | --color-match=green 11 | --color-lineno=yellow 12 | --color-filename=yellow 13 | --smart-case 14 | --ignore-dir=public/assets 15 | -------------------------------------------------------------------------------- /home/bash_login: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # -*- sh -*- vim:set ft=sh ai et sw=4 sts=4: 3 | 4 | . .profile 5 | ## Completion Scripts 6 | # Mac ports 7 | if [ -f /opt/local/etc/bash_completion ]; then 8 | . /opt/local/etc/bash_completion 9 | fi 10 | 11 | #if which git-completion.bash >/dev/null; then 12 | #. git-completion.bash 13 | #fi 14 | 15 | # Ubuntu 16 | if [ -f /etc/bash_completion ]; then 17 | . /etc/bash_completion 18 | fi 19 | 20 | # Installed from src 21 | if [ -f /usr/local/git/contrib/completion/git-completion.bash ]; then 22 | . /usr/local/git/contrib/completion/git-completion.bash 23 | fi 24 | 25 | scm_ps1() { 26 | local s= 27 | if [[ -d ".svn" ]] ; then 28 | s=\(svn\) 29 | else 30 | if [[ $(declare -f __git_ps1) ]]; then # Only show if completionompleation is there 31 | s=$(__git_ps1 "(git:%s)") 32 | fi 33 | fi 34 | echo -n "$s" 35 | } 36 | 37 | export PS1="\[\033[00;32m\]\u\[\033[00;32m\]@\[\033[00;32m\]\h:\[\033[01;34m\]\w \[\033[31m\]\$(scm_ps1)\[\033[00m\]$\[\033[00m\] " 38 | 39 | -------------------------------------------------------------------------------- /home/git_template/commit.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | # Answer me these questions three: 5 | # 6 | # 1. If applied, this commit will ____ 7 | # 2. Explain why this change is being made 8 | # 3. Provide links to any relevant tickets, articles or other resources 9 | -------------------------------------------------------------------------------- /home/git_template/hooks/ctags: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # from http://tbaggery.com/2011/08/08/effortless-ctags-with-git.html 3 | set -e 4 | PATH="/usr/local/bin:$PATH" 5 | trap "rm -f .git/tags.$$" EXIT 6 | ctags --tag-relative -Rf.git/tags.$$ --exclude=.git --languages=-javascript,sql 7 | mv .git/tags.$$ .git/tags 8 | -------------------------------------------------------------------------------- /home/git_template/hooks/post-checkout: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | .git/hooks/ctags >/dev/null 2>&1 & 3 | -------------------------------------------------------------------------------- /home/git_template/hooks/post-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | .git/hooks/ctags >/dev/null 2>&1 & 3 | -------------------------------------------------------------------------------- /home/git_template/hooks/post-merge: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | .git/hooks/ctags >/dev/null 2>&1 & 3 | -------------------------------------------------------------------------------- /home/git_template/hooks/post-rewrite: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | case "$1" in 3 | rebase) exec .git/hooks/post-merge ;; 4 | esac 5 | -------------------------------------------------------------------------------- /home/git_template/hooks/prepare-commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Automatically adds branch name and branch description to every commit message. 4 | # 5 | #echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" > "$1" 6 | -------------------------------------------------------------------------------- /home/gitconfig: -------------------------------------------------------------------------------- 1 | [user] 2 | name = Christopher Sexton 3 | email = csexton@users.noreply.github.com 4 | [color] 5 | diff = auto 6 | status = auto 7 | branch = auto 8 | ui = auto 9 | [core] 10 | excludesfile = /Users/csexton/.gitignore 11 | [alias] 12 | br = branch 13 | bro = browse 14 | browse = !git-browse 15 | action = !git-action 16 | c = commit --verbose 17 | cleanup = !~/bin/git-cleanup-merged-branches 18 | cm = commit --verbose 19 | co = checkout 20 | ctags = !.git/hooks/ctags 21 | delete-old-branches = !git branch | grep -v \"*\" | xargs git branch -d 2>/dev/null 22 | delete-old-branches-remote = !git remote prune $1 && git branch | grep -v \"*\" | xargs git branch -d 2>/dev/null 23 | df = diff 24 | edit = "!vim `git ls-files -m`" 25 | input = read name && echo $name 26 | lg = log --pretty=format:'%Cred%h%Creset -%Creset %s %Cgreen(%cr) %C(bold blue)%an%Creset' 27 | ll = log --pretty=oneline --abbrev-commit --graph --decorate 28 | lol = log --graph --pretty=format:'%C(red)%h%C(reset) %C(yellow)%d%C(reset)%s %C(green)%an %C(bold black)%cr%C(reset)' --abbrev-commit --date=relative 29 | ocmmit = commit --verbose 30 | oops = reset --soft "HEAD^" 31 | pr = "!f() { git fetch origin pull/$1/head:pr-$1 && git checkout pr-$1; }; f" 32 | ready = rebase -i @{u} 33 | siff = diff --submodule 34 | st = status 35 | standup = log --pretty=format:'%Cred%h%Creset -%Creset %s %Cgreen(%cD) %C(bold blue)%an%Creset' --since yesterday --author csexton 36 | sup = submodule update 37 | sweep = !git-sweep 38 | tags = log -n1 --pretty=format:%h%d 39 | unadd = reset HEAD 40 | workprofile = config user.email \"chris@radiusnetworks.com\" 41 | vim = "!git log --graph --pretty=format:'%h - %d %s (%cr) <%an>' | vim -R -c 'set filetype=git nowrap' -" 42 | lal = log --graph --pretty=format:'%C(red)%h%C(reset) %C(yellow)%d%C(reset)%s %C(green)%an %C(bold black)%cr%C(reset)' --abbrev-commit --date=relative 43 | praise = blame 44 | prune-tags = fetch --prune origin "+refs/tags/*:refs/tags/*" 45 | 46 | [github] 47 | user = csexton 48 | [merge] 49 | summary = true 50 | [push] 51 | default = current 52 | [diff "ruby"] 53 | funcname = ^ *\\(\\(class\\|module\\|def\\) .*\\) 54 | [diff] 55 | algorithm = patience 56 | [color "diff"] 57 | whitespace = red reverse 58 | [heroku] 59 | account = radius 60 | [filter "media"] 61 | clean = git-media-clean %f 62 | smudge = git-media-smudge %f 63 | [filter "lfs"] 64 | clean = git-lfs clean %f 65 | smudge = git-lfs smudge %f 66 | required = true 67 | [commit] 68 | verbose = true 69 | template = /Users/csexton/.git_template/commit.txt 70 | [pull] 71 | rebase = false 72 | [url "git@github.com:"] 73 | InsteadOf = git://github.com/ 74 | InsteadOf = https://github.com/ 75 | [init] 76 | defaultBranch = main 77 | -------------------------------------------------------------------------------- /home/gitignore: -------------------------------------------------------------------------------- 1 | config.codekit 2 | # .gitignore 3 | filenametags 4 | .DS_Store 5 | log/*.log 6 | tmp/**/* 7 | /**/*.swp 8 | db/*.sqlite3 9 | #db/schema.rb 10 | *.sw? 11 | .*~ 12 | .netrwhist 13 | 14 | .bundle 15 | .powenv 16 | .agignore 17 | vendor/bundle 18 | 19 | # /cache/ 20 | /cache/* 21 | 22 | # /log/ 23 | /log/* 24 | 25 | # /sessions/ 26 | /sessions/* 27 | 28 | # /tmp/ 29 | /tmp/* 30 | 31 | .rvmrc 32 | /**/*.specification 33 | 34 | *DELETEME* 35 | 36 | # XCode 37 | /**/csexton.perspectivev3 38 | /**/*.xcodeproj/xcuserdata 39 | /**/csexton.xcuserdatad 40 | *.xcodeproj/project.xcworkspace/xcshareddata 41 | 42 | doc/tags 43 | .pt 44 | 45 | # Zeus 46 | custom_plan.rb 47 | zeus.json 48 | .pow 49 | 50 | # direnv 51 | .direnv 52 | .envrc 53 | 54 | scratch* 55 | 56 | .byebug_history 57 | tags 58 | .jekyll-metadata 59 | 60 | .rgignore 61 | 62 | .env-chris 63 | -------------------------------------------------------------------------------- /home/gitmessage: -------------------------------------------------------------------------------- 1 | 2 | 3 | Why: 4 | 5 | - 6 | 7 | 8 | 9 | # 10 | # Formatting Guide: 11 | # 12 | # Capitalized, short (50 chars or less) summary 13 | # 14 | # More detailed explanatory text, if necessary. Wrap it to about 72 15 | # characters or so. In some contexts, the first line is treated as the 16 | # subject of an email and the rest of the text as the body. The blank 17 | # line separating the summary from the body is critical (unless you omit 18 | # the body entirely); tools like rebase can get confused if you run the 19 | # two together. 20 | # 21 | # Write your commit message in the imperative: "Fix bug" and not "Fixed bug" 22 | # or "Fixes bug." This convention matches up with commit messages generated 23 | # by commands like git merge and git revert. 24 | # 25 | # Further paragraphs come after blank lines. 26 | # 27 | # - Bullet points are okay, too 28 | # 29 | # - Typically a hyphen or asterisk is used for the bullet, followed by a 30 | # single space, with blank lines in between, but conventions vary here 31 | # 32 | # - Use a hanging indent 33 | # -------------------------------------------------------------------------------- /home/irbrc: -------------------------------------------------------------------------------- 1 | require 'rubygems' unless defined? Gem # rubygems is only needed in 1.8 2 | 3 | # Load wirble 4 | def irb_wirble 5 | begin 6 | require 'wirble' 7 | Wirble.init 8 | Wirble.colorize 9 | "Wirble Engage!" 10 | rescue LoadError => err 11 | puts "Wirble not installed" 12 | end 13 | end 14 | 15 | # Load irbtools 16 | def irb_irbtools 17 | begin 18 | require 'irbtools/configure' 19 | Irbtools.remove_library :paint 20 | Irbtools.remove_library :fancy_irb 21 | Irbtools.add_library :paint, :late => true do Wirb.load_schema :classic_paint if defined? Wirb end 22 | #Irbtools.add_library :fancy_irb, :thread => -1 do FancyIrb.start end 23 | Irbtools.start 24 | 25 | "IRB Tools Engage!" 26 | rescue LoadError => err 27 | puts "Irbtools load error: #{err}" 28 | end 29 | end 30 | 31 | 32 | # Outputing log on the irb script/console 33 | # 34 | # The if condition checks if the server is running on IRB and reassigns the application logger a new logger that outputs to STDOUT 35 | def irb_logger 36 | config.logger = Logger.new(STDOUT) if "irb" == $0 37 | end 38 | 39 | # Project-specific .irbrc 40 | if Dir.pwd != File.expand_path("~") 41 | local_irbrc = File.expand_path '.irbrc' 42 | if File.exist? local_irbrc 43 | puts "Loading #{local_irbrc}" 44 | load local_irbrc 45 | end 46 | end 47 | 48 | # class Integer 49 | # def to_binary_s 50 | # bits = self.to_s(2) 51 | # prepend = (8 - bits.length % 8) 52 | # bits = ('0' * prepend) + bits 53 | # return [bits].pack('B*') 54 | # end 55 | # end 56 | # class String 57 | # def read_hex_s 58 | # self.gsub(" ", "").hex.to_binary_s 59 | # end 60 | # def to_hex_s 61 | # self.unpack("H*")[0] 62 | # end 63 | # end 64 | 65 | IRB.conf[:SAVE_HISTORY] = 1000 66 | IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irbhistory" 67 | IRB.conf[:EVAL_HISTORY] = 500 68 | -------------------------------------------------------------------------------- /home/jslintrc: -------------------------------------------------------------------------------- 1 | /*jslint vars:true, nomen: true, browser: true, sloppy:true, white:true */ 2 | /*global 3 | confirm: false, 4 | alert: false, 5 | titleize:false, 6 | interpolate: false, 7 | console:false, 8 | Backbone: false, 9 | capitalize: false, 10 | zl_icon: false, 11 | pluralize: false, 12 | parse_iso8601_duration:false, 13 | lzw_encode: false, 14 | lzw_decode: false, 15 | Modernizr: false, 16 | _gaq: false, 17 | _: false, 18 | jQuery: false, 19 | $: false, 20 | escape: false, 21 | unescape: false */ 22 | 23 | /* vim: set ft=javascript */ 24 | -------------------------------------------------------------------------------- /home/powconfig: -------------------------------------------------------------------------------- 1 | source /opt/homebrew/share/chruby/chruby.sh 2 | chruby $(cat .ruby-version) 3 | -------------------------------------------------------------------------------- /home/profile: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export LSCOLORS="exgxbxdxbxegedxbxgacba" 3 | export CLICOLOR=1 4 | export EDITOR="vim" 5 | export MANPAGER="/bin/sh -c \"col -b | vim --not-a-term -c 'set ft=man ts=8 nomod nolist noma' -\"" 6 | alias ls="ls -GF" 7 | alias ri="ri -Tf ansi" 8 | alias :q="exit" 9 | alias :wq="exit" 10 | alias duf='du -sk * | sort -n | perl -ne '\''($s,$f)=split(m{\t});for (qw(K M G)) {if($s<1024) {printf("%.1f",$s);print "$_\t$f"; last};$s=$s/1024}'\' 11 | alias vimrc="vim ~/.vimrc" 12 | alias zshrc="vim ~/.zshrc" 13 | alias nvimrc="nvim ~/.nvimrc" 14 | #alias vim="nvim" 15 | alias wut="git status" 16 | alias whaa="git diff" 17 | alias gc='nocorrect git commit -v' 18 | alias gp='nocorrect git pull' 19 | alias gg='nocorrect git pull' 20 | 21 | alias got='nocorrect go test ./...' 22 | 23 | alias production='nocorrect production' 24 | alias staging='nocorrect staging' 25 | alias heroku='nocorrect heroku' 26 | #export GOPATH="$HOME/go" 27 | #export PATH=$GOPATH/bin:$PATH 28 | 29 | alias eval-docker-machine='eval $(docker-machine env default)' 30 | 31 | 32 | export PATH=~/bin:$PATH 33 | 34 | if [ -d /usr/local/bin ] ; then 35 | export PATH=/usr/local/bin:$PATH 36 | fi 37 | 38 | if [ -d /opt/homebrew/bin ] ; then 39 | export PATH=/opt/homebrew/bin:$PATH 40 | fi 41 | 42 | if [ -d $HOME/go ] ; then 43 | export PATH=~/go/bin:$PATH 44 | fi 45 | 46 | if [ -f "/Applications/MacVim.app/Contents/bin/vim" ] ; then 47 | alias vim="/Applications/MacVim.app/Contents/bin/vim" 48 | fi 49 | 50 | if [ -f "/Applications/MacVim.app/Contents/bin/mvim" ] ; then 51 | alias mvim="/Applications/MacVim.app/Contents/bin/mvim" 52 | fi 53 | 54 | if [ -f "/Applications/Yoink.app/Contents/MacOS/Yoink" ] ; then 55 | alias yoink="open -a Yoink" 56 | fi 57 | 58 | if [ -f $HOME/.local_profile ] ; then 59 | source $HOME/.local_profile 60 | fi 61 | 62 | export FZF_DEFAULT_COMMAND='rg --files --hidden --follow --glob "!.git/*"' 63 | 64 | # -*- sh -*- vim:set ft=sh ai et sw=4 sts=4: 65 | -------------------------------------------------------------------------------- /home/rvmrc: -------------------------------------------------------------------------------- 1 | rvm_project_rvmrc_default=1 2 | export rvm_pretty_print_flag=1 3 | export rvm_path="/Users/csexton/.rvm" 4 | rvm_gemset_create_on_use_flag=1 5 | 6 | 7 | # rvm_configure_env=(CFLAGS="-march=native -O2 -pipe") 8 | # rvm_configure_env=(CFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer") 9 | rvm_auto_reload_flag=1 10 | #rvm_use_flag=2 11 | -------------------------------------------------------------------------------- /home/safari/user.css: -------------------------------------------------------------------------------- 1 | .type-go .highlight { 2 | tab-size: 2 !important; 3 | } 4 | 5 | 6 | -------------------------------------------------------------------------------- /home/screenrc: -------------------------------------------------------------------------------- 1 | ## screenrc 2 | activity "%c activity -> %n%f %t" 3 | #altscreen on 4 | attrcolor b ".I" 5 | autodetach on 6 | bell "%c bell -> %n%f %t^G" 7 | bind b windowlist -b 8 | crlf off 9 | defbce "on" 10 | defscrollback 10000 11 | defutf8 on 12 | #escape ^\\ 13 | escape ^jj 14 | 15 | #hardstatus alwayslastline 16 | #hardcopy_append on 17 | #hardstatus off 18 | #hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m/%d%{W}%c %{g}]' 19 | hardstatus alwayslastline 20 | hardstatus string "%{=b kk}screen: %{= kw}%-w%{=b kg}%n %t%{-}%+w %-=" 21 | msgwait 1 22 | setenv LC_CTYPE en_US.UTF-8 23 | #shell zsh 24 | #silencewait 15 25 | startup_message off 26 | #termcapinfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l' 27 | #termcapinfo xterm* 'hs:ts=\E]2;:fs=\007:ds=\E]0;screen\007' 28 | vbell off 29 | vbell_msg "ouch" 30 | 31 | termcapinfo xterm-color|xterm|xterms|xs|rxvt ti@:te@ 32 | -------------------------------------------------------------------------------- /home/vim-bundles: -------------------------------------------------------------------------------- 1 | #csexton/jekyll.vim 2 | ChrisKempson/Vim-Tomorrow-Theme 3 | #Lokaltog/vim-powerline 4 | bbommarito/vim-slim 5 | 6 | #ap/vim-css-color 7 | #csexton/jslint.vim 8 | #int3/vim-extradite 9 | kana/vim-textobj-user 10 | #msanders/cocoa.vim 11 | nelstrom/vim-textobj-rubyblock 12 | #tomtom/tlib_vim 13 | #tpope/vim-commentary 14 | #tpope/vim-rvm 15 | -------------------------------------------------------------------------------- /home/zshenv: -------------------------------------------------------------------------------- 1 | local chruby_source="/opt/homebrew/opt/chruby/share/chruby" 2 | if [[ -f $chruby_source/chruby.sh ]]; then 3 | #echo -e "\e[0;34mchruby engague\e[0m" 4 | source $chruby_source/chruby.sh 5 | source $chruby_source/auto.sh 6 | else 7 | echo -e "\e[0;31m⚠ Ain't got no chruby ⚠\e[0m" 8 | fi 9 | -------------------------------------------------------------------------------- /iterm2/README: -------------------------------------------------------------------------------- 1 | This file belongs in ~/Library/Preferences/com.googlecode.iterm2.plist 2 | -------------------------------------------------------------------------------- /karabiner/README: -------------------------------------------------------------------------------- 1 | Symlink "private.xml" to "~/Library/Application\ Support/Karabiner/private.xml" 2 | -------------------------------------------------------------------------------- /launchbar/Actions/Apple Hot News.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIconFile 6 | Apple Logo 7 | CFBundleIdentifier 8 | at.obdev.LaunchBar.action.AppleHotNews 9 | CFBundleName 10 | Apple Hot News 11 | CFBundleVersion 12 | 1.0 13 | LBDescription 14 | 15 | LBAuthor 16 | Objective Development 17 | LBEmail 18 | launchbar@obdev.at 19 | LBRequirements 20 | Requires an active internet connection. 21 | LBResult 22 | Returns a list of news. 23 | LBSummary 24 | Shows news from Apple’s Hot News RSS feed. 25 | LBTwitter 26 | @launchbar 27 | LBWebsiteURL 28 | http://www.obdev.at/ 29 | 30 | LBRequirements 31 | Requires an active internet connection. 32 | LBResult 33 | Returns a list of news. 34 | LBScripts 35 | 36 | LBDefaultScript 37 | 38 | LBKeepWindowActive 39 | 40 | LBResultType 41 | unknown 42 | LBReturnsResult 43 | 44 | LBScriptName 45 | default.rb 46 | 47 | 48 | NSHumanReadableCopyright 49 | Copyright © 2014 Objective Development 50 | 51 | 52 | -------------------------------------------------------------------------------- /launchbar/Actions/Apple Hot News.lbaction/Contents/Resources/Apple Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Apple Hot News.lbaction/Contents/Resources/Apple Logo.png -------------------------------------------------------------------------------- /launchbar/Actions/Apple Hot News.lbaction/Contents/Resources/Apple Logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Apple Hot News.lbaction/Contents/Resources/Apple Logo@2x.png -------------------------------------------------------------------------------- /launchbar/Actions/Apple Hot News.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | CFBundleName = "Apple Hot News"; 2 | "LBSummary" = "Zeigt Nachrichten von Apples Hot News RSS–Feed."; 3 | "LBRequirements" = "Benötigt eine aktive Internetverbindung."; 4 | "LBResult" = "Liefert eine Liste von Nachrichten."; 5 | -------------------------------------------------------------------------------- /launchbar/Actions/Apple Hot News.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | CFBundleName = "Apple Hot News"; 2 | -------------------------------------------------------------------------------- /launchbar/Actions/Apple Hot News.lbaction/Contents/Scripts/default.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # 3 | # Copyright (c) 2014 Objective Development Software GmbH 4 | # http://www.obdev.at/ 5 | 6 | require 'open-uri' 7 | require 'rss' 8 | require 'json' 9 | require 'cgi' 10 | 11 | 12 | # Load the RSS feed: 13 | rss_content = "" 14 | rss_url = "http://images.apple.com/main/rss/hotnews/hotnews.rss" 15 | open(rss_url) do |file| 16 | rss_content = file.read 17 | end 18 | 19 | # Parse the RSS feed: 20 | rss = RSS::Parser.parse(rss_content, false) 21 | 22 | result = [] 23 | 24 | # Add an item on top that represents the feed itself: 25 | item = {} 26 | item['title'] = rss.channel.title 27 | item['url'] = rss.channel.link 28 | item['subtitle'] = rss.channel.link 29 | 30 | # LaunchBar uses the action's bundle resources to find the image with that name: 31 | item['icon'] = 'Apple Logo' 32 | 33 | result.push(item) 34 | 35 | # Add an item for each item in the RSS feed: 36 | rss.items.each do | rss_item | 37 | item = {} 38 | item['title'] = CGI.unescapeHTML(rss_item.title) 39 | item['url'] = rss_item.link 40 | item['icon'] = '' 41 | 42 | # Limit the length of the description, which is usually very long: 43 | max_description_length = 100 44 | description = CGI.unescapeHTML(rss_item.description) 45 | item['subtitle'] = description[0, max_description_length] 46 | item['subtitle'] += '…' if description.length > max_description_length 47 | 48 | result.push(item) 49 | end 50 | 51 | # Output the array of result items in JSON so LaunchBar can parse it: 52 | puts result.to_json 53 | -------------------------------------------------------------------------------- /launchbar/Actions/Apple Hot News.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Apple Hot News.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Apple Hot News.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Apple Hot News.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Apple Hot News.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Apple Hot News.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Copy SSH public key to clipboard.scpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Copy SSH public key to clipboard.scpt -------------------------------------------------------------------------------- /launchbar/Actions/Dark Mode.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIconFile 6 | darkmodeTemplate.png 7 | CFBundleIdentifier 8 | com.codeography.LaunchBar.action.DarkMode 9 | CFBundleName 10 | Dark Mode 11 | CFBundleVersion 12 | 1.0 13 | LBDescription 14 | 15 | LBAuthor 16 | Christopher Sexton 17 | LBEmail 18 | csexton@codeography.com 19 | LBSummary 20 | Enable Dark Mode 21 | LBTwitter 22 | @crsexton 23 | LBWebsiteURL 24 | http://www.codeography.com 25 | 26 | LBScripts 27 | 28 | LBDefaultScript 29 | 30 | LBResultType 31 | unknown 32 | LBRunInBackground 33 | 34 | LBScriptName 35 | default.scpt 36 | 37 | 38 | LSMinimumSystemVersion 39 | 10.14 40 | 41 | 42 | -------------------------------------------------------------------------------- /launchbar/Actions/Dark Mode.lbaction/Contents/Resources/darkmodeTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Dark Mode.lbaction/Contents/Resources/darkmodeTemplate.png -------------------------------------------------------------------------------- /launchbar/Actions/Dark Mode.lbaction/Contents/Scripts/default.scpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Dark Mode.lbaction/Contents/Scripts/default.scpt -------------------------------------------------------------------------------- /launchbar/Actions/Dark Mode.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Dark Mode.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Dark Mode.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Dark Mode.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Dark Mode.lbaction/Contents/_CodeSignature/CodeRequirements-1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Dark Mode.lbaction/Contents/_CodeSignature/CodeRequirements-1 -------------------------------------------------------------------------------- /launchbar/Actions/Dark Mode.lbaction/Contents/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | Resources/darkmode.png 8 | 9 | XQ9mu5lOZfSOQ+l35yq2ZHnydoA= 10 | 11 | 12 | files2 13 | 14 | Resources/darkmode.png 15 | 16 | hash 17 | 18 | XQ9mu5lOZfSOQ+l35yq2ZHnydoA= 19 | 20 | hash2 21 | 22 | zjsUUvWCCVG93NLEgpVRDjSSiZSpT3CPA249TmMS0CA= 23 | 24 | 25 | Scripts/default.scpt 26 | 27 | hash 28 | 29 | TREE/a4/RhVrjQ06v9PubGfgBLM= 30 | 31 | hash2 32 | 33 | vQY07CyNDtIYs6IVAiopx9fzCIPlpEpsmv8Z2tK4GKU= 34 | 35 | 36 | 37 | rules 38 | 39 | ^Resources/ 40 | 41 | ^Resources/.*\.lproj/ 42 | 43 | optional 44 | 45 | weight 46 | 1000 47 | 48 | ^Resources/.*\.lproj/locversion.plist$ 49 | 50 | omit 51 | 52 | weight 53 | 1100 54 | 55 | ^Resources/Base\.lproj/ 56 | 57 | weight 58 | 1010 59 | 60 | ^version.plist$ 61 | 62 | 63 | rules2 64 | 65 | .*\.dSYM($|/) 66 | 67 | weight 68 | 11 69 | 70 | ^(.*/)?\.DS_Store$ 71 | 72 | omit 73 | 74 | weight 75 | 2000 76 | 77 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ 78 | 79 | nested 80 | 81 | weight 82 | 10 83 | 84 | ^.* 85 | 86 | ^Info\.plist$ 87 | 88 | omit 89 | 90 | weight 91 | 20 92 | 93 | ^PkgInfo$ 94 | 95 | omit 96 | 97 | weight 98 | 20 99 | 100 | ^Resources/ 101 | 102 | weight 103 | 20 104 | 105 | ^Resources/.*\.lproj/ 106 | 107 | optional 108 | 109 | weight 110 | 1000 111 | 112 | ^Resources/.*\.lproj/locversion.plist$ 113 | 114 | omit 115 | 116 | weight 117 | 1100 118 | 119 | ^Resources/Base\.lproj/ 120 | 121 | weight 122 | 1010 123 | 124 | ^[^/]+$ 125 | 126 | nested 127 | 128 | weight 129 | 10 130 | 131 | ^embedded\.provisionprofile$ 132 | 133 | weight 134 | 20 135 | 136 | ^version\.plist$ 137 | 138 | weight 139 | 20 140 | 141 | 142 | 143 | 144 | -------------------------------------------------------------------------------- /launchbar/Actions/Dark Mode.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Dark Mode.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Did you mean.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | com.codeography.LauchBar.action.DidYouMean 7 | CFBundleName 8 | Did You Mean 9 | LBDescription 10 | 11 | LBAuthor 12 | Christopher Sexton 13 | LBEmail 14 | csexton@codeography.com 15 | LBTwitter 16 | @crsexton 17 | LBWebsiteURL 18 | http://www.codeography.com 19 | 20 | LBScripts 21 | 22 | LBDefaultScript 23 | 24 | LBAcceptedArgumentTypes 25 | 26 | string 27 | 28 | LBRequiresArgument 29 | 30 | LBResultType 31 | string 32 | LBScriptName 33 | default.rb 34 | 35 | LBSuggestionsScript 36 | 37 | LBAcceptedArgumentTypes 38 | 39 | string 40 | 41 | LBKeepWindowActive 42 | 43 | LBLiveFeedbackEnabled 44 | 45 | LBRequiresArgument 46 | 47 | LBResultType 48 | unknown 49 | LBReturnsResult 50 | 51 | LBRunInBackground 52 | 53 | LBScriptName 54 | suggestions.rb 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /launchbar/Actions/Did you mean.lbaction/Contents/Scripts/default.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # 3 | # LaunchBar Action Script 4 | # 5 | # Writes the arguments to the clipboard with no trailing newline. 6 | # 7 | require 'open3' 8 | 9 | Open3.popen3("pbcopy") do |stdin, stdout, stderr, wait_thr| 10 | stdin.write ARGV.join ' ' 11 | stdin.close 12 | end 13 | -------------------------------------------------------------------------------- /launchbar/Actions/Did you mean.lbaction/Contents/Scripts/suggestions.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # 3 | # LaunchBar Action Script 4 | # 5 | #require 'json' 6 | # 7 | #items = [] 8 | # 9 | #ARGV.each do | argument | 10 | # item = {} 11 | # item['title'] = argument 12 | # items.push(item) 13 | # item = {} 14 | # item['title'] = argument + argument 15 | # items.push(item) 16 | #end 17 | # 18 | #puts items.to_json 19 | 20 | require "open-uri" 21 | require "json" 22 | require "cgi" 23 | q = CGI.escape(ARGV.join " ") 24 | 25 | suggestions = open("https://www.google.com/complete/search?output=toolbar&q=#{q}") 26 | .read 27 | .scan(/data=\"([^"]*)\"/) 28 | .flatten 29 | 30 | result = [] 31 | suggestions.each do |suggestion| 32 | description = suggestion 33 | item = {} 34 | item['title'] = suggestion 35 | item['name'] = suggestion 36 | item['url'] = '' 37 | item['icon'] = '' 38 | 39 | # Limit the length of the description, which is usually very long: 40 | max_description_length = 100 41 | item['subtitle'] = description[0, max_description_length] 42 | item['subtitle'] += '…' if description.length > max_description_length 43 | 44 | item['action'] = 'copy.rb' 45 | item['actionArgument'] = suggestion 46 | 47 | result.push(item) 48 | end 49 | 50 | 51 | 52 | # Output the array of result items in JSON so LaunchBar can parse it: 53 | puts result.to_json 54 | 55 | -------------------------------------------------------------------------------- /launchbar/Actions/Generate UUID.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | com.codeography.LaunchBar.action.GenerateUUID 7 | CFBundleName 8 | Generate UUID 9 | LBDescription 10 | 11 | LBAuthor 12 | Christopher Sexton 13 | LBEmail 14 | chris@sexton.io 15 | LBTwitter 16 | @crsexton 17 | LBWebsiteURL 18 | http://www.codeography.com 19 | 20 | LBScripts 21 | 22 | LBDefaultScript 23 | 24 | LBKeepWindowActive 25 | 26 | LBResultType 27 | string 28 | LBReturnsResult 29 | 30 | LBScriptName 31 | default.sh 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /launchbar/Actions/Generate UUID.lbaction/Contents/Scripts/default.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # LaunchBar Action Script 4 | 5 | uuidgen 6 | -------------------------------------------------------------------------------- /launchbar/Actions/Hide File or Folder.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleName 6 | Hide File or Folder 7 | CFBundleVersion 8 | 1.0 9 | CFBundleIdentifier 10 | at.obdev.LaunchBar.action.HideFileOrFolder 11 | LBScripts 12 | 13 | LBDefaultScript 14 | 15 | LBScriptName 16 | default.sh 17 | LBRequiresArgument 18 | 19 | LBRunInBackground 20 | 21 | LBAcceptedArgumentTypes 22 | 23 | path 24 | 25 | 26 | 27 | LBDescription 28 | 29 | LBSummary 30 | Hides a file or folder. Use the “Unhide File or Folder” action to make it visible again. 31 | LBAuthor 32 | Objective Development 33 | LBEmail 34 | launchbar@obdev.at 35 | LBWebsite 36 | http://www.obdev.at/ 37 | LBTwitter 38 | @launchbar 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /launchbar/Actions/Hide File or Folder.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Datei oder Ordner verstecken"; 2 | "LBSummary" = "Versteckt eine Datei oder einen Ordner. Kann mit der Aktion „Datei oder Ordner einblenden“ rückgängig gemacht werden."; -------------------------------------------------------------------------------- /launchbar/Actions/Hide File or Folder.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Hide File or Folder"; 2 | -------------------------------------------------------------------------------- /launchbar/Actions/Hide File or Folder.lbaction/Contents/Scripts/default.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (c) 2014 Objective Development Software GmbH 4 | # http://www.obdev.at/ 5 | 6 | # Set "hidden" flag on every file passed: 7 | for file in "$@" 8 | do 9 | chflags hidden "$file" 10 | done 11 | -------------------------------------------------------------------------------- /launchbar/Actions/Hide File or Folder.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Hide File or Folder.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Hide File or Folder.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Hide File or Folder.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Hide File or Folder.lbaction/Contents/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | Resources/de.lproj/InfoPlist.strings 8 | 9 | hash 10 | 11 | oX2eGjiVnzwBptfCEahtN9SRqM0= 12 | 13 | optional 14 | 15 | 16 | Resources/en.lproj/InfoPlist.strings 17 | 18 | hash 19 | 20 | sayMxDkwde4SQ3GC3/bB3VaiBdM= 21 | 22 | optional 23 | 24 | 25 | 26 | files2 27 | 28 | Resources/de.lproj/InfoPlist.strings 29 | 30 | hash 31 | 32 | oX2eGjiVnzwBptfCEahtN9SRqM0= 33 | 34 | optional 35 | 36 | 37 | Resources/en.lproj/InfoPlist.strings 38 | 39 | hash 40 | 41 | sayMxDkwde4SQ3GC3/bB3VaiBdM= 42 | 43 | optional 44 | 45 | 46 | Scripts/default.sh 47 | 48 | 5nwq3VH1xJo5k/0tQa+Gz7thnrY= 49 | 50 | 51 | rules 52 | 53 | ^Resources/ 54 | 55 | ^Resources/.*\.lproj/ 56 | 57 | optional 58 | 59 | weight 60 | 1000 61 | 62 | ^Resources/.*\.lproj/locversion.plist$ 63 | 64 | omit 65 | 66 | weight 67 | 1100 68 | 69 | ^version.plist$ 70 | 71 | 72 | rules2 73 | 74 | .*\.dSYM($|/) 75 | 76 | weight 77 | 11 78 | 79 | ^(.*/)?\.DS_Store$ 80 | 81 | omit 82 | 83 | weight 84 | 2000 85 | 86 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ 87 | 88 | nested 89 | 90 | weight 91 | 10 92 | 93 | ^.* 94 | 95 | ^Info\.plist$ 96 | 97 | omit 98 | 99 | weight 100 | 20 101 | 102 | ^PkgInfo$ 103 | 104 | omit 105 | 106 | weight 107 | 20 108 | 109 | ^Resources/ 110 | 111 | weight 112 | 20 113 | 114 | ^Resources/.*\.lproj/ 115 | 116 | optional 117 | 118 | weight 119 | 1000 120 | 121 | ^Resources/.*\.lproj/locversion.plist$ 122 | 123 | omit 124 | 125 | weight 126 | 1100 127 | 128 | ^[^/]+$ 129 | 130 | nested 131 | 132 | weight 133 | 10 134 | 135 | ^embedded\.provisionprofile$ 136 | 137 | weight 138 | 20 139 | 140 | ^version\.plist$ 141 | 142 | weight 143 | 20 144 | 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /launchbar/Actions/Hide File or Folder.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Hide File or Folder.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Hide Icons on Desktop.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIconFile 6 | /System/Library/PreferencePanes/DesktopScreenEffectsPref.prefPane/Contents/Resources/DesktopScreenEffectsPref.icns 7 | CFBundleIdentifier 8 | at.obdev.LaunchBar.action.HideIconsOnDesktop 9 | CFBundleName 10 | Hide Icons on Desktop 11 | CFBundleVersion 12 | 1.0 13 | LBDescription 14 | 15 | LBAuthor 16 | Objective Development 17 | LBEmail 18 | launchbar@obdev.at 19 | LBSummary 20 | Hides any icons from the Desktop. Use the “Show Icons on Desktop” action to make them visible again. 21 | LBTwitter 22 | @launchbar 23 | LBWebsite 24 | http://www.obdev.at/ 25 | 26 | LBScripts 27 | 28 | LBDefaultScript 29 | 30 | LBResultType 31 | unknown 32 | LBRunInBackground 33 | 34 | LBScriptName 35 | default.sh 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /launchbar/Actions/Hide Icons on Desktop.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Symbole auf dem Schreibtisch ausblenden"; 2 | "LBSummary" = "Blendet jegliche Symbole auf dem Schreibtisch aus. Mit der Aktion „Symbole auf dem Schreibtisch einblenden“ können sie wieder eingeblendet werden."; 3 | -------------------------------------------------------------------------------- /launchbar/Actions/Hide Icons on Desktop.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Hide Icons on Desktop"; 2 | -------------------------------------------------------------------------------- /launchbar/Actions/Hide Icons on Desktop.lbaction/Contents/Scripts/default.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (c) 2014 Objective Development Software GmbH 4 | # http://www.obdev.at/ 5 | 6 | # Setting "CreateDesktop" to false in the domain com.apple.finder causes the 7 | # Desktop to disappear. 8 | defaults write com.apple.finder CreateDesktop -bool false 9 | 10 | # Restart Finder so it picks up the changes: 11 | killall Finder 12 | -------------------------------------------------------------------------------- /launchbar/Actions/Hide Icons on Desktop.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Hide Icons on Desktop.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Hide Icons on Desktop.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Hide Icons on Desktop.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Hide Icons on Desktop.lbaction/Contents/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | Resources/de.lproj/InfoPlist.strings 8 | 9 | hash 10 | 11 | Cl5o0PK6m3Wiqiz3HHXG2UCOJYw= 12 | 13 | optional 14 | 15 | 16 | Resources/en.lproj/InfoPlist.strings 17 | 18 | hash 19 | 20 | 2BPZdNxePd8voF8dI3/n05LO8Ys= 21 | 22 | optional 23 | 24 | 25 | 26 | files2 27 | 28 | Resources/de.lproj/InfoPlist.strings 29 | 30 | hash 31 | 32 | Cl5o0PK6m3Wiqiz3HHXG2UCOJYw= 33 | 34 | optional 35 | 36 | 37 | Resources/en.lproj/InfoPlist.strings 38 | 39 | hash 40 | 41 | 2BPZdNxePd8voF8dI3/n05LO8Ys= 42 | 43 | optional 44 | 45 | 46 | Scripts/default.sh 47 | 48 | P1v83j/rKzxN+NYhzuooJae0vts= 49 | 50 | 51 | rules 52 | 53 | ^Resources/ 54 | 55 | ^Resources/.*\.lproj/ 56 | 57 | optional 58 | 59 | weight 60 | 1000 61 | 62 | ^Resources/.*\.lproj/locversion.plist$ 63 | 64 | omit 65 | 66 | weight 67 | 1100 68 | 69 | ^version.plist$ 70 | 71 | 72 | rules2 73 | 74 | .*\.dSYM($|/) 75 | 76 | weight 77 | 11 78 | 79 | ^(.*/)?\.DS_Store$ 80 | 81 | omit 82 | 83 | weight 84 | 2000 85 | 86 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ 87 | 88 | nested 89 | 90 | weight 91 | 10 92 | 93 | ^.* 94 | 95 | ^Info\.plist$ 96 | 97 | omit 98 | 99 | weight 100 | 20 101 | 102 | ^PkgInfo$ 103 | 104 | omit 105 | 106 | weight 107 | 20 108 | 109 | ^Resources/ 110 | 111 | weight 112 | 20 113 | 114 | ^Resources/.*\.lproj/ 115 | 116 | optional 117 | 118 | weight 119 | 1000 120 | 121 | ^Resources/.*\.lproj/locversion.plist$ 122 | 123 | omit 124 | 125 | weight 126 | 1100 127 | 128 | ^[^/]+$ 129 | 130 | nested 131 | 132 | weight 133 | 10 134 | 135 | ^embedded\.provisionprofile$ 136 | 137 | weight 138 | 20 139 | 140 | ^version\.plist$ 141 | 142 | weight 143 | 20 144 | 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /launchbar/Actions/Hide Icons on Desktop.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Hide Icons on Desktop.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Light Mode.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIconFile 6 | lightmodeTemplate.png 7 | CFBundleIdentifier 8 | com.codeography.LaunchBar.action.LightMode 9 | CFBundleName 10 | Light Mode 11 | CFBundleVersion 12 | 1.0 13 | LBDescription 14 | 15 | LBAuthor 16 | Christopher Sexton 17 | LBEmail 18 | csexton@codeography.com 19 | LBSummary 20 | Enable Light Mode 21 | LBTwitter 22 | @crsexton 23 | LBWebsiteURL 24 | http://www.codeography.com 25 | 26 | LBScripts 27 | 28 | LBDefaultScript 29 | 30 | LBResultType 31 | unknown 32 | LBRunInBackground 33 | 34 | LBScriptName 35 | default.scpt 36 | 37 | 38 | LSMinimumSystemVersion 39 | 10.14 40 | 41 | 42 | -------------------------------------------------------------------------------- /launchbar/Actions/Light Mode.lbaction/Contents/Resources/lightmodeTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Light Mode.lbaction/Contents/Resources/lightmodeTemplate.png -------------------------------------------------------------------------------- /launchbar/Actions/Light Mode.lbaction/Contents/Scripts/default.scpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Light Mode.lbaction/Contents/Scripts/default.scpt -------------------------------------------------------------------------------- /launchbar/Actions/Light Mode.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Light Mode.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Light Mode.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Light Mode.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Light Mode.lbaction/Contents/_CodeSignature/CodeRequirements-1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Light Mode.lbaction/Contents/_CodeSignature/CodeRequirements-1 -------------------------------------------------------------------------------- /launchbar/Actions/Light Mode.lbaction/Contents/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | Resources/lightmode.png 8 | 9 | YZLf0A34CksiL3jylXM1GR9on5s= 10 | 11 | 12 | files2 13 | 14 | Resources/lightmode.png 15 | 16 | hash 17 | 18 | YZLf0A34CksiL3jylXM1GR9on5s= 19 | 20 | hash2 21 | 22 | y3EQ2ZfRqH+wDsAU+u5zBiGTF5mBp/xnQTa52/liZDs= 23 | 24 | 25 | Scripts/default.scpt 26 | 27 | hash 28 | 29 | +sBITP6PPfAVjW65g+YJ8BtfAWQ= 30 | 31 | hash2 32 | 33 | ea0YKVlL3vqGDplpnEw1OqBH2zTpNKqJwjWXwqh0tB0= 34 | 35 | 36 | 37 | rules 38 | 39 | ^Resources/ 40 | 41 | ^Resources/.*\.lproj/ 42 | 43 | optional 44 | 45 | weight 46 | 1000 47 | 48 | ^Resources/.*\.lproj/locversion.plist$ 49 | 50 | omit 51 | 52 | weight 53 | 1100 54 | 55 | ^Resources/Base\.lproj/ 56 | 57 | weight 58 | 1010 59 | 60 | ^version.plist$ 61 | 62 | 63 | rules2 64 | 65 | .*\.dSYM($|/) 66 | 67 | weight 68 | 11 69 | 70 | ^(.*/)?\.DS_Store$ 71 | 72 | omit 73 | 74 | weight 75 | 2000 76 | 77 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ 78 | 79 | nested 80 | 81 | weight 82 | 10 83 | 84 | ^.* 85 | 86 | ^Info\.plist$ 87 | 88 | omit 89 | 90 | weight 91 | 20 92 | 93 | ^PkgInfo$ 94 | 95 | omit 96 | 97 | weight 98 | 20 99 | 100 | ^Resources/ 101 | 102 | weight 103 | 20 104 | 105 | ^Resources/.*\.lproj/ 106 | 107 | optional 108 | 109 | weight 110 | 1000 111 | 112 | ^Resources/.*\.lproj/locversion.plist$ 113 | 114 | omit 115 | 116 | weight 117 | 1100 118 | 119 | ^Resources/Base\.lproj/ 120 | 121 | weight 122 | 1010 123 | 124 | ^[^/]+$ 125 | 126 | nested 127 | 128 | weight 129 | 10 130 | 131 | ^embedded\.provisionprofile$ 132 | 133 | weight 134 | 20 135 | 136 | ^version\.plist$ 137 | 138 | weight 139 | 20 140 | 141 | 142 | 143 | 144 | -------------------------------------------------------------------------------- /launchbar/Actions/Light Mode.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Light Mode.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Notes Navigator.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | LSMinimumSystemVersion 6 | 10.9 7 | LBDebugLogEnabled 8 | 9 | CFBundleIdentifier 10 | com.facetheheat.notesnavigator 11 | CFBundleIconFile 12 | com.apple.Notes 13 | CFBundleName 14 | Notes Navigator 15 | CFBundleVersion 16 | 1.0 17 | LBRequiredApplication 18 | com.apple.Notes 19 | LBScripts 20 | 21 | LBDefaultScript 22 | 23 | LBReturnsResult 24 | 25 | LBScriptName 26 | default.scpt 27 | 28 | 29 | LBDescription 30 | 31 | LBDownload 32 | https://github.com/facetheheat 33 | LBChangelog 34 | 35 | LBWebsite 36 | http://pavel.miroshnichen.co 37 | LBEmail 38 | pavel@miroshnichen.co 39 | LBSummary 40 | Simple notes.app navigator 41 | LBAuthor 42 | Pavel Miroshnichenko 43 | LBTwitter 44 | @previewthenew 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /launchbar/Actions/Notes Navigator.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Notes Navigator.lbaction/Contents/Resources/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /launchbar/Actions/Notes Navigator.lbaction/Contents/Scripts/default.scpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Notes Navigator.lbaction/Contents/Scripts/default.scpt -------------------------------------------------------------------------------- /launchbar/Actions/Notes Navigator.lbaction/README.md: -------------------------------------------------------------------------------- 1 | # Notes Navigator 2 | 3 | An action for navigating between notes & folder from Notas.app. 4 | Hit 'Return' to open Notes.app with seleted note. 5 | 6 | ## Features 7 | * Hit 'Enter' to open note 8 | * Simple keyboard navigation 9 | * Groups notes by folders 10 | 11 | 12 | ## Installation 13 | * Click "Download ZIP" on the right 14 | * Run LaunchBar/Note Navigator.lbaction to install 15 | 16 | ![](./images/Notes_Demo.gif) 17 | -------------------------------------------------------------------------------- /launchbar/Actions/Notes Navigator.lbaction/images/Notes_Demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Notes Navigator.lbaction/images/Notes_Demo.gif -------------------------------------------------------------------------------- /launchbar/Actions/Objective Development Blog.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | at.obdev.LaunchBar.action.ObDevBlog 7 | CFBundleName 8 | Objective Development Blog 9 | CFBundleVersion 10 | 1.0 11 | CFBundleIconFile 12 | ObDev Logo 13 | LBScripts 14 | 15 | LBDefaultScript 16 | 17 | LBScriptName 18 | default.rb 19 | LBReturnsResult 20 | 21 | 22 | 23 | LBDescription 24 | 25 | LBSummary 26 | Shows Objective Development’s blog posts. 27 | LBRequirements 28 | Requires an active internet connection. 29 | LBResult 30 | Returns a list of blog posts. 31 | LBAuthor 32 | Objective Development 33 | LBEmail 34 | launchbar@obdev.at 35 | LBWebsite 36 | http://www.obdev.at/ 37 | LBTwitter 38 | @launchbar 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /launchbar/Actions/Objective Development Blog.lbaction/Contents/Resources/ObDev Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Objective Development Blog.lbaction/Contents/Resources/ObDev Logo.png -------------------------------------------------------------------------------- /launchbar/Actions/Objective Development Blog.lbaction/Contents/Resources/ObDev Logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Objective Development Blog.lbaction/Contents/Resources/ObDev Logo@2x.png -------------------------------------------------------------------------------- /launchbar/Actions/Objective Development Blog.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | CFBundleName = "Objective Development Blog"; 2 | "LBSummary" = "Zeigt Posts vom Objective Development Blog."; 3 | "LBRequirements" = "Benötigt eine aktive Internetverbindung."; 4 | "LBResult" = "Zeigt eine Liste von Blog–Posts."; 5 | -------------------------------------------------------------------------------- /launchbar/Actions/Objective Development Blog.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | CFBundleName = "Objective Development Blog"; 2 | -------------------------------------------------------------------------------- /launchbar/Actions/Objective Development Blog.lbaction/Contents/Scripts/default.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # 3 | # Copyright (c) 2014 Objective Development Software GmbH 4 | # http://www.obdev.at/ 5 | 6 | require 'open-uri' 7 | require 'rss' 8 | require 'json' 9 | require 'cgi' 10 | 11 | 12 | # Load the RSS feed: 13 | rss_content = "" 14 | rss_url = "http://blog.obdev.at/feed/" 15 | open(rss_url) do |file| 16 | rss_content = file.read 17 | end 18 | 19 | # Parse the RSS feed: 20 | rss = RSS::Parser.parse(rss_content, false) 21 | 22 | result = [] 23 | 24 | # Add an item on top that represents the feed itself: 25 | item = {} 26 | item['title'] = rss.channel.title 27 | item['url'] = rss.channel.link 28 | item['subtitle'] = rss.channel.link 29 | 30 | # LaunchBar uses the action's bundle resources to find the image with that name: 31 | item['icon'] = 'ObDev Logo' 32 | 33 | result.push(item) 34 | 35 | # Add an item for each item in the RSS feed: 36 | rss.items.each do | rss_item | 37 | item = {} 38 | item['title'] = CGI.unescapeHTML(rss_item.title) 39 | item['url'] = rss_item.link 40 | item['icon'] = '' 41 | 42 | # Limit the length of the description, which is usually very long: 43 | max_description_length = 100 44 | description = CGI.unescapeHTML(rss_item.description) 45 | item['subtitle'] = description[0, max_description_length] 46 | item['subtitle'] += '…' if description.length > max_description_length 47 | 48 | result.push(item) 49 | end 50 | 51 | # Output the array of result items in JSON so LaunchBar can parse it: 52 | puts result.to_json 53 | -------------------------------------------------------------------------------- /launchbar/Actions/Objective Development Blog.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Objective Development Blog.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Objective Development Blog.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Objective Development Blog.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Objective Development Blog.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Objective Development Blog.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Open Anyway.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleName 6 | Open Anyway 7 | CFBundleVersion 8 | 1.0 9 | CFBundleIdentifier 10 | at.obdev.LaunchBar.action.OpenAnyway 11 | LBScripts 12 | 13 | LBDefaultScript 14 | 15 | LBScriptName 16 | default.sh 17 | LBRequiresArgument 18 | 19 | LBRunInBackground 20 | 21 | LBAcceptedArgumentTypes 22 | 23 | path 24 | 25 | 26 | 27 | LBDescription 28 | 29 | LBSummary 30 | Opens an app or document even when OS X would normally warn about it being downloaded. 31 | LBAuthor 32 | Objective Development 33 | LBEmail 34 | launchbar@obdev.at 35 | LBWebsite 36 | http://www.obdev.at/ 37 | LBTwitter 38 | @launchbar 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /launchbar/Actions/Open Anyway.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Trotzdem öffnen"; 2 | "LBSummary" = "Öffnet eine App oder ein Dokument obwohl OS X normalerweise eine Warnung anzeigen würde, dass sie bzw. es heruntergeladen wurde."; 3 | -------------------------------------------------------------------------------- /launchbar/Actions/Open Anyway.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Open Anyway"; 2 | -------------------------------------------------------------------------------- /launchbar/Actions/Open Anyway.lbaction/Contents/Scripts/default.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (c) 2014 Objective Development Software GmbH 4 | # http://www.obdev.at/ 5 | 6 | # Clear quarantine flag on every file passed, then open it: 7 | for f in "$@" 8 | do 9 | xattr -d com.apple.quarantine "$f" 10 | open "$f" 11 | done 12 | -------------------------------------------------------------------------------- /launchbar/Actions/Open Anyway.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Open Anyway.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Open Anyway.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Open Anyway.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Open Anyway.lbaction/Contents/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | Resources/de.lproj/InfoPlist.strings 8 | 9 | hash 10 | 11 | sDZXyLllmLp5FJhfVGU9vlUjSvM= 12 | 13 | optional 14 | 15 | 16 | Resources/en.lproj/InfoPlist.strings 17 | 18 | hash 19 | 20 | NeoRgPyDktxbrRmcM74xspN0uhs= 21 | 22 | optional 23 | 24 | 25 | 26 | files2 27 | 28 | Resources/de.lproj/InfoPlist.strings 29 | 30 | hash 31 | 32 | sDZXyLllmLp5FJhfVGU9vlUjSvM= 33 | 34 | optional 35 | 36 | 37 | Resources/en.lproj/InfoPlist.strings 38 | 39 | hash 40 | 41 | NeoRgPyDktxbrRmcM74xspN0uhs= 42 | 43 | optional 44 | 45 | 46 | Scripts/default.sh 47 | 48 | RjXf+sptyB6LenJjyYMqJ3iE7Vs= 49 | 50 | 51 | rules 52 | 53 | ^Resources/ 54 | 55 | ^Resources/.*\.lproj/ 56 | 57 | optional 58 | 59 | weight 60 | 1000 61 | 62 | ^Resources/.*\.lproj/locversion.plist$ 63 | 64 | omit 65 | 66 | weight 67 | 1100 68 | 69 | ^version.plist$ 70 | 71 | 72 | rules2 73 | 74 | .*\.dSYM($|/) 75 | 76 | weight 77 | 11 78 | 79 | ^(.*/)?\.DS_Store$ 80 | 81 | omit 82 | 83 | weight 84 | 2000 85 | 86 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ 87 | 88 | nested 89 | 90 | weight 91 | 10 92 | 93 | ^.* 94 | 95 | ^Info\.plist$ 96 | 97 | omit 98 | 99 | weight 100 | 20 101 | 102 | ^PkgInfo$ 103 | 104 | omit 105 | 106 | weight 107 | 20 108 | 109 | ^Resources/ 110 | 111 | weight 112 | 20 113 | 114 | ^Resources/.*\.lproj/ 115 | 116 | optional 117 | 118 | weight 119 | 1000 120 | 121 | ^Resources/.*\.lproj/locversion.plist$ 122 | 123 | omit 124 | 125 | weight 126 | 1100 127 | 128 | ^[^/]+$ 129 | 130 | nested 131 | 132 | weight 133 | 10 134 | 135 | ^embedded\.provisionprofile$ 136 | 137 | weight 138 | 20 139 | 140 | ^version\.plist$ 141 | 142 | weight 143 | 20 144 | 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /launchbar/Actions/Open Anyway.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Open Anyway.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Log In.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | gillibrand.jay.pinboard.login 7 | CFBundleName 8 | Pinboard: Log In 9 | LBTextInputTitle 10 | API Token 11 | CFBundleIconFile 12 | PinboardTemplate.icns 13 | LBAbbreviation 14 | pbl 15 | LBDebugLogEnabled 16 | 17 | CFBundleVersion 18 | 1.4.3 19 | LBScripts 20 | 21 | LBDefaultScript 22 | 23 | LBAcceptedArgumentTypes 24 | 25 | string 26 | 27 | LBScriptName 28 | pinboard-login.js 29 | LBReturnsResult 30 | 31 | LBRequiresArgument 32 | 33 | LBLiveFeedbackEnabled 34 | 35 | 36 | 37 | LBDescription 38 | 39 | LBAuthor 40 | Jay Gillibrand 41 | LBWebsite 42 | https://github.com/gillibrand/launchbar-pinboard 43 | LBSummary 44 | Required to log in to your Pinboard account. Used by other Pinboard actions. 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Log In.lbaction/Contents/Resources/BookmarkTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Log In.lbaction/Contents/Resources/BookmarkTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Log In.lbaction/Contents/Resources/PinboardTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Log In.lbaction/Contents/Resources/PinboardTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Log In.lbaction/Contents/Resources/TagTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Log In.lbaction/Contents/Resources/TagTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Log In.lbaction/Contents/Resources/pinboard.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Log In.lbaction/Contents/Resources/pinboard.jpg -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Log In.lbaction/Contents/Scripts/pinboard-login.js: -------------------------------------------------------------------------------- 1 | function run(apiToken) { 2 | var results = []; 3 | 4 | results.push({ 5 | title: 'Enter your Pinboard API token', 6 | subtitle: 'Enter you API token here to access your Pinboard account from LaunchBar', 7 | icon: 'PinboardTemplate.icns', 8 | action: 'saveApiToken', 9 | actionArgument: apiToken, 10 | }); 11 | 12 | results.push({ 13 | title: 'Look up your API token', 14 | subtitle: 'View your API token on Pinboard', 15 | url: 'https://pinboard.in/settings/password' 16 | }); 17 | 18 | if (File.exists(apiTokenPath())) { 19 | results.push({ 20 | title: 'Log Out', 21 | subtitle: 'Delete your saved API token', 22 | action: 'deleteApiToken' 23 | }); 24 | } 25 | 26 | return results; 27 | } 28 | 29 | function apiTokenPath() { 30 | return Action.supportPath + '/api-token.txt'; 31 | } 32 | 33 | function saveApiToken(apiToken) { 34 | // Test with a known Pinboard URL. Any non-error means it's good. 35 | var result = HTTP.getJSON('https://api.pinboard.in/v1/user/secret?format=json&auth_token=' + apiToken); 36 | 37 | if (result.response.status !== 200) { 38 | LaunchBar.alert( 39 | 'Unable to log in to Pinboard.', 40 | 'The API token you entered was not accepted. Try copying and pasting the API token from your Pinboard settings and try again. \n\nPinboard said: ' + result.response.status + ' ' + result.response.localizedStatus); 41 | LaunchBar.performAction('Pinboard: Log In'); 42 | return; 43 | } 44 | 45 | // Multiple actions want to access this, so save in a common location instead of the support path just for this action. 46 | File.writeText(apiToken, apiTokenPath()); 47 | 48 | LaunchBar.displayNotification({ 49 | string: 'Successfully logged in to Pinboard' 50 | }); 51 | } 52 | 53 | function deleteApiToken() { 54 | try { 55 | LaunchBar.execute('/bin/bash', '-c', 'rm \'' + apiTokenPath() + '\''); 56 | } 57 | catch (e) { 58 | LaunchBar.log('Log Out failed: ' + e); 59 | LaunchBar.alert( 60 | 'Could not log out.', 61 | 'Your API token file was not deleted. You can try manually deleting the file at ' + apiTokenPath()); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Recent.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | gillibrand.jay.pinboard-recent 7 | CFBundleIconFile 8 | PinboardTemplate.icns 9 | CFBundleName 10 | Pinboard: Recent Bookmarks 11 | LBAbbreviation 12 | pbr 13 | LBDebugLogEnabled 14 | 15 | CFBundleVersion 16 | 1.4.3 17 | LBScripts 18 | 19 | LBDefaultScript 20 | 21 | LBAcceptedArgumentTypes 22 | 23 | string 24 | 25 | LBScriptName 26 | pinboard-recent.js 27 | LBReturnsResult 28 | 29 | LBRequiresArgument 30 | 31 | LBLiveFeedbackEnabled 32 | 33 | 34 | 35 | LBDescription 36 | 37 | LBAuthor 38 | Jay Gillibrand 39 | LBWebsite 40 | https://github.com/gillibrand/launchbar-pinboard 41 | LBSummary 42 | Lists you most recent Pinboard bookmarks. 43 | LBResult 44 | Up to 25 recent bookmarks. 45 | LBRequirements 46 | "Pinboard Log In" action. 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Recent.lbaction/Contents/Resources/BookmarkTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Recent.lbaction/Contents/Resources/BookmarkTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Recent.lbaction/Contents/Resources/PinboardTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Recent.lbaction/Contents/Resources/PinboardTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Recent.lbaction/Contents/Resources/TagTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Recent.lbaction/Contents/Resources/TagTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Recent.lbaction/Contents/Scripts/pinboard-recent.js: -------------------------------------------------------------------------------- 1 | include('shared.js'); 2 | 3 | function run() { 4 | if (!loadApiToken()) return loginErrorAsListResults(); 5 | 6 | var data = getUrl('https://api.pinboard.in/v1/posts/recent', { 7 | count: 25 8 | }); 9 | if (!data) return; 10 | 11 | return postsAsListResults(data.posts); 12 | } -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Search.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | gillibrand.jay.pinboard-search 7 | CFBundleIconFile 8 | PinboardTemplate.icns 9 | LBTextInputTitle 10 | Search 11 | CFBundleName 12 | Pinboard: Search Bookmarks 13 | LBAbbreviation 14 | pbs 15 | LBDebugLogEnabled 16 | 17 | CFBundleVersion 18 | 1.4.3 19 | LBScripts 20 | 21 | LBDefaultScript 22 | 23 | LBAcceptedArgumentTypes 24 | 25 | string 26 | 27 | LBScriptName 28 | pinboard-search.js 29 | LBReturnsResult 30 | 31 | LBLiveFeedbackEnabled 32 | 33 | LBRequiresArgument 34 | 35 | 36 | 37 | LBDescription 38 | 39 | LBAuthor 40 | Jay Gillibrand 41 | LBWebsite 42 | https://github.com/gillibrand/launchbar-pinboard 43 | LBSummary 44 | Searches all your bookmarks. 45 | LBResult 46 | Your Pinboard bookmarks that have a matching title, description, tag, or URL. 47 | LBRequirements 48 | "Pinboard Log In" action. 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Search.lbaction/Contents/Resources/BookmarkTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Search.lbaction/Contents/Resources/BookmarkTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Search.lbaction/Contents/Resources/PinboardTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Search.lbaction/Contents/Resources/PinboardTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Search.lbaction/Contents/Resources/TagTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Search.lbaction/Contents/Resources/TagTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Search.lbaction/Contents/Scripts/pinboard-search.js: -------------------------------------------------------------------------------- 1 | include('shared.js'); 2 | include('search.js'); 3 | 4 | function runWithString(query) { 5 | 6 | if (!query) { 7 | return []; 8 | } 9 | 10 | if (!loadApiToken()) { 11 | 12 | return loginErrorAsListResults(); 13 | } 14 | 15 | var posts = getAllPosts(); 16 | 17 | var matchingPosts = searchPosts(posts, query); 18 | var results = postsAsListResults(matchingPosts); 19 | 20 | if (query.toLowerCase() === 'refresh') { 21 | results.unshift({ 22 | title: 'Refresh your out-of-date bookmarks', 23 | subtitle: 'Try this if your most recent bookmarks are missing from search results', 24 | action: 'clearCachedAllPosts' 25 | }); 26 | } 27 | 28 | return results; 29 | } 30 | 31 | function searchPosts(simplePosts, query) { 32 | query = query.toLowerCase().trim(); 33 | if (query.length < 2) return []; 34 | 35 | return search.searchObjectsWithIndexedText(simplePosts, query); 36 | } 37 | 38 | -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Search.lbaction/Contents/Scripts/search.js: -------------------------------------------------------------------------------- 1 | var search = (function() { 2 | var WHITESPACE = /\s+/; 3 | 4 | /** 5 | * Assignes a score (higher is better) to an indexed text 6 | * string based on how well it matches the search words. 7 | * @param {array} searchWords words to search for--the text the user 8 | * searches for. 9 | * @param {string} indexedText 10 | * @return {number} score for how well the indexed text 11 | * matches the search words. 12 | */ 13 | function scoreIndexedText(searchWords, indexedText) { 14 | var score = 0; 15 | 16 | for (var i = 0; i < searchWords.length; i++) { 17 | var searchWord = searchWords[i]; 18 | 19 | // The first time a word is found, increase the score a lot. 20 | // Repeats of the same word score much lower. This ranks multiple 21 | // word matches very high, but gives some weight to repeated words 22 | // too. 23 | var scoreWeight = 10; 24 | 25 | var atIndex = 0; 26 | while (true) { 27 | atIndex = indexedText.indexOf(searchWord, atIndex); 28 | if (atIndex === -1) break; 29 | 30 | score += scoreWeight; 31 | scoreWeight = 1; 32 | atIndex += 1; 33 | } 34 | } 35 | 36 | return score; 37 | } 38 | 39 | /** 40 | * Given objects with a .indexedText property, filters out any that don't 41 | * match the search string and sorts the results with closest matching 42 | * first. 43 | * @param {array} objects objects with a .indexedText property. 44 | * @param {string} searchString space separated string of words to search 45 | * for. 46 | * @return {array} sorted, matching objects. 47 | */ 48 | function searchObjectsWithIndexedText(objects, searchString) { 49 | var searchWords = searchString.toLowerCase().split(WHITESPACE); 50 | var matchingObjects = []; 51 | 52 | objects.forEach(function(object) { 53 | var score = scoreIndexedText(searchWords, object.indexedText); 54 | if (score > 0) { 55 | object.__score__ = score; 56 | matchingObjects.push(object); 57 | } 58 | }); 59 | 60 | matchingObjects.sort(function(left, right) { 61 | return right.__score__ - left.__score__; 62 | }); 63 | 64 | matchingObjects.forEach(function(m) { 65 | delete m.__score__; 66 | }); 67 | 68 | return matchingObjects; 69 | } 70 | 71 | /** 72 | * Given a text string, creates a indexed version of that text that can be 73 | * used for a full text search later. Currenlty this just lowercases the 74 | * text, but could strip stop-words or repeates in the future. 75 | * @param {string} text text to index. 76 | * @return {string} indexed text to use with other functions in this 77 | * module. 78 | */ 79 | function indexText(text) { 80 | return text.toLowerCase(); 81 | } 82 | 83 | return { 84 | indexText: indexText, 85 | searchObjectsWithIndexedText: searchObjectsWithIndexedText 86 | }; 87 | })(); 88 | 89 | try { 90 | module.exports = search; 91 | } 92 | catch (e) { 93 | // not in a node.js 94 | } 95 | -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Tags.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | gillibrand.jay.pinboard-tags 7 | CFBundleIconFile 8 | PinboardTemplate.icns 9 | CFBundleName 10 | Pinboard: Tags 11 | LBAbbreviation 12 | pbt 13 | LBDebugLogEnabled 14 | 15 | CFBundleVersion 16 | 1.4.3 17 | LBScripts 18 | 19 | LBDefaultScript 20 | 21 | LBAcceptedArgumentTypes 22 | 23 | string 24 | 25 | LBScriptName 26 | pinboard-tags.js 27 | LBReturnsResult 28 | 29 | LBRequiresArgument 30 | 31 | LBLiveFeedbackEnabled 32 | 33 | 34 | 35 | LBDescription 36 | 37 | LBAuthor 38 | Jay Gillibrand 39 | LBWebsite 40 | https://github.com/gillibrand/launchbar-pinboard 41 | LBSummary 42 | Lists you Pinboard tags. 43 | LBResult 44 | Your Pinboard tags sorted from most used to least. Selecting a tag will list all the bookmarks for that tag. 45 | LBRequirements 46 | "Pinboard Log In" action. 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Tags.lbaction/Contents/Resources/BookmarkTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Tags.lbaction/Contents/Resources/BookmarkTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Tags.lbaction/Contents/Resources/PinboardTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Tags.lbaction/Contents/Resources/PinboardTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Tags.lbaction/Contents/Resources/TagTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Tags.lbaction/Contents/Resources/TagTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Tags.lbaction/Contents/Scripts/pinboard-tags.js: -------------------------------------------------------------------------------- 1 | include('shared.js'); 2 | 3 | /** 4 | * Lists all tags, sorted by count. 5 | */ 6 | function run() { 7 | if (!loadApiToken()) return loginErrorAsListResults(); 8 | 9 | var tags = getUrl('https://api.pinboard.in/v1/tags/get'); 10 | if (!tags) return; 11 | 12 | var results = []; 13 | 14 | for (var tag in tags) { 15 | var count = tags[tag]; 16 | 17 | var result = { 18 | title: tag, 19 | subtitle: count, 20 | action: 'listTag', 21 | actionArgument: tag, 22 | actionReturnsItems: true, 23 | count: count, 24 | icon: 'TagTemplate.icns' 25 | }; 26 | 27 | results.push(result); 28 | } 29 | 30 | results.sort(function(left, right) { 31 | return right.count - left.count; 32 | }); 33 | 34 | return results; 35 | } 36 | 37 | /** 38 | * List the bookmarks for a given tag. 39 | * @param {string} tag name of the tag. 40 | */ 41 | function listTag(tag) { 42 | if (!loadApiToken()) return; 43 | 44 | var posts = getUrl('https://api.pinboard.in/v1/posts/all', { 45 | tag: tag 46 | }); 47 | 48 | if (!posts) return; 49 | 50 | return postsAsListResults(posts); 51 | } -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Unread.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | gillibrand.jay.pinboard-unread 7 | CFBundleIconFile 8 | PinboardTemplate.icns 9 | CFBundleName 10 | Pinboard: Unread Bookmarks 11 | LBAbbreviation 12 | pbu 13 | LBDebugLogEnabled 14 | 15 | CFBundleVersion 16 | 1.0.3 17 | LBScripts 18 | 19 | LBDefaultScript 20 | 21 | LBAcceptedArgumentTypes 22 | 23 | string 24 | 25 | LBScriptName 26 | pinboard-unread.js 27 | LBReturnsResult 28 | 29 | LBRequiresArgument 30 | 31 | LBLiveFeedbackEnabled 32 | 33 | 34 | 35 | LBDescription 36 | 37 | LBAuthor 38 | Jay Gillibrand 39 | LBWebsite 40 | https://github.com/gillibrand/launchbar-pinboard 41 | LBSummary 42 | Lists all your unread Pinboard bookmarks. 43 | LBResult 44 | All unread bookmarks. 45 | LBRequirements 46 | "Pinboard Log In" action. 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Unread.lbaction/Contents/Resources/BookmarkTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Unread.lbaction/Contents/Resources/BookmarkTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Unread.lbaction/Contents/Resources/PinboardTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Unread.lbaction/Contents/Resources/PinboardTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Unread.lbaction/Contents/Resources/TagTemplate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Pinboard Unread.lbaction/Contents/Resources/TagTemplate.icns -------------------------------------------------------------------------------- /launchbar/Actions/Pinboard Unread.lbaction/Contents/Scripts/pinboard-unread.js: -------------------------------------------------------------------------------- 1 | include('shared.js'); 2 | 3 | function run() { 4 | if (!loadApiToken()) return loginErrorAsListResults(); 5 | 6 | var posts = getAllPosts({ 7 | toread: 'yes' 8 | }); 9 | 10 | var unreadPosts = posts.filter(function(post) { 11 | return post.toread == 'yes'; 12 | }); 13 | 14 | return postsAsListResults(unreadPosts); 15 | } -------------------------------------------------------------------------------- /launchbar/Actions/Post current iTunes song on Twitter.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | at.obdev.LaunchBar.action.PostiTunesSongOnTwitter 7 | CFBundleName 8 | Post current iTunes song on Twitter 9 | CFBundleVersion 10 | 1.0 11 | LBScripts 12 | 13 | LBDefaultScript 14 | 15 | LBScriptName 16 | default.js 17 | 18 | 19 | LBDescription 20 | 21 | LBSummary 22 | Composes a Tweet with the current song, artist and iTunes Store link. 23 | LBRequirements 24 | Requires iTunes to be playing a song that is available on the iTunes Store. Requires an active internet connection. 25 | LBAuthor 26 | Objective Development 27 | LBEmail 28 | launchbar@obdev.at 29 | LBWebsite 30 | http://www.obdev.at/ 31 | LBTwitter 32 | @launchbar 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /launchbar/Actions/Post current iTunes song on Twitter.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | CFBundleName = "Aktuellen iTunes Song auf Twitter posten"; 2 | "LBSummary" = "Erstellt einen Tweet mit dem aktuellen Song, Interpreten und iTunes Store–Link."; 3 | "LBRequirements" = "Funktioninert nur, wenn iTunes einen Song spielt, der im iTunes Store verfügbar ist. Benötigt eine aktive Internetverbindung."; 4 | -------------------------------------------------------------------------------- /launchbar/Actions/Post current iTunes song on Twitter.lbaction/Contents/Resources/de.lproj/default.strings: -------------------------------------------------------------------------------- 1 | "unableToPost" = "Der aktuelle iTunes Song konnte nicht auf Twitter gepostet werden"; 2 | "unableToGetArtistOrName" = "Interpret oder Titel konnte nicht ermittelt werden"; 3 | "trackNotFound" = "Der Song wurde im iTunes Store nicht gefunden"; 4 | 5 | "I’m listening to" = "Ich höre gerade"; 6 | "by" = "von"; 7 | -------------------------------------------------------------------------------- /launchbar/Actions/Post current iTunes song on Twitter.lbaction/Contents/Resources/en.lproj/default.strings: -------------------------------------------------------------------------------- 1 | "unableToPost" = "Unable to post current track to Twitter"; 2 | "unableToGetArtistOrName" = "Unable to determine title or artist"; 3 | "trackNotFound" = "Unable to find the track in the iTunes Store"; 4 | -------------------------------------------------------------------------------- /launchbar/Actions/Post current iTunes song on Twitter.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Post current iTunes song on Twitter.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Post current iTunes song on Twitter.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Post current iTunes song on Twitter.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Post current iTunes song on Twitter.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Post current iTunes song on Twitter.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Search Duden.de.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIconFile 6 | Duden 7 | CFBundleIdentifier 8 | at.obdev.LaunchBar.action.SearchDuden 9 | CFBundleName 10 | Search Duden.de 11 | CFBundleVersion 12 | 1.1 13 | LBTextInputTitle 14 | Duden.de 15 | LBScripts 16 | 17 | LBDefaultScript 18 | 19 | LBAcceptedArgumentTypes 20 | 21 | string 22 | 23 | LBRequiresArgument 24 | 25 | LBScriptName 26 | default.js 27 | 28 | LBSuggestionsScript 29 | 30 | LBScriptName 31 | suggestions.js 32 | LBRunInBackground 33 | 34 | 35 | 36 | LBDescription 37 | 38 | LBSummary 39 | Allows searching Duden.de, a dictionary of the German language. 40 | LBRequirements 41 | Requires an active internet connection. 42 | LBAuthor 43 | Objective Development 44 | LBEmail 45 | launchbar@obdev.at 46 | LBWebsite 47 | http://www.obdev.at/ 48 | LBTwitter 49 | @launchbar 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /launchbar/Actions/Search Duden.de.lbaction/Contents/Resources/Duden.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Search Duden.de.lbaction/Contents/Resources/Duden.png -------------------------------------------------------------------------------- /launchbar/Actions/Search Duden.de.lbaction/Contents/Resources/Duden@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Search Duden.de.lbaction/Contents/Resources/Duden@2x.png -------------------------------------------------------------------------------- /launchbar/Actions/Search Duden.de.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Duden.de durchsuchen"; 2 | "LBSummary" = "Durchsucht Duden.de, einem Wörterbuch der deutschen Sprache."; 3 | "LBRequirements" = "Benötigt eine aktive Internetverbindung."; 4 | -------------------------------------------------------------------------------- /launchbar/Actions/Search Duden.de.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Search Duden.de.lbaction/Contents/Resources/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /launchbar/Actions/Search Duden.de.lbaction/Contents/Scripts/default.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 Objective Development Software GmbH 2 | // http://www.obdev.at/ 3 | 4 | // The 'run' function is called by LaunchBar when the user opens the action. 5 | function run() 6 | { 7 | // No argument passed, just open the website: 8 | LaunchBar.openURL('http://www.duden.de/'); 9 | } 10 | 11 | // The 'runWithString' function is called by LaunchBar when the user opens the action with a string argument. 12 | function runWithString(argument) 13 | { 14 | LaunchBar.openURL('http://www.duden.de/suchen/dudenonline/' + encodeURIComponent(argument)); 15 | } 16 | -------------------------------------------------------------------------------- /launchbar/Actions/Search Duden.de.lbaction/Contents/Scripts/suggestions.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 Objective Development Software GmbH 2 | // http://www.obdev.at/ 3 | 4 | function runWithString(argument) 5 | { 6 | var result = HTTP.getJSON('http://www.duden.de/search_duden/autocomplete/' + encodeURIComponent(argument), 3); 7 | 8 | if (result == undefined) { 9 | LaunchBar.log('HTTP.getJSON() returned undefined'); 10 | return []; 11 | } 12 | if (result.error != undefined) { 13 | LaunchBar.log('Error in HTTP request: ' + result.error); 14 | return []; 15 | } 16 | 17 | try { 18 | var suggestions = []; 19 | for (var suggestion in result.data) { 20 | suggestions.push({ 21 | 'title' : suggestion, 22 | 'icon' : 'Duden.png' 23 | }); 24 | } 25 | return suggestions; 26 | } catch (exception) { 27 | LaunchBar.log('Exception while parsing result: ' + exception); 28 | return []; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /launchbar/Actions/Search Duden.de.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Search Duden.de.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Search Duden.de.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Search Duden.de.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Search Duden.de.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Search Duden.de.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Search WolframAlpha.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIconFile 6 | WolframAlpha 7 | CFBundleIdentifier 8 | eu.weiel.WolframAlpha 9 | CFBundleName 10 | Search WolframAlpha 11 | CFBundleVersion 12 | 1.0 13 | LBTextInputTitle 14 | WolframAlpha 15 | LBScripts 16 | 17 | LBDefaultScript 18 | 19 | LBAcceptedArgumentTypes 20 | 21 | string 22 | 23 | LBRequiresArgument 24 | 25 | LBScriptName 26 | default.js 27 | 28 | LBSuggestionsScript 29 | 30 | LBScriptName 31 | suggestions.js 32 | LBRunInBackground 33 | 34 | 35 | 36 | LBDescription 37 | 38 | LBSummary 39 | Allows searching WolframAlpha.com, a math search engine. 40 | LBRequirements 41 | Requires an active internet connection. 42 | LBAuthor 43 | Manuel Weiel 44 | LBEmail 45 | manuel@weiel.eu 46 | LBWebsite 47 | http://manuel.weiel.eu 48 | LBTwitter 49 | @xmanuw 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /launchbar/Actions/Search WolframAlpha.lbaction/Contents/Resources/WolframAlpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Search WolframAlpha.lbaction/Contents/Resources/WolframAlpha.png -------------------------------------------------------------------------------- /launchbar/Actions/Search WolframAlpha.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "WolframAlpha durchsuchen"; 2 | "LBSummary" = "Durchsucht WolframAlpha.com, eine mathematische Suchmaschine."; 3 | "LBRequirements" = "Benötigt eine aktive Internetverbindung."; 4 | -------------------------------------------------------------------------------- /launchbar/Actions/Search WolframAlpha.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Search WolframAlpha.lbaction/Contents/Resources/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /launchbar/Actions/Search WolframAlpha.lbaction/Contents/Resources/result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Search WolframAlpha.lbaction/Contents/Resources/result.png -------------------------------------------------------------------------------- /launchbar/Actions/Search WolframAlpha.lbaction/Contents/Scripts/default.js: -------------------------------------------------------------------------------- 1 | // The 'run' function is called by LaunchBar when the user opens the action. 2 | function run() 3 | { 4 | // No argument passed, just open the website: 5 | LaunchBar.openURL('http://www.wolframalpha.com/'); 6 | } 7 | 8 | // The 'runWithString' function is called by LaunchBar when the user opens the action with a string argument. 9 | function runWithString(argument) 10 | { 11 | LaunchBar.openURL('http://www.wolframalpha.com/input/?i=' + encodeURIComponent(argument)); 12 | } 13 | -------------------------------------------------------------------------------- /launchbar/Actions/Search WolframAlpha.lbaction/Contents/Scripts/suggestions.js: -------------------------------------------------------------------------------- 1 | function runWithString(argument) 2 | { 3 | var result = HTTP.getJSON('http://www.wolframalpha.com/input/autocomplete.jsp?qr=0&i=' + encodeURIComponent(argument), 3); 4 | 5 | if (result == undefined) { 6 | LaunchBar.log('HTTP.getJSON() returned undefined'); 7 | return []; 8 | } 9 | if (result.error != undefined) { 10 | LaunchBar.log('Error in HTTP request: ' + result.error); 11 | return []; 12 | } 13 | 14 | try { 15 | var suggestions = []; 16 | 17 | 18 | if (result.data["instantMath"]) { 19 | suggestions.push({ 20 | 'title' : result.data["instantMath"]["exactResult"], 21 | 'subtitle': result.data["instantMath"]["parsedInput"], 22 | 'icon' : 'result.png' 23 | }) 24 | } 25 | 26 | var i = 0 27 | for (i = 0; i < result.data.results.length; i++) { 28 | var suggestion = result.data.results[i]; 29 | suggestions.push({ 30 | 'title' : suggestion["input"], 31 | 'icon' : 'WolframAlpha.png' 32 | }); 33 | } 34 | return suggestions; 35 | } catch (exception) { 36 | LaunchBar.log('Exception while parsing result: ' + exception); 37 | return []; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /launchbar/Actions/Search WolframAlpha.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Search WolframAlpha.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Search WolframAlpha.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Search WolframAlpha.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Search WolframAlpha.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Search WolframAlpha.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIconFile 6 | AirPlay.icns 7 | CFBundleIdentifier 8 | at.obdev.LaunchBar.action.iTunesAirPlay 9 | CFBundleName 10 | Select iTunes AirPlay Device 11 | CFBundleVersion 12 | 1.3 13 | LBDescription 14 | 15 | LBAuthor 16 | Objective Development 17 | LBEmail 18 | launchbar@obdev.at 19 | LBRequirements 20 | Requires AirPlay devices on the current network. 21 | LBResult 22 | Returns AirPlay devices. Open one to set it as iTunes’ output device. 23 | LBSummary 24 | Shows all AirPlay devices available to iTunes and allows you to select one. 25 | LBTwitter 26 | @launchbar 27 | LBWebsiteURL 28 | http://www.obdev.at/ 29 | 30 | LBRequirements 31 | Requires AirPlay devices on the current network. 32 | LBResult 33 | Returns AirPlay devices. Open one to set it as iTunes’ output device. 34 | LBScripts 35 | 36 | LBDefaultScript 37 | 38 | LBKeepWindowActive 39 | 40 | LBResultType 41 | unknown 42 | LBReturnsResult 43 | 44 | LBScriptName 45 | default.scpt 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/Resources/AirPlay.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/Resources/AirPlay.icns -------------------------------------------------------------------------------- /launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/Resources/AirPlayActive.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/Resources/AirPlayActive.icns -------------------------------------------------------------------------------- /launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | CFBundleName = "iTunes AirPlay Ausgabegerät wählen"; 2 | "LBSummary" = "Zeigt alle AirPlay–Geräte, die iTunes verwenden kann, und ermöglicht es, eines davon für die Ausgabe auszuwählen."; 3 | "LBRequirements" = "Benötigt AirPlay–Geräte im aktuellen Netzwerk."; 4 | "LBResult" = "Liefert AirPlay–Geräte zurück. Die Ausgabe von iTunes kann durch öffnen eines davon gesetzt werden."; 5 | -------------------------------------------------------------------------------- /launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/Resources/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/Scripts/default.scpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/Scripts/default.scpt -------------------------------------------------------------------------------- /launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Select iTunes AirPlay Device.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Show Icons on Desktop.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | at.obdev.LaunchBar.action.ShowIconsOnDesktop 7 | CFBundleIconFile 8 | /System/Library/PreferencePanes/DesktopScreenEffectsPref.prefPane/Contents/Resources/DesktopScreenEffectsPref.icns 9 | CFBundleName 10 | Show Icons on Desktop 11 | CFBundleVersion 12 | 1.0 13 | LBScripts 14 | 15 | LBDefaultScript 16 | 17 | LBScriptName 18 | default.sh 19 | LBRunInBackground 20 | 21 | 22 | 23 | LBDescription 24 | 25 | LBSummary 26 | Shows the icons on the Desktop again after they were hidden using the “Hide Icons on Desktop” action. 27 | LBAuthor 28 | Objective Development 29 | LBEmail 30 | launchbar@obdev.at 31 | LBWebsite 32 | http://www.obdev.at/ 33 | LBTwitter 34 | @launchbar 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /launchbar/Actions/Show Icons on Desktop.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Symbole auf dem Schreibtisch einblenden"; 2 | "LBSummary" = "Blendet die Symbole auf dem Schreibtisch wieder ein, nachdem sie mit der Aktion „Symbole auf dem Schreibtisch ausblenden“ ausgeblendet wurden."; 3 | -------------------------------------------------------------------------------- /launchbar/Actions/Show Icons on Desktop.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Show Icons on Desktop"; 2 | -------------------------------------------------------------------------------- /launchbar/Actions/Show Icons on Desktop.lbaction/Contents/Scripts/default.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (c) 2014 Objective Development Software GmbH 4 | # http://www.obdev.at/ 5 | 6 | # Setting "CreateDesktop" to false in the domain com.apple.finder causes the 7 | # Desktop to disappear. To make it reappear, the preference must either be set 8 | # to true or deleted altogether. By default, it is not set at all so we choose 9 | # to delete the preference from the domain again. 10 | # Trying to delete the preference if it doesn't exist logs an error, so so we 11 | # redirect the standard error to /dev/null 12 | defaults delete com.apple.finder CreateDesktop 2> /dev/null 13 | 14 | # Restart Finder so it picks up the changes: 15 | killall Finder 16 | -------------------------------------------------------------------------------- /launchbar/Actions/Show Icons on Desktop.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Show Icons on Desktop.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Show Icons on Desktop.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Show Icons on Desktop.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Show Icons on Desktop.lbaction/Contents/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | Resources/de.lproj/InfoPlist.strings 8 | 9 | hash 10 | 11 | vWC0+ZtiTK4tufS6VWfrDEcBCoQ= 12 | 13 | optional 14 | 15 | 16 | Resources/en.lproj/InfoPlist.strings 17 | 18 | hash 19 | 20 | 9zarw5lzHG/sS+ILrmOQ+0emR08= 21 | 22 | optional 23 | 24 | 25 | 26 | files2 27 | 28 | Resources/de.lproj/InfoPlist.strings 29 | 30 | hash 31 | 32 | vWC0+ZtiTK4tufS6VWfrDEcBCoQ= 33 | 34 | optional 35 | 36 | 37 | Resources/en.lproj/InfoPlist.strings 38 | 39 | hash 40 | 41 | 9zarw5lzHG/sS+ILrmOQ+0emR08= 42 | 43 | optional 44 | 45 | 46 | Scripts/default.sh 47 | 48 | 8pGl5Ipa3DcBgGz0QkWMZMlzRWo= 49 | 50 | 51 | rules 52 | 53 | ^Resources/ 54 | 55 | ^Resources/.*\.lproj/ 56 | 57 | optional 58 | 59 | weight 60 | 1000 61 | 62 | ^Resources/.*\.lproj/locversion.plist$ 63 | 64 | omit 65 | 66 | weight 67 | 1100 68 | 69 | ^version.plist$ 70 | 71 | 72 | rules2 73 | 74 | .*\.dSYM($|/) 75 | 76 | weight 77 | 11 78 | 79 | ^(.*/)?\.DS_Store$ 80 | 81 | omit 82 | 83 | weight 84 | 2000 85 | 86 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ 87 | 88 | nested 89 | 90 | weight 91 | 10 92 | 93 | ^.* 94 | 95 | ^Info\.plist$ 96 | 97 | omit 98 | 99 | weight 100 | 20 101 | 102 | ^PkgInfo$ 103 | 104 | omit 105 | 106 | weight 107 | 20 108 | 109 | ^Resources/ 110 | 111 | weight 112 | 20 113 | 114 | ^Resources/.*\.lproj/ 115 | 116 | optional 117 | 118 | weight 119 | 1000 120 | 121 | ^Resources/.*\.lproj/locversion.plist$ 122 | 123 | omit 124 | 125 | weight 126 | 1100 127 | 128 | ^[^/]+$ 129 | 130 | nested 131 | 132 | weight 133 | 10 134 | 135 | ^embedded\.provisionprofile$ 136 | 137 | weight 138 | 20 139 | 140 | ^version\.plist$ 141 | 142 | weight 143 | 20 144 | 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /launchbar/Actions/Show Icons on Desktop.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Show Icons on Desktop.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Sort Lines of Text.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | at.obdev.LaunchBar.action.SortLines 7 | CFBundleName 8 | Sort Lines of Text 9 | CFBundleVersion 10 | 1.2 11 | LBScripts 12 | 13 | LBDefaultScript 14 | 15 | LBAcceptedArgumentTypes 16 | 17 | string 18 | 19 | LBReturnsResult 20 | 21 | LBRequiresArgument 22 | 23 | LBScriptName 24 | default.js 25 | 26 | 27 | LBDescription 28 | 29 | LBSummary 30 | Sorts the given lines of text. Holding down the ⇧–key reverses the sort order. Holding down the ⌘–key pastes the sorted lines in the frontmost app. 31 | LBResult 32 | Returns the sorted lines of text. 33 | LBAuthor 34 | Objective Development 35 | LBEmail 36 | launchbar@obdev.at 37 | LBWebsite 38 | http://www.obdev.at/ 39 | LBTwitter 40 | @launchbar 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /launchbar/Actions/Sort Lines of Text.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | CFBundleName = "Textzeilen sortieren"; 2 | "LBSummary" = "Sortiert die eingegebenen Textzeilen. Halten der ⇧–Taste kehrt die Sortierreihenfolge um. Halten der ⌘–Taste setzt die sortierten Zeilen in der aktiven App ein."; 3 | "LBResult" = "Liefert die sortierten Textzeilen zurück."; 4 | -------------------------------------------------------------------------------- /launchbar/Actions/Sort Lines of Text.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | CFBundleName = "Sort Lines of Text"; 2 | -------------------------------------------------------------------------------- /launchbar/Actions/Sort Lines of Text.lbaction/Contents/Scripts/default.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 Objective Development Software GmbH 2 | // http://www.obdev.at/ 3 | 4 | // The 'runWithString' function is called by LaunchBar when the user opens the action. 5 | function runWithString(argument) 6 | { 7 | var reverse = LaunchBar.options.shiftKey; 8 | 9 | // Sort the lines: 10 | var lines = argument.split('\n').sort(function(line1, line2) { 11 | if (reverse) { 12 | return line2.localeCompare(line1); 13 | } else { 14 | return line1.localeCompare(line2); 15 | } 16 | }); 17 | 18 | // Check if the Command key is down: 19 | if (LaunchBar.options.commandKey) { 20 | // Paste the sorted lines: 21 | LaunchBar.paste(lines.join('\n')); 22 | } else { 23 | // Return the lines so they can be used in LaunchBar: 24 | return lines; 25 | } 26 | } 27 | 28 | function run() 29 | { 30 | // There's nothing to do if the action is opened without arguments. 31 | } 32 | 33 | -------------------------------------------------------------------------------- /launchbar/Actions/Sort Lines of Text.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Sort Lines of Text.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Sort Lines of Text.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Sort Lines of Text.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Sort Lines of Text.lbaction/Contents/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | Resources/de.lproj/InfoPlist.strings 8 | 9 | hash 10 | 11 | +vgeREiQg9HNMFoirTK86cX4NQQ= 12 | 13 | optional 14 | 15 | 16 | Resources/en.lproj/InfoPlist.strings 17 | 18 | hash 19 | 20 | dP+a444sNpR7GSGcOJka/yCXBQg= 21 | 22 | optional 23 | 24 | 25 | 26 | files2 27 | 28 | Resources/de.lproj/InfoPlist.strings 29 | 30 | hash 31 | 32 | +vgeREiQg9HNMFoirTK86cX4NQQ= 33 | 34 | optional 35 | 36 | 37 | Resources/en.lproj/InfoPlist.strings 38 | 39 | hash 40 | 41 | dP+a444sNpR7GSGcOJka/yCXBQg= 42 | 43 | optional 44 | 45 | 46 | Scripts/default.js 47 | 48 | W5bVAqUqA4g2qrAxt5XjkUU26sM= 49 | 50 | 51 | rules 52 | 53 | ^Resources/ 54 | 55 | ^Resources/.*\.lproj/ 56 | 57 | optional 58 | 59 | weight 60 | 1000 61 | 62 | ^Resources/.*\.lproj/locversion.plist$ 63 | 64 | omit 65 | 66 | weight 67 | 1100 68 | 69 | ^version.plist$ 70 | 71 | 72 | rules2 73 | 74 | .*\.dSYM($|/) 75 | 76 | weight 77 | 11 78 | 79 | ^(.*/)?\.DS_Store$ 80 | 81 | omit 82 | 83 | weight 84 | 2000 85 | 86 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ 87 | 88 | nested 89 | 90 | weight 91 | 10 92 | 93 | ^.* 94 | 95 | ^Info\.plist$ 96 | 97 | omit 98 | 99 | weight 100 | 20 101 | 102 | ^PkgInfo$ 103 | 104 | omit 105 | 106 | weight 107 | 20 108 | 109 | ^Resources/ 110 | 111 | weight 112 | 20 113 | 114 | ^Resources/.*\.lproj/ 115 | 116 | optional 117 | 118 | weight 119 | 1000 120 | 121 | ^Resources/.*\.lproj/locversion.plist$ 122 | 123 | omit 124 | 125 | weight 126 | 1100 127 | 128 | ^[^/]+$ 129 | 130 | nested 131 | 132 | weight 133 | 10 134 | 135 | ^embedded\.provisionprofile$ 136 | 137 | weight 138 | 20 139 | 140 | ^version\.plist$ 141 | 142 | weight 143 | 20 144 | 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /launchbar/Actions/Sort Lines of Text.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Sort Lines of Text.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Toggle Dark Mode.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIconFile 6 | toggledarklightTemplate.png 7 | CFBundleIdentifier 8 | com.codeography.LaunchBar.action.ToggleLightAndDarkMode 9 | CFBundleName 10 | Toggle Light and Dark Mode 11 | CFBundleVersion 12 | 1.0 13 | LBDescription 14 | 15 | LBAuthor 16 | Christopher Sexton 17 | LBEmail 18 | csexton@codeography.com 19 | LBSummary 20 | Toggle Light Mode and Dark Mode 21 | LBTwitter 22 | @crsexton 23 | LBWebsiteURL 24 | http://www.codeography.com 25 | 26 | LBScripts 27 | 28 | LBDefaultScript 29 | 30 | LBResultType 31 | unknown 32 | LBScriptName 33 | default.scpt 34 | 35 | 36 | LSMinimumSystemVersion 37 | 10.14 38 | 39 | 40 | -------------------------------------------------------------------------------- /launchbar/Actions/Toggle Dark Mode.lbaction/Contents/Resources/toggledarklightTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Toggle Dark Mode.lbaction/Contents/Resources/toggledarklightTemplate.png -------------------------------------------------------------------------------- /launchbar/Actions/Toggle Dark Mode.lbaction/Contents/Scripts/default.scpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Toggle Dark Mode.lbaction/Contents/Scripts/default.scpt -------------------------------------------------------------------------------- /launchbar/Actions/Toggle Dark Mode.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Toggle Dark Mode.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Toggle Dark Mode.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Toggle Dark Mode.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Toggle Dark Mode.lbaction/Contents/_CodeSignature/CodeRequirements-1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Toggle Dark Mode.lbaction/Contents/_CodeSignature/CodeRequirements-1 -------------------------------------------------------------------------------- /launchbar/Actions/Toggle Dark Mode.lbaction/Contents/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | Resources/toggledarklight.png 8 | 9 | W/1qNcHs8dpJpxNM3uQyK0h+hYY= 10 | 11 | 12 | files2 13 | 14 | Resources/toggledarklight.png 15 | 16 | hash 17 | 18 | W/1qNcHs8dpJpxNM3uQyK0h+hYY= 19 | 20 | hash2 21 | 22 | WFU7L00jaATKvL+ttNmPVWfzPXAtuZckx2gl94Jg5QA= 23 | 24 | 25 | Scripts/default.scpt 26 | 27 | hash 28 | 29 | FoM+h4gvxtVNmhw+Wra4rfd3NJE= 30 | 31 | hash2 32 | 33 | 8UZfTuGGK2xWfdbQa5lYVHDy/vRQxFXbmchll6suojc= 34 | 35 | 36 | 37 | rules 38 | 39 | ^Resources/ 40 | 41 | ^Resources/.*\.lproj/ 42 | 43 | optional 44 | 45 | weight 46 | 1000 47 | 48 | ^Resources/.*\.lproj/locversion.plist$ 49 | 50 | omit 51 | 52 | weight 53 | 1100 54 | 55 | ^Resources/Base\.lproj/ 56 | 57 | weight 58 | 1010 59 | 60 | ^version.plist$ 61 | 62 | 63 | rules2 64 | 65 | .*\.dSYM($|/) 66 | 67 | weight 68 | 11 69 | 70 | ^(.*/)?\.DS_Store$ 71 | 72 | omit 73 | 74 | weight 75 | 2000 76 | 77 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ 78 | 79 | nested 80 | 81 | weight 82 | 10 83 | 84 | ^.* 85 | 86 | ^Info\.plist$ 87 | 88 | omit 89 | 90 | weight 91 | 20 92 | 93 | ^PkgInfo$ 94 | 95 | omit 96 | 97 | weight 98 | 20 99 | 100 | ^Resources/ 101 | 102 | weight 103 | 20 104 | 105 | ^Resources/.*\.lproj/ 106 | 107 | optional 108 | 109 | weight 110 | 1000 111 | 112 | ^Resources/.*\.lproj/locversion.plist$ 113 | 114 | omit 115 | 116 | weight 117 | 1100 118 | 119 | ^Resources/Base\.lproj/ 120 | 121 | weight 122 | 1010 123 | 124 | ^[^/]+$ 125 | 126 | nested 127 | 128 | weight 129 | 10 130 | 131 | ^embedded\.provisionprofile$ 132 | 133 | weight 134 | 20 135 | 136 | ^version\.plist$ 137 | 138 | weight 139 | 20 140 | 141 | 142 | 143 | 144 | -------------------------------------------------------------------------------- /launchbar/Actions/Toggle Dark Mode.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Toggle Dark Mode.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Toggle Notification Center.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleName 6 | Toggle Notification Center 7 | CFBundleVersion 8 | 1.2 9 | CFBundleIdentifier 10 | eu.ptujec.LaunchBar.action.TNC 11 | CFBundleIconFile 12 | TNCTemplate 13 | LBScripts 14 | 15 | LBDefaultScript 16 | 17 | LBScriptName 18 | TNC.scpt 19 | LBRunInBackground 20 | 21 | 22 | 23 | LBDescription 24 | 25 | LBSummary 26 | This action enables/disables Notification Center. 27 | It requires GUI scripting privileges. See http://support.apple.com/kb/HT5914 for details. 28 | LBRequirements 29 | Requires GUI Scripting Privileges. See http://support.apple.com/kb/HT5914 for details 30 | LBAuthor 31 | Christian Bender 32 | LBTwitter 33 | @ptujec 34 | 35 | LSMinimumSystemVersion 36 | 10.10 37 | 38 | 39 | -------------------------------------------------------------------------------- /launchbar/Actions/Toggle Notification Center.lbaction/Contents/Resources/TNCTemplate.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Toggle Notification Center.lbaction/Contents/Resources/TNCTemplate.pdf -------------------------------------------------------------------------------- /launchbar/Actions/Toggle Notification Center.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Mitteilungen ein/aus"; 2 | -------------------------------------------------------------------------------- /launchbar/Actions/Toggle Notification Center.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | CFBundleName = "Show Notifications"; 2 | -------------------------------------------------------------------------------- /launchbar/Actions/Toggle Notification Center.lbaction/Contents/Scripts/TNC.scpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Toggle Notification Center.lbaction/Contents/Scripts/TNC.scpt -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth Off.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | at.obdev.LaunchBar.action.TurnBluetoothOff 7 | CFBundleIconFile 8 | /System/Library/PreferencePanes/Bluetooth.prefPane/Contents/Resources/AppIcon.icns 9 | CFBundleName 10 | Turn Bluetooth Off 11 | CFBundleVersion 12 | 1.0 13 | LBScripts 14 | 15 | LBDefaultScript 16 | 17 | LBScriptName 18 | default.sh 19 | LBRunInBackground 20 | 21 | 22 | 23 | LBDescription 24 | 25 | LBSummary 26 | Turns Bluetooth off. Uses “blueutil” by Frederik Seiffert: http://www.frederikseiffert.de/blueutil/ 27 | LBAuthor 28 | Objective Development 29 | LBEmail 30 | launchbar@obdev.at 31 | LBWebsite 32 | http://www.obdev.at/ 33 | LBTwitter 34 | @launchbar 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth Off.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Bluetooth ausschalten"; 2 | "LBSummary" = "Schaltet Bluetooth aus. Verwendet “blueutil” von Frederik Seiffert: http://www.frederikseiffert.de/blueutil/"; 3 | -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth Off.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Turn Bluetooth Off"; 2 | -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth Off.lbaction/Contents/Scripts/blueutil: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Turn Bluetooth Off.lbaction/Contents/Scripts/blueutil -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth Off.lbaction/Contents/Scripts/default.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (c) 2014 Objective Development Software GmbH 4 | # http://www.obdev.at/ 5 | # 6 | # Action based on blueutil by Frederik Seiffert 7 | # http://www.frederikseiffert.de/blueutil/ 8 | 9 | ./blueutil off 10 | -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth Off.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Turn Bluetooth Off.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth Off.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Turn Bluetooth Off.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth Off.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Turn Bluetooth Off.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth On.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | at.obdev.LaunchBar.action.TurnBluetoothOn 7 | CFBundleIconFile 8 | /System/Library/PreferencePanes/Bluetooth.prefPane/Contents/Resources/AppIcon.icns 9 | CFBundleName 10 | Turn Bluetooth On 11 | CFBundleVersion 12 | 1.0 13 | LBScripts 14 | 15 | LBDefaultScript 16 | 17 | LBScriptName 18 | default.sh 19 | LBRunInBackground 20 | 21 | 22 | 23 | LBDescription 24 | 25 | LBSummary 26 | Turns Bluetooth on. Uses “blueutil” by Frederik Seiffert: http://www.frederikseiffert.de/blueutil/ 27 | LBAuthor 28 | Objective Development 29 | LBEmail 30 | launchbar@obdev.at 31 | LBWebsite 32 | http://www.obdev.at/ 33 | LBTwitter 34 | @launchbar 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth On.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Bluetooth einschalten"; 2 | "LBSummary" = "Schaltet Bluetooth ein. Verwendet “blueutil” von Frederik Seiffert: http://www.frederikseiffert.de/blueutil/"; 3 | -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth On.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Turn Bluetooth On"; 2 | -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth On.lbaction/Contents/Scripts/blueutil: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Turn Bluetooth On.lbaction/Contents/Scripts/blueutil -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth On.lbaction/Contents/Scripts/default.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (c) 2014 Objective Development Software GmbH 4 | # http://www.obdev.at/ 5 | # 6 | # Action based on blueutil by Frederik Seiffert 7 | # http://www.frederikseiffert.de/blueutil/ 8 | 9 | ./blueutil on 10 | -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth On.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Turn Bluetooth On.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth On.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Turn Bluetooth On.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Turn Bluetooth On.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Turn Bluetooth On.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Unhide File or Folder.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleName 6 | Unhide File or Folder 7 | CFBundleVersion 8 | 1.0 9 | CFBundleIdentifier 10 | at.obdev.LaunchBar.action.UnhideFileOrFolder 11 | LBScripts 12 | 13 | LBDefaultScript 14 | 15 | LBScriptName 16 | default.sh 17 | LBRequiresArgument 18 | 19 | LBRunInBackground 20 | 21 | LBAcceptedArgumentTypes 22 | 23 | path 24 | 25 | 26 | 27 | LBDescription 28 | 29 | LBSummary 30 | Makes a file or folder visible again that was hidden using the “Hide File or Folder” action. 31 | LBAuthor 32 | Objective Development 33 | LBEmail 34 | launchbar@obdev.at 35 | LBWebsite 36 | http://www.obdev.at/ 37 | LBTwitter 38 | @launchbar 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /launchbar/Actions/Unhide File or Folder.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Datei oder Ordner einblenden"; 2 | "LBSummary" = "Macht eine Datei oder einen Ordner wieder sichtbar, der bzw. die zuvor mit der Aktion „Datei oder Ordner verstecken“ ausgeblendet wurde."; 3 | -------------------------------------------------------------------------------- /launchbar/Actions/Unhide File or Folder.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleName" = "Unhide File or Folder"; 2 | -------------------------------------------------------------------------------- /launchbar/Actions/Unhide File or Folder.lbaction/Contents/Scripts/default.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (c) 2014 Objective Development Software GmbH 4 | # http://www.obdev.at/ 5 | 6 | # Clear "hidden" flag on every file passed: 7 | for file in "$@" 8 | do 9 | chflags nohidden "$file" 10 | done 11 | -------------------------------------------------------------------------------- /launchbar/Actions/Unhide File or Folder.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Unhide File or Folder.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/Unhide File or Folder.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Unhide File or Folder.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/Unhide File or Folder.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/Unhide File or Folder.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/VPNs.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIconFile 6 | VPN-active.png 7 | CFBundleIdentifier 8 | at.obdev.LaunchBar.action.VPNs 9 | CFBundleName 10 | VPNs 11 | CFBundleVersion 12 | 1.3 13 | LBDescription 14 | 15 | LBAuthor 16 | Objective Development 17 | LBEmail 18 | launchbar@obdev.at 19 | LBRequirements 20 | Requires VPNs to be configured in the Network Preference Panel. 21 | LBResult 22 | Returns a list of VPNs. Opening one connects to or disconnects from it. 23 | LBSummary 24 | Shows a list of configured VPNs (Virtual Private Networks) and allows connecting to or disconnecting from them. 25 | LBTwitter 26 | @launchbar 27 | LBWebsite 28 | http://www.obdev.at/ 29 | 30 | LBRequirements 31 | Requires VPNs to be configured in the Network Preference Panel. 32 | LBResult 33 | Returns a list of VPNs. Opening one connects to or disconnects from it. 34 | LBScripts 35 | 36 | LBDefaultScript 37 | 38 | LBKeepWindowActive 39 | 40 | LBResultType 41 | unknown 42 | LBReturnsResult 43 | 44 | LBScriptName 45 | default.rb 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /launchbar/Actions/VPNs.lbaction/Contents/Resources/VPN-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/VPNs.lbaction/Contents/Resources/VPN-active.png -------------------------------------------------------------------------------- /launchbar/Actions/VPNs.lbaction/Contents/Resources/VPN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/VPNs.lbaction/Contents/Resources/VPN.png -------------------------------------------------------------------------------- /launchbar/Actions/VPNs.lbaction/Contents/Resources/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | CFBundleName = "VPNs"; 2 | "LBSummary" = "Zeigt eine Liste der konfigurierten VPNs (Virtuelle Private Netzwerke) und ermöglicht es, Verbindungen zu ihnen zu erstellen oder zu trennen."; 3 | "LBRequirements" = "VPNs müssen in der Systemeinstellung „Netzwerk“ konfiguriert sein."; 4 | "LBResult" = "Zeigt eine Liste von VPNs. Durch Öffnen kann eine Verbindung dazu hergestellt bzw. getrennt werden."; 5 | -------------------------------------------------------------------------------- /launchbar/Actions/VPNs.lbaction/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | CFBundleName = "VPNs"; 2 | -------------------------------------------------------------------------------- /launchbar/Actions/VPNs.lbaction/Contents/Scripts/default.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # 3 | # Copyright (c) 2014 Objective Development Software GmbH 4 | # http://www.obdev.at/ 5 | 6 | require 'json' 7 | 8 | # Returns an array of VPN names that match the given status. 9 | # Status can be something like "Connected", "Connecting" or "Disconnected". 10 | def vpns_with_status(status) 11 | output = `/usr/sbin/scutil --nc list | /usr/bin/grep -e "^\* (#{status})" | /usr/bin/awk --re-interval '{match($0, /".*"/ ); print substr($0, RSTART+1, RLENGTH-2); }'`.strip 12 | 13 | output.split("\n") 14 | end 15 | 16 | # Retuns the type of a VPN with the given name. 17 | # For example "PPP:L2TP" or "PPP:Bluetooth" 18 | def type_of_vpn(vpn_name) 19 | `/usr/sbin/scutil --nc show "#{vpn_name}" | /usr/bin/head -1 | /usr/bin/awk --re-interval '{match($0, /\\[.*\\]$/ ); print substr($0, RSTART+1, RLENGTH-2); }'`.strip 20 | end 21 | 22 | # Returns an item for the given VPN name that LaunchBar can parse. 23 | def item_for_vpn(vpn_name, suffix, is_active) 24 | vpn = {} 25 | vpn['title'] = suffix == nil ? vpn_name : vpn_name + " (" + suffix + ")" 26 | vpn['subtitle'] = type_of_vpn(vpn_name) 27 | vpn['icon'] = is_active ? 'VPN-active.png' : 'VPN.png' 28 | 29 | # When this item is opened in LaunchBar, execute toggleVPN.rb with the VPN's name as an argument. 30 | vpn['action'] = 'toggleVPN.rb' 31 | vpn['actionArgument'] = vpn_name 32 | 33 | vpn 34 | end 35 | 36 | 37 | result = []; 38 | 39 | vpns_with_status("Connected").each { | vpn_name | 40 | result.push(item_for_vpn(vpn_name, "Connected", true)) 41 | } 42 | 43 | vpns_with_status("Connecting").each { | vpn_name | 44 | result.push(item_for_vpn(vpn_name, "Connecting", true)) 45 | } 46 | 47 | vpns_with_status("Disconnected").each { | vpn_name | 48 | result.push(item_for_vpn(vpn_name, nil, false)) 49 | } 50 | 51 | # Output the array of result items in JSON so LaunchBar can parse it: 52 | puts result.to_json 53 | -------------------------------------------------------------------------------- /launchbar/Actions/VPNs.lbaction/Contents/Scripts/toggleVPN.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # 3 | # Copyright (c) 2014 Objective Development Software GmbH 4 | # http://www.obdev.at/ 5 | 6 | def connect_to_vpn(vpn_name) 7 | `/usr/sbin/networksetup -connectpppoeservice "#{vpn_name}"` 8 | end 9 | 10 | def disconnect_from_vpn(vpn_name) 11 | `/usr/sbin/scutil --nc stop "#{vpn_name}"` 12 | end 13 | 14 | def is_vpn_connected(vpn_name) 15 | output = `/usr/sbin/scutil --nc status "#{vpn_name}" | /usr/bin/head -1` 16 | output.start_with?("Connected") 17 | end 18 | 19 | vpn_name = ARGV[0] 20 | if is_vpn_connected(vpn_name) then 21 | disconnect_from_vpn(vpn_name) 22 | else 23 | connect_to_vpn(vpn_name) 24 | end 25 | -------------------------------------------------------------------------------- /launchbar/Actions/VPNs.lbaction/Contents/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/VPNs.lbaction/Contents/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /launchbar/Actions/VPNs.lbaction/Contents/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/VPNs.lbaction/Contents/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /launchbar/Actions/VPNs.lbaction/Contents/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/VPNs.lbaction/Contents/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /launchbar/Actions/Vim Scratch.lbaction/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIconFile 6 | /Applications/MacVim.app 7 | CFBundleIdentifier 8 | com.yourcompany.LaunchBar.action.VimScratch 9 | CFBundleName 10 | Vim Scratch 11 | LBDescription 12 | 13 | LBAuthor 14 | Christopher Sexton 15 | LBEmail 16 | csexton@codeography.com 17 | LBTwitter 18 | @crsexton 19 | LBWebsiteURL 20 | http://www.codeography.com 21 | 22 | LBScripts 23 | 24 | LBDefaultScript 25 | 26 | LBResultType 27 | unknown 28 | LBRunInBackground 29 | 30 | LBScriptName 31 | default.sh 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /launchbar/Actions/Vim Scratch.lbaction/Contents/Scripts/default.sh: -------------------------------------------------------------------------------- 1 | #!/bin/zsh 2 | if [ -f ~/.profile ] ; then 3 | source ~/.profile 4 | fi 5 | /Applications/MacVim.app/Contents/bin/mvim /tmp/scratch-$RANDOM.md & 6 | exit 0 7 | 8 | -------------------------------------------------------------------------------- /launchbar/Actions/timer.scpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/csexton/dotfiles/1d1af6434de613f1d9dcec16a8f8ffb28248bec5/launchbar/Actions/timer.scpt -------------------------------------------------------------------------------- /launchbar/Snippets/Baymax (●—● ).txt: -------------------------------------------------------------------------------- 1 | (●—● ) 2 | -------------------------------------------------------------------------------- /launchbar/Snippets/Command ⌘.txt: -------------------------------------------------------------------------------- 1 | ⌘ -------------------------------------------------------------------------------- /launchbar/Snippets/Control ⌃.txt: -------------------------------------------------------------------------------- 1 | ⌃ -------------------------------------------------------------------------------- /launchbar/Snippets/Current Date & Time.txt: -------------------------------------------------------------------------------- 1 | ,