about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBen Harris <ben@tilde.team>2018-08-11 01:38:12 -0400
committerBen Harris <ben@tilde.team>2018-08-11 16:40:55 -0400
commit079d737e01d71c84294a2b9a2a561ca26455ee3c (patch)
treeb464096abb5974aaf616da75cfe100f6b5fc8dbd
parentcfab12b5732ab88ddb7c2dc91dba7768de2cb777 (diff)
fix up some fish stuff
-rw-r--r--Makefile1
-rwxr-xr-xbyobu/.byobu/color.tmux2
-rw-r--r--fish/.config/fish/completions/fisher.fish1
l---------fish/.config/fish/completions/gitignore.fish1
l---------fish/.config/fish/completions/nvm.fish1
l---------fish/.config/fish/completions/spin.fish1
-rw-r--r--fish/.config/fish/fishd.slash1
-rwxr-xr-xfish/.config/fish/fishfile6
-rw-r--r--fish/.config/fish/functions/0x0.fish4
l---------fish/.config/fish/functions/__bass.py1
l---------fish/.config/fish/functions/__can_run_command.fish1
l---------fish/.config/fish/functions/__nvm_run.fish1
l---------fish/.config/fish/functions/bass.fish1
-rw-r--r--fish/.config/fish/functions/cp_tilde_index.fish10
l---------fish/.config/fish/functions/fish_prompt.fish1
l---------fish/.config/fish/functions/fzf_key_bindings.fish1
-rw-r--r--fish/.config/fish/functions/g.fish11
l---------fish/.config/fish/functions/getopts.fish1
l---------fish/.config/fish/functions/gitignore.fish1
-rw-r--r--[-rwxr-xr-x]fish/.config/fish/functions/l.fish1
-rw-r--r--fish/.config/fish/functions/lg.fish3
-rw-r--r--[-rwxr-xr-x]fish/.config/fish/functions/longtlds.fish3
-rw-r--r--fish/.config/fish/functions/ls.fish4
l---------fish/.config/fish/functions/node.fish1
l---------fish/.config/fish/functions/npm.fish1
l---------fish/.config/fish/functions/npx.fish1
l---------fish/.config/fish/functions/nvm.fish1
l---------fish/.config/fish/functions/nvm_alias_command.fish1
l---------fish/.config/fish/functions/nvm_alias_function.fish1
-rwxr-xr-xfish/.config/fish/functions/owl.fish3
-rw-r--r--fish/.config/fish/functions/pb.fish4
-rw-r--r--[-rwxr-xr-x]fish/.config/fish/functions/renew_ifd_cert.fish0
l---------fish/.config/fish/functions/spin.fish1
-rw-r--r--[-rwxr-xr-x]fish/.config/fish/functions/tag.fish3
-rw-r--r--fish/.config/fish/functions/tildefig.fish3
-rw-r--r--fish/.config/fish/functions/vim.fish11
-rwxr-xr-xfish/.config/fish/functions/vz.fish3
l---------fish/.config/fish/functions/yarn.fish1
-rw-r--r--weechat/.weechat/irc.conf41
-rw-r--r--weechat/.weechat/logger.conf2
-rw-r--r--weechat/.weechat/plugins.conf2
-rw-r--r--weechat/.weechat/python/anotify.py472
l---------weechat/.weechat/python/autoload/anotify.py1
-rw-r--r--weechat/.weechat/python/grep.pycbin0 -> 45510 bytes
-rw-r--r--weechat/.weechat/weechat.conf7
45 files changed, 584 insertions, 34 deletions
diff --git a/Makefile b/Makefile
index 53f1c21..89a73d6 100644
--- a/Makefile
+++ b/Makefile
@@ -39,6 +39,7 @@ bash:
 fish:
 	@printf "$(YELLOW)--- fish -----------------------------------------------\n$(RESET)"
 	stow -t "$$HOME" fish
+	fish -c fisher
 
 git:
 	@printf "$(YELLOW)--- git ------------------------------------------------\n$(RESET)"
diff --git a/byobu/.byobu/color.tmux b/byobu/.byobu/color.tmux
index d10f1d5..1b4c59b 100755
--- a/byobu/.byobu/color.tmux
+++ b/byobu/.byobu/color.tmux
@@ -1,4 +1,4 @@
-BYOBU_DARK="\#b03b5b"
+BYOBU_DARK="\#6eb08d"
 BYOBU_LIGHT=black
 BYOBU_ACCENT=magenta
 BYOBU_HIGHLIGHT=red
diff --git a/fish/.config/fish/completions/fisher.fish b/fish/.config/fish/completions/fisher.fish
new file mode 100644
index 0000000..61a3810
--- /dev/null
+++ b/fish/.config/fish/completions/fisher.fish
@@ -0,0 +1 @@
+fisher --complete
diff --git a/fish/.config/fish/completions/gitignore.fish b/fish/.config/fish/completions/gitignore.fish
new file mode 120000
index 0000000..a9ccd3e
--- /dev/null
+++ b/fish/.config/fish/completions/gitignore.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/gitignore/completions/gitignore.fish
\ No newline at end of file
diff --git a/fish/.config/fish/completions/nvm.fish b/fish/.config/fish/completions/nvm.fish
new file mode 120000
index 0000000..693cb44
--- /dev/null
+++ b/fish/.config/fish/completions/nvm.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/nvm/completions/nvm.fish
\ No newline at end of file
diff --git a/fish/.config/fish/completions/spin.fish b/fish/.config/fish/completions/spin.fish
new file mode 120000
index 0000000..8fa7ba6
--- /dev/null
+++ b/fish/.config/fish/completions/spin.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/spin/completions/spin.fish
\ No newline at end of file
diff --git a/fish/.config/fish/fishd.slash b/fish/.config/fish/fishd.slash
index 93eb0b8..783de6d 100644
--- a/fish/.config/fish/fishd.slash
+++ b/fish/.config/fish/fishd.slash
@@ -29,3 +29,4 @@ SET fish_pager_color_completion:\x1d
 SET fish_pager_color_description:B3A06D\x1eyellow
 SET fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
 SET fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
+SET fisher_dependency_count:bass\x1envm\x1egetopts\x1espin\x1egitignore
diff --git a/fish/.config/fish/fishfile b/fish/.config/fish/fishfile
index 8b13789..69f6a51 100755
--- a/fish/.config/fish/fishfile
+++ b/fish/.config/fish/fishfile
@@ -1 +1,5 @@
-
+edc/bass
+fisherman/getopts
+fisherman/gitignore
+fisherman/nvm
+fisherman/spin
diff --git a/fish/.config/fish/functions/0x0.fish b/fish/.config/fish/functions/0x0.fish
new file mode 100644
index 0000000..fdba590
--- /dev/null
+++ b/fish/.config/fish/functions/0x0.fish
@@ -0,0 +1,4 @@
+function 0x0
+    curl -F"file=@"$argv[1] https://0x0.tilde.team
+end
+
diff --git a/fish/.config/fish/functions/__bass.py b/fish/.config/fish/functions/__bass.py
new file mode 120000
index 0000000..aaa572b
--- /dev/null
+++ b/fish/.config/fish/functions/__bass.py
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/bass/functions/__bass.py
\ No newline at end of file
diff --git a/fish/.config/fish/functions/__can_run_command.fish b/fish/.config/fish/functions/__can_run_command.fish
new file mode 120000
index 0000000..a693299
--- /dev/null
+++ b/fish/.config/fish/functions/__can_run_command.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/nvm/__can_run_command.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/__nvm_run.fish b/fish/.config/fish/functions/__nvm_run.fish
new file mode 120000
index 0000000..839355b
--- /dev/null
+++ b/fish/.config/fish/functions/__nvm_run.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/nvm/__nvm_run.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/bass.fish b/fish/.config/fish/functions/bass.fish
new file mode 120000
index 0000000..42c6e65
--- /dev/null
+++ b/fish/.config/fish/functions/bass.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/bass/functions/bass.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/cp_tilde_index.fish b/fish/.config/fish/functions/cp_tilde_index.fish
index 4241c0f..b4572ec 100644
--- a/fish/.config/fish/functions/cp_tilde_index.fish
+++ b/fish/.config/fish/functions/cp_tilde_index.fish
@@ -1,8 +1,8 @@
 # Defined in /tmp/fish.hXQA9y/cp_tilde_index.fish @ line 1
 function cp_tilde_index
-	sudo cp /etc/skel/public_html/index.php /home/$argv[1]/public_html/.
-sudo chown $argv[1]:$argv[1] /home/$argv[1]/public_html/index.php
-if test -e /home/$argv[1]/public_html/index.html
-sudo rm /home/$argv[1]/public_html/index.html
-end
+    sudo cp /etc/skel/public_html/index.php /home/$argv[1]/public_html/.
+    sudo chown $argv[1]:$argv[1] /home/$argv[1]/public_html/index.php
+    if test -e /home/$argv[1]/public_html/index.html
+        sudo rm /home/$argv[1]/public_html/index.html
+    end
 end
diff --git a/fish/.config/fish/functions/fish_prompt.fish b/fish/.config/fish/functions/fish_prompt.fish
deleted file mode 120000
index 05df569..0000000
--- a/fish/.config/fish/functions/fish_prompt.fish
+++ /dev/null
@@ -1 +0,0 @@
-/home/ben/.local/share/omf/themes/bobthefish/fish_prompt.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/fzf_key_bindings.fish b/fish/.config/fish/functions/fzf_key_bindings.fish
deleted file mode 120000
index 38dd2a3..0000000
--- a/fish/.config/fish/functions/fzf_key_bindings.fish
+++ /dev/null
@@ -1 +0,0 @@
-/home/ben/.fzf/shell/key-bindings.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/g.fish b/fish/.config/fish/functions/g.fish
index de04e81..05d6434 100644
--- a/fish/.config/fish/functions/g.fish
+++ b/fish/.config/fish/functions/g.fish
@@ -1,7 +1,8 @@
 function g
-	if count $argv > /dev/null
-git $argv
-else
-git status
-end
+    if count $argv > /dev/null
+        git $argv
+    else
+        git status
+    end
 end
+
diff --git a/fish/.config/fish/functions/getopts.fish b/fish/.config/fish/functions/getopts.fish
new file mode 120000
index 0000000..26b6df0
--- /dev/null
+++ b/fish/.config/fish/functions/getopts.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/getopts/getopts.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/gitignore.fish b/fish/.config/fish/functions/gitignore.fish
new file mode 120000
index 0000000..9769b89
--- /dev/null
+++ b/fish/.config/fish/functions/gitignore.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/gitignore/gitignore.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/l.fish b/fish/.config/fish/functions/l.fish
index e373118..96412ab 100755..100644
--- a/fish/.config/fish/functions/l.fish
+++ b/fish/.config/fish/functions/l.fish
@@ -1,3 +1,4 @@
 function l
 	ls -lah $argv
 end
+
diff --git a/fish/.config/fish/functions/lg.fish b/fish/.config/fish/functions/lg.fish
index c8ccd05..2aabb9d 100644
--- a/fish/.config/fish/functions/lg.fish
+++ b/fish/.config/fish/functions/lg.fish
@@ -1,3 +1,4 @@
 function lg
-	lazygit $argv
+    lazygit $argv
 end
+
diff --git a/fish/.config/fish/functions/longtlds.fish b/fish/.config/fish/functions/longtlds.fish
index 2c14e48..b404702 100755..100644
--- a/fish/.config/fish/functions/longtlds.fish
+++ b/fish/.config/fish/functions/longtlds.fish
@@ -1,3 +1,4 @@
 function longtlds
-	wget -qO - http://data.iana.org/TLD/tlds-alpha-by-domain.txt | tail -n+2 | awk '{print length, $0;}' | sort -n $argv
+    wget -qO - http://data.iana.org/TLD/tlds-alpha-by-domain.txt | tail -n+2 | awk '{print length, $0;}' | sort -n $argv
 end
+
diff --git a/fish/.config/fish/functions/ls.fish b/fish/.config/fish/functions/ls.fish
new file mode 100644
index 0000000..1797a94
--- /dev/null
+++ b/fish/.config/fish/functions/ls.fish
@@ -0,0 +1,4 @@
+function ls
+    command ls --color=auto $argv
+end
+
diff --git a/fish/.config/fish/functions/node.fish b/fish/.config/fish/functions/node.fish
new file mode 120000
index 0000000..7831810
--- /dev/null
+++ b/fish/.config/fish/functions/node.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/nvm/functions/node.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/npm.fish b/fish/.config/fish/functions/npm.fish
new file mode 120000
index 0000000..807ba3a
--- /dev/null
+++ b/fish/.config/fish/functions/npm.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/nvm/functions/npm.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/npx.fish b/fish/.config/fish/functions/npx.fish
new file mode 120000
index 0000000..611bce1
--- /dev/null
+++ b/fish/.config/fish/functions/npx.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/nvm/functions/npx.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/nvm.fish b/fish/.config/fish/functions/nvm.fish
new file mode 120000
index 0000000..7d7c95c
--- /dev/null
+++ b/fish/.config/fish/functions/nvm.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/nvm/functions/nvm.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/nvm_alias_command.fish b/fish/.config/fish/functions/nvm_alias_command.fish
new file mode 120000
index 0000000..4826e6d
--- /dev/null
+++ b/fish/.config/fish/functions/nvm_alias_command.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/nvm/functions/nvm_alias_command.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/nvm_alias_function.fish b/fish/.config/fish/functions/nvm_alias_function.fish
new file mode 120000
index 0000000..ed884f2
--- /dev/null
+++ b/fish/.config/fish/functions/nvm_alias_function.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/nvm/functions/nvm_alias_function.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/owl.fish b/fish/.config/fish/functions/owl.fish
deleted file mode 100755
index c90653a..0000000
--- a/fish/.config/fish/functions/owl.fish
+++ /dev/null
@@ -1,3 +0,0 @@
-function owl
-	php /home/ben/.owl/bin/owl.php $argv
-end
diff --git a/fish/.config/fish/functions/pb.fish b/fish/.config/fish/functions/pb.fish
new file mode 100644
index 0000000..09febb8
--- /dev/null
+++ b/fish/.config/fish/functions/pb.fish
@@ -0,0 +1,4 @@
+function pb
+    nc tilde.team 9999
+end
+
diff --git a/fish/.config/fish/functions/renew_ifd_cert.fish b/fish/.config/fish/functions/renew_ifd_cert.fish
index 721794e..721794e 100755..100644
--- a/fish/.config/fish/functions/renew_ifd_cert.fish
+++ b/fish/.config/fish/functions/renew_ifd_cert.fish
diff --git a/fish/.config/fish/functions/spin.fish b/fish/.config/fish/functions/spin.fish
new file mode 120000
index 0000000..a7683e3
--- /dev/null
+++ b/fish/.config/fish/functions/spin.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/spin/spin.fish
\ No newline at end of file
diff --git a/fish/.config/fish/functions/tag.fish b/fish/.config/fish/functions/tag.fish
index 4d31cd6..a16359c 100755..100644
--- a/fish/.config/fish/functions/tag.fish
+++ b/fish/.config/fish/functions/tag.fish
@@ -1,3 +1,4 @@
 function tag
-	shuf -n 1 ~/taglines.txt
+    shuf -n 1 ~/taglines.txt
 end
+
diff --git a/fish/.config/fish/functions/tildefig.fish b/fish/.config/fish/functions/tildefig.fish
index c6dc6eb..fbff0b3 100644
--- a/fish/.config/fish/functions/tildefig.fish
+++ b/fish/.config/fish/functions/tildefig.fish
@@ -1,3 +1,4 @@
 function tildefig
-	curl "https://tilde.team/~ben/api/?font=slant&text="$argv
+    curl "https://tilde.team/~ben/api/?font=slant&text="$argv
 end
+
diff --git a/fish/.config/fish/functions/vim.fish b/fish/.config/fish/functions/vim.fish
index f97be80..66cf889 100644
--- a/fish/.config/fish/functions/vim.fish
+++ b/fish/.config/fish/functions/vim.fish
@@ -1,7 +1,8 @@
 function vim
-	if test -x (which nvim)
-nvim $argv
-else
-vim $argv
-end
+    if type -q nvim >/dev/null
+        nvim $argv
+    else
+        command vim $argv
+    end
 end
+
diff --git a/fish/.config/fish/functions/vz.fish b/fish/.config/fish/functions/vz.fish
deleted file mode 100755
index e2f2b48..0000000
--- a/fish/.config/fish/functions/vz.fish
+++ /dev/null
@@ -1,3 +0,0 @@
-function vz
-	vim (fzf)
-end
diff --git a/fish/.config/fish/functions/yarn.fish b/fish/.config/fish/functions/yarn.fish
new file mode 120000
index 0000000..52c2a55
--- /dev/null
+++ b/fish/.config/fish/functions/yarn.fish
@@ -0,0 +1 @@
+/home/ben/.config/fisherman/nvm/functions/yarn.fish
\ No newline at end of file
diff --git a/weechat/.weechat/irc.conf b/weechat/.weechat/irc.conf
index 05dd32a..cbe63c8 100644
--- a/weechat/.weechat/irc.conf
+++ b/weechat/.weechat/irc.conf
@@ -562,3 +562,44 @@ blackhat.msg_part
 blackhat.msg_quit
 blackhat.notify
 blackhat.split_msg_max_length
+bitlbee.addresses = "irc.net/6697"
+bitlbee.proxy
+bitlbee.ipv6
+bitlbee.ssl = on
+bitlbee.ssl_cert
+bitlbee.ssl_priorities
+bitlbee.ssl_dhkey_size
+bitlbee.ssl_fingerprint
+bitlbee.ssl_verify
+bitlbee.password = "${sec.data.pass}"
+bitlbee.capabilities
+bitlbee.sasl_mechanism
+bitlbee.sasl_username = "benharri"
+bitlbee.sasl_password = "${sec.data.pass}"
+bitlbee.sasl_key
+bitlbee.sasl_timeout
+bitlbee.sasl_fail
+bitlbee.autoconnect = on
+bitlbee.autoreconnect
+bitlbee.autoreconnect_delay
+bitlbee.nicks = "benharri"
+bitlbee.nicks_alternate
+bitlbee.username
+bitlbee.realname
+bitlbee.local_hostname
+bitlbee.usermode
+bitlbee.command
+bitlbee.command_delay
+bitlbee.autojoin
+bitlbee.autorejoin
+bitlbee.autorejoin_delay
+bitlbee.connection_timeout
+bitlbee.anti_flood_prio_high
+bitlbee.anti_flood_prio_low
+bitlbee.away_check
+bitlbee.away_check_max_nicks
+bitlbee.msg_kick
+bitlbee.msg_part
+bitlbee.msg_quit
+bitlbee.notify
+bitlbee.split_msg_max_length
diff --git a/weechat/.weechat/logger.conf b/weechat/.weechat/logger.conf
index 2a5b0dc..b7b5efc 100644
--- a/weechat/.weechat/logger.conf
+++ b/weechat/.weechat/logger.conf
@@ -18,7 +18,7 @@ backlog_end = default
 backlog_line = default
 
 [file]
-auto_log = off
+auto_log = on
 flush_delay = 120
 fsync = off
 info_lines = off
diff --git a/weechat/.weechat/plugins.conf b/weechat/.weechat/plugins.conf
index ae9c3cc..6a9223e 100644
--- a/weechat/.weechat/plugins.conf
+++ b/weechat/.weechat/plugins.conf
@@ -40,7 +40,7 @@ python.go.color_name_highlight_selected = "red,brown"
 python.go.color_name_selected = "black,brown"
 python.go.color_number = "yellow,magenta"
 python.go.color_number_selected = "yellow,red"
-python.go.fuzzy_search = "off"
+python.go.fuzzy_search = "on"
 python.go.message = "Go to: "
 python.go.short_name = "off"
 python.go.sort = "number,beginning"
diff --git a/weechat/.weechat/python/anotify.py b/weechat/.weechat/python/anotify.py
new file mode 100644
index 0000000..c83f62b
--- /dev/null
+++ b/weechat/.weechat/python/anotify.py
@@ -0,0 +1,472 @@
+# -*- coding: utf-8 -*-
+#
+# anotify.py
+# Copyright (c) 2012 magnific0 <jacco.geul@gmail.com>
+#
+# based on:
+# growl.py
+# Copyright (c) 2011 Sorin Ionescu <sorin.ionescu@gmail.com>
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+
+SCRIPT_NAME = 'anotify'
+SCRIPT_AUTHOR = 'magnific0'
+SCRIPT_VERSION = '1.0.1'
+SCRIPT_LICENSE = 'MIT'
+SCRIPT_DESC = 'Sends libnotify notifications upon events.'
+
+
+# Changelog
+# 2014-05-10: v1.0.1 Change hook_print callback argument type of
+#                    displayed/highlight (WeeChat >= 1.0)
+# 2012-09-20: v1.0.0 Forked from original and adapted for libnotify.
+
+# -----------------------------------------------------------------------------
+# Settings
+# -----------------------------------------------------------------------------
+SETTINGS = {
+    'show_public_message': 'off',
+    'show_private_message': 'on',
+    'show_public_action_message': 'off',
+    'show_private_action_message': 'on',
+    'show_notice_message': 'off',
+    'show_invite_message': 'on',
+    'show_highlighted_message': 'on',
+    'show_server': 'on',
+    'show_channel_topic': 'on',
+    'show_dcc': 'on',
+    'show_upgrade_ended': 'on',
+    'sticky': 'off',
+    'sticky_away': 'on',
+    'icon': '/usr/share/pixmaps/weechat.xpm',
+}
+
+
+# -----------------------------------------------------------------------------
+# Imports
+# -----------------------------------------------------------------------------
+try:
+    import re
+    import os
+    import weechat
+    import pynotify
+    IMPORT_OK = True
+except ImportError as error:
+    IMPORT_OK = False
+    if str(error).find('weechat') != -1:
+        print('This script must be run under WeeChat.')
+        print('Get WeeChat at http://www.weechat.org.')
+    else:
+        weechat.prnt('', 'anotify: {0}'.format(error))
+
+# -----------------------------------------------------------------------------
+# Globals
+# -----------------------------------------------------------------------------
+TAGGED_MESSAGES = {
+    'public message or action': set(['irc_privmsg', 'notify_message']),
+    'private message or action': set(['irc_privmsg', 'notify_private']),
+    'notice message': set(['irc_notice', 'notify_private']),
+    'invite message': set(['irc_invite', 'notify_highlight']),
+    'channel topic': set(['irc_topic', ]),
+    #'away status': set(['away_info', ]),
+}
+
+
+UNTAGGED_MESSAGES = {
+    'away status':
+        re.compile(r'^You ((\w+).){2,3}marked as being away', re.UNICODE),
+    'dcc chat request':
+        re.compile(r'^xfer: incoming chat request from (\w+)', re.UNICODE),
+    'dcc chat closed':
+        re.compile(r'^xfer: chat closed with (\w+)', re.UNICODE),
+    'dcc get request':
+        re.compile(
+            r'^xfer: incoming file from (\w+) [^:]+: ((?:,\w|[^,])+),',
+            re.UNICODE),
+    'dcc get completed':
+        re.compile(r'^xfer: file ([^\s]+) received from \w+: OK', re.UNICODE),
+    'dcc get failed':
+        re.compile(
+            r'^xfer: file ([^\s]+) received from \w+: FAILED',
+            re.UNICODE),
+    'dcc send completed':
+        re.compile(r'^xfer: file ([^\s]+) sent to \w+: OK', re.UNICODE),
+    'dcc send failed':
+        re.compile(r'^xfer: file ([^\s]+) sent to \w+: FAILED', re.UNICODE),
+}
+
+
+DISPATCH_TABLE = {
+    'away status': 'set_away_status',
+    'public message or action': 'notify_public_message_or_action',
+    'private message or action': 'notify_private_message_or_action',
+    'notice message': 'notify_notice_message',
+    'invite message': 'notify_invite_message',
+    'channel topic': 'notify_channel_topic',
+    'dcc chat request': 'notify_dcc_chat_request',
+    'dcc chat closed': 'notify_dcc_chat_closed',
+    'dcc get request': 'notify_dcc_get_request',
+    'dcc get completed': 'notify_dcc_get_completed',
+    'dcc get failed': 'notify_dcc_get_failed',
+    'dcc send completed': 'notify_dcc_send_completed',
+    'dcc send failed': 'notify_dcc_send_failed',
+}
+
+
+STATE = {
+    'icon': None,
+    'is_away': False
+}
+
+
+# -----------------------------------------------------------------------------
+# Notifiers
+# -----------------------------------------------------------------------------
+def cb_irc_server_connected(data, signal, signal_data):
+    '''Notify when connected to IRC server.'''
+    if weechat.config_get_plugin('show_server') == 'on':
+        a_notify(
+            'Server',
+            'Server Connected',
+            'Connected to network {0}.'.format(signal_data))
+    return weechat.WEECHAT_RC_OK
+
+
+def cb_irc_server_disconnected(data, signal, signal_data):
+    '''Notify when disconnected to IRC server.'''
+    if weechat.config_get_plugin('show_server') == 'on':
+        a_notify(
+            'Server',
+            'Server Disconnected',
+            'Disconnected from network {0}.'.format(signal_data))
+    return weechat.WEECHAT_RC_OK
+
+
+def cb_notify_upgrade_ended(data, signal, signal_data):
+    '''Notify on end of WeeChat upgrade.'''
+    if weechat.config_get_plugin('show_upgrade_ended') == 'on':
+        a_notify(
+            'WeeChat',
+            'WeeChat Upgraded',
+            'WeeChat has been upgraded.')
+    return weechat.WEECHAT_RC_OK
+
+
+def notify_highlighted_message(prefix, message):
+    '''Notify on highlighted message.'''
+    if weechat.config_get_plugin("show_highlighted_message") == "on":
+        a_notify(
+            'Highlight',
+            'Highlighted Message',
+            "{0}: {1}".format(prefix, message),
+            priority=pynotify.URGENCY_CRITICAL)
+
+
+def notify_public_message_or_action(prefix, message, highlighted):
+    '''Notify on public message or action.'''
+    if prefix == ' *':
+        regex = re.compile(r'^(\w+) (.+)$', re.UNICODE)
+        match = regex.match(message)
+        if match:
+            prefix = match.group(1)
+            message = match.group(2)
+            notify_public_action_message(prefix, message, highlighted)
+    else:
+        if highlighted:
+            notify_highlighted_message(prefix, message)
+        elif weechat.config_get_plugin("show_public_message") == "on":
+            a_notify(
+                'Public',
+                'Public Message',
+                '{0}: {1}'.format(prefix, message))
+
+
+def notify_private_message_or_action(prefix, message, highlighted):
+    '''Notify on private message or action.'''
+    regex = re.compile(r'^CTCP_MESSAGE.+?ACTION (.+)$', re.UNICODE)
+    match = regex.match(message)
+    if match:
+        notify_private_action_message(prefix, match.group(1), highlighted)
+    else:
+        if prefix == ' *':
+            regex = re.compile(r'^(\w+) (.+)$', re.UNICODE)
+            match = regex.match(message)
+            if match:
+                prefix = match.group(1)
+                message = match.group(2)
+                notify_private_action_message(prefix, message, highlighted)
+        else:
+            if highlighted:
+                notify_highlighted_message(prefix, message)
+            elif weechat.config_get_plugin("show_private_message") == "on":
+                a_notify(
+                    'Private',
+                    'Private Message',
+                    '{0}: {1}'.format(prefix, message))
+
+
+def notify_public_action_message(prefix, message, highlighted):
+    '''Notify on public action message.'''
+    if highlighted:
+        notify_highlighted_message(prefix, message)
+    elif weechat.config_get_plugin("show_public_action_message") == "on":
+        a_notify(
+            'Action',
+            'Public Action Message',
+            '{0}: {1}'.format(prefix, message),
+            priority=pynotify.URGENCY_NORMAL)
+
+
+def notify_private_action_message(prefix, message, highlighted):
+    '''Notify on private action message.'''
+    if highlighted:
+        notify_highlighted_message(prefix, message)
+    elif weechat.config_get_plugin("show_private_action_message") == "on":
+        a_notify(
+            'Action',
+            'Private Action Message',
+            '{0}: {1}'.format(prefix, message),
+            priority=pynotify.URGENCY_NORMAL)
+
+
+def notify_notice_message(prefix, message, highlighted):
+    '''Notify on notice message.'''
+    regex = re.compile(r'^([^\s]*) [^:]*: (.+)$', re.UNICODE)
+    match = regex.match(message)
+    if match:
+        prefix = match.group(1)
+        message = match.group(2)
+        if highlighted:
+            notify_highlighted_message(prefix, message)
+        elif weechat.config_get_plugin("show_notice_message") == "on":
+            a_notify(
+                'Notice',
+                'Notice Message',
+                '{0}: {1}'.format(prefix, message))
+
+
+def notify_invite_message(prefix, message, highlighted):
+    '''Notify on channel invitation message.'''
+    if weechat.config_get_plugin("show_invite_message") == "on":
+        regex = re.compile(
+            r'^You have been invited to ([^\s]+) by ([^\s]+)$', re.UNICODE)
+        match = regex.match(message)
+        if match:
+            channel = match.group(1)
+            nick = match.group(2)
+            a_notify(
+                'Invite',
+                'Channel Invitation',
+                '{0} has invited you to join {1}.'.format(nick, channel))
+
+
+def notify_channel_topic(prefix, message, highlighted):
+    '''Notify on channel topic change.'''
+    if weechat.config_get_plugin("show_channel_topic") == "on":
+        regex = re.compile(
+            r'^\w+ has (?:changed|unset) topic for ([^\s]+)' +
+                '(?:(?: from "(?:(?:"\w|[^"])+)")? to "((?:"\w|[^"])+)")?',
+            re.UNICODE)
+        match = regex.match(message)
+        if match:
+            channel = match.group(1)
+            topic = match.group(2) or ''
+            a_notify(
+                'Channel',
+                'Channel Topic',
+                "{0}: {1}".format(channel, topic))
+
+
+def notify_dcc_chat_request(match):
+    '''Notify on DCC chat request.'''
+    if weechat.config_get_plugin("show_dcc") == "on":
+        nick = match.group(1)
+        a_notify(
+            'DCC',
+            'Direct Chat Request',
+            '{0} wants to chat directly.'.format(nick))
+
+
+def notify_dcc_chat_closed(match):
+    '''Notify on DCC chat termination.'''
+    if weechat.config_get_plugin("show_dcc") == "on":
+        nick = match.group(1)
+        a_notify(
+            'DCC',
+            'Direct Chat Ended',
+            'Direct chat with {0} has ended.'.format(nick))
+
+
+def notify_dcc_get_request(match):
+    'Notify on DCC get request.'
+    if weechat.config_get_plugin("show_dcc") == "on":
+        nick = match.group(1)
+        file_name = match.group(2)
+        a_notify(
+            'DCC',
+            'File Transfer Request',
+            '{0} wants to send you {1}.'.format(nick, file_name))
+
+
+def notify_dcc_get_completed(match):
+    'Notify on DCC get completion.'
+    if weechat.config_get_plugin("show_dcc") == "on":
+        file_name = match.group(1)
+        a_notify('DCC', 'Download Complete', file_name)
+
+
+def notify_dcc_get_failed(match):
+    'Notify on DCC get failure.'
+    if weechat.config_get_plugin("show_dcc") == "on":
+        file_name = match.group(1)
+        a_notify('DCC', 'Download Failed', file_name)
+
+
+def notify_dcc_send_completed(match):
+    'Notify on DCC send completion.'
+    if weechat.config_get_plugin("show_dcc") == "on":
+        file_name = match.group(1)
+        a_notify('DCC', 'Upload Complete', file_name)
+
+
+def notify_dcc_send_failed(match):
+    'Notify on DCC send failure.'
+    if weechat.config_get_plugin("show_dcc") == "on":
+        file_name = match.group(1)
+        a_notify('DCC', 'Upload Failed', file_name)
+
+
+# -----------------------------------------------------------------------------
+# Utility
+# -----------------------------------------------------------------------------
+def set_away_status(match):
+    status = match.group(1)
+    if status == 'been ':
+        STATE['is_away'] = True
+    if status == 'longer ':
+        STATE['is_away'] = False
+
+
+def cb_process_message(
+    data,
+    wbuffer,
+    date,
+    tags,
+    displayed,
+    highlight,
+    prefix,
+    message
+):
+    '''Delegates incoming messages to appropriate handlers.'''
+    tags = set(tags.split(','))
+    functions = globals()
+    is_public_message = tags.issuperset(
+        TAGGED_MESSAGES['public message or action'])
+    buffer_name = weechat.buffer_get_string(wbuffer, 'name')
+    dcc_buffer_regex = re.compile(r'^irc_dcc\.', re.UNICODE)
+    dcc_buffer_match = dcc_buffer_regex.match(buffer_name)
+    highlighted = False
+    if int(highlight):
+        highlighted = True
+    # Private DCC message identifies itself as public.
+    if is_public_message and dcc_buffer_match:
+        notify_private_message_or_action(prefix, message, highlighted)
+        return weechat.WEECHAT_RC_OK
+    # Pass identified, untagged message to its designated function.
+    for key, value in UNTAGGED_MESSAGES.items():
+        match = value.match(message)
+        if match:
+            functions[DISPATCH_TABLE[key]](match)
+            return weechat.WEECHAT_RC_OK
+    # Pass identified, tagged message to its designated function.
+    for key, value in TAGGED_MESSAGES.items():
+        if tags.issuperset(value):
+            functions[DISPATCH_TABLE[key]](prefix, message, highlighted)
+            return weechat.WEECHAT_RC_OK
+    return weechat.WEECHAT_RC_OK
+
+
+def a_notify(notification, title, description, priority=pynotify.URGENCY_LOW):
+    '''Returns whether notifications should be sticky.'''
+    is_away = STATE['is_away']
+    icon = STATE['icon']
+    time_out = 5000
+    if weechat.config_get_plugin('sticky') == 'on':
+        time_out = 0
+    if weechat.config_get_plugin('sticky_away') == 'on' and is_away:
+        time_out = 0
+    try:
+        pynotify.init("wee-notifier")
+        wn = pynotify.Notification(title, description, icon)
+        wn.set_urgency(priority)
+        wn.set_timeout(time_out)
+        wn.show()
+    except Exception as error:
+        weechat.prnt('', 'anotify: {0}'.format(error))
+
+
+# -----------------------------------------------------------------------------
+# Main
+# -----------------------------------------------------------------------------
+def main():
+    '''Sets up WeeChat notifications.'''
+    # Initialize options.
+    for option, value in SETTINGS.items():
+        if not weechat.config_is_set_plugin(option):
+            weechat.config_set_plugin(option, value)
+    # Initialize.
+    name = "WeeChat"
+    icon = "/usr/share/pixmaps/weechat.xpm"
+    notifications = [
+        'Public',
+        'Private',
+        'Action',
+        'Notice',
+        'Invite',
+        'Highlight',
+        'Server',
+        'Channel',
+        'DCC',
+        'WeeChat'
+    ]
+    STATE['icon'] = icon
+    # Register hooks.
+    weechat.hook_signal(
+        'irc_server_connected',
+        'cb_irc_server_connected',
+        '')
+    weechat.hook_signal(
+        'irc_server_disconnected',
+        'cb_irc_server_disconnected',
+        '')
+    weechat.hook_signal('upgrade_ended', 'cb_upgrade_ended', '')
+    weechat.hook_print('', '', '', 1, 'cb_process_message', '')
+
+
+if __name__ == '__main__' and IMPORT_OK and weechat.register(
+    SCRIPT_NAME,
+    SCRIPT_AUTHOR,
+    SCRIPT_VERSION,
+    SCRIPT_LICENSE,
+    SCRIPT_DESC,
+    '',
+    ''
+):
+    main()
diff --git a/weechat/.weechat/python/autoload/anotify.py b/weechat/.weechat/python/autoload/anotify.py
new file mode 120000
index 0000000..1517fef
--- /dev/null
+++ b/weechat/.weechat/python/autoload/anotify.py
@@ -0,0 +1 @@
+../anotify.py
\ No newline at end of file
diff --git a/weechat/.weechat/python/grep.pyc b/weechat/.weechat/python/grep.pyc
new file mode 100644
index 0000000..9f32eff
--- /dev/null
+++ b/weechat/.weechat/python/grep.pyc
Binary files differdiff --git a/weechat/.weechat/weechat.conf b/weechat/.weechat/weechat.conf
index f79b424..44dd173 100644
--- a/weechat/.weechat/weechat.conf
+++ b/weechat/.weechat/weechat.conf
@@ -65,7 +65,7 @@ hotlist_names_count = 3
 hotlist_names_length = 0
 hotlist_names_level = 12
 hotlist_names_merged_buffers = off
-hotlist_prefix = "H: "
+hotlist_prefix = ""
 hotlist_remove = merged
 hotlist_short_names = on
 hotlist_sort = group_time_asc
@@ -125,8 +125,8 @@ scroll_amount = 3
 scroll_bottom_after_switch = off
 scroll_page_percent = 100
 search_text_not_found_alert = on
-separator_horizontal = "-"
-separator_vertical = ""
+separator_horizontal = "─"
+separator_vertical = "│"
 tab_width = 1
 time_format = "%a, %d %b %Y %T"
 window_auto_zoom = off
@@ -356,6 +356,7 @@ default.current = on
 [notify]
 irc.darwin = message
 irc.freenode.##csharp = highlight
+irc.freenode.#litepub = highlight
 irc.freenode.#vim = highlight
 irc.hashbang = message
 irc.sdf = message