mirror of https://tildegit.org/ben/dotfiles
Compare commits
No commits in common. "838ba4a5cdf984bbe19c609671fda2a948d412b1" and "8698adae258a673b192ce89af954585a266a8d56" have entirely different histories.
838ba4a5cd
...
8698adae25
|
@ -22,3 +22,6 @@
|
||||||
[submodule "vim/.vim/bundle/vim-airline"]
|
[submodule "vim/.vim/bundle/vim-airline"]
|
||||||
path = vim/.vim/pack/plugins/start/vim-airline
|
path = vim/.vim/pack/plugins/start/vim-airline
|
||||||
url = https://github.com/vim-airline/vim-airline
|
url = https://github.com/vim-airline/vim-airline
|
||||||
|
[submodule "pb"]
|
||||||
|
path = pb
|
||||||
|
url = https://tildegit.org/tomasino/pb
|
||||||
|
|
10
Makefile
10
Makefile
|
@ -16,7 +16,7 @@ endif
|
||||||
install:
|
install:
|
||||||
@make $(UNAME)
|
@make $(UNAME)
|
||||||
|
|
||||||
Linux: bash bin byobu fish git gnupg mutt nvim vim weechat
|
Linux: bash bin byobu fish git gnupg mutt nvim pb vim weechat
|
||||||
Windows: bash git vim
|
Windows: bash git vim
|
||||||
Other: bash git vim
|
Other: bash git vim
|
||||||
|
|
||||||
|
@ -32,6 +32,7 @@ clean:
|
||||||
stow -t "$$HOME" -D nvim
|
stow -t "$$HOME" -D nvim
|
||||||
stow -t "$$HOME" -D vim
|
stow -t "$$HOME" -D vim
|
||||||
stow -t "$$HOME" -D weechat
|
stow -t "$$HOME" -D weechat
|
||||||
|
$(MAKE) -C pb PREFIX=~/.local uninstall
|
||||||
|
|
||||||
bash:
|
bash:
|
||||||
@printf "$(YELLOW)--- bash -----------------------------------------------\n$(RESET)"
|
@printf "$(YELLOW)--- bash -----------------------------------------------\n$(RESET)"
|
||||||
|
@ -68,6 +69,11 @@ nvim:
|
||||||
@printf "$(YELLOW)--- nvim -----------------------------------------------\n$(RESET)"
|
@printf "$(YELLOW)--- nvim -----------------------------------------------\n$(RESET)"
|
||||||
stow -t "$$HOME" nvim
|
stow -t "$$HOME" nvim
|
||||||
|
|
||||||
|
pb:
|
||||||
|
@printf "$(YELLOW)--- pb -------------------------------------------------\n$(RESET)"
|
||||||
|
git submodule update --remote --init -- pb
|
||||||
|
$(MAKE) -C pb PREFIX=~/.local install
|
||||||
|
|
||||||
vim:
|
vim:
|
||||||
@printf "$(YELLOW)--- vim ------------------------------------------------\n$(RESET)"
|
@printf "$(YELLOW)--- vim ------------------------------------------------\n$(RESET)"
|
||||||
mkdir -p ~/.vim/{undodir,swap,backup}
|
mkdir -p ~/.vim/{undodir,swap,backup}
|
||||||
|
@ -83,4 +89,4 @@ nuke:
|
||||||
@printf "$(RED)--- nuking existing files ------------------------------\n$(RESET)"
|
@printf "$(RED)--- nuking existing files ------------------------------\n$(RESET)"
|
||||||
rm -rf ~/.byobu ~/.config/fish ~/.fzf ~/.bash*
|
rm -rf ~/.byobu ~/.config/fish ~/.fzf ~/.bash*
|
||||||
|
|
||||||
.PHONY: bash fish git vim nvim mutt byobu weechat gnupg bin clean install nuke Windows Linux Other
|
.PHONY: bash fish git pb vim nvim mutt byobu weechat gnupg bin clean install nuke Windows Linux Other
|
||||||
|
|
|
@ -4,14 +4,8 @@ this repo is my collection of dotfiles.
|
||||||
|
|
||||||
it includes configs for my most frequently used tools.
|
it includes configs for my most frequently used tools.
|
||||||
|
|
||||||
## steps to install on debian and derivatives
|
### steps to install on debian and derivatives
|
||||||
|
|
||||||
1. `apt install make stow fish git byobu vim ripgrep fzf`
|
1. `apt install make stow fish git byobu vim ripgrep fzf`
|
||||||
1. `make nuke install` - note that nuke removes existing files in your $HOME
|
1. `make nuke install` - note that nuke removes existing files in your $HOME
|
||||||
|
|
||||||
## update vim packages
|
|
||||||
|
|
||||||
1. `make vim`
|
|
||||||
1. `git commit -am 'update vim submodules'`
|
|
||||||
1. profit
|
|
||||||
|
|
||||||
|
|
|
@ -3,5 +3,3 @@
|
||||||
|
|
||||||
export PATH="$HOME/.cargo/bin:$PATH"
|
export PATH="$HOME/.cargo/bin:$PATH"
|
||||||
if [ -e /home/ben/.nix-profile/etc/profile.d/nix.sh ]; then . /home/ben/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer
|
if [ -e /home/ben/.nix-profile/etc/profile.d/nix.sh ]; then . /home/ben/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer
|
||||||
|
|
||||||
. "$HOME/.cargo/env"
|
|
||||||
|
|
|
@ -132,6 +132,13 @@ shopt -s autocd
|
||||||
|
|
||||||
# MY STUFF!!
|
# MY STUFF!!
|
||||||
|
|
||||||
|
suicidePostCommand() {
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "$(tput setaf 3)====$(tput setaf 1)$(tput bold)$(echo -n $(shuf -n1 ~/insults.txt))$(tput sgr0)$(tput setaf 3)====$(tput sgr0)"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
PROMPT_COMMAND=suicidePostCommand
|
||||||
|
|
||||||
[ -r /home/ben/.byobu/prompt ] && . /home/ben/.byobu/prompt #byobu-prompt#
|
[ -r /home/ben/.byobu/prompt ] && . /home/ben/.byobu/prompt #byobu-prompt#
|
||||||
|
|
||||||
user_paths=(~/bin /usr/local/go/bin ~/.yarn/bin $GOPATH/bin ~/.local/bin ~/.cargo/bin /snap/bin ~/.fzf/bin)
|
user_paths=(~/bin /usr/local/go/bin ~/.yarn/bin $GOPATH/bin ~/.local/bin ~/.cargo/bin /snap/bin ~/.fzf/bin)
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# covidate version 2024.01
|
|
||||||
# Copyright (C) 2024 anelki
|
|
||||||
#
|
|
||||||
# this is free software licensed under the anelki public license
|
|
||||||
#
|
|
||||||
# See the README and LICENSE files for further information.
|
|
||||||
#
|
|
||||||
# with thanks/apologies to jwz: https://www.jwz.org/blog/2020/08/the-date-is-now-tuesday-march-178th-2020/
|
|
||||||
# shows the date as the number of days since 2020-03-01
|
|
||||||
# and earlier version included 2020-03-11 in the calc (so 296 total days).
|
|
||||||
# corrected, as jwz pointed out: https://twitter.com/jwz/status/1366475255976398848
|
|
||||||
|
|
||||||
LC_TIME=C.UTF-8
|
|
||||||
echo -e "\n\a Today is...$(date +"%A"), March $(expr 1401 + $(date +"%j")), 2020 at $(date +"%T") \n Let's make it a \033[1m✨great✨\033[0m day! \n\n This year will be Different...in a good way I'm sure...\n"
|
|
||||||
exit 0
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
wp --path=/var/www/tcpinball.org post meta get $1 _publicize_shares --format=json \
|
|
||||||
| jq -r '[.[] | .message?]' \
|
|
||||||
| wp --path=/var/www/tcpinball.org post meta add $1 mf2_syndication --format=json
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
wp --path=/var/www/benharri.org post meta get $1 syndication_log --format=json \
|
|
||||||
| jq -r '[.[] | .data.url?]' \
|
|
||||||
| wp --path=/var/www/benharri.org post meta add $1 mf2_syndication --format=json
|
|
||||||
|
|
75
bin/bin/tcpp
75
bin/bin/tcpp
|
@ -1,75 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# get players + names
|
|
||||||
playersjson=$(curl -s "https://app.matchplay.events/api/tournaments/$1?includePlayers=1" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-H "Accept: application/json")
|
|
||||||
|
|
||||||
# pull finals id from main tourney
|
|
||||||
finalsId=$(printf %s "$playersjson" | jq -r ".data.linkedTournamentId")
|
|
||||||
|
|
||||||
# get standings for finals
|
|
||||||
standingsids=$(curl -s "https://app.matchplay.events/api/tournaments/$finalsId/standings" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-H "Accept: application/json" \
|
|
||||||
| jq -r '.[] | .playerId')
|
|
||||||
|
|
||||||
# look up ifpa tourneys in TC for the date from matchplay
|
|
||||||
d=$(printf %s "$playersjson" | jq -r ".data.startUtc")
|
|
||||||
shortdate=$(date --date "$d" +"%B %-d")
|
|
||||||
ifpa=$(curl -s 'https://api.ifpapinball.com/v1/calendar/search?api_key=GET_YOUR_OWN&address=Traverse%20City&m=3')
|
|
||||||
ifpatourney=$(printf %s "$ifpa" | jq -r ".calendar[] | select(.start_date == \"$(date --date "$d" +"%F")\").tournament_id")
|
|
||||||
|
|
||||||
# set author, excerpt, and categories based on day-of-week
|
|
||||||
author=1
|
|
||||||
excerpt="Results for $shortdate tourney"
|
|
||||||
|
|
||||||
case $(date --date "$d" +"%a") in
|
|
||||||
Thu)
|
|
||||||
categories="58,54"
|
|
||||||
;;
|
|
||||||
Mon)
|
|
||||||
categories="58,52"
|
|
||||||
;;
|
|
||||||
Sun)
|
|
||||||
categories="58,51"
|
|
||||||
author=8
|
|
||||||
excerpt="Results for the $shortdate Belles tourney"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
categories="4"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# pull names from original tournament json by ids from standings
|
|
||||||
# gotta be a better way to do this
|
|
||||||
player1=$(printf %s "$playersjson" | jq -r ".data.players | .[] | select(.playerId == $(printf %s "$standingsids" | head -n1 | tail -n1)).name")
|
|
||||||
player2=$(printf %s "$playersjson" | jq -r ".data.players | .[] | select(.playerId == $(printf %s "$standingsids" | head -n2 | tail -n1)).name")
|
|
||||||
player3=$(printf %s "$playersjson" | jq -r ".data.players | .[] | select(.playerId == $(printf %s "$standingsids" | head -n3 | tail -n1)).name")
|
|
||||||
player4=$(printf %s "$playersjson" | jq -r ".data.players | .[] | select(.playerId == $(printf %s "$standingsids" | head -n4 | tail -n1)).name")
|
|
||||||
|
|
||||||
# create the post draft and save the id
|
|
||||||
postid=$(sudo -Hu www-data wp --path=/var/www/tcpinball.org \
|
|
||||||
post create \
|
|
||||||
--post_author="$author" \
|
|
||||||
--post_category="$categories" \
|
|
||||||
--post_title="$shortdate Results" \
|
|
||||||
--post_excerpt="$excerpt" \
|
|
||||||
--post_status=draft \
|
|
||||||
--porcelain \
|
|
||||||
--post_content="<!-- wp:paragraph -->
|
|
||||||
<p>Format: Group Match Play</p>
|
|
||||||
<!-- /wp:paragraph -->
|
|
||||||
|
|
||||||
<!-- wp:table {\"hasFixedLayout\":false} -->
|
|
||||||
<figure class=\"wp-block-table\"><table><thead><tr><th>Place</th><th>Player</th></tr></thead><tbody><tr><td>1st</td><td>$player1</td></tr><tr><td>2nd</td><td>$player2</td></tr><tr><td>3rd</td><td>$player3</td></tr><tr><td>4th</td><td>$player4</td></tr></tbody></table></figure>
|
|
||||||
<!-- /wp:table -->
|
|
||||||
|
|
||||||
<!-- wp:paragraph -->
|
|
||||||
<p>See the full results on <a href=\"https://app.matchplay.events/tournaments/$1\">Match Play</a> - <a href=\"https://app.matchplay.events/tournaments/$finalsId\">Finals</a> (<a href=\"https://www.ifpapinball.com/tournaments/view.php?t=$ifpatourney\">IFPA</a>).</p>
|
|
||||||
<!-- /wp:paragraph -->
|
|
||||||
")
|
|
||||||
|
|
||||||
# drop a link to the editor so i can attach the featured pic before publishing
|
|
||||||
printf "https://tcpinball.org/wp-admin/post.php?action=edit&post=%s\n" "$postid"
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
sudo certbot certonly \
|
|
||||||
--dns-rfc2136 \
|
|
||||||
--dns-rfc2136-credentials /root/.secrets/rfc2136.ini \
|
|
||||||
--server https://acme-v02.api.letsencrypt.org/directory \
|
|
||||||
--preferred-challenge dns-01 \
|
|
||||||
--cert-name $1 \
|
|
||||||
-d $1 \
|
|
||||||
-d \*.$1
|
|
|
@ -1,3 +0,0 @@
|
||||||
# fnm
|
|
||||||
set PATH "/home/ben/.local/share/fnm" $PATH
|
|
||||||
fnm env | source
|
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
source "$HOME/.cargo/env.fish"
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
function anonradio
|
||||||
|
nvlc http://anonradio.net:8000/anonradio
|
||||||
|
end
|
|
@ -1,3 +0,0 @@
|
||||||
function ddg
|
|
||||||
lynx "https://lite.duckduckgo.com/lite/?q=$(string escape --style=url $argv)"
|
|
||||||
end
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
function fish_greeting
|
||||||
|
if test -f /var/run/motd
|
||||||
|
/bin/cat /var/run/motd
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
function fish_user_key_bindings
|
function fish_user_key_bindings
|
||||||
fzf_key_bindings
|
fzf_key_bindings
|
||||||
|
bind \co 'lfcd; commandline -f repaint'
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,161 @@
|
||||||
|
# ____ ____
|
||||||
|
# / __/___ / __/
|
||||||
|
# / /_/_ / / /_
|
||||||
|
# / __/ / /_/ __/
|
||||||
|
# /_/ /___/_/ key-bindings.fish
|
||||||
|
#
|
||||||
|
# - $FZF_TMUX_OPTS
|
||||||
|
# - $FZF_CTRL_T_COMMAND
|
||||||
|
# - $FZF_CTRL_T_OPTS
|
||||||
|
# - $FZF_CTRL_R_OPTS
|
||||||
|
# - $FZF_ALT_C_COMMAND
|
||||||
|
# - $FZF_ALT_C_OPTS
|
||||||
|
|
||||||
|
# Key bindings
|
||||||
|
# ------------
|
||||||
|
function fzf_key_bindings
|
||||||
|
|
||||||
|
# Store current token in $dir as root for the 'find' command
|
||||||
|
function fzf-file-widget -d "List files and folders"
|
||||||
|
set -l commandline (__fzf_parse_commandline)
|
||||||
|
set -l dir $commandline[1]
|
||||||
|
set -l fzf_query $commandline[2]
|
||||||
|
|
||||||
|
# "-path \$dir'*/\\.*'" matches hidden files/folders inside $dir but not
|
||||||
|
# $dir itself, even if hidden.
|
||||||
|
test -n "$FZF_CTRL_T_COMMAND"; or set -l FZF_CTRL_T_COMMAND "
|
||||||
|
command find -L \$dir -mindepth 1 \\( -path \$dir'*/\\.*' -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' \\) -prune \
|
||||||
|
-o -type f -print \
|
||||||
|
-o -type d -print \
|
||||||
|
-o -type l -print 2> /dev/null | sed 's@^\./@@'"
|
||||||
|
|
||||||
|
test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40%
|
||||||
|
begin
|
||||||
|
set -lx FZF_DEFAULT_OPTS "--height $FZF_TMUX_HEIGHT --reverse $FZF_DEFAULT_OPTS $FZF_CTRL_T_OPTS"
|
||||||
|
eval "$FZF_CTRL_T_COMMAND | "(__fzfcmd)' -m --query "'$fzf_query'"' | while read -l r; set result $result $r; end
|
||||||
|
end
|
||||||
|
if [ -z "$result" ]
|
||||||
|
commandline -f repaint
|
||||||
|
return
|
||||||
|
else
|
||||||
|
# Remove last token from commandline.
|
||||||
|
commandline -t ""
|
||||||
|
end
|
||||||
|
for i in $result
|
||||||
|
commandline -it -- (string escape $i)
|
||||||
|
commandline -it -- ' '
|
||||||
|
end
|
||||||
|
commandline -f repaint
|
||||||
|
end
|
||||||
|
|
||||||
|
function fzf-history-widget -d "Show command history"
|
||||||
|
test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40%
|
||||||
|
begin
|
||||||
|
set -lx FZF_DEFAULT_OPTS "--height $FZF_TMUX_HEIGHT $FZF_DEFAULT_OPTS --tiebreak=index --bind=ctrl-r:toggle-sort $FZF_CTRL_R_OPTS +m"
|
||||||
|
|
||||||
|
set -l FISH_MAJOR (echo $version | cut -f1 -d.)
|
||||||
|
set -l FISH_MINOR (echo $version | cut -f2 -d.)
|
||||||
|
|
||||||
|
# history's -z flag is needed for multi-line support.
|
||||||
|
# history's -z flag was added in fish 2.4.0, so don't use it for versions
|
||||||
|
# before 2.4.0.
|
||||||
|
if [ "$FISH_MAJOR" -gt 2 -o \( "$FISH_MAJOR" -eq 2 -a "$FISH_MINOR" -ge 4 \) ];
|
||||||
|
history -z | eval (__fzfcmd) --read0 --print0 -q '(commandline)' | read -lz result
|
||||||
|
and commandline -- $result
|
||||||
|
else
|
||||||
|
history | eval (__fzfcmd) -q '(commandline)' | read -l result
|
||||||
|
and commandline -- $result
|
||||||
|
end
|
||||||
|
end
|
||||||
|
commandline -f repaint
|
||||||
|
end
|
||||||
|
|
||||||
|
function fzf-cd-widget -d "Change directory"
|
||||||
|
set -l commandline (__fzf_parse_commandline)
|
||||||
|
set -l dir $commandline[1]
|
||||||
|
set -l fzf_query $commandline[2]
|
||||||
|
|
||||||
|
test -n "$FZF_ALT_C_COMMAND"; or set -l FZF_ALT_C_COMMAND "
|
||||||
|
command find -L \$dir -mindepth 1 \\( -path \$dir'*/\\.*' -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' \\) -prune \
|
||||||
|
-o -type d -print 2> /dev/null | sed 's@^\./@@'"
|
||||||
|
test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40%
|
||||||
|
begin
|
||||||
|
set -lx FZF_DEFAULT_OPTS "--height $FZF_TMUX_HEIGHT --reverse $FZF_DEFAULT_OPTS $FZF_ALT_C_OPTS"
|
||||||
|
eval "$FZF_ALT_C_COMMAND | "(__fzfcmd)' +m --query "'$fzf_query'"' | read -l result
|
||||||
|
|
||||||
|
if [ -n "$result" ]
|
||||||
|
cd $result
|
||||||
|
|
||||||
|
# Remove last token from commandline.
|
||||||
|
commandline -t ""
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
commandline -f repaint
|
||||||
|
end
|
||||||
|
|
||||||
|
function __fzfcmd
|
||||||
|
test -n "$FZF_TMUX"; or set FZF_TMUX 0
|
||||||
|
test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40%
|
||||||
|
if [ -n "$FZF_TMUX_OPTS" ]
|
||||||
|
echo "fzf-tmux $FZF_TMUX_OPTS -- "
|
||||||
|
else if [ $FZF_TMUX -eq 1 ]
|
||||||
|
echo "fzf-tmux -d$FZF_TMUX_HEIGHT -- "
|
||||||
|
else
|
||||||
|
echo "fzf"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
bind \ct fzf-file-widget
|
||||||
|
bind \cr fzf-history-widget
|
||||||
|
bind \ec fzf-cd-widget
|
||||||
|
|
||||||
|
if bind -M insert > /dev/null 2>&1
|
||||||
|
bind -M insert \ct fzf-file-widget
|
||||||
|
bind -M insert \cr fzf-history-widget
|
||||||
|
bind -M insert \ec fzf-cd-widget
|
||||||
|
end
|
||||||
|
|
||||||
|
function __fzf_parse_commandline -d 'Parse the current command line token and return split of existing filepath and rest of token'
|
||||||
|
# eval is used to do shell expansion on paths
|
||||||
|
set -l commandline (eval "printf '%s' "(commandline -t))
|
||||||
|
|
||||||
|
if [ -z $commandline ]
|
||||||
|
# Default to current directory with no --query
|
||||||
|
set dir '.'
|
||||||
|
set fzf_query ''
|
||||||
|
else
|
||||||
|
set dir (__fzf_get_dir $commandline)
|
||||||
|
|
||||||
|
if [ "$dir" = "." -a (string sub -l 1 -- $commandline) != '.' ]
|
||||||
|
# if $dir is "." but commandline is not a relative path, this means no file path found
|
||||||
|
set fzf_query $commandline
|
||||||
|
else
|
||||||
|
# Also remove trailing slash after dir, to "split" input properly
|
||||||
|
set fzf_query (string replace -r "^$dir/?" -- '' "$commandline")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
echo $dir
|
||||||
|
echo $fzf_query
|
||||||
|
end
|
||||||
|
|
||||||
|
function __fzf_get_dir -d 'Find the longest existing filepath from input string'
|
||||||
|
set dir $argv
|
||||||
|
|
||||||
|
# Strip all trailing slashes. Ignore if $dir is root dir (/)
|
||||||
|
if [ (string length -- $dir) -gt 1 ]
|
||||||
|
set dir (string replace -r '/*$' -- '' $dir)
|
||||||
|
end
|
||||||
|
|
||||||
|
# Iteratively check if dir exists and strip tail end of path
|
||||||
|
while [ ! -d "$dir" ]
|
||||||
|
# If path is absolute, this can keep going until ends up at /
|
||||||
|
# If path is relative, this can keep going until entire input is consumed, dirname returns "."
|
||||||
|
set dir (dirname -- "$dir")
|
||||||
|
end
|
||||||
|
|
||||||
|
echo $dir
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
|
@ -0,0 +1,6 @@
|
||||||
|
function git_branch
|
||||||
|
if is_git
|
||||||
|
echo (git rev-parse --abbrev-ref HEAD ^/dev/null)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
function insult
|
||||||
|
shuf -n1 ~/insults.txt
|
||||||
|
end
|
|
@ -0,0 +1,4 @@
|
||||||
|
function is_git
|
||||||
|
git rev-parse --verify HEAD >/dev/null 2>&1
|
||||||
|
end
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
function is_git_ahead
|
||||||
|
set -l revs (git rev-list origin/(git_branch)..HEAD ^/dev/null)
|
||||||
|
[ "$revs" != "" ]
|
||||||
|
end
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
function is_git_dirty
|
||||||
|
# based on https://github.com/git/git/blob/master/git-sh-setup.sh#L210
|
||||||
|
|
||||||
|
is_git; or return 1
|
||||||
|
|
||||||
|
if git diff-files --quiet --ignore-submodules; and git diff-index --cached --quiet --ignore-submodules HEAD --
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
# we're dirty
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
function ls
|
||||||
|
command ls --color=auto $argv
|
||||||
|
end
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
# Defined in /tmp/fish.Fo1L3P/pubtr.fish @ line 1
|
||||||
function pubtr
|
function pubtr
|
||||||
mtr -wrc4 $argv[1] > ~/pub/mtr/"$argv[1]".txt
|
mtr -wrc4 $argv[1] > ~/pub/mtr/"$argv[1]".txt
|
||||||
echo https://bhh.sh/pub/mtr/$argv[1].txt
|
echo https://bhh.sh/pub/mtr/$argv[1].txt
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
function rm
|
||||||
|
command rm -I $argv
|
||||||
|
end
|
|
@ -0,0 +1,3 @@
|
||||||
|
function ssys
|
||||||
|
sudo systemctl $args
|
||||||
|
end
|
|
@ -0,0 +1,4 @@
|
||||||
|
function tag
|
||||||
|
shuf -n 1 ~/taglines.txt
|
||||||
|
end
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
function tildefig
|
||||||
|
curl "https://tilde.team/~ben/api/?font=slant&text="$argv
|
||||||
|
end
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
function tilderadio
|
||||||
|
nvlc https://radio.tildeverse.org/radio/8000/radio.ogg
|
||||||
|
end
|
|
@ -0,0 +1,7 @@
|
||||||
|
function vz
|
||||||
|
set file (fzf --height 40% --reverse)
|
||||||
|
if test -f $file
|
||||||
|
vim $file
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
function wildcard-cert
|
||||||
|
sudo certbot certonly \
|
||||||
|
--dns-rfc2136 \
|
||||||
|
--dns-rfc2136-credentials /root/.secrets/rfc2136.ini \
|
||||||
|
--server https://acme-v02.api.letsencrypt.org/directory \
|
||||||
|
--preferred-challenge dns-01 \
|
||||||
|
--cert-name $argv[1] \
|
||||||
|
-d $argv[1] \
|
||||||
|
-d \*.$argv[1]
|
||||||
|
end
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit a6cea6f11a60e7f1c7963c9ecad79d07f64ce4b2
|
|
@ -1 +1 @@
|
||||||
Subproject commit 4d35d3b2bc6794666353dcc241b2680bd560416f
|
Subproject commit 256d81e391a22eeb53791ff62ce65f870418fa71
|
|
@ -1 +1 @@
|
||||||
Subproject commit 81eca994860645acbb58442285cdd70df5c71d2b
|
Subproject commit ff7352e4bff02eb600a136b6fd741404f3195371
|
|
@ -1 +1 @@
|
||||||
Subproject commit c4b8f52cbb7142ec239494e5a2c4a512f92c4d07
|
Subproject commit f67e3e67ea516755005e6cccb178bc8439c6d402
|
|
@ -1 +1 @@
|
||||||
Subproject commit d4877e54cef67f5af4f950935b1ade19ed6b7370
|
Subproject commit e7bf502a6ae492f42a91d231864e25630286319b
|
|
@ -1 +1 @@
|
||||||
Subproject commit e58cb0df716d3c88605ae49db5c4741db8b48aa9
|
Subproject commit a715d602745cdb1c35cfe73c50d3dd266eb5a349
|
|
@ -6,50 +6,49 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
config_version = 2
|
|
||||||
|
|
||||||
[cmd]
|
[cmd]
|
||||||
alis = "/msg alis list $*"
|
alis = "/msg alis list $*"
|
||||||
bc = "/exec -sh -o echo "$*" | bc"
|
bc = "/exec -sh -o echo "$*" | bc"
|
||||||
beep = "print -beep"
|
BEEP = "print -beep"
|
||||||
bye = "quit"
|
BYE = "quit"
|
||||||
c = "buffer close"
|
C = "buffer close"
|
||||||
chat = "dcc chat"
|
CHAT = "dcc chat"
|
||||||
cl = "buffer clear"
|
CL = "buffer clear"
|
||||||
close = "buffer close"
|
CLOSE = "buffer close"
|
||||||
cso = "cs op $channel"
|
cso = "cs op $channel"
|
||||||
emoji = "exec -o python3 -c "print(__import__(\"emoji\").emojize(\"$*\", use_aliases=True))""
|
emoji = "exec -o python3 -c "print(__import__(\"emoji\").emojize(\"$*\", use_aliases=True))""
|
||||||
factor = "/exec -sh -o factor $1 | cut -d" " -f 2,3 | tr " " ",""
|
factor = "/exec -sh -o factor $1 | cut -d" " -f 2,3 | tr " " ",""
|
||||||
ig = "ignore"
|
IG = "ignore"
|
||||||
j = "join"
|
J = "join"
|
||||||
k = "kick"
|
K = "kick"
|
||||||
kb = "kickban"
|
KB = "kickban"
|
||||||
leave = "part"
|
LEAVE = "part"
|
||||||
m = "msg"
|
lenny = "/msg $channel ( ͡° ͜ʖ ͡°)"
|
||||||
msgbuf = "command -buffer $1 * /input send $2-"
|
M = "msg"
|
||||||
mub = "unban *"
|
MSGBUF = "command -buffer $1 * /input send $2-"
|
||||||
n = "names"
|
MUB = "unban *"
|
||||||
|
N = "names"
|
||||||
ni = "/ns info =$1;/buffer server.libera"
|
ni = "/ns info =$1;/buffer server.libera"
|
||||||
pbcmd = "/exec -o -sh $* | pb"
|
pbcmd = "/exec -o -sh $* | pb"
|
||||||
py = "/exec -o python3 -c "print($*)""
|
py = "/exec -o python3 -c "print($*)""
|
||||||
q = "query"
|
Q = "query"
|
||||||
rainbow = "/exec -o toilet --irc --gay -f term -- $*"
|
rainbow = "/exec -o toilet --irc --gay -f term -- $*"
|
||||||
redraw = "window refresh"
|
REDRAW = "window refresh"
|
||||||
say = "msg *"
|
SAY = "msg *"
|
||||||
slap = "me slaps $1 around a bit with a large trout"
|
SLAP = "me slaps $1 around a bit with a large trout"
|
||||||
t = "topic"
|
T = "topic"
|
||||||
ub = "unban"
|
UB = "unban"
|
||||||
umode = "mode $nick"
|
UMODE = "mode $nick"
|
||||||
unscramble = "/exec -sh -o curl -s "http://anagramica.com/best/$*" | jq -r '.best[0]'"
|
unscramble = "/exec -sh -o curl -s "http://anagramica.com/best/$*" | jq -r '.best[0]'"
|
||||||
v = "command core version"
|
V = "command core version"
|
||||||
w = "who"
|
W = "who"
|
||||||
wc = "window merge"
|
WC = "window merge"
|
||||||
wi = "whois"
|
WI = "whois"
|
||||||
wii = "whois $1 $1"
|
WII = "whois $1 $1"
|
||||||
ww = "whowas"
|
WW = "whowas"
|
||||||
|
|
||||||
[completion]
|
[completion]
|
||||||
msgbuf = "%(buffers_plugins_names)"
|
MSGBUF = "%(buffers_plugins_names)"
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[sorting]
|
[sorting]
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[look]
|
[look]
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[look]
|
[look]
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[default]
|
[default]
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[look]
|
[look]
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[command]
|
[command]
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[file]
|
[file]
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[look]
|
[look]
|
||||||
|
@ -20,7 +20,7 @@ scroll_horizontal = 10
|
||||||
show_plugins_desc = off
|
show_plugins_desc = off
|
||||||
sort = "~name"
|
sort = "~name"
|
||||||
unmarked_string = " "
|
unmarked_string = " "
|
||||||
use_color_value = on
|
use_color_value = off
|
||||||
use_keys = on
|
use_keys = on
|
||||||
use_mute = off
|
use_mute = off
|
||||||
|
|
||||||
|
@ -32,14 +32,10 @@ option1 = ""
|
||||||
option2 = "${marked} ${name} ${type} ${value2}${newline} ${empty_name} ${_default_value}${color:darkgray} -- ${min}..${max}${newline} ${empty_name} ${description}"
|
option2 = "${marked} ${name} ${type} ${value2}${newline} ${empty_name} ${_default_value}${color:darkgray} -- ${min}..${max}${newline} ${empty_name} ${description}"
|
||||||
|
|
||||||
[color]
|
[color]
|
||||||
allowed_values = default
|
|
||||||
allowed_values_selected = white
|
|
||||||
color_name = 246
|
|
||||||
color_name_selected = default
|
|
||||||
default_value = default
|
default_value = default
|
||||||
default_value_selected = white
|
default_value_selected = white
|
||||||
description = 242
|
description = default
|
||||||
description_selected = default
|
description_selected = white
|
||||||
file = default
|
file = default
|
||||||
file_changed = brown
|
file_changed = brown
|
||||||
file_changed_selected = yellow
|
file_changed_selected = yellow
|
||||||
|
@ -51,10 +47,10 @@ help_quotes = darkgray
|
||||||
help_values = default
|
help_values = default
|
||||||
index = cyan
|
index = cyan
|
||||||
index_selected = lightcyan
|
index_selected = lightcyan
|
||||||
line_marked_bg1 = 17
|
line_marked_bg1 = default
|
||||||
line_marked_bg2 = 17
|
line_marked_bg2 = default
|
||||||
line_selected_bg1 = 24
|
line_selected_bg1 = blue
|
||||||
line_selected_bg2 = 24
|
line_selected_bg2 = red
|
||||||
marked = brown
|
marked = brown
|
||||||
marked_selected = yellow
|
marked_selected = yellow
|
||||||
max = default
|
max = default
|
||||||
|
@ -62,7 +58,7 @@ max_selected = white
|
||||||
min = default
|
min = default
|
||||||
min_selected = white
|
min_selected = white
|
||||||
name = default
|
name = default
|
||||||
name_changed = 185
|
name_changed = brown
|
||||||
name_changed_selected = yellow
|
name_changed_selected = yellow
|
||||||
name_selected = white
|
name_selected = white
|
||||||
option = default
|
option = default
|
||||||
|
@ -88,13 +84,13 @@ title_current_option = lightcyan
|
||||||
title_filter = yellow
|
title_filter = yellow
|
||||||
title_marked_options = lightgreen
|
title_marked_options = lightgreen
|
||||||
title_sort = white
|
title_sort = white
|
||||||
type = 138
|
type = green
|
||||||
type_selected = 216
|
type_selected = lightgreen
|
||||||
unmarked = default
|
unmarked = default
|
||||||
unmarked_selected = white
|
unmarked_selected = white
|
||||||
value = 38
|
value = cyan
|
||||||
value_changed = 185
|
value_changed = brown
|
||||||
value_changed_selected = yellow
|
value_changed_selected = yellow
|
||||||
value_selected = 159
|
value_selected = lightcyan
|
||||||
value_undef = magenta
|
value_undef = magenta
|
||||||
value_undef_selected = lightmagenta
|
value_undef_selected = lightmagenta
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[look]
|
[look]
|
||||||
|
@ -14,8 +14,8 @@ backlog = 2000
|
||||||
backlog_conditions = ""
|
backlog_conditions = ""
|
||||||
|
|
||||||
[color]
|
[color]
|
||||||
backlog_end = 246
|
backlog_end = default
|
||||||
backlog_line = 246
|
backlog_line = default
|
||||||
|
|
||||||
[file]
|
[file]
|
||||||
auto_log = on
|
auto_log = on
|
||||||
|
@ -23,20 +23,17 @@ color_lines = off
|
||||||
flush_delay = 120
|
flush_delay = 120
|
||||||
fsync = off
|
fsync = off
|
||||||
info_lines = off
|
info_lines = off
|
||||||
log_conditions = ""
|
|
||||||
mask = "$plugin.$name.weechatlog"
|
mask = "$plugin.$name.weechatlog"
|
||||||
name_lower_case = on
|
name_lower_case = on
|
||||||
nick_prefix = ""
|
nick_prefix = ""
|
||||||
nick_suffix = ""
|
nick_suffix = ""
|
||||||
path = "%h/logs/"
|
path = "%h/logs/"
|
||||||
replacement_char = "_"
|
replacement_char = "_"
|
||||||
rotation_compression_level = 20
|
|
||||||
rotation_compression_type = none
|
|
||||||
rotation_size_max = "0"
|
|
||||||
time_format = "%Y-%m-%d %H:%M:%S"
|
time_format = "%Y-%m-%d %H:%M:%S"
|
||||||
|
|
||||||
[level]
|
[level]
|
||||||
core.weechat = 1
|
core.weechat = 0
|
||||||
irc = 3
|
irc = 3
|
||||||
|
irc.server.pisslocal = 0
|
||||||
|
|
||||||
[mask]
|
[mask]
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[look]
|
[look]
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# history:
|
# history:
|
||||||
# 4.0.1: fix display of multiline messages
|
|
||||||
# 4.0: add compatibility with XDG directories (WeeChat >= 3.2)
|
# 4.0: add compatibility with XDG directories (WeeChat >= 3.2)
|
||||||
# 3.9: add compatibility with new weechat_print modifier data (WeeChat >= 2.9)
|
# 3.9: add compatibility with new weechat_print modifier data (WeeChat >= 2.9)
|
||||||
# 3.8: new option custom_action_text (https://github.com/weechat/scripts/issues/313) (idea by 3v1n0)
|
# 3.8: new option custom_action_text (https://github.com/weechat/scripts/issues/313) (idea by 3v1n0)
|
||||||
|
@ -89,7 +88,7 @@
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
my $PRGNAME = "colorize_lines";
|
my $PRGNAME = "colorize_lines";
|
||||||
my $VERSION = "4.0.1";
|
my $VERSION = "4.0";
|
||||||
my $AUTHOR = "Nils Görs <weechatter\@arcor.de>";
|
my $AUTHOR = "Nils Görs <weechatter\@arcor.de>";
|
||||||
my $LICENCE = "GPL3";
|
my $LICENCE = "GPL3";
|
||||||
my $DESCR = "Colorize users' text in chat area with their nick color, including highlights";
|
my $DESCR = "Colorize users' text in chat area with their nick color, including highlights";
|
||||||
|
@ -173,7 +172,7 @@ sub colorize_cb
|
||||||
my $servername = weechat::buffer_get_string($buf_ptr, "localvar_server");
|
my $servername = weechat::buffer_get_string($buf_ptr, "localvar_server");
|
||||||
|
|
||||||
# find stuff between \t
|
# find stuff between \t
|
||||||
$string =~ m/^([^\t]*)\t(.*)/s;
|
$string =~ m/^([^\t]*)\t(.*)/;
|
||||||
my $left = $1;
|
my $left = $1;
|
||||||
my $right = $2;
|
my $right = $2;
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[var]
|
[var]
|
||||||
|
@ -61,9 +61,8 @@ python.autosavekey.add = "on"
|
||||||
python.autosavekey.mute = "off"
|
python.autosavekey.mute = "off"
|
||||||
python.autosavekey.secure = "on"
|
python.autosavekey.secure = "on"
|
||||||
python.buffer_autoclose.age_limit = "30"
|
python.buffer_autoclose.age_limit = "30"
|
||||||
python.buffer_autoclose.ignore = "bitlbee.marley"
|
python.buffer_autoclose.ignore = "bitlbee.maddie"
|
||||||
python.buffer_autoclose.interval = "1"
|
python.buffer_autoclose.interval = "1"
|
||||||
python.buffer_autoclose.prefer = ""
|
|
||||||
python.check_license = "off"
|
python.check_license = "off"
|
||||||
python.completion.replace_values = "shrug=>¯\_(ツ)_/¯;;wiki=>https://tilde.team/wiki/;;sword=>o()xxxx[{::::::::::::::::::::::::::::::::::>;;lenny=>( ͡° ͜ʖ ͡°);;byobu=>https://superuser.com/a/423397/866501;;fg=>(☞゚ヮ゚)☞;;huh=>(-_-)ゞ゛;;tablefix=>┬─┬ノ( º _ ºノ);;weedoc=>https://weechat.org/files/doc/stable/weechat_user.en.html;;weekeys=>https://weechat.org/files/doc/stable/weechat_user.en.html#key_bindings;;denko=>(´・ω・`);;yuno=>ლ(́ಠ◞益◟ಠ‵ლ);;tf=>(ノಥ益ಥ)ノ彡┻━┻;;tb=>┬─┬ノ( º _ ºノ);;ducc=>・゜゜・。。・゜゜\_o< QUACK!;;wat=>https://bhh.sh/wat.jpg;;matrix=>https://www.moparisthebest.com/images/xmpp-vs-matrix.jpg;;servers=>https://tilde.wiki/wiki/User:Ben/Servers;;nft=>https://youtu.be/YQ_xWvX1n9g"
|
python.completion.replace_values = "shrug=>¯\_(ツ)_/¯;;wiki=>https://tilde.team/wiki/;;sword=>o()xxxx[{::::::::::::::::::::::::::::::::::>;;lenny=>( ͡° ͜ʖ ͡°);;byobu=>https://superuser.com/a/423397/866501;;fg=>(☞゚ヮ゚)☞;;huh=>(-_-)ゞ゛;;tablefix=>┬─┬ノ( º _ ºノ);;weedoc=>https://weechat.org/files/doc/stable/weechat_user.en.html;;weekeys=>https://weechat.org/files/doc/stable/weechat_user.en.html#key_bindings;;denko=>(´・ω・`);;yuno=>ლ(́ಠ◞益◟ಠ‵ლ);;tf=>(ノಥ益ಥ)ノ彡┻━┻;;tb=>┬─┬ノ( º _ ºノ);;ducc=>・゜゜・。。・゜゜\_o< QUACK!;;wat=>https://bhh.sh/wat.jpg;;matrix=>https://www.moparisthebest.com/images/xmpp-vs-matrix.jpg;;servers=>https://tilde.wiki/wiki/User:Ben/Servers;;nft=>https://youtu.be/YQ_xWvX1n9g"
|
||||||
python.go.auto_jump = "off"
|
python.go.auto_jump = "off"
|
||||||
|
@ -76,7 +75,6 @@ python.go.color_number = "yellow,magenta"
|
||||||
python.go.color_number_selected = "yellow,red"
|
python.go.color_number_selected = "yellow,red"
|
||||||
python.go.fuzzy_search = "on"
|
python.go.fuzzy_search = "on"
|
||||||
python.go.message = "Go to: "
|
python.go.message = "Go to: "
|
||||||
python.go.min_chars = "0"
|
|
||||||
python.go.short_name = "off"
|
python.go.short_name = "off"
|
||||||
python.go.short_name_server = "off"
|
python.go.short_name_server = "off"
|
||||||
python.go.sort = "number,beginning"
|
python.go.sort = "number,beginning"
|
||||||
|
@ -98,7 +96,7 @@ python.listbuffer.users_min_width = "8"
|
||||||
python.screen_away.away_suffix = ""
|
python.screen_away.away_suffix = ""
|
||||||
python.screen_away.command_on_attach = ""
|
python.screen_away.command_on_attach = ""
|
||||||
python.screen_away.command_on_detach = ""
|
python.screen_away.command_on_detach = ""
|
||||||
python.screen_away.ignore = "thermite"
|
python.screen_away.ignore = ""
|
||||||
python.screen_away.ignore_relays = "on"
|
python.screen_away.ignore_relays = "on"
|
||||||
python.screen_away.interval = "5"
|
python.screen_away.interval = "5"
|
||||||
python.screen_away.message = "detached from byobu"
|
python.screen_away.message = "detached from byobu"
|
||||||
|
@ -200,7 +198,6 @@ python.go.color_number = "color for buffer number (not selected) (default: "yell
|
||||||
python.go.color_number_selected = "color for selected buffer number (default: "yellow,red")"
|
python.go.color_number_selected = "color for selected buffer number (default: "yellow,red")"
|
||||||
python.go.fuzzy_search = "search buffer matches using approximation (default: "off")"
|
python.go.fuzzy_search = "search buffer matches using approximation (default: "off")"
|
||||||
python.go.message = "message to display before list of buffers (default: "Go to: ")"
|
python.go.message = "message to display before list of buffers (default: "Go to: ")"
|
||||||
python.go.min_chars = "Minimum chars to search and display list of matching buffers (default: "0")"
|
|
||||||
python.go.short_name = "display and search in short names instead of buffer name (default: "off")"
|
python.go.short_name = "display and search in short names instead of buffer name (default: "off")"
|
||||||
python.go.short_name_server = "prefix short names with server names for search and display (default: "off")"
|
python.go.short_name_server = "prefix short names with server names for search and display (default: "off")"
|
||||||
python.go.sort = "comma-separated list of keys to sort buffers (the order is important, sorts are performed in the given order): name = sort by name (or short name), (default: "number,beginning")"
|
python.go.sort = "comma-separated list of keys to sort buffers (the order is important, sorts are performed in the given order): name = sort by name (or short name), (default: "number,beginning")"
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[look]
|
[look]
|
||||||
|
|
|
@ -0,0 +1,121 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# Copyright (c) 2016 Hairo R. Carela <hairocr8@gmail.com>
|
||||||
|
#
|
||||||
|
# Everyone is permitted to copy and distribute verbatim or modified
|
||||||
|
# copies of this license document, and changing it is allowed as long
|
||||||
|
# as the name is changed.
|
||||||
|
#
|
||||||
|
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||||
|
# TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
#
|
||||||
|
# 0. You just DO WHAT THE FUCK YOU WANT TO.
|
||||||
|
#
|
||||||
|
# Alternate way of text formatting, useful for relays without text formatting
|
||||||
|
# features (Glowingbear, WeechatAndroid, etc)
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# /aformat *text* for bold text
|
||||||
|
# /aformat /text/ for italic text
|
||||||
|
# /aformat _text_ for underlined text
|
||||||
|
# /aformat |text| for reversed (black on white) text
|
||||||
|
#
|
||||||
|
# History:
|
||||||
|
# 2016-09-24:
|
||||||
|
# v0.1: Initial release
|
||||||
|
# 2018-06-19:
|
||||||
|
# v0.2: py3k-ok
|
||||||
|
#
|
||||||
|
# TODO:
|
||||||
|
# - Colors support
|
||||||
|
|
||||||
|
import sys
|
||||||
|
|
||||||
|
try:
|
||||||
|
import weechat
|
||||||
|
from weechat import WEECHAT_RC_OK
|
||||||
|
import_ok = True
|
||||||
|
except ImportError:
|
||||||
|
print("This script must be run under WeeChat.")
|
||||||
|
print("Get WeeChat now at: http://www.weechat.org/")
|
||||||
|
import_ok = False
|
||||||
|
|
||||||
|
SCRIPT_NAME = "aformat"
|
||||||
|
SCRIPT_AUTHOR = "Hairo R. Carela <hairocr8@gmail.com>"
|
||||||
|
SCRIPT_VERSION = "0.2"
|
||||||
|
SCRIPT_LICENSE = "WTFPL"
|
||||||
|
SCRIPT_DESC = ("Alternate way of text formatting, see /help for instructions")
|
||||||
|
|
||||||
|
PY3 = sys.version > '3'
|
||||||
|
|
||||||
|
class format:
|
||||||
|
# Special byte sequences, using weechat.color("stuff") had some unwanted
|
||||||
|
# results, i'll look into it if needed. Colors are unused for now
|
||||||
|
BOLD = '\x02'
|
||||||
|
ITALIC = '\x1D'
|
||||||
|
UNDERLINE = '\x1F'
|
||||||
|
REVERSE = '\x16'
|
||||||
|
END = '\x0F'
|
||||||
|
|
||||||
|
if PY3:
|
||||||
|
unichr = chr
|
||||||
|
def send(buf, text):
|
||||||
|
weechat.command(buf, "/input send {}".format(text))
|
||||||
|
else:
|
||||||
|
def send(buf, text):
|
||||||
|
weechat.command(buf, "/input send {}".format(text.encode("utf-8")))
|
||||||
|
|
||||||
|
def cb_aformat_cmd(data, buf, args):
|
||||||
|
if not PY3:
|
||||||
|
args = args.decode("utf-8")
|
||||||
|
|
||||||
|
# Get the indexes of the separators (*/_|) in the string
|
||||||
|
bolds = [i for i, ltr in enumerate(args) if ltr == "*"]
|
||||||
|
italics = [i for i, ltr in enumerate(args) if ltr == "/"]
|
||||||
|
underlines = [i for i, ltr in enumerate(args) if ltr == "_"]
|
||||||
|
reverses = [i for i, ltr in enumerate(args) if ltr == "|"]
|
||||||
|
|
||||||
|
if len(bolds) != 0:
|
||||||
|
for i, v in enumerate(bolds):
|
||||||
|
if i%2 == 0:
|
||||||
|
args = args[:v] + format.BOLD + args[v+1:]
|
||||||
|
else:
|
||||||
|
args = args[:v] + format.END + args[v+1:]
|
||||||
|
|
||||||
|
if len(italics) != 0:
|
||||||
|
for i, v in enumerate(italics):
|
||||||
|
if i%2 == 0:
|
||||||
|
args = args[:v] + format.ITALIC + args[v+1:]
|
||||||
|
else:
|
||||||
|
args = args[:v] + format.END + args[v+1:]
|
||||||
|
|
||||||
|
if len(underlines) != 0:
|
||||||
|
for i, v in enumerate(underlines):
|
||||||
|
if i%2 == 0:
|
||||||
|
args = args[:v] + format.UNDERLINE + args[v+1:]
|
||||||
|
else:
|
||||||
|
args = args[:v] + format.END + args[v+1:]
|
||||||
|
|
||||||
|
if len(reverses) != 0:
|
||||||
|
for i, v in enumerate(reverses):
|
||||||
|
if i%2 == 0:
|
||||||
|
args = args[:v] + format.REVERSE + args[v+1:]
|
||||||
|
else:
|
||||||
|
args = args[:v] + format.END + args[v+1:]
|
||||||
|
|
||||||
|
send(buf, args)
|
||||||
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
|
|
||||||
|
if import_ok and __name__ == "__main__":
|
||||||
|
weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION,
|
||||||
|
SCRIPT_LICENSE, SCRIPT_DESC, '', '')
|
||||||
|
weechat.hook_command("aformat", "Alternate way of text formatting, useful for relays without text formatting features (Glowingbear, WeechatAndroid, etc)",
|
||||||
|
"text <*/_|> text <*/_|> more text",
|
||||||
|
" *: bold text\n"
|
||||||
|
" /: italic text\n"
|
||||||
|
" _: underlined text\n"
|
||||||
|
" |: reversed (black on white) text\n\n"
|
||||||
|
" eg.: typing: /aformat This /must/ be the *work* of an _enemy_ |stand|\n"
|
||||||
|
" will output: This {0}must{4} be the {1}work{4} of an {2}enemy{4} {3}stand{4}".format(weechat.color("italic"), weechat.color("bold"), weechat.color("underline"), weechat.color("reverse"), weechat.color("reset")),
|
||||||
|
"", "cb_aformat_cmd", "")
|
|
@ -0,0 +1 @@
|
||||||
|
../aformat.py
|
|
@ -0,0 +1 @@
|
||||||
|
../bitlbee_completion.py
|
|
@ -0,0 +1 @@
|
||||||
|
../fzf.py
|
|
@ -0,0 +1 @@
|
||||||
|
../listbuffer.py
|
|
@ -0,0 +1 @@
|
||||||
|
../wee_slack.py
|
|
@ -25,8 +25,6 @@
|
||||||
|
|
||||||
#
|
#
|
||||||
# Changelog:
|
# Changelog:
|
||||||
# 3.10:
|
|
||||||
# * Fix exception in `/autosort helpers swap`.
|
|
||||||
# 3.9:
|
# 3.9:
|
||||||
# * Remove `buffers.pl` from recommended settings.
|
# * Remove `buffers.pl` from recommended settings.
|
||||||
# 3,8:
|
# 3,8:
|
||||||
|
@ -89,7 +87,7 @@ import weechat
|
||||||
|
|
||||||
SCRIPT_NAME = 'autosort'
|
SCRIPT_NAME = 'autosort'
|
||||||
SCRIPT_AUTHOR = 'Maarten de Vries <maarten@de-vri.es>'
|
SCRIPT_AUTHOR = 'Maarten de Vries <maarten@de-vri.es>'
|
||||||
SCRIPT_VERSION = '3.10'
|
SCRIPT_VERSION = '3.9'
|
||||||
SCRIPT_LICENSE = 'GPL3'
|
SCRIPT_LICENSE = 'GPL3'
|
||||||
SCRIPT_DESC = 'Flexible automatic (or manual) buffer sorting based on eval expressions.'
|
SCRIPT_DESC = 'Flexible automatic (or manual) buffer sorting based on eval expressions.'
|
||||||
|
|
||||||
|
@ -618,6 +616,7 @@ def command_helper_swap(buffer, command, args):
|
||||||
except KeyError as e:
|
except KeyError as e:
|
||||||
raise HumanReadableError('No such helper: {0}'.format(e.args[0]))
|
raise HumanReadableError('No such helper: {0}'.format(e.args[0]))
|
||||||
|
|
||||||
|
config.helpers.swap(index_a, index_b)
|
||||||
config.save_helpers()
|
config.save_helpers()
|
||||||
command_helper_list(buffer, command, '')
|
command_helper_list(buffer, command, '')
|
||||||
return weechat.WEECHAT_RC_OK
|
return weechat.WEECHAT_RC_OK
|
||||||
|
@ -830,7 +829,7 @@ def on_autosort_command(data, buffer, args):
|
||||||
|
|
||||||
def add_completions(completion, words):
|
def add_completions(completion, words):
|
||||||
for word in words:
|
for word in words:
|
||||||
weechat.completion_list_add(completion, word, 0, weechat.WEECHAT_LIST_POS_END)
|
weechat.hook_completion_list_add(completion, word, 0, weechat.WEECHAT_LIST_POS_END)
|
||||||
|
|
||||||
def autosort_complete_rules(words, completion):
|
def autosort_complete_rules(words, completion):
|
||||||
if len(words) == 0:
|
if len(words) == 0:
|
||||||
|
|
|
@ -0,0 +1,114 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Add tab completion to bitlbee commands
|
||||||
|
# based on http://scripts.irssi.org/scripts/bitlbee_tab_completion.pl
|
||||||
|
#
|
||||||
|
# History:
|
||||||
|
#
|
||||||
|
# 2015-11-02, Mickaël Thomas <mickael9@gmail.com>:
|
||||||
|
# version 0.2: strip color attributes for topic detection
|
||||||
|
# 2015-03-22, Roger Duran <rogerduran@gmail.com>:
|
||||||
|
# version 0.1: initial version
|
||||||
|
|
||||||
|
import weechat
|
||||||
|
|
||||||
|
SCRIPT_NAME = "bitlbee_completion"
|
||||||
|
SCRIPT_AUTHOR = "Roger Duran <rogerduran@gmail.com>"
|
||||||
|
SCRIPT_VERSION = "0.2"
|
||||||
|
SCRIPT_LICENSE = "GPL3"
|
||||||
|
SCRIPT_DESC = "Add tab completion to bitlbee commands"
|
||||||
|
|
||||||
|
OPTS = {
|
||||||
|
"server": None,
|
||||||
|
"channel": None
|
||||||
|
}
|
||||||
|
|
||||||
|
TOPIC = "Welcome to the control channel. "\
|
||||||
|
"Type help for help information."
|
||||||
|
|
||||||
|
commands = []
|
||||||
|
|
||||||
|
|
||||||
|
def request_completion():
|
||||||
|
"""
|
||||||
|
Request the completion to the bitlbee server and wait for response
|
||||||
|
"""
|
||||||
|
server = OPTS["server"]
|
||||||
|
weechat.command(server, "/quote -server %s COMPLETIONS" % server)
|
||||||
|
|
||||||
|
|
||||||
|
def modifier_cb(data, modifier, modifier_data, string):
|
||||||
|
"""
|
||||||
|
When the server returns the completion, update the commands list
|
||||||
|
"""
|
||||||
|
|
||||||
|
if ":COMPLETIONS" not in string:
|
||||||
|
return string
|
||||||
|
command = string.split(":COMPLETIONS ")[1]
|
||||||
|
if command not in ("OK", "END"):
|
||||||
|
commands.append(command)
|
||||||
|
return ""
|
||||||
|
|
||||||
|
|
||||||
|
def bitlbee_completion(data, completion_item, buffer, completion):
|
||||||
|
"""
|
||||||
|
Complete bitlbee commands only in the bitlbee buffer
|
||||||
|
"""
|
||||||
|
|
||||||
|
server = OPTS["server"]
|
||||||
|
channel = OPTS["channel"]
|
||||||
|
if not server or not channel:
|
||||||
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
|
buff_name = weechat.buffer_get_string(buffer, "name")
|
||||||
|
if buff_name == "%s.%s" % (server, channel):
|
||||||
|
for command in commands:
|
||||||
|
weechat.hook_completion_list_add(completion, command, 0,
|
||||||
|
weechat.WEECHAT_LIST_POS_SORT)
|
||||||
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
|
|
||||||
|
def find_buffer():
|
||||||
|
"""
|
||||||
|
Find the buffer when the plugin starts
|
||||||
|
"""
|
||||||
|
infolist = weechat.infolist_get("buffer", "", "")
|
||||||
|
while weechat.infolist_next(infolist):
|
||||||
|
topic = weechat.infolist_string(infolist, "title")
|
||||||
|
if weechat.string_remove_color(topic, "") == TOPIC:
|
||||||
|
name = weechat.infolist_string(infolist, "name")
|
||||||
|
set_options(name)
|
||||||
|
request_completion()
|
||||||
|
break
|
||||||
|
weechat.infolist_free(infolist)
|
||||||
|
|
||||||
|
|
||||||
|
def set_options(name):
|
||||||
|
server, channel = name.split(".")
|
||||||
|
OPTS["server"] = server
|
||||||
|
OPTS["channel"] = channel
|
||||||
|
|
||||||
|
|
||||||
|
def print_332(data, buffer, time, tags, displayed, highlight, prefix, message):
|
||||||
|
"""
|
||||||
|
Find the buffer when a new one is open
|
||||||
|
"""
|
||||||
|
if weechat.string_remove_color(message, "") == TOPIC:
|
||||||
|
name = weechat.buffer_get_string(buffer, "name")
|
||||||
|
set_options(name)
|
||||||
|
request_completion()
|
||||||
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
weechat.hook_modifier("irc_in_notice", "modifier_cb", "")
|
||||||
|
weechat.hook_completion("bitlbee", "bitlbee completion",
|
||||||
|
"bitlbee_completion", "")
|
||||||
|
|
||||||
|
weechat.hook_print('', 'irc_332', '', 1, 'print_332', '')
|
||||||
|
weechat.hook_print('', 'irc_topic', '', 1, 'print_332', '')
|
||||||
|
find_buffer()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
if weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION,
|
||||||
|
SCRIPT_LICENSE, SCRIPT_DESC, "", ""):
|
||||||
|
main()
|
|
@ -20,8 +20,6 @@
|
||||||
# (this script requires WeeChat 0.3.0 or newer)
|
# (this script requires WeeChat 0.3.0 or newer)
|
||||||
#
|
#
|
||||||
# History:
|
# History:
|
||||||
# 2024-05-04, Miklos Vajna
|
|
||||||
# version 0.6: Allow autoclosing explicitly listed non-private buffers as well
|
|
||||||
# 2018-04-10, Sébastien Helleu <flashcode@flashtux.org>
|
# 2018-04-10, Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# version 0.5: fix infolist_time for WeeChat >= 2.2 (WeeChat returns a long
|
# version 0.5: fix infolist_time for WeeChat >= 2.2 (WeeChat returns a long
|
||||||
# integer instead of a string)
|
# integer instead of a string)
|
||||||
|
@ -39,7 +37,7 @@ import time
|
||||||
|
|
||||||
SCRIPT_NAME = "buffer_autoclose"
|
SCRIPT_NAME = "buffer_autoclose"
|
||||||
SCRIPT_AUTHOR = "xt <xt@bash.no>"
|
SCRIPT_AUTHOR = "xt <xt@bash.no>"
|
||||||
SCRIPT_VERSION = "0.6"
|
SCRIPT_VERSION = "0.5"
|
||||||
SCRIPT_LICENSE = "GPL3"
|
SCRIPT_LICENSE = "GPL3"
|
||||||
SCRIPT_DESC = "Automatically close inactive private message buffers"
|
SCRIPT_DESC = "Automatically close inactive private message buffers"
|
||||||
|
|
||||||
|
@ -47,7 +45,6 @@ settings = {
|
||||||
'interval': '1', # How often in minutes to check
|
'interval': '1', # How often in minutes to check
|
||||||
'age_limit': '30', # How old in minutes before auto close
|
'age_limit': '30', # How old in minutes before auto close
|
||||||
'ignore': '', # Buffers to ignore (use full name: server.buffer_name)
|
'ignore': '', # Buffers to ignore (use full name: server.buffer_name)
|
||||||
'prefer': '', # Buffers to prefer, even if they are not private (use full name: server.buffer_name)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if w.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, SCRIPT_LICENSE,
|
if w.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, SCRIPT_LICENSE,
|
||||||
|
@ -67,13 +64,8 @@ def get_all_buffers():
|
||||||
'''Returns list with pointers of all open buffers.'''
|
'''Returns list with pointers of all open buffers.'''
|
||||||
buffers = []
|
buffers = []
|
||||||
infolist = w.infolist_get('buffer', '', '')
|
infolist = w.infolist_get('buffer', '', '')
|
||||||
preferlist = w.config_get_plugin('prefer').split(',')
|
|
||||||
while w.infolist_next(infolist):
|
while w.infolist_next(infolist):
|
||||||
buffer_type = w.buffer_get_string(w.infolist_pointer(infolist, 'pointer'), 'localvar_type')
|
buffer_type = w.buffer_get_string(w.infolist_pointer(infolist, 'pointer'), 'localvar_type')
|
||||||
name = w.buffer_get_string(w.infolist_pointer(infolist, 'pointer'), 'name')
|
|
||||||
if name in preferlist:
|
|
||||||
buffers.append(w.infolist_pointer(infolist, 'pointer'))
|
|
||||||
continue
|
|
||||||
if buffer_type == 'private': # we only close private message buffers for now
|
if buffer_type == 'private': # we only close private message buffers for now
|
||||||
buffers.append(w.infolist_pointer(infolist, 'pointer'))
|
buffers.append(w.infolist_pointer(infolist, 'pointer'))
|
||||||
w.infolist_free(infolist)
|
w.infolist_free(infolist)
|
||||||
|
|
|
@ -21,16 +21,6 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# History:
|
# History:
|
||||||
# 2023-10-30: Sébastien Helleu <flashcode@flashtux.org>
|
|
||||||
# version 32: revert to info "nick_color" with WeeChat >= 4.1.1
|
|
||||||
# 2023-10-16: Sébastien Helleu <flashcode@flashtux.org>
|
|
||||||
# version 31: use info "irc_nick_color" on IRC buffers with WeeChat >= 4.1.0
|
|
||||||
# 2022-11-07: mva
|
|
||||||
# version 30: add ":" and "," to VALID_NICK regexp,
|
|
||||||
# to don't reset colorization in input_line
|
|
||||||
# 2022-07-11: ncfavier
|
|
||||||
# version 29: check nick for exclusion *after* stripping
|
|
||||||
# decrease minimum min_nick_length to 1
|
|
||||||
# 2020-11-29: jess
|
# 2020-11-29: jess
|
||||||
# version 28: fix ignore_tags having been broken by weechat 2.9 changes
|
# version 28: fix ignore_tags having been broken by weechat 2.9 changes
|
||||||
# 2020-05-09: Sébastien Helleu <flashcode@flashtux.org>
|
# 2020-05-09: Sébastien Helleu <flashcode@flashtux.org>
|
||||||
|
@ -100,13 +90,13 @@ w = weechat
|
||||||
|
|
||||||
SCRIPT_NAME = "colorize_nicks"
|
SCRIPT_NAME = "colorize_nicks"
|
||||||
SCRIPT_AUTHOR = "xt <xt@bash.no>"
|
SCRIPT_AUTHOR = "xt <xt@bash.no>"
|
||||||
SCRIPT_VERSION = "32"
|
SCRIPT_VERSION = "28"
|
||||||
SCRIPT_LICENSE = "GPL"
|
SCRIPT_LICENSE = "GPL"
|
||||||
SCRIPT_DESC = "Use the weechat nick colors in the chat area"
|
SCRIPT_DESC = "Use the weechat nick colors in the chat area"
|
||||||
|
|
||||||
# Based on the recommendations in RFC 7613. A valid nick is composed
|
# Based on the recommendations in RFC 7613. A valid nick is composed
|
||||||
# of anything but " ,*?.!@".
|
# of anything but " ,*?.!@".
|
||||||
VALID_NICK = r'([@~&!%+-])?([^\s,\*?\.!@:,]+)'
|
VALID_NICK = r'([@~&!%+-])?([^\s,\*?\.!@]+)'
|
||||||
valid_nick_re = re.compile(VALID_NICK)
|
valid_nick_re = re.compile(VALID_NICK)
|
||||||
ignore_channels = []
|
ignore_channels = []
|
||||||
ignore_nicks = []
|
ignore_nicks = []
|
||||||
|
@ -148,7 +138,7 @@ def colorize_config_init():
|
||||||
colorize_config_option["min_nick_length"] = weechat.config_new_option(
|
colorize_config_option["min_nick_length"] = weechat.config_new_option(
|
||||||
colorize_config_file, section_look, "min_nick_length",
|
colorize_config_file, section_look, "min_nick_length",
|
||||||
"integer", "Minimum length nick to colorize", "",
|
"integer", "Minimum length nick to colorize", "",
|
||||||
1, 20, "2", "2", 0, "", "", "", "", "", "")
|
2, 20, "", "", 0, "", "", "", "", "", "")
|
||||||
colorize_config_option["colorize_input"] = weechat.config_new_option(
|
colorize_config_option["colorize_input"] = weechat.config_new_option(
|
||||||
colorize_config_file, section_look, "colorize_input",
|
colorize_config_file, section_look, "colorize_input",
|
||||||
"boolean", "Whether to colorize input", "", 0,
|
"boolean", "Whether to colorize input", "", 0,
|
||||||
|
@ -175,16 +165,12 @@ def colorize_config_read():
|
||||||
global colorize_config_file
|
global colorize_config_file
|
||||||
return weechat.config_read(colorize_config_file)
|
return weechat.config_read(colorize_config_file)
|
||||||
|
|
||||||
def colorize_nick_color(buffer, nick, my_nick):
|
def colorize_nick_color(nick, my_nick):
|
||||||
''' Retrieve nick color from weechat. '''
|
''' Retrieve nick color from weechat. '''
|
||||||
if nick == my_nick:
|
if nick == my_nick:
|
||||||
return w.color(w.config_string(w.config_get('weechat.color.chat_nick_self')))
|
return w.color(w.config_string(w.config_get('weechat.color.chat_nick_self')))
|
||||||
else:
|
else:
|
||||||
version = int(w.info_get('version_number', '') or 0)
|
return w.info_get('irc_nick_color', nick)
|
||||||
if w.buffer_get_string(buffer, 'plugin') == 'irc' and version == 0x4010000:
|
|
||||||
server = w.buffer_get_string(buffer, 'localvar_server')
|
|
||||||
return w.info_get('irc_nick_color', '%s,%s' % (server, nick))
|
|
||||||
return w.info_get('nick_color', nick)
|
|
||||||
|
|
||||||
def colorize_cb(data, modifier, modifier_data, line):
|
def colorize_cb(data, modifier, modifier_data, line):
|
||||||
''' Callback that does the colorizing, and returns new line if changed '''
|
''' Callback that does the colorizing, and returns new line if changed '''
|
||||||
|
@ -220,6 +206,9 @@ def colorize_cb(data, modifier, modifier_data, line):
|
||||||
|
|
||||||
for words in valid_nick_re.findall(line):
|
for words in valid_nick_re.findall(line):
|
||||||
nick = words[1]
|
nick = words[1]
|
||||||
|
# Check that nick is not ignored and longer than minimum length
|
||||||
|
if len(nick) < min_length or nick in ignore_nicks:
|
||||||
|
continue
|
||||||
|
|
||||||
# If the matched word is not a known nick, we try to match the
|
# If the matched word is not a known nick, we try to match the
|
||||||
# word without its first or last character (if not a letter).
|
# word without its first or last character (if not a letter).
|
||||||
|
@ -236,10 +225,6 @@ def colorize_cb(data, modifier, modifier_data, line):
|
||||||
if nick[:-1] in colored_nicks[buffer]:
|
if nick[:-1] in colored_nicks[buffer]:
|
||||||
nick = nick[:-1]
|
nick = nick[:-1]
|
||||||
|
|
||||||
# Check that nick is not ignored and longer than minimum length
|
|
||||||
if len(nick) < min_length or nick in ignore_nicks:
|
|
||||||
continue
|
|
||||||
|
|
||||||
# Check that nick is in the dictionary colored_nicks
|
# Check that nick is in the dictionary colored_nicks
|
||||||
if nick in colored_nicks[buffer]:
|
if nick in colored_nicks[buffer]:
|
||||||
nick_color = colored_nicks[buffer][nick]
|
nick_color = colored_nicks[buffer][nick]
|
||||||
|
@ -351,7 +336,7 @@ def populate_nicks(*args):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
nick = w.infolist_string(nicklist, 'name')
|
nick = w.infolist_string(nicklist, 'name')
|
||||||
nick_color = colorize_nick_color(buffer_ptr, nick, my_nick)
|
nick_color = colorize_nick_color(nick, my_nick)
|
||||||
|
|
||||||
colored_nicks[buffer_ptr][nick] = nick_color
|
colored_nicks[buffer_ptr][nick] = nick_color
|
||||||
|
|
||||||
|
@ -373,7 +358,7 @@ def add_nick(data, signal, type_data):
|
||||||
colored_nicks[pointer] = {}
|
colored_nicks[pointer] = {}
|
||||||
|
|
||||||
my_nick = w.buffer_get_string(pointer, 'localvar_nick')
|
my_nick = w.buffer_get_string(pointer, 'localvar_nick')
|
||||||
nick_color = colorize_nick_color(pointer, nick, my_nick)
|
nick_color = colorize_nick_color(nick, my_nick)
|
||||||
|
|
||||||
colored_nicks[pointer][nick] = nick_color
|
colored_nicks[pointer][nick] = nick_color
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2009-2023 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2009-2014 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# Copyright (C) 2010 m4v <lambdae2@gmail.com>
|
# Copyright (C) 2010 m4v <lambdae2@gmail.com>
|
||||||
# Copyright (C) 2011 stfn <stfnmd@googlemail.com>
|
# Copyright (C) 2011 stfn <stfnmd@googlemail.com>
|
||||||
#
|
#
|
||||||
|
@ -21,15 +21,6 @@
|
||||||
#
|
#
|
||||||
# History:
|
# History:
|
||||||
#
|
#
|
||||||
# 2024-05-30, Sébastien Helleu <flashcode@flashtux.org>:
|
|
||||||
# version 3.0.1: refresh buffer input at the end of search
|
|
||||||
# 2024-05-30, Sébastien Helleu <flashcode@flashtux.org>:
|
|
||||||
# version 3.0: refresh immediately buffer input when /go command is executed
|
|
||||||
# (needed for WeeChat >= 4.3.0)
|
|
||||||
# 2023-06-21, Sébastien Helleu <flashcode@flashtux.org>:
|
|
||||||
# version 2.9: add option "min_chars"
|
|
||||||
# 2023-01-08, Sébastien Helleu <flashcode@flashtux.org>:
|
|
||||||
# version 2.8: send buffer pointer with signal "input_text_changed"
|
|
||||||
# 2021-05-25, Tomáš Janoušek <tomi@nomi.cz>:
|
# 2021-05-25, Tomáš Janoušek <tomi@nomi.cz>:
|
||||||
# version 2.7: add new option to prefix short names with server names
|
# version 2.7: add new option to prefix short names with server names
|
||||||
# 2019-07-11, Simmo Saan <simmo.saan@gmail.com>
|
# 2019-07-11, Simmo Saan <simmo.saan@gmail.com>
|
||||||
|
@ -105,7 +96,7 @@ from __future__ import print_function
|
||||||
|
|
||||||
SCRIPT_NAME = 'go'
|
SCRIPT_NAME = 'go'
|
||||||
SCRIPT_AUTHOR = 'Sébastien Helleu <flashcode@flashtux.org>'
|
SCRIPT_AUTHOR = 'Sébastien Helleu <flashcode@flashtux.org>'
|
||||||
SCRIPT_VERSION = '3.0.1'
|
SCRIPT_VERSION = '2.7'
|
||||||
SCRIPT_LICENSE = 'GPL3'
|
SCRIPT_LICENSE = 'GPL3'
|
||||||
SCRIPT_DESC = 'Quick jump to buffers'
|
SCRIPT_DESC = 'Quick jump to buffers'
|
||||||
|
|
||||||
|
@ -117,19 +108,13 @@ try:
|
||||||
import weechat
|
import weechat
|
||||||
except ImportError:
|
except ImportError:
|
||||||
print('This script must be run under WeeChat.')
|
print('This script must be run under WeeChat.')
|
||||||
print('Get WeeChat now at: https://weechat.org/')
|
print('Get WeeChat now at: http://www.weechat.org/')
|
||||||
IMPORT_OK = False
|
IMPORT_OK = False
|
||||||
|
|
||||||
import re
|
import re
|
||||||
|
|
||||||
# script options
|
# script options
|
||||||
SETTINGS = {
|
SETTINGS = {
|
||||||
'auto_jump': (
|
|
||||||
'off',
|
|
||||||
'automatically jump to buffer when it is uniquely selected'),
|
|
||||||
'buffer_number': (
|
|
||||||
'on',
|
|
||||||
'display buffer number'),
|
|
||||||
'color_number': (
|
'color_number': (
|
||||||
'yellow,magenta',
|
'yellow,magenta',
|
||||||
'color for buffer number (not selected)'),
|
'color for buffer number (not selected)'),
|
||||||
|
@ -148,15 +133,9 @@ SETTINGS = {
|
||||||
'color_name_highlight_selected': (
|
'color_name_highlight_selected': (
|
||||||
'red,brown',
|
'red,brown',
|
||||||
'color for highlight in a selected buffer name'),
|
'color for highlight in a selected buffer name'),
|
||||||
'fuzzy_search': (
|
|
||||||
'off',
|
|
||||||
'search buffer matches using approximation'),
|
|
||||||
'message': (
|
'message': (
|
||||||
'Go to: ',
|
'Go to: ',
|
||||||
'message to display before list of buffers'),
|
'message to display before list of buffers'),
|
||||||
'min_chars': (
|
|
||||||
'0',
|
|
||||||
'Minimum chars to search and display list of matching buffers'),
|
|
||||||
'short_name': (
|
'short_name': (
|
||||||
'off',
|
'off',
|
||||||
'display and search in short names instead of buffer name'),
|
'display and search in short names instead of buffer name'),
|
||||||
|
@ -175,6 +154,15 @@ SETTINGS = {
|
||||||
'use_core_instead_weechat': (
|
'use_core_instead_weechat': (
|
||||||
'off',
|
'off',
|
||||||
'use name "core" instead of "weechat" for core buffer'),
|
'use name "core" instead of "weechat" for core buffer'),
|
||||||
|
'auto_jump': (
|
||||||
|
'off',
|
||||||
|
'automatically jump to buffer when it is uniquely selected'),
|
||||||
|
'fuzzy_search': (
|
||||||
|
'off',
|
||||||
|
'search buffer matches using approximation'),
|
||||||
|
'buffer_number': (
|
||||||
|
'on',
|
||||||
|
'display buffer number'),
|
||||||
}
|
}
|
||||||
|
|
||||||
# hooks management
|
# hooks management
|
||||||
|
@ -220,7 +208,6 @@ def go_unhook_all():
|
||||||
go_unhook_one('modifier')
|
go_unhook_one('modifier')
|
||||||
for hook in HOOK_COMMAND_RUN:
|
for hook in HOOK_COMMAND_RUN:
|
||||||
go_unhook_one(hook)
|
go_unhook_one(hook)
|
||||||
weechat.bar_item_update('input_text')
|
|
||||||
|
|
||||||
|
|
||||||
def go_hook_all():
|
def go_hook_all():
|
||||||
|
@ -240,7 +227,6 @@ def go_hook_all():
|
||||||
if 'modifier' not in hooks:
|
if 'modifier' not in hooks:
|
||||||
hooks['modifier'] = weechat.hook_modifier(
|
hooks['modifier'] = weechat.hook_modifier(
|
||||||
'input_text_display_with_cursor', 'go_input_modifier', '')
|
'input_text_display_with_cursor', 'go_input_modifier', '')
|
||||||
weechat.bar_item_update('input_text')
|
|
||||||
|
|
||||||
|
|
||||||
def go_start(buf):
|
def go_start(buf):
|
||||||
|
@ -424,11 +410,6 @@ def go_matching_buffers(strinput):
|
||||||
|
|
||||||
def go_buffers_to_string(listbuf, pos, strinput):
|
def go_buffers_to_string(listbuf, pos, strinput):
|
||||||
"""Return string built with list of buffers found (matching user input)."""
|
"""Return string built with list of buffers found (matching user input)."""
|
||||||
try:
|
|
||||||
if len(strinput) < int(weechat.config_get_plugin('min_chars')):
|
|
||||||
return ''
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
string = ''
|
string = ''
|
||||||
strinput = strinput.lower()
|
strinput = strinput.lower()
|
||||||
for i in range(len(listbuf)):
|
for i in range(len(listbuf)):
|
||||||
|
@ -519,7 +500,7 @@ def go_command_run_input(data, buf, command):
|
||||||
if buffers_pos >= len(buffers):
|
if buffers_pos >= len(buffers):
|
||||||
buffers_pos = 0
|
buffers_pos = 0
|
||||||
weechat.hook_signal_send('input_text_changed',
|
weechat.hook_signal_send('input_text_changed',
|
||||||
weechat.WEECHAT_HOOK_SIGNAL_POINTER, buf)
|
weechat.WEECHAT_HOOK_SIGNAL_STRING, '')
|
||||||
return weechat.WEECHAT_RC_OK_EAT
|
return weechat.WEECHAT_RC_OK_EAT
|
||||||
elif command == '/input complete_previous':
|
elif command == '/input complete_previous':
|
||||||
# choose previous buffer in list
|
# choose previous buffer in list
|
||||||
|
@ -527,7 +508,7 @@ def go_command_run_input(data, buf, command):
|
||||||
if buffers_pos < 0:
|
if buffers_pos < 0:
|
||||||
buffers_pos = len(buffers) - 1
|
buffers_pos = len(buffers) - 1
|
||||||
weechat.hook_signal_send('input_text_changed',
|
weechat.hook_signal_send('input_text_changed',
|
||||||
weechat.WEECHAT_HOOK_SIGNAL_POINTER, buf)
|
weechat.WEECHAT_HOOK_SIGNAL_STRING, '')
|
||||||
return weechat.WEECHAT_RC_OK_EAT
|
return weechat.WEECHAT_RC_OK_EAT
|
||||||
elif command == '/input return':
|
elif command == '/input return':
|
||||||
# switch to selected buffer (if any)
|
# switch to selected buffer (if any)
|
||||||
|
|
|
@ -69,9 +69,6 @@
|
||||||
#
|
#
|
||||||
# History:
|
# History:
|
||||||
#
|
#
|
||||||
# 2022-11-11, anonymous2ch
|
|
||||||
# version 0.8.6: ignore utf-8 decoding errors
|
|
||||||
#
|
|
||||||
# 2021-05-02, Sébastien Helleu <flashcode@flashtux.org>
|
# 2021-05-02, Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# version 0.8.5: add compatibility with WeeChat >= 3.2 (XDG directories)
|
# version 0.8.5: add compatibility with WeeChat >= 3.2 (XDG directories)
|
||||||
#
|
#
|
||||||
|
@ -242,7 +239,7 @@ except ImportError:
|
||||||
|
|
||||||
SCRIPT_NAME = "grep"
|
SCRIPT_NAME = "grep"
|
||||||
SCRIPT_AUTHOR = "Elián Hanisch <lambdae2@gmail.com>"
|
SCRIPT_AUTHOR = "Elián Hanisch <lambdae2@gmail.com>"
|
||||||
SCRIPT_VERSION = "0.8.6"
|
SCRIPT_VERSION = "0.8.5"
|
||||||
SCRIPT_LICENSE = "GPL3"
|
SCRIPT_LICENSE = "GPL3"
|
||||||
SCRIPT_DESC = "Search in buffers and logs"
|
SCRIPT_DESC = "Search in buffers and logs"
|
||||||
SCRIPT_COMMAND = "grep"
|
SCRIPT_COMMAND = "grep"
|
||||||
|
@ -741,7 +738,7 @@ def grep_file(file, head, tail, after_context, before_context, count, regexp, hi
|
||||||
check = lambda s: check_string(s, regexp, hilight, exact)
|
check = lambda s: check_string(s, regexp, hilight, exact)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
file_object = open(file, 'r', errors='ignore')
|
file_object = open(file, 'r')
|
||||||
except IOError:
|
except IOError:
|
||||||
# file doesn't exist
|
# file doesn't exist
|
||||||
return lines
|
return lines
|
||||||
|
|
|
@ -0,0 +1,474 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# ListBuffer, version 0.8.1 for WeeChat version 0.3
|
||||||
|
# Latest development version: https://github.com/FiXato/listbuffer
|
||||||
|
#
|
||||||
|
# Show /list results in a common buffer and interact with them.
|
||||||
|
#
|
||||||
|
# This script allows you to easily join channels from the /list output.
|
||||||
|
# It will open a common buffer for the /list result, through which you
|
||||||
|
# browse with your cursor keys, and join with the meta-enter keys.
|
||||||
|
# Adjust sorting with meta->, meta-< and meta-/ keybindings.
|
||||||
|
#
|
||||||
|
## History:
|
||||||
|
### 2011-09-08: FiXato:
|
||||||
|
#
|
||||||
|
# * version 0.1: initial release.
|
||||||
|
# * added a common buffer for /list results
|
||||||
|
# * added highlighting for currently selected line
|
||||||
|
# * added /join support via enter key
|
||||||
|
# * added scroll_top and scroll_bottom support
|
||||||
|
#
|
||||||
|
# * version 0.2: /list format bugfix
|
||||||
|
# * added support for /list results without modes
|
||||||
|
# * some servers don't send 321 (/list start). Taken into account.
|
||||||
|
#
|
||||||
|
# * version 0.3: Sorting support
|
||||||
|
# * Added some basic sorting support. Scroll through sort options
|
||||||
|
# with meta-> and meta-< (users, channel, topic, modes)
|
||||||
|
#
|
||||||
|
### 2011-09-19: FiXato
|
||||||
|
#
|
||||||
|
# * version 0.4:
|
||||||
|
# * Case-insensitive buffer lookup fix.
|
||||||
|
# * Removed default enter keybind
|
||||||
|
#
|
||||||
|
### 2011-12-28: troydm:
|
||||||
|
#
|
||||||
|
# * version 0.5: It's an upside-down-world
|
||||||
|
# * Added inverted sorting support provided by Dmitry "troydm" Geurkov
|
||||||
|
# Use meta-/ to switch between inverted and regular sorting.
|
||||||
|
#
|
||||||
|
### 2012-02-10: FiXato:
|
||||||
|
#
|
||||||
|
# * version 0.6: Stop shoving that buffer in my face!
|
||||||
|
# * The listbuffer should no longer pop up by itself when you load the script.
|
||||||
|
# It should only pop up now when you actually do a /list query.
|
||||||
|
#
|
||||||
|
# * version 0.7: .. but please pop it up in my current window when I ask for it
|
||||||
|
# * Added setting plugins.var.python.listbuffer.autofocus
|
||||||
|
# This will autofocus the listbuffer in the current window if another window isn't
|
||||||
|
# already showing it, and of course only when the user issues /list
|
||||||
|
#
|
||||||
|
### 2012-07-10: FiXato:
|
||||||
|
#
|
||||||
|
# * version 0.7.1: Forgetful bugfix
|
||||||
|
# * Made sure lb_curline global variable is defined
|
||||||
|
#
|
||||||
|
### 2013-03-19: FiXato:
|
||||||
|
#
|
||||||
|
# * version 0.8: Sorted out the sorting
|
||||||
|
# * Added automatically updating options for sorting:
|
||||||
|
# * plugins.var.python.listbuffer.sort_inverted
|
||||||
|
# * plugins.var.python.listbuffer.sort_order
|
||||||
|
# * version 0.8.1: Pad it baby!
|
||||||
|
# * Channel modes are equally padded even when there are no channel modes.
|
||||||
|
# * Added padding options:
|
||||||
|
# * plugins.var.python.listbuffer.modes_min_width
|
||||||
|
# * plugins.var.python.listbuffer.channel_min_width
|
||||||
|
# * plugins.var.python.listbuffer.users_min_width
|
||||||
|
#
|
||||||
|
### 2019-07-05: Sébastien Helleu:
|
||||||
|
#
|
||||||
|
# * version 0.8.2: Make script compatible with Python 3.
|
||||||
|
#
|
||||||
|
## Acknowledgements:
|
||||||
|
# * Dmitry "troydm" Geurkov, for providing the inverse-sorting patch to the project.
|
||||||
|
# * Sebastien "Flashcode" Helleu, for developing the kick-ass IRC client WeeChat
|
||||||
|
# and the iset.pl script which inspired me to this script.
|
||||||
|
# * Nils "nils_2" Görs, for his contributions to iset.pl which served as
|
||||||
|
# example code.
|
||||||
|
# * David "drubin" Rubin, for his urlgrab.py script, which also served
|
||||||
|
# as example code.
|
||||||
|
# * ArZa, whose listsort.pl script helped me getting started with
|
||||||
|
# grabbing the /list results. Parts of his code have been shamelessly
|
||||||
|
# copied and ported to Python.
|
||||||
|
# * Khaled Mardam-Bey, for making me yearn for similar /list support in
|
||||||
|
# WeeChat as mIRC already offered. :P
|
||||||
|
# * mave_, for pointing out that sort orders weren't remembered.
|
||||||
|
#
|
||||||
|
## TODO:
|
||||||
|
# - Auto-scroll selected line upon window scroll.
|
||||||
|
# - Add option to hide already joined channels.
|
||||||
|
# - Improve sorting methods
|
||||||
|
# - Add auto-join support
|
||||||
|
# - Detect if channel is already in auto-join
|
||||||
|
# - Allow automatically switching to the listbuffer
|
||||||
|
# - Add support for ALIS (/squery alis LIST * -mix 100 (IRCNet)
|
||||||
|
# - Make colours configurable
|
||||||
|
# - Limit number of channels to parse
|
||||||
|
# - Add filter support a la iset
|
||||||
|
# - Allow selecting multiple channels
|
||||||
|
# - Add optional command redirection.
|
||||||
|
#
|
||||||
|
## Copyright (c) 2011,2012,2013 Filip H.F. "FiXato" Slagter,
|
||||||
|
# <FiXato [at] Gmail [dot] com>
|
||||||
|
# http://profile.fixato.org
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
# NON-INFRINGEMENT. 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
from __future__ import print_function
|
||||||
|
|
||||||
|
SCRIPT_NAME = "listbuffer"
|
||||||
|
SCRIPT_AUTHOR = "Filip H.F. 'FiXato' Slagter <fixato [at] gmail [dot] com>"
|
||||||
|
SCRIPT_VERSION = "0.8.2"
|
||||||
|
SCRIPT_LICENSE = "MIT"
|
||||||
|
SCRIPT_DESC = "A common buffer for /list output."
|
||||||
|
SCRIPT_COMMAND = "listbuffer"
|
||||||
|
|
||||||
|
import_ok = True
|
||||||
|
|
||||||
|
try:
|
||||||
|
import weechat
|
||||||
|
except ImportError:
|
||||||
|
print("This script must be run under WeeChat.")
|
||||||
|
import_ok = False
|
||||||
|
|
||||||
|
import re
|
||||||
|
|
||||||
|
lb_settings = (
|
||||||
|
("autofocus", "on", "Focus the listbuffer in the current window if it isn't already displayed by a window."),
|
||||||
|
("sort_order", "users", "Last used sort order for the channel list."),
|
||||||
|
("sort_inverted", "on", "Invert the sort order for the channel list."),
|
||||||
|
("modes_min_width", "8", "The minimum width used for modes in the channel list. If a channel has less modes than this amount, the column will be padded with spaces."),
|
||||||
|
("channel_min_width", "25", "The minimum width used for the channel name in the channel list. If a channelname is shorter than this amount, the column will be padded with spaces."),
|
||||||
|
("users_min_width", "8", "The minimum width used for the usercount in the channel list. If the usercount has less digits than this amount, the column will be padded with spaces."),
|
||||||
|
)
|
||||||
|
lb_buffer = None
|
||||||
|
lb_curline = 0
|
||||||
|
lb_channels = []
|
||||||
|
lb_network = None
|
||||||
|
lb_list_started = False
|
||||||
|
lb_current_sort = None
|
||||||
|
lb_sort_inverted = False
|
||||||
|
lb_sort_options = (
|
||||||
|
'channel',
|
||||||
|
'users',
|
||||||
|
'modes',
|
||||||
|
'topic',
|
||||||
|
)
|
||||||
|
|
||||||
|
# server numeric Nick Chan Users Modes Topic
|
||||||
|
lb_channel_list_expression = '(:\S+) (\d{3}) (\S+) (\S+) (\d+) :(\[(.*?)\] )?(.*)'
|
||||||
|
|
||||||
|
# Create listbuffer.
|
||||||
|
def lb_create_buffer():
|
||||||
|
global lb_buffer, lb_curline
|
||||||
|
|
||||||
|
if not lb_buffer:
|
||||||
|
lb_buffer = weechat.buffer_new("listbuffer", "lb_input_cb", \
|
||||||
|
"", "lb_close_cb", "")
|
||||||
|
lb_set_buffer_title()
|
||||||
|
# Sets notify to 0 as this buffer does not need to be in hotlist.
|
||||||
|
weechat.buffer_set(lb_buffer, "notify", "0")
|
||||||
|
weechat.buffer_set(lb_buffer, "nicklist", "0")
|
||||||
|
weechat.buffer_set(lb_buffer, "type", "free")
|
||||||
|
weechat.buffer_set(lb_buffer, "key_bind_ctrl-L", "/listbuffer **refresh")
|
||||||
|
weechat.buffer_set(lb_buffer, "key_bind_meta2-A", "/listbuffer **up")
|
||||||
|
weechat.buffer_set(lb_buffer, "key_bind_meta2-B", "/listbuffer **down")
|
||||||
|
weechat.buffer_set(lb_buffer, "key_bind_meta2-1~", "/listbuffer **scroll_top")
|
||||||
|
weechat.buffer_set(lb_buffer, "key_bind_meta2-4~", "/listbuffer **scroll_bottom")
|
||||||
|
weechat.buffer_set(lb_buffer, "key_bind_meta-ctrl-J", "/listbuffer **enter")
|
||||||
|
weechat.buffer_set(lb_buffer, "key_bind_meta-ctrl-M", "/listbuffer **enter")
|
||||||
|
weechat.buffer_set(lb_buffer, "key_bind_meta->", "/listbuffer **sort_next")
|
||||||
|
weechat.buffer_set(lb_buffer, "key_bind_meta-<", "/listbuffer **sort_previous")
|
||||||
|
weechat.buffer_set(lb_buffer, "key_bind_meta-/", "/listbuffer **sort_invert")
|
||||||
|
lb_curline = 0
|
||||||
|
if weechat.config_get_plugin("autofocus") == "on":
|
||||||
|
if not weechat.window_search_with_buffer(lb_buffer):
|
||||||
|
weechat.command("", "/buffer " + weechat.buffer_get_string(lb_buffer,"name"))
|
||||||
|
|
||||||
|
def lb_set_buffer_title():
|
||||||
|
global lb_buffer, lb_current_sort
|
||||||
|
ascdesc = '(v)' if lb_sort_inverted else '(^)'
|
||||||
|
weechat.buffer_set(lb_buffer, "title", lb_line_format({
|
||||||
|
'channel': 'Channel name%s' % (ascdesc if lb_current_sort == 'channel' else ''),
|
||||||
|
'users': 'Users%s' % (ascdesc if lb_current_sort == 'users' else ''),
|
||||||
|
'modes': 'Modes%s' % (ascdesc if lb_current_sort == 'modes' else ''),
|
||||||
|
'topic': 'Topic%s' % (ascdesc if lb_current_sort == 'topic' else ''),
|
||||||
|
'nomodes': None,
|
||||||
|
}))
|
||||||
|
|
||||||
|
def lb_list_start(data, signal, message):
|
||||||
|
lb_initialise_list
|
||||||
|
|
||||||
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
|
def lb_initialise_list(signal):
|
||||||
|
global lb_channels, lb_network, lb_list_started
|
||||||
|
|
||||||
|
lb_create_buffer()
|
||||||
|
lb_channels = []
|
||||||
|
lb_network = signal.split(',')[0]
|
||||||
|
lb_list_started = True
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
def lb_list_chan(data, signal, message):
|
||||||
|
global lb_channels, lb_buffer, lb_list_started
|
||||||
|
|
||||||
|
# Work-around for IRCds which don't send 321 Numeric (/List start)
|
||||||
|
if not lb_list_started:
|
||||||
|
lb_initialise_list(signal)
|
||||||
|
|
||||||
|
for chan_data in re.findall(lb_channel_list_expression,message):
|
||||||
|
lb_channels.append({
|
||||||
|
'server': chan_data[0][1:-1],
|
||||||
|
'numeric': chan_data[1],
|
||||||
|
'nick': chan_data[2],
|
||||||
|
'channel': chan_data[3],
|
||||||
|
'users': chan_data[4],
|
||||||
|
'nomodes': chan_data[5] == '',
|
||||||
|
'modes': chan_data[6],
|
||||||
|
'topic': weechat.hook_modifier_exec("irc_color_decode", "1", chan_data[7])
|
||||||
|
})
|
||||||
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
|
def lb_list_end(data, signal, message):
|
||||||
|
global lb_list_started
|
||||||
|
|
||||||
|
# Work-around for IRCds which don't send 321 Numeric (/List start)
|
||||||
|
if not lb_list_started:
|
||||||
|
lb_initialise_list(signal)
|
||||||
|
|
||||||
|
lb_list_started = False
|
||||||
|
if lb_current_sort:
|
||||||
|
lb_sort()
|
||||||
|
lb_refresh()
|
||||||
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
|
def keyEvent (data, buffer, args):
|
||||||
|
global lb_options
|
||||||
|
lb_options[args]()
|
||||||
|
|
||||||
|
def lb_input_cb(data, buffer, input_data):
|
||||||
|
global lb_options, lb_curline
|
||||||
|
lb_options[input_data]()
|
||||||
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
|
def lb_refresh():
|
||||||
|
global lb_channels, lb_buffer
|
||||||
|
weechat.buffer_clear(lb_buffer)
|
||||||
|
|
||||||
|
y = 0
|
||||||
|
for list_data in lb_channels:
|
||||||
|
lb_refresh_line(y)
|
||||||
|
y += 1
|
||||||
|
return
|
||||||
|
|
||||||
|
def lb_refresh_line(y):
|
||||||
|
global lb_buffer, lb_curline, lb_channels
|
||||||
|
if y >= 0 and y < len(lb_channels):
|
||||||
|
formatted_line = lb_line_format(lb_channels[y], y == lb_curline)
|
||||||
|
weechat.prnt_y(lb_buffer, y, formatted_line)
|
||||||
|
|
||||||
|
def lb_refresh_curline():
|
||||||
|
global lb_curline
|
||||||
|
lb_refresh_line(lb_curline-1)
|
||||||
|
lb_refresh_line(lb_curline)
|
||||||
|
lb_refresh_line(lb_curline+1)
|
||||||
|
return
|
||||||
|
|
||||||
|
def lb_line_format(list_data,curr=False):
|
||||||
|
str = ""
|
||||||
|
if (curr):
|
||||||
|
str += weechat.color("yellow,red")
|
||||||
|
channel_text = list_data['channel'].ljust(int(weechat.config_get_plugin('channel_min_width')))
|
||||||
|
users_text = "(%s)" % list_data['users']
|
||||||
|
padded_users_text = users_text.rjust(int(weechat.config_get_plugin('users_min_width')) + 2)
|
||||||
|
str += "%s%s %s " % (weechat.color("bold"), channel_text, padded_users_text)
|
||||||
|
if not list_data['nomodes']:
|
||||||
|
modes = "[%s]" % list_data['modes']
|
||||||
|
else:
|
||||||
|
modes = "[]"
|
||||||
|
str += "%s: " % modes.rjust(int(weechat.config_get_plugin('modes_min_width')) + 2)
|
||||||
|
str += "%s" % list_data['topic']
|
||||||
|
return str
|
||||||
|
|
||||||
|
def lb_line_up():
|
||||||
|
global lb_curline
|
||||||
|
if lb_curline <= 0:
|
||||||
|
return
|
||||||
|
lb_curline -= 1
|
||||||
|
lb_refresh_curline()
|
||||||
|
lb_check_outside_window()
|
||||||
|
return
|
||||||
|
|
||||||
|
def lb_line_down():
|
||||||
|
global lb_curline, lb_channels
|
||||||
|
if lb_curline+1 >= len(lb_channels):
|
||||||
|
return
|
||||||
|
lb_curline += 1
|
||||||
|
lb_refresh_curline()
|
||||||
|
lb_check_outside_window()
|
||||||
|
return
|
||||||
|
|
||||||
|
def lb_line_run():
|
||||||
|
global lb_channels, lb_curline, lb_network
|
||||||
|
buff = weechat.info_get("irc_buffer", lb_network)
|
||||||
|
channel = lb_channels[lb_curline]['channel']
|
||||||
|
command = "/join %s" % channel
|
||||||
|
weechat.command(buff, command)
|
||||||
|
return
|
||||||
|
|
||||||
|
def lb_line_select():
|
||||||
|
return
|
||||||
|
|
||||||
|
def lb_scroll_top():
|
||||||
|
global lb_curline
|
||||||
|
old_y = lb_curline
|
||||||
|
lb_curline = 0
|
||||||
|
lb_refresh_curline()
|
||||||
|
lb_refresh_line(old_y)
|
||||||
|
weechat.command(lb_buffer, "/window scroll_top")
|
||||||
|
return
|
||||||
|
|
||||||
|
def lb_scroll_bottom():
|
||||||
|
global lb_curline, lb_channels
|
||||||
|
old_y = lb_curline
|
||||||
|
lb_curline = len(lb_channels)-1
|
||||||
|
lb_refresh_curline()
|
||||||
|
lb_refresh_line(old_y)
|
||||||
|
weechat.command(lb_buffer, "/window scroll_bottom")
|
||||||
|
return
|
||||||
|
|
||||||
|
def lb_check_outside_window():
|
||||||
|
global lb_buffer, lb_curline
|
||||||
|
if (lb_buffer):
|
||||||
|
infolist = weechat.infolist_get("window", "", "current")
|
||||||
|
if (weechat.infolist_next(infolist)):
|
||||||
|
start_line_y = weechat.infolist_integer(infolist, "start_line_y")
|
||||||
|
chat_height = weechat.infolist_integer(infolist, "chat_height")
|
||||||
|
if(start_line_y > lb_curline):
|
||||||
|
weechat.command(lb_buffer, "/window scroll -%i" %(start_line_y - lb_curline))
|
||||||
|
elif(start_line_y <= lb_curline - chat_height):
|
||||||
|
weechat.command(lb_buffer, "/window scroll +%i"%(lb_curline - start_line_y - chat_height + 1))
|
||||||
|
weechat.infolist_free(infolist)
|
||||||
|
|
||||||
|
def lb_sort_next():
|
||||||
|
global lb_current_sort, lb_sort_options
|
||||||
|
if lb_current_sort:
|
||||||
|
new_index = lb_sort_options.index(lb_current_sort) + 1
|
||||||
|
else:
|
||||||
|
new_index = 0
|
||||||
|
|
||||||
|
if len(lb_sort_options) <= new_index:
|
||||||
|
new_index = 0
|
||||||
|
|
||||||
|
lb_set_current_sort_order(lb_sort_options[new_index])
|
||||||
|
lb_sort()
|
||||||
|
|
||||||
|
def lb_set_current_sort_order(value):
|
||||||
|
global lb_current_sort
|
||||||
|
lb_current_sort = value
|
||||||
|
weechat.config_set_plugin('sort_order', lb_current_sort)
|
||||||
|
|
||||||
|
def lb_set_invert_sort_order(value):
|
||||||
|
global lb_sort_inverted
|
||||||
|
lb_sort_inverted = value
|
||||||
|
weechat.config_set_plugin('sort_inverted', ('on' if lb_sort_inverted else 'off'))
|
||||||
|
|
||||||
|
def lb_sort_previous():
|
||||||
|
global lb_current_sort, lb_sort_options
|
||||||
|
if lb_current_sort:
|
||||||
|
new_index = lb_sort_options.index(lb_current_sort) - 1
|
||||||
|
else:
|
||||||
|
new_index = 0
|
||||||
|
|
||||||
|
if new_index < 0:
|
||||||
|
new_index = len(lb_sort_options) - 1
|
||||||
|
|
||||||
|
lb_set_current_sort_order(lb_sort_options[new_index])
|
||||||
|
lb_sort()
|
||||||
|
|
||||||
|
def lb_sort(sort_key=None):
|
||||||
|
global lb_channels, lb_current_sort, lb_sort_inverted
|
||||||
|
if sort_key:
|
||||||
|
lb_set_current_sort_order(sort_key)
|
||||||
|
if lb_current_sort == 'users':
|
||||||
|
lb_channels = sorted(lb_channels, key=lambda chan_data: int(chan_data[lb_current_sort]))
|
||||||
|
else:
|
||||||
|
lb_channels = sorted(lb_channels, key=lambda chan_data: chan_data[lb_current_sort])
|
||||||
|
if lb_sort_inverted:
|
||||||
|
lb_channels.reverse()
|
||||||
|
lb_set_buffer_title()
|
||||||
|
lb_refresh()
|
||||||
|
|
||||||
|
def lb_sort_invert():
|
||||||
|
global lb_current_sort, lb_sort_inverted
|
||||||
|
if lb_current_sort:
|
||||||
|
lb_set_invert_sort_order(not lb_sort_inverted)
|
||||||
|
lb_sort()
|
||||||
|
|
||||||
|
def lb_close_cb(*kwargs):
|
||||||
|
""" A callback for buffer closing. """
|
||||||
|
global lb_buffer
|
||||||
|
|
||||||
|
lb_buffer = None
|
||||||
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
|
lb_options = {
|
||||||
|
'refresh' : lb_refresh,
|
||||||
|
'up' : lb_line_up,
|
||||||
|
'down' : lb_line_down,
|
||||||
|
'enter' : lb_line_run,
|
||||||
|
'space' : lb_line_select,
|
||||||
|
'scroll_top' : lb_scroll_top,
|
||||||
|
'scroll_bottom': lb_scroll_bottom,
|
||||||
|
'sort_next' : lb_sort_next,
|
||||||
|
'sort_previous': lb_sort_previous,
|
||||||
|
'sort_invert': lb_sort_invert
|
||||||
|
}
|
||||||
|
|
||||||
|
def lb_command_main(data, buffer, args):
|
||||||
|
if args[0:2] == "**":
|
||||||
|
keyEvent(data, buffer, args[2:])
|
||||||
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
|
def lb_set_default_settings():
|
||||||
|
global lb_settings
|
||||||
|
# Set default settings
|
||||||
|
for option, default_value, description in lb_settings:
|
||||||
|
if not weechat.config_is_set_plugin(option):
|
||||||
|
weechat.config_set_plugin(option, default_value)
|
||||||
|
version = weechat.info_get("version_number", "") or 0
|
||||||
|
if int(version) >= 0x00030500:
|
||||||
|
weechat.config_set_desc_plugin(option, description)
|
||||||
|
|
||||||
|
def lb_reset_stored_sort_order():
|
||||||
|
global lb_current_sort, lb_sort_inverted
|
||||||
|
lb_current_sort = weechat.config_get_plugin('sort_order')
|
||||||
|
lb_sort_inverted = (True if weechat.config_get_plugin('sort_inverted') == 'on' else False)
|
||||||
|
|
||||||
|
if __name__ == "__main__" and import_ok:
|
||||||
|
if weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION,
|
||||||
|
SCRIPT_LICENSE, SCRIPT_DESC, "lb_close_cb", ""):
|
||||||
|
lb_set_default_settings()
|
||||||
|
lb_reset_stored_sort_order()
|
||||||
|
lb_buffer = weechat.buffer_search("python", "listbuffer")
|
||||||
|
|
||||||
|
weechat.hook_signal("*,irc_in_321", "lb_list_start", "")
|
||||||
|
weechat.hook_signal("*,irc_in_322", "lb_list_chan", "")
|
||||||
|
weechat.hook_signal("*,irc_in_323", "lb_list_end", "")
|
||||||
|
weechat.hook_command(SCRIPT_COMMAND,
|
||||||
|
"List Buffer",
|
||||||
|
"", "", "",
|
||||||
|
"lb_command_main", "")
|
|
@ -6,24 +6,20 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
config_version = 2
|
|
||||||
|
|
||||||
[look]
|
[look]
|
||||||
auto_open_buffer = "on"
|
auto_open_buffer = on
|
||||||
display_clients = "irc,weechat"
|
|
||||||
raw_messages = 256
|
raw_messages = 256
|
||||||
raw_messages_max_length = 4096
|
|
||||||
|
|
||||||
[color]
|
[color]
|
||||||
client = cyan
|
client = cyan
|
||||||
status_active = green
|
status_active = lightblue
|
||||||
status_auth_failed = lightmagenta
|
status_auth_failed = lightred
|
||||||
status_authenticating = yellow
|
status_connecting = 130
|
||||||
status_connecting = white
|
|
||||||
status_disconnected = lightred
|
status_disconnected = lightred
|
||||||
|
status_waiting_auth = brown
|
||||||
text = default
|
text = default
|
||||||
text_bg = default
|
text_bg = default
|
||||||
text_selected = white
|
text_selected = white
|
||||||
|
@ -34,7 +30,6 @@ allowed_ips = ""
|
||||||
auth_timeout = 60
|
auth_timeout = 60
|
||||||
bind_address = ""
|
bind_address = ""
|
||||||
clients_purge_delay = 0
|
clients_purge_delay = 0
|
||||||
commands = "*,!quit"
|
|
||||||
compression = 20
|
compression = 20
|
||||||
ipv6 = on
|
ipv6 = on
|
||||||
max_clients = 5
|
max_clients = 5
|
||||||
|
@ -42,30 +37,24 @@ nonce_size = 16
|
||||||
password = "${sec.data.relaypass}"
|
password = "${sec.data.relaypass}"
|
||||||
password_hash_algo = "*"
|
password_hash_algo = "*"
|
||||||
password_hash_iterations = 100000
|
password_hash_iterations = 100000
|
||||||
time_window = 5
|
ssl_cert_key = "%h/ssl/relay.pem"
|
||||||
tls_cert_key = "%h/ssl/relay.pem"
|
ssl_priorities = "NORMAL:-VERS-SSL3.0"
|
||||||
tls_priorities = "NORMAL:-VERS-SSL3.0"
|
|
||||||
totp_secret = ""
|
totp_secret = ""
|
||||||
totp_window = 0
|
totp_window = 0
|
||||||
websocket_allowed_origins = ""
|
websocket_allowed_origins = ""
|
||||||
websocket_permessage_deflate = on
|
|
||||||
|
|
||||||
[irc]
|
[irc]
|
||||||
backlog_max_minutes = 0
|
backlog_max_minutes = 525600
|
||||||
backlog_max_number = 1024
|
backlog_max_number = 256
|
||||||
backlog_since_last_disconnect = on
|
backlog_since_last_disconnect = on
|
||||||
backlog_since_last_message = off
|
backlog_since_last_message = off
|
||||||
backlog_tags = "irc_privmsg"
|
backlog_tags = "irc_privmsg"
|
||||||
backlog_time_format = "[%H:%M] "
|
backlog_time_format = "[%H:%M] "
|
||||||
|
|
||||||
[api]
|
[weechat]
|
||||||
remote_autoreconnect_delay_growing = 2
|
commands = ""
|
||||||
remote_autoreconnect_delay_max = 600
|
|
||||||
remote_get_lines = 1000
|
|
||||||
|
|
||||||
[port]
|
[port]
|
||||||
|
|
||||||
[path]
|
[path]
|
||||||
unix.weechat = "%h/relay_socket"
|
unix.weechat = "%h/relay_socket"
|
||||||
|
|
||||||
[remote]
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[look]
|
[look]
|
||||||
|
|
|
@ -6,11 +6,11 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[look]
|
[look]
|
||||||
columns = "%s %n %V %v %u | %d | %t"
|
columns = "%s %n %V %v %u │ %d │ %t"
|
||||||
diff_color = on
|
diff_color = on
|
||||||
diff_command = "auto"
|
diff_command = "auto"
|
||||||
display_source = on
|
display_source = on
|
||||||
|
@ -20,32 +20,32 @@ translate_description = on
|
||||||
use_keys = on
|
use_keys = on
|
||||||
|
|
||||||
[color]
|
[color]
|
||||||
status_autoloaded = 39
|
status_autoloaded = cyan
|
||||||
status_held = white
|
status_held = white
|
||||||
status_installed = lightcyan
|
status_installed = lightcyan
|
||||||
status_obsolete = lightmagenta
|
status_obsolete = lightmagenta
|
||||||
status_popular = yellow
|
status_popular = 130
|
||||||
status_running = lightgreen
|
status_running = lightgreen
|
||||||
status_unknown = lightred
|
status_unknown = lightred
|
||||||
text = default
|
text = default
|
||||||
text_bg = default
|
text_bg = default
|
||||||
text_bg_selected = 24
|
text_bg_selected = 235
|
||||||
text_date = 65
|
text_date = default
|
||||||
text_date_selected = 50
|
text_date_selected = white
|
||||||
text_delimiters = 240
|
text_delimiters = 130
|
||||||
text_description = 249
|
text_description = default
|
||||||
text_description_selected = white
|
text_description_selected = white
|
||||||
text_extension = 242
|
text_extension = default
|
||||||
text_extension_selected = 248
|
text_extension_selected = white
|
||||||
text_name = 73
|
text_name = cyan
|
||||||
text_name_selected = 51
|
text_name_selected = lightcyan
|
||||||
text_selected = white
|
text_selected = white
|
||||||
text_tags = brown
|
text_tags = brown
|
||||||
text_tags_selected = yellow
|
text_tags_selected = 130
|
||||||
text_version = 100
|
text_version = magenta
|
||||||
text_version_loaded = 246
|
text_version_loaded = default
|
||||||
text_version_loaded_selected = white
|
text_version_loaded_selected = white
|
||||||
text_version_selected = 228
|
text_version_selected = lightmagenta
|
||||||
|
|
||||||
[scripts]
|
[scripts]
|
||||||
autoload = on
|
autoload = on
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[color]
|
[color]
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[look]
|
[look]
|
||||||
|
@ -15,13 +15,14 @@ monitor_strip_colors = off
|
||||||
|
|
||||||
[color]
|
[color]
|
||||||
flag_command = lightgreen
|
flag_command = lightgreen
|
||||||
flag_conditions = yellow
|
flag_conditions = 130
|
||||||
flag_post_action = lightblue
|
flag_post_action = lightblue
|
||||||
flag_regex = lightcyan
|
flag_regex = lightcyan
|
||||||
flag_return_code = lightmagenta
|
flag_return_code = lightmagenta
|
||||||
identifier = cyan
|
|
||||||
regex = white
|
regex = white
|
||||||
replace = cyan
|
replace = cyan
|
||||||
|
trigger = green
|
||||||
|
trigger_disabled = red
|
||||||
|
|
||||||
[trigger]
|
[trigger]
|
||||||
beep.arguments = ""
|
beep.arguments = ""
|
||||||
|
@ -38,7 +39,7 @@ cmd_pass.conditions = ""
|
||||||
cmd_pass.enabled = on
|
cmd_pass.enabled = on
|
||||||
cmd_pass.hook = modifier
|
cmd_pass.hook = modifier
|
||||||
cmd_pass.post_action = none
|
cmd_pass.post_action = none
|
||||||
cmd_pass.regex = "s==^((/(msg|m|quote) +(-server +[^ \n]+ +)?nickserv +(id|identify|set +password|ghost +[^ \n]+|release +[^ \n]+|regain +[^ \n]+|recover +[^ \n]+|setpass +[^ \n]+) +)|/oper +[^ \n]+ +|/quote +pass +|/secure +(passphrase|decrypt|set +[^ \n]+) +)([^\n]*)==${re:1}${hide:*,${re:+}}"
|
cmd_pass.regex = "==^((/(msg|m|quote) +(-server +[^ ]+ +)?nickserv +(id|identify|set +password|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+|recover +[^ ]+|setpass +[^ ]+) +)|/oper +[^ ]+ +|/quote +pass +|/secure +(passphrase|decrypt|set +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}"
|
||||||
cmd_pass.return_code = ok
|
cmd_pass.return_code = ok
|
||||||
cmd_pass_register.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth"
|
cmd_pass_register.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth"
|
||||||
cmd_pass_register.command = ""
|
cmd_pass_register.command = ""
|
||||||
|
@ -46,7 +47,7 @@ cmd_pass_register.conditions = ""
|
||||||
cmd_pass_register.enabled = on
|
cmd_pass_register.enabled = on
|
||||||
cmd_pass_register.hook = modifier
|
cmd_pass_register.hook = modifier
|
||||||
cmd_pass_register.post_action = none
|
cmd_pass_register.post_action = none
|
||||||
cmd_pass_register.regex = "s==^(/(msg|m|quote) +(-server +[^ \n]+ +)?nickserv +register +)([^ \n]+)([^\n]*)==${re:1}${hide:*,${re:4}}${re:5}"
|
cmd_pass_register.regex = "==^(/(msg|m|quote) +(-server +[^ ]+ +)?nickserv +register +)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}"
|
||||||
cmd_pass_register.return_code = ok
|
cmd_pass_register.return_code = ok
|
||||||
greentext.arguments = "weechat_print"
|
greentext.arguments = "weechat_print"
|
||||||
greentext.command = ""
|
greentext.command = ""
|
||||||
|
@ -150,7 +151,7 @@ server_pass.conditions = ""
|
||||||
server_pass.enabled = on
|
server_pass.enabled = on
|
||||||
server_pass.hook = modifier
|
server_pass.hook = modifier
|
||||||
server_pass.post_action = none
|
server_pass.post_action = none
|
||||||
server_pass.regex = "s==^(/(server|connect) [^\n]*-(sasl_)?password=)([^ \n]+)([^\n]*)==${re:1}${hide:*,${re:4}}${re:5}"
|
server_pass.regex = "==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}"
|
||||||
server_pass.return_code = ok
|
server_pass.return_code = ok
|
||||||
url_color.arguments = "weechat_print"
|
url_color.arguments = "weechat_print"
|
||||||
url_color.command = ""
|
url_color.command = ""
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[look]
|
[look]
|
||||||
|
|
|
@ -6,11 +6,9 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
config_version = 4
|
|
||||||
|
|
||||||
[debug]
|
[debug]
|
||||||
|
|
||||||
[startup]
|
[startup]
|
||||||
|
@ -34,25 +32,22 @@ buffer_notify_default = message
|
||||||
buffer_position = end
|
buffer_position = end
|
||||||
buffer_search_case_sensitive = off
|
buffer_search_case_sensitive = off
|
||||||
buffer_search_force_default = off
|
buffer_search_force_default = off
|
||||||
buffer_search_history = local
|
|
||||||
buffer_search_regex = off
|
buffer_search_regex = off
|
||||||
buffer_search_where = prefix_message
|
buffer_search_where = prefix_message
|
||||||
buffer_time_format = "${color:250}%H${color:lightcyan}:${color:245}%M${color:lightcyan}:${color:240}%S"
|
buffer_time_format = "${color:250}%H${color:lightcyan}:${color:245}%M${color:lightcyan}:${color:240}%S"
|
||||||
buffer_time_same = ""
|
buffer_time_same = ""
|
||||||
chat_space_right = off
|
|
||||||
color_basic_force_bold = off
|
color_basic_force_bold = off
|
||||||
color_inactive_buffer = on
|
color_inactive_buffer = on
|
||||||
color_inactive_message = on
|
color_inactive_message = on
|
||||||
color_inactive_prefix = on
|
color_inactive_prefix = on
|
||||||
color_inactive_prefix_buffer = on
|
color_inactive_prefix_buffer = on
|
||||||
color_inactive_time = on
|
color_inactive_time = off
|
||||||
color_inactive_window = on
|
color_inactive_window = on
|
||||||
color_nick_offline = on
|
color_nick_offline = on
|
||||||
color_pairs_auto_reset = 5
|
color_pairs_auto_reset = 5
|
||||||
color_real_white = off
|
color_real_white = off
|
||||||
command_chars = ""
|
command_chars = ""
|
||||||
command_incomplete = off
|
command_incomplete = off
|
||||||
config_permissions = "600"
|
|
||||||
confirm_quit = on
|
confirm_quit = on
|
||||||
confirm_upgrade = off
|
confirm_upgrade = off
|
||||||
day_change = on
|
day_change = on
|
||||||
|
@ -60,9 +55,7 @@ day_change_message_1date = "-- %a, %d %b %Y --"
|
||||||
day_change_message_2dates = "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --"
|
day_change_message_2dates = "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --"
|
||||||
eat_newline_glitch = off
|
eat_newline_glitch = off
|
||||||
emphasized_attributes = ""
|
emphasized_attributes = ""
|
||||||
highlight = "(?-i)ben"
|
highlight = "ben"
|
||||||
highlight_disable_regex = ""
|
|
||||||
highlight_prefix = on
|
|
||||||
highlight_regex = ""
|
highlight_regex = ""
|
||||||
highlight_tags = ""
|
highlight_tags = ""
|
||||||
hotlist_add_conditions = "${away} || ${buffer.num_displayed} == 0"
|
hotlist_add_conditions = "${away} || ${buffer.num_displayed} == 0"
|
||||||
|
@ -76,12 +69,11 @@ hotlist_names_merged_buffers = off
|
||||||
hotlist_prefix = ""
|
hotlist_prefix = ""
|
||||||
hotlist_remove = merged
|
hotlist_remove = merged
|
||||||
hotlist_short_names = on
|
hotlist_short_names = on
|
||||||
hotlist_sort = "-priority,time,time_usec"
|
hotlist_sort = group_time_asc
|
||||||
hotlist_suffix = ""
|
hotlist_suffix = ""
|
||||||
hotlist_unique_numbers = on
|
hotlist_unique_numbers = on
|
||||||
hotlist_update_on_buffer_switch = on
|
hotlist_update_on_buffer_switch = on
|
||||||
input_cursor_scroll = 20
|
input_cursor_scroll = 20
|
||||||
input_multiline_lead_linebreak = on
|
|
||||||
input_share = none
|
input_share = none
|
||||||
input_share_overwrite = off
|
input_share_overwrite = off
|
||||||
input_undo_max = 32
|
input_undo_max = 32
|
||||||
|
@ -96,15 +88,17 @@ jump_smart_back_to_buffer = on
|
||||||
key_bind_safe = on
|
key_bind_safe = on
|
||||||
key_grab_delay = 800
|
key_grab_delay = 800
|
||||||
mouse = on
|
mouse = on
|
||||||
|
mouse_timer_delay = 100
|
||||||
nick_color_force = ""
|
nick_color_force = ""
|
||||||
nick_color_hash = djb2
|
nick_color_hash = djb2
|
||||||
nick_color_hash_salt = ""
|
nick_color_hash_salt = ""
|
||||||
nick_color_stop_chars = "_|["
|
nick_color_stop_chars = "_|["
|
||||||
nick_prefix = ""
|
nick_prefix = ""
|
||||||
nick_suffix = ""
|
nick_suffix = ""
|
||||||
|
paste_auto_add_newline = on
|
||||||
paste_bracketed = on
|
paste_bracketed = on
|
||||||
paste_bracketed_timer_delay = 10
|
paste_bracketed_timer_delay = 10
|
||||||
paste_max_lines = 100
|
paste_max_lines = 1
|
||||||
prefix_action = " *"
|
prefix_action = " *"
|
||||||
prefix_align = right
|
prefix_align = right
|
||||||
prefix_align_max = 15
|
prefix_align_max = 15
|
||||||
|
@ -156,15 +150,15 @@ chat_bg = default
|
||||||
chat_buffer = white
|
chat_buffer = white
|
||||||
chat_channel = white
|
chat_channel = white
|
||||||
chat_day_change = cyan
|
chat_day_change = cyan
|
||||||
chat_delimiters = 22
|
chat_delimiters = green
|
||||||
chat_highlight = yellow
|
chat_highlight = yellow
|
||||||
chat_highlight_bg = darkgray
|
chat_highlight_bg = darkgray
|
||||||
chat_host = cyan
|
chat_host = cyan
|
||||||
chat_inactive_buffer = default
|
chat_inactive_buffer = default
|
||||||
chat_inactive_window = 240
|
chat_inactive_window = default
|
||||||
chat_nick = lightcyan
|
chat_nick = lightcyan
|
||||||
chat_nick_colors = "cyan,magenta,green,brown,lightblue,lightcyan,lightgreen,blue,22,31,35,38,40,49,63,67,70,87,99,112,119,130,136,138,142,146,148,160,162,167,169,174,176,178,184,186,191,202,206,210,212,215,225,226,247"
|
chat_nick_colors = "cyan,magenta,green,brown,lightblue,lightcyan,lightgreen,blue,22,31,35,38,40,49,63,67,70,87,99,112,119,130,136,138,142,146,148,160,162,167,169,174,176,178,184,186,191,202,206,210,212,215,225,226,247"
|
||||||
chat_nick_offline = 242
|
chat_nick_offline = blue
|
||||||
chat_nick_offline_highlight = default
|
chat_nick_offline_highlight = default
|
||||||
chat_nick_offline_highlight_bg = blue
|
chat_nick_offline_highlight_bg = blue
|
||||||
chat_nick_other = cyan
|
chat_nick_other = cyan
|
||||||
|
@ -183,22 +177,19 @@ chat_prefix_suffix = 235
|
||||||
chat_read_marker = magenta
|
chat_read_marker = magenta
|
||||||
chat_read_marker_bg = default
|
chat_read_marker_bg = default
|
||||||
chat_server = brown
|
chat_server = brown
|
||||||
chat_status_disabled = red
|
|
||||||
chat_status_enabled = green
|
|
||||||
chat_tags = red
|
chat_tags = red
|
||||||
chat_text_found = yellow
|
chat_text_found = 130
|
||||||
chat_text_found_bg = lightmagenta
|
chat_text_found_bg = lightmagenta
|
||||||
chat_time = default
|
chat_time = default
|
||||||
chat_time_delimiters = brown
|
chat_time_delimiters = brown
|
||||||
chat_value = cyan
|
chat_value = cyan
|
||||||
chat_value_null = blue
|
chat_value_null = blue
|
||||||
emphasized = yellow
|
emphasized = 130
|
||||||
emphasized_bg = 54
|
emphasized_bg = magenta
|
||||||
eval_syntax_colors = "green,lightred,lightblue,lightmagenta,yellow,cyan"
|
|
||||||
input_actions = lightgreen
|
input_actions = lightgreen
|
||||||
input_text_not_found = red
|
input_text_not_found = red
|
||||||
item_away = yellow
|
item_away = yellow
|
||||||
nicklist_away = 240
|
nicklist_away = cyan
|
||||||
nicklist_group = green
|
nicklist_group = green
|
||||||
separator = blue
|
separator = blue
|
||||||
status_count_highlight = magenta
|
status_count_highlight = magenta
|
||||||
|
@ -206,25 +197,22 @@ status_count_msg = brown
|
||||||
status_count_other = default
|
status_count_other = default
|
||||||
status_count_private = green
|
status_count_private = green
|
||||||
status_data_highlight = lightmagenta
|
status_data_highlight = lightmagenta
|
||||||
status_data_msg = yellow
|
status_data_msg = 130
|
||||||
status_data_other = default
|
status_data_other = default
|
||||||
status_data_private = lightgreen
|
status_data_private = lightgreen
|
||||||
status_filter = green
|
status_filter = green
|
||||||
status_modes = default
|
|
||||||
status_more = 130
|
status_more = 130
|
||||||
status_mouse = green
|
status_mouse = green
|
||||||
status_name = white
|
status_name = white
|
||||||
status_name_insecure = lightmagenta
|
status_name_ssl = lightgreen
|
||||||
status_name_tls = white
|
|
||||||
status_nicklist_count = default
|
status_nicklist_count = default
|
||||||
status_number = yellow
|
status_number = 130
|
||||||
status_time = default
|
status_time = default
|
||||||
|
|
||||||
[completion]
|
[completion]
|
||||||
base_word_until_cursor = on
|
base_word_until_cursor = on
|
||||||
case_sensitive = on
|
|
||||||
command_inline = on
|
command_inline = on
|
||||||
default_template = "%(nicks)|%(irc_channels)|%(completion_script)|%(bitlbee_completion)"
|
default_template = "%(nicks)|%(irc_channels)|%(completion_script)"
|
||||||
nick_add_space = on
|
nick_add_space = on
|
||||||
nick_case_sensitive = off
|
nick_case_sensitive = off
|
||||||
nick_completer = ": "
|
nick_completer = ": "
|
||||||
|
@ -357,9 +345,9 @@ rootstatus.separator = off
|
||||||
rootstatus.size = 1
|
rootstatus.size = 1
|
||||||
rootstatus.size_max = 0
|
rootstatus.size_max = 0
|
||||||
rootstatus.type = root
|
rootstatus.type = root
|
||||||
title.color_bg = 234
|
title.color_bg = black
|
||||||
title.color_bg_inactive = 232
|
title.color_bg_inactive = darkgray
|
||||||
title.color_delim = cyan
|
title.color_delim = lightcyan
|
||||||
title.color_fg = default
|
title.color_fg = default
|
||||||
title.conditions = ""
|
title.conditions = ""
|
||||||
title.filling_left_right = vertical
|
title.filling_left_right = vertical
|
||||||
|
@ -373,263 +361,73 @@ title.size = 0
|
||||||
title.size_max = 0
|
title.size_max = 0
|
||||||
title.type = window
|
title.type = window
|
||||||
|
|
||||||
[custom_bar_item]
|
|
||||||
|
|
||||||
[layout]
|
[layout]
|
||||||
default.buffer = "core;weechat;1"
|
default.buffer = "core;weechat;1"
|
||||||
default.buffer = "perl;highmon;2"
|
default.buffer = "perl;highmon;1"
|
||||||
default.buffer = "python;slack.remotes;3"
|
default.window = "1;0;15;1;-;-"
|
||||||
default.buffer = "python;slack.remotes.#general;4"
|
default.window = "2;1;0;0;irc;tilde.#team"
|
||||||
default.buffer = "python;slack.remotes.#irc;5"
|
default.window = "3;1;0;0;core;weechat"
|
||||||
default.buffer = "python;slack.remotes.#metodo-miyagi;6"
|
|
||||||
default.buffer = "python;snote;7"
|
|
||||||
default.buffer = "python;snote-bots;8"
|
|
||||||
default.buffer = "python;snote-conn;9"
|
|
||||||
default.buffer = "python;snote-junk;10"
|
|
||||||
default.buffer = "python;snote-oper;11"
|
|
||||||
default.buffer = "relay;relay.list;12"
|
|
||||||
default.buffer = "irc;server.bitlbee;13"
|
|
||||||
default.buffer = "irc;bitlbee.&bitlbee;14"
|
|
||||||
default.buffer = "irc;bitlbee.&grouptext;15"
|
|
||||||
default.buffer = "irc;bitlbee.&hmm;16"
|
|
||||||
default.buffer = "irc;bitlbee.&SMS;17"
|
|
||||||
default.buffer = "irc;bitlbee.˜18"
|
|
||||||
default.buffer = "irc;bitlbee.#biboumi;19"
|
|
||||||
default.buffer = "irc;bitlbee.#btlgeneral;20"
|
|
||||||
default.buffer = "irc;bitlbee.#cifuzofu;21"
|
|
||||||
default.buffer = "irc;bitlbee.#conversations;22"
|
|
||||||
default.buffer = "irc;bitlbee.#ejabberd;23"
|
|
||||||
default.buffer = "irc;bitlbee.#gritty;24"
|
|
||||||
default.buffer = "irc;bitlbee.#harris;25"
|
|
||||||
default.buffer = "irc;bitlbee.#hmm;26"
|
|
||||||
default.buffer = "irc;bitlbee.#pocketdragons;27"
|
|
||||||
default.buffer = "irc;bitlbee.#soprani.ca;28"
|
|
||||||
default.buffer = "irc;bitlbee.#texto-plano;29"
|
|
||||||
default.buffer = "irc;bitlbee.#tilde.team;30"
|
|
||||||
default.buffer = "irc;bitlbee.#tilde.zone_ben;31"
|
|
||||||
default.buffer = "irc;bitlbee.#twitter_nebsirrah;32"
|
|
||||||
default.buffer = "irc;bitlbee.maddie;33"
|
|
||||||
default.buffer = "irc;bitlbee.philipp;34"
|
|
||||||
default.buffer = "irc;server.blinkenshell;35"
|
|
||||||
default.buffer = "irc;blinkenshell.#blinkenshell;36"
|
|
||||||
default.buffer = "irc;server.darwin;37"
|
|
||||||
default.buffer = "irc;darwin.#darwin;38"
|
|
||||||
default.buffer = "irc;server.ergo;39"
|
|
||||||
default.buffer = "irc;ergo.#ergo;40"
|
|
||||||
default.buffer = "irc;server.esper;41"
|
|
||||||
default.buffer = "irc;esper.#coders;42"
|
|
||||||
default.buffer = "irc;esper.#factorio;43"
|
|
||||||
default.buffer = "irc;esper.#lobby;44"
|
|
||||||
default.buffer = "irc;server.hashbang;45"
|
|
||||||
default.buffer = "irc;hashbang.#!;46"
|
|
||||||
default.buffer = "irc;hashbang.#!opers;47"
|
|
||||||
default.buffer = "irc;hashbang.#!social;48"
|
|
||||||
default.buffer = "irc;server.inspircd;49"
|
|
||||||
default.buffer = "irc;inspircd.#inspircd;50"
|
|
||||||
default.buffer = "irc;server.libera;51"
|
|
||||||
default.buffer = "irc;libera.#adventofcode;52"
|
|
||||||
default.buffer = "irc;libera.#adventofcode-spoilers;53"
|
|
||||||
default.buffer = "irc;libera.#ahti.space;54"
|
|
||||||
default.buffer = "irc;libera.##ben;55"
|
|
||||||
default.buffer = "irc;libera.#bitbot;56"
|
|
||||||
default.buffer = "irc;libera.##crime;57"
|
|
||||||
default.buffer = "irc;libera.##crustaceans;58"
|
|
||||||
default.buffer = "irc;libera.#csharp;59"
|
|
||||||
default.buffer = "irc;libera.##digbuild;60"
|
|
||||||
default.buffer = "irc;libera.#edist.ro;61"
|
|
||||||
default.buffer = "irc;libera.#fosshost;62"
|
|
||||||
default.buffer = "irc;libera.#fosshost-volunteers;63"
|
|
||||||
default.buffer = "irc;libera.#futel;64"
|
|
||||||
default.buffer = "irc;libera.#gitea;65"
|
|
||||||
default.buffer = "irc;libera.#glirc;66"
|
|
||||||
default.buffer = "irc;libera.#gopher;67"
|
|
||||||
default.buffer = "irc;libera.#ircpuzzles;68"
|
|
||||||
default.buffer = "irc;libera.#ircpuzzles-chat;69"
|
|
||||||
default.buffer = "irc;libera.#irctokens;70"
|
|
||||||
default.buffer = "irc;libera.#libera;71"
|
|
||||||
default.buffer = "irc;libera.#libera-announcements;72"
|
|
||||||
default.buffer = "irc;libera.#libera-atl;73"
|
|
||||||
default.buffer = "irc;libera.#libera-audit;74"
|
|
||||||
default.buffer = "irc;libera.#libera-beer;75"
|
|
||||||
default.buffer = "irc;libera.#libera-communities;76"
|
|
||||||
default.buffer = "irc;libera.#libera-dev;77"
|
|
||||||
default.buffer = "irc;libera.#libera-docs;78"
|
|
||||||
default.buffer = "irc;libera.#libera-dragons;79"
|
|
||||||
default.buffer = "irc;libera.#libera-eng;80"
|
|
||||||
default.buffer = "irc;libera.#libera-matrix-internal;81"
|
|
||||||
default.buffer = "irc;libera.#libera-mentoring;82"
|
|
||||||
default.buffer = "irc;libera.#libera-naughtiness;83"
|
|
||||||
default.buffer = "irc;libera.#libera-org;84"
|
|
||||||
default.buffer = "irc;libera.#libera-pac;85"
|
|
||||||
default.buffer = "irc;libera.#libera-social;86"
|
|
||||||
default.buffer = "irc;libera.#libera-spam;87"
|
|
||||||
default.buffer = "irc;libera.#libera-status;88"
|
|
||||||
default.buffer = "irc;libera.#libera-tas;89"
|
|
||||||
default.buffer = "irc;libera.#lobsters;90"
|
|
||||||
default.buffer = "irc;libera.#mastodon;91"
|
|
||||||
default.buffer = "irc;libera.##oodnet;92"
|
|
||||||
default.buffer = "irc;libera.#ovh;93"
|
|
||||||
default.buffer = "irc;libera.#pleroma;94"
|
|
||||||
default.buffer = "irc;libera.##proxmox;95"
|
|
||||||
default.buffer = "irc;libera.#snowcone;96"
|
|
||||||
default.buffer = "irc;libera.#tilde.team;97"
|
|
||||||
default.buffer = "irc;libera.#tildebot;98"
|
|
||||||
default.buffer = "irc;libera.#ubuntu-devel;99"
|
|
||||||
default.buffer = "irc;libera.#weechat;100"
|
|
||||||
default.buffer = "irc;libera.#weechat-android;101"
|
|
||||||
default.buffer = "irc;libera.#werewolf;102"
|
|
||||||
default.buffer = "irc;libera.#xeserv;103"
|
|
||||||
default.buffer = "irc;server.liberta.casa;104"
|
|
||||||
default.buffer = "irc;liberta.casa.#libcasa.info;105"
|
|
||||||
default.buffer = "irc;liberta.casa.#mods;106"
|
|
||||||
default.buffer = "irc;liberta.casa.#universe;107"
|
|
||||||
default.buffer = "irc;server.oftc;108"
|
|
||||||
default.buffer = "irc;oftc.#bitlbee;109"
|
|
||||||
default.buffer = "irc;oftc.#debian-devel;110"
|
|
||||||
default.buffer = "irc;oftc.#fish;111"
|
|
||||||
default.buffer = "irc;server.pisslocal;112"
|
|
||||||
default.buffer = "irc;pisslocal.#opers;113"
|
|
||||||
default.buffer = "irc;pisslocal.#pissnet;114"
|
|
||||||
default.buffer = "irc;pisslocal.#services;115"
|
|
||||||
default.buffer = "irc;server.sdf;116"
|
|
||||||
default.buffer = "irc;sdf.#sdf;117"
|
|
||||||
default.buffer = "irc;sdf.#spanish;118"
|
|
||||||
default.buffer = "irc;server.slashnet;119"
|
|
||||||
default.buffer = "irc;slashnet.#gtlug;120"
|
|
||||||
default.buffer = "irc;server.snoonet;121"
|
|
||||||
default.buffer = "irc;snoonet.#help;122"
|
|
||||||
default.buffer = "irc;snoonet.#personalfinance;123"
|
|
||||||
default.buffer = "irc;snoonet.#snoonet;124"
|
|
||||||
default.buffer = "irc;server.thermite;125"
|
|
||||||
default.buffer = "irc;thermite.#armbian;126"
|
|
||||||
default.buffer = "irc;thermite.#dronebl;127"
|
|
||||||
default.buffer = "irc;thermite.#lowendtalk;128"
|
|
||||||
default.buffer = "irc;thermite.#networking;129"
|
|
||||||
default.buffer = "irc;server.tilde;130"
|
|
||||||
default.buffer = "irc;tilde.#.tilde;131"
|
|
||||||
default.buffer = "irc;tilde.#adventofcode;132"
|
|
||||||
default.buffer = "irc;tilde.#allhandsactive;133"
|
|
||||||
default.buffer = "irc;tilde.#anelki;134"
|
|
||||||
default.buffer = "irc;tilde.#ascii.town;135"
|
|
||||||
default.buffer = "irc;tilde.#aussie;136"
|
|
||||||
default.buffer = "irc;tilde.#binary-counting;137"
|
|
||||||
default.buffer = "irc;tilde.#bots;138"
|
|
||||||
default.buffer = "irc;tilde.#club;139"
|
|
||||||
default.buffer = "irc;tilde.#cosmic;140"
|
|
||||||
default.buffer = "irc;tilde.#counting;141"
|
|
||||||
default.buffer = "irc;tilde.#covid19;142"
|
|
||||||
default.buffer = "irc;tilde.#ctrl-c;143"
|
|
||||||
default.buffer = "irc;tilde.#dotnet;144"
|
|
||||||
default.buffer = "irc;tilde.#earthward;145"
|
|
||||||
default.buffer = "irc;tilde.#espanol;146"
|
|
||||||
default.buffer = "irc;tilde.#fr;147"
|
|
||||||
default.buffer = "irc;tilde.#gemini;148"
|
|
||||||
default.buffer = "irc;tilde.#gopher;149"
|
|
||||||
default.buffer = "irc;tilde.#helpdesk;150"
|
|
||||||
default.buffer = "irc;tilde.#idlerpg;151"
|
|
||||||
default.buffer = "irc;tilde.#linux;152"
|
|
||||||
default.buffer = "irc;tilde.#math;153"
|
|
||||||
default.buffer = "irc;tilde.#meta;154"
|
|
||||||
default.buffer = "irc;tilde.#minecraft;155"
|
|
||||||
default.buffer = "irc;tilde.#netnews;156"
|
|
||||||
default.buffer = "irc;tilde.#nsfw;157"
|
|
||||||
default.buffer = "irc;tilde.#opers;158"
|
|
||||||
default.buffer = "irc;tilde.#rw.rs;159"
|
|
||||||
default.buffer = "irc;tilde.#secret-sudoers;160"
|
|
||||||
default.buffer = "irc;tilde.#southlondon;161"
|
|
||||||
default.buffer = "irc;tilde.#team;162"
|
|
||||||
default.buffer = "irc;tilde.#thunix;163"
|
|
||||||
default.buffer = "irc;tilde.#tilde.zone-admin;164"
|
|
||||||
default.buffer = "irc;tilde.#tildebot;165"
|
|
||||||
default.buffer = "irc;tilde.#tildenet;166"
|
|
||||||
default.buffer = "irc;tilde.#tilderadio;167"
|
|
||||||
default.buffer = "irc;tilde.#tilderadio-djs;168"
|
|
||||||
default.buffer = "irc;tilde.#tildetel;169"
|
|
||||||
default.buffer = "irc;tilde.#topm;170"
|
|
||||||
default.buffer = "irc;tilde.#town;171"
|
|
||||||
default.buffer = "irc;tilde.#vim;172"
|
|
||||||
default.buffer = "irc;tilde.#wiki;173"
|
|
||||||
default.buffer = "irc;tilde.#xinu;174"
|
|
||||||
default.buffer = "irc;tilde.#ZfA;175"
|
|
||||||
default.buffer = "irc;server.town;176"
|
|
||||||
default.buffer = "irc;town.#admins;177"
|
|
||||||
default.buffer = "irc;town.#adventofcode;178"
|
|
||||||
default.buffer = "irc;town.#announcements;179"
|
|
||||||
default.buffer = "irc;town.#bots;180"
|
|
||||||
default.buffer = "irc;town.#counting;181"
|
|
||||||
default.buffer = "irc;town.#tildetown;182"
|
|
||||||
default.window = "1;0;20;1;-;-"
|
|
||||||
default.window = "2;1;0;0;irc;tilde.#topm"
|
|
||||||
default.window = "3;1;0;0;perl;highmon"
|
|
||||||
default.current = on
|
default.current = on
|
||||||
|
|
||||||
[buffer]
|
|
||||||
|
|
||||||
[notify]
|
[notify]
|
||||||
irc.server.liberta.casa = highlight
|
irc.server.liberta.casa = highlight
|
||||||
irc.server.newnet = highlight
|
irc.server.pisslocal = none
|
||||||
irc.server.tilde = highlight
|
irc.server.tilde = highlight
|
||||||
perl.highmon = none
|
perl.highmon = none
|
||||||
python.listbuffer = none
|
python.listbuffer = none
|
||||||
python.snote = highlight
|
|
||||||
python.snote-bots = highlight
|
|
||||||
python.snote-conn = highlight
|
|
||||||
python.snote-junk = highlight
|
|
||||||
|
|
||||||
[filter]
|
[filter]
|
||||||
irc_smart = on;*;irc_smart_filter;*
|
irc_smart = on;*;irc_smart_filter;*
|
||||||
markov_bitbot = on;irc.tilde.*;irc_privmsg;^,m(\s|arkov)|^\[Markov\]
|
markov_bitbot = on;irc.tilde.*;irc_privmsg;^,m(\s|arkov)|^\[Markov\]
|
||||||
|
|
||||||
[key]
|
[key]
|
||||||
backspace = "/input delete_previous_char"
|
ctrl-? = "/input delete_previous_char"
|
||||||
ctrl-_ = "/input undo"
|
ctrl-A = "/input move_beginning_of_line"
|
||||||
ctrl-a = "/input move_beginning_of_line"
|
ctrl-B = "/input move_previous_char"
|
||||||
ctrl-b = "/input move_previous_char"
|
ctrl-C_ = "/input insert \x1F"
|
||||||
ctrl-c,_ = "/input insert \x1F"
|
ctrl-Cb = "/input insert \x02"
|
||||||
ctrl-c,b = "/input insert \x02"
|
ctrl-Cc = "/input insert \x03"
|
||||||
ctrl-c,c = "/input insert \x03"
|
ctrl-Ci = "/input insert \x1D"
|
||||||
ctrl-c,i = "/input insert \x1D"
|
ctrl-Co = "/input insert \x0F"
|
||||||
ctrl-c,o = "/input insert \x0F"
|
ctrl-Cv = "/input insert \x16"
|
||||||
ctrl-c,v = "/input insert \x16"
|
ctrl-D = "/input delete_next_char"
|
||||||
ctrl-d = "/input delete_next_char"
|
ctrl-E = "/input move_end_of_line"
|
||||||
ctrl-down = "/input history_global_next"
|
ctrl-F = "/input move_next_char"
|
||||||
ctrl-e = "/input move_end_of_line"
|
ctrl-G = "/fzf"
|
||||||
ctrl-f = "/input move_next_char"
|
ctrl-H = "/input delete_previous_char"
|
||||||
ctrl-f1 = "/bar scroll buflist * -100%"
|
ctrl-I = "/input complete_next"
|
||||||
ctrl-f11 = "/bar scroll nicklist * -100%"
|
ctrl-J = "/input return"
|
||||||
ctrl-f12 = "/bar scroll nicklist * +100%"
|
ctrl-K = "/input delete_end_of_line"
|
||||||
ctrl-f2 = "/bar scroll buflist * +100%"
|
ctrl-L = "/window refresh"
|
||||||
ctrl-k = "/input delete_end_of_line"
|
ctrl-M = "/input return"
|
||||||
ctrl-l = "/window refresh"
|
ctrl-N = "/buffer +1"
|
||||||
ctrl-left = "/input move_previous_word"
|
ctrl-P = "/buffer -1"
|
||||||
ctrl-n = "/buffer +1"
|
ctrl-R = "/input search_text"
|
||||||
ctrl-p = "/buffer -1"
|
ctrl-Sctrl-U = "/input set_unread"
|
||||||
ctrl-r = "/input search_text_here"
|
ctrl-T = "/input transpose_chars"
|
||||||
ctrl-right = "/input move_next_word"
|
ctrl-U = "/input delete_beginning_of_line"
|
||||||
ctrl-s,ctrl-u = "/allbuf /buffer set unread"
|
ctrl-W = "/input delete_previous_word"
|
||||||
ctrl-t = "/input transpose_chars"
|
ctrl-X = "/input switch_active_buffer"
|
||||||
ctrl-u = "/input delete_beginning_of_line"
|
ctrl-Y = "/input clipboard_paste"
|
||||||
ctrl-up = "/input history_global_previous"
|
meta-ctrl-M = "/input insert \n"
|
||||||
ctrl-w = "/input delete_previous_word_whitespace"
|
meta-meta-OP = "/bar scroll buflist * b"
|
||||||
ctrl-x = "/buffer switch"
|
meta-meta-OQ = "/bar scroll buflist * e"
|
||||||
ctrl-y = "/input clipboard_paste"
|
meta-meta2-11~ = "/bar scroll buflist * b"
|
||||||
delete = "/input delete_next_char"
|
meta-meta2-12~ = "/bar scroll buflist * e"
|
||||||
down = "/input history_next"
|
meta-meta2-1~ = "/window scroll_top"
|
||||||
end = "/input move_end_of_line"
|
meta-meta2-23~ = "/bar scroll nicklist * b"
|
||||||
f1 = "/bar scroll buflist * -100%"
|
meta-meta2-24~ = "/bar scroll nicklist * e"
|
||||||
f10 = "/bar scroll title * +30%"
|
meta-meta2-4~ = "/window scroll_bottom"
|
||||||
f11 = "/bar scroll nicklist * -100%"
|
meta-meta2-5~ = "/window scroll_up"
|
||||||
f12 = "/bar scroll nicklist * +100%"
|
meta-meta2-6~ = "/window scroll_down"
|
||||||
f2 = "/bar scroll buflist * +100%"
|
meta-meta2-7~ = "/window scroll_top"
|
||||||
f5 = "/buffer -1"
|
meta-meta2-8~ = "/window scroll_bottom"
|
||||||
f6 = "/buffer +1"
|
meta-meta2-A = "/buffer -1"
|
||||||
f7 = "/window -1"
|
meta-meta2-B = "/buffer +1"
|
||||||
f8 = "/window +1"
|
meta-meta2-C = "/buffer +1"
|
||||||
f9 = "/bar scroll title * -30%"
|
meta-meta2-D = "/buffer -1"
|
||||||
home = "/input move_beginning_of_line"
|
|
||||||
left = "/input move_previous_char"
|
|
||||||
meta-- = "/filter toggle @"
|
meta-- = "/filter toggle @"
|
||||||
meta-/ = "/buffer jump last_displayed"
|
meta-/ = "/input jump_last_buffer_displayed"
|
||||||
meta-0 = "/buffer *10"
|
meta-0 = "/buffer *10"
|
||||||
meta-1 = "/buffer *1"
|
meta-1 = "/buffer *1"
|
||||||
meta-2 = "/buffer *2"
|
meta-2 = "/buffer *2"
|
||||||
|
@ -640,223 +438,255 @@ meta-6 = "/buffer *6"
|
||||||
meta-7 = "/buffer *7"
|
meta-7 = "/buffer *7"
|
||||||
meta-8 = "/buffer *8"
|
meta-8 = "/buffer *8"
|
||||||
meta-9 = "/buffer *9"
|
meta-9 = "/buffer *9"
|
||||||
meta-< = "/buffer jump prev_visited"
|
meta-< = "/input jump_previously_visited_buffer"
|
||||||
meta-= = "/filter toggle"
|
meta-= = "/filter toggle"
|
||||||
meta-> = "/buffer jump next_visited"
|
meta-> = "/input jump_next_visited_buffer"
|
||||||
meta-B = "/buflist toggle"
|
meta-B = "/buflist toggle"
|
||||||
meta-C = "/buffer &SMS"
|
meta-C = "/buffer &SMS"
|
||||||
|
meta-J = "/buffer server.libera"
|
||||||
meta-N = "/bar toggle nicklist"
|
meta-N = "/bar toggle nicklist"
|
||||||
meta-R = "/input delete_input"
|
meta-OA = "/input history_global_previous"
|
||||||
meta-T = "/buffer server.libera"
|
meta-OB = "/input history_global_next"
|
||||||
|
meta-OC = "/input move_next_word"
|
||||||
|
meta-OD = "/input move_previous_word"
|
||||||
|
meta-OF = "/input move_end_of_line"
|
||||||
|
meta-OH = "/input move_beginning_of_line"
|
||||||
|
meta-OP = "/bar scroll buflist * -100%"
|
||||||
|
meta-OQ = "/bar scroll buflist * +100%"
|
||||||
|
meta-Oa = "/input history_global_previous"
|
||||||
|
meta-Ob = "/input history_global_next"
|
||||||
|
meta-Oc = "/input move_next_word"
|
||||||
|
meta-Od = "/input move_previous_word"
|
||||||
|
meta2-11^ = "/bar scroll buflist * -100%"
|
||||||
|
meta2-11~ = "/bar scroll buflist * -100%"
|
||||||
|
meta2-12^ = "/bar scroll buflist * +100%"
|
||||||
|
meta2-12~ = "/bar scroll buflist * +100%"
|
||||||
|
meta2-15~ = "/buffer -1"
|
||||||
|
meta2-17~ = "/buffer +1"
|
||||||
|
meta2-18~ = "/window -1"
|
||||||
|
meta2-19~ = "/window +1"
|
||||||
|
meta2-1;3A = "/buffer -1"
|
||||||
|
meta2-1;3B = "/buffer +1"
|
||||||
|
meta2-1;3C = "/buffer +1"
|
||||||
|
meta2-1;3D = "/buffer -1"
|
||||||
|
meta2-1;3F = "/window scroll_bottom"
|
||||||
|
meta2-1;3H = "/window scroll_top"
|
||||||
|
meta2-1;3P = "/bar scroll buflist * b"
|
||||||
|
meta2-1;3Q = "/bar scroll buflist * e"
|
||||||
|
meta2-1;5A = "/input history_global_previous"
|
||||||
|
meta2-1;5B = "/input history_global_next"
|
||||||
|
meta2-1;5C = "/input move_next_word"
|
||||||
|
meta2-1;5D = "/input move_previous_word"
|
||||||
|
meta2-1;5P = "/bar scroll buflist * -100%"
|
||||||
|
meta2-1;5Q = "/bar scroll buflist * +100%"
|
||||||
|
meta2-1~ = "/input move_beginning_of_line"
|
||||||
|
meta2-200~ = "/input paste_start"
|
||||||
|
meta2-201~ = "/input paste_stop"
|
||||||
|
meta2-20~ = "/bar scroll title * -30%"
|
||||||
|
meta2-21~ = "/bar scroll title * +30%"
|
||||||
|
meta2-23;3~ = "/bar scroll nicklist * b"
|
||||||
|
meta2-23;5~ = "/bar scroll nicklist * -100%"
|
||||||
|
meta2-23^ = "/bar scroll nicklist * -100%"
|
||||||
|
meta2-23~ = "/bar scroll nicklist * -100%"
|
||||||
|
meta2-24;3~ = "/bar scroll nicklist * e"
|
||||||
|
meta2-24;5~ = "/bar scroll nicklist * +100%"
|
||||||
|
meta2-24^ = "/bar scroll nicklist * +100%"
|
||||||
|
meta2-24~ = "/bar scroll nicklist * +100%"
|
||||||
|
meta2-3~ = "/input delete_next_char"
|
||||||
|
meta2-4~ = "/input move_end_of_line"
|
||||||
|
meta2-5;3~ = "/window scroll_up"
|
||||||
|
meta2-5~ = "/window page_up"
|
||||||
|
meta2-6;3~ = "/window scroll_down"
|
||||||
|
meta2-6~ = "/window page_down"
|
||||||
|
meta2-7~ = "/input move_beginning_of_line"
|
||||||
|
meta2-8~ = "/input move_end_of_line"
|
||||||
|
meta2-A = "/input history_previous"
|
||||||
|
meta2-B = "/input history_next"
|
||||||
|
meta2-C = "/input move_next_char"
|
||||||
|
meta2-D = "/input move_previous_char"
|
||||||
|
meta2-F = "/input move_end_of_line"
|
||||||
|
meta2-G = "/window page_down"
|
||||||
|
meta2-H = "/input move_beginning_of_line"
|
||||||
|
meta2-I = "/window page_up"
|
||||||
|
meta2-Z = "/input complete_previous"
|
||||||
|
meta2-[E = "/buffer -1"
|
||||||
meta-_ = "/input redo"
|
meta-_ = "/input redo"
|
||||||
meta-a = "/buffer jump smart"
|
meta-a = "/input jump_smart"
|
||||||
meta-b = "/input move_previous_word"
|
meta-b = "/input move_previous_word"
|
||||||
meta-backspace = "/input delete_previous_word"
|
|
||||||
meta-c = "/buffer &bitlbee"
|
meta-c = "/buffer &bitlbee"
|
||||||
meta-ctrl-k = "/input delete_end_of_input"
|
|
||||||
meta-ctrl-u = "/input delete_beginning_of_input"
|
|
||||||
meta-d = "/input delete_next_word"
|
meta-d = "/input delete_next_word"
|
||||||
meta-down = "/buffer +1"
|
|
||||||
meta-end = "/window scroll_bottom"
|
|
||||||
meta-f = "/input move_next_word"
|
meta-f = "/input move_next_word"
|
||||||
meta-f1 = "/bar scroll buflist * b"
|
|
||||||
meta-f11 = "/bar scroll nicklist * b"
|
|
||||||
meta-f12 = "/bar scroll nicklist * e"
|
|
||||||
meta-f2 = "/bar scroll buflist * e"
|
|
||||||
meta-g = "/go"
|
meta-g = "/go"
|
||||||
meta-h,meta-R = "/hotlist restore -all"
|
meta-hmeta-R = "/input hotlist_restore_all"
|
||||||
meta-h,meta-c = "/hotlist clear"
|
meta-hmeta-c = "/input hotlist_clear"
|
||||||
meta-h,meta-m = "/hotlist remove"
|
meta-hmeta-m = "/input hotlist_remove_buffer"
|
||||||
meta-h,meta-r = "/hotlist restore"
|
meta-hmeta-r = "/input hotlist_restore_buffer"
|
||||||
meta-home = "/window scroll_top"
|
meta-j = "/buffer server.tilde"
|
||||||
meta-j,0,1 = "/buffer *1"
|
meta-jmeta-f = "/buffer -"
|
||||||
meta-j,0,2 = "/buffer *2"
|
meta-jmeta-l = "/buffer +"
|
||||||
meta-j,0,3 = "/buffer *3"
|
meta-jmeta-r = "/server raw"
|
||||||
meta-j,0,4 = "/buffer *4"
|
meta-jmeta-s = "/server jump"
|
||||||
meta-j,0,5 = "/buffer *5"
|
meta-j01 = "/buffer 1"
|
||||||
meta-j,0,6 = "/buffer *6"
|
meta-j02 = "/buffer 2"
|
||||||
meta-j,0,7 = "/buffer *7"
|
meta-j03 = "/buffer 3"
|
||||||
meta-j,0,8 = "/buffer *8"
|
meta-j04 = "/buffer 4"
|
||||||
meta-j,0,9 = "/buffer *9"
|
meta-j05 = "/buffer 5"
|
||||||
meta-j,1,0 = "/buffer *10"
|
meta-j06 = "/buffer 6"
|
||||||
meta-j,1,1 = "/buffer *11"
|
meta-j07 = "/buffer 7"
|
||||||
meta-j,1,2 = "/buffer *12"
|
meta-j08 = "/buffer 8"
|
||||||
meta-j,1,3 = "/buffer *13"
|
meta-j09 = "/buffer 9"
|
||||||
meta-j,1,4 = "/buffer *14"
|
meta-j10 = "/buffer 10"
|
||||||
meta-j,1,5 = "/buffer *15"
|
meta-j11 = "/buffer 11"
|
||||||
meta-j,1,6 = "/buffer *16"
|
meta-j12 = "/buffer 12"
|
||||||
meta-j,1,7 = "/buffer *17"
|
meta-j13 = "/buffer 13"
|
||||||
meta-j,1,8 = "/buffer *18"
|
meta-j14 = "/buffer 14"
|
||||||
meta-j,1,9 = "/buffer *19"
|
meta-j15 = "/buffer 15"
|
||||||
meta-j,2,0 = "/buffer *20"
|
meta-j16 = "/buffer 16"
|
||||||
meta-j,2,1 = "/buffer *21"
|
meta-j17 = "/buffer 17"
|
||||||
meta-j,2,2 = "/buffer *22"
|
meta-j18 = "/buffer 18"
|
||||||
meta-j,2,3 = "/buffer *23"
|
meta-j19 = "/buffer 19"
|
||||||
meta-j,2,4 = "/buffer *24"
|
meta-j20 = "/buffer 20"
|
||||||
meta-j,2,5 = "/buffer *25"
|
meta-j21 = "/buffer 21"
|
||||||
meta-j,2,6 = "/buffer *26"
|
meta-j22 = "/buffer 22"
|
||||||
meta-j,2,7 = "/buffer *27"
|
meta-j23 = "/buffer 23"
|
||||||
meta-j,2,8 = "/buffer *28"
|
meta-j24 = "/buffer 24"
|
||||||
meta-j,2,9 = "/buffer *29"
|
meta-j25 = "/buffer 25"
|
||||||
meta-j,3,0 = "/buffer *30"
|
meta-j26 = "/buffer 26"
|
||||||
meta-j,3,1 = "/buffer *31"
|
meta-j27 = "/buffer 27"
|
||||||
meta-j,3,2 = "/buffer *32"
|
meta-j28 = "/buffer 28"
|
||||||
meta-j,3,3 = "/buffer *33"
|
meta-j29 = "/buffer 29"
|
||||||
meta-j,3,4 = "/buffer *34"
|
meta-j30 = "/buffer 30"
|
||||||
meta-j,3,5 = "/buffer *35"
|
meta-j31 = "/buffer 31"
|
||||||
meta-j,3,6 = "/buffer *36"
|
meta-j32 = "/buffer 32"
|
||||||
meta-j,3,7 = "/buffer *37"
|
meta-j33 = "/buffer 33"
|
||||||
meta-j,3,8 = "/buffer *38"
|
meta-j34 = "/buffer 34"
|
||||||
meta-j,3,9 = "/buffer *39"
|
meta-j35 = "/buffer 35"
|
||||||
meta-j,4,0 = "/buffer *40"
|
meta-j36 = "/buffer 36"
|
||||||
meta-j,4,1 = "/buffer *41"
|
meta-j37 = "/buffer 37"
|
||||||
meta-j,4,2 = "/buffer *42"
|
meta-j38 = "/buffer 38"
|
||||||
meta-j,4,3 = "/buffer *43"
|
meta-j39 = "/buffer 39"
|
||||||
meta-j,4,4 = "/buffer *44"
|
meta-j40 = "/buffer 40"
|
||||||
meta-j,4,5 = "/buffer *45"
|
meta-j41 = "/buffer 41"
|
||||||
meta-j,4,6 = "/buffer *46"
|
meta-j42 = "/buffer 42"
|
||||||
meta-j,4,7 = "/buffer *47"
|
meta-j43 = "/buffer 43"
|
||||||
meta-j,4,8 = "/buffer *48"
|
meta-j44 = "/buffer 44"
|
||||||
meta-j,4,9 = "/buffer *49"
|
meta-j45 = "/buffer 45"
|
||||||
meta-j,5,0 = "/buffer *50"
|
meta-j46 = "/buffer 46"
|
||||||
meta-j,5,1 = "/buffer *51"
|
meta-j47 = "/buffer 47"
|
||||||
meta-j,5,2 = "/buffer *52"
|
meta-j48 = "/buffer 48"
|
||||||
meta-j,5,3 = "/buffer *53"
|
meta-j49 = "/buffer 49"
|
||||||
meta-j,5,4 = "/buffer *54"
|
meta-j50 = "/buffer 50"
|
||||||
meta-j,5,5 = "/buffer *55"
|
meta-j51 = "/buffer 51"
|
||||||
meta-j,5,6 = "/buffer *56"
|
meta-j52 = "/buffer 52"
|
||||||
meta-j,5,7 = "/buffer *57"
|
meta-j53 = "/buffer 53"
|
||||||
meta-j,5,8 = "/buffer *58"
|
meta-j54 = "/buffer 54"
|
||||||
meta-j,5,9 = "/buffer *59"
|
meta-j55 = "/buffer 55"
|
||||||
meta-j,6,0 = "/buffer *60"
|
meta-j56 = "/buffer 56"
|
||||||
meta-j,6,1 = "/buffer *61"
|
meta-j57 = "/buffer 57"
|
||||||
meta-j,6,2 = "/buffer *62"
|
meta-j58 = "/buffer 58"
|
||||||
meta-j,6,3 = "/buffer *63"
|
meta-j59 = "/buffer 59"
|
||||||
meta-j,6,4 = "/buffer *64"
|
meta-j60 = "/buffer 60"
|
||||||
meta-j,6,5 = "/buffer *65"
|
meta-j61 = "/buffer 61"
|
||||||
meta-j,6,6 = "/buffer *66"
|
meta-j62 = "/buffer 62"
|
||||||
meta-j,6,7 = "/buffer *67"
|
meta-j63 = "/buffer 63"
|
||||||
meta-j,6,8 = "/buffer *68"
|
meta-j64 = "/buffer 64"
|
||||||
meta-j,6,9 = "/buffer *69"
|
meta-j65 = "/buffer 65"
|
||||||
meta-j,7,0 = "/buffer *70"
|
meta-j66 = "/buffer 66"
|
||||||
meta-j,7,1 = "/buffer *71"
|
meta-j67 = "/buffer 67"
|
||||||
meta-j,7,2 = "/buffer *72"
|
meta-j68 = "/buffer 68"
|
||||||
meta-j,7,3 = "/buffer *73"
|
meta-j69 = "/buffer 69"
|
||||||
meta-j,7,4 = "/buffer *74"
|
meta-j70 = "/buffer 70"
|
||||||
meta-j,7,5 = "/buffer *75"
|
meta-j71 = "/buffer 71"
|
||||||
meta-j,7,6 = "/buffer *76"
|
meta-j72 = "/buffer 72"
|
||||||
meta-j,7,7 = "/buffer *77"
|
meta-j73 = "/buffer 73"
|
||||||
meta-j,7,8 = "/buffer *78"
|
meta-j74 = "/buffer 74"
|
||||||
meta-j,7,9 = "/buffer *79"
|
meta-j75 = "/buffer 75"
|
||||||
meta-j,8,0 = "/buffer *80"
|
meta-j76 = "/buffer 76"
|
||||||
meta-j,8,1 = "/buffer *81"
|
meta-j77 = "/buffer 77"
|
||||||
meta-j,8,2 = "/buffer *82"
|
meta-j78 = "/buffer 78"
|
||||||
meta-j,8,3 = "/buffer *83"
|
meta-j79 = "/buffer 79"
|
||||||
meta-j,8,4 = "/buffer *84"
|
meta-j80 = "/buffer 80"
|
||||||
meta-j,8,5 = "/buffer *85"
|
meta-j81 = "/buffer 81"
|
||||||
meta-j,8,6 = "/buffer *86"
|
meta-j82 = "/buffer 82"
|
||||||
meta-j,8,7 = "/buffer *87"
|
meta-j83 = "/buffer 83"
|
||||||
meta-j,8,8 = "/buffer *88"
|
meta-j84 = "/buffer 84"
|
||||||
meta-j,8,9 = "/buffer *89"
|
meta-j85 = "/buffer 85"
|
||||||
meta-j,9,0 = "/buffer *90"
|
meta-j86 = "/buffer 86"
|
||||||
meta-j,9,1 = "/buffer *91"
|
meta-j87 = "/buffer 87"
|
||||||
meta-j,9,2 = "/buffer *92"
|
meta-j88 = "/buffer 88"
|
||||||
meta-j,9,3 = "/buffer *93"
|
meta-j89 = "/buffer 89"
|
||||||
meta-j,9,4 = "/buffer *94"
|
meta-j90 = "/buffer 90"
|
||||||
meta-j,9,5 = "/buffer *95"
|
meta-j91 = "/buffer 91"
|
||||||
meta-j,9,6 = "/buffer *96"
|
meta-j92 = "/buffer 92"
|
||||||
meta-j,9,7 = "/buffer *97"
|
meta-j93 = "/buffer 93"
|
||||||
meta-j,9,8 = "/buffer *98"
|
meta-j94 = "/buffer 94"
|
||||||
meta-j,9,9 = "/buffer *99"
|
meta-j95 = "/buffer 95"
|
||||||
meta-j,meta-f = "/buffer -"
|
meta-j96 = "/buffer 96"
|
||||||
meta-j,meta-l = "/buffer +"
|
meta-j97 = "/buffer 97"
|
||||||
meta-j,meta-r = "/server raw"
|
meta-j98 = "/buffer 98"
|
||||||
meta-j,meta-s = "/server jump"
|
meta-j99 = "/buffer 99"
|
||||||
meta-k = "/input grab_key_command"
|
meta-k = "/input grab_key_command"
|
||||||
meta-l = "/window bare"
|
meta-l = "/window bare"
|
||||||
meta-left = "/buffer -1"
|
|
||||||
meta-m = "/mute mouse toggle"
|
meta-m = "/mute mouse toggle"
|
||||||
meta-n = "/window scroll_next_highlight"
|
meta-n = "/window scroll_next_highlight"
|
||||||
meta-p = "/window scroll_previous_highlight"
|
meta-p = "/window scroll_previous_highlight"
|
||||||
meta-pgdn = "/window scroll_down"
|
|
||||||
meta-pgup = "/window scroll_up"
|
|
||||||
meta-r = "/input delete_line"
|
meta-r = "/input delete_line"
|
||||||
meta-return = "/input insert \n"
|
|
||||||
meta-right = "/buffer +1"
|
|
||||||
meta-s = "/mute spell toggle"
|
meta-s = "/mute spell toggle"
|
||||||
meta-t = "/buffer server.tilde"
|
|
||||||
meta-u = "/window scroll_unread"
|
meta-u = "/window scroll_unread"
|
||||||
meta-up = "/buffer -1"
|
meta-wmeta-meta2-A = "/window up"
|
||||||
meta-w,meta-b = "/window balance"
|
meta-wmeta-meta2-B = "/window down"
|
||||||
meta-w,meta-down = "/window down"
|
meta-wmeta-meta2-C = "/window right"
|
||||||
meta-w,meta-left = "/window left"
|
meta-wmeta-meta2-D = "/window left"
|
||||||
meta-w,meta-right = "/window right"
|
meta-wmeta2-1;3A = "/window up"
|
||||||
meta-w,meta-s = "/window swap"
|
meta-wmeta2-1;3B = "/window down"
|
||||||
meta-w,meta-up = "/window up"
|
meta-wmeta2-1;3C = "/window right"
|
||||||
meta-x = "/buffer zoom"
|
meta-wmeta2-1;3D = "/window left"
|
||||||
|
meta-wmeta-b = "/window balance"
|
||||||
|
meta-wmeta-s = "/window swap"
|
||||||
|
meta-x = "/input zoom_merged_buffer"
|
||||||
meta-z = "/window zoom"
|
meta-z = "/window zoom"
|
||||||
pgdn = "/window page_down"
|
ctrl-_ = "/input undo"
|
||||||
pgup = "/window page_up"
|
|
||||||
return = "/input return"
|
|
||||||
right = "/input move_next_char"
|
|
||||||
shift-down = "/input move_next_line"
|
|
||||||
shift-end = "/input move_end_of_input"
|
|
||||||
shift-home = "/input move_beginning_of_input"
|
|
||||||
shift-left = "/input move_previous_char"
|
|
||||||
shift-right = "/input move_next_char"
|
|
||||||
shift-tab = "/input complete_previous"
|
|
||||||
shift-up = "/input move_previous_line"
|
|
||||||
tab = "/input complete_next"
|
|
||||||
up = "/input history_previous"
|
|
||||||
|
|
||||||
[key_search]
|
[key_search]
|
||||||
ctrl-q = "/input search_stop"
|
ctrl-I = "/input search_switch_where"
|
||||||
ctrl-r = "/input search_switch_regex"
|
ctrl-J = "/input search_stop"
|
||||||
down = "/input search_next"
|
ctrl-M = "/input search_stop"
|
||||||
|
ctrl-Q = "/input search_stop"
|
||||||
|
ctrl-R = "/input search_switch_regex"
|
||||||
|
meta2-A = "/input search_previous"
|
||||||
|
meta2-B = "/input search_next"
|
||||||
meta-c = "/input search_switch_case"
|
meta-c = "/input search_switch_case"
|
||||||
return = "/input search_stop_here"
|
|
||||||
tab = "/input search_switch_where"
|
|
||||||
up = "/input search_previous"
|
|
||||||
|
|
||||||
[key_histsearch]
|
|
||||||
ctrl-o = "/input history_use_get_next"
|
|
||||||
ctrl-q = "/input search_stop"
|
|
||||||
ctrl-r = "/input search_previous"
|
|
||||||
ctrl-s = "/input search_next"
|
|
||||||
ctrl-x = "/input search_switch_regex"
|
|
||||||
down = "/input search_next"
|
|
||||||
meta-c = "/input search_switch_case"
|
|
||||||
return = "/input search_stop_here"
|
|
||||||
tab = "/input search_switch_where"
|
|
||||||
up = "/input search_previous"
|
|
||||||
|
|
||||||
[key_cursor]
|
[key_cursor]
|
||||||
|
ctrl-J = "/cursor stop"
|
||||||
|
ctrl-M = "/cursor stop"
|
||||||
|
meta-meta2-A = "/cursor move area_up"
|
||||||
|
meta-meta2-B = "/cursor move area_down"
|
||||||
|
meta-meta2-C = "/cursor move area_right"
|
||||||
|
meta-meta2-D = "/cursor move area_left"
|
||||||
|
meta2-1;3A = "/cursor move area_up"
|
||||||
|
meta2-1;3B = "/cursor move area_down"
|
||||||
|
meta2-1;3C = "/cursor move area_right"
|
||||||
|
meta2-1;3D = "/cursor move area_left"
|
||||||
|
meta2-A = "/cursor move up"
|
||||||
|
meta2-B = "/cursor move down"
|
||||||
|
meta2-C = "/cursor move right"
|
||||||
|
meta2-D = "/cursor move left"
|
||||||
@chat(python.*):D = "hsignal:slack_cursor_delete"
|
@chat(python.*):D = "hsignal:slack_cursor_delete"
|
||||||
@chat(python.*):L = "hsignal:slack_cursor_linkarchive"
|
@chat(python.*):L = "hsignal:slack_cursor_linkarchive"
|
||||||
@chat(python.*):M = "hsignal:slack_cursor_message"
|
@chat(python.*):M = "hsignal:slack_cursor_message"
|
||||||
@chat(python.*):R = "hsignal:slack_cursor_reply"
|
@chat(python.*):R = "hsignal:slack_cursor_reply"
|
||||||
@chat(python.*):T = "hsignal:slack_cursor_thread"
|
@chat(python.*):T = "hsignal:slack_cursor_thread"
|
||||||
@chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop"
|
|
||||||
@chat:l = "hsignal:chat_quote_focused_line;/cursor stop"
|
|
||||||
@chat:m = "hsignal:chat_quote_message;/cursor stop"
|
|
||||||
@chat:q = "hsignal:chat_quote_prefix_message;/cursor stop"
|
|
||||||
@item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}"
|
@item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}"
|
||||||
@item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}"
|
@item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}"
|
||||||
@item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}"
|
@item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}"
|
||||||
@item(buffer_nicklist):q = "/window ${_window_number};/query ${nick};/cursor stop"
|
@item(buffer_nicklist):q = "/window ${_window_number};/query ${nick};/cursor stop"
|
||||||
@item(buffer_nicklist):w = "/window ${_window_number};/whois ${nick}"
|
@item(buffer_nicklist):w = "/window ${_window_number};/whois ${nick}"
|
||||||
down = "/cursor move down"
|
@chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop"
|
||||||
left = "/cursor move left"
|
@chat:m = "hsignal:chat_quote_message;/cursor stop"
|
||||||
meta-down = "/cursor move area_down"
|
@chat:q = "hsignal:chat_quote_prefix_message;/cursor stop"
|
||||||
meta-left = "/cursor move area_left"
|
|
||||||
meta-right = "/cursor move area_right"
|
|
||||||
meta-up = "/cursor move area_up"
|
|
||||||
return = "/cursor stop"
|
|
||||||
right = "/cursor move right"
|
|
||||||
up = "/cursor move up"
|
|
||||||
|
|
||||||
[key_mouse]
|
[key_mouse]
|
||||||
@*:button3 = "/cursor go ${_x},${_y}"
|
|
||||||
@bar(buflist):ctrl-wheeldown = "hsignal:buflist_mouse"
|
@bar(buflist):ctrl-wheeldown = "hsignal:buflist_mouse"
|
||||||
@bar(buflist):ctrl-wheelup = "hsignal:buflist_mouse"
|
@bar(buflist):ctrl-wheelup = "hsignal:buflist_mouse"
|
||||||
@bar(input):button2 = "/input grab_mouse_area"
|
@bar(input):button2 = "/input grab_mouse_area"
|
||||||
|
@ -864,30 +694,19 @@ up = "/cursor move up"
|
||||||
@bar(nicklist):button1-gesture-down-long = "/bar scroll nicklist ${_window_number} e"
|
@bar(nicklist):button1-gesture-down-long = "/bar scroll nicklist ${_window_number} e"
|
||||||
@bar(nicklist):button1-gesture-up = "/bar scroll nicklist ${_window_number} -100%"
|
@bar(nicklist):button1-gesture-up = "/bar scroll nicklist ${_window_number} -100%"
|
||||||
@bar(nicklist):button1-gesture-up-long = "/bar scroll nicklist ${_window_number} b"
|
@bar(nicklist):button1-gesture-up-long = "/bar scroll nicklist ${_window_number} b"
|
||||||
@bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%"
|
|
||||||
@bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%"
|
|
||||||
@chat(fset.fset):button1 = "/window ${_window_number};/fset -go ${_chat_line_y}"
|
@chat(fset.fset):button1 = "/window ${_window_number};/fset -go ${_chat_line_y}"
|
||||||
@chat(fset.fset):button2* = "hsignal:fset_mouse"
|
@chat(fset.fset):button2* = "hsignal:fset_mouse"
|
||||||
@chat(fset.fset):wheeldown = "/fset -down 5"
|
@chat(fset.fset):wheeldown = "/fset -down 5"
|
||||||
@chat(fset.fset):wheelup = "/fset -up 5"
|
@chat(fset.fset):wheelup = "/fset -up 5"
|
||||||
@chat(irc.list_*):button1 = "/window ${_window_number};/list -go ${_chat_line_y}"
|
@chat(perl.iset):button1 = "hsignal:iset_mouse"
|
||||||
@chat(irc.list_*):button2* = "hsignal:irc_list_mouse"
|
@chat(perl.iset):button2* = "hsignal:iset_mouse"
|
||||||
@chat(irc.list_*):wheeldown = "/list -down 5"
|
@chat(perl.iset):wheeldown = "/repeat 5 /iset **down"
|
||||||
@chat(irc.list_*):wheelup = "/list -up 5"
|
@chat(perl.iset):wheelup = "/repeat 5 /iset **up"
|
||||||
@chat(python.*):button2 = "hsignal:slack_mouse"
|
@chat(python.*):button2 = "hsignal:slack_mouse"
|
||||||
@chat(script.scripts):button1 = "/window ${_window_number};/script go ${_chat_line_y}"
|
@chat(script.scripts):button1 = "/window ${_window_number};/script go ${_chat_line_y}"
|
||||||
@chat(script.scripts):button2 = "/window ${_window_number};/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}"
|
@chat(script.scripts):button2 = "/window ${_window_number};/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}"
|
||||||
@chat(script.scripts):wheeldown = "/script down 5"
|
@chat(script.scripts):wheeldown = "/script down 5"
|
||||||
@chat(script.scripts):wheelup = "/script up 5"
|
@chat(script.scripts):wheelup = "/script up 5"
|
||||||
@chat:button1 = "/window ${_window_number}"
|
|
||||||
@chat:button1-gesture-left = "/window ${_window_number};/buffer -1"
|
|
||||||
@chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1"
|
|
||||||
@chat:button1-gesture-right = "/window ${_window_number};/buffer +1"
|
|
||||||
@chat:button1-gesture-right-long = "/window ${_window_number};/buffer +"
|
|
||||||
@chat:ctrl-wheeldown = "/window scroll_horiz -window ${_window_number} +10%"
|
|
||||||
@chat:ctrl-wheelup = "/window scroll_horiz -window ${_window_number} -10%"
|
|
||||||
@chat:wheeldown = "/window scroll_down -window ${_window_number}"
|
|
||||||
@chat:wheelup = "/window scroll_up -window ${_window_number}"
|
|
||||||
@item(buffer_nicklist):button1 = "/window ${_window_number};/query ${nick}"
|
@item(buffer_nicklist):button1 = "/window ${_window_number};/query ${nick}"
|
||||||
@item(buffer_nicklist):button1-gesture-left = "/window ${_window_number};/kick ${nick}"
|
@item(buffer_nicklist):button1-gesture-left = "/window ${_window_number};/kick ${nick}"
|
||||||
@item(buffer_nicklist):button1-gesture-left-long = "/window ${_window_number};/kickban ${nick}"
|
@item(buffer_nicklist):button1-gesture-left-long = "/window ${_window_number};/kickban ${nick}"
|
||||||
|
@ -899,7 +718,15 @@ up = "/cursor move up"
|
||||||
@item(buflist2):button2* = "hsignal:buflist_mouse"
|
@item(buflist2):button2* = "hsignal:buflist_mouse"
|
||||||
@item(buflist3):button1* = "hsignal:buflist_mouse"
|
@item(buflist3):button1* = "hsignal:buflist_mouse"
|
||||||
@item(buflist3):button2* = "hsignal:buflist_mouse"
|
@item(buflist3):button2* = "hsignal:buflist_mouse"
|
||||||
@item(buflist4):button1* = "hsignal:buflist_mouse"
|
@bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%"
|
||||||
@item(buflist4):button2* = "hsignal:buflist_mouse"
|
@bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%"
|
||||||
@item(buflist5):button1* = "hsignal:buflist_mouse"
|
@chat:button1 = "/window ${_window_number}"
|
||||||
@item(buflist5):button2* = "hsignal:buflist_mouse"
|
@chat:button1-gesture-left = "/window ${_window_number};/buffer -1"
|
||||||
|
@chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1"
|
||||||
|
@chat:button1-gesture-right = "/window ${_window_number};/buffer +1"
|
||||||
|
@chat:button1-gesture-right-long = "/window ${_window_number};/input jump_last_buffer"
|
||||||
|
@chat:ctrl-wheeldown = "/window scroll_horiz -window ${_window_number} +10%"
|
||||||
|
@chat:ctrl-wheelup = "/window scroll_horiz -window ${_window_number} -10%"
|
||||||
|
@chat:wheeldown = "/window scroll_down -window ${_window_number}"
|
||||||
|
@chat:wheelup = "/window scroll_up -window ${_window_number}"
|
||||||
|
@*:button3 = "/cursor go ${_x},${_y}"
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Use commands like /set or /fset to change settings in WeeChat.
|
# Use commands like /set or /fset to change settings in WeeChat.
|
||||||
#
|
#
|
||||||
# For more info, see: https://weechat.org/doc/weechat/quickstart/
|
# For more info, see: https://weechat.org/doc/quickstart/
|
||||||
#
|
#
|
||||||
|
|
||||||
[look]
|
[look]
|
||||||
|
@ -17,7 +17,7 @@ pv_tags = "notify_private"
|
||||||
[color]
|
[color]
|
||||||
status_aborted = lightred
|
status_aborted = lightred
|
||||||
status_active = lightblue
|
status_active = lightblue
|
||||||
status_connecting = yellow
|
status_connecting = 130
|
||||||
status_done = lightgreen
|
status_done = lightgreen
|
||||||
status_failed = lightred
|
status_failed = lightred
|
||||||
status_waiting = lightcyan
|
status_waiting = lightcyan
|
||||||
|
@ -28,7 +28,7 @@ text_selected = white
|
||||||
[network]
|
[network]
|
||||||
blocksize = 65536
|
blocksize = 65536
|
||||||
fast_send = on
|
fast_send = on
|
||||||
own_ip = "198.108.77.243"
|
own_ip = "167.114.7.65"
|
||||||
port_range = "42069"
|
port_range = "42069"
|
||||||
send_ack = on
|
send_ack = on
|
||||||
speed_limit_recv = 0
|
speed_limit_recv = 0
|
||||||
|
|
Loading…
Reference in New Issue