Permalink
Browse files

Merge.

  • Loading branch information...
sjl committed Oct 10, 2012
2 parents e1929a6 + c9b678b commit 72d601132bb1d0b3cef78213b6194b1562cf25c1
Showing with 176 additions and 140 deletions.
  1. +0 −1 .hgsub
  2. +0 −1 .hgsubstate
  3. +20 −4 bash_profile
  4. +2 −1 bin/bootstrap.sh
  5. +31 −6 fish/config.fish
  6. +2 −1 gitconfig
  7. +2 −0 inputrc
  8. +1 −1 keyremap4macbook/cadet.py
  9. +99 −96 keyremap4macbook/private.xml
  10. BIN moom/com.manytricks.Moom.plist
  11. +1 −0 mutt/muttrc
  12. +2 −2 mutt/offlineimap.py
  13. +16 −27 vim/vimrc
View
1 .hgsub
@@ -7,7 +7,6 @@ vim/bundle/badwolf = [hg]https://bitbucket.org/sjl/badwolf/
vim/bundle/clam = [hg]https://bitbucket.org/sjl/clam.vim/
vim/bundle/commentary = [git]git://github.com/tpope/vim-commentary.git
vim/bundle/ctrlp = [git]git://github.com/kien/ctrlp.vim.git
-vim/bundle/easymotion = [git]git://github.com/Lokaltog/vim-easymotion.git
vim/bundle/fugitive = [git]git://github.com/tpope/vim-fugitive.git
vim/bundle/gundo = [hg]https://bitbucket.org/sjl/gundo.vim/
vim/bundle/html5 = [git]git://github.com/othree/html5.vim.git
View
@@ -7,7 +7,6 @@ d2bb7878622e4c16203acf1c92a0f4bc7ac58003 vim/bundle/AnsiEsc.vim
8533fffd9fbb690dfc8e334f91a10c72e35a6dce vim/bundle/clam
dc349bb7d30f713d770fc1fa0fe209e6aab82dc8 vim/bundle/commentary
3c6182371db8e8ede3789d21b52386569eda2208 vim/bundle/ctrlp
-667a668e114e9ec0e5d4cbcb0962d835b23614c4 vim/bundle/easymotion
cff78c3ab4605d490e6be8d8af02f1e7efd25c95 vim/bundle/fugitive
8c570a493d260890242cbdc5a22d8500dc4604cb vim/bundle/gundo
34b407d2344a3c2a94b56e9d443e18e01e8544d9 vim/bundle/html5
View
@@ -6,12 +6,28 @@ shopt -s expand_aliases
# This file contains aliases and functions that duplicate some fish
# functionality, because Vim will use bash as its external command shell.
-function a() {
- if [ -f '.agignorevcs' ]; then
- ag -U $*
+AG_BIN="`which ag`"
+function ag() {
+ if test -f '.agignore' && grep -q 'pragma: skipvcs' '.agignore'; then
+ $AG_BIN --search-files -U $*
else
- ag $*
+ $AG_BIN --search-files $*
fi
}
export PATH=~/bin:~/lib/dotfiles/bin:/usr/local/share/python:$PATH
+
+alias h='hg'
+alias g='git'
+alias pbc='pbcopy'
+alias pbp='pbpaste'
+alias pbpb='pbp | pb'
+alias vu='vagrant up'
+alias vs='vagrant suspend'
+alias o='open'
+alias oo='open .'
+alias t='~/lib/t/t.py --task-dir="~/Dropbox/tasks" --list=tasks.txt'
+
+function psg() {
+ ps auxww | grep --color=always $* | grep -v grep | collapse | cuts -f 2,11-
+}
View
@@ -41,8 +41,9 @@ ensure_link "lib/dotfiles/hgignore" ".hgignore"
ensure_link "lib/dotfiles/ffignore" ".ffignore"
ensure_link "lib/dotfiles/ctags" ".ctags"
ensure_link "lib/dotfiles/grc" ".grc"
-ensure_link "lib/dotfiles/fish/config.fish" ".config/fish/config.fish"
ensure_link "lib/dotfiles/mutt/notmuch-config" ".notmuch-config"
ensure_link "lib/dotfiles/bash_profile" ".bash_profile"
+ensure_link "lib/dotfiles/inputrc" ".inputrc"
+ensure_link "lib/dotfiles/fish/config.fish" ".config/fish/config.fish"
echo completed
View
@@ -24,7 +24,6 @@ alias ek 'vim ~/lib/dotfiles/keymando/keymandorc.rb'
alias et 'vim ~/.tmux.conf'
alias eg 'vim ~/.gitconfig'
-
alias spotlight-off 'sudo mdutil -a -i off ; and sudo mv /System/Library/CoreServices/Search.bundle/ /System/Library/CoreServices/SearchOff.bundle/ ; and killall SystemUIServer'
alias spotlight-on 'sudo mdutil -a -i on ; and sudo mv /System/Library/CoreServices/SearchOff.bundle/ /System/Library/CoreServices/Search.bundle/ ; and killall SystemUIServer'
alias spotlight-wat 'sudo fs_usage -w -f filesys mdworker | grep "open"'
@@ -67,11 +66,34 @@ function hey_virtualbox_shut_down_or_i_will_fucking_cut_you
VBoxManage controlvm $argv poweroff
end
-function a -d "Run Ag with appropriate options."
- if test -f '.agignorevcs'
- ag -U $argv
+set AG_BIN (which ag)
+function actual_ag
+ # Fuck you fish this is fucking ridiculous. Let me use $AG_BIN as
+ # a command. Or at least give me a way to do it like run $AG_BIN args or
+ # something jesus.
+ if test $AG_BIN = '/usr/local/bin/ag'
+ /usr/local/bin/ag $argv
+ else
+ if test $AG_BIN = '/usr/bin/ag'
+ /usr/bin/ag $argv
+ else
+ echo "Fish is a dick, sorry."
+ end
+ end
+end
+function ag -d "Run Ag with appropriate options."
+ if test -f '.agignore'
+ # Extra if statement because I can't figure out how to && things in
+ # a fish conditional and the documentation does not see fit to explain
+ # that little tidbit and can we please get a shell without complete
+ # bullshit as a scripting language syntax?
+ if grep -q 'pragma: skipvcs' '.agignore'
+ actual_ag --search-files -U $argv
+ else
+ actual_ag --search-files $argv
+ end
else
- ag $argv
+ actual_ag --search-files $argv
end
end
@@ -93,7 +115,7 @@ end
function prepend_to_path -d "Prepend the given dir to PATH if it exists and is not already in it"
if test -d $argv[1]
if not contains $argv[1] $PATH
- set -g PATH "$argv[1]" $PATH
+ set -gx PATH "$argv[1]" $PATH
end
end
end
@@ -258,7 +280,10 @@ if test -s $HOME/.config/fish/local.fish
end
# }}}
+# Fortune {{{
if status --is-interactive
command fortune -s | cowsay -n | lolcat
end
+
+# }}}
View
@@ -25,9 +25,10 @@
pull = pull --ff-only
up = merge --ff-only
- merge = merge --no-ff
join = merge --no-ff
+ discard-merge = reset --hard HEAD
+
ci = commit
cm = commit -m
View
@@ -0,0 +1,2 @@
+\e[O: ''
+\e[I: ''
@@ -39,7 +39,7 @@
('n', u'' , u'', u'', u''),
('o', u'', u'', u'', u''),
('r', u'', u'', u'', u''),
- ('t', u'', u'', u'', u''),
+ # ('t', u'⊢', u'⊥', u'', u''),
('u', u'', u'', u'', u''),
('x', u'', u'', u'', u''),
('z', u'' , u'', u'', u''),
@@ -4,10 +4,73 @@
<item>
<name>Space Cadet Mode</name>
<appendix>This mode emulates a few of the features of the Space Cadet keyboard.</appendix>
+ <appendix>It also adds a few other helpful mappings.</appendix>
+ <appendix>It requires the Unicode Hex Input keyboard layout for the Greek and Math layers.</appendix>
+ <item>
+ <name>Force yourself to use the correct shift keys.</name>
+ <identifier>space_cadet.force_correct_shifts</identifier>
+
+ <autogen>--KeyToKey-- KeyCode::Q, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::W, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::E, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::R, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::T, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::A, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::S, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::D, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::F, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::G, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::Z, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::X, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::C, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::V, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+
+ <autogen>--KeyToKey-- KeyCode::Y, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::U, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::I, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::O, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::P, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::H, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::J, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::K, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::L, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::SEMICOLON, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::N, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::M, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::COMMA, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::DOT, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ <autogen>--KeyToKey-- KeyCode::QUOTE, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+ </item>
+ <item>
+ <name>Shifts to Parentheses</name>
+ <appendix>Shifts, when pressed alone, type parentheses.</appendix>
+ <appendix>When used with other keys they're normal shifts.</appendix>
+
+ <identifier>space_cadet.shifts_to_parens</identifier>
+
+ <!-- This is the basic mapping. -->
+ <autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_R | ModifierFlag::NONE, KeyCode::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen>
+ <autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_L | ModifierFlag::NONE, KeyCode::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_R</autogen>
+
+ <!--
+ Remap the "rolls" of () and )( because it's too easy to hit one
+ before finishing the other, and there's no other reason to be
+ pressing both shift keys at once anyway
+ -->
+ <autogen>--KeyToKey-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L</autogen>
+ <autogen>--KeyToKey-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen>
+
+ <!--
+ Remap Rshift+Space to ') ', because when typing an end paren and
+ then a space I tend to hit space before I let go of rshift.
+ -->
+ <autogen>--KeyToKey-- KeyCode::SPACE, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
+ </item>
<item>
<name>Remap Left Control to Hyper</name>
<appendix>OS X doesn't have a Hyper. This maps Left Control to Control + Shift + Option + Command.</appendix>
+ <appendix>You can use this key in your own custom keyboard shortcuts you create in apps.</appendix>
<identifier>space_cadet.left_control_to_hyper</identifier>
@@ -19,6 +82,42 @@
ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L
</autogen>
</item>
+ <item>
+ <name>Restore [Shift-]Opt-(Left/Right)</name>
+ <appendix>The Unicode Hex Input keyboard layout disables these keys for some reason.</appendix>
+
+ <identifier>space_cadet.fix_opt_arrows</identifier>
+
+ <autogen>
+ --KeyToKey--
+ KeyCode::CURSOR_LEFT, VK_OPTION | VK_SHIFT,
+
+ KeyCode::B,
+ ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L
+ </autogen>
+ <autogen>
+ --KeyToKey--
+ KeyCode::CURSOR_LEFT, VK_OPTION,
+
+ KeyCode::B,
+ ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L
+ </autogen>
+ <autogen>
+ --KeyToKey--
+ KeyCode::CURSOR_RIGHT, VK_OPTION | VK_SHIFT,
+
+ KeyCode::F,
+ ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L
+ </autogen>
+ <autogen>
+ --KeyToKey--
+ KeyCode::CURSOR_RIGHT, VK_OPTION,
+
+ KeyCode::F,
+ ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L
+ </autogen>
+ </item>
+
<item>
<name>Math Layer</name>
<appendix>Right Control key activates the Math key layer.</appendix>
@@ -162,26 +261,6 @@
</autogen>
- <autogen>
- --KeyToKey--
- KeyCode::T, ModifierFlag::EXTRA3 | VK_SHIFT,
- KeyCode::KEY_2, ModifierFlag::OPTION_L,
- KeyCode::KEY_2, ModifierFlag::OPTION_L,
- KeyCode::A, ModifierFlag::OPTION_L,
- KeyCode::KEY_5, ModifierFlag::OPTION_L,
- </autogen>
-
-
- <autogen>
- --KeyToKey--
- KeyCode::T, ModifierFlag::EXTRA3,
- KeyCode::KEY_2, ModifierFlag::OPTION_L,
- KeyCode::KEY_2, ModifierFlag::OPTION_L,
- KeyCode::A, ModifierFlag::OPTION_L,
- KeyCode::KEY_2, ModifierFlag::OPTION_L,
- </autogen>
-
-
<autogen>
--KeyToKey--
KeyCode::U, ModifierFlag::EXTRA3,
@@ -1037,81 +1116,5 @@
</item>
</item>
</list>
-
- <list>
- <item>
- <name>sjl Swap parens and brackets</name>
- <identifier>private.swap_parens_and_brackets</identifier>
- <autogen>--KeyToKey-- KeyCode::BRACKET_LEFT, ModifierFlag::NONE, KeyCode::KEY_9, ModifierFlag::SHIFT_R</autogen>
- <autogen>--KeyToKey-- KeyCode::BRACKET_RIGHT, ModifierFlag::NONE, KeyCode::KEY_0, ModifierFlag::SHIFT_R</autogen>
- <autogen>--KeyToKey-- KeyCode::KEY_9, ModifierFlag::SHIFT_L, KeyCode::BRACKET_LEFT</autogen>
- <autogen>--KeyToKey-- KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::BRACKET_RIGHT</autogen>
- </item>
- </list>
-
- <list>
- <item>
- <name>sjl Shifts to Parentheses</name>
- <appendix>Shifts, when pressed alone, type parentheses. When used with other keys they're normal shifts.</appendix>
-
- <identifier>private.shifts_to_parens</identifier>
-
- <!-- This is the basic mapping. -->
- <autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_R | ModifierFlag::NONE, KeyCode::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen>
- <autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_L | ModifierFlag::NONE, KeyCode::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_R</autogen>
-
- <!--
- Remap the "rolls" of () and )( because it's too easy to hit one
- before finishing the other, and there's no other reason to be
- pressing both shift keys at once anyway
- -->
- <autogen>--KeyToKey-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L</autogen>
- <autogen>--KeyToKey-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen>
-
- <!--
- Remap Rshift+Space to ') ', because when typing an end paren and
- then a space I tend to hit space before I let go of rshift.
- -->
- <autogen>--KeyToKey-- KeyCode::SPACE, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
- </item>
- </list>
-
- <list>
- <item>
- <name>sjl Use the correct goddamned shift keys.</name>
- <identifier>private.fucking_shift_keys_how_do_they_work</identifier>
-
- <autogen>--KeyToKey-- KeyCode::Q, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::W, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::E, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::R, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::T, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::A, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::S, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::D, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::F, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::G, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::Z, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::X, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::C, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::V, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-
- <autogen>--KeyToKey-- KeyCode::Y, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::U, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::I, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::O, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::P, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::H, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::J, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::K, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::L, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::SEMICOLON, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::N, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::M, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::COMMA, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::DOT, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- <autogen>--KeyToKey-- KeyCode::QUOTE, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
- </item>
- </list>
</root>
Binary file not shown.
View
@@ -105,6 +105,7 @@ set forward_quote # include message in forwards
ignore * # ignore all headers
unignore from: to: cc: date: subject: # show only these
+unhdr_order *
hdr_order from: to: cc: date: subject: # and in this order
# }}}
View
@@ -6,9 +6,9 @@ def get_keychain_pass(account=None, server=None):
'command': 'find-internet-password',
'account': account,
'server': server,
- 'keychain': '/Users/sjl/Library/Keychains/login.keychain',
+ 'keychain': '/Users/`whoami`/Library/Keychains/login.keychain',
}
- command = "sudo -u sjl %(security)s -v %(command)s -g -a %(account)s -s %(server)s %(keychain)s" % params
+ command = "sudo -u `whoami` %(security)s -v %(command)s -g -a %(account)s -s %(server)s %(keychain)s" % params
output = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT)
outtext = [l for l in output.splitlines()
if l.startswith('password: ')][0]
Oops, something went wrong.

0 comments on commit 72d6011

Please sign in to comment.