mirror of https://git.envs.net/envs/skel.git
add etc/skel
This commit is contained in:
parent
9945ab0da5
commit
e6f3e20036
|
@ -0,0 +1,25 @@
|
|||
#
|
||||
# User specific exports
|
||||
#
|
||||
|
||||
export EDITOR="nano"
|
||||
export PAGER="most"
|
||||
|
||||
#
|
||||
# User specific aliases and functions
|
||||
#
|
||||
|
||||
alias grep='grep --color'
|
||||
alias psa='ps -axuwf'
|
||||
|
||||
alias ls='exa -ag'
|
||||
alias la='exa -lag'
|
||||
alias ll='exa -lahg'
|
||||
|
||||
#
|
||||
# envs.net
|
||||
#
|
||||
alias tb="nc tb.envs.net 9999"
|
||||
0file() { curl -F"file=@$1" https://0x0.envs.net ; }
|
||||
0url() { curl -F"url=$1" https://0x0.envs.net ; }
|
||||
0short() { curl -F"shorten=$1" https://0x0.envs.net ; }
|
|
@ -0,0 +1,7 @@
|
|||
# ~/.bash_logout: executed by bash(1) when login shell exits.
|
||||
|
||||
# when leaving the console clear the screen to increase privacy
|
||||
|
||||
if [ "$SHLVL" = 1 ]; then
|
||||
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
|
||||
fi
|
|
@ -0,0 +1,121 @@
|
|||
# ~/.bashrc: executed by bash(1) for non-login shells.
|
||||
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
||||
# for examples
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
case $- in
|
||||
*i*) ;;
|
||||
*) return;;
|
||||
esac
|
||||
|
||||
# don't put duplicate lines or lines starting with space in the history.
|
||||
# See bash(1) for more options
|
||||
HISTCONTROL=ignoreboth
|
||||
|
||||
# append to the history file, don't overwrite it
|
||||
shopt -s histappend
|
||||
|
||||
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
||||
HISTSIZE=1000
|
||||
HISTFILESIZE=2000
|
||||
|
||||
# check the window size after each command and, if necessary,
|
||||
# update the values of LINES and COLUMNS.
|
||||
shopt -s checkwinsize
|
||||
|
||||
# If set, the pattern "**" used in a pathname expansion context will
|
||||
# match all files and zero or more directories and subdirectories.
|
||||
#shopt -s globstar
|
||||
|
||||
# make less more friendly for non-text input files, see lesspipe(1)
|
||||
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
||||
|
||||
# set variable identifying the chroot you work in (used in the prompt below)
|
||||
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
|
||||
debian_chroot=$(cat /etc/debian_chroot)
|
||||
fi
|
||||
|
||||
# set a fancy prompt (non-color, unless we know we "want" color)
|
||||
case "$TERM" in
|
||||
xterm-color|*-256color) color_prompt=yes;;
|
||||
esac
|
||||
|
||||
# uncomment for a colored prompt, if the terminal has the capability; turned
|
||||
# off by default to not distract the user: the focus in a terminal window
|
||||
# should be on the output of commands, not on the prompt
|
||||
#force_color_prompt=yes
|
||||
|
||||
if [ -n "$force_color_prompt" ]; then
|
||||
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
||||
# We have color support; assume it's compliant with Ecma-48
|
||||
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
||||
# a case would tend to support setf rather than setaf.)
|
||||
color_prompt=yes
|
||||
else
|
||||
color_prompt=
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$color_prompt" = yes ]; then
|
||||
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
||||
USER_COLOR="1;32"
|
||||
if [[ $UID == 0 ]]; then
|
||||
USER_COLOR="1;31";
|
||||
fi
|
||||
|
||||
PS1='\e[${USER_COLOR}m[ ${USER}@envs.net ]\e[1;35m~\e[1;34m[ $PWD ]$(printf "%$(($COLUMNS - 9 - ${#USER} - ${#HOSTNAME} - ${#PWD} - 8))s")\e[1;33m[ \t ]\e[m\n$ '
|
||||
else
|
||||
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
||||
fi
|
||||
unset color_prompt force_color_prompt
|
||||
|
||||
# If this is an xterm set the title to user@host:dir
|
||||
case "$TERM" in
|
||||
xterm*|rxvt*)
|
||||
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# enable color support of ls and also add handy aliases
|
||||
if [ -x /usr/bin/dircolors ]; then
|
||||
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
||||
alias ls='ls --color=auto'
|
||||
#alias dir='dir --color=auto'
|
||||
#alias vdir='vdir --color=auto'
|
||||
|
||||
#alias grep='grep --color=auto'
|
||||
#alias fgrep='fgrep --color=auto'
|
||||
#alias egrep='egrep --color=auto'
|
||||
fi
|
||||
|
||||
# colored GCC warnings and errors
|
||||
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
|
||||
|
||||
# some more ls aliases
|
||||
#alias ll='ls -l'
|
||||
#alias la='ls -A'
|
||||
#alias l='ls -CF'
|
||||
|
||||
# Alias definitions.
|
||||
# You may want to put all your additions into a separate file like
|
||||
# ~/.bash_aliases, instead of adding them here directly.
|
||||
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
||||
|
||||
if [ -f ~/.bash_aliases ]; then
|
||||
. ~/.bash_aliases
|
||||
fi
|
||||
|
||||
# enable programmable completion features (you don't need to enable
|
||||
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
||||
# sources /etc/bash.bashrc).
|
||||
if ! shopt -oq posix; then
|
||||
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
||||
. /usr/share/bash-completion/bash_completion
|
||||
elif [ -f /etc/bash_completion ]; then
|
||||
. /etc/bash_completion
|
||||
fi
|
||||
fi
|
||||
|
||||
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
|
|
@ -0,0 +1,4 @@
|
|||
new -s envs -n chat 'weechat-curses';
|
||||
neww -n mail 'neomutt';
|
||||
neww -n shell;
|
||||
send-keys -t ":2" byobu-info Enter;
|
|
@ -0,0 +1 @@
|
|||
BYOBU_BACKEND=tmux
|
|
@ -0,0 +1,3 @@
|
|||
BACKGROUND=k
|
||||
FOREGROUND=w
|
||||
MONOCHROME=0
|
|
@ -0,0 +1,4 @@
|
|||
BYOBU_DARK="\#333333"
|
||||
BYOBU_LIGHT="\#EEEEEE"
|
||||
BYOBU_ACCENT="\#75507B"
|
||||
BYOBU_HIGHLIGHT="\#DD4814"
|
|
@ -0,0 +1,2 @@
|
|||
BYOBU_DATE="%Y-%m-%d "
|
||||
BYOBU_TIME="%H:%M:%S"
|
|
@ -0,0 +1 @@
|
|||
source $BYOBU_PREFIX/share/byobu/keybindings/common
|
|
@ -0,0 +1,4 @@
|
|||
unbind-key -n C-a
|
||||
set -g prefix ^A
|
||||
set -g prefix2 F12
|
||||
bind a send-prefix
|
|
@ -0,0 +1 @@
|
|||
source $BYOBU_PREFIX/share/byobu/profiles/common
|
|
@ -0,0 +1 @@
|
|||
source $BYOBU_PREFIX/share/byobu/profiles/tmux
|
|
@ -0,0 +1,2 @@
|
|||
[ -r /usr/share/byobu/profiles/bashrc ] && . /usr/share/byobu/profiles/bashrc
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
# status - Byobu's default status enabled/disabled settings
|
||||
#
|
||||
# Override these in $BYOBU_CONFIG_DIR/status
|
||||
# where BYOBU_CONFIG_DIR is XDG_CONFIG_HOME if defined,
|
||||
# and $HOME/.byobu otherwise.
|
||||
#
|
||||
# Copyright (C) 2009-2011 Canonical Ltd.
|
||||
#
|
||||
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, version 3 of the License.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Status beginning with '#' are disabled.
|
||||
|
||||
# Screen has two status lines, with 4 quadrants for status
|
||||
screen_upper_left="color"
|
||||
screen_upper_right="color whoami hostname ip_address menu"
|
||||
screen_lower_left="color logo distro release #arch session"
|
||||
screen_lower_right="color network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #ec2_cost #rcs_cost #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap disk #time_utc date time"
|
||||
|
||||
# Tmux has one status line, with 2 halves for status
|
||||
tmux_left="logo #distro release #arch session"
|
||||
# You can have as many tmux right lines below here, and cycle through them using Shift-F5
|
||||
tmux_right="#network #disk_io #custom #entropy raid reboot_required updates_available #apport #services #mail #users uptime #ec2_cost #rcs_cost #fan_speed #cpu_temp #battery #wifi_quality #processes load_average cpu_count cpu_freq memory #swap disk #whoami #hostname #ip_address #time_utc date time"
|
||||
#tmux_right="network #disk_io #custom entropy raid reboot_required updates_available #apport #services #mail users uptime #ec2_cost #rcs_cost fan_speed cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk whoami hostname ip_address #time_utc date time"
|
||||
#tmux_right="network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #ec2_cost #rcs_cost #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk #whoami #hostname ip_address #time_utc date time"
|
||||
#tmux_right="#network disk_io #custom entropy #raid #reboot_required #updates_available #apport #services #mail #users #uptime #ec2_cost #rcs_cost fan_speed cpu_temp #battery #wifi_quality #processes #load_average #cpu_count #cpu_freq #memory #swap whoami hostname ip_address #time_utc disk date time"
|
|
@ -0,0 +1,78 @@
|
|||
# statusrc - Byobu's default status configurations
|
||||
#
|
||||
# Override these in $BYOBU_CONFIG_DIR/statusrc
|
||||
# where BYOBU_CONFIG_DIR is XDG_CONFIG_HOME if defined,
|
||||
# and $HOME/.byobu otherwise.
|
||||
#
|
||||
# Copyright (C) 2009-2011 Canonical Ltd.
|
||||
#
|
||||
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, version 3 of the License.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Configurations that you can override; if you leave these commented out,
|
||||
# Byobu will try to auto-detect them.
|
||||
|
||||
# This should be auto-detected for most distro, but setting it here will save
|
||||
# some call to lsb_release and the like.
|
||||
#BYOBU_DISTRO=Ubuntu
|
||||
|
||||
# Default: depends on the distro (which is either auto-detected, either set
|
||||
# via $DISTRO)
|
||||
#LOGO="\o/"
|
||||
|
||||
# Abbreviate the release to N characters
|
||||
# By default, this is disabled. But if you set RELEASE_ABBREVIATED=1
|
||||
# and your lsb_release is "precise", only "p" will be displayed
|
||||
#RELEASE_ABBREVIATED=1
|
||||
|
||||
# Default: /
|
||||
#MONITORED_DISK=/
|
||||
|
||||
# Minimum disk throughput that triggers the notification (in kB/s)
|
||||
# Default: 50
|
||||
#DISK_IO_THRESHOLD=50
|
||||
|
||||
# Default: eth0
|
||||
#MONITORED_NETWORK=eth0
|
||||
|
||||
# Unit used for network throughput (either bits per second or bytes per second)
|
||||
# Default: bits
|
||||
#NETWORK_UNITS=bytes
|
||||
|
||||
# Minimum network throughput that triggers the notification (in kbit/s)
|
||||
# Default: 20
|
||||
#NETWORK_THRESHOLD=20
|
||||
|
||||
# You can add an additional source of temperature here
|
||||
#MONITORED_TEMP=/proc/acpi/thermal_zone/THM0/temperature
|
||||
|
||||
# Default: C
|
||||
#TEMP=F
|
||||
|
||||
#SERVICES="eucalyptus-nc|NC eucalyptus-cloud|CLC eucalyptus-walrus eucalyptus-cc|CC eucalyptus-sc|SC"
|
||||
|
||||
#FAN=$(find /sys -type f -name fan1_input | head -n1)
|
||||
|
||||
# You can set this to 1 to report your external/public ip address
|
||||
# Default: 0
|
||||
#IP_EXTERNAL=0
|
||||
|
||||
# The users notification normally counts ssh sessions; set this configuration to '1'
|
||||
# to instead count number of distinct users logged onto the system
|
||||
# Default: 0
|
||||
#USERS_DISTINCT=0
|
||||
|
||||
# Set this to zero to hide seconds int the time display
|
||||
# Default 1
|
||||
#TIME_SECONDS=0
|
|
@ -0,0 +1 @@
|
|||
attach;
|
|
@ -0,0 +1,29 @@
|
|||
config_dir_gopher="$HOME/public_gopher/"
|
||||
|
||||
config_gopher_server="envs.net"
|
||||
config_gopher_port="70"
|
||||
config_gopher_root="/~$USER/"
|
||||
|
||||
config_dir_phlog="phlog"
|
||||
config_phlog_gophermap=true
|
||||
config_phlog_usedate=true
|
||||
config_phlog_autorss=false
|
||||
|
||||
config_dir_recipebox="recipebox"
|
||||
config_recipebox_gophermap=false
|
||||
config_recipebox_usedate=false
|
||||
|
||||
config_dir_topics="topics"
|
||||
config_topics_gophermap=true
|
||||
config_topics_usedate=false
|
||||
|
||||
config_git_commit=false
|
||||
config_git_push=false
|
||||
|
||||
config_autoindent=true
|
||||
|
||||
config_file_rss="rss.xml"
|
||||
config_gopher_name="$USER's gopherhole"
|
||||
config_gopher_desc="this is my gopherhole"
|
||||
config_rss_num_entries="10"
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
# Beware! This file is rewritten by htop when settings are changed in the interface.
|
||||
# The parser is also very primitive, and not human-friendly.
|
||||
fields=0 48 17 18 38 39 40 2 46 47 111 49 1
|
||||
sort_key=46
|
||||
sort_direction=1
|
||||
hide_threads=0
|
||||
hide_kernel_threads=1
|
||||
hide_userland_threads=0
|
||||
shadow_other_users=0
|
||||
show_thread_names=0
|
||||
show_program_path=1
|
||||
highlight_base_name=1
|
||||
highlight_megabytes=1
|
||||
highlight_threads=1
|
||||
tree_view=1
|
||||
header_margin=1
|
||||
detailed_cpu_time=1
|
||||
cpu_count_from_zero=0
|
||||
update_process_names=0
|
||||
account_guest_in_cpu_meter=1
|
||||
color_scheme=0
|
||||
delay=15
|
||||
left_meters=AllCPUs2 Memory Swap
|
||||
left_meter_modes=1 1 1
|
||||
right_meters=Hostname Tasks LoadAverage Uptime
|
||||
right_meter_modes=2 2 2 2
|
Binary file not shown.
|
@ -0,0 +1,151 @@
|
|||
# Copyright (C) 2009-2013 Roman Zimbelmann <hut@lavabit.com>
|
||||
# This software is distributed under the terms of the GNU GPL version 3.
|
||||
|
||||
from ranger.gui.colorscheme import ColorScheme
|
||||
from ranger.gui.color import *
|
||||
|
||||
class Default(ColorScheme):
|
||||
progress_bar_color = blue
|
||||
|
||||
def use(self, context):
|
||||
fg, bg, attr = default_colors
|
||||
|
||||
if context.reset:
|
||||
return default_colors
|
||||
|
||||
elif context.in_browser:
|
||||
if context.selected:
|
||||
attr = reverse
|
||||
else:
|
||||
attr = normal
|
||||
if context.empty or context.error:
|
||||
bg = red
|
||||
if context.border:
|
||||
fg = default
|
||||
if context.media:
|
||||
if context.image:
|
||||
fg = yellow
|
||||
else:
|
||||
fg = magenta
|
||||
if context.container:
|
||||
fg = red
|
||||
if context.directory:
|
||||
attr |= bold
|
||||
fg = blue
|
||||
elif context.executable and not \
|
||||
any((context.media, context.container,
|
||||
context.fifo, context.socket)):
|
||||
attr |= bold
|
||||
fg = green
|
||||
if context.socket:
|
||||
fg = magenta
|
||||
attr |= bold
|
||||
if context.fifo or context.device:
|
||||
fg = yellow
|
||||
if context.device:
|
||||
attr |= bold
|
||||
if context.link:
|
||||
fg = context.good and cyan or magenta
|
||||
if context.tag_marker and not context.selected:
|
||||
attr |= bold
|
||||
if fg in (red, magenta):
|
||||
fg = white
|
||||
else:
|
||||
fg = red
|
||||
if not context.selected and (context.cut or context.copied):
|
||||
fg = black
|
||||
attr |= bold
|
||||
if context.main_column:
|
||||
if context.selected:
|
||||
attr |= bold
|
||||
if context.marked:
|
||||
attr |= bold
|
||||
fg = yellow
|
||||
if context.badinfo:
|
||||
if attr & reverse:
|
||||
bg = magenta
|
||||
else:
|
||||
fg = magenta
|
||||
|
||||
elif context.in_titlebar:
|
||||
attr |= bold
|
||||
if context.hostname:
|
||||
fg = context.bad and red or green
|
||||
elif context.directory:
|
||||
fg = blue
|
||||
elif context.tab:
|
||||
if context.good:
|
||||
bg = green
|
||||
elif context.link:
|
||||
fg = cyan
|
||||
|
||||
elif context.in_statusbar:
|
||||
if context.permissions:
|
||||
if context.good:
|
||||
fg = cyan
|
||||
elif context.bad:
|
||||
fg = magenta
|
||||
if context.marked:
|
||||
attr |= bold | reverse
|
||||
fg = yellow
|
||||
if context.message:
|
||||
if context.bad:
|
||||
attr |= bold
|
||||
fg = red
|
||||
if context.loaded:
|
||||
bg = self.progress_bar_color
|
||||
if context.vcsinfo:
|
||||
fg = blue
|
||||
attr &= ~bold
|
||||
if context.vcscommit:
|
||||
fg = yellow
|
||||
attr &= ~bold
|
||||
|
||||
|
||||
if context.text:
|
||||
if context.highlight:
|
||||
attr |= reverse
|
||||
|
||||
if context.in_taskview:
|
||||
if context.title:
|
||||
fg = blue
|
||||
|
||||
if context.selected:
|
||||
attr |= reverse
|
||||
|
||||
if context.loaded:
|
||||
if context.selected:
|
||||
fg = self.progress_bar_color
|
||||
else:
|
||||
bg = self.progress_bar_color
|
||||
|
||||
|
||||
if context.vcsfile and not context.selected:
|
||||
attr &= ~bold
|
||||
if context.vcsconflict:
|
||||
fg = magenta
|
||||
elif context.vcschanged:
|
||||
fg = red
|
||||
elif context.vcsunknown:
|
||||
fg = red
|
||||
elif context.vcsstaged:
|
||||
fg = green
|
||||
elif context.vcssync:
|
||||
fg = green
|
||||
elif context.vcsignored:
|
||||
fg = default
|
||||
|
||||
elif context.vcsremote and not context.selected:
|
||||
attr &= ~bold
|
||||
if context.vcssync:
|
||||
fg = green
|
||||
elif context.vcsbehind:
|
||||
fg = red
|
||||
elif context.vcsahead:
|
||||
fg = blue
|
||||
elif context.vcsdiverged:
|
||||
fg = magenta
|
||||
elif context.vcsunknown:
|
||||
fg = red
|
||||
|
||||
return fg, bg, attr
|
Binary file not shown.
|
@ -0,0 +1,18 @@
|
|||
# Copyright (C) 2009-2013 Roman Zimbelmann <hut@lavabit.com>
|
||||
# This software is distributed under the terms of the GNU GPL version 3.
|
||||
|
||||
from ranger.gui.color import *
|
||||
from ranger.colorschemes.default import Default
|
||||
|
||||
class Scheme(Default):
|
||||
progress_bar_color = green
|
||||
def use(self, context):
|
||||
fg, bg, attr = Default.use(self, context)
|
||||
|
||||
if context.directory and not context.marked and not context.link:
|
||||
fg = green
|
||||
|
||||
if context.in_titlebar and context.hostname:
|
||||
fg = red if context.bad else blue
|
||||
|
||||
return fg, bg, attr
|
|
@ -0,0 +1,38 @@
|
|||
# Copyright (C) 2009-2013 Roman Zimbelmann <hut@lavabit.com>
|
||||
# This software is distributed under the terms of the GNU GPL version 3.
|
||||
|
||||
from ranger.gui.colorscheme import ColorScheme
|
||||
from ranger.gui.color import *
|
||||
|
||||
class Snow(ColorScheme):
|
||||
def use(self, context):
|
||||
fg, bg, attr = default_colors
|
||||
|
||||
if context.reset:
|
||||
pass
|
||||
|
||||
elif context.in_browser:
|
||||
if context.selected:
|
||||
attr = reverse
|
||||
if context.directory:
|
||||
attr |= bold
|
||||
|
||||
elif context.highlight:
|
||||
attr |= reverse
|
||||
|
||||
elif context.in_titlebar and context.tab and context.good:
|
||||
attr |= reverse
|
||||
|
||||
elif context.in_statusbar:
|
||||
if context.loaded:
|
||||
attr |= reverse
|
||||
if context.marked:
|
||||
attr |= reverse
|
||||
|
||||
elif context.in_taskview:
|
||||
if context.selected:
|
||||
attr |= bold
|
||||
if context.loaded:
|
||||
attr |= reverse
|
||||
|
||||
return fg, bg, attr
|
|
@ -0,0 +1,518 @@
|
|||
# ===================================================================
|
||||
# This file contains the default startup commands for ranger.
|
||||
# To change them, it is recommended to create the file
|
||||
# ~/.config/ranger/rc.conf and add your custom commands there.
|
||||
#
|
||||
# If you copy this whole file there, you may want to set the environment
|
||||
# variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice.
|
||||
#
|
||||
# The purpose of this file is mainly to define keybindings and settings.
|
||||
# For running more complex python code, please create a plugin in "plugins/" or
|
||||
# a command in "commands.py".
|
||||
#
|
||||
# Each line is a command that will be run before the user interface
|
||||
# is initialized. As a result, you can not use commands which rely
|
||||
# on the UI such as :delete or :mark.
|
||||
# ===================================================================
|
||||
|
||||
# ===================================================================
|
||||
# == Options
|
||||
# ===================================================================
|
||||
|
||||
# How many columns are there, and what are their relative widths?
|
||||
set column_ratios 1,3,4
|
||||
|
||||
# Which files should be hidden? (regular expression)
|
||||
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
|
||||
|
||||
# Show hidden files? You can toggle this by typing 'zh'
|
||||
set show_hidden true
|
||||
|
||||
# Ask for a confirmation when running the "delete" command?
|
||||
# Valid values are "always" (default), "never", "multiple"
|
||||
# With "multiple", ranger will ask only if you delete multiple files at once.
|
||||
set confirm_on_delete multiple
|
||||
|
||||
# Open all images in this directory when running certain image viewers
|
||||
# like feh or sxiv? You can still open selected files by marking them.
|
||||
set open_all_images true
|
||||
|
||||
# Be aware of version control systems and display information.
|
||||
set vcs_aware false
|
||||
|
||||
# State of the three backends git, hg, bzr. The possible states are
|
||||
# disabled, local (only show local info), enabled (show local and remote
|
||||
# information).
|
||||
set vcs_backend_git enabled
|
||||
set vcs_backend_hg disbaled
|
||||
set vcs_backend_bzr disabled
|
||||
|
||||
# Preview images in full color with the external command "w3mimgpreview"?
|
||||
# This requires the console web browser "w3m" and a supported terminal.
|
||||
# It has been successfully tested with "xterm" and "urxvt" without tmux.
|
||||
set preview_images true
|
||||
|
||||
# Use a unicode "..." character to mark cut-off filenames?
|
||||
set unicode_ellipsis false
|
||||
|
||||
# Show dotfiles in the bookmark preview box?
|
||||
set show_hidden_bookmarks true
|
||||
|
||||
# Preview files on the rightmost column?
|
||||
# And collapse (shrink) the last column if there is nothing to preview?
|
||||
set preview_files true
|
||||
set preview_directories true
|
||||
set collapse_preview true
|
||||
|
||||
# Save the console history on exit?
|
||||
set save_console_history true
|
||||
|
||||
# Draw the status bar on top of the browser window (default: bottom)
|
||||
set status_bar_on_top false
|
||||
|
||||
# Draw a progress bar in the status bar which displays the average state of all
|
||||
# currently running tasks which support progress bars?
|
||||
set draw_progress_bar_in_status_bar true
|
||||
|
||||
# Draw borders around columns?
|
||||
set draw_borders false
|
||||
|
||||
# Display the directory name in tabs?
|
||||
set dirname_in_tabs false
|
||||
|
||||
# Enable the mouse support?
|
||||
set mouse_enabled true
|
||||
|
||||
# Display the file size in the main column or status bar?
|
||||
set display_size_in_main_column true
|
||||
set display_size_in_status_bar true
|
||||
|
||||
# Display files tags in all columns or only in main column?
|
||||
set display_tags_in_all_columns true
|
||||
|
||||
# Set a title for the window?
|
||||
set update_title true
|
||||
|
||||
# Set the title to "ranger" in the tmux program?
|
||||
set update_tmux_title false
|
||||
|
||||
# Shorten the title if it gets long? The number defines how many
|
||||
# directories are displayed at once, 0 turns off this feature.
|
||||
set shorten_title 3
|
||||
|
||||
# Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
|
||||
set tilde_in_titlebar true
|
||||
|
||||
# How many directory-changes or console-commands should be kept in history?
|
||||
set max_history_size 200
|
||||
set max_console_history_size 250
|
||||
|
||||
# Try to keep so much space between the top/bottom border when scrolling:
|
||||
set scroll_offset 8
|
||||
|
||||
# Flush the input after each key hit? (Noticable when ranger lags)
|
||||
set flushinput true
|
||||
|
||||
# Padding on the right when there's no preview?
|
||||
# This allows you to click into the space to run the file.
|
||||
set padding_right true
|
||||
|
||||
# Save bookmarks (used with mX and `X) instantly?
|
||||
# This helps to synchronize bookmarks between multiple ranger
|
||||
# instances but leads to *slight* performance loss.
|
||||
# When false, bookmarks are saved when ranger is exited.
|
||||
set autosave_bookmarks true
|
||||
|
||||
# You can display the "real" cumulative size of directories by using the
|
||||
# command :get_cumulative_size or typing "dc". The size is expensive to
|
||||
# calculate and will not be updated automatically. You can choose
|
||||
# to update it automatically though by turning on this option:
|
||||
set autoupdate_cumulative_size false
|
||||
|
||||
# Turning this on makes sense for screen readers:
|
||||
set show_cursor false
|
||||
|
||||
# One of: size, basename, mtime, type
|
||||
set sort natural
|
||||
|
||||
# Additional sorting options
|
||||
set sort_reverse false
|
||||
set sort_case_insensitive true
|
||||
set sort_directories_first true
|
||||
|
||||
# Enable this if key combinations with the Alt Key don't work for you.
|
||||
# (Especially on xterm)
|
||||
set xterm_alt_key false
|
||||
|
||||
# ===================================================================
|
||||
# == Local Options
|
||||
# ===================================================================
|
||||
# You can set local options that only affect a single directory.
|
||||
|
||||
# Examples:
|
||||
# setlocal path=~/downloads sort mtime
|
||||
|
||||
# ===================================================================
|
||||
# == Command Aliases in the Console
|
||||
# ===================================================================
|
||||
|
||||
alias e edit
|
||||
alias q quit
|
||||
alias q! quitall
|
||||
alias qall quitall
|
||||
alias setl setlocal
|
||||
|
||||
alias filter scout -prt
|
||||
alias find scout -aet
|
||||
alias mark scout -mr
|
||||
alias unmark scout -Mr
|
||||
alias search scout -rs
|
||||
alias search_inc scout -rts
|
||||
alias travel scout -aefiklst
|
||||
|
||||
# ===================================================================
|
||||
# == Define keys for the browser
|
||||
# ===================================================================
|
||||
|
||||
# Basic
|
||||
map Q quit!
|
||||
map q quit
|
||||
copymap q ZZ ZQ
|
||||
|
||||
map R reload_cwd
|
||||
map <C-r> reset
|
||||
map <C-l> redraw_window
|
||||
map <C-c> abort
|
||||
map <esc> change_mode normal
|
||||
|
||||
map i display_file
|
||||
map ? help
|
||||
map W display_log
|
||||
map w taskview_open
|
||||
map S shell $SHELL
|
||||
|
||||
map : console
|
||||
map ; console
|
||||
map ! console shell
|
||||
map @ console -p6 shell %%s
|
||||
map # console shell -p
|
||||
map s console shell
|
||||
map r chain draw_possible_programs; console open_with
|
||||
map f console find
|
||||
map cd console cd
|
||||
|
||||
# Tagging / Marking
|
||||
map t tag_toggle
|
||||
map ut tag_remove
|
||||
map "<any> tag_toggle tag=%any
|
||||
map <Space> mark_files toggle=True
|
||||
map v mark_files all=True toggle=True
|
||||
map uv mark_files all=True val=False
|
||||
map V toggle_visual_mode
|
||||
map uV toggle_visual_mode reverse=True
|
||||
|
||||
# For the nostalgics: Midnight Commander bindings
|
||||
map <F1> help
|
||||
map <F3> display_file
|
||||
map <F4> edit
|
||||
map <F5> copy
|
||||
map <F6> cut
|
||||
map <F7> console mkdir
|
||||
map <F8> console delete
|
||||
map <F10> exit
|
||||
|
||||
# In case you work on a keyboard with dvorak layout
|
||||
map <UP> move up=1
|
||||
map <DOWN> move down=1
|
||||
map <LEFT> move left=1
|
||||
map <RIGHT> move right=1
|
||||
map <HOME> move to=0
|
||||
map <END> move to=-1
|
||||
map <PAGEDOWN> move down=1 pages=True
|
||||
map <PAGEUP> move up=1 pages=True
|
||||
map <CR> move right=1
|
||||
map <DELETE> console delete
|
||||
map <INSERT> console touch
|
||||
|
||||
# VIM-like
|
||||
copymap <UP> k
|
||||
copymap <DOWN> j
|
||||
copymap <LEFT> h
|
||||
copymap <RIGHT> l
|
||||
copymap <HOME> gg
|
||||
copymap <END> G
|
||||
copymap <PAGEDOWN> <C-F>
|
||||
copymap <PAGEUP> <C-B>
|
||||
|
||||
map J move down=0.5 pages=True
|
||||
map K move up=0.5 pages=True
|
||||
copymap J <C-D>
|
||||
copymap K <C-U>
|
||||
|
||||
# Jumping around
|
||||
map H history_go -1
|
||||
map L history_go 1
|
||||
map ] move_parent 1
|
||||
map [ move_parent -1
|
||||
map } traverse
|
||||
|
||||
map gh cd ~
|
||||
map ge cd /etc
|
||||
map gu cd /usr
|
||||
map gd cd /dev
|
||||
map gl cd -r .
|
||||
map gL cd -r %f
|
||||
map go cd /opt
|
||||
map gv cd /var
|
||||
map gm cd /media
|
||||
map gM cd /mnt
|
||||
map gs cd /srv
|
||||
map gr cd /
|
||||
map gR eval fm.cd(ranger.RANGERDIR)
|
||||
map g/ cd /
|
||||
map g? cd /usr/share/doc/ranger
|
||||
|
||||
# External Programs
|
||||
map E edit
|
||||
map du shell -p du --max-depth=1 -h --apparent-size
|
||||
map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
|
||||
map yp shell -d echo -n %d/%f | xsel -i
|
||||
map yd shell -d echo -n %d | xsel -i
|
||||
map yn shell -d echo -n %f | xsel -i
|
||||
|
||||
# Filesystem Operations
|
||||
map = chmod
|
||||
|
||||
map cw console rename
|
||||
map A eval fm.open_console('rename ' + fm.thisfile.basename)
|
||||
map I eval fm.open_console('rename ' + fm.thisfile.basename, position=7)
|
||||
|
||||
map pp paste
|
||||
map po paste overwrite=True
|
||||
map pl paste_symlink relative=False
|
||||
map pL paste_symlink relative=True
|
||||
map phl paste_hardlink
|
||||
map pht paste_hardlinked_subtree
|
||||
|
||||
map dd cut
|
||||
map ud uncut
|
||||
map da cut mode=add
|
||||
map dr cut mode=remove
|
||||
|
||||
map yy copy
|
||||
map uy uncut
|
||||
map ya copy mode=add
|
||||
map yr copy mode=remove
|
||||
|
||||
# Temporary workarounds
|
||||
map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
|
||||
map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
|
||||
map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
|
||||
map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
|
||||
map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
|
||||
map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
|
||||
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
|
||||
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
|
||||
|
||||
# Searching
|
||||
map / console search
|
||||
map n search_next
|
||||
map N search_next forward=False
|
||||
map ct search_next order=tag
|
||||
map cs search_next order=size
|
||||
map ci search_next order=mimetype
|
||||
map cc search_next order=ctime
|
||||
map cm search_next order=mtime
|
||||
map ca search_next order=atime
|
||||
|
||||
# Tabs
|
||||
map <C-n> tab_new ~
|
||||
map <C-w> tab_close
|
||||
map <TAB> tab_move 1
|
||||
map <S-TAB> tab_move -1
|
||||
map <A-Right> tab_move 1
|
||||
map <A-Left> tab_move -1
|
||||
map gt tab_move 1
|
||||
map gT tab_move -1
|
||||
map gn tab_new ~
|
||||
map gc tab_close
|
||||
map uq tab_restore
|
||||
map <a-1> tab_open 1
|
||||
map <a-2> tab_open 2
|
||||
map <a-3> tab_open 3
|
||||
map <a-4> tab_open 4
|
||||
map <a-5> tab_open 5
|
||||
map <a-6> tab_open 6
|
||||
map <a-7> tab_open 7
|
||||
map <a-8> tab_open 8
|
||||
map <a-9> tab_open 9
|
||||
|
||||
# Sorting
|
||||
map or toggle_option sort_reverse
|
||||
map os chain set sort=size; set sort_reverse=False
|
||||
map ob chain set sort=basename; set sort_reverse=False
|
||||
map on chain set sort=natural; set sort_reverse=False
|
||||
map om chain set sort=mtime; set sort_reverse=False
|
||||
map oc chain set sort=ctime; set sort_reverse=False
|
||||
map oa chain set sort=atime; set sort_reverse=False
|
||||
map ot chain set sort=type; set sort_reverse=False
|
||||
|
||||
map oS chain set sort=size; set sort_reverse=True
|
||||
map oB chain set sort=basename; set sort_reverse=True
|
||||
map oN chain set sort=natural; set sort_reverse=True
|
||||
map oM chain set sort=mtime; set sort_reverse=True
|
||||
map oC chain set sort=ctime; set sort_reverse=True
|
||||
map oA chain set sort=atime; set sort_reverse=True
|
||||
map oT chain set sort=type; set sort_reverse=True
|
||||
|
||||
map dc get_cumulative_size
|
||||
|
||||
# Settings
|
||||
map zc toggle_option collapse_preview
|
||||
map zd toggle_option sort_directories_first
|
||||
map zh toggle_option show_hidden
|
||||
map <C-h> toggle_option show_hidden
|
||||
map zi toggle_option flushinput
|
||||
map zm toggle_option mouse_enabled
|
||||
map zp toggle_option preview_files
|
||||
map zP toggle_option preview_directories
|
||||
map zs toggle_option sort_case_insensitive
|
||||
map zu toggle_option autoupdate_cumulative_size
|
||||
map zv toggle_option use_preview_script
|
||||
map zf console filter
|
||||
|
||||
# Bookmarks
|
||||
map `<any> enter_bookmark %any
|
||||
map '<any> enter_bookmark %any
|
||||
map m<any> set_bookmark %any
|
||||
map um<any> unset_bookmark %any
|
||||
|
||||
map m<bg> draw_bookmarks
|
||||
copymap m<bg> um<bg> `<bg> '<bg>
|
||||
|
||||
# Generate all the chmod bindings with some python help:
|
||||
eval for arg in "rwxXst": cmd("map +u{0} shell -d chmod u+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +g{0} shell -d chmod g+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +o{0} shell -d chmod o+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +a{0} shell -d chmod a+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +{0} shell -d chmod u+{0} %s".format(arg))
|
||||
|
||||
eval for arg in "rwxXst": cmd("map -u{0} shell -d chmod u-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -g{0} shell -d chmod g-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -o{0} shell -d chmod o-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -a{0} shell -d chmod a-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -{0} shell -d chmod u-{0} %s".format(arg))
|
||||
|
||||
# ===================================================================
|
||||
# == Define keys for the console
|
||||
# ===================================================================
|
||||
# Note: Unmapped keys are passed directly to the console.
|
||||
|
||||
# Basic
|
||||
cmap <tab> eval fm.ui.console.tab()
|
||||
cmap <s-tab> eval fm.ui.console.tab(-1)
|
||||
cmap <ESC> eval fm.ui.console.close()
|
||||
cmap <CR> eval fm.ui.console.execute()
|
||||
cmap <C-l> redraw_window
|
||||
|
||||
copycmap <ESC> <C-c>
|
||||
copycmap <CR> <C-j>
|
||||
|
||||
# Move around
|
||||
cmap <up> eval fm.ui.console.history_move(-1)
|
||||
cmap <down> eval fm.ui.console.history_move(1)
|
||||
cmap <left> eval fm.ui.console.move(left=1)
|
||||
cmap <right> eval fm.ui.console.move(right=1)
|
||||
cmap <home> eval fm.ui.console.move(right=0, absolute=True)
|
||||
cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
|
||||
|
||||
# Line Editing
|
||||
cmap <backspace> eval fm.ui.console.delete(-1)
|
||||
cmap <delete> eval fm.ui.console.delete(0)
|
||||
cmap <C-w> eval fm.ui.console.delete_word()
|
||||
cmap <C-k> eval fm.ui.console.delete_rest(1)
|
||||
cmap <C-u> eval fm.ui.console.delete_rest(-1)
|
||||
cmap <C-y> eval fm.ui.console.paste()
|
||||
|
||||
# And of course the emacs way
|
||||
copycmap <up> <C-p>
|
||||
copycmap <down> <C-n>
|
||||
copycmap <left> <C-b>
|
||||
copycmap <right> <C-f>
|
||||
copycmap <home> <C-a>
|
||||
copycmap <end> <C-e>
|
||||
copycmap <delete> <C-d>
|
||||
copycmap <backspace> <C-h>
|
||||
|
||||
# Note: There are multiple ways to express backspaces. <backspace> (code 263)
|
||||
# and <backspace2> (code 127). To be sure, use both.
|
||||
copycmap <backspace> <backspace2>
|
||||
|
||||
# This special expression allows typing in numerals:
|
||||
cmap <allow_quantifiers> false
|
||||
|
||||
# ===================================================================
|
||||
# == Pager Keybindings
|
||||
# ===================================================================
|
||||
|
||||
# Movement
|
||||
pmap <down> pager_move down=1
|
||||
pmap <up> pager_move up=1
|
||||
pmap <left> pager_move left=4
|
||||
pmap <right> pager_move right=4
|
||||
pmap <home> pager_move to=0
|
||||
pmap <end> pager_move to=-1
|
||||
pmap <pagedown> pager_move down=1.0 pages=True
|
||||
pmap <pageup> pager_move up=1.0 pages=True
|
||||
pmap <C-d> pager_move down=0.5 pages=True
|
||||
pmap <C-u> pager_move up=0.5 pages=True
|
||||
|
||||
copypmap <UP> k <C-p>
|
||||
copypmap <DOWN> j <C-n> <CR>
|
||||
copypmap <LEFT> h
|
||||
copypmap <RIGHT> l
|
||||
copypmap <HOME> g
|
||||
copypmap <END> G
|
||||
copypmap <C-d> d
|
||||
copypmap <C-u> u
|
||||
copypmap <PAGEDOWN> n f <C-F> <Space>
|
||||
copypmap <PAGEUP> p b <C-B>
|
||||
|
||||
# Basic
|
||||
pmap <ESC> pager_close
|
||||
copypmap <ESC> q Q i <F3>
|
||||
pmap E edit_file
|
||||
|
||||
# ===================================================================
|
||||
# == Taskview Keybindings
|
||||
# ===================================================================
|
||||
|
||||
# Movement
|
||||
tmap <up> taskview_move up=1
|
||||
tmap <down> taskview_move down=1
|
||||
tmap <home> taskview_move to=0
|
||||
tmap <end> taskview_move to=-1
|
||||
tmap <pagedown> taskview_move down=1.0 pages=True
|
||||
tmap <pageup> taskview_move up=1.0 pages=True
|
||||
tmap <C-d> taskview_move down=0.5 pages=True
|
||||
tmap <C-u> taskview_move up=0.5 pages=True
|
||||
|
||||
copytmap <UP> k <C-p>
|
||||
copytmap <DOWN> j <C-n> <CR>
|
||||
copytmap <HOME> g
|
||||
copytmap <END> G
|
||||
copytmap <C-u> u
|
||||
copytmap <PAGEDOWN> n f <C-F> <Space>
|
||||
copytmap <PAGEUP> p b <C-B>
|
||||
|
||||
# Changing priority and deleting tasks
|
||||
tmap J eval -q fm.ui.taskview.task_move(-1)
|
||||
tmap K eval -q fm.ui.taskview.task_move(0)
|
||||
tmap dd eval -q fm.ui.taskview.task_remove()
|
||||
tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
|
||||
tmap <pageup> eval -q fm.ui.taskview.task_move(0)
|
||||
tmap <delete> eval -q fm.ui.taskview.task_remove()
|
||||
|
||||
# Basic
|
||||
tmap <ESC> taskview_close
|
||||
copytmap <ESC> q Q w <C-c>
|
|
@ -0,0 +1,13 @@
|
|||
# Setup fzf
|
||||
# ---------
|
||||
if [[ ! "$PATH" == */opt/fzf/bin* ]]; then
|
||||
export PATH="${PATH:+${PATH}:}/opt/fzf/bin"
|
||||
fi
|
||||
|
||||
# Auto-completion
|
||||
# ---------------
|
||||
[[ $- == *i* ]] && source "/opt/fzf/shell/completion.bash" 2> /dev/null
|
||||
|
||||
# Key bindings
|
||||
# ------------
|
||||
source "/opt/fzf/shell/key-bindings.bash"
|
|
@ -0,0 +1,117 @@
|
|||
# -*-muttrc-*-
|
||||
#
|
||||
# Command formats for gpg.
|
||||
#
|
||||
# Some of the older commented-out versions of the commands use gpg-2comp from:
|
||||
# http://70t.de/download/gpg-2comp.tar.gz
|
||||
#
|
||||
# %p The empty string when no passphrase is needed,
|
||||
# the string "PGPPASSFD=0" if one is needed.
|
||||
#
|
||||
# This is mostly used in conditional % sequences.
|
||||
#
|
||||
# %f Most PGP commands operate on a single file or a file
|
||||
# containing a message. %f expands to this file's name.
|
||||
#
|
||||
# %s When verifying signatures, there is another temporary file
|
||||
# containing the detached signature. %s expands to this
|
||||
# file's name.
|
||||
#
|
||||
# %a In "signing" contexts, this expands to the value of the
|
||||
# configuration variable $pgp_sign_as, if set, otherwise
|
||||
# $pgp_default_key. You probably need to
|
||||
# use this within a conditional % sequence.
|
||||
#
|
||||
# %r In many contexts, mutt passes key IDs to pgp. %r expands to
|
||||
# a list of key IDs.
|
||||
|
||||
|
||||
# Section A: Key Management
|
||||
|
||||
# The default key for encryption (used by $pgp_self_encrypt and
|
||||
# $postpone_encrypt).
|
||||
#
|
||||
# It will also be used for signing unless $pgp_sign_as is set to a
|
||||
# key.
|
||||
#
|
||||
# Unless your key does not have encryption capability, uncomment this
|
||||
# line and replace the keyid with your own.
|
||||
#
|
||||
#set pgp_default_key="0x12345678"
|
||||
|
||||
# If you have a separate signing key, or your key _only_ has signing
|
||||
# capability, uncomment this line and replace the keyid with your
|
||||
# signing keyid.
|
||||
#
|
||||
# set pgp_sign_as="0x87654321"
|
||||
|
||||
|
||||
# Section B: Commands
|
||||
|
||||
# Note that we explicitly set the comment armor header since GnuPG, when used
|
||||
# in some localiaztion environments, generates 8bit data in that header, thereby
|
||||
# breaking PGP/MIME.
|
||||
|
||||
# Note from the Debian mutt maintainers: starting from 1.7.0-2 GPGME is enabled
|
||||
# by default. More info in NEWS.Debian.
|
||||
# THe pgp_* commands are left here for people who disable gpgme in their
|
||||
# ~/.muttrc
|
||||
set crypt_use_gpgme=yes
|
||||
|
||||
# Note from the Debian mutt maintainers: the addition of
|
||||
# "--pinentry-mode loopback" breaks gpgv1 compatiblity, if you need to use gpgv1
|
||||
# remove that statement.
|
||||
|
||||
# decode application/pgp
|
||||
set pgp_decode_command="gpg --status-fd=2 %?p?--passphrase-fd 0 --pinentry-mode=loopback? --no-verbose --quiet --batch --output - %f"
|
||||
|
||||
# verify a pgp/mime signature
|
||||
set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f"
|
||||
|
||||
# decrypt a pgp/mime attachment
|
||||
set pgp_decrypt_command="gpg --status-fd=2 %?p?--passphrase-fd 0 --pinentry-mode=loopback? --no-verbose --quiet --batch --output - %f"
|
||||
|
||||
# create a pgp/mime signed attachment
|
||||
set pgp_sign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0 --pinentry-mode=loopback? --armor --detach-sign --textmode %?a?-u %a? %f"
|
||||
|
||||
# create a application/pgp signed (old-style) message
|
||||
set pgp_clearsign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0 --pinentry-mode=loopback? --armor --textmode --clearsign %?a?-u %a? %f"
|
||||
|
||||
# create a pgp/mime encrypted attachment
|
||||
set pgp_encrypt_only_command="/usr/lib/mutt/pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f"
|
||||
|
||||
# create a pgp/mime encrypted and signed attachment
|
||||
set pgp_encrypt_sign_command="/usr/lib/mutt/pgpewrap gpg %?p?--passphrase-fd 0 --pinentry-mode=loopback? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
|
||||
|
||||
# import a key into the public key ring
|
||||
set pgp_import_command="gpg --no-verbose --import %f"
|
||||
|
||||
# export a key from the public key ring
|
||||
set pgp_export_command="gpg --no-verbose --export --armor %r"
|
||||
|
||||
# verify a key
|
||||
set pgp_verify_key_command="gpg --verbose --batch --fingerprint --check-sigs %r"
|
||||
|
||||
# read in the public key ring
|
||||
set pgp_list_pubring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-keys %r"
|
||||
|
||||
# read in the secret key ring
|
||||
set pgp_list_secring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-secret-keys %r"
|
||||
|
||||
# fetch keys
|
||||
# set pgp_getkeys_command="pkspxycwrap %r"
|
||||
|
||||
# pattern for good signature - may need to be adapted to locale!
|
||||
|
||||
# set pgp_good_sign="^gpgv?: Good signature from "
|
||||
|
||||
# OK, here's a version which uses gnupg's message catalog:
|
||||
# set pgp_good_sign="`gettext -d gnupg -s 'Good signature from "' | tr -d '"'`"
|
||||
|
||||
# This version uses --status-fd messages
|
||||
set pgp_good_sign="^\\[GNUPG:\\] GOODSIG"
|
||||
|
||||
# pattern to verify a decryption occurred
|
||||
# This is now deprecated by pgp_check_gpg_decrypt_status_fd:
|
||||
# set pgp_decryption_okay="^\\[GNUPG:\\] DECRYPTION_OKAY"
|
||||
set pgp_check_gpg_decrypt_status_fd
|
|
@ -0,0 +1,40 @@
|
|||
set from = "newusername@envs.net"
|
||||
set realname = "newusername"
|
||||
|
||||
set imap_user = "newusername@envs.net"
|
||||
set imap_pass = "newpassword"
|
||||
|
||||
set smtp_url = "smtp://$imap_user@mail.envs.net:587/"
|
||||
set smtp_pass = $imap_pass
|
||||
|
||||
set folder = "{mail.envs.net/ssl}"
|
||||
set spoolfile = "+INBOX"
|
||||
set record = "+Sent"
|
||||
set postponed = "+Drafts"
|
||||
set trash = "+Trash"
|
||||
|
||||
set move = no
|
||||
|
||||
mailboxes "+INBOX"
|
||||
|
||||
set edit_hdrs
|
||||
|
||||
set sort = reverse-threads
|
||||
set sort_aux = last-date-received
|
||||
|
||||
set header_cache = "~/.cache/mutt/headers"
|
||||
|
||||
set imap_check_subscribed
|
||||
set imap_keepalive = 300
|
||||
unset imap_passive
|
||||
set mail_check = 60
|
||||
set timeout = 60
|
||||
|
||||
set signature ="~/.mutt/signature"
|
||||
|
||||
#source ~/.gpg.rc
|
||||
#set pgp_timeout=3600
|
||||
#set pgp_autosign=yes
|
||||
#set pgp_replysign=yes
|
||||
#set pgp_verify_sig=yes
|
||||
#set pgp_replyencrypt=yes
|
|
@ -0,0 +1,31 @@
|
|||
# ~/.profile: executed by the command interpreter for login shells.
|
||||
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
|
||||
# exists.
|
||||
# see /usr/share/doc/bash/examples/startup-files for examples.
|
||||
# the files are located in the bash-doc package.
|
||||
|
||||
# the default umask is set in /etc/profile; for setting the umask
|
||||
# for ssh logins, install and configure the libpam-umask package.
|
||||
#umask 022
|
||||
|
||||
# if running bash
|
||||
if [ -n "$BASH_VERSION" ]; then
|
||||
# include .bashrc if it exists
|
||||
if [ -f "$HOME/.bashrc" ]; then
|
||||
. "$HOME/.bashrc"
|
||||
fi
|
||||
fi
|
||||
|
||||
# set PATH so it includes user's private bin if it exists
|
||||
if [ -d "$HOME/bin" ] ; then
|
||||
PATH="$HOME/bin:$PATH"
|
||||
fi
|
||||
|
||||
# set PATH so it includes user's private bin if it exists
|
||||
if [ -d "$HOME/.local/bin" ] ; then
|
||||
PATH="$HOME/.local/bin:$PATH"
|
||||
fi
|
||||
|
||||
if [[ ! $TERM =~ screen ]] || [[ ! $TMUX =~ tmux ]]; then
|
||||
_byobu_sourced=1 . /usr/bin/byobu-launch 2>/dev/null || true
|
||||
fi
|
|
@ -0,0 +1,2 @@
|
|||
# Generated by /usr/bin/select-editor
|
||||
SELECTED_EDITOR="/bin/nano"
|
|
@ -0,0 +1,57 @@
|
|||
#
|
||||
# weechat -- alias.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[cmd]
|
||||
AAWAY = "allserv /away"
|
||||
AME = "allchan /me"
|
||||
AMSG = "allchan /msg *"
|
||||
ANICK = "allserv /nick"
|
||||
BEEP = "print -beep"
|
||||
BS = "quote botserv"
|
||||
BYE = "quit"
|
||||
C = "buffer clear"
|
||||
CHAT = "dcc chat"
|
||||
CL = "buffer clear"
|
||||
CLOSE = "buffer close"
|
||||
CS = "quote chanserv"
|
||||
EXIT = "quit"
|
||||
HS = "quote hostserv"
|
||||
IG = "ignore"
|
||||
J = "join"
|
||||
K = "kick"
|
||||
KB = "kickban"
|
||||
LEAVE = "part"
|
||||
M = "msg"
|
||||
MS = "quote memoserv"
|
||||
MSGBUF = "command -buffer $1 * /input send $2-"
|
||||
MUB = "unban *"
|
||||
N = "names"
|
||||
NS = "quote nickserv"
|
||||
OS = "quote operserv"
|
||||
Q = "query"
|
||||
REDRAW = "window refresh"
|
||||
save_settings = "/autojoin --run;/layout store;/save"
|
||||
SAY = "msg *"
|
||||
setup_aspell = "/set weechat.bar.rootinput.items [input_prompt]+(away),[input_search],[input_paste],input_text,aspell_suggest;/set aspell.check.default_dict en_US;/set aspell.check.suggestions 4;/set aspell.check.enabled on;/unalias setup_aspell;/save"
|
||||
SIGNOFF = "quit"
|
||||
SLAP = "me slaps $1 around a bit with a large trout"
|
||||
T = "topic"
|
||||
UB = "unban"
|
||||
UMODE = "mode $nick"
|
||||
V = "command core version"
|
||||
W = "who"
|
||||
WC = "window merge"
|
||||
WI = "whois"
|
||||
WII = "whois $1 $1"
|
||||
WW = "whowas"
|
||||
|
||||
[completion]
|
||||
MSGBUF = "%(buffers_plugins_names)"
|
|
@ -0,0 +1,20 @@
|
|||
#
|
||||
# aspell.conf -- weechat v1.0.1
|
||||
#
|
||||
|
||||
[color]
|
||||
misspelled = lightred
|
||||
suggestions = default
|
||||
|
||||
[check]
|
||||
commands = "ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"
|
||||
default_dict = ""
|
||||
during_search = off
|
||||
enabled = off
|
||||
real_time = off
|
||||
suggestions = -1
|
||||
word_min_length = 2
|
||||
|
||||
[dict]
|
||||
|
||||
[option]
|
|
@ -0,0 +1,39 @@
|
|||
#
|
||||
# weechat -- buflist.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[look]
|
||||
add_newline = on
|
||||
auto_scroll = 50
|
||||
display_conditions = "${buffer.hidden}==0"
|
||||
enabled = on
|
||||
mouse_jump_visited_buffer = off
|
||||
mouse_move_buffer = on
|
||||
mouse_wheel = on
|
||||
nick_prefix = off
|
||||
nick_prefix_empty = on
|
||||
signals_refresh = ""
|
||||
sort = "number,-active"
|
||||
|
||||
[format]
|
||||
buffer = "${format_number}${indent}${format_nick_prefix}${color_hotlist}${name}"
|
||||
buffer_current = "${color:,233}${format_number}${indent}${format_nick_prefix}${color:lightcyan}${name}"
|
||||
hotlist = " ${color:green}(${hotlist}${color:green})"
|
||||
hotlist_highlight = "${color:magenta}"
|
||||
hotlist_low = "${color:default}"
|
||||
hotlist_message = "${color:130}"
|
||||
hotlist_none = "${color:white}"
|
||||
hotlist_private = "${color:cyan}"
|
||||
hotlist_separator = "${color:default},"
|
||||
indent = " "
|
||||
lag = " ${color:green}[${color:brown}${lag}${color:green}]"
|
||||
name = "${name}"
|
||||
nick_prefix = "${color_nick_prefix}${nick_prefix}"
|
||||
number = "${color:green}${number}${if:${number_displayed}?.: }"
|
|
@ -0,0 +1,18 @@
|
|||
#
|
||||
# weechat -- charset.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[default]
|
||||
decode = "iso-8859-1"
|
||||
encode = ""
|
||||
|
||||
[decode]
|
||||
|
||||
[encode]
|
|
@ -0,0 +1,19 @@
|
|||
#
|
||||
# weechat -- exec.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[command]
|
||||
default_options = ""
|
||||
purge_delay = 0
|
||||
shell = "sh"
|
||||
|
||||
[color]
|
||||
flag_finished = lightred
|
||||
flag_running = lightgreen
|
|
@ -0,0 +1,14 @@
|
|||
#
|
||||
# weechat -- fifo.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[file]
|
||||
enabled = on
|
||||
path = "%h/weechat_fifo"
|
|
@ -0,0 +1,95 @@
|
|||
#
|
||||
# weechat -- fset.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[look]
|
||||
auto_unmark = off
|
||||
condition_catch_set = "${count} >= 1"
|
||||
export_help_default = on
|
||||
format_number = 1
|
||||
marked_string = "*"
|
||||
scroll_horizontal = 10
|
||||
show_plugins_desc = off
|
||||
sort = "~name"
|
||||
unmarked_string = " "
|
||||
use_color_value = off
|
||||
use_keys = on
|
||||
use_mute = off
|
||||
|
||||
[format]
|
||||
export_help = "# ${description2}"
|
||||
export_option = "/set ${name} ${quoted_value}"
|
||||
export_option_null = "/unset ${name}"
|
||||
option1 = ""
|
||||
option2 = "${marked} ${name} ${type} ${value2}${newline} ${empty_name} ${_default_value}${color:darkgray} -- ${min}..${max}${newline} ${empty_name} ${description}"
|
||||
|
||||
[color]
|
||||
default_value = default
|
||||
default_value_selected = white
|
||||
description = default
|
||||
description_selected = white
|
||||
file = default
|
||||
file_changed = brown
|
||||
file_changed_selected = yellow
|
||||
file_selected = white
|
||||
help_default_value = white
|
||||
help_description = default
|
||||
help_name = white
|
||||
help_quotes = darkgray
|
||||
help_values = default
|
||||
index = cyan
|
||||
index_selected = lightcyan
|
||||
line_marked_bg1 = default
|
||||
line_marked_bg2 = default
|
||||
line_selected_bg1 = blue
|
||||
line_selected_bg2 = red
|
||||
marked = brown
|
||||
marked_selected = yellow
|
||||
max = default
|
||||
max_selected = white
|
||||
min = default
|
||||
min_selected = white
|
||||
name = default
|
||||
name_changed = brown
|
||||
name_changed_selected = yellow
|
||||
name_selected = white
|
||||
option = default
|
||||
option_changed = brown
|
||||
option_changed_selected = yellow
|
||||
option_selected = white
|
||||
parent_name = default
|
||||
parent_name_selected = white
|
||||
parent_value = cyan
|
||||
parent_value_selected = lightcyan
|
||||
quotes = darkgray
|
||||
quotes_changed = default
|
||||
quotes_changed_selected = white
|
||||
quotes_selected = default
|
||||
section = default
|
||||
section_changed = brown
|
||||
section_changed_selected = yellow
|
||||
section_selected = white
|
||||
string_values = default
|
||||
string_values_selected = white
|
||||
title_count_options = cyan
|
||||
title_current_option = lightcyan
|
||||
title_filter = yellow
|
||||
title_marked_options = lightgreen
|
||||
title_sort = white
|
||||
type = green
|
||||
type_selected = lightgreen
|
||||
unmarked = default
|
||||
unmarked_selected = white
|
||||
value = cyan
|
||||
value_changed = brown
|
||||
value_changed_selected = yellow
|
||||
value_selected = lightcyan
|
||||
value_undef = magenta
|
||||
value_undef_selected = lightmagenta
|
|
@ -0,0 +1,196 @@
|
|||
#
|
||||
# weechat -- irc.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[look]
|
||||
buffer_open_before_autojoin = on
|
||||
buffer_open_before_join = off
|
||||
buffer_switch_autojoin = on
|
||||
buffer_switch_join = on
|
||||
color_nicks_in_names = off
|
||||
color_nicks_in_nicklist = on
|
||||
color_nicks_in_server_messages = on
|
||||
color_pv_nick_like_channel = on
|
||||
ctcp_time_format = "%a, %d %b %Y %T %z"
|
||||
display_away = local
|
||||
display_ctcp_blocked = on
|
||||
display_ctcp_reply = on
|
||||
display_ctcp_unknown = on
|
||||
display_host_join = on
|
||||
display_host_join_local = on
|
||||
display_host_quit = on
|
||||
display_join_message = "329,332,333,366"
|
||||
display_old_topic = on
|
||||
display_pv_away_once = on
|
||||
display_pv_back = on
|
||||
highlight_channel = "$nick"
|
||||
highlight_pv = "$nick"
|
||||
highlight_server = "$nick"
|
||||
highlight_tags_restrict = "irc_privmsg,irc_notice"
|
||||
item_channel_modes_hide_args = "k"
|
||||
item_display_server = buffer_plugin
|
||||
item_nick_modes = on
|
||||
item_nick_prefix = on
|
||||
join_auto_add_chantype = off
|
||||
msgbuffer_fallback = current
|
||||
new_channel_position = none
|
||||
new_pv_position = none
|
||||
nick_completion_smart = speakers
|
||||
nick_mode = prefix
|
||||
nick_mode_empty = off
|
||||
nicks_hide_password = "nickserv"
|
||||
notice_as_pv = auto
|
||||
notice_welcome_redirect = on
|
||||
notice_welcome_tags = ""
|
||||
notify_tags_ison = "notify_message"
|
||||
notify_tags_whois = "notify_message"
|
||||
part_closes_buffer = off
|
||||
pv_buffer = independent
|
||||
pv_tags = "notify_private"
|
||||
raw_messages = 256
|
||||
server_buffer = merge_with_core
|
||||
smart_filter = on
|
||||
smart_filter_chghost = on
|
||||
smart_filter_delay = 5
|
||||
smart_filter_join = on
|
||||
smart_filter_join_unmask = 30
|
||||
smart_filter_mode = "+"
|
||||
smart_filter_nick = on
|
||||
smart_filter_quit = on
|
||||
temporary_servers = off
|
||||
topic_strip_colors = off
|
||||
|
||||
[color]
|
||||
input_nick = lightcyan
|
||||
item_channel_modes = lightcyan
|
||||
item_lag_counting = default
|
||||
item_lag_finished = 130
|
||||
item_nick_modes = lightgreen
|
||||
message_chghost = brown
|
||||
message_join = green
|
||||
message_quit = red
|
||||
mirc_remap = "1,-1:darkgray"
|
||||
nick_prefixes = "q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue"
|
||||
notice = green
|
||||
reason_quit = default
|
||||
topic_current = default
|
||||
topic_new = white
|
||||
topic_old = default
|
||||
|
||||
[network]
|
||||
autoreconnect_delay_growing = 2
|
||||
autoreconnect_delay_max = 600
|
||||
ban_mask_default = "*!$ident@$host"
|
||||
channel_encode = off
|
||||
colors_receive = on
|
||||
colors_send = on
|
||||
lag_check = 60
|
||||
lag_max = 1800
|
||||
lag_min_show = 500
|
||||
lag_reconnect = 0
|
||||
lag_refresh_interval = 1
|
||||
notify_check_ison = 1
|
||||
notify_check_whois = 5
|
||||
sasl_fail_unavailable = on
|
||||
send_unknown_commands = off
|
||||
whois_double_nick = off
|
||||
|
||||
[msgbuffer]
|
||||
|
||||
[ctcp]
|
||||
|
||||
[ignore]
|
||||
|
||||
[server_default]
|
||||
addresses = ""
|
||||
anti_flood_prio_high = 2
|
||||
anti_flood_prio_low = 2
|
||||
autoconnect = off
|
||||
autojoin = ""
|
||||
autoreconnect = on
|
||||
autoreconnect_delay = 10
|
||||
autorejoin = off
|
||||
autorejoin_delay = 30
|
||||
away_check = 0
|
||||
away_check_max_nicks = 25
|
||||
capabilities = "account-notify,away-notify,cap-notify,chghost,extended-join,invite-notify,multi-prefix,server-time,userhost-in-names"
|
||||
command = ""
|
||||
command_delay = 0
|
||||
connection_timeout = 60
|
||||
ipv6 = on
|
||||
local_hostname = ""
|
||||
msg_kick = ""
|
||||
msg_part = "WeeChat ${info:version}"
|
||||
msg_quit = "WeeChat ${info:version}"
|
||||
nicks = "newusername,newusername1,newusername2,newusername3,newusername4"
|
||||
nicks_alternate = on
|
||||
notify = ""
|
||||
password = ""
|
||||
proxy = ""
|
||||
realname = ""
|
||||
sasl_fail = continue
|
||||
sasl_key = ""
|
||||
sasl_mechanism = plain
|
||||
sasl_password = ""
|
||||
sasl_timeout = 15
|
||||
sasl_username = ""
|
||||
split_msg_max_length = 512
|
||||
ssl = off
|
||||
ssl_cert = ""
|
||||
ssl_dhkey_size = 2048
|
||||
ssl_fingerprint = ""
|
||||
ssl_priorities = "NORMAL"
|
||||
ssl_verify = on
|
||||
usermode = ""
|
||||
username = "${env:USER}"
|
||||
|
||||
[server]
|
||||
tilde.addresses = "team.tilde.chat/6697"
|
||||
tilde.proxy
|
||||
tilde.ipv6
|
||||
tilde.ssl = on
|
||||
tilde.ssl_cert
|
||||
tilde.ssl_priorities
|
||||
tilde.ssl_dhkey_size
|
||||
tilde.ssl_fingerprint
|
||||
tilde.ssl_verify = on
|
||||
tilde.password
|
||||
tilde.capabilities
|
||||
tilde.sasl_mechanism
|
||||
tilde.sasl_username
|
||||
tilde.sasl_password
|
||||
tilde.sasl_key
|
||||
tilde.sasl_timeout
|
||||
tilde.sasl_fail
|
||||
tilde.autoconnect = on
|
||||
tilde.autoreconnect
|
||||
tilde.autoreconnect_delay
|
||||
tilde.nicks
|
||||
tilde.nicks_alternate
|
||||
tilde.username
|
||||
tilde.realname
|
||||
tilde.local_hostname
|
||||
tilde.usermode
|
||||
tilde.command
|
||||
tilde.command_delay
|
||||
tilde.autojoin = "#envs"
|
||||
tilde.autorejoin
|
||||
tilde.autorejoin_delay
|
||||
tilde.connection_timeout
|
||||
tilde.anti_flood_prio_high
|
||||
tilde.anti_flood_prio_low
|
||||
tilde.away_check
|
||||
tilde.away_check_max_nicks
|
||||
tilde.msg_kick
|
||||
tilde.msg_part
|
||||
tilde.msg_quit
|
||||
tilde.notify
|
||||
tilde.split_msg_max_length
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
#
|
||||
# weechat -- iset.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[color]
|
||||
bg_selected = 235
|
||||
help_default_value = green
|
||||
help_option_name = white
|
||||
help_text = lightcyan
|
||||
option = default
|
||||
option_selected = white
|
||||
type = brown
|
||||
type_selected = 130
|
||||
value = cyan
|
||||
value_diff = magenta
|
||||
value_diff_selected = lightmagenta
|
||||
value_selected = lightcyan
|
||||
value_undef = green
|
||||
value_undef_selected = lightgreen
|
||||
|
||||
[help]
|
||||
show_help_bar = on
|
||||
show_help_extra_info = on
|
||||
show_plugin_description = off
|
||||
|
||||
[look]
|
||||
scroll_horiz = 10
|
||||
show_current_line = on
|
||||
use_mute = off
|
||||
value_search_char = "="
|
|
@ -0,0 +1,35 @@
|
|||
#
|
||||
# weechat -- logger.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[look]
|
||||
backlog = 20
|
||||
backlog_conditions = ""
|
||||
|
||||
[color]
|
||||
backlog_end = default
|
||||
backlog_line = default
|
||||
|
||||
[file]
|
||||
auto_log = on
|
||||
flush_delay = 120
|
||||
fsync = off
|
||||
info_lines = off
|
||||
mask = "$plugin.$name.weechatlog"
|
||||
name_lower_case = on
|
||||
nick_prefix = ""
|
||||
nick_suffix = ""
|
||||
path = "%h/logs/"
|
||||
replacement_char = "_"
|
||||
time_format = "%Y-%m-%d %H:%M:%S"
|
||||
|
||||
[level]
|
||||
|
||||
[mask]
|
|
@ -0,0 +1,14 @@
|
|||
#
|
||||
# weechat -- perl.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[look]
|
||||
check_license = off
|
||||
eval_keep_context = on
|
|
@ -0,0 +1 @@
|
|||
../buddylist.pl
|
|
@ -0,0 +1 @@
|
|||
../highmon.pl
|
|
@ -0,0 +1 @@
|
|||
../iset.pl
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,120 @@
|
|||
#
|
||||
# weechat -- plugins.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[var]
|
||||
fifo.fifo = "on"
|
||||
guile.check_license = "off"
|
||||
lua.check_license = "off"
|
||||
perl.buddylist.buddy.on.server = "on"
|
||||
perl.buddylist.buddy.on.server.color = "lightgreen"
|
||||
perl.buddylist.buddylist = "%h/buddylist.txt"
|
||||
perl.buddylist.callback.timeout = "60"
|
||||
perl.buddylist.check.buddies = "20"
|
||||
perl.buddylist.color.away = "cyan"
|
||||
perl.buddylist.color.default = "default"
|
||||
perl.buddylist.color.number = "lightred"
|
||||
perl.buddylist.color.offline = "blue"
|
||||
perl.buddylist.color.online = "yellow"
|
||||
perl.buddylist.color.server = "white"
|
||||
perl.buddylist.color.server.offline = "hide"
|
||||
perl.buddylist.display.original.nick = "off"
|
||||
perl.buddylist.display.social.net = "on"
|
||||
perl.buddylist.display.social.net.color = "yellow"
|
||||
perl.buddylist.hide.bar = "off"
|
||||
perl.buddylist.hide.buddy.if.offline = "off"
|
||||
perl.buddylist.hide.server.if.buddies.offline = "off"
|
||||
perl.buddylist.hide.servername.in.buddylist = "off"
|
||||
perl.buddylist.show.query = "on"
|
||||
perl.buddylist.sort = "default"
|
||||
perl.buddylist.text.away = ""
|
||||
perl.buddylist.text.color = "white"
|
||||
perl.buddylist.text.offline = ""
|
||||
perl.buddylist.text.online = ""
|
||||
perl.buddylist.use.redirection = "on"
|
||||
perl.check_license = "off"
|
||||
perl.highmon.alignment = "channel"
|
||||
perl.highmon.away_only = "off"
|
||||
perl.highmon.color_buf = "on"
|
||||
perl.highmon.first_run = "true"
|
||||
perl.highmon.hotlist_show = "off"
|
||||
perl.highmon.logging = "off"
|
||||
perl.highmon.merge_private = "off"
|
||||
perl.highmon.nick_prefix = "<"
|
||||
perl.highmon.nick_suffix = ">"
|
||||
perl.highmon.output = "buffer"
|
||||
perl.highmon.short_names = "off"
|
||||
python.apply_corrections.check_every = "5"
|
||||
python.apply_corrections.data_timeout = "60"
|
||||
python.apply_corrections.message_limit = "2"
|
||||
python.apply_corrections.print_format = "[nick]: [corrected]"
|
||||
python.apply_corrections.print_limit = "1"
|
||||
python.autojoin.autosave = "off"
|
||||
python.check_license = "off"
|
||||
python.grep.clear_buffer = "off"
|
||||
python.grep.default_tail_head = "10"
|
||||
python.grep.go_to_buffer = "on"
|
||||
python.grep.log_filter = ""
|
||||
python.grep.max_lines = "4000"
|
||||
python.grep.show_summary = "on"
|
||||
python.grep.size_limit = "2048"
|
||||
python.screen_away.away_suffix = ""
|
||||
python.screen_away.command_on_attach = ""
|
||||
python.screen_away.command_on_detach = ""
|
||||
python.screen_away.ignore = ""
|
||||
python.screen_away.ignore_relays = "off"
|
||||
python.screen_away.interval = "5"
|
||||
python.screen_away.message = "Detached from screen"
|
||||
python.screen_away.set_away = "on"
|
||||
python.screen_away.time_format = "since %Y-%m-%d %H:%M:%S%z"
|
||||
ruby.check_license = "off"
|
||||
tcl.check_license = "off"
|
||||
|
||||
[desc]
|
||||
perl.buddylist.buddy.on.server = "show buddy who is connected to a server, but not visiting the same channel(s) (default: on)"
|
||||
perl.buddylist.buddy.on.server.color = "color for online buddy but not visiting the same channel(s) (default: lightgreen)"
|
||||
perl.buddylist.buddylist = "path/file-name to store your buddies. "%h" will be replaced by WeeChat home (by default: ~/.weechat)"
|
||||
perl.buddylist.callback.timeout = "time in seconds to wait for answer from server. (default: 60)"
|
||||
perl.buddylist.check.buddies = "time in seconds to send a /whois request to server. Be careful not to flood server (default: 20)"
|
||||
perl.buddylist.color.away = "color for away buddies"
|
||||
perl.buddylist.color.default = "fall back color. (default: standard weechat color)"
|
||||
perl.buddylist.color.number = "color for channel number (default: lightred). If empty, channel list option is off"
|
||||
perl.buddylist.color.offline = "color for offline buddies"
|
||||
perl.buddylist.color.online = "color for online buddies"
|
||||
perl.buddylist.color.server = "color for servername"
|
||||
perl.buddylist.color.server.offline = "color for disconnected server (default: hide)"
|
||||
perl.buddylist.display.original.nick = "display original nickname even if buddy changed his /nick (you have to add new nick to buddylist (default: off)"
|
||||
perl.buddylist.display.social.net = "using bitlbee, buddies will be sorted in sublists with social-network name (eg. msn/jabber/facebook)(default: on)"
|
||||
perl.buddylist.display.social.net.color = "color for social-network name (default: yellow)"
|
||||
perl.buddylist.hide.bar = "hides buddylist bar when all servers with added buddies are offline (on = default, always = buddylist bar will be hidden (for example if you want to add item 'buddylist' to 'weechat.bar.status.items', off = buddylist bar will not be hidden))"
|
||||
perl.buddylist.hide.buddy.if.offline = "hide buddy if offline (default: off)"
|
||||
perl.buddylist.hide.server.if.buddies.offline = "hides server when all buddies are offline for this server (default: off)"
|
||||
perl.buddylist.hide.servername.in.buddylist = "hide the servername in buddylist. If "on" only nicks will be displayed in buddylist (default: off)"
|
||||
perl.buddylist.show.query = "displays a query buffer in front of the channel list"
|
||||
perl.buddylist.sort = "sort method for buddylist (default = buddylist will be sort by nickname, status = buddylist will be sort by status (online, away, offline))"
|
||||
perl.buddylist.text.away = "optional away text in buddylist (sort method has to be 'status')"
|
||||
perl.buddylist.text.color = "color for optional online/away/offline-text in buddylist (default: white)"
|
||||
perl.buddylist.text.offline = "optional offline text in buddylist (sort method has to be 'status')"
|
||||
perl.buddylist.text.online = "optional online text in buddylist (sort method has to be 'status')"
|
||||
perl.buddylist.use.redirection = "using redirection to get status of buddies (needs weechat >=0.3.4) (default: on)"
|
||||
python.apply_corrections.check_every = "Interval between each check for expired messages."
|
||||
python.apply_corrections.data_timeout = "Time before a message is expired."
|
||||
python.apply_corrections.message_limit = "Number of messages to store per nick."
|
||||
python.apply_corrections.print_format = "Format string for the printed corrections."
|
||||
python.apply_corrections.print_limit = "Maximum number of lines to correct."
|
||||
python.screen_away.away_suffix = "What to append to your nick when you're away."
|
||||
python.screen_away.command_on_attach = "Commands to execute on attach, separated by semicolon"
|
||||
python.screen_away.command_on_detach = "Commands to execute on detach, separated by semicolon"
|
||||
python.screen_away.ignore = "Comma-separated list of servers to ignore."
|
||||
python.screen_away.ignore_relays = "Only check screen status and ignore relay interfaces"
|
||||
python.screen_away.interval = "How often in seconds to check screen status"
|
||||
python.screen_away.message = "Away message"
|
||||
python.screen_away.set_away = "Set user as away."
|
||||
python.screen_away.time_format = "time format append to away message"
|
|
@ -0,0 +1,14 @@
|
|||
#
|
||||
# weechat -- python.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[look]
|
||||
check_license = off
|
||||
eval_keep_context = on
|
|
@ -0,0 +1,351 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (C) 2012 Chris Johnson <raugturi@gmail.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# apply_corrections
|
||||
#
|
||||
# A weechat plugin to re-print a user's messages with corrections applied when
|
||||
# they send a correction string (ex: s/typo/replacement).
|
||||
#
|
||||
# The following options are availalble:
|
||||
#
|
||||
# check_every: Interval, in seconds, between each check for expired messages.
|
||||
# If set to 0 no check will be performed and all messages will be
|
||||
# saved indefinitely.
|
||||
#
|
||||
# data_timeout: Time, in seconds, before a message is expired. If set to 0
|
||||
# messages will never expire.
|
||||
#
|
||||
# message_limit: Number of messages to store per nick. If set to 0 all messages
|
||||
# will be saved until they expire.
|
||||
#
|
||||
# print_format: Format string for the printed corrections.
|
||||
# Default: "[nick]: [corrected]"
|
||||
#
|
||||
# Variables allowed:
|
||||
#
|
||||
# [nick]: The nick of the person who sent the messages.
|
||||
# [corrected]: The corrected text of the previous message(s).
|
||||
# [correction]: The correction (format: s/typo/replacement).
|
||||
# [original]: The original message before correction.
|
||||
# [pattern]: The "typo" portion of the correction.
|
||||
# [replacement]: The "replacement" portion of the correction.
|
||||
# [timestamp]: The timestamp of the original message.
|
||||
#
|
||||
# print_limit: Maximum number of lines to correct and print to the buffer. If
|
||||
# set to 0 all lines that match the pattern will be printed.
|
||||
#
|
||||
# Note: Setting check_every, data_timeout, message_limit, or some combination
|
||||
# thereof to 0's will eat a lot of memory very quickly as it will drastically
|
||||
# increase the size of the dictionary holding previous messages. Likewise,
|
||||
# setting print_limit to 0 with a large number of saved messages will quickly
|
||||
# fill your screen with a bunch of stuff should someone submit a generic
|
||||
# enough correction string.
|
||||
|
||||
# History:
|
||||
#
|
||||
# 2014-05-10, Sébastien Helleu <flashcode@flashtux.org>
|
||||
# version 1.2: change hook_print callback argument type of
|
||||
# displayed/highlight (WeeChat >= 1.0)
|
||||
# 2012-10-09, Chris Johnson <raugturi@gmail.com>:
|
||||
# version 1.1: change some more variable names for clarity/consistency
|
||||
# 2012-10-08, Chris Johnson <raugturi@gmail.com>:
|
||||
# version 1.0: fix get_corrected_messages so that the most recent messages
|
||||
# are corrected and returned
|
||||
# 2012-10-08, Chris Johnson <raugturi@gmail.com>:
|
||||
# version 0.9: use defaultdict to handle missing keys, flatten dict by
|
||||
# using (buffer, nick) tuple as key, simplify message logging
|
||||
# logic, rename some stuff for clarity.
|
||||
# 2012-10-08, Chris Johnson <raugturi@gmail.com>:
|
||||
# version 0.8: remove empty buffers and nicks during clean-up
|
||||
# 2012-09-05, Chris Johnson <raugturi@gmail.com>:
|
||||
# version 0.7: fix bug when restoring defaults for options that require
|
||||
# integer values
|
||||
# 2012-09-05, Chris Johnson <raugturi@gmail.com>:
|
||||
# version 0.6: copy info from README into script and shorten the variable
|
||||
# descriptions
|
||||
# 2012-09-01, Chris Johnson <raugturi@gmail.com>:
|
||||
# version 0.5: don't log the reprinted messages
|
||||
# 2012-08-31, Chris Johnson <raugturi@gmail.com>:
|
||||
# version 0.4: use same timestamp as buffer when reprinting, instead
|
||||
# of epoch
|
||||
# 2012-08-31, Chris Johnson <raugturi@gmail.com>:
|
||||
# version 0.3: switch to [var] style variables for print format
|
||||
# 2012-08-30, Chris Johnson <raugturi@gmail.com>:
|
||||
# version 0.2: fixed search for typos so if regex fails it falls back
|
||||
# to string.find
|
||||
# 2012-08-30, Chris Johnson <raugturi@gmail.com>:
|
||||
# version 0.1: initial release
|
||||
|
||||
import_ok = True
|
||||
|
||||
try:
|
||||
import weechat
|
||||
except ImportError:
|
||||
print('This script must be run under WeeChat.')
|
||||
print('Get WeeChat now at: http://www.weechat.org/')
|
||||
import_ok = False
|
||||
|
||||
try:
|
||||
import re
|
||||
import time
|
||||
from operator import itemgetter
|
||||
from collections import defaultdict
|
||||
except ImportError as message:
|
||||
print('Missing package(s) for %s: %s' % (SCRIPT_NAME, message))
|
||||
import_ok = False
|
||||
|
||||
SCRIPT_NAME = 'apply_corrections'
|
||||
SCRIPT_AUTHOR = 'Chris Johnson <raugturi@gmail.com>'
|
||||
SCRIPT_VERSION = '1.2'
|
||||
SCRIPT_LICENSE = 'GPL3'
|
||||
SCRIPT_DESC = "When a correction (ex: s/typo/replacement) is sent, print the "\
|
||||
"user's previous message(s) with the corrected text instead."
|
||||
|
||||
# Default settings for the plugin.
|
||||
settings = {'check_every': '5',
|
||||
'data_timeout': '60',
|
||||
'message_limit': '2',
|
||||
'print_format': '[nick]: [corrected]',
|
||||
'print_limit': '1'}
|
||||
|
||||
# Initialize the dictionary to store most recent messages per buffer per nick.
|
||||
LASTWORDS = defaultdict(list)
|
||||
|
||||
|
||||
def apply_correction(message, pattern, replacement):
|
||||
"""
|
||||
Replaces all occurences of pattern in message with replacment. It tries to
|
||||
treat the pattern and replacement as regular expressions, but falls back to
|
||||
string replace if that fails.
|
||||
"""
|
||||
|
||||
try:
|
||||
message = re.compile(pattern).sub(replacement, message)
|
||||
except:
|
||||
message = message.replace(pattern, replacement)
|
||||
|
||||
return message
|
||||
|
||||
|
||||
def get_corrected_messages(nick, log, correction):
|
||||
"""
|
||||
Return list of messages that match the pattern, with corrections applied.
|
||||
Limited to print_limit items, sorted by timestamp ascending.
|
||||
"""
|
||||
|
||||
print_limit = get_option_int('print_limit')
|
||||
corrected_messages = []
|
||||
pattern, replacement = correction.split('/')[1:3]
|
||||
|
||||
for message in log:
|
||||
if print_limit and len(corrected_messages) >= print_limit:
|
||||
break
|
||||
original = message.get('message', '')
|
||||
if original:
|
||||
try:
|
||||
match = re.match(re.compile('.*%s.*' % pattern), original)
|
||||
except:
|
||||
match = original.find(pattern) != -1
|
||||
finally:
|
||||
if match:
|
||||
corrected = apply_correction(original,
|
||||
pattern,
|
||||
replacement)
|
||||
timeformat = weechat.config_string(
|
||||
weechat.config_get('weechat.look.buffer_time_format'))
|
||||
timestamp = time.strftime(
|
||||
timeformat,
|
||||
time.localtime(float(message['timestamp'])))
|
||||
corrected_messages.append({'nick': nick,
|
||||
'corrected': corrected,
|
||||
'correction': correction,
|
||||
'original': original,
|
||||
'pattern': pattern,
|
||||
'replacement': replacement,
|
||||
'timestamp': timestamp})
|
||||
|
||||
return sorted(corrected_messages, key=itemgetter('timestamp'))
|
||||
|
||||
|
||||
def get_option_int(option):
|
||||
"""
|
||||
Checks to see if a configuration option is an integer and sets it back to
|
||||
the default if it isn't. Returns the value when done.
|
||||
"""
|
||||
|
||||
try:
|
||||
value = int(weechat.config_get_plugin(option))
|
||||
except ValueError:
|
||||
weechat.config_set_plugin(option, settings[option])
|
||||
value = int(weechat.config_get_plugin(option))
|
||||
|
||||
return value
|
||||
|
||||
|
||||
def get_valid_messages(log, expiry):
|
||||
"""
|
||||
Return only the messages that haven't expired.
|
||||
"""
|
||||
|
||||
valid = []
|
||||
for message in log:
|
||||
try:
|
||||
timestamp = int(message.get('timestamp', 0))
|
||||
if timestamp > expiry:
|
||||
valid.append(message)
|
||||
except ValueError:
|
||||
continue
|
||||
|
||||
return valid
|
||||
|
||||
|
||||
def clear_messages_cb(data, remaining_calls):
|
||||
"""
|
||||
Callback that clears old messages from the LASTWORDS dictionary. The time
|
||||
limit is the number of seconds specified in plugin's data_timeout setting.
|
||||
If data_timeout is set to 0 then no messages are cleared.
|
||||
"""
|
||||
|
||||
data_timeout = get_option_int('data_timeout')
|
||||
if data_timeout:
|
||||
expiry = time.time() - data_timeout
|
||||
for buff, nick in LASTWORDS.keys():
|
||||
valid_messages = get_valid_messages(LASTWORDS[(buff,nick)], expiry)
|
||||
if valid_messages:
|
||||
LASTWORDS[(buff, nick)] = valid_messages
|
||||
else:
|
||||
del LASTWORDS[(buff,nick)]
|
||||
|
||||
return weechat.WEECHAT_RC_OK
|
||||
|
||||
|
||||
def handle_message_cb(data, buffer, date, tags, disp, hl, nick, message):
|
||||
"""
|
||||
Callback that handles new messages. If the message is in the format of a
|
||||
regex find/replace (ex. 's/typo/replacement/', 'nick: s/typo/replacement')
|
||||
then the last print_limit messages for that nick are re-printed to the
|
||||
current buffer in their oringal order with the change applied. Otherwise
|
||||
the message is stored in LASTWORDS dictionary for this buffer > nick.
|
||||
"""
|
||||
|
||||
# Don't do anything if the message isn't suppose to be displayed.
|
||||
if int(disp):
|
||||
buffer_name = weechat.buffer_get_string(buffer, 'name')
|
||||
log = LASTWORDS[(buffer_name, nick)]
|
||||
|
||||
# Matches on both 's/typo/replacement' and 'nick: s/typo/replacement',
|
||||
# mainly because of bitlbee since it puts your nick in front of
|
||||
# incoming messages.
|
||||
#
|
||||
# Nick regex nicked from colorize_nicks available here:
|
||||
# http://www.weechat.org/scripts/source/stable/colorize_nicks.py.html/
|
||||
valid_nick = r'([@~&!%+])?([-a-zA-Z0-9\[\]\\`_^\{|\}]+)'
|
||||
valid_correction = r's/[^/]*/[^/]*'
|
||||
correction_message_pattern = re.compile(
|
||||
r'(%s:\s*)?(%s)(/)?$' % (valid_nick, valid_correction))
|
||||
match = re.match(correction_message_pattern, message)
|
||||
|
||||
if match:
|
||||
# If message is a correction and we have previous messages from
|
||||
# this nick, print up to print_limit of the nick's previous
|
||||
# messages with corrections applied, in their original order.
|
||||
correction = match.group(4)
|
||||
if log and correction:
|
||||
print_format = weechat.config_get_plugin('print_format')
|
||||
for cm in get_corrected_messages(nick, log, correction):
|
||||
corrected_msg = print_format
|
||||
for k, v in cm.iteritems():
|
||||
corrected_msg = corrected_msg.replace('[%s]' % k, v)
|
||||
weechat.prnt_date_tags(buffer, 0, 'no_log', corrected_msg)
|
||||
else:
|
||||
# If it's not a correction, store the message in LASTWORDS.
|
||||
log.insert(0, {'message': message, 'timestamp': date})
|
||||
# If there's a per-nick limit, shorten the list to match.
|
||||
message_limit = get_option_int('message_limit')
|
||||
while message_limit and len(log) > message_limit:
|
||||
log.pop()
|
||||
|
||||
return weechat.WEECHAT_RC_OK
|
||||
|
||||
|
||||
def load_config(data=None, option=None, value=None):
|
||||
"""
|
||||
Load configuration options and (re)register hook_timer to clear old
|
||||
messages based on the current value of check_every. If check_every is 0
|
||||
then messages are never cleared.
|
||||
"""
|
||||
|
||||
# On initial load set any unset options to the defaults.
|
||||
if not option:
|
||||
for option, default in settings.iteritems():
|
||||
if not weechat.config_is_set_plugin(option):
|
||||
weechat.config_set_plugin(option, default)
|
||||
|
||||
if not option or option.endswith('check_every'):
|
||||
# If hook_timer for clearing old messages is set already, clear it.
|
||||
old_hook = globals().get('CLEAR_HOOK', None)
|
||||
if old_hook is not None:
|
||||
weechat.unhook(old_hook)
|
||||
|
||||
# Register hook_timer to clear old messages.
|
||||
check_every = get_option_int('check_every') * 1000
|
||||
if check_every:
|
||||
globals()['CLEAR_HOOK'] = weechat.hook_timer(
|
||||
check_every, 0, 0, 'clear_messages_cb', '')
|
||||
|
||||
return weechat.WEECHAT_RC_OK
|
||||
|
||||
|
||||
def desc_options():
|
||||
"""
|
||||
Load descriptions for all the options.
|
||||
"""
|
||||
|
||||
weechat.config_set_desc_plugin(
|
||||
'check_every', 'Interval between each check for expired messages.')
|
||||
|
||||
weechat.config_set_desc_plugin(
|
||||
'data_timeout', 'Time before a message is expired.')
|
||||
|
||||
weechat.config_set_desc_plugin(
|
||||
'message_limit', 'Number of messages to store per nick.')
|
||||
|
||||
weechat.config_set_desc_plugin(
|
||||
'print_format', 'Format string for the printed corrections.')
|
||||
|
||||
weechat.config_set_desc_plugin(
|
||||
'print_limit', 'Maximum number of lines to correct.')
|
||||
|
||||
return weechat.WEECHAT_RC_OK
|
||||
|
||||
|
||||
if __name__ == '__main__' and import_ok:
|
||||
if weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION,
|
||||
SCRIPT_LICENSE, SCRIPT_DESC, '', ''):
|
||||
# Load the configuration options.
|
||||
load_config()
|
||||
|
||||
# Set up the descriptions for each option.
|
||||
desc_options()
|
||||
|
||||
# Register hook to run load_config when options are changed.
|
||||
weechat.hook_config('plugins.var.python.%s.*' % SCRIPT_NAME,
|
||||
'load_config', '')
|
||||
|
||||
# Register hook_print to process each new message as it comes in.
|
||||
weechat.hook_print('', '', '', 1, 'handle_message_cb', '')
|
|
@ -0,0 +1,177 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (c) 2009 by xt <xt@bash.no>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# (this script requires WeeChat 0.3.0 or newer)
|
||||
#
|
||||
# History:
|
||||
# 2009-06-18, xt <xt@bash.no>
|
||||
# version 0.1: initial release
|
||||
#
|
||||
# 2009-10-18, LBo <leon@tim-online.nl>
|
||||
# version 0.2: added autosaving of join channels
|
||||
# /set plugins.var.python.autojoin.autosave 'on'
|
||||
#
|
||||
# 2009-10-19, LBo <leon@tim-online.nl>
|
||||
# version 0.2.1: now only responds to part messages from self
|
||||
# find_channels() only returns join'ed channels, not all the buffers
|
||||
# updated description and docs
|
||||
#
|
||||
# 2009-10-20, LBo <leon@tim-online.nl>
|
||||
# version 0.2.2: fixed quit callback
|
||||
# removed the callbacks on part & join messages
|
||||
#
|
||||
# 2012-04-14, Filip H.F. "FiXato" Slagter <fixato+weechat+autojoin@gmail.com>
|
||||
# version 0.2.3: fixed bug with buffers of which short names were changed.
|
||||
# Now using 'name' from irc_channel infolist.
|
||||
# version 0.2.4: Added support for key-protected channels
|
||||
#
|
||||
# 2014-05-22, Nathaniel Wesley Filardo <PADEBR2M2JIQN02N9OO5JM0CTN8K689P@cmx.ietfng.org>
|
||||
# version 0.2.5: Fix keyed channel support
|
||||
#
|
||||
# @TODO: add options to ignore certain buffers
|
||||
# @TODO: maybe add an option to enable autosaving on part/join messages
|
||||
|
||||
import weechat as w
|
||||
import re
|
||||
|
||||
SCRIPT_NAME = "autojoin"
|
||||
SCRIPT_AUTHOR = "xt <xt@bash.no>"
|
||||
SCRIPT_VERSION = "0.2.5"
|
||||
SCRIPT_LICENSE = "GPL3"
|
||||
SCRIPT_DESC = "Configure autojoin for all servers according to currently joined channels"
|
||||
SCRIPT_COMMAND = "autojoin"
|
||||
|
||||
# script options
|
||||
settings = {
|
||||
"autosave": "off",
|
||||
}
|
||||
|
||||
if w.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, SCRIPT_LICENSE, SCRIPT_DESC, "", ""):
|
||||
|
||||
w.hook_command(SCRIPT_COMMAND,
|
||||
SCRIPT_DESC,
|
||||
"[--run]",
|
||||
" --run: actually run the commands instead of displaying\n",
|
||||
"--run",
|
||||
"autojoin_cb",
|
||||
"")
|
||||
|
||||
#w.hook_signal('*,irc_in2_join', 'autosave_channels_on_activity', '')
|
||||
#w.hook_signal('*,irc_in2_part', 'autosave_channels_on_activity', '')
|
||||
w.hook_signal('quit', 'autosave_channels_on_quit', '')
|
||||
|
||||
# Init everything
|
||||
for option, default_value in settings.items():
|
||||
if w.config_get_plugin(option) == "":
|
||||
w.config_set_plugin(option, default_value)
|
||||
|
||||
def autosave_channels_on_quit(signal, callback, callback_data):
|
||||
''' Autojoin current channels '''
|
||||
if w.config_get_plugin(option) != "on":
|
||||
return w.WEECHAT_RC_OK
|
||||
|
||||
items = find_channels()
|
||||
|
||||
# print/execute commands
|
||||
for server, channels in items.iteritems():
|
||||
channels = channels.rstrip(',')
|
||||
command = "/set irc.server.%s.autojoin '%s'" % (server, channels)
|
||||
w.command('', command)
|
||||
|
||||
return w.WEECHAT_RC_OK
|
||||
|
||||
|
||||
def autosave_channels_on_activity(signal, callback, callback_data):
|
||||
''' Autojoin current channels '''
|
||||
if w.config_get_plugin(option) != "on":
|
||||
return w.WEECHAT_RC_OK
|
||||
|
||||
items = find_channels()
|
||||
|
||||
# print/execute commands
|
||||
for server, channels in items.iteritems():
|
||||
nick = w.info_get('irc_nick', server)
|
||||
|
||||
pattern = "^:%s!.*(JOIN|PART) :?(#[^ ]*)( :.*$)?" % nick
|
||||
match = re.match(pattern, callback_data)
|
||||
|
||||
if match: # check if nick is my nick. In that case: save
|
||||
channel = match.group(2)
|
||||
channels = channels.rstrip(',')
|
||||
command = "/set irc.server.%s.autojoin '%s'" % (server, channels)
|
||||
w.command('', command)
|
||||
else: # someone else: ignore
|
||||
continue
|
||||
|
||||
return w.WEECHAT_RC_OK
|
||||
|
||||
def autojoin_cb(data, buffer, args):
|
||||
"""Old behaviour: doesn't save empty channel list"""
|
||||
"""In fact should also save open buffers with a /part'ed channel"""
|
||||
"""But I can't believe somebody would want that behaviour"""
|
||||
items = find_channels()
|
||||
|
||||
# print/execute commands
|
||||
for server, channels in items.iteritems():
|
||||
channels = channels.rstrip(',')
|
||||
if not channels: # empty channel list
|
||||
continue
|
||||
command = '/set irc.server.%s.autojoin %s' % (server, channels)
|
||||
if args == '--run':
|
||||
w.command('', command)
|
||||
else:
|
||||
w.prnt('', command)
|
||||
|
||||
return w.WEECHAT_RC_OK
|
||||
|
||||
def find_channels():
|
||||
"""Return list of servers and channels"""
|
||||
#@TODO: make it return a dict with more options like "nicks_count etc."
|
||||
items = {}
|
||||
infolist = w.infolist_get('irc_server', '', '')
|
||||
# populate servers
|
||||
while w.infolist_next(infolist):
|
||||
items[w.infolist_string(infolist, 'name')] = ''
|
||||
|
||||
w.infolist_free(infolist)
|
||||
|
||||
# populate channels per server
|
||||
for server in items.keys():
|
||||
keys = []
|
||||
keyed_channels = []
|
||||
unkeyed_channels = []
|
||||
items[server] = '' #init if connected but no channels
|
||||
infolist = w.infolist_get('irc_channel', '', server)
|
||||
while w.infolist_next(infolist):
|
||||
if w.infolist_integer(infolist, 'nicks_count') == 0:
|
||||
#parted but still open in a buffer: bit hackish
|
||||
continue
|
||||
if w.infolist_integer(infolist, 'type') == 0:
|
||||
key = w.infolist_string(infolist, "key")
|
||||
if len(key) > 0:
|
||||
keys.append(key)
|
||||
keyed_channels.append(w.infolist_string(infolist, "name"))
|
||||
else :
|
||||
unkeyed_channels.append(w.infolist_string(infolist, "name"))
|
||||
items[server] = ','.join(keyed_channels + unkeyed_channels)
|
||||
if len(keys) > 0:
|
||||
items[server] += ' %s' % ','.join(keys)
|
||||
w.infolist_free(infolist)
|
||||
|
||||
return items
|
||||
|
|
@ -0,0 +1 @@
|
|||
../apply_corrections.py
|
|
@ -0,0 +1 @@
|
|||
../autojoin.py
|
|
@ -0,0 +1 @@
|
|||
../grep.py
|
|
@ -0,0 +1 @@
|
|||
../otr.py
|
|
@ -0,0 +1 @@
|
|||
../urlview.py
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,57 @@
|
|||
# This weechat plugin pipes the current weechat buffer through urlview
|
||||
#
|
||||
# Usage:
|
||||
# /urlview
|
||||
#
|
||||
# History:
|
||||
# 10-04-2015
|
||||
# Version 1.0.0: initial release
|
||||
# Version 1.0.1: reverse text passed to urlview
|
||||
# Version 1.0.2: remove weechat color from messages
|
||||
|
||||
import distutils.spawn
|
||||
import os
|
||||
import pipes
|
||||
import weechat
|
||||
|
||||
|
||||
def urlview(data, buf, args):
|
||||
infolist = weechat.infolist_get("buffer_lines", buf, "")
|
||||
lines = []
|
||||
while weechat.infolist_next(infolist) == 1:
|
||||
lines.append(
|
||||
weechat.string_remove_color(
|
||||
weechat.infolist_string(infolist, "message"),
|
||||
""
|
||||
)
|
||||
)
|
||||
|
||||
weechat.infolist_free(infolist)
|
||||
|
||||
if not lines:
|
||||
weechat.prnt(buf, "No URLs found")
|
||||
return weechat.WEECHAT_RC_OK
|
||||
|
||||
text = "\n".join(reversed(lines))
|
||||
response = os.system("echo %s | urlview" % pipes.quote(text))
|
||||
if response != 0:
|
||||
weechat.prnt(buf, "No URLs found")
|
||||
|
||||
weechat.command(buf, "/window refresh")
|
||||
|
||||
return weechat.WEECHAT_RC_OK
|
||||
|
||||
|
||||
def main():
|
||||
if distutils.spawn.find_executable("urlview") is None:
|
||||
return weechat.WEECHAT_RC_ERROR
|
||||
|
||||
if not weechat.register("urlview", "Keith Smiley", "1.0.2", "MIT",
|
||||
"Use urlview on the current buffer", "", ""):
|
||||
return weechat.WEECHAT_RC_ERROR
|
||||
|
||||
weechat.hook_command("urlview", "Pass the current buffer to urlview", "",
|
||||
"", "", "urlview", "")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
|
@ -0,0 +1,55 @@
|
|||
#
|
||||
# weechat -- relay.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[look]
|
||||
auto_open_buffer = on
|
||||
raw_messages = 256
|
||||
|
||||
[color]
|
||||
client = cyan
|
||||
status_active = lightblue
|
||||
status_auth_failed = lightred
|
||||
status_connecting = 130
|
||||
status_disconnected = lightred
|
||||
status_waiting_auth = brown
|
||||
text = default
|
||||
text_bg = default
|
||||
text_selected = white
|
||||
|
||||
[network]
|
||||
allow_empty_password = off
|
||||
allowed_ips = ""
|
||||
bind_address = ""
|
||||
clients_purge_delay = 0
|
||||
compression_level = 6
|
||||
ipv6 = on
|
||||
max_clients = 5
|
||||
password = ""
|
||||
ssl_cert_key = "%h/ssl/relay.pem"
|
||||
ssl_priorities = "NORMAL:-VERS-SSL3.0"
|
||||
totp_secret = ""
|
||||
totp_window = 0
|
||||
websocket_allowed_origins = ""
|
||||
|
||||
[irc]
|
||||
backlog_max_minutes = 1440
|
||||
backlog_max_number = 256
|
||||
backlog_since_last_disconnect = on
|
||||
backlog_since_last_message = off
|
||||
backlog_tags = "irc_privmsg"
|
||||
backlog_time_format = "[%H:%M] "
|
||||
|
||||
[weechat]
|
||||
commands = ""
|
||||
|
||||
[port]
|
||||
|
||||
[path]
|
|
@ -0,0 +1,14 @@
|
|||
#
|
||||
# weechat -- ruby.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[look]
|
||||
check_license = off
|
||||
eval_keep_context = on
|
|
@ -0,0 +1,56 @@
|
|||
#
|
||||
# weechat -- script.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[look]
|
||||
columns = "%s %n %V %v %u │ %d │ %t"
|
||||
diff_color = on
|
||||
diff_command = "auto"
|
||||
display_source = on
|
||||
quiet_actions = on
|
||||
sort = "p,n"
|
||||
translate_description = on
|
||||
use_keys = on
|
||||
|
||||
[color]
|
||||
status_autoloaded = cyan
|
||||
status_held = white
|
||||
status_installed = lightcyan
|
||||
status_obsolete = lightmagenta
|
||||
status_popular = 130
|
||||
status_running = lightgreen
|
||||
status_unknown = lightred
|
||||
text = default
|
||||
text_bg = default
|
||||
text_bg_selected = 235
|
||||
text_date = default
|
||||
text_date_selected = white
|
||||
text_delimiters = 130
|
||||
text_description = default
|
||||
text_description_selected = white
|
||||
text_extension = default
|
||||
text_extension_selected = white
|
||||
text_name = cyan
|
||||
text_name_selected = lightcyan
|
||||
text_selected = white
|
||||
text_tags = brown
|
||||
text_tags_selected = 130
|
||||
text_version = magenta
|
||||
text_version_loaded = default
|
||||
text_version_loaded_selected = white
|
||||
text_version_selected = lightmagenta
|
||||
|
||||
[scripts]
|
||||
autoload = on
|
||||
cache_expire = 1440
|
||||
download_timeout = 30
|
||||
hold = ""
|
||||
path = "%h/script"
|
||||
url = "http://weechat.org/files/plugins.xml.gz"
|
Binary file not shown.
|
@ -0,0 +1,18 @@
|
|||
#
|
||||
# weechat -- sec.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[crypt]
|
||||
cipher = aes256
|
||||
hash_algo = sha256
|
||||
passphrase_file = ""
|
||||
salt = on
|
||||
|
||||
[data]
|
|
@ -0,0 +1,33 @@
|
|||
#
|
||||
# weechat -- spell.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[color]
|
||||
misspelled = lightred
|
||||
suggestion = default
|
||||
suggestion_delimiter_dict = cyan
|
||||
suggestion_delimiter_word = cyan
|
||||
|
||||
[check]
|
||||
commands = "ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"
|
||||
default_dict = ""
|
||||
during_search = off
|
||||
enabled = off
|
||||
real_time = off
|
||||
suggestions = -1
|
||||
word_min_length = 2
|
||||
|
||||
[dict]
|
||||
|
||||
[look]
|
||||
suggestion_delimiter_dict = " / "
|
||||
suggestion_delimiter_word = ","
|
||||
|
||||
[option]
|
|
@ -0,0 +1,59 @@
|
|||
#
|
||||
# weechat -- trigger.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[look]
|
||||
enabled = on
|
||||
monitor_strip_colors = off
|
||||
|
||||
[color]
|
||||
flag_command = lightgreen
|
||||
flag_conditions = 130
|
||||
flag_post_action = lightblue
|
||||
flag_regex = lightcyan
|
||||
flag_return_code = lightmagenta
|
||||
regex = white
|
||||
replace = cyan
|
||||
trigger = green
|
||||
trigger_disabled = red
|
||||
|
||||
[trigger]
|
||||
beep.arguments = ""
|
||||
beep.command = "/print -beep"
|
||||
beep.conditions = "${tg_highlight} || ${tg_msg_pv}"
|
||||
beep.enabled = on
|
||||
beep.hook = print
|
||||
beep.post_action = none
|
||||
beep.regex = ""
|
||||
beep.return_code = ok
|
||||
cmd_pass.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth"
|
||||
cmd_pass.command = ""
|
||||
cmd_pass.conditions = ""
|
||||
cmd_pass.enabled = on
|
||||
cmd_pass.hook = modifier
|
||||
cmd_pass.post_action = none
|
||||
cmd_pass.regex = "==^((/(msg|m|quote) +nickserv +(id|identify|register|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+) +)|/oper +[^ ]+ +|/quote +pass +|/set +[^ ]*password[^ ]* +|/secure +(passphrase|decrypt|set +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}"
|
||||
cmd_pass.return_code = ok
|
||||
msg_auth.arguments = "5000|irc_message_auth"
|
||||
msg_auth.command = ""
|
||||
msg_auth.conditions = ""
|
||||
msg_auth.enabled = on
|
||||
msg_auth.hook = modifier
|
||||
msg_auth.post_action = none
|
||||
msg_auth.regex = "==^(.*(id|identify|register|ghost +[^ ]+|release +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}"
|
||||
msg_auth.return_code = ok
|
||||
server_pass.arguments = "5000|input_text_display;5000|history_add"
|
||||
server_pass.command = ""
|
||||
server_pass.conditions = ""
|
||||
server_pass.enabled = on
|
||||
server_pass.hook = modifier
|
||||
server_pass.post_action = none
|
||||
server_pass.regex = "==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}"
|
||||
server_pass.return_code = ok
|
|
@ -0,0 +1,701 @@
|
|||
#
|
||||
# weechat -- weechat.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[debug]
|
||||
|
||||
[startup]
|
||||
command_after_plugins = ""
|
||||
command_before_plugins = ""
|
||||
display_logo = on
|
||||
display_version = on
|
||||
sys_rlimit = ""
|
||||
|
||||
[look]
|
||||
align_end_of_lines = message
|
||||
align_multiline_words = on
|
||||
bar_more_down = "++"
|
||||
bar_more_left = "<<"
|
||||
bar_more_right = ">>"
|
||||
bar_more_up = "--"
|
||||
bare_display_exit_on_input = on
|
||||
bare_display_time_format = "%H:%M"
|
||||
buffer_auto_renumber = on
|
||||
buffer_notify_default = all
|
||||
buffer_position = end
|
||||
buffer_search_case_sensitive = off
|
||||
buffer_search_force_default = off
|
||||
buffer_search_regex = off
|
||||
buffer_search_where = prefix_message
|
||||
buffer_time_format = "${color:250}%H${color:lightcyan}:${color:245}%M${color:lightcyan}:${color:240}%S"
|
||||
buffer_time_same = ""
|
||||
color_basic_force_bold = off
|
||||
color_inactive_buffer = on
|
||||
color_inactive_message = on
|
||||
color_inactive_prefix = on
|
||||
color_inactive_prefix_buffer = on
|
||||
color_inactive_time = off
|
||||
color_inactive_window = on
|
||||
color_nick_offline = on
|
||||
color_pairs_auto_reset = 5
|
||||
color_real_white = off
|
||||
command_chars = ""
|
||||
command_incomplete = off
|
||||
confirm_quit = off
|
||||
confirm_upgrade = off
|
||||
day_change = on
|
||||
day_change_message_1date = "-- %a, %d %b %Y --"
|
||||
day_change_message_2dates = "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --"
|
||||
eat_newline_glitch = off
|
||||
emphasized_attributes = ""
|
||||
highlight = ""
|
||||
highlight_regex = ""
|
||||
highlight_tags = ""
|
||||
hotlist_add_conditions = "${away} || ${buffer.num_displayed} == 0"
|
||||
hotlist_buffer_separator = ", "
|
||||
hotlist_count_max = 2
|
||||
hotlist_count_min_msg = 2
|
||||
hotlist_names_count = 3
|
||||
hotlist_names_length = 0
|
||||
hotlist_names_level = 12
|
||||
hotlist_names_merged_buffers = off
|
||||
hotlist_prefix = "H: "
|
||||
hotlist_remove = merged
|
||||
hotlist_short_names = on
|
||||
hotlist_sort = group_time_asc
|
||||
hotlist_suffix = ""
|
||||
hotlist_unique_numbers = on
|
||||
input_cursor_scroll = 20
|
||||
input_share = none
|
||||
input_share_overwrite = off
|
||||
input_undo_max = 32
|
||||
item_away_message = on
|
||||
item_buffer_filter = "*"
|
||||
item_buffer_zoom = "!"
|
||||
item_mouse_status = "M"
|
||||
item_time_format = "%H:%M"
|
||||
jump_current_to_previous_buffer = on
|
||||
jump_previous_buffer_when_closing = on
|
||||
jump_smart_back_to_buffer = on
|
||||
key_bind_safe = on
|
||||
key_grab_delay = 800
|
||||
mouse = off
|
||||
mouse_timer_delay = 100
|
||||
nick_color_force = ""
|
||||
nick_color_hash = djb2
|
||||
nick_color_stop_chars = "_|["
|
||||
nick_prefix = ""
|
||||
nick_suffix = ""
|
||||
paste_auto_add_newline = on
|
||||
paste_bracketed = on
|
||||
paste_bracketed_timer_delay = 10
|
||||
paste_max_lines = 1
|
||||
prefix_action = " *"
|
||||
prefix_align = right
|
||||
prefix_align_max = 15
|
||||
prefix_align_min = 15
|
||||
prefix_align_more = "+"
|
||||
prefix_align_more_after = on
|
||||
prefix_buffer_align = right
|
||||
prefix_buffer_align_max = 0
|
||||
prefix_buffer_align_more = "+"
|
||||
prefix_buffer_align_more_after = on
|
||||
prefix_error = "=!="
|
||||
prefix_join = "-->"
|
||||
prefix_network = "--"
|
||||
prefix_quit = "<--"
|
||||
prefix_same_nick = ""
|
||||
prefix_same_nick_middle = ""
|
||||
prefix_suffix = "│"
|
||||
quote_nick_prefix = "<"
|
||||
quote_nick_suffix = ">"
|
||||
quote_time_format = "%H:%M:%S"
|
||||
read_marker = line
|
||||
read_marker_always_show = off
|
||||
read_marker_string = "- "
|
||||
save_config_on_exit = on
|
||||
save_config_with_fsync = off
|
||||
save_layout_on_exit = none
|
||||
scroll_amount = 3
|
||||
scroll_bottom_after_switch = off
|
||||
scroll_page_percent = 100
|
||||
search_text_not_found_alert = on
|
||||
separator_horizontal = "-"
|
||||
separator_vertical = ""
|
||||
tab_width = 1
|
||||
time_format = "%a, %d %b %Y %T"
|
||||
window_auto_zoom = off
|
||||
window_separator_horizontal = on
|
||||
window_separator_vertical = on
|
||||
window_title = "WeeChat ${info:version}"
|
||||
word_chars_highlight = "!\u00A0,-,_,|,alnum"
|
||||
word_chars_input = "!\u00A0,-,_,|,alnum"
|
||||
|
||||
[palette]
|
||||
|
||||
[color]
|
||||
bar_more = lightcyan
|
||||
chat = default
|
||||
chat_bg = default
|
||||
chat_buffer = white
|
||||
chat_channel = white
|
||||
chat_day_change = cyan
|
||||
chat_delimiters = 235
|
||||
chat_highlight = lightcyan
|
||||
chat_highlight_bg = 235
|
||||
chat_host = cyan
|
||||
chat_inactive_buffer = default
|
||||
chat_inactive_window = default
|
||||
chat_nick = lightcyan
|
||||
chat_nick_colors = "cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue"
|
||||
chat_nick_offline = blue
|
||||
chat_nick_offline_highlight = default
|
||||
chat_nick_offline_highlight_bg = blue
|
||||
chat_nick_other = cyan
|
||||
chat_nick_prefix = green
|
||||
chat_nick_self = red
|
||||
chat_nick_suffix = green
|
||||
chat_prefix_action = white
|
||||
chat_prefix_buffer = brown
|
||||
chat_prefix_buffer_inactive_buffer = default
|
||||
chat_prefix_error = 130
|
||||
chat_prefix_join = lightgreen
|
||||
chat_prefix_more = lightmagenta
|
||||
chat_prefix_network = magenta
|
||||
chat_prefix_quit = lightred
|
||||
chat_prefix_suffix = 235
|
||||
chat_read_marker = magenta
|
||||
chat_read_marker_bg = default
|
||||
chat_server = brown
|
||||
chat_tags = red
|
||||
chat_text_found = 130
|
||||
chat_text_found_bg = lightmagenta
|
||||
chat_time = default
|
||||
chat_time_delimiters = brown
|
||||
chat_value = cyan
|
||||
chat_value_null = blue
|
||||
emphasized = 130
|
||||
emphasized_bg = magenta
|
||||
input_actions = lightgreen
|
||||
input_text_not_found = red
|
||||
item_away = yellow
|
||||
nicklist_away = cyan
|
||||
nicklist_group = green
|
||||
separator = 235
|
||||
status_count_highlight = magenta
|
||||
status_count_msg = brown
|
||||
status_count_other = default
|
||||
status_count_private = green
|
||||
status_data_highlight = lightmagenta
|
||||
status_data_msg = 130
|
||||
status_data_other = default
|
||||
status_data_private = lightgreen
|
||||
status_filter = green
|
||||
status_more = 130
|
||||
status_mouse = green
|
||||
status_name = white
|
||||
status_name_ssl = lightgreen
|
||||
status_nicklist_count = default
|
||||
status_number = 130
|
||||
status_time = default
|
||||
|
||||
[completion]
|
||||
base_word_until_cursor = on
|
||||
command_inline = on
|
||||
default_template = "%(nicks)|%(irc_channels)"
|
||||
nick_add_space = on
|
||||
nick_case_sensitive = off
|
||||
nick_completer = ":"
|
||||
nick_first_only = off
|
||||
nick_ignore_chars = "[]`_-^"
|
||||
partial_completion_alert = on
|
||||
partial_completion_command = off
|
||||
partial_completion_command_arg = off
|
||||
partial_completion_count = on
|
||||
partial_completion_other = off
|
||||
partial_completion_templates = "config_options"
|
||||
|
||||
[history]
|
||||
display_default = 5
|
||||
max_buffer_lines_minutes = 0
|
||||
max_buffer_lines_number = 4096
|
||||
max_commands = 100
|
||||
max_visited_buffers = 50
|
||||
|
||||
[proxy]
|
||||
|
||||
[network]
|
||||
connection_timeout = 60
|
||||
gnutls_ca_file = "/etc/ssl/certs/ca-certificates.crt"
|
||||
gnutls_handshake_timeout = 30
|
||||
proxy_curl = ""
|
||||
|
||||
[plugin]
|
||||
autoload = "*"
|
||||
debug = off
|
||||
extension = ".so,.dll"
|
||||
path = "%h/plugins"
|
||||
save_config_on_unload = on
|
||||
|
||||
[bar]
|
||||
buddylist.color_bg = default
|
||||
buddylist.color_delim = default
|
||||
buddylist.color_fg = default
|
||||
buddylist.conditions = ""
|
||||
buddylist.filling_left_right = vertical
|
||||
buddylist.filling_top_bottom = horizontal
|
||||
buddylist.hidden = off
|
||||
buddylist.items = "buddylist"
|
||||
buddylist.position = left
|
||||
buddylist.priority = 0
|
||||
buddylist.separator = on
|
||||
buddylist.size = 0
|
||||
buddylist.size_max = 0
|
||||
buddylist.type = root
|
||||
buflist.color_bg = default
|
||||
buflist.color_delim = default
|
||||
buflist.color_fg = default
|
||||
buflist.conditions = ""
|
||||
buflist.filling_left_right = vertical
|
||||
buflist.filling_top_bottom = columns_vertical
|
||||
buflist.hidden = off
|
||||
buflist.items = "buflist"
|
||||
buflist.position = left
|
||||
buflist.priority = 100
|
||||
buflist.separator = on
|
||||
buflist.size = 0
|
||||
buflist.size_max = 0
|
||||
buflist.type = root
|
||||
fset.color_bg = default
|
||||
fset.color_delim = cyan
|
||||
fset.color_fg = default
|
||||
fset.conditions = "${buffer.full_name} == fset.fset"
|
||||
fset.filling_left_right = vertical
|
||||
fset.filling_top_bottom = horizontal
|
||||
fset.hidden = off
|
||||
fset.items = "fset"
|
||||
fset.position = top
|
||||
fset.priority = 0
|
||||
fset.separator = on
|
||||
fset.size = 3
|
||||
fset.size_max = 3
|
||||
fset.type = window
|
||||
isetbar.color_bg = default
|
||||
isetbar.color_delim = cyan
|
||||
isetbar.color_fg = default
|
||||
isetbar.conditions = ""
|
||||
isetbar.filling_left_right = vertical
|
||||
isetbar.filling_top_bottom = horizontal
|
||||
isetbar.hidden = on
|
||||
isetbar.items = "isetbar_help"
|
||||
isetbar.position = top
|
||||
isetbar.priority = 0
|
||||
isetbar.separator = on
|
||||
isetbar.size = 3
|
||||
isetbar.size_max = 3
|
||||
isetbar.type = window
|
||||
nicklist.color_bg = default
|
||||
nicklist.color_delim = cyan
|
||||
nicklist.color_fg = default
|
||||
nicklist.conditions = "${nicklist}"
|
||||
nicklist.filling_left_right = vertical
|
||||
nicklist.filling_top_bottom = columns_vertical
|
||||
nicklist.hidden = off
|
||||
nicklist.items = "buffer_nicklist"
|
||||
nicklist.position = right
|
||||
nicklist.priority = 200
|
||||
nicklist.separator = on
|
||||
nicklist.size = 0
|
||||
nicklist.size_max = 0
|
||||
nicklist.type = window
|
||||
rootinput.color_bg = default
|
||||
rootinput.color_delim = cyan
|
||||
rootinput.color_fg = default
|
||||
rootinput.conditions = ""
|
||||
rootinput.filling_left_right = vertical
|
||||
rootinput.filling_top_bottom = horizontal
|
||||
rootinput.hidden = off
|
||||
rootinput.items = "[input_prompt]+(away),[input_search],[input_paste],input_text"
|
||||
rootinput.position = bottom
|
||||
rootinput.priority = 50
|
||||
rootinput.separator = off
|
||||
rootinput.size = 1
|
||||
rootinput.size_max = 0
|
||||
rootinput.type = root
|
||||
rootstatus.color_bg = 235
|
||||
rootstatus.color_delim = lightcyan
|
||||
rootstatus.color_fg = default
|
||||
rootstatus.conditions = ""
|
||||
rootstatus.filling_left_right = vertical
|
||||
rootstatus.filling_top_bottom = horizontal
|
||||
rootstatus.hidden = off
|
||||
rootstatus.items = "[time],[buffer_last_number],[buffer_plugin],buffer_number+:+buffer_name+(buffer_modes)+{buffer_nicklist_count}+buffer_zoom+buffer_filter,[lag],[hotlist],(mouse_status),completion,scroll"
|
||||
rootstatus.position = bottom
|
||||
rootstatus.priority = 25
|
||||
rootstatus.separator = off
|
||||
rootstatus.size = 1
|
||||
rootstatus.size_max = 0
|
||||
rootstatus.type = root
|
||||
title.color_bg = 235
|
||||
title.color_delim = lightcyan
|
||||
title.color_fg = default
|
||||
title.conditions = ""
|
||||
title.filling_left_right = vertical
|
||||
title.filling_top_bottom = horizontal
|
||||
title.hidden = off
|
||||
title.items = "buffer_title"
|
||||
title.position = top
|
||||
title.priority = 500
|
||||
title.separator = off
|
||||
title.size = 0
|
||||
title.size_max = 0
|
||||
title.type = window
|
||||
|
||||
[layout]
|
||||
default.buffer = "core;weechat;1"
|
||||
default.buffer = "perl;highmon;1"
|
||||
default.buffer = "irc;server.BNC_envs;1"
|
||||
default.buffer = "irc;BNC_envs.#envs;2"
|
||||
default.window = "1;0;15;1;-;-"
|
||||
default.window = "2;1;0;0;irc;BNC_envs.#envs"
|
||||
default.window = "3;1;0;0;core;weechat"
|
||||
default.current = on
|
||||
|
||||
[notify]
|
||||
|
||||
[filter]
|
||||
|
||||
[key]
|
||||
ctrl-? = "/input delete_previous_char"
|
||||
ctrl-A = "/input move_beginning_of_line"
|
||||
ctrl-B = "/input move_previous_char"
|
||||
ctrl-C_ = "/input insert \x1F"
|
||||
ctrl-Cb = "/input insert \x02"
|
||||
ctrl-Cc = "/input insert \x03"
|
||||
ctrl-Ci = "/input insert \x1D"
|
||||
ctrl-Co = "/input insert \x0F"
|
||||
ctrl-Cv = "/input insert \x16"
|
||||
ctrl-D = "/input delete_next_char"
|
||||
ctrl-E = "/input move_end_of_line"
|
||||
ctrl-F = "/input move_next_char"
|
||||
ctrl-H = "/input delete_previous_char"
|
||||
ctrl-I = "/input complete_next"
|
||||
ctrl-J = "/input return"
|
||||
ctrl-K = "/input delete_end_of_line"
|
||||
ctrl-L = "/window refresh"
|
||||
ctrl-M = "/input return"
|
||||
ctrl-N = "/buffer +1"
|
||||
ctrl-P = "/buffer -1"
|
||||
ctrl-R = "/input search_text"
|
||||
ctrl-Sctrl-U = "/input set_unread"
|
||||
ctrl-T = "/input transpose_chars"
|
||||
ctrl-U = "/input delete_beginning_of_line"
|
||||
ctrl-W = "/input delete_previous_word"
|
||||
ctrl-X = "/input switch_active_buffer"
|
||||
ctrl-Y = "/input clipboard_paste"
|
||||
meta-meta-OP = "/bar scroll buflist * b"
|
||||
meta-meta-OQ = "/bar scroll buflist * e"
|
||||
meta-meta2-11~ = "/bar scroll buflist * b"
|
||||
meta-meta2-12~ = "/bar scroll buflist * e"
|
||||
meta-meta2-1~ = "/window scroll_top"
|
||||
meta-meta2-23~ = "/bar scroll nicklist * b"
|
||||
meta-meta2-24~ = "/bar scroll nicklist * e"
|
||||
meta-meta2-4~ = "/window scroll_bottom"
|
||||
meta-meta2-5~ = "/window scroll_up"
|
||||
meta-meta2-6~ = "/window scroll_down"
|
||||
meta-meta2-7~ = "/window scroll_top"
|
||||
meta-meta2-8~ = "/window scroll_bottom"
|
||||
meta-meta2-A = "/buffer -1"
|
||||
meta-meta2-B = "/buffer +1"
|
||||
meta-meta2-C = "/buffer +1"
|
||||
meta-meta2-D = "/buffer -1"
|
||||
meta-- = "/filter toggle @"
|
||||
meta-/ = "/input jump_last_buffer_displayed"
|
||||
meta-0 = "/buffer *10"
|
||||
meta-1 = "/buffer *1"
|
||||
meta-2 = "/buffer *2"
|
||||
meta-3 = "/buffer *3"
|
||||
meta-4 = "/buffer *4"
|
||||
meta-5 = "/buffer *5"
|
||||
meta-6 = "/buffer *6"
|
||||
meta-7 = "/buffer *7"
|
||||
meta-8 = "/buffer *8"
|
||||
meta-9 = "/buffer *9"
|
||||
meta-< = "/input jump_previously_visited_buffer"
|
||||
meta-= = "/filter toggle"
|
||||
meta-> = "/input jump_next_visited_buffer"
|
||||
meta-OA = "/input history_global_previous"
|
||||
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~ = "/bar scroll nicklist * -100%"
|
||||
meta2-24;3~ = "/bar scroll nicklist * e"
|
||||
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-a = "/input jump_smart"
|
||||
meta-b = "/input move_previous_word"
|
||||
meta-d = "/input delete_next_word"
|
||||
meta-f = "/input move_next_word"
|
||||
meta-h = "/input hotlist_clear"
|
||||
meta-jmeta-f = "/buffer -"
|
||||
meta-jmeta-l = "/buffer +"
|
||||
meta-jmeta-r = "/server raw"
|
||||
meta-jmeta-s = "/server jump"
|
||||
meta-j01 = "/buffer 1"
|
||||
meta-j02 = "/buffer 2"
|
||||
meta-j03 = "/buffer 3"
|
||||
meta-j04 = "/buffer 4"
|
||||
meta-j05 = "/buffer 5"
|
||||
meta-j06 = "/buffer 6"
|
||||
meta-j07 = "/buffer 7"
|
||||
meta-j08 = "/buffer 8"
|
||||
meta-j09 = "/buffer 9"
|
||||
meta-j10 = "/buffer 10"
|
||||
meta-j11 = "/buffer 11"
|
||||
meta-j12 = "/buffer 12"
|
||||
meta-j13 = "/buffer 13"
|
||||
meta-j14 = "/buffer 14"
|
||||
meta-j15 = "/buffer 15"
|
||||
meta-j16 = "/buffer 16"
|
||||
meta-j17 = "/buffer 17"
|
||||
meta-j18 = "/buffer 18"
|
||||
meta-j19 = "/buffer 19"
|
||||
meta-j20 = "/buffer 20"
|
||||
meta-j21 = "/buffer 21"
|
||||
meta-j22 = "/buffer 22"
|
||||
meta-j23 = "/buffer 23"
|
||||
meta-j24 = "/buffer 24"
|
||||
meta-j25 = "/buffer 25"
|
||||
meta-j26 = "/buffer 26"
|
||||
meta-j27 = "/buffer 27"
|
||||
meta-j28 = "/buffer 28"
|
||||
meta-j29 = "/buffer 29"
|
||||
meta-j30 = "/buffer 30"
|
||||
meta-j31 = "/buffer 31"
|
||||
meta-j32 = "/buffer 32"
|
||||
meta-j33 = "/buffer 33"
|
||||
meta-j34 = "/buffer 34"
|
||||
meta-j35 = "/buffer 35"
|
||||
meta-j36 = "/buffer 36"
|
||||
meta-j37 = "/buffer 37"
|
||||
meta-j38 = "/buffer 38"
|
||||
meta-j39 = "/buffer 39"
|
||||
meta-j40 = "/buffer 40"
|
||||
meta-j41 = "/buffer 41"
|
||||
meta-j42 = "/buffer 42"
|
||||
meta-j43 = "/buffer 43"
|
||||
meta-j44 = "/buffer 44"
|
||||
meta-j45 = "/buffer 45"
|
||||
meta-j46 = "/buffer 46"
|
||||
meta-j47 = "/buffer 47"
|
||||
meta-j48 = "/buffer 48"
|
||||
meta-j49 = "/buffer 49"
|
||||
meta-j50 = "/buffer 50"
|
||||
meta-j51 = "/buffer 51"
|
||||
meta-j52 = "/buffer 52"
|
||||
meta-j53 = "/buffer 53"
|
||||
meta-j54 = "/buffer 54"
|
||||
meta-j55 = "/buffer 55"
|
||||
meta-j56 = "/buffer 56"
|
||||
meta-j57 = "/buffer 57"
|
||||
meta-j58 = "/buffer 58"
|
||||
meta-j59 = "/buffer 59"
|
||||
meta-j60 = "/buffer 60"
|
||||
meta-j61 = "/buffer 61"
|
||||
meta-j62 = "/buffer 62"
|
||||
meta-j63 = "/buffer 63"
|
||||
meta-j64 = "/buffer 64"
|
||||
meta-j65 = "/buffer 65"
|
||||
meta-j66 = "/buffer 66"
|
||||
meta-j67 = "/buffer 67"
|
||||
meta-j68 = "/buffer 68"
|
||||
meta-j69 = "/buffer 69"
|
||||
meta-j70 = "/buffer 70"
|
||||
meta-j71 = "/buffer 71"
|
||||
meta-j72 = "/buffer 72"
|
||||
meta-j73 = "/buffer 73"
|
||||
meta-j74 = "/buffer 74"
|
||||
meta-j75 = "/buffer 75"
|
||||
meta-j76 = "/buffer 76"
|
||||
meta-j77 = "/buffer 77"
|
||||
meta-j78 = "/buffer 78"
|
||||
meta-j79 = "/buffer 79"
|
||||
meta-j80 = "/buffer 80"
|
||||
meta-j81 = "/buffer 81"
|
||||
meta-j82 = "/buffer 82"
|
||||
meta-j83 = "/buffer 83"
|
||||
meta-j84 = "/buffer 84"
|
||||
meta-j85 = "/buffer 85"
|
||||
meta-j86 = "/buffer 86"
|
||||
meta-j87 = "/buffer 87"
|
||||
meta-j88 = "/buffer 88"
|
||||
meta-j89 = "/buffer 89"
|
||||
meta-j90 = "/buffer 90"
|
||||
meta-j91 = "/buffer 91"
|
||||
meta-j92 = "/buffer 92"
|
||||
meta-j93 = "/buffer 93"
|
||||
meta-j94 = "/buffer 94"
|
||||
meta-j95 = "/buffer 95"
|
||||
meta-j96 = "/buffer 96"
|
||||
meta-j97 = "/buffer 97"
|
||||
meta-j98 = "/buffer 98"
|
||||
meta-j99 = "/buffer 99"
|
||||
meta-k = "/input grab_key_command"
|
||||
meta-l = "/window bare"
|
||||
meta-m = "/mute mouse toggle"
|
||||
meta-n = "/window scroll_next_highlight"
|
||||
meta-p = "/window scroll_previous_highlight"
|
||||
meta-r = "/input delete_line"
|
||||
meta-s = "/mute aspell toggle"
|
||||
meta-u = "/window scroll_unread"
|
||||
meta-wmeta-meta2-A = "/window up"
|
||||
meta-wmeta-meta2-B = "/window down"
|
||||
meta-wmeta-meta2-C = "/window right"
|
||||
meta-wmeta-meta2-D = "/window left"
|
||||
meta-wmeta2-1;3A = "/window up"
|
||||
meta-wmeta2-1;3B = "/window down"
|
||||
meta-wmeta2-1;3C = "/window right"
|
||||
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"
|
||||
ctrl-_ = "/input undo"
|
||||
|
||||
[key_search]
|
||||
ctrl-I = "/input search_switch_where"
|
||||
ctrl-J = "/input search_stop"
|
||||
ctrl-M = "/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"
|
||||
|
||||
[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"
|
||||
@item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}"
|
||||
@item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}"
|
||||
@item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}"
|
||||
@item(buffer_nicklist):q = "/window ${_window_number};/query ${nick};/cursor stop"
|
||||
@item(buffer_nicklist):w = "/window ${_window_number};/whois ${nick}"
|
||||
@chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop"
|
||||
@chat:m = "hsignal:chat_quote_message;/cursor stop"
|
||||
@chat:q = "hsignal:chat_quote_prefix_message;/cursor stop"
|
||||
|
||||
[key_mouse]
|
||||
@bar(buflist):ctrl-wheeldown = "hsignal:buflist_mouse"
|
||||
@bar(buflist):ctrl-wheelup = "hsignal:buflist_mouse"
|
||||
@bar(input):button2 = "/input grab_mouse_area"
|
||||
@bar(nicklist):button1-gesture-down = "/bar scroll nicklist ${_window_number} +100%"
|
||||
@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-long = "/bar scroll nicklist ${_window_number} b"
|
||||
@chat(fset.fset):button1 = "/window ${_window_number};/fset -go ${_chat_line_y}"
|
||||
@chat(fset.fset):button2* = "hsignal:fset_mouse"
|
||||
@chat(fset.fset):wheeldown = "/fset -down 5"
|
||||
@chat(fset.fset):wheelup = "/fset -up 5"
|
||||
@chat(perl.iset):button1 = "hsignal:iset_mouse"
|
||||
@chat(perl.iset):button2* = "hsignal:iset_mouse"
|
||||
@chat(perl.iset):wheeldown = "/repeat 5 /iset **down"
|
||||
@chat(perl.iset):wheelup = "/repeat 5 /iset **up"
|
||||
@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):wheeldown = "/script down 5"
|
||||
@chat(script.scripts):wheelup = "/script up 5"
|
||||
@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-long = "/window ${_window_number};/kickban ${nick}"
|
||||
@item(buffer_nicklist):button2 = "/window ${_window_number};/whois ${nick}"
|
||||
@item(buffer_nicklist):button2-gesture-left = "/window ${_window_number};/ban ${nick}"
|
||||
@item(buflist):button1* = "hsignal:buflist_mouse"
|
||||
@item(buflist):button2* = "hsignal:buflist_mouse"
|
||||
@item(buflist2):button1* = "hsignal:buflist_mouse"
|
||||
@item(buflist2):button2* = "hsignal:buflist_mouse"
|
||||
@item(buflist3):button1* = "hsignal:buflist_mouse"
|
||||
@item(buflist3):button2* = "hsignal:buflist_mouse"
|
||||
@bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%"
|
||||
@bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%"
|
||||
@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};/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}"
|
|
@ -0,0 +1,48 @@
|
|||
#
|
||||
# weechat -- xfer.conf
|
||||
#
|
||||
# WARNING: It is NOT recommended to edit this file by hand,
|
||||
# especially if WeeChat is running.
|
||||
#
|
||||
# Use /set or similar command to change settings in WeeChat.
|
||||
#
|
||||
# For more info, see: https://weechat.org/doc/quickstart
|
||||
#
|
||||
|
||||
[look]
|
||||
auto_open_buffer = on
|
||||
progress_bar_size = 20
|
||||
pv_tags = "notify_private"
|
||||
|
||||
[color]
|
||||
status_aborted = lightred
|
||||
status_active = lightblue
|
||||
status_connecting = 130
|
||||
status_done = lightgreen
|
||||
status_failed = lightred
|
||||
status_waiting = lightcyan
|
||||
text = default
|
||||
text_bg = default
|
||||
text_selected = white
|
||||
|
||||
[network]
|
||||
blocksize = 65536
|
||||
fast_send = on
|
||||
own_ip = ""
|
||||
port_range = ""
|
||||
send_ack = on
|
||||
speed_limit_recv = 0
|
||||
speed_limit_send = 0
|
||||
timeout = 300
|
||||
|
||||
[file]
|
||||
auto_accept_chats = off
|
||||
auto_accept_files = off
|
||||
auto_accept_nicks = ""
|
||||
auto_check_crc32 = off
|
||||
auto_rename = on
|
||||
auto_resume = on
|
||||
convert_spaces = on
|
||||
download_path = "%h/xfer"
|
||||
upload_path = "~"
|
||||
use_nick_in_filename = on
|
|
@ -0,0 +1,10 @@
|
|||
global_title="blog | ~username"
|
||||
global_description="a blog about ~username"
|
||||
global_author_url="https://envs.net/~username/"
|
||||
global_url="https://envs.net/~username/blog"
|
||||
global_author="~username"
|
||||
#global_twitter_username=""
|
||||
global_email="username@envs.net"
|
||||
header_file=".header.template"
|
||||
body_begin_file=".beforebody"
|
||||
body_end_file=".afterbody"
|
|
@ -0,0 +1,47 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>~user | Name</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<meta name="author" content="Your Name">
|
||||
<meta name="robots" content="noindex">
|
||||
<meta name="description" content="envs.net | ~user | Your Name" />
|
||||
<meta name="keywords" content="Your Name" />
|
||||
<link rel="stylesheet" href="/css/css_style.css" />
|
||||
<script src="/js/darklight.js" ></script>
|
||||
</head>
|
||||
<body id="body">
|
||||
<div style="clear:both; min-width: 650px;">
|
||||
|
||||
<div style="float: left;">
|
||||
<pre>
|
||||
<blockquote>
|
||||
Your Name
|
||||
Postzip City
|
||||
</blockquote>
|
||||
IRC: user on hackint
|
||||
Mail: <code>user@envs.net</code>
|
||||
|
||||
PGP/GPG: [<a rel="pgp" href="0xABC_pub.asc" target="_top">0xABC</a>] < <code>XXX</code> >
|
||||
SSH: [<a rel="ssh" href="id_rsa.pub" target="_top">id_rsa.pub</a>]
|
||||
|
||||
on >
|
||||
Github: <a rel="me" target="_blank" href="https://github.com/user">user</a>
|
||||
Twitter: <a rel="me" target="_blank" href="https://twitter.com/user">@user</a>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<!-- Button DarkLight-->
|
||||
<div class="button_darklight">
|
||||
<button type="button" name="dark_light" onclick="toggleDarkLight()" title="Toggle dark/light mode">🌛</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
(function() {
|
||||
setThemeFromCookie()
|
||||
})();
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue