feat(*): delete old

This commit is contained in:
Pavel Korytov 2020-12-20 09:17:16 +03:00
parent e39bc85628
commit 7abea5d6ce
156 changed files with 0 additions and 21072 deletions

12
.gitmodules vendored
View file

@ -1,12 +0,0 @@
[submodule "vifm-colors"]
path = config/vifm/colors
url = https://github.com/vifm/vifm-colors.git
[submodule "vifm/colors"]
path = config/vifm/colors
url = https://github.com/vifm/vifm-colors.git
[submodule "vifm/vifm_devicons"]
path = config/vifm/vifm_devicons
url = https://github.com/ryanoasis/vim-devicons.git
[submodule "qutebrowser/dracula"]
path = config/qutebrowser/dracula
url = https://github.com/dracula/qutebrowser-dracula-theme.git

View file

@ -1,35 +0,0 @@
session_name: digital
start_directory: ~/Code/Digital_Schedule
windows:
- window_name: vifm
layout: main-horizontal
shell_command_before:
- conda activate traject
panes:
- shell_command:
- cd ~/Code/Digital_Schedule
- vifm .
- window_name: deploy
layout: main-vertical
focus: true
shell_command_before:
- conda activate traject
panes:
- shell_command:
- cd ~/Code/Digital_Schedule
- cd ~/Code/Digital_Schedule/digital-schedule-backend
- git pull
- yarn run debug
- shell_command:
- cd ~/Code/Digital_Schedule/digital-schedule-frontend
- git pull
- npm run dev
- shell_command:
- cd ~/Code/Digital_Schedule
- docker-compose up
- window_name: emacs
panes:
- shell_command:
- cd ~/Code/Digital_Schedule/digital-schedule-backend
- conda activate traject
- emacs

View file

@ -1,37 +0,0 @@
session_name: traject
start_directory: ~/Code/Digital_Trajectories
windows:
- window_name: vifm
layout: main-horizontal
shell_command_before:
- conda activate traject
panes:
- shell_command:
- cd ~/Code/Digital_Trajectories
- vifm .
- window_name: deploy
layout: main-vertical
shell_command_before:
- conda activate traject
panes:
- shell_command:
- cd ~/Code/Digital_Trajectories/digital-trajectories-backend
- git pull
- cd ~/Code/Digital_Trajectories
- cd ~/Code/Digital_Trajectories/digital-trajectories-backend
- yarn run debug
- shell_command:
- cd ~/Code/Digital_Trajectories/digital-trajectories-frontend
- git pull
- yarn run serve
- shell_command:
- cd ~/Code/Digital_Trajectories
- docker-compose up
- shell_command:
- vue-devtools
- window_name: emacs
panes:
- shell_command:
- cd ~/Code/Digital_Trajectories/digital-trajectories-backend
- conda activate traject
- emacs

View file

@ -1,2 +0,0 @@
#!/bin/bash
/home/pavel/Programs/activitywatch/aw-qt

View file

@ -1,182 +0,0 @@
#!/bin/sh
# Copyright (C) 2016 The Linux Containers Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Taken from https://github.com/lxc/lxd-pkg-ubuntu/blob/dpm-xenial/lxd-bridge/lxd-bridge
# but modified for the use within anbox.
varrun="/run/anbox"
if [ -n "$SNAP_DATA" ]; then
varrun="$SNAP_DATA"/network
fi
BRIDGE="anbox0"
# IPv4
IPV4_ADDR="192.168.250.1"
IPV4_NETMASK="255.255.255.0"
IPV4_NETWORK="192.168.250.1/24"
IPV4_BROADCAST="0.0.0.0"
IPV4_NAT="true"
if [ -n "$SNAP" ]; then
snap_ipv4_address=$(snapctl get bridge.address)
snap_ipv4_netmask=$(snapctl get bridge.netmask)
snap_ipv4_network=$(snapctl get bridge.network)
snap_ipv4_broadcast=$(snapctl get bridge.broadcast)
snap_enable_nat=$(snapctl get bridge.nat.enable)
if [ -n "$snap_ipv4_address" ]; then
IPV4_ADDR="$snap_ipv4_address"
fi
if [ -n "$snap_ipv4_netmask" ]; then
IPV4_NETMASK="$snap_ipv4_netmask"
fi
if [ -n "$snap_ipv4_network" ]; then
IPV4_NETWORK="$snap_ipv4_network"
fi
if [ -n "$snap_ipv4_broadcast" ]; then
IPV4_BROADCAST="$snap_ipv4_broadcast"
fi
if [ "$snap_enable_nat" = false ]; then
IPV4_NAT="false"
fi
fi
use_iptables_lock="-w"
iptables -w -L -n > /dev/null 2>&1 || use_iptables_lock=""
_netmask2cidr () {
# Assumes there's no "255." after a non-255 byte in the mask
local x=${1##*255.}
set -- "0^^^128^192^224^240^248^252^254^" "$(( (${#1} - ${#x})*2 ))" "${x%%.*}"
x=${1%%${3}*}
echo $(( ${2} + (${#x}/4) ))
}
ifdown() {
ip addr flush dev "${1}"
ip link set dev "${1}" down
}
ifup() {
[ "${HAS_IPV6}" = "true" ] && [ "${IPV6_PROXY}" = "true" ] && ip addr add fe80::1/64 dev "${1}"
if [ -n "${IPV4_NETMASK}" ] && [ -n "${IPV4_ADDR}" ]; then
MASK=$(_netmask2cidr ${IPV4_NETMASK})
CIDR_ADDR="${IPV4_ADDR}/${MASK}"
ip addr add "${CIDR_ADDR}" broadcast "${IPV4_BROADCAST}" dev "${1}"
fi
ip link set dev "${1}" up
}
start() {
[ ! -f "${varrun}/network_up" ] || { echo "anbox-bridge is already running"; exit 1; }
if [ -d /sys/class/net/${BRIDGE} ]; then
stop force 2>/dev/null || true
fi
FAILED=1
cleanup() {
set +e
if [ "${FAILED}" = "1" ]; then
echo "Failed to setup anbox-bridge." >&2
stop force
fi
}
trap cleanup EXIT HUP INT TERM
set -e
# set up the anbox network
[ ! -d "/sys/class/net/${BRIDGE}" ] && ip link add dev "${BRIDGE}" type bridge
# if we are run from systemd on a system with selinux enabled,
# the mkdir will create /run/anbox as init_var_run_t which dnsmasq
# can't write its pid into, so we restorecon it (to var_run_t)
if [ ! -d "${varrun}" ]; then
mkdir -p "${varrun}"
if which restorecon >/dev/null 2>&1; then
restorecon "${varrun}"
fi
fi
ifup "${BRIDGE}" "${IPV4_ADDR}" "${IPV4_NETMASK}"
IPV4_ARG=""
if [ -n "${IPV4_ADDR}" ] && [ -n "${IPV4_NETMASK}" ] && [ -n "${IPV4_NETWORK}" ]; then
echo 1 > /proc/sys/net/ipv4/ip_forward
if [ "${IPV4_NAT}" = "true" ]; then
iptables "${use_iptables_lock}" -t nat -A POSTROUTING -s "${IPV4_NETWORK}" ! -d "${IPV4_NETWORK}" -j MASQUERADE -m comment --comment "managed by anbox-bridge"
fi
fi
iptables "${use_iptables_lock}" -I INPUT -i "${BRIDGE}" -p udp --dport 67 -j ACCEPT -m comment --comment "managed by anbox-bridge"
iptables "${use_iptables_lock}" -I INPUT -i "${BRIDGE}" -p tcp --dport 67 -j ACCEPT -m comment --comment "managed by anbox-bridge"
iptables "${use_iptables_lock}" -I INPUT -i "${BRIDGE}" -p udp --dport 53 -j ACCEPT -m comment --comment "managed by anbox-bridge"
iptables "${use_iptables_lock}" -I INPUT -i "${BRIDGE}" -p tcp --dport 53 -j ACCEPT -m comment --comment "managed by anbox-bridge"
iptables "${use_iptables_lock}" -I FORWARD -i "${BRIDGE}" -j ACCEPT -m comment --comment "managed by anbox-bridge"
iptables "${use_iptables_lock}" -I FORWARD -o "${BRIDGE}" -j ACCEPT -m comment --comment "managed by anbox-bridge"
iptables "${use_iptables_lock}" -t mangle -A POSTROUTING -o "${BRIDGE}" -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill -m comment --comment "managed by anbox-bridge"
touch "${varrun}/network_up"
FAILED=0
}
stop() {
[ -f "${varrun}/network_up" ] || [ "${1}" = "force" ] || { echo "anbox-bridge isn't running"; exit 1; }
if [ -d /sys/class/net/${BRIDGE} ]; then
ifdown ${BRIDGE}
iptables ${use_iptables_lock} -D INPUT -i ${BRIDGE} -p udp --dport 67 -j ACCEPT -m comment --comment "managed by anbox-bridge"
iptables ${use_iptables_lock} -D INPUT -i ${BRIDGE} -p tcp --dport 67 -j ACCEPT -m comment --comment "managed by anbox-bridge"
iptables ${use_iptables_lock} -D INPUT -i ${BRIDGE} -p udp --dport 53 -j ACCEPT -m comment --comment "managed by anbox-bridge"
iptables ${use_iptables_lock} -D INPUT -i ${BRIDGE} -p tcp --dport 53 -j ACCEPT -m comment --comment "managed by anbox-bridge"
iptables ${use_iptables_lock} -D FORWARD -i ${BRIDGE} -j ACCEPT -m comment --comment "managed by anbox-bridge"
iptables ${use_iptables_lock} -D FORWARD -o ${BRIDGE} -j ACCEPT -m comment --comment "managed by anbox-bridge"
iptables ${use_iptables_lock} -t mangle -D POSTROUTING -o ${BRIDGE} -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill -m comment --comment "managed by anbox-bridge"
if [ -n "${IPV4_NETWORK}" ] && [ "${IPV4_NAT}" = "true" ]; then
iptables ${use_iptables_lock} -t nat -D POSTROUTING -s ${IPV4_NETWORK} ! -d ${IPV4_NETWORK} -j MASQUERADE -m comment --comment "managed by anbox-bridge"
fi
# if ${BRIDGE} has attached interfaces, don't destroy the bridge
ls /sys/class/net/${BRIDGE}/brif/* > /dev/null 2>&1 || ip link delete "${BRIDGE}"
fi
rm -f "${varrun}/network_up"
}
# See how we were called.
case "${1}" in
start)
start
;;
stop)
stop
;;
restart|reload|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: ${0} {start|stop|restart|reload|force-reload}"
exit 2
esac
exit $?

View file

@ -1,16 +0,0 @@
#!/bin/bash
afk_event=$(curl -s -X GET "http://localhost:5600/api/0/buckets/aw-watcher-afk_$(hostname)/events?limit=1" -H "accept: application/json")
status=$(echo ${afk_event} | jq -r '.[0].data.status')
afk_time=$(echo "${afk_event}" | jq -r '.[0].duration' | xargs -I ! date -u -d @! +"%H:%M")
uptime=$(datediff "$(uptime -s | xargs -I ! date -d ! -Iseconds)" "$(date -Iseconds)" -f '%H:%M' | xargs -I ! date -d ! +"%H:%M")
res="${afk_time}/${uptime}"
if [[ $status == 'afk' ]]; then
echo "$res [AFK]"
echo "$res [AFK]"
echo "#FF7D68"
else
echo $res
echo $res
echo "#68FFF3"
fi

View file

@ -1,106 +0,0 @@
#!/usr/bin/env bash
#
# Copyright (C) 2015 James Murphy
# Licensed under the terms of the GNU GPL v2 only.
#
# i3blocks blocklet script to monitor bandwidth usage
iface="${BLOCK_INSTANCE}"
iface="${IFACE:-$iface}"
dt="${DT:-3}"
unit="${UNIT:-Mb}"
LABEL="${LABEL:-<span font='FontAwesome'> </span>}" # down arrow up arrow
printf_command="${PRINTF_COMMAND:-"printf \"${LABEL}%-5.1f/%5.1f %s/s\\n\", rx, wx, unit;"}"
function default_interface {
ip route | awk '/^default via/ {print $5; exit}'
}
function check_proc_net_dev {
if [ ! -f "/proc/net/dev" ]; then
echo "/proc/net/dev not found"
exit 1
fi
}
function list_interfaces {
check_proc_net_dev
echo "Interfaces in /proc/net/dev:"
grep -o "^[^:]\\+:" /proc/net/dev | tr -d " :"
}
while getopts i:t:u:p:lh opt; do
case "$opt" in
i) iface="$OPTARG" ;;
t) dt="$OPTARG" ;;
u) unit="$OPTARG" ;;
p) printf_command="$OPTARG" ;;
l) list_interfaces && exit 0 ;;
h) printf \
"Usage: bandwidth3 [-i interface] [-t time] [-u unit] [-p printf_command] [-l] [-h]
Options:
-i\tNetwork interface to measure. Default determined using \`ip route\`.
-t\tTime interval in seconds between measurements. Default: 3
-u\tUnits to measure bytes in. Default: Mb
\tAllowed units: Kb, KB, Mb, MB, Gb, GB, Tb, TB
\tUnits may have optional it/its/yte/ytes on the end, e.g. Mbits, KByte
-p\tAwk command to be called after a measurement is made.
\tDefault: printf \"<span font='FontAwesome'> </span>%%-5.1f/%%5.1f %%s/s\\\\n\", rx, wx, unit;
\tExposed variables: rx, wx, tx, unit, iface
-l\tList available interfaces in /proc/net/dev
-h\tShow this help text
" && exit 0;;
esac
done
check_proc_net_dev
iface="${iface:-$(default_interface)}"
while [ -z "$iface" ]; do
echo No default interface
sleep "$dt"
iface=$(default_interface)
done
case "$unit" in
Kb|Kbit|Kbits) bytes_per_unit=$((1024 / 8));;
KB|KByte|KBytes) bytes_per_unit=$((1024));;
Mb|Mbit|Mbits) bytes_per_unit=$((1024 * 1024 / 8));;
MB|MByte|MBytes) bytes_per_unit=$((1024 * 1024));;
Gb|Gbit|Gbits) bytes_per_unit=$((1024 * 1024 * 1024 / 8));;
GB|GByte|GBytes) bytes_per_unit=$((1024 * 1024 * 1024));;
Tb|Tbit|Tbits) bytes_per_unit=$((1024 * 1024 * 1024 * 1024 / 8));;
TB|TByte|TBytes) bytes_per_unit=$((1024 * 1024 * 1024 * 1024));;
*) echo Bad unit "$unit" && exit 1;;
esac
scalar=$((bytes_per_unit * dt))
init_line=$(cat /proc/net/dev | grep "^[ ]*$iface:")
if [ -z "$init_line" ]; then
echo Interface not found in /proc/net/dev: "$iface"
exit 1
fi
init_received=$(awk '{print $2}' <<< $init_line)
init_sent=$(awk '{print $10}' <<< $init_line)
(while true; do cat /proc/net/dev; sleep "$dt"; done) |\
stdbuf -oL grep "^[ ]*$iface:"|\
awk -v scalar="$scalar" -v unit="$unit" -v iface="$iface" '
BEGIN{old_received='"$init_received"';old_sent='"$init_sent"'}
{
received=$2
sent=$10
rx=(received-old_received)/scalar;
wx=(sent-old_sent)/scalar;
tx=rx+wr;
old_received=received;
old_sent=sent;
if(rx >= 0 && wx >= 0){
'"$printf_command"';
fflush(stdout);
}
}
'

View file

@ -1,89 +0,0 @@
#!/usr/bin/perl
#
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
# Copyright 2020 Pavel Korytov <thexcloud@gmail.com>
#
# Licensed under the terms of the GNU GPL v3, or any later version.
#
# This script is meant to use with i3blocks. It parses the output of the "acpi"
# command (often provided by a package of the same name) to read the status of
# the battery, and eventually its remaining time (to full charge or discharge).
#
# The color will gradually change for a percentage below 85%, and the urgency
# (exit code 33) is set if there is less that 5% remaining.
use strict;
use warnings;
use utf8;
my $acpi;
my $status;
my $percent;
my $full_text;
my $short_text;
my $bat_number = $ENV{BLOCK_INSTANCE} || 0;
# read the first line of the "acpi" command output
open (ACPI, "acpi -b | grep 'Battery $bat_number' |") or die;
$acpi = <ACPI>;
close(ACPI);
# fail on unexpected output
if ($acpi !~ /: (\w+), (\d+)%/) {
die "$acpi\n";
}
$status = $1;
$percent = $2;
if ($status eq 'Discharging') {
if ($percent < 20) {
$full_text = '';
} elsif ($percent < 40) {
$full_text = '';
} elsif ($percent < 60) {
$full_text = '';
} elsif ($percent < 85) {
$full_text = '';
} else {
$full_text = '';
}
} elsif ($status eq 'Charging' or $status eq 'Full' or $status eq 'Unknown') {
$full_text = '';
}
$full_text .= " $percent%";
$short_text = $full_text;
if ($acpi =~ /(\d\d:\d\d):/) {
$full_text .= " $1";
}
# print text
print "$full_text\n";
print "$short_text\n";
if ($status eq 'Discharging') {
if ($percent < 20) {
print "#FF0000\n";
} elsif ($percent < 40) {
print "#FFAE00\n";
} elsif ($percent < 60) {
print "#FFF600\n";
} elsif ($percent < 85) {
print "#A8FF00\n";
} else {
print "#2FFF00\n";
}
if ($percent < 5) {
exit(33);
}
} elsif ($status eq 'Charging' or $status eq 'Full' or $status eq 'Unknown') {
print "#FFFE00\n"
}
exit(0);

View file

@ -1,66 +0,0 @@
#!/usr/bin/perl
#
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
# Copyright 2014 Andreas Guldstrand <andreas.guldstrand@gmail.com>
# Copyright 2020 Korytov Pavel <thexcloud@gmail.com>
#
# Licensed under the terms of the GNU GPL v3, or any later version.
use strict;
use warnings;
use utf8;
use Getopt::Long;
# default values
my $t_warn = 50;
my $t_crit = 80;
my $cpu_usage = -1;
sub help {
print "Usage: cpu_usage [-w <warning>] [-c <critical>]\n";
print "-w <percent>: warning threshold to become yellow\n";
print "-c <percent>: critical threshold to become red\n";
exit 0;
}
GetOptions("help|h" => \&help,
"w=i" => \$t_warn,
"c=i" => \$t_crit);
# Clicked on block
if (defined $ENV{'BLOCK_BUTTON'}) {
if ($ENV{'BLOCK_BUTTON'} == "1") {
system('i3-sensible-terminal -e htop')
}
if ($ENV{'BLOCK_BUTTON'} == "3") {
system('i3-sensible-terminal -e /home/pavel/Programs/miniconda3/bin/glances')
}
}
# Get CPU usage
$ENV{LC_ALL}="en_US"; # if mpstat is not run under en_US locale, things may break, so make sure it is
open (MPSTAT, 'mpstat 1 1 |') or die;
while (<MPSTAT>) {
if (/^Average.*\s+(\d+\.\d+)/) {
$cpu_usage = 100 - $1; # 100% - %idle
last;
}
}
close(MPSTAT);
$cpu_usage eq -1 and die 'Can\'t find CPU information';
# Print short_text, full_text
printf "%.2f%%\n", $cpu_usage;
printf "%.2f%%\n", $cpu_usage;
# Print color, if needed
if ($cpu_usage >= $t_crit) {
print "#FF0000\n";
exit 33;
} elsif ($cpu_usage >= $t_warn) {
print "#FFFC00\n";
}
exit 0;

View file

@ -1,41 +0,0 @@
#!/bin/sh
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# 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/>.
DIR="${BLOCK_INSTANCE:-$HOME}"
ALERT_LOW="${1:-10}" # color will turn red under this value (default: 10%)
df -h -P -l "$DIR" | awk -v alert_low=$ALERT_LOW '
/\/.*/ {
# full text
print $4
# short text
print $4
use=$5
# no need to continue parsing
exit 0
}
END {
gsub(/%$/,"",use)
if (100 - use < alert_low) {
# color
print "#FF0000"
}
}
'

View file

@ -1,6 +0,0 @@
#!/bin/bash
ip=$(dig +short myip.opendns.com @resolver1.opendns.com)
if [[ -z $ip || $ip == *"timed out"* ]]; then
exit
fi
echo $ip

View file

@ -1,10 +0,0 @@
#!/bin/bash
ip=$(dig +short +timeout=1 myip.opendns.com @resolver1.opendns.com)
if [[ -z $ip || $ip == *"timed out"* ]]; then
echo '??'
exit
fi
ip_info=$(curl -s http://api.ipstack.com/${ip}?access_key=${API_KEY})
emoji=$(echo $ip_info | jq -r '.location.country_flag_emoji')
echo "$emoji $ip"
echo "$emoji"

View file

@ -1,34 +0,0 @@
#!/bin/sh
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# 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/>.
load="$(cut -d ' ' -f1 /proc/loadavg)"
cpus="$(nproc)"
# full text
echo "$load"
# short text
echo "$load"
# color if load is too high
awk -v cpus=$cpus -v cpuload=$load '
BEGIN {
if (cpus <= cpuload) {
print "#FF0000";
exit 33;
}
}
'

View file

@ -1,76 +0,0 @@
#!/usr/bin/perl
# Copyright (C) 2014 Tony Crisci <tony@dubstepdish.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/>.
# Requires playerctl binary to be in your path (except cmus)
# See: https://github.com/acrisci/playerctl
# Set instance=NAME in the i3blocks configuration to specify a music player
# (playerctl will attempt to connect to org.mpris.MediaPlayer2.[NAME] on your
# DBus session).
use Env qw(BLOCK_INSTANCE);
my @metadata = ();
my $player_arg = "";
if ($BLOCK_INSTANCE) {
$player_arg = "--player='$BLOCK_INSTANCE'";
}
if ($ENV{'BLOCK_BUTTON'} == 1) {
system("playerctl $player_arg previous");
} elsif ($ENV{'BLOCK_BUTTON'} == 2) {
system("playerctl $player_arg play-pause");
} elsif ($ENV{'BLOCK_BUTTON'} == 3) {
system("playerctl $player_arg next");
}
if ($player_arg eq '' or $player_arg =~ /cmus$/) {
# try cmus first
my @cmus = split /^/, qx(cmus-remote -Q);
if ($? == 0) {
foreach my $line (@cmus) {
my @data = split /\s/, $line;
if (shift @data eq 'tag') {
my $key = shift @data;
my $value = join ' ', @data;
@metadata[0] = $value if $key eq 'artist';
@metadata[1] = $value if $key eq 'title';
}
}
if (@metadata) {
# metadata found so we are done
print(join ' - ', @metadata);
exit 0;
}
}
# if cmus was given, we are done
exit 0 unless $player_arg eq '';
}
my $artist = qx(playerctl $player_arg metadata artist);
# exit status will be nonzero when playerctl cannot find your player
exit(0) if $?;
push(@metadata, $artist) if $artist;
my $title = qx(playerctl $player_arg metadata title);
exit(0) if $?;
push(@metadata, $title) if $title;
print(join(" - ", @metadata)) if @metadata;

View file

@ -1,49 +0,0 @@
#!/bin/sh
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# 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/>.
TYPE="${BLOCK_INSTANCE:-mem}"
awk -v type=$TYPE '
/^MemTotal:/ {
mem_total=$2
}
/^MemFree:/ {
mem_free=$2
}
/^Buffers:/ {
mem_free+=$2
}
/^Cached:/ {
mem_free+=$2
}
/^SwapTotal:/ {
swap_total=$2
}
/^SwapFree:/ {
swap_free=$2
}
END {
# full text
if (type == "swap")
printf("%.1fG\n", (swap_total-swap_free)/1024/1024)
else
printf("%.1fG\n", mem_free/1024/1024)
# TODO: short text
# TODO: color (if less than X%)
}
' /proc/meminfo

View file

@ -1,27 +0,0 @@
#!/bin/bash
# declare -A status_icon
case $BLOCK_BUTTON in
1) mpc toggle &> /dev/null ;;
3) notify-send "$(mpc)" ;;
esac
status_icon=(["playing"]="" ["paused"]="" ["stopped"]="")
song_name=$(mpc current -f '\[%artist%\] %title%')
if [[ ! -z "$song_name" ]]; then
mpc status | sed -sn 2p | awk -v NAME="$song_name" '{
switch ($1) {
case "[paused]":
status=""
break
case "[playing]":
status=""
break
}
printf("%s %s %s\n", status, $3, NAME)
printf("%s\n", status)
}'
else
echo ""
fi

View file

@ -1,23 +0,0 @@
#1/bin/bash
time=$(sunwait poll daylight rise ${LAT} $LON)
function send_report {
report="$(sunwait report ${LAT} ${LON} | sed 's/^[[:space:]]*//gm')"
notify-send "Sunwait report" "$report"
}
case $BLOCK_BUTTON in
1) send_report
esac
if [[ ${time} == 'DAY' ]]; then
sunset=$(sunwait list daylight set ${LAT} ${LON})
echo $sunset
echo $sunset
echo "#F4F200"
else
sunrise=$(sunwait list daylight rise ${LAT} ${LON})
echo $sunrise
echo $sunrise
echo "#60E4FF"
fi

View file

@ -1,6 +0,0 @@
#!/bin/sh
echo "Hello"
if [ ! -z "${BLOCK_BUTTON}" ]; then
notify-send clicked $BLOCK_BUTTON
fi

View file

@ -1,72 +0,0 @@
#!/bin/bash
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# Copyright (C) 2014 Alexander Keller <github@nycroth.com>
# Copyright (C) 2020 Korytov Pavel <thexcloud@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/>.
#------------------------------------------------------------------------
# The second parameter overrides the mixer selection
# For PulseAudio users, use "pulse"
# For Jack/Jack2 users, use "jackplug"
# For ALSA users, you may use "default" for your primary card
# or you may use hw:# where # is the number of the card desired
MIXER="default"
[ -n "$(lsmod | grep pulse)" ] && MIXER="pulse"
[ -n "$(lsmod | grep jack)" ] && MIXER="jackplug"
MIXER="${2:-$MIXER}"
# The instance option sets the control to report and configure
# This defaults to the first control of your selected mixer
# For a list of the available, use `amixer -D $Your_Mixer scontrols`
SCONTROL="${BLOCK_INSTANCE:-$(amixer -D $MIXER scontrols |
sed -n "s/Simple mixer control '\([A-Za-z ]*\)',0/\1/p" |
head -n1
)}"
# The first parameter sets the step to change the volume by (and units to display)
# This may be in in % or dB (eg. 5% or 3dB)
STEP="${1:-5%}"
#------------------------------------------------------------------------
capability() { # Return "Capture" if the device is a capture device
amixer -D $MIXER get $SCONTROL |
sed -n "s/ Capabilities:.*cvolume.*/Capture/p"
}
volume() {
amixer -D $MIXER get $SCONTROL $(capability)
}
format() {
perl_filter='if (/.*\[(\d+%)\] (\[(-?\d+.\d+dB)\] )?\[(on|off)\]/)'
perl_filter+='{CORE::say $4 eq "off" ? "MUTE" : "'
# If dB was selected, print that instead
perl_filter+=$([[ $STEP = *dB ]] && echo '$3' || echo '$1')
perl_filter+='"; exit}'
perl -ne "$perl_filter"
}
#------------------------------------------------------------------------
case $BLOCK_BUTTON in
1) pulseeffects > /dev/null ;;
3) pavucontrol > /dev/null ;;
4) pulseaudio-ctl up ;;
5) pulseaudio-ctl down ;;
esac
volume | format

View file

@ -1,19 +0,0 @@
#/bin/sh
bar_format="${BAR_FORMAT:-"%t"}"
location="${LOCATION:-"Saint-Petersburg"}"
format_1=${FORMAT_1:-"qF"}
format_2=${FORMAT_1:-"format=v2n"}
bar_weather=$(curl -s wttr.in/${location}?format=${bar_format} || echo "??")
if [ -z ${bar_weather} ]; then
exit 1
elif [[ ${bar_weather} == *"Unknown"* ]]; then
echo "??"
exit 1
fi
echo ${bar_weather}
case $BLOCK_BUTTON in
1) i3-sensible-terminal -e "bash -c \"curl wttr.in/${location}?${format_1}; read -rsn1 -p 'Press any key to exit' \"";;
3) i3-sensible-terminal -e "bash -c \"curl wttr.in/${location}?${format_2}; read -rsn1 -p 'Press any key to exit' \"";;
esac

View file

@ -1,50 +0,0 @@
#!/bin/bash
# Copyright (C) 2014 Alexander Keller <github@nycroth.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/>.
#------------------------------------------------------------------------
INTERFACE="${BLOCK_INSTANCE:-wlan0}"
case $BLOCK_BUTTON in
1) i3-sensible-terminal -e "nethogs";;
esac
#------------------------------------------------------------------------
# As per #36 -- It is transparent: e.g. if the machine has no battery or wireless
# connection (think desktop), the corresponding block should not be displayed.
[[ ! -d /sys/class/net/${INTERFACE}/wireless ]] ||
[[ "$(cat /sys/class/net/$INTERFACE/operstate)" = 'down' ]] && exit
#------------------------------------------------------------------------
QUALITY=$(grep $INTERFACE /proc/net/wireless | awk '{ print int($3 * 100 / 70)}')
#------------------------------------------------------------------------
echo "$QUALITY%"
# echo $QUALITY% # short text
# color
if [[ $QUALITY -ge 80 ]]; then
echo "#00FF00"
elif [[ $QUALITY -lt 80 ]]; then
echo "#FFF600"
elif [[ $QUALITY -lt 60 ]]; then
echo "#FFAE00"
elif [[ $QUALITY -lt 40 ]]; then
echo "#FF0000"
fi

View file

@ -1,38 +0,0 @@
#!/bin/bash
# TRAY_MONITOR="HDMI-A-0"
TRAY_MONITOR="DVI-D-0"
declare -A FONT_SIZES=(
["DVI-D-0"]="11"
["HDMI-A-0"]="13"
)
declare -A EMOJI_SCALE=(
["DVI-D-0"]="10"
["HDMI-A-0"]="10"
)
declare -A BAR_HEIGHT=(
["DVI-D-0"]="23"
["HDMI-A-0"]="29"
)
declare -A BLOCKS=(
["DVI-D-0"]="pulseaudio SEP cpu ram-memory swap-memory SEP network ipstack-vpn SEP xkeyboard SEP sun aw-afk date TSEP"
["HDMI-A-0"]="pulseaudio mpd SEP cpu ram-memory swap-memory SEP network ipstack-vpn SEP xkeyboard SEP sun aw-afk date TSEP"
)
pkill polybar
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
export MONITOR=$m
if [ "$MONITOR" = "$TRAY_MONITOR" ]; then
export TRAY="right"
else
export TRAY="none"
fi
SIZE=${FONT_SIZES[$MONITOR]}
SCALE=${EMOJI_SCALE[$MONITOR]}
export FONT0="pango:monospace:size=$SIZE;1"
export FONT1="NotoEmoji:scale=$SCALE:antialias=false;1"
export FONT2="fontawesome:pixelsize=$SIZE;1"
export FONT3="JetBrains Mono Nerd Font:monospace:size=$SIZE;1"
export HEIGHT=${BAR_HEIGHT[$MONITOR]}
export RIGHT_BLOCKS=${BLOCKS[$MONITOR]}
polybar --reload mybar &
done

View file

@ -1,12 +0,0 @@
#!/bin/bash
afk_event=$(curl -s -X GET "http://localhost:5600/api/0/buckets/aw-watcher-afk_$(hostname)/events?limit=1" -H "accept: application/json")
status=$(echo ${afk_event} | jq -r '.[0].data.status')
afk_time=$(echo "${afk_event}" | jq -r '.[0].duration' | xargs -I ! date -u -d @! +"%H:%M")
uptime=$(datediff "$(uptime -s | xargs -I ! date -d ! -Iseconds)" "$(date -Iseconds)" -f '%H:%M' | xargs -I ! date -d ! +"%H:%M")
res="${afk_time} / ${uptime}"
if [[ $status == 'afk' ]]; then
echo "%{u#f07178}%{+u} [AFK] $res %{u-}"
else
echo "%{u#82aaff}%{+u} $res %{u-}"
fi

View file

@ -1,17 +0,0 @@
#!/bin/bash
ip=$(dig +short +timeout=1 myip.opendns.com @resolver1.opendns.com)
API_KEY="8948d12cd68a3b7ac60d405ed4118b43"
if [[ -z $ip || $ip == *"timed out"* ]]; then
echo "%{u#f07178}%{+u} ?? %{u-}"
exit
fi
ip_info=$(curl -s http://api.ipstack.com/${ip}?access_key=${API_KEY})
# emoji=$(echo $ip_info | jq -r '.location.country_flag_emoji')
code=$(echo $ip_info | jq -r '.country_code')
vpn=$(pgrep -a openvpn$ | head -n 1 | awk '{print $NF }' | cut -d '.' -f 1)
if [ -n "$vpn" ]; then
echo "%{u#9cc4ff}%{+u}  $code %{u-}"
else
echo "%{u#f07178}%{+u}  $code %{u-}"
fi

View file

@ -1,11 +0,0 @@
#!/bin/bash
ip=$(dig +short +timeout=1 myip.opendns.com @resolver1.opendns.com)
API_KEY="8948d12cd68a3b7ac60d405ed4118b43"
if [[ -z $ip || $ip == *"timed out"* ]]; then
echo "%{u#f07178}%{+u} ?? %{u-}"
exit
fi
ip_info=$(curl -s http://api.ipstack.com/${ip}?access_key=${API_KEY})
# emoji=$(echo $ip_info | jq -r '.location.country_flag_emoji')
code=$(echo $ip_info | jq -r '.country_code')
echo "%{u#9cc4ff}%{+u} $code $ip %{u-}"

View file

@ -1,22 +0,0 @@
#1/bin/bash
LAT=59.9375N
LON=30.308611E
time=$(sunwait poll daylight rise ${LAT} $LON)
function send_report {
report="$(sunwait report ${LAT} ${LON} | sed 's/^[[:space:]]*//gm')"
notify-send "Sunwait report" "$report"
}
case $BLOCK_BUTTON in
1) send_report
esac
if [[ ${time} == 'DAY' ]]; then
sunset=$(sunwait list daylight set ${LAT} ${LON})
echo "%{u#ffcb6b}%{+u} $sunset %{u-}"
else
sunrise=$(sunwait list daylight rise ${LAT} ${LON})
echo "%{u#f07178}%{+u} $sunrise %{u-}"
fi

View file

@ -1,4 +0,0 @@
#!/bin/bash
if [ ! -z "$TRAY" ] && [ "$TRAY" != "none" ]; then
echo "| "
fi

View file

@ -1,22 +0,0 @@
#!/bin/sh
COMMAND="buku -o %"
# COMMAND="qutebrowser $(buku -f 10 -p %)"
if [[ $1 == '-e' ]]; then
COMMAND="buku -w %"
fi
buku -f 5 -p | awk -F'\t' -v OFS='\t' '{
split($3, tags, ",")
joined = sep = ""
for (i = 1; i in tags; i++) {
joined = joined sep "[" tags[i] "]"
sep = " "
}
if ($1 != "waiting for input") {
printf "%-5s %-40s %s\n", $1, $2, joined
}
}' | dmenu -l 20 | cut -d ' ' -f 1 | {
read index;
url=$(buku -f 10 p $index)
echo $url
# echo ${$()#"waiting for input"} | cut -d ' ' -f 1 | xargs -I % qutebrowser %
}

View file

@ -1,51 +0,0 @@
#!/bin/bash
# Copyright [2019] andreasl
# Copyright [2020] SqrtMinusOne
define_standard_settings() {
selected_path="$HOME"
history_file="${HOME}/.config/.edm_history"
max_history_entries=3
choices=(
'<open terminal here>'
'.'
'..'
"$(ls "$selected_path")"
"$(cat "$history_file")"
)
open_command='xdg-open'
open_terminal_command='setsid st'
}
define_standard_settings
write_selection_to_history_file() {
sed -i "\:${selected_path}:d" "$history_file"
printf '%s\n' "$selected_path" >> "$history_file"
printf '%s\n' "$(tail -n "$max_history_entries" "$history_file")" > "$history_file"
}
while : ; do
dmenu_result="$(printf '%s\n' "${choices[@]}" | dmenu -p "$selected_path" -l 50)" || exit 1
if [ "$dmenu_result" = '<open terminal here>' ]; then
cd $selected_path && $open_terminal_command
write_selection_to_history_file
exit 0
fi
if [[ "$dmenu_result" == "/"* ]]; then
selected_path="${dmenu_result}"
else
selected_path="$(realpath "${selected_path}/${dmenu_result}")"
fi
if [ -f "$selected_path" ] || [ "$dmenu_result" = '.' ]; then
$open_command "$selected_path"
write_selection_to_history_file
exit 0
elif [ -d "$selected_path" ]; then
choices=( '<open terminal here>' '.' '..' "$(ls "$selected_path")")
else
selected_path="$(dirname "$selected_path")"
fi
done

View file

@ -1,5 +0,0 @@
#!/bin/bash
SELECTED=$(man -k . | dmenu -l 20 | awk '{print $1}')
if [[ ! -z $SELECTED ]]; then
man -Tpdf $SELECTED | zathura -
fi

View file

@ -1,9 +0,0 @@
#!/bin/bash
CLASSNAME="dropdown_tmux"
COMMAND="st -n $CLASSNAME -e tmux new-session -s $CLASSNAME"
pid=$(xdotool search --classname "dropdown_tmux")
if [[ ! -z $pid ]]; then
i3-msg scratchpad show
else
setsid -f ${COMMAND}
fi

View file

@ -1,2 +0,0 @@
#!/bin/bash
i3-msg "workspace 9: Music; exec 'i3-sensible-terminal -e ncmpcpp'"

View file

@ -1,28 +0,0 @@
#!/bin/sh
COMMAND="buku -o %"
# COMMAND="qutebrowser $(buku -f 10 -p %)"
if [[ $1 == '-e' ]]; then
COMMAND="buku -w %"
fi
buku -f 4 -p | awk -F'\t' -v OFS='\t' '{
split($4, tags, ",")
joined = sep = ""
for (i = 1; i in tags; i++) {
joined = joined sep "[" tags[i] "]"
sep = " "
}
url = substr($2, 1, 40)
if (length($2) > 40) {
url = url "..."
}
if ($1 != "waiting for input") {
printf "%-5s %-60s %-45s %s\n", $1, $3, url, joined
}
}' | sort -k 2 | rofi -dmenu -matching fuzzy -sort -sorting-method fzf -width 80 -l 20 | cut -d ' ' -f 1 | {
read index;
if [[ -z "$index" ]]; then
exit 0
fi
url=$(buku -f 10 -p $index)
echo ${url#"waiting for input"} | cut -d ' ' -f 1 | xargs -I % firefox %
}

View file

@ -1,5 +0,0 @@
#!/bin/bash
SELECTED=$(man -k . | rofi -dmenu -l 20 | awk '{print $1}')
if [[ ! -z $SELECTED ]]; then
man -Tpdf $SELECTED | zathura -
fi

View file

@ -1,3 +0,0 @@
#!/bin/bash
setxkbmap -layout us,ru
setxkbmap -model pc105 -option 'grp:win_space_toggle' -option 'grp:alt_shift_toggle'

View file

@ -1,2 +0,0 @@
#!/bin/bash
/home/pavel/Programs/miniconda3/bin/python /home/pavel/Code/mpd-watcher/mpd-watcher/watcher.py

View file

@ -1,2 +0,0 @@
#!/bin/bash
/home/pavel/Programs/miniconda3/bin/vmd $1 &

View file

@ -1,10 +0,0 @@
#!/bin/bash
SINK=`pactl list short | grep RUNNING | sed -e 's,^\([0-9][0-9]*\)[^0-9].*,\1,'`
if [[ $SINK ]]; then
if [[ $1 == 'volume' ]]; then
pactl set-sink-volume ${SINK} $2
fi
if [[ $1 == 'mute' ]]; then
pactl set-sink-mute ${SINK} toggle
fi
fi

View file

@ -1,8 +0,0 @@
#!/bin/bash
[ -z "$1" ] && exit
killall xwinwrap
sleep 0.3
xwinwrap -ov -g 1368x768+0+0 -- mpv -wid WID "$1" --no-osc --no-osd-bar --loop-file --player-operation-mode=cplayer --no-audio --panscan=1.0 --no-keepaspect --no-input-default-bindings --hwdec&

View file

@ -1,5 +0,0 @@
#
# ~/.bash_profile
#
[[ -f ~/.bashrc ]] && . ~/.bashrc

View file

@ -1,126 +0,0 @@
# Return if not run interactively
[[ $- != *i* ]] && return
xhost +local:root > /dev/null 2>&1
use_fish=true
# ==================== PATHS ====================
if [ -d "$HOME/bin" ] ; then
export PATH="$HOME/bin:$PATH"
export PATH="$HOME/bin/scripts:$PATH"
fi
export MANPATH="/usr/local/texlive/2020/texmf-dist/doc/man:$MANPATH"
export INFOPATH="/usr/local/texlive/2020/texmf-dist/doc/info:$INFOPATH"
export PATH="/usr/local/texlive/2020/bin/x86_64-linux:$PATH"
if [[ $(ps --no-header --pid=$PPID --format=cmd) != "fish" && ${use_fish} ]]
then
exec fish
fi
# ==================== COLORS ====================
use_color=true
# Set colorful PS1 only on colorful terminals.
# dircolors --print-database uses its own built-in database
# instead of using /etc/DIR_COLORS. Try to use the external file
# first to take advantage of user additions. Use internal bash
# globbing instead of external grep binary.
safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM
match_lhs=""
[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"
[[ -z ${match_lhs} ]] \
&& type -P dircolors >/dev/null \
&& match_lhs=$(dircolors --print-database)
[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true
if ${use_color} ; then
# Enable colors for ls, etc. Prefer ~/.dir_colors #64489
if type -P dircolors >/dev/null ; then
if [[ -f ~/.dir_colors ]] ; then
eval $(dircolors -b ~/.dir_colors)
elif [[ -f /etc/DIR_COLORS ]] ; then
eval $(dircolors -b /etc/DIR_COLORS)
fi
fi
if [[ ${EUID} == 0 ]] ; then
PS1='\[\033[01;31m\][\h\[\033[01;36m\] \W\[\033[01;31m\]]\$\[\033[00m\] '
else
PS1='\[\033[01;32m\][\u@\h\[\033[01;37m\] \W\[\033[01;32m\]]\$\[\033[00m\] '
fi
alias ls='ls --color=auto'
alias grep='grep --colour=auto'
alias egrep='egrep --colour=auto'
alias fgrep='fgrep --colour=auto'
else
if [[ ${EUID} == 0 ]] ; then
# show root@ when we don't have colors
PS1='\u@\h \W \$ '
else
PS1='\u@\h \w \$ '
fi
fi
unset use_color safe_term match_lhs sh
# ==================== Settings ====================
# Sudo autocompletiong
complete -cf sudo
shopt -s checkwinsize
shopt -s expand_aliases
shopt -s autocd
# ==================== ANACONDA ====================
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/pavel/Programs/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/pavel/Programs/miniconda3/etc/profile.d/conda.sh" ]; then
. "/home/pavel/Programs/miniconda3/etc/profile.d/conda.sh"
else
export PATH="/home/pavel/Programs/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
# ==================== BASH_IT ====================
# History
eval "$(starship init bash)"
shopt -s histappend
export HISTCONTROL=ignoredups:erasedups
# if [[ (! $PROMPT_COMMAND =~ .*history.*) && -z $TMUX ]]; then
# export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"
# fi
HISTSIZE=
HISTFILESIZE=
# ==================== AUTOCOMPLETION ====================
[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
source /usr/share/fzf/completion.bash
source /usr/share/fzf/key-bindings.bash
# ==================== ALIASES ====================
alias v="nvim"
alias gg="lazygit"
alias ls="exa --icons"
alias ll="exa -lah --icons"
alias q="exit"
alias c="clear"

View file

@ -1,21 +0,0 @@
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(css-indent-offset 2)
'(custom-safe-themes
'("c83c095dd01cde64b631fb0fe5980587deec3834dc55144a6e78ff91ebc80b19" "bf387180109d222aee6bb089db48ed38403a1e330c9ec69fe1f52460a8936b66" "e074be1c799b509f52870ee596a5977b519f6d269455b84ed998666cf6fc802a" default))
'(dired-recursive-copies 'always)
'(js-indent-level 2)
'(org-agenda-files
'("~/Documents/org-mode/Personal/misc.org" "~/Documents/org-mode/Job/dig-traject.org" "~/Documents/org-mode/Personal/look-forward.org" "~/Documents/org-mode/ETU/sem-9.org"))
'(sgml-basic-offset 2)
'(wakatime-cli-path "/usr/bin/wakatime")
'(wakatime-python-bin nil))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)

View file

@ -1,44 +0,0 @@
(defun elfeed-open-current-with-qutebrowser ()
"Open current link with qutebrowser."
(interactive)
(let ((browse-url-generic-program "/usr/bin/qutebrowser"))
(elfeed-show-visit t)))
(defun elfeed-browse-url-with-qutebrowser ()
"Open current link with qutebrowser."
(interactive)
(let ((browse-url-generic-program "/usr/bin/qutebrowser"))
(elfeed-search-browse-url t)))
(defun elfeed-open-current-with-chromium ()
"Open current link with qutebrowser."
(interactive)
(let ((browse-url-generic-program "/usr/bin/chromium"))
(elfeed-show-visit t)))
(defun elfeed-browse-url-with-chromium ()
"Open current link with qutebrowser."
(interactive)
(let ((browse-url-generic-program "/usr/bin/chromium"))
(elfeed-search-browse-url t)))
(general-define-key
:keymaps 'elfeed-search-mode-map
"f" 'elfeed-search-update--force
"o" 'elfeed-browse-url-with-qutebrowser
"S-o" 'elfeed-browse-url-with-chromium)
(general-define-key
:keymaps 'elfeed-show-mode-map
"o" 'elfeed-open-current-with-qutebrowser
"S-o" 'elfeed-browse-url-with-chromium
)
(general-define-key
:keymaps '(elfeed-search-mode-map elfeed-show-mode-map)
"g" nil
"gN" 'quit-window
"q" 'quit-window
"j" 'next-line
"k" 'previous-line)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,25 +0,0 @@
; Jebrains-mono ligatures
(defconst jetbrains-ligature-mode--ligatures
'("-->" "///" "/**" "/*" "*/" "<!--" ":=" "->>" "<<-" "->" "<-"
"<=>" "<=" ">=" "=:=" "!==" "&&" "||" "..." ".." "===" "!="
"|||" "//" "&&&" "==" "++" "--" "=>" "|>" "<|" "||>" "<||"
"|||>" "<|||" ">>" "<<" "::=" "|]" "[|" "{|" "|}"
"[<" ">]" ":?>" ":?" "/=" "[||]" "!!" "?:" "?." "::"
"+++" "??" "###" "##" ":::" "####" ".?" "?=" "=!=" "<|>"
"<:" ":<" ":>" ">:" "<>" "***" ";;" "/==" ".=" ".-" "__"
"=/=" "<-<" "<<<" ">>>" "<=<" "<<=" "<==" "<==>" "==>" "=>>"
">=>" ">>=" ">>-" ">-" "<~>" "-<" "-<<" "=<<" "---" "<-|"
"<=|" "/\\" "\\/" "|=>" "|~>" "<~~" "<~" "~~" "~~>" "~>"
"<$>" "<$" "$>" "<+>" "<+" "+>" "<*>" "<*" "*>" "</>" "</" "/>"
"<->" "..<" "~=" "~-" "-~" "~@" "^=" "-|" "_|_" "|-" "||-"
"|=" "||=" "#{" "#[" "]#" "#(" "#?" "#_" "#_(" "#:" "#!" "#="
"&="))
(dolist (pat jetbrains-ligature-mode--ligatures)
(set-char-table-range composition-function-table
(aref pat 0)
(nconc (char-table-range composition-function-table (aref pat 0))
(list (vector (regexp-quote pat)
0
'compose-gstring-for-graphic)))))

View file

@ -1,8 +0,0 @@
# -*- mode: snippet -*-
# name: equation*
# key: eq*
# --
\begin{equation*}
$1
\end{equation*}
$0

View file

@ -1,35 +0,0 @@
# -*- mode: snippet -*-
# name: etutitle
# key: etutitle
# --
\begin{titlepage}
\centering
{\bfseries
\uppercase{
Минобрнауки России \\\\
Санкт-Петербургский государственный \\\\
Электротехнический университет \\\\
\enquote{ЛЭТИ} им. В.И.Ульянова (Ленина)\\\\
}
Кафедра ${1:МО ЭВМ}
\vspace{\fill}
\uppercase{${2:Отчёт}} \\\\
по ${3:лабораторной работе} ${4:№1} \\\\
по дисциплине \enquote{$5} \\\\
Тема: $6
}
\vspace{\fill}
\begin{tabularx}{0.8\textwidth}{l X c r}
Студент гр. 6304 & & \underline{\hspace{3cm}} & Корытов П.В.\\\\
Преподаватель & & \underline{\hspace{3cm}} & $7
\end{tabularx}
\vspace{1cm}
Санкт-Петербург \\\\
\the\year{}
\end{titlepage}
$0

View file

@ -1,9 +0,0 @@
# key: flst
# name: float listing
# --
\begin{listing}[h]
\frame${1:text}file[fontsize=\small]{$2}
\caption{$3}%
\label{lst:$4}
\end{listing}
$0

View file

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: floatbarrier
# key: fb
# --
\FloatBarrier{}
$0

View file

@ -1,11 +0,0 @@
# key: lfig
# name: lfig
# --
\begin{figure}[h]
\centering
\includegraphics[${1:width=\textwidth}]{${2:`(shell-command-to-string "find -name \"*.png\" -type f -print0 | xargs -0 stat --format '%Y :%y %n' | sort -nr | head -n 1 | awk '{ printf $5 }'
")`}}
\caption{$3}%
\label{fig:${4:label}}
\end{figure}
$0

View file

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: lorem
# key: lorem
# --
\lipsum[1]{} % TODO
$0

View file

@ -1,15 +0,0 @@
# -*- mode: snippet -*-
# name: org-latex-table
# key: otab
# --
\begin{table}[h]
% BEGIN RECEIVE ORGTBL $1
% END RECEIVE ORGTBL $1
\caption{$2}%
\label{tab:$1}
\end{table}
\begin{comment}
#+ORGTBL: SEND $1 orgtbl-to-latex :booktabs t
$0
\end{comment}

View file

@ -1,4 +0,0 @@
# key: i
# name: textit
# --
\textit{$1} $0

View file

@ -1,4 +0,0 @@
# key: tt
# name: texttt
# --
\texttt{$1} $0

View file

@ -1,5 +0,0 @@
# -*- mode: snippet -*-
# name: рис
# key: рис
# --
рис.~\ref{fig:$1}$0

View file

@ -1 +0,0 @@
$pdf_mode = 5;

View file

@ -1,10 +0,0 @@
export EDITOR=/usr/bin/nvim
export BROWSER=/usr/bin/qutebrowser
export QT_QPA_PLATFORMTHEME="qt5ct"
export QT_AUTO_SCREEN_SCALE_FACTOR=0
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
if [ -d "$HOME/bin" ] ; then
export PATH="$HOME/bin:$PATH"
export PATH="$HOME/bin/scripts:$PATH"
fi

View file

@ -1,31 +0,0 @@
sanitize tridactyllocal tridactylsync
bind gn tabnew
bind gN tabclose
bind O fillcmdline tabopen
bind / fillcmdline find
bind ? fillcmdline find -?
bind n findnext 1
bind N findnext -1
bind F hint -t
set smoothscroll false
set findcase sensitive
colorscheme base16-dracula
bind j scrollline 3
bind k scrollline -3
guiset_quiet gui full
guiset_quiet statuspanel left
guiset_quiet navbar none
guiset_quiet tabs always
set searchurls.g https://google.com/search?q=
command fixamo_quiet jsb tri.excmds.setpref("privacy.resistFingerprinting.block_mozAddonManager", "true").then(tri.excmds.setpref("extensions.webextensions.restrictedDomains", '""'))
command fixamo js tri.excmds.setpref("privacy.resistFingerprinting.block_mozAddonManager", "true").then(tri.excmds.setpref("extensions.webextensions.restrictedDomains", '""').then(tri.excmds.fillcmdline_tmp(3000, "Permissions added to user.js. Please restart Firefox to make them take affect.")))
fixamo_quiet

View file

@ -1,15 +0,0 @@
Section "Device"
Identifier "eDP-1 "
Driver "intel"
Option "Backlight" "intel_backlight"
EndSection
Section "InputClass"
Identifier "touchpad"
MatchIsTouchpad "on"
Driver "libinput"
Option "Tapping" "on"
Option "TappingButtonMap" "lrm"
Option "NaturalScrolling" "on"
Option "ScrollMethod" "twofinger"
EndSection

View file

@ -1,400 +0,0 @@
[global]
monitor = 0
follow = mouse
# The geometry of the window:
# [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window.
# The height is measured in number of notifications everything else
# in pixels. If the width is omitted but the height is given
# ("-geometry x2"), the message window expands over the whole screen
# (dmenu-like). If width is 0, the window expands to the longest
# message displayed. A positive x is measured from the left, a
# negative from the right side of the screen. Y is measured from
# the top and down respectively.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "300x5-30+20"
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = no
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 15
# The height of the entire notification. If the height is smaller
# than the font height and padding combined, it will be raised
# to the font height and padding.
notification_height = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 2
# Padding between text and separator.
padding = 8
# Horizontal padding.
horizontal_padding = 8
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 3
# Defines color of the frame around the notification window.
frame_color = "#aaaaaa"
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Sort messages by urgency.
sort = yes
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
# A client can set the 'transient' hint to bypass this. See the rules
# section for how to disable this if necessary
idle_threshold = 120
### Text ###
font = DejaVu Sans 9
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<b>%s</b>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# When word_wrap is set to no, specify where to make an ellipsis in long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Stack together notifications with the same content
stack_duplicates = true
# Hide the count of stacked notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
### Icons ###
# Align icons left/right/off
icon_position = left
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 32
# Paths to default icons.
icon_path = /usr/share/icons/Mint-Y/status/32/;/usr/share/icons/Mint-Y/devices/32
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/sensible-browser
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
# Manage dunst's desire for talking
# Can be one of the following values:
# crit: Critical features. Dunst aborts
# warn: Only non-fatal warnings
# mesg: Important Messages
# info: all unimportant stuff
# debug: all less than unimportant stuff
verbosity = mesg
# Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius = 0
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
### mouse
# Defines action of mouse event
# Possible values are:
# * none: Don't do anything.
# * do_action: If the notification has exactly one action, or one is marked as default,
# invoke it. If there are multiple and no default, open the context menu.
# * close_current: Close current notification.
# * close_all: Close all notifications.
mouse_left_click = close_current
mouse_middle_click = do_action
mouse_right_click = close_all
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
[shortcuts]
# Shortcuts are specified as [modifier+][modifier+]...key
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
# Close notification.
close = ctrl+space
# Close all notifications.
close_all = ctrl+shift+space
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1". Make sure this key actually exists on your keyboard layout,
# e.g. check output of 'xmodmap -pke'
history = ctrl+grave
# Context menu.
context = ctrl+shift+period
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#222222"
foreground = "#888888"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#285577"
foreground = "#ffffff"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#900000"
foreground = "#ffffff"
frame_color = "#ff0000"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
#
# Messages can be matched by
# appname (discouraged, see desktop_entry)
# body
# category
# desktop_entry
# icon
# match_transient
# msg_urgency
# stack_tag
# summary
#
# and you can override the
# background
# foreground
# format
# frame_color
# fullscreen
# new_icon
# set_stack_tag
# set_transient
# timeout
# urgency
#
# Shell-like globbing will get expanded.
#
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
# GLib based applications export their desktop-entry name. In comparison to the appname,
# the desktop-entry won't get localized.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
# Disable the transient hint so that idle_threshold cannot be bypassed from the
# client
#[transient_disable]
# match_transient = yes
# set_transient = no
#
# Make the handling of transient notifications more strict by making them not
# be placed in history.
#[transient_history_ignore]
# match_transient = yes
# history_ignore = yes
# fullscreen values
# show: show the notifications, regardless if there is a fullscreen window opened
# delay: displays the new notification, if there is no fullscreen window active
# If the notification is already drawn, it won't get undrawn.
# pushback: same as delay, but when switching into fullscreen, the notification will get
# withdrawn from screen again and will get delayed like a new notification
#[fullscreen_delay_everything]
# fullscreen = delay
#[fullscreen_show_critical]
# msg_urgency = critical
# fullscreen = show
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[skip-display]
# # This notification will not be displayed, but will be included in the history
# summary = "foobar"
# skip_display = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
#[stack-volumes]
# appname = "some_volume_notifiers"
# set_stack_tag = "volume"
#
# vim: ft=cfg

View file

@ -1,19 +0,0 @@
starship init fish | source
fish_vi_key_bindings
alias c="clear"
alias v="nvim"
alias gg="lazygit"
alias ls="exa --icons"
alias ll="exa -lah --icons"
alias q="exit"
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
eval /home/pavel/Programs/miniconda3/bin/conda "shell.fish" "hook" $argv | source
# <<< conda initialize <<<
if ! test -n "$TMUX"; and ! test -n "$IS_EMACS";
colorscript random
end

View file

@ -1,32 +0,0 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_initialized:3100
SETUVAR fish_color_autosuggestion:BD93F9
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:F8F8F2
SETUVAR fish_color_comment:6272A4
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:50FA7B
SETUVAR fish_color_error:FFB86C
SETUVAR fish_color_escape:00a6b2
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:00a6b2
SETUVAR fish_color_param:FF79C6
SETUVAR fish_color_quote:F1FA8C
SETUVAR fish_color_redirection:8BE9FD
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dblack
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_greeting:\x1d
SETUVAR fish_key_bindings:fish_vi_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D\x1eyellow
SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan

View file

@ -1,3 +0,0 @@
function fish_user_key_bindings
fzf_key_bindings
end

View file

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test qual="any" name="family">
<string>monospace</string>
</test>
<edit binding="strong" name="family" mode="assign">
<string>DejaVu Sans Mono</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>sans-serif</string>
</test>
<edit binding="strong" name="family" mode="assign">
<string>DejaVu Sans</string>
</edit>
</match>
<!--alias>
<family>monospace</family>
<prefer>
<family>DejaVu Sans Mono Book</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Ubuntu Regular</family>
</prefer>
</alias-->
</fontconfig>

View file

@ -1,389 +0,0 @@
set $mod Mod4
font pango:monospace 10
hide_edge_borders both
#
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
mouse_warping output
# Apply XFCE Settings
# exec "bash /home/pavel/.screenlayout/layout.sh"
exec xfsettingsd
exec xiccd
# start a terminal
bindsym $mod+Return exec "i3-msg 'workspace 1 🚀; exec st'"
# kill focused window
bindsym $mod+Shift+q kill
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+s split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+w layout stacking
bindsym $mod+t layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+f floating toggle
bindsym $mod+Tab move workspace to output right
bindsym $mod+q focus output right
# change focus between tiling / floating windows
# bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
bindsym $mod+Shift+A focus child
# switch to workspace
set $w1 "1 🚀"
set $w2 "2 🌍"
set $w3 "3 💬"
set $w4 "4 🛠️️"
set $w7 "7 🛰️"
set $w8 "8 📝"
set $w9 "9 🎵"
set $w10 "10 📦"
bindsym $mod+1 workspace $w1
bindsym $mod+2 workspace $w2
bindsym $mod+3 workspace $w3
bindsym $mod+4 workspace $w4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace $w7
bindsym $mod+8 workspace $w8
bindsym $mod+9 workspace $w9
bindsym $mod+0 workspace $w10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $w1
bindsym $mod+Shift+2 move container to workspace $w2
bindsym $mod+Shift+3 move container to workspace $w3
bindsym $mod+Shift+4 move container to workspace $w4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace $w7
bindsym $mod+Shift+8 move container to workspace $w8
bindsym $mod+Shift+9 move container to workspace $w9
bindsym $mod+Shift+0 move container to workspace $w10
# Cycle workspaces
bindsym $mod+comma workspace prev
bindsym $mod+period workspace next
assign [class="qutebrowser"] $w2
assign [class="firefox"] $w2
assign [class="VK"] $w3
assign [class="Slack"] $w3
assign [class="discord"] $w3
assign [class="TelegramDesktop"] $w3
assign [class="Postman"] $w4
assign [class="Chromium-browse"] $w4
assign [class="chromium"] $w4
assign [class="google-chrome"] $w4
assign [title="Vue Developer Tools"] $w4
assign [class="Google Play Music Desktop Player"] $w9
assign [class="jetbrains-datagrip"] $w4
assign [class="zoom"] $w7
assign [class="skype"] $w7
assign [class="Mailspring"] $w8
assign [class="Thunderbird"] $w8
assign [class="Joplin"] $w8
for_window [title="ncmpcpp.*"] move to workspace $w9
for_window [class="cinnamon-settings*"] floating enable
for_window [title="Picture-in-Picture"] sticky enable
# for_window [class=".*"] border pixel 0
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# Scratchpad
for_window [instance="dropdown_*"] floating enable
for_window [instance="dropdown_*"] move scratchpad
for_window [instance="dropdown_*"] sticky enable
for_window [instance="dropdown_*"] scratchpad show
for_window [instance="dropdown_*"] move position center
bindsym $mod+u exec ~/bin/scripts/dropdown
# Gaps
set $default_inner 0
set $default_outer 0
gaps inner $default_inner
gaps outer $default_outer
# for_window [class="terminal"] border pixel 0
mode "inner gaps" {
bindsym plus gaps inner current plus 5
bindsym minus gaps inner current minus 5
bindsym Shift+plus gaps inner all plus 5
bindsym Shift+minus gaps inner all minus 5
bindsym 0 gaps inner current set 0
bindsym Shift+0 gaps inner all set 0
bindsym r gaps inner current set $default_inner
bindsym Shift+r gaps inner all set $default_inner
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "outer gaps" {
bindsym plus gaps outer current plus 5
bindsym minus gaps outer current minus 5
bindsym Shift+plus gaps outer all plus 5
bindsym Shift+minus gaps outer all minus 5
bindsym 0 gaps outer current set 0
bindsym Shift+0 gaps outer all set 0
bindsym r gaps outer current set $default_outer
bindsym Shift+r gaps outer all set $default_outer
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+g mode "inner gaps"
bindsym $mod+Shift+g mode "outer gaps"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt
bindsym Shift+h resize shrink width 100 px or 100 ppt
bindsym Shift+j resize grow height 100 px or 100 ppt
bindsym Shift+k resize shrink height 100 px or 100 ppt
bindsym Shift+l resize grow width 100 px or 100 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
bindsym Shift+Left resize shrink width 100 px or 100 ppt
bindsym Shift+Down resize grow height 100 px or 100 ppt
bindsym Shift+Up resize shrink height 100 px or 100 ppt
bindsym Shift+Right resize grow width 100 px or 100 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
bindsym $mod+m mode "move" focus floating
mode "move" {
bindsym $mod+Tab focus right
bindsym Left move left
bindsym Down move down
bindsym Up move up
bindsym Right move right
bindsym h move left
bindsym j move down
bindsym k move up
bindsym l move right
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
# # dmenu
# bindsym $mod+d exec i3-dmenu-desktop --dmenu="dmenu -l 10"
# bindsym $mod+apostrophe mode "dmenu"
# mode "dmenu" {
# bindsym d exec i3-dmenu-desktop --dmenu="dmenu -l 10"; mode default
# bindsym p exec dmenu_run -l 10; mode default
# bindsym m exec dmenu-man; mode default
# bindsym b exec dmenu-buku; mode default
# bindsym f exec dmenu-explore; mode default
# bindsym t exec dmenu-tmuxp; mode default
# bindsym Escape mode "default"
# }
# bindsym $mod+b exec --no-startup-id dmenu-buku
# rofi
bindsym $mod+d exec "rofi -modi 'drun,run' -show drun"
bindsym $mod+apostrophe mode "rofi"
mode "rofi" {
bindsym d exec "rofi -modi 'drun,run' -show drun"
bindsym m exec rofi-man; mode default
bindsym b exec rofi-buku-mine; mode default
# bindsym f exec dmenu-explore; mode default
bindsym k exec rofi-keepassxc -d ~/MEGAsync/Passwords.kdbx; mode default
bindsym Escape mode "default"
}
bindsym $mod+b exec --no-startup-id rofi-buku-mine
# Launch apps
bindsym $mod+semicolon mode "apps"
mode "apps" {
bindsym Escape mode "default"
bindsym b exec firefox; mode default
bindsym v exec vk-messenger; mode default
bindsym s exec slack; mode default;
bindsym m exec "st -e ncmpcpp"; mode default
bindsym c exec "copyq toggle"; mode default
bindsym k exec "keepassxc"; mode default
bindsym e exec mailspring; mode default
bindsym a exec emacs; mode default
}
bindsym $mod+p exec "copyq menu"
bindsym $mod+Shift+x exec "i3lock -f -i /home/pavel/Pictures/lock-wallpaper-2-1.png"
# Colors
set $bg-color #292d3e
set $inactive-bg-color #434758
set $text-color #f3f4f5
set $inactive-text-color #aaaaaa
set $urgent-bg-color #f07178
set $urgent-text-color #000000
# window colors
# border background text indicator
client.focused $bg-color $bg-color $text-color $bg-color
client.unfocused $bg-color $inactive-bg-color $inactive-text-color $bg-color
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color $bg-color
client.urgent $urgent-bg-color $urgent-bg-color $urgent-text-color $bg-color
# bar
exec_always --no-startup-id "bash /home/pavel/bin/polybar.sh"
# bar {
# status_command i3blocks -c ~/.config/i3/i3blocks.conf
# i3bar_command i3bar
# font pango:monospace 12
# output HDMI-A-0
# tray_output none
# colors {
# background $bg-color
# separator #757575
# # border background text
# focused_workspace $bg-color $bg-color $text-color
# inactive_workspace $inactive-bg-color $inactive-bg-color $inactive-text-color
# urgent_workspace $urgent-bg-color $urgent-bg-color $urgent-text-color
# }
# }
# bar {
# status_command i3blocks -c ~/.config/i3/i3blocks.conf
# i3bar_command i3bar
# font pango:monospace 10
# output DVI-D-0
# colors {
# background $bg-color
# separator #757575
# # border background text
# focused_workspace $bg-color $bg-color $text-color
# inactive_workspace $inactive-bg-color $inactive-bg-color $inactive-text-color
# urgent_workspace $urgent-bg-color $urgent-bg-color $urgent-text-color
# }
# }
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id "pulseaudio-ctl up && pkill -RTMIN+2 i3blocks"
bindsym XF86AudioLowerVolume exec --no-startup-id "pulseaudio-ctl down && pkill -RTMIN+2 i3blocks"
bindsym XF86AudioMute exec --no-startup-id "pulseaudio-ctl mute && pkill -RTMIN+2 i3blocks"
# Media player controls
bindsym XF86AudioPlay exec mpc toggle
bindsym XF86AudioPause exec mpc pause
bindsym XF86AudioNext exec mpc next
bindsym XF86AudioPrev exec mpc prev
# Screen brightness
bindsym XF86MonBrightnessUp exec xbacklight -inc 5
bindsym XF86MonBrightnessDown exec xbacklight -dec 5
exec --no-startup-id pulseeffects --gapplication-service
# Screenshots
bindsym --release Print exec "flameshot gui"
bindsym --release Shift+Print exec "xfce4-screenshooter"
# Sudo
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
# Wallpaper
# fallback
exec_always "feh --bg-fill ~/Pictures/wallpaper-2.jpg"
# exec_always "/home/pavel/bin/scripts/wallgif /home/pavel/Videos/OMSBG7.mov"
# Compton
exec compton
# Some scripts
exec_always --no-startup-id set_layout
# Applets
exec --no-startup-id /usr/bin/nm-applet
exec --no-startup-id /usr/bin/blueman-applet
# MPD
exec --no-startup-id mpd
# Stuff
exec aw-qt
exec "bash /home/pavel/bin/bukuserver.sh"
exec dunst
exec kde-connect-indicator
exec copyq

View file

@ -1,94 +0,0 @@
# List of valid properties:
#
# align
# color
# command
# full_text
# instance
# interval
# label
# min_width
# name
# separator
# separator_block_width
# short_text
# signal
# urgent
command=~/bin/i3blocks/$BLOCK_NAME
separator_block_width=15
markup=none
[volume]
label=♪
instance=Master
interval=once
signal=2
command=~/bin/i3blocks/volume 5 pulse
separator=false
[mpd]
label=
interval=1
color=#FFA000
command=~/bin/i3blocks/mpd
[cpu_usage]
label=
color=#89ddf
interval=2
separator=false
[memory]
label=
separator=false
color=#82aaff
interval=10
[memory]
label=
color=#ffcb6b
instance=swap
# separator=false
interval=10
[wifi]
# instance=wlp3s0
instance=wlx58d56e980477
label=
color=#c3e88d
interval=10
separator=false
[bandwidth3]
interval=persist
color=#c3e88d
label=
UNIT=KB
PRINTF_COMMAND=printf "%.0f/%.0f\n", rx, wx;
separator=false
[ipstack]
API_KEY=8948d12cd68a3b7ac60d405ed4118b43
interval=1200
[weather]
LOCATION="Saint-Petersburg"
color=#FF9600
interval=3600
separator=false
[sun]
LAT=59.9375N
LON=30.308611E
interval=600
# [battery]
# interval=60
[aw_afk]
interval=60
[time]
command=date '+%H:%M'
interval=10

View file

@ -1,398 +0,0 @@
# An example configuration file for MPD.
# Read the user manual for documentation: http://www.musicpd.org/doc/user/
# Files and directories #######################################################
#
# This setting controls the top directory which MPD will search to discover the
# available audio files and add them to the daemon's online database. This
# setting defaults to the XDG directory, otherwise the music directory will be
# be disabled and audio files will only be accepted over ipc socket (using
# file:// protocol) or streaming files over an accepted protocol.
#
music_directory "~/Music"
#
# This setting sets the MPD internal playlist directory. The purpose of this
# directory is storage for playlists created by MPD. The server will use
# playlist files not created by the server but only if they are in the MPD
# format. This setting defaults to playlist saving being disabled.
#
playlist_directory "~/.mpd/playlists"
#
# This setting sets the location of the MPD database. This file is used to
# load the database at server start up and store the database while the
# server is not up. This setting defaults to disabled which will allow
# MPD to accept files over ipc socket (using file:// protocol) or streaming
# files over an accepted protocol.
#
db_file "~/.mpd/database"
#
# These settings are the locations for the daemon log files for the daemon.
# These logs are great for troubleshooting, depending on your log_level
# settings.
#
# The special value "syslog" makes MPD use the local syslog daemon. This
# setting defaults to logging to syslog.
#
log_file "~/.mpd/log"
#
# This setting sets the location of the file which stores the process ID
# for use of mpd --kill and some init scripts. This setting is disabled by
# default and the pid file will not be stored.
#
pid_file "~/.mpd/pid"
#
# This setting sets the location of the file which contains information about
# most variables to get MPD back into the same general shape it was in before
# it was brought down. This setting is disabled by default and the server
# state will be reset on server start up.
#
state_file "~/.mpd/state"
#
# The location of the sticker database. This is a database which
# manages dynamic information attached to songs.
#
sticker_file "~/.mpd/sticker.sql"
#
###############################################################################
# General music daemon options ################################################
#
# This setting specifies the user that MPD will run as. MPD should never run as
# root and you may use this setting to make MPD change its user ID after
# initialization. This setting is disabled by default and MPD is run as the
# current user.
#
#user "nobody"
#
# This setting specifies the group that MPD will run as. If not specified
# primary group of user specified with "user" setting will be used (if set).
# This is useful if MPD needs to be a member of group such as "audio" to
# have permission to use sound card.
#
#group "nogroup"
#
# This setting sets the address for the daemon to listen on. Careful attention
# should be paid if this is assigned to anything other then the default, any.
# This setting can deny access to control of the daemon. Not effective if
# systemd socket activiation is in use.
#
# For network
#bind_to_address "any"
#
# And for Unix Socket
#bind_to_address "~/.mpd/socket"
#
# This setting is the TCP port that is desired for the daemon to get assigned
# to.
#
#port "6600"
#
# This setting controls the type of information which is logged. Available
# setting arguments are "default", "secure" or "verbose". The "verbose" setting
# argument is recommended for troubleshooting, though can quickly stretch
# available resources on limited hardware storage.
#
#log_level "default"
#
# Setting "restore_paused" to "yes" puts MPD into pause mode instead
# of starting playback after startup.
#
#restore_paused "no"
#
# This setting enables MPD to create playlists in a format usable by other
# music players.
#
#save_absolute_paths_in_playlists "no"
#
# This setting defines a list of tag types that will be extracted during the
# audio file discovery process. The complete list of possible values can be
# found in the user manual.
#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
#
# This example just enables the "comment" tag without disabling all
# the other supported tags:
#metadata_to_use "+comment"
#
# This setting enables automatic update of MPD's database when files in
# music_directory are changed.
#
#auto_update "yes"
#
# Limit the depth of the directories being watched, 0 means only watch
# the music directory itself. There is no limit by default.
#
#auto_update_depth "3"
#
###############################################################################
# Symbolic link behavior ######################################################
#
# If this setting is set to "yes", MPD will discover audio files by following
# symbolic links outside of the configured music_directory.
#
#follow_outside_symlinks "yes"
#
# If this setting is set to "yes", MPD will discover audio files by following
# symbolic links inside of the configured music_directory.
#
#follow_inside_symlinks "yes"
#
###############################################################################
# Zeroconf / Avahi Service Discovery ##########################################
#
# If this setting is set to "yes", service information will be published with
# Zeroconf / Avahi.
#
#zeroconf_enabled "yes"
#
# The argument to this setting will be the Zeroconf / Avahi unique name for
# this MPD server on the network. %h will be replaced with the hostname.
#
#zeroconf_name "Music Player @ %h"
#
###############################################################################
# Permissions #################################################################
#
# If this setting is set, MPD will require password authorization. The password
# setting can be specified multiple times for different password profiles.
#
#password "password@read,add,control,admin"
#
# This setting specifies the permissions a user has who has not yet logged in.
#
#default_permissions "read,add,control,admin"
#
###############################################################################
# Database #######################################################################
#
#database {
# plugin "proxy"
# host "other.mpd.host"
# port "6600"
#}
# Input #######################################################################
#
input {
plugin "curl"
# proxy "proxy.isp.com:8080"
# proxy_user "user"
# proxy_password "password"
}
#
###############################################################################
# Audio Output ################################################################
#
# MPD supports various audio output types, as well as playing through multiple
# audio outputs at the same time, through multiple audio_output settings
# blocks. Setting this block is optional, though the server will only attempt
# autodetection for one sound card.
#
# An example of an ALSA output:
#
#audio_output {
# type "alsa"
# name "My ALSA Device"
## device "hw:0,0" # optional
## mixer_type "hardware" # optional
## mixer_device "default" # optional
## mixer_control "PCM" # optional
## mixer_index "0" # optional
#}
#
# An example of an OSS output:
#
#audio_output {
# type "oss"
# name "My OSS Device"
## device "/dev/dsp" # optional
## mixer_type "hardware" # optional
## mixer_device "/dev/mixer" # optional
## mixer_control "PCM" # optional
#}
#
# An example of a shout output (for streaming to Icecast):
#
#audio_output {
# type "shout"
# encoder "vorbis" # optional
# name "My Shout Stream"
# host "localhost"
# port "8000"
# mount "/mpd.ogg"
# password "hackme"
# quality "5.0"
# bitrate "128"
# format "44100:16:1"
## protocol "icecast2" # optional
## user "source" # optional
## description "My Stream Description" # optional
## url "http://example.com" # optional
## genre "jazz" # optional
## public "no" # optional
## timeout "2" # optional
## mixer_type "software" # optional
#}
#
# An example of a recorder output:
#
#audio_output {
# type "recorder"
# name "My recorder"
# encoder "vorbis" # optional, vorbis or lame
# path "/var/lib/mpd/recorder/mpd.ogg"
## quality "5.0" # do not define if bitrate is defined
# bitrate "128" # do not define if quality is defined
# format "44100:16:1"
#}
#
# An example of a httpd output (built-in HTTP streaming server):
#
#audio_output {
# type "httpd"
# name "My HTTP Stream"
# encoder "vorbis" # optional, vorbis or lame
# port "8000"
# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
## quality "5.0" # do not define if bitrate is defined
# bitrate "128" # do not define if quality is defined
# format "44100:16:1"
# max_clients "0" # optional 0=no limit
#}
#
# An example of a pulseaudio output (streaming to a remote pulseaudio server)
#
audio_output {
type "pulse"
name "My Pulse Output"
# server "remote_server" # optional
# sink "remote_server_sink" # optional
}
audio_output {
type "fifo"
name "my_fifo"
path "/tmp/mpd.fifo"
format "44100:16:2"
}
#
# An example of a winmm output (Windows multimedia API).
#
#audio_output {
# type "winmm"
# name "My WinMM output"
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
# or
## device "0" # optional
## mixer_type "hardware" # optional
#}
#
# An example of an openal output.
#
#audio_output {
# type "openal"
# name "My OpenAL output"
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
#}
#
# An example of an sndio output.
#
#audio_output {
# type "sndio"
# name "sndio output"
# mixer_type "hardware"
#}
#
# An example of an OS X output:
#
#audio_output {
# type "osx"
# name "My OS X Device"
## device "Built-in Output" # optional
## channel_map "-1,-1,0,1" # optional
#}
#
## Example "pipe" output:
#
#audio_output {
# type "pipe"
# name "my pipe"
# command "aplay -f cd 2>/dev/null"
## Or if you're want to use AudioCompress
# command "AudioCompress -m | aplay -f cd 2>/dev/null"
## Or to send raw PCM stream through PCM:
# command "nc example.org 8765"
# format "44100:16:2"
#}
#
## An example of a null output (for no audio output):
#
#audio_output {
# type "null"
# name "My Null Output"
# mixer_type "none" # optional
#}
#
###############################################################################
# Normalization automatic volume adjustments ##################################
#
# This setting specifies the type of ReplayGain to use. This setting can have
# the argument "off", "album", "track" or "auto". "auto" is a special mode that
# chooses between "track" and "album" depending on the current state of
# random playback. If random playback is enabled then "track" mode is used.
# See <http://www.replaygain.org> for more details about ReplayGain.
# This setting is off by default.
#
#replaygain "album"
#
# This setting sets the pre-amp used for files that have ReplayGain tags. By
# default this setting is disabled.
#
#replaygain_preamp "0"
#
# This setting sets the pre-amp used for files that do NOT have ReplayGain tags.
# By default this setting is disabled.
#
#replaygain_missing_preamp "0"
#
# This setting enables or disables ReplayGain limiting.
# MPD calculates actual amplification based on the ReplayGain tags
# and replaygain_preamp / replaygain_missing_preamp setting.
# If replaygain_limit is enabled MPD will never amplify audio signal
# above its original level. If replaygain_limit is disabled such amplification
# might occur. By default this setting is enabled.
#
#replaygain_limit "yes"
#
# This setting enables on-the-fly normalization volume adjustment. This will
# result in the volume of all playing audio to be adjusted so the output has
# equal "loudness". This setting is disabled by default.
#
#volume_normalization "no"
#
###############################################################################
# Character Encoding ##########################################################
#
# If file or directory names do not display correctly for your locale then you
# may need to modify this setting.
#
#filesystem_charset "UTF-8"
#
###############################################################################

View file

@ -1,543 +0,0 @@
##############################################################
## This is the example bindings file. Copy it to ##
## ~/.ncmpcpp/bindings or $XDG_CONFIG_HOME/ncmpcpp/bindings ##
## and set up your preferences ##
##############################################################
##
##### General rules #####
##
## 1) Because each action has runtime checks whether it's
## ok to run it, a few actions can be bound to one key.
## Actions will be bound in order given in configuration
## file. When a key is pressed, first action in order
## will test itself whether it's possible to run it. If
## test succeeds, action is executed and other actions
## bound to this key are ignored. If it doesn't, next
## action in order tests itself etc.
##
## 2) It's possible to bind more that one action at once
## to a key. It can be done using the following syntax:
##
## def_key "key"
## action1
## action2
## ...
##
## This creates a chain of actions. When such chain is
## executed, each action in chain is run until the end of
## chain is reached or one of its actions fails to execute
## due to its requirements not being met. If multiple actions
## and/or chains are bound to the same key, they will be
## consecutively run until one of them gets fully executed.
##
## 3) When ncmpcpp starts, bindings configuration file is
## parsed and then ncmpcpp provides "missing pieces"
## of default keybindings. If you want to disable some
## bindings, there is a special action called 'dummy'
## for that purpose. Eg. if you want to disable ability
## to crop playlists, you need to put the following
## into configuration file:
##
## def_key "C"
## dummy
##
## After that ncmpcpp will not bind any default action
## to this key.
##
## 4) To let you write simple macros, the following special
## actions are provided:
##
## - push_character "character" - pushes given special
## character into input queue, so it will be immediately
## picked by ncmpcpp upon next call to readKey function.
## Accepted values: mouse, up, down, page_up, page_down,
## home, end, space, enter, insert, delete, left, right,
## tab, ctrl-a, ctrl-b, ..., ctrl-z, ctrl-[, ctrl-\\,
## ctrl-], ctrl-^, ctrl-_, f1, f2, ..., f12, backspace.
## In addition, most of these names can be prefixed with
## alt-/ctrl-/shift- to be recognized with the appropriate
## modifier key(s).
##
## - push_characters "string" - pushes given string into
## input queue.
##
## - require_runnable "action" - checks whether given action
## is runnable and fails if it isn't. This is especially
## useful when mixed with previous two functions. Consider
## the following macro definition:
##
## def_key "key"
## push_characters "custom_filter"
## apply_filter
##
## If apply_filter can't be currently run, we end up with
## sequence of characters in input queue which will be
## treated just as we typed them. This may lead to unexpected
## results (in this case 'c' will most likely clear current
## playlist, 'u' will trigger database update, 's' will stop
## playback etc.). To prevent such thing from happening, we
## need to change above definition to this one:
##
## def_key "key"
## require_runnable "apply_filter"
## push_characters "custom_filter"
## apply_filter
##
## Here, first we test whether apply_filter can be actually run
## before we stuff characters into input queue, so if condition
## is not met, whole chain is aborted and we're fine.
##
## - require_screen "screen" - checks whether given screen is
## currently active. accepted values: browser, clock, help,
## media_library, outputs, playlist, playlist_editor,
## search_engine, tag_editor, visualizer, last_fm, lyrics,
## selected_items_adder, server_info, song_info,
## sort_playlist_dialog, tiny_tag_editor.
##
## - run_external_command "command" - runs given command using
## system() function.
##
## 5) In addition to binding to a key, you can also bind actions
## or chains of actions to a command. If it comes to commands,
## syntax is very similar to defining keys. Here goes example
## definition of a command:
##
## def_command "quit" [deferred]
## stop
## quit
##
## If you execute the above command (which can be done by
## invoking action execute_command, typing 'quit' and pressing
## enter), ncmpcpp will stop the player and then quit. Note the
## presence of word 'deferred' enclosed in square brackets. It
## tells ncmpcpp to wait for confirmation (ie. pressing enter)
## after you typed quit. Instead of 'deferred', 'immediate'
## could be used. Then ncmpcpp will not wait for confirmation
## (enter) and will execute the command the moment it sees it.
##
## Note: while command chains are executed, internal environment
## update (which includes current window refresh and mpd status
## update) is not performed for performance reasons. However, it
## may be desirable to do so in some situration. Therefore it's
## possible to invoke by hand by performing 'update enviroment'
## action.
##
## Note: There is a difference between:
##
## def_key "key"
## action1
##
## def_key "key"
## action2
##
## and
##
## def_key "key"
## action1
## action2
##
## First one binds two single actions to the same key whilst
## second one defines a chain of actions. The behavior of
## these two is different and is described in (1) and (2).
##
## Note: Function def_key accepts non-ascii characters.
##
##### List of unbound actions #####
##
## The following actions are not bound to any key/command:
##
## - set_volume
##
#
#def_key "mouse"
# mouse_event
#
#def_key "up"
# scroll_up
#
#def_key "shift-up"
# select_item
# scroll_up
#
#def_key "down"
# scroll_down
#
#def_key "shift-down"
# select_item
# scroll_down
#
#def_key "["
# scroll_up_album
#
#def_key "]"
# scroll_down_album
#
#def_key "{"
# scroll_up_artist
#
#def_key "}"
# scroll_down_artist
#
#def_key "page_up"
# page_up
#
#def_key "page_down"
# page_down
#
#def_key "home"
# move_home
#
#def_key "end"
# move_end
#
#def_key "insert"
# select_item
#
#def_key "enter"
# enter_directory
#
#def_key "enter"
# toggle_output
#
#def_key "enter"
# run_action
#
#def_key "enter"
# play_item
#
#def_key "space"
# add_item_to_playlist
#
#def_key "space"
# toggle_lyrics_update_on_song_change
#
#def_key "space"
# toggle_visualization_type
#
#def_key "delete"
# delete_playlist_items
#
#def_key "delete"
# delete_browser_items
#
#def_key "delete"
# delete_stored_playlist
#
#def_key "right"
# next_column
#
#def_key "right"
# slave_screen
#
#def_key "right"
# volume_up
#
#def_key "+"
# volume_up
#
#def_key "left"
# previous_column
#
#def_key "left"
# master_screen
#
#def_key "left"
# volume_down
#
#def_key "-"
# volume_down
#
#def_key ":"
# execute_command
#
#def_key "tab"
# next_screen
#
#def_key "shift-tab"
# previous_screen
#
def_key "h"
show_help
#
#def_key "1"
# show_playlist
#
#def_key "2"
# show_browser
#
#def_key "2"
# change_browse_mode
#
#def_key "3"
# show_search_engine
#
#def_key "3"
# reset_search_engine
#
#def_key "4"
# show_media_library
#
#def_key "4"
# toggle_media_library_columns_mode
#
#def_key "5"
# show_playlist_editor
#
#def_key "6"
# show_tag_editor
#
#def_key "7"
# show_outputs
#
#def_key "8"
# show_visualizer
#
#def_key "="
# show_clock
#
#def_key "@"
# show_server_info
#
#def_key "s"
# stop
#
#def_key "p"
# pause
#
#def_key ">"
# next
#
#def_key "<"
# previous
#
#def_key "ctrl-h"
# jump_to_parent_directory
#
#def_key "ctrl-h"
# replay_song
#
#def_key "backspace"
# jump_to_parent_directory
#
#def_key "backspace"
# replay_song
#
#def_key "f"
# seek_forward
#
#def_key "b"
# seek_backward
#
#def_key "r"
# toggle_repeat
#
#def_key "z"
# toggle_random
#
#def_key "y"
# save_tag_changes
#
#def_key "y"
# start_searching
#
#def_key "y"
# toggle_single
#
#def_key "R"
# toggle_consume
#
#def_key "Y"
# toggle_replay_gain_mode
#
#def_key "T"
# toggle_add_mode
#
#def_key "|"
# toggle_mouse
#
#def_key "#"
# toggle_bitrate_visibility
#
#def_key "Z"
# shuffle
#
#def_key "x"
# toggle_crossfade
#
#def_key "X"
# set_crossfade
#
#def_key "u"
# update_database
#
#def_key "ctrl-s"
# sort_playlist
#
#def_key "ctrl-s"
# toggle_browser_sort_mode
#
#def_key "ctrl-s"
# toggle_media_library_sort_mode
#
#def_key "ctrl-r"
# reverse_playlist
#
#def_key "ctrl-f"
# apply_filter
#
#def_key "ctrl-_"
# select_found_items
#
#def_key "/"
# find
#
#def_key "/"
# find_item_forward
#
#def_key "?"
# find
#
#def_key "?"
# find_item_backward
#
#def_key "."
# next_found_item
#
#def_key ","
# previous_found_item
#
#def_key "w"
# toggle_find_mode
#
#def_key "e"
# edit_song
#
#def_key "e"
# edit_library_tag
#
#def_key "e"
# edit_library_album
#
#def_key "e"
# edit_directory_name
#
#def_key "e"
# edit_playlist_name
#
#def_key "e"
# edit_lyrics
#
#def_key "i"
# show_song_info
#
#def_key "I"
# show_artist_info
#
#def_key "g"
# jump_to_position_in_song
#
#def_key "l"
# show_lyrics
#
#def_key "ctrl-v"
# select_range
#
#def_key "v"
# reverse_selection
#
#def_key "V"
# remove_selection
#
#def_key "B"
# select_album
#
#def_key "a"
# add_selected_items
#
#def_key "c"
# clear_playlist
#
#def_key "c"
# clear_main_playlist
#
#def_key "C"
# crop_playlist
#
#def_key "C"
# crop_main_playlist
#
#def_key "m"
# move_sort_order_up
#
#def_key "m"
# move_selected_items_up
#
#def_key "n"
# move_sort_order_down
#
#def_key "n"
# move_selected_items_down
#
#def_key "M"
# move_selected_items_to
#
#def_key "A"
# add
#
#def_key "S"
# save_playlist
#
#def_key "o"
# jump_to_playing_song
#
#def_key "G"
# jump_to_browser
#
#def_key "G"
# jump_to_playlist_editor
#
#def_key "~"
# jump_to_media_library
#
#def_key "E"
# jump_to_tag_editor
#
#def_key "U"
# toggle_playing_song_centering
#
#def_key "P"
# toggle_display_mode
#
#def_key "\\"
# toggle_interface
#
#def_key "!"
# toggle_separators_between_albums
#
#def_key "L"
# toggle_lyrics_fetcher
#
#def_key "F"
# fetch_lyrics_in_background
#
#def_key "alt-l"
# toggle_fetching_lyrics_in_background
#
#def_key "ctrl-l"
# toggle_screen_lock
#
#def_key "`"
# toggle_library_tag_type
#
#def_key "`"
# refetch_lyrics
#
#def_key "`"
# add_random_items
#
#def_key "ctrl-p"
# set_selected_items_priority
#
#def_key "q"
# quit
#

View file

@ -1,406 +0,0 @@
ncmpcpp_directory = ~/.mpd/ncmpcpp
lyrics_directory = ~/.mpd/lyrics
#
##### connection settings #####
mpd_host = localhost
mpd_port = 6600
mpd_connection_timeout = 5
mpd_music_dir = ~/Music
##### music visualizer #####
audio_output {
type "fifo"
name "Visualizer feed"
path "/tmp/mpd.fifo"
format "44100:16:2"
}
visualizer_fifo_path = /tmp/mpd.fifo
visualizer_output_name = Visualizer feed
visualizer_in_stereo = yes
visualizer_sync_interval = 30
# Available values: spectrum, wave, wave_filled, ellipse.
visualizer_type = spectrum
visualizer_look = ●▮
#visualizer_color = blue, cyan, green, yellow, magenta, red
visualizer_color = 41, 83, 119, 155, 185, 215, 209, 203, 197, 161
##### song format #####
## %l - length
## %f - filename
## %D - directory
## %a - artist
## %A - album artist
## %t - title
## %b - album
## %y - date
## %n - track number (01/12 -> 01)
## %N - full track info (01/12 -> 01/12)
## %g - genre
## %c - composer
## %p - performer
## %d - disc
## %C - comment
## %P - priority
## $R - begin right alignment
## - 0 - default window color (discards all other colors)
## - 1 - black
## - 2 - red
## - 3 - green
## - 4 - yellow
## - 5 - blue
## - 6 - magenta
## - 7 - cyan
## - 8 - white
## - 9 - end of current color
## - b - bold text
## - u - underline text
## - r - reverse colors
## - a - use alternative character set
song_list_format = {%a - }{$7%b$9 - }{%t}|{$8%f$9}$R{$3(%l)$9}
song_status_format = {{%a{ "%b"{ (%4y)}} - }{%t}}|{%f}
song_library_format = {%n - }{%t}|{%f}
alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b
alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%4y$9)}}|{%D}
current_item_prefix = $(yellow)$r
current_item_suffix = $/r$(end)
current_item_inactive_column_prefix = $(white)$r
current_item_inactive_column_suffix = $/r$(end)
now_playing_prefix = $b
now_playing_suffix = $/b
browser_playlist_prefix = "$2playlist$9 "
selected_item_prefix = $6
selected_item_suffix = $9
modified_item_prefix = $3> $9
song_window_title_format = ncmpcpp - {%a - }{%t}|{%f}
##
## Note: Below variables are used for sorting songs in browser. The sort mode
## determines how songs are sorted, and can be used in combination with a sort
## format to specify a custom sorting format. Available values for
## browser_sort_mode are "name", "mtime", "format" and "noop".
##
#
browser_sort_mode = name
#
browser_sort_format = {%a - }{%t}|{%f} {(%l)}
#
##### columns settings #####
##
## syntax of song columns list format is "column column etc."
##
## - syntax for each column is:
##
## (width of the column)[color of the column]{displayed tag}
##
## Note: Width is by default in %, if you want a column to have fixed size, add
## 'f' after the value, e.g. (10)[white]{a} will be the column that take 10% of
## screen (so the real width will depend on actual screen size), whereas
## (10f)[white]{a} will take 10 terminal cells, no matter how wide the screen
## is.
##
## - color is optional (if you want the default one, leave the field empty).
##
## Note: You can give a column additional attributes by putting appropriate
## character after displayed tag character. Available attributes are:
##
## - r - column will be right aligned
## - E - if tag is empty, empty tag marker won't be displayed
##
## You can also:
##
## - give a column custom name by putting it after attributes, separated with
## character ':', e.g. {lr:Length} gives you right aligned column of lengths
## named "Length".
##
## - define sequence of tags, that have to be displayed in case predecessor is
## empty in a way similar to the one in classic song format, i.e. using '|'
## character, e.g. {a|c|p:Owner} creates column named "Owner" that tries to
## display artist tag and then composer and performer if previous ones are not
## available.
##
#
song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l}
#
##### various settings #####
#
##
## Note: Custom command that will be executed each time song changes. Useful for
## notifications etc.
##
#execute_on_song_change = ""
#
##
## Note: Custom command that will be executed each time player state
## changes. The environment variable MPD_PLAYER_STATE is set to the current
## state (either unknown, play, pause, or stop) for its duration.
##
#
#execute_on_player_state_change = ""
#
#playlist_show_mpd_host = no
#
#playlist_show_remaining_time = no
#
#playlist_shorten_total_times = no
#
#playlist_separate_albums = no
#
##
## Note: Possible display modes: classic, columns.
##
#playlist_display_mode = columns
#
browser_display_mode = columns
#
#search_engine_display_mode = classic
#
#playlist_editor_display_mode = classic
#
#discard_colors_if_item_is_selected = yes
#
#show_duplicate_tags = yes
#
incremental_seeking = yes
#
#seek_time = 1
#
#volume_change_step = 2
#
#autocenter_mode = no
#
#centered_cursor = no
#
##
## Note: You can specify third character which will be used to build 'empty'
## part of progressbar.
##
progressbar_look = =>
#
## Available values: database, playlist.
##
#default_place_to_search_in = database
#
## Available values: classic, alternative.
##
user_interface = classic
#
#data_fetching_delay = yes
#
## Available values: artist, album_artist, date, genre, composer, performer.
##
media_library_primary_tag = album_artist
#
media_library_albums_split_by_date = yes
#
## Available values: wrapped, normal.
##
#default_find_mode = wrapped
#
#default_tag_editor_pattern = %n - %t
#
#header_visibility = yes
#
#statusbar_visibility = yes
#
#titles_visibility = yes
#
#header_text_scrolling = yes
#
#cyclic_scrolling = no
#
#lines_scrolled = 2
#
lyrics_fetchers = lyricwiki, azlyrics, genius, sing365, lyricsmania, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, internet
#
#follow_now_playing_lyrics = no
#
#fetch_lyrics_for_current_song_in_background = no
#
#store_lyrics_in_song_dir = no
#
#generate_win32_compatible_filenames = yes
#
#allow_for_physical_item_deletion = no
#
##
## Note: If you set this variable, ncmpcpp will try to get info from last.fm in
## language you set and if it fails, it will fall back to english. Otherwise it
## will use english the first time.
##
## Note: Language has to be expressed as an ISO 639 alpha-2 code.
##
#lastfm_preferred_language = en
#
#space_add_mode = add_remove
#
#show_hidden_files_in_local_browser = no
#
##
## How shall screen switcher work?
##
## - "previous" - switch between the current and previous screen.
## - "screen1,...,screenN" - switch between given sequence of screens.
##
## Screens available for use: help, playlist, browser, search_engine,
## media_library, playlist_editor, tag_editor, outputs, visualizer, clock,
## lyrics, last_fm.
##
#screen_switcher_mode = playlist, browser
#
##
## Note: You can define startup screen by choosing screen from the list above.
##
startup_screen = media_library
#
##
## Note: You can define startup slave screen by choosing screen from the list
## above or an empty value for no slave screen.
##
#startup_slave_screen = ""
#
#startup_slave_screen_focus = no
#
##
## Default width of locked screen (in %). Acceptable values are from 20 to 80.
##
#
#locked_screen_width_part = 50
#
#ask_for_locked_screen_width_part = yes
#
#jump_to_now_playing_song_at_start = yes
#
#ask_before_clearing_playlists = yes
#
#clock_display_seconds = no
#
#display_volume_level = yes
#
#display_bitrate = no
#
#display_remaining_time = no
#
## Available values: none, basic, extended, perl.
##
#regular_expressions = perl
#
##
## Note: if below is enabled, ncmpcpp will ignore leading "The" word while
## sorting items in browser, tags in media library, etc.
##
#ignore_leading_the = no
#
##
## Note: if below is enabled, ncmpcpp will ignore diacritics while searching and
## filtering lists. This takes an effect only if boost was compiled with ICU
## support.
##
#ignore_diacritics = no
#
#block_search_constraints_change_if_items_found = yes
#
mouse_support = yes
#
#mouse_list_scroll_whole_page = yes
#
#empty_tag_marker = <empty>
#
#tags_separator = " | "
#
#tag_editor_extended_numeration = no
#
#media_library_sort_by_mtime = no
#
#enable_window_title = yes
#
##
## Note: You can choose default search mode for search engine. Available modes
## are:
##
## - 1 - use mpd built-in searching (no regexes, pattern matching)
##
## - 2 - use ncmpcpp searching (pattern matching with support for regexes, but
## if your mpd is on a remote machine, downloading big database to process
## it can take a while
##
## - 3 - match only exact values (this mode uses mpd function for searching in
## database and local one for searching in current playlist)
##
#
#search_engine_default_search_mode = 1
#
external_editor = nvim
#
## Note: set to yes if external editor is a console application.
##
use_console_editor = yes
#
##### colors definitions #####
##
## It is possible to set a background color by setting a color value
## "<foreground>_<background>", e.g. red_black will set foregound color to red
## and background color to black.
##
## In addition, for terminals that support 256 colors it is possible to set one
## of them by using a number in range [1, 256] instead of color name,
## e.g. numerical value corresponding to red_black is 2_1. To find out if the
## terminal supports 256 colors, run ncmpcpp and check out the bottom of the
## help screen for list of available colors and their numerical values.
##
## What is more, there are two special values for the background color:
## "transparent" and "current". The first one explicitly sets the background to
## be transparent, while the second one allows you to preserve current
## background color and change only the foreground one. It's used implicitly
## when background color is not specified.
##
## Moreover, it is possible to attach format information to selected color
## variables by appending to their end a colon followed by one or more format
## flags, e.g. black:b or red:ur. The following variables support this syntax:
## visualizer_color, color1, color2, empty_tag_color, volume_color,
## state_line_color, state_flags_color, progressbar_color,
## progressbar_elapsed_color, player_state_color, statusbar_time_color,
## alternative_ui_separator_color.
##
## Note: due to technical limitations of older ncurses version, if 256 colors
## are used there is a possibility that you'll be able to use only colors with
## transparent background.
#
#colors_enabled = yes
#
#empty_tag_color = cyan
#
#header_window_color = default
#
#volume_color = default
#
#state_line_color = default
#
#state_flags_color = default:b
#
#main_window_color = yellow
#
#color1 = white
#
#color2 = green
#
#progressbar_color = black:b
#
#progressbar_elapsed_color = green:b
#
#statusbar_color = default
#
#statusbar_time_color = default:b
#
#player_state_color = default:b
#
#alternative_ui_separator_color = black:b
#
#window_border_color = green
#
#active_window_border = red
#

View file

@ -1,17 +0,0 @@
{
"diagnostic.displayByAle": true,
"codeLens.enable": true,
"svelte.plugin.typescript.enable": false,
"svelte.plugin.svelte.diagnostics.enable": false,
"svelte.plugin.svelte.format.enable": false,
"svelte.plugin.html.autoClosingTags": false,
"css.validate": false,
"python.jediEnabled": false,
"coc.source.ultisnips.priority": 90,
"typescript.validate.enable": false,
"typescript.referencesCodeLens.enable": false,
"python.analysis.diagnosticEnabled": false,
"python.linting.enabled": false,
"javascript.showUnused": false,
"javascript.validate.enable": false
}

File diff suppressed because it is too large Load diff

View file

@ -1 +0,0 @@
priority -50

View file

@ -1,119 +0,0 @@
priority -50
global !p
import glob
PRIORITIES = {
'generalPreamble': 0,
'Locale': 1,
'BibTex': 2,
}
def get_styles(folder):
styles = [file[:-4] for file in glob.glob(f'{folder}/*.sty')]
priorities = [1] * len(styles)
for i, filename in enumerate(styles):
for name, priority in PRIORITIES.items():
if name in filename:
priorities[i] = priority
if styles:
priorities, styles = zip(*sorted(zip(priorities, styles)))
return styles
def try_get_styles(folders):
for folder in folders:
styles = get_styles(folder)
if len(styles) > 0:
return styles
endglobal
snippet defdoc "Default document template"
\documentclass[a4paper, 14pt]{extarticle}
`!p
res = ""
for style in try_get_styles(["./styles", '.', '..', '../styles']):
res += "\\usepackage{" + style + "}\n"
snip.rv = res
`
\begin{document}
$0
\end{document}
endsnippet
snippet defrep "Default small report template"
\documentclass[a4paper, 14pt]{extarticle}
`!p
res = ""
for style in get_styles("./styles"):
res += "\\usepackage{" + style + "}\n"
snip.rv = res
`
\title{$1}
\author{${2:Корытов Павел, 6304 \\\\ СПбГЭТУ \enquote{ЛЭТИ}}}
\date{${3:\today}}
\begin{document}
\maketitle
$0
\end{document}
endsnippet
snippet etutitle "ETU default report title"
\begin{titlepage}
\centering
{\bfseries
\uppercase{
Минобрнауки России \\\\
Санкт-Петербургский государственный \\\\
Электротехнический университет \\\\
\enquote{ЛЭТИ} им. В.И.Ульянова (Ленина)\\\\
}
Кафедра ${1:МО ЭВМ}
\vspace{\fill}
\uppercase{${2:Отчёт}} \\\\
по ${3:лабораторной работе} ${4:№1} \\\\
по дисциплине \enquote{$5} \\\\
Тема: $6
}
\vspace{\fill}
\begin{tabularx}{0.8\textwidth}{l X c r}
Студент гр. 6304 & & \underline{\hspace{3cm}} & Корытов П.В.\\\\
Преподаватель & & \underline{\hspace{3cm}} & $7
\end{tabularx}
\vspace{1cm}
Санкт-Петербург \\\\
\the\year{}
\end{titlepage}
$0
endsnippet
snippet fhdr "My default fancy header"
\usepackage{fancyhdr}
\pagestyle{fancy}
\newcommand{\theversion}{${1:1.0}}
\fancyhead[L]{
\begin{tabular}{ll}
\textit{${2:Project}} \\\\
${3:Документ}
\end{tabular}
}
\fancyhead[R]{
\begin{tabular}{ll}
Версия: & \theversion{} \\\\
Дата: & \today{}
\end{tabular}
}
endsnippet
# vim:ft=snippets:

View file

@ -1,12 +0,0 @@
snippet qinit "def __init__(self, parent=None)"
def __init__(self, parent=None):
super().__init__(parent)
$0
endsnippet
snippet forl "[action for item in iterable]"
[$1 for $2 in $3]
$0
endsnippet

View file

@ -1,190 +0,0 @@
priority 50
extends eltech
global !p
import os
def get_last_image():
max_time = 0
last_image = ''
for r, d, files in os.walk(os.path.join(os.getcwd(), 'img')):
for f in files:
time = os.path.getmtime(os.path.join(r, f))
if time > max_time:
max_time = time
last_image = os.path.relpath(os.path.join(r, f))
return last_image
endglobal
snippet 'sympy(.*)sympy' "evaluate sympy" wr
`!p
from sympy import *
x, y, z, t, i = symbols('x y z t i')
k, m, n = symbols('k m n', integer=True)
f, g, h = symbols('f g h', cls=Function)
init_printing()
snip.rv = eval('latex(' + match.group(1).replace('\\', '') \
.replace('^', '**') \
.replace('{', '(') \
.replace('}', ')') + ')')
`
endsnippet
snippet lfigp "last figure path"
`!p
snip.rv = get_last_image()
`
endsnippet
snippet lfig
\begin{figure}[h]
\centering
\includegraphics[width=$1\textwidth]{`!p snip.rv = get_last_image()`}
\caption{$2}%
\label{img:$3}
\end{figure}
$0
endsnippet
snippet ' -' "---" wrA
--- $0
endsnippet
snippet vec "vector sign"
\vec{$1} $0
endsnippet
snippet suml "\sum\limits"
\sum\limits^{${1:n}}_{${2:i=1}} $0
endsnippet
snippet part "\partial"
\partial $0
endsnippet
snippet vmat "\begin{pmatrix} \end{pmatrix}"
\begin{pmatrix} $1 \end{pmatrix}$0
endsnippet
snippet dfn "\dfn{}"
\dfn{$1} $0
endsnippet
snippet fig "Default figure here"
\begin{figure}[h]
\centering
\includegraphics[width=$1\textwidth]{$2}
\caption{$3}%
\label{img:$4}
\end{figure}
$0
endsnippet
snippet subfig "Figure with subfigures"
\begin{figure}[h]
\centering
\begin{subfigure}[b]{$1\textwidth}
\includegraphics[width=\textwidth]{$2}
\caption{$3}
\end{subfigure}%
\hspace{2cm}
\begin{subfigure}[b]{$4\textwidth}
\includegraphics[width=\textwidth]{$5}
\caption{$6}
\end{subfigure}
\end{figure}
$0
endsnippet
snippet << "Triangle brackets"
\left\langle $1 \right\rangle $0
endsnippet
snippet lorem "\lipsum[1] %TODO"
\lipsum[1] %TODO
$0
endsnippet
snippet /{ "/{ /}"
/{ $1 /} $0
endsnippet
snippet \[ "\[ \]"
\[ $1 \] $0
endsnippet
snippet <=> "\Reftrightarrow"
\Leftrightarrow $0
endsnippet
snippet => "\Rightarrow"
\Rightarrow $0
endsnippet
snippet -> "\rightarrow"
\rightarrow $0
endsnippet
snippet <= "\Leftarrow"
\Leftarrow $0
endsnippet
snippet '(\w+)_' "_\{text}" r
`!p snip.rv=match.group(1)`_\text{$1} $0
endsnippet
snippet '".*"' "`` ''" r
\`\``!p snip.rv=match.group(0)[1:-1]`'' $0
endsnippet
snippet '<<.*>>' "\enquote{text}" r
\enquote{`!p snip.rv=match.group(0)[2:-2]`} $0
endsnippet
snippet <- "\leftarrow"
\leftarrow $0
endsnippet
snippet ... "/ldots{}"
\ldots{} $0
endsnippet
snippet .. "/ldots"
\ldots $0
endsnippet
snippet in "\in"
\in $0
endsnippet
snippet a "alpha"
\alpha $0
endsnippet
snippet A "Alpha"
\Alpha $0
endsnippet
snippet b "beta"
\beta $0
endsnippet
snippet d "delta"
\delta $0
endsnippet
snippet e "varepsilon"
\varepsilon $0
endsnippet
snippet w "omega"
\omega $0
endsnippet
snippet S "Sigma"
\Sigma $0
endsnippet

View file

@ -1,15 +0,0 @@
snippet comp "vue component"
<template>
$0
</template>
<script>
export default {
name: '$1'
}
</script>
<style scoped>
</style>
endsnippet

View file

@ -1,430 +0,0 @@
#################################
# Shadows #
#################################
# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
# shadow = false
shadow = true;
# The blur radius for shadows, in pixels. (defaults to 12)
# shadow-radius = 12
shadow-radius = 2;
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
# shadow-opacity = .75
# The left offset for shadows, in pixels. (defaults to -15)
# shadow-offset-x = -15
shadow-offset-x = -2;
# The top offset for shadows, in pixels. (defaults to -15)
# shadow-offset-y = -15
shadow-offset-y = -2;
# Avoid drawing shadows on dock/panel windows. This option is deprecated,
# you should use the *wintypes* option in your config file instead.
#
# no-dock-shadow = false
# Don't draw shadows on drag-and-drop windows. This option is deprecated,
# you should use the *wintypes* option in your config file instead.
#
# no-dnd-shadow = false
# Red color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-red = 0
# Green color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-green = 0
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-blue = 0
# Do not paint shadows on shaped windows. Note shaped windows
# here means windows setting its shape through X Shape extension.
# Those using ARGB background is beyond our control.
# Deprecated, use
# shadow-exclude = 'bounding_shaped'
# or
# shadow-exclude = 'bounding_shaped && !rounded_corners'
# instead.
#
# shadow-ignore-shaped = ''
# Specify a list of conditions of windows that should have no shadow.
#
# examples:
# shadow-exclude = "n:e:Notification";
#
# shadow-exclude = []
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"name ?= 'cpt_frame_window'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# Specify a X geometry that describes the region in which shadow should not
# be painted in, such as a dock window region. Use
# shadow-exclude-reg = "x10+0+0"
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
#
# shadow-exclude-reg = ""
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
# xinerama-shadow-crop = false
#################################
# Fading #
#################################
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used.
# fading = false
fading = true
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
# fade-in-step = 0.028
fade-in-step = 0.03;
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
# fade-out-step = 0.03
fade-out-step = 0.03;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
# fade-delta = 10
# Specify a list of conditions of windows that should not be faded.
# fade-exclude = []
# Do not fade on window open/close.
# no-fading-openclose = false
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
# no-fading-destroyed-argb = false
#################################
# Transparency / Opacity #
#################################
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
# inactive-opacity = 1
inactive-opacity = 1;
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
# frame-opacity = 1.0
frame-opacity = 1.0;
# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
# menu-opacity = 1.0
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
# inactive-opacity-override = true
inactive-opacity-override = false;
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
# active-opacity = 1.0
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
# inactive-dim = 0.0
# Specify a list of conditions of windows that should always be considered focused.
# focus-exclude = []
focus-exclude = [ "class_g = 'Cairo-clock'" ];
# Use fixed inactive dim value, instead of adjusting according to window opacity.
# inactive-dim-fixed = 1.0
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
# Note we don't make any guarantee about possible conflicts with other
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
# example:
# opacity-rule = [ "80:class_g = 'URxvt'" ];
#
opacity-rule = [
"0:_NET_WM_STATE@[0]:32a = '_NET_WM_STATE_HIDDEN'",
"0:_NET_WM_STATE@[1]:32a = '_NET_WM_STATE_HIDDEN'",
"0:_NET_WM_STATE@[2]:32a = '_NET_WM_STATE_HIDDEN'",
"0:_NET_WM_STATE@[3]:32a = '_NET_WM_STATE_HIDDEN'",
"0:_NET_WM_STATE@[4]:32a = '_NET_WM_STATE_HIDDEN'"
];
#################################
# Background-Blurring #
#################################
# Parameters for background blurring, see the *BLUR* section for more information.
# blur-method =
# blur-size = 12
#
# blur-deviation = false
# Blur background of semi-transparent / ARGB windows.
# Bad in performance, with driver-dependent behavior.
# The name of the switch may change without prior notifications.
#
# blur-background = false
# Blur background of windows when the window frame is not opaque.
# Implies:
# blur-background
# Bad in performance, with driver-dependent behavior. The name may change.
#
# blur-background-frame = false
# Use fixed blur strength rather than adjusting according to window opacity.
# blur-background-fixed = false
# Specify the blur convolution kernel, with the following format:
# example:
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
#
# blur-kern = ''
blur-kern = "3x3box";
# Exclude conditions for background blur.
# blur-background-exclude = []
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
#################################
# General Settings #
#################################
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
# `xrender` is the default one.
#
# backend = 'glx'
backend = "xrender";
# Enable/disable VSync.
# vsync = false
vsync = true
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
# dbus = false
# Try to detect WM windows (a non-override-redirect window with no
# child that has 'WM_STATE') and mark them as active.
#
# mark-wmwin-focused = false
mark-wmwin-focused = true;
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
# mark-ovredir-focused = false
mark-ovredir-focused = true;
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# detect-rounded-corners = false
detect-rounded-corners = true;
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
#
# detect-client-opacity = false
detect-client-opacity = true;
# Specify refresh rate of the screen. If not specified or 0, picom will
# try detecting this with X RandR extension.
#
# refresh-rate = 60
refresh-rate = 0
# Limit picom to repaint at most once every 1 / 'refresh_rate' second to
# boost performance. This should not be used with
# vsync drm/opengl/opengl-oml
# as they essentially does sw-opti's job already,
# unless you wish to specify a lower refresh rate than the actual value.
#
# sw-opti =
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
# provided that the WM supports it.
#
# use-ewmh-active-win = false
# Unredirect all windows if a full-screen opaque window is detected,
# to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows.
#
# unredir-if-possible = false
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
# unredir-if-possible-delay = 0
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
# unredir-if-possible-exclude = []
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# detect-transient = false
detect-transient = true
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
# detect-transient is enabled, too.
#
# detect-client-leader = false
detect-client-leader = true
# Resize damaged region by a specific number of pixels.
# A positive value enlarges it while a negative one shrinks it.
# If the value is positive, those additional pixels will not be actually painted
# to screen, only used in blur calculation, and such. (Due to technical limitations,
# with use-damage, those pixels will still be incorrectly painted to screen.)
# Primarily used to fix the line corruption issues of blur,
# in which case you should use the blur radius value here
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
# with a 5x5 one you use `--resize-damage 2`, and so on).
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
#
# resize-damage = 1
# Specify a list of conditions of windows that should be painted with inverted color.
# Resource-hogging, and is not well tested.
#
# invert-color-include = []
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
# Might cause incorrect opacity when rendering transparent content (but never
# practically happened) and may not work with blur-background.
# My tests show a 15% performance boost. Recommended.
#
# glx-no-stencil = false
# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes,
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
# Recommended if it works.
#
# glx-no-rebind-pixmap = false
# Disable the use of damage information.
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
# The opposing option is use-damage
#
# no-use-damage = false
use-damage = true
# Use X Sync fence to sync clients' draw calls, to make sure all draw
# calls are finished before picom starts drawing. Needed on nvidia-drivers
# with GLX backend for some users.
#
# xrender-sync-fence = false
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
# in the source tree for examples.
#
# glx-fshader-win = ''
# Force all windows to be painted with blending. Useful if you
# have a glx-fshader-win that could turn opaque pixels transparent.
#
# force-win-blend = false
# Do not use EWMH to detect fullscreen windows.
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
#
# no-ewmh-fullscreen = false
# Dimming bright windows so their brightness doesn't exceed this set value.
# Brightness of a window is estimated by averaging all pixels in the window,
# so this could comes with a performance hit.
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
#
# max-brightness = 1.0
# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them.
#
# transparent-clipping = false
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case doesn't matter.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# log-level = "debug"
log-level = "warn";
# Set the log file.
# If *--log-file* is never specified, logs will be written to stderr.
# Otherwise, logs will to written to the given file, though some of the early
# logs might still be written to the stderr.
# When setting this option from the config file, it is recommended to use an absolute path.
#
# log-file = '/path/to/your/log/file'
# Show all X errors (for debugging)
# show-all-xerrors = false
# Write process ID to a file.
# write-pid-path = '/path/to/your/log/file'
# Window type settings
#
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
# "tooltip", "notification", "combo", and "dnd".
#
# Following per window-type options are available: ::
#
# fade, shadow:::
# Controls window-type-specific shadow and fade settings.
#
# opacity:::
# Controls default opacity of the window type.
#
# focus:::
# Controls whether the window of this type is to be always considered focused.
# (By default, all window types except "normal" and "dialog" has this on.)
#
# full-shadow:::
# Controls whether shadow is drawn under the parts of the window that you
# normally won't be able to see. Useful when the window has parts of it
# transparent, and you want shadows in those areas.
#
# redir-ignore:::
# Controls whether this type of windows should cause screen to become
# redirected again after been unredirected. If you have unredir-if-possible
# set, and doesn't want certain window to cause unnecessary screen redirection,
# you can set this to `true`.
#
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
dock = { shadow = false; }
dnd = { shadow = false; }
popup_menu = { opacity = 1; }
dropdown_menu = { opacity = 1; }
};

View file

@ -1,287 +0,0 @@
[colors]
; Palenight colorscheme https://github.com/JonathanSpeek/palenight-iterm2
black = #292d3e
red = #f07178
green = #c3e88d
yellow = #ffcb6b
blue = #82aaff
magenta = #c792ea
cyan = #89ddff
white = #d0d0d0
black-lighter = #434758
red-lighter = #ff8b92
green-lighter = #ddffa7
yellow-lighter = #ffe585
blue-lighter = #9cc4ff
magenta-lighter = #9cc4ff
cyan-lighter = #9cc4ff
white-lighter = ffffff
background = ${colors.black}
; background = #ee292d3e
foreground = ${colors.white}
[bar/mybar]
monitor = ${env:MONITOR:}
width = 100%
height = ${env:HEIGHT:27}
offset-x = 0
offset-y = 0
radius = 0.0
fixed-center = false
bottom=true
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
padding-left = 0
padding-right = 0
module-margin-left = 1
module-margin-right = 1
font-0 = ${env:FONT0:pango:monospace:size=10;1}
font-1 = ${env:FONT1:NotoEmoji:scale=10:antialias=false;0}
font-2 = ${env:FONT2:fontawesome:pixelsize=10;1}
font-3 = ${env:FONT3:JetBrains Mono Nerd Font:monospace:size=10;1}
modules-left = i3
; modules-center = test
modules-right = ${env:RIGHT_BLOCKS}
tray-position = ${env:TRAY:right}
tray-padding = 0
tray-maxsize = 16
;tray-background = #0063ff
wm-restack = i3
; override-redirect = true
scroll-up = i3wm-wsnext
scroll-down = i3wm-wsprev
; cursor-click = pointer
; cursor-scroll = ns-resize
[module/test]
type = custom/script
exec = echo "%{u#0000ff}%{+u} hello %{u-}"
[module/ipstack]
type = custom/script
exec = /home/pavel/bin/polybar/ipstack.sh
interval = 1200
[module/ipstack-vpn]
type = custom/script
exec = /home/pavel/bin/polybar/ipstack-vpn.sh
interval = 1200
[module/aw-afk]
type = custom/script
exec = /home/pavel/bin/polybar/aw_afk.sh
interval = 60
[module/sun]
type = custom/script
exec = /home/pavel/bin/polybar/sun.sh
interval = 60
[module/SEP]
type = custom/text
content = "|"
content-foreground = ${colors.magenta}
content-padding = 0
content-margin = 0
[module/TSEP]
type = custom/script
exec = /home/pavel/bin/polybar/tray-sep.sh
format-foreground = ${colors.magenta}
interval = 0
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false
; Only show workspaces on the same output as the bar
pin-workspaces = true
label-mode-padding = 1
label-mode-foreground = #000
label-mode-background = ${colors.blue}
; focused = Active workspace on focused monitor
label-focused = %name%
label-focused-background = ${colors.background}
label-focused-underline= ${colors.blue}
label-focused-padding = 1
; unfocused = Inactive workspace on any monitor
label-unfocused = %name%
label-unfocused-padding = 1
; visible = Active workspace on unfocused monitor
label-visible = %name%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}
; urgent = Workspace with urgency hint set
label-urgent = %name%
label-urgent-background = ${colors.red}
label-urgent-foreground = ${colors.black}
label-urgent-padding = 1
; Separator in between workspaces
; label-separator = |
[module/xkeyboard]
type = internal/xkeyboard
format = <label-layout>
format-underline = ${colors.magenta}
label-layout = %icon%
layout-icon-0 = ru;RU
layout-icon-1 = us;US
[module/mpd]
type = internal/mpd
format-playing = <toggle> <label-time> <label-song>
format-paused = <toggle> <label-time> <label-song>
format-stopped = 
label-song = [%album-artist%] %title%
label-time = %elapsed%/%total%
label-song-maxlen = 30
label-song-ellipsis = true
format-playing-underline = ${colors.yellow}
format-paused-underline = ${colors.yellow}
format-stopped-underline = ${colors.yellow}
label-separator = kek
separator-foreground = ${colors.red}
icon-pause = 
icon-play = 
icon-stop = 
icon-prev = 1
icon-next = 2
[module/pulseaudio]
type = internal/pulseaudio
use-ui-max = true
bar-volume-width = 7
bar-volume-foreground-0 = ${colors.white}
bar-volume-foreground-1 = ${colors.yellow}
bar-volume-foreground-2 = ${colors.yellor}
bar-volume-foreground-3 = ${colors.blue}
bar-volume-foreground-4 = ${colors.blue}
bar-volume-foreground-5 = ${colors.green}
bar-volume-foreground-6 = ${colors.green}
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.white-lighter}
format-volume = ♪ <bar-volume> <label-volume>
label-volume = %percentage%%
format-mute = ♪ <label-muted>
label-muted = MUTE
format-volume-underline = ${colors.white}
format-muted-underline = ${colors.black-lighter}
[module/cpu]
type = internal/cpu
format =  <label>
label = %percentage%%
format-underline = ${colors.green-lighter}
[module/ram-memory]
type = internal/memory
interval = 10
ramp-used-0 = ▁
ramp-used-1 = ▂
ramp-used-2 = ▃
ramp-used-3 = ▄
ramp-used-4 = ▅
ramp-used-5 = ▆
ramp-used-6 = ▇
ramp-used-7 = █
format =  <label>
label=%gb_used:.1f%
format-underline = ${colors.blue}
[module/swap-memory]
type = internal/memory
interval = 10
label= %gb_swap_used:.1f%
format-underline = ${colors.yellow}
[module/network]
type = internal/network
interval = 1
interface = wlp35s0f3u2
; format-connected = [<ramp-signal>] <label-connected>
label-connected = ↓ %downspeed% ↑ %upspeed%
label-disconnected = X
format-connected-underline = ${colors.green}
format-disconnected-underline = ${colors.red}
ramp-signal-0 = 0
ramp-signal-1 = 1
ramp-signal-2 = 2
ramp-signal-3 = 3
ramp-signal-4 = 4
ramp-signal-5 = 5
[module/date]
type = internal/date
interval = 5
date =
date-alt = "%Y-%m-%d"
time = %H:%M
time-alt = %H:%M:%S
format-underline = ${colors.cyan}
label = "%date% %time%"
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
;pseudo-transparency = false
[global/wm]
margin-top = 0
margin-bottom = 0
; vim:ft=dosini

View file

@ -1,118 +0,0 @@
from __future__ import unicode_literals
from prompt_toolkit.filters import ViInsertMode
from prompt_toolkit.key_binding.key_processor import KeyPress
from prompt_toolkit.keys import Keys
from ptpython.layout import CompletionVisualisation
__all__ = ("configure",)
def configure(repl):
"""
Configuration method. This is called during the start-up of ptpython.
:param repl: `PythonRepl` instance.
"""
# Show function signature (bool).
repl.show_signature = True
# Show docstring (bool).
repl.show_docstring = False
# Show the "[Meta+Enter] Execute" message when pressing [Enter] only
# inserts a newline instead of executing the code.
repl.show_meta_enter_message = True
# Show completions. (NONE, POP_UP, MULTI_COLUMN or TOOLBAR)
repl.completion_visualisation = CompletionVisualisation.POP_UP
# When CompletionVisualisation.POP_UP has been chosen, use this
# scroll_offset in the completion menu.
repl.completion_menu_scroll_offset = 0
# Show line numbers (when the input contains multiple lines.)
repl.show_line_numbers = True
# Show status bar.
repl.show_status_bar = True
# When the sidebar is visible, also show the help text.
repl.show_sidebar_help = True
# Swap light/dark colors on or off
repl.swap_light_and_dark = False
# Highlight matching parethesis.
repl.highlight_matching_parenthesis = True
# Line wrapping. (Instead of horizontal scrolling.)
repl.wrap_lines = True
# Mouse support.
repl.enable_mouse_support = True
# Complete while typing. (Don't require tab before the
# completion menu is shown.)
repl.complete_while_typing = True
# Fuzzy and dictionary completion.
repl.enable_fuzzy_completion = True
repl.enable_dictionary_completion = True
# Vi mode.
repl.vi_mode = True
# Paste mode. (When True, don't insert whitespace after new line.)
repl.paste_mode = False
# Use the classic prompt. (Display '>>>' instead of 'In [1]'.)
repl.prompt_style = "ipython" # 'classic' or 'ipython'
# Don't insert a blank line after the output.
repl.insert_blank_line_after_output = False
# History Search.
# When True, going back in history will filter the history on the records
# starting with the current input. (Like readline.)
# Note: When enable, please disable the `complete_while_typing` option.
# otherwise, when there is a completion available, the arrows will
# browse through the available completions instead of the history.
repl.enable_history_search = False
# Enable auto suggestions. (Pressing right arrow will complete the input,
# based on the history.)
repl.enable_auto_suggest = False
# Enable open-in-editor. Pressing C-x C-e in emacs mode or 'v' in
# Vi navigation mode will open the input in the current editor.
repl.enable_open_in_editor = True
# Enable system prompt. Pressing meta-! will display the system prompt.
# Also enables Control-Z suspend.
repl.enable_system_bindings = True
# Ask for confirmation on exit.
repl.confirm_exit = True
# Enable input validation. (Don't try to execute when the input contains
# syntax errors.)
repl.enable_input_validation = True
# Use this colorscheme for the code.
repl.use_code_colorscheme("inkpot")
# Set color depth (keep in mind that not all terminals support true color).
# repl.color_depth = 'DEPTH_1_BIT' # Monochrome.
# repl.color_depth = 'DEPTH_4_BIT' # ANSI colors only.
# repl.color_depth = "DEPTH_8_BIT" # The default, 256 colors.
repl.color_depth = 'DEPTH_24_BIT' # True color.
# Syntax.
repl.enable_syntax_highlighting = True
@repl.add_key_binding('j', 'j', filter=ViInsertMode())
def _(event):
" Map 'jj' to Escape. "
event.cli.key_processor.feed(KeyPress(Keys.Escape))

View file

@ -1,20 +0,0 @@
[pudb]
breakpoints_weight = 1
current_stack_frame = top
custom_shell =
custom_stringifier =
custom_theme =
default_variables_access_level = public
display = auto
hide_cmdline_win = False
line_numbers = True
prompt_on_quit = True
seen_welcome = e036
shell = internal
sidebar_width = 0.5
stack_weight = 1
stringifier = type
theme = monokai-256
variables_weight = 1
wrap_variables = True

View file

@ -1,25 +0,0 @@
#
# $HOME/.config/pulseaudio-ctl/config
#
# The default setting is for pulseaudio-ctl to NOT increase to volume level
# above 100 % but Some users may wish exceed this level. If this describes
# your use case, uncomment the UPPER_THRESHOLD variable below setting it to
# the new upper threshold.
#
UPPER_THRESHOLD=150
# Push output through libnotify. Set to any value to enable this feature
# and note that you must have /usr/bin/notify-send to use this. On Arch
# libnotify provides this. Other distros may not name it as such.
#
#NOTIFY=yes
# Show a graphical progress-bar type visualization of the volume level in
# libnotify. No setting or commented out will show a simply percentage but
# a setting will convert the percentage to a progress-bar in libnotify.
#
#BARCHART=yes
# Use KDE OSD notification. Set to any value to enable this feature.
#KDE_OSD=yes

View file

@ -1 +0,0 @@
`git clone https://github.com/dracula/qutebrowser-dracula-theme.git dracula`

View file

@ -1,81 +0,0 @@
# If a config.py file exists, this file is ignored unless it's explicitly loaded
# via config.load_autoconfig(). For more information, see:
# https://github.com/qutebrowser/qutebrowser/blob/master/doc/help/configuring.asciidoc#loading-autoconfigyml
# DO NOT edit this file by hand, qutebrowser will overwrite it.
# Instead, create a config.py - see :help for details.
config_version: 2
settings:
colors.webpage.darkmode.enabled:
global: false
content.javascript.enabled:
'*://*.gitlab.etu.ru/*': true
'*://*.mega.nz/*': true
'*://*.my.vultr.com/*': true
'*://*.pandas.pydata.org/*': true
'*://*.sqrtminusone.ddns.net/*': true
'*://*.www.newscientist.com/*': false
'*://*.www.youtube.com/*': true
'*://code.visualstudio.com/*': true
'*://datalore.jetbrains.com/*': true
'*://docs.google.com/*': true
'*://drive.google.com/*': true
'*://github.com/*': true
'*://gitlab.etu.ru/*': false
'*://rasbt.github.io/*': true
'*://trello.com/*': true
'*://us02web.zoom.us/*': true
'*://vk.com/*': true
'*://wakatime.com/*': true
'*://www.reddit.com/*': true
'*://www.windy.com/*': true
'*://x-extends.github.io/*': true
content.media.audio_capture:
https://sqrtminusone.ddns.net:1984: true
content.media.audio_video_capture:
https://sqrtminusone.ddns.net:1984: true
content.media.video_capture:
https://sqrtminusone.ddns.net:1984: true
content.notifications:
https://demo.freshrss.org: false
https://original-films.com: false
https://sqrtminusone.ddns.net: false
https://sqrtminusone.ddns.net:1985: false
https://thepiratebay.org: false
https://www.reddit.com: false
content.register_protocol_handler:
https://mail.google.com?extsrc=mailto&url=%25s: false
fonts.default_family:
global: monospace
fonts.default_size:
global: 12pt
fonts.web.family.fixed:
global: monospace
fonts.web.size.default_fixed:
global: 16
statusbar.widgets:
global:
- keypress
- url
- scroll
- history
- tabs
- progress
url.open_base_url:
global: false
url.searchengines:
global:
DEFAULT: https://duckduckgo.com/?q={}
g: https://www.google.com/search?hl=en&q={}
url.start_pages:
global: https://start.duckduckgo.com
url.yank_ignored_parameters:
global:
- ref
- utm_source
- utm_medium
- utm_campaign
- utm_term
- utm_content
zoom.default:
global: '125'

View file

@ -1,6 +0,0 @@
https://www.reddit.com/ reddit: the front page of the internet
https://booky.io/ booky.io
qute://help/img/cheatsheet-big.png cheatsheet-big.png (3342×2060)
https://lastpass.com/?ac=1&lpnorefresh=1 My LastPass Vault
https://www.google.com/ Google
file:///home/pavel/MEGAsync/vimwiki_html/index.html index

View file

@ -1,71 +0,0 @@
import os
import dracula.draw
config.load_autoconfig()
config.unbind('gt', mode='normal')
config.bind('gt', 'tab-next')
config.bind('gT', 'tab-prev')
config.bind('gN', 'tab-close')
config.bind('gn', 'tab-clone')
c.fonts.default_size = '10pt'
c.fonts.default_family = 'monospace'
c.fonts.web.size.default_fixed = 13
# config.unbind('T', mode='normal')
# config.bind('T', 'set-cmd-text -s :buffer')
# c.content.javascript.enabled = False
config.bind('\\t', 'set-cmd-text -s :buffer')
config.bind('\\b', 'set-cmd-text -s :bookmark-load')
config.bind('\\ww', ':open file:///home/pavel/Documents/org-mode/Bookmarks/bookmarks.html')
config.bind('\\z1', 'set zoom.default 100 ;; set fonts.default_size 10pt')
config.bind('\\z2', 'set zoom.default 125 ;; set fonts.default_size 12pt')
if c.colors.webpage.darkmode.enabled:
config.bind('\\d', 'set colors.webpage.darkmode.enabled False ;; restart')
else:
config.bind('\\d', 'set colors.webpage.darkmode.enabled True ;; restart')
# config.unbind('<Escape>', mode='insert')
config.bind('<Shift-Escape>', 'fake-key <Escape>', mode='insert')
RUSSIAN = 'йцукенгшщзхъфывапролджэячсмитьбю.'
ENGLISH = 'qwertyuiop[]asdfghjkl;\'zxcvbnm,./'
c.bindings.key_mappings = {
**{r: e for r, e in zip(RUSSIAN, ENGLISH)},
**{r.upper(): e.upper() for r, e in zip(RUSSIAN, ENGLISH)}
}
c.editor.command = [
'nvim',
'-f',
'{file}',
'-c',
'normal {line}G{column0}l'
]
c.scrolling.bar = 'always'
c.url.searchengines = {
"DEFAULT": "https://duckduckgo.com/?q={}",
"g": "https://www.google.com/search?hl=en&q={}"
}
c.zoom.levels = ['25%', '33%', '50%', '67%', '75%', '90%', '100%', '110%',
'125%', '133%', '150%', '175%', '200%', '250%', '300%',
'400%', '500%']
if os.uname().nodename == 'pavel-ntk':
c.zoom.default = '133%'
dracula.draw.blood(c, {
'spacing': {
'vertical': 6,
'horizontal': 8
}
})

View file

@ -1,2 +0,0 @@
/bookmarks/
quickmarks

View file

@ -1,31 +0,0 @@
### [qutebrowser](https://www.qutebrowser.org/)
#### Install using Git
If you are a git user, you can install the theme and keep up to date by cloning the repo:
$ git clone https://github.com/dracula/qutebrowser-dracula-theme.git dracula
#### Install manually
Download using the [GitHub .zip download](https://github.com/dracula/qutebrowser.git) option and unzip.
#### Activating theme
- Find your *[qutebrowser configuration directory](https://www.qutebrowser.org/doc/help/configuring.html#configpy)* (see e.g. `:version` in qutebrowser). This folder should be located at the "config" location listed on qute://version, which is typically ~/.config/qutebrowser/ on Linux, ~/.qutebrowser/ on macOS, and %APPDATA%/qutebrowser/config/ on Windows.
- Move the repository folder to `dracula` inside the configuration directory.
- In your [qutebrowser config.py file](https://www.qutebrowser.org/doc/help/configuring.html#configpy), include the following:
```python
import dracula.draw
# Load existing settings made via :set
config.load_autoconfig()
dracula.draw.blood(c, {
'spacing': {
'vertical': 6,
'horizontal': 8
}
})
```

View file

@ -1,291 +0,0 @@
def blood(c, options = {}):
palette = {
'background': '#282a36',
'background-alt': '#282a36',
'background-attention': '#181920',
'border': '#282a36',
'current-line': '#44475a',
'selection': '#44475a',
'foreground': '#f8f8f2',
'foreground-alt': '#e0e0e0',
'foreground-attention': '#ffffff',
'comment': '#6272a4',
'cyan': '#8be9fd',
'green': '#50fa7b',
'orange': '#ffb86c',
'pink': '#ff79c6',
'purple': '#bd93f9',
'red': '#ff5555',
'yellow': '#f1fa8c'
}
spacing = options.get('spacing', {
'vertical': 5,
'horizontal': 5
})
padding = options.get('padding', {
'top': spacing['vertical'],
'right': spacing['horizontal'],
'bottom': spacing['vertical'],
'left': spacing['horizontal']
})
## Background color of the completion widget category headers.
c.colors.completion.category.bg = palette['background']
## Bottom border color of the completion widget category headers.
c.colors.completion.category.border.bottom = palette['border']
## Top border color of the completion widget category headers.
c.colors.completion.category.border.top = palette['border']
## Foreground color of completion widget category headers.
c.colors.completion.category.fg = palette['foreground']
## Background color of the completion widget for even rows.
c.colors.completion.even.bg = palette['background']
## Background color of the completion widget for odd rows.
c.colors.completion.odd.bg = palette['background-alt']
## Text color of the completion widget.
c.colors.completion.fg = palette['foreground']
## Background color of the selected completion item.
c.colors.completion.item.selected.bg = palette['selection']
## Bottom border color of the selected completion item.
c.colors.completion.item.selected.border.bottom = palette['selection']
## Top border color of the completion widget category headers.
c.colors.completion.item.selected.border.top = palette['selection']
## Foreground color of the selected completion item.
c.colors.completion.item.selected.fg = palette['foreground']
## Foreground color of the matched text in the completion.
c.colors.completion.match.fg = palette['orange']
## Color of the scrollbar in completion view
c.colors.completion.scrollbar.bg = palette['background']
## Color of the scrollbar handle in completion view.
c.colors.completion.scrollbar.fg = palette['foreground']
## Background color for the download bar.
c.colors.downloads.bar.bg = palette['background']
## Background color for downloads with errors.
c.colors.downloads.error.bg = palette['background']
## Foreground color for downloads with errors.
c.colors.downloads.error.fg = palette['red']
## Color gradient stop for download backgrounds.
c.colors.downloads.stop.bg = palette['background']
## Color gradient interpolation system for download backgrounds.
## Type: ColorSystem
## Valid values:
## - rgb: Interpolate in the RGB color system.
## - hsv: Interpolate in the HSV color system.
## - hsl: Interpolate in the HSL color system.
## - none: Don't show a gradient.
c.colors.downloads.system.bg = 'none'
## Background color for hints. Note that you can use a `rgba(...)` value
## for transparency.
c.colors.hints.bg = palette['background']
## Font color for hints.
c.colors.hints.fg = palette['purple']
## Hints
c.hints.border = '1px solid ' + palette['background-alt']
## Font color for the matched part of hints.
c.colors.hints.match.fg = palette['foreground-alt']
## Background color of the keyhint widget.
c.colors.keyhint.bg = palette['background']
## Text color for the keyhint widget.
c.colors.keyhint.fg = palette['purple']
## Highlight color for keys to complete the current keychain.
c.colors.keyhint.suffix.fg = palette['selection']
## Background color of an error message.
c.colors.messages.error.bg = palette['background']
## Border color of an error message.
c.colors.messages.error.border = palette['background-alt']
## Foreground color of an error message.
c.colors.messages.error.fg = palette['red']
## Background color of an info message.
c.colors.messages.info.bg = palette['background']
## Border color of an info message.
c.colors.messages.info.border = palette['background-alt']
## Foreground color an info message.
c.colors.messages.info.fg = palette['comment']
## Background color of a warning message.
c.colors.messages.warning.bg = palette['background']
## Border color of a warning message.
c.colors.messages.warning.border = palette['background-alt']
## Foreground color a warning message.
c.colors.messages.warning.fg = palette['red']
## Background color for prompts.
c.colors.prompts.bg = palette['background']
# ## Border used around UI elements in prompts.
c.colors.prompts.border = '1px solid ' + palette['background-alt']
## Foreground color for prompts.
c.colors.prompts.fg = palette['cyan']
## Background color for the selected item in filename prompts.
c.colors.prompts.selected.bg = palette['selection']
## Background color of the statusbar in caret mode.
c.colors.statusbar.caret.bg = palette['background']
## Foreground color of the statusbar in caret mode.
c.colors.statusbar.caret.fg = palette['orange']
## Background color of the statusbar in caret mode with a selection.
c.colors.statusbar.caret.selection.bg = palette['background']
## Foreground color of the statusbar in caret mode with a selection.
c.colors.statusbar.caret.selection.fg = palette['orange']
## Background color of the statusbar in command mode.
c.colors.statusbar.command.bg = palette['background']
## Foreground color of the statusbar in command mode.
c.colors.statusbar.command.fg = palette['pink']
## Background color of the statusbar in private browsing + command mode.
c.colors.statusbar.command.private.bg = palette['background']
## Foreground color of the statusbar in private browsing + command mode.
c.colors.statusbar.command.private.fg = palette['foreground-alt']
## Background color of the statusbar in insert mode.
c.colors.statusbar.insert.bg = palette['background-attention']
## Foreground color of the statusbar in insert mode.
c.colors.statusbar.insert.fg = palette['foreground-attention']
## Background color of the statusbar.
c.colors.statusbar.normal.bg = palette['background']
## Foreground color of the statusbar.
c.colors.statusbar.normal.fg = palette['foreground']
## Background color of the statusbar in passthrough mode.
c.colors.statusbar.passthrough.bg = palette['background']
## Foreground color of the statusbar in passthrough mode.
c.colors.statusbar.passthrough.fg = palette['orange']
## Background color of the statusbar in private browsing mode.
c.colors.statusbar.private.bg = palette['background-alt']
## Foreground color of the statusbar in private browsing mode.
c.colors.statusbar.private.fg = palette['foreground-alt']
## Background color of the progress bar.
c.colors.statusbar.progress.bg = palette['background']
## Foreground color of the URL in the statusbar on error.
c.colors.statusbar.url.error.fg = palette['red']
## Default foreground color of the URL in the statusbar.
c.colors.statusbar.url.fg = palette['foreground']
## Foreground color of the URL in the statusbar for hovered links.
c.colors.statusbar.url.hover.fg = palette['cyan']
## Foreground color of the URL in the statusbar on successful load
c.colors.statusbar.url.success.http.fg = palette['green']
## Foreground color of the URL in the statusbar on successful load
c.colors.statusbar.url.success.https.fg = palette['green']
## Foreground color of the URL in the statusbar when there's a warning.
c.colors.statusbar.url.warn.fg = palette['yellow']
## Status bar padding
c.statusbar.padding = padding
## Background color of the tab bar.
## Type: QtColor
c.colors.tabs.bar.bg = palette['selection']
## Background color of unselected even tabs.
## Type: QtColor
c.colors.tabs.even.bg = palette['selection']
## Foreground color of unselected even tabs.
## Type: QtColor
c.colors.tabs.even.fg = palette['foreground']
## Color for the tab indicator on errors.
## Type: QtColor
c.colors.tabs.indicator.error = palette['red']
## Color gradient start for the tab indicator.
## Type: QtColor
c.colors.tabs.indicator.start = palette['orange']
## Color gradient end for the tab indicator.
## Type: QtColor
c.colors.tabs.indicator.stop = palette['green']
## Color gradient interpolation system for the tab indicator.
## Type: ColorSystem
## Valid values:
## - rgb: Interpolate in the RGB color system.
## - hsv: Interpolate in the HSV color system.
## - hsl: Interpolate in the HSL color system.
## - none: Don't show a gradient.
c.colors.tabs.indicator.system = 'none'
## Background color of unselected odd tabs.
## Type: QtColor
c.colors.tabs.odd.bg = palette['selection']
## Foreground color of unselected odd tabs.
## Type: QtColor
c.colors.tabs.odd.fg = palette['foreground']
# ## Background color of selected even tabs.
# ## Type: QtColor
c.colors.tabs.selected.even.bg = palette['background']
# ## Foreground color of selected even tabs.
# ## Type: QtColor
c.colors.tabs.selected.even.fg = palette['foreground']
# ## Background color of selected odd tabs.
# ## Type: QtColor
c.colors.tabs.selected.odd.bg = palette['background']
# ## Foreground color of selected odd tabs.
# ## Type: QtColor
c.colors.tabs.selected.odd.fg = palette['foreground']
## Tab padding
c.tabs.padding = padding
c.tabs.indicator.width = 1
c.tabs.favicons.scale = 1

View file

@ -1,21 +0,0 @@
# Dracula for [qutebrowser](https://www.qutebrowser.org/)
> A dark theme for [qutebrowser](https://www.qutebrowser.org/).
![Screenshot](./screenshot.png)
## Install
All instructions can be found at [draculatheme.com/qutebrowser](https://draculatheme.com/qutebrowser).
## Team
This theme is maintained by the following person(s) and a bunch of [awesome contributors](https://github.com/dracula/qutebrowser/graphs/contributors).
[![Evan Nagle](https://avatars2.githubusercontent.com/u/556537?s=88&v=4&s=70)](https://github.com/evannagle) |
--- |
[Evan Nagle](https://github.com/evannagle) |
## License
[MIT License](./LICENSE)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 605 KiB

View file

@ -1,5 +0,0 @@
[FileDialog]
history=@Invalid()
lastVisited=file:///home/pavel/Pictures
qtVersion=5.14.1
viewMode=Detail

View file

@ -1,152 +0,0 @@
* {
black: #292d3e;
red: #f07178;
green: #c3e88d;
yellow: #ffcb6b;
blue: #82aaff;
magenta: #82aaff;
cyan: #89ddff;
white: #d0d0d0;
black-alternate: #393F57;
black-lighter: #434758;
red-lighter: #ff8b92;
green-lighter: #ddffa7;
yellow-lighter: #ffe585;
blue-lighter: #9cc4ff;
magenta-lighter: #e1acff;
cyan-lighter: #a3f7ff;
white-lighter: #ffffff;
foreground: @white;
background: @black;
background-color: @black;
separatorcolor: @magenta;
border-color: @magenta;
selected-normal-foreground: @black;
selected-normal-background: @magenta;
selected-active-foreground: @black;
selected-active-background: @blue;
selected-urgent-foreground: @foreground;
selected-urgent-background: @red;
normal-foreground: @foreground;
normal-background: @background;
active-foreground: @blue;
active-background: @background;
urgent-foreground: @red;
urgent-background: @background;
alternate-normal-foreground: @foreground;
alternate-normal-background: @black-alternate;
alternate-active-foreground: @blue;
alternate-active-background: @black-alternate;
alternate-urgent-foreground: @red;
alternate-urgent-background: @black-alternate;
spacing: 2;
}
window {
background-color: @background;
border: 1;
padding: 5;
}
mainbox {
border: 0;
padding: 0;
}
message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
textbox {
text-color: @foreground;
}
listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
spacing: 2px ;
scrollbar: true;
padding: 2px 0px 0px ;
}
element {
border: 0;
padding: 1px ;
}
element normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
element selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
element alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
element alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
scrollbar {
width: 4px ;
border: 0;
handle-color: @normal-foreground;
handle-width: 8px ;
padding: 0;
}
sidebar {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
button {
spacing: 0;
text-color: @normal-foreground;
}
button selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
inputbar {
spacing: 0px;
text-color: @normal-foreground;
padding: 1px ;
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
entry {
spacing: 0;
text-color: @normal-foreground;
}
prompt {
spacing: 0;
text-color: @normal-foreground;
}
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3000em 0.0000em 0.0000em ;
text-color: inherit;
}

View file

@ -1,76 +0,0 @@
[character]
symbol = "➤ "
vicmd_symbol = "ᐊ "
error_symbol = " "
use_symbol_for_status = true
[aws]
symbol = " "
[battery]
full_symbol = ""
charging_symbol = ""
discharging_symbol = ""
[conda]
symbol = " "
[cmd_duration]
min_time = 500
prefix = "祥"
[docker]
symbol = " "
[elixir]
symbol = " "
[elm]
symbol = " "
[git_branch]
symbol = " "
truncation_length = 20
[golang]
symbol = " "
[haskell]
symbol = " "
[hg_branch]
symbol = " "
[java]
symbol = " "
[julia]
symbol = " "
[memory_usage]
symbol = " "
[nim]
symbol = " "
[nix_shell]
symbol = " "
[nodejs]
symbol = " "
[package]
symbol = " "
disabled = true
[php]
symbol = " "
[python]
symbol = " "
[ruby]
symbol = " "
[rust]
symbol = " "

View file

@ -1,159 +0,0 @@
:root { /* Dracula by Chris Kempson (http://chriskempson.com) */
--base00: #292d3e;
--base01: #3a3c4e;
--base02: #434758;
--base03: #626483;
--base04: #82aaff;
--base05: #e9e9f4;
--base06: #f1f2f8;
--base07: #f7f7fb;
--base08: #f07178;
--base09: #c792ea;
--base0A: #c3e88d;
--base0B: #ffcb6b;
--base0C: #89ddff;
--base0D: #82aaff;
--base0E: #c792ea;
--base0F: #c3e88d;
--tridactyl-fg: var(--base05);
--tridactyl-bg: var(--base00);
--tridactyl-url-fg: var(--base08);
--tridactyl-url-bg: var(--base00);
--tridactyl-highlight-box-bg: var(--base0B);
--tridactyl-highlight-box-fg: var(--base00);
/* Hint character tags */
--tridactyl-hintspan-fg: var(--base00) !important;
--tridactyl-hintspan-bg: var(--base0A) !important;
/* Element Highlights */
--tridactyl-hint-active-fg: none;
--tridactyl-hint-active-bg: none;
--tridactyl-hint-active-outline: none;
/* --tridactyl-hint-activy-outline: var(--base08); */
--tridactyl-hint-bg: none;
--tridactyl-hint-outline: none;
/* --tridactyl-hint-outline: var(--base08); */
}
/* a { */
/* color: var(--base04); */
/* } */
#command-line-holder { order: 1;
border: 2px solid var(--base0B);
color: var(--tridactyl-bg);
}
#tridactyl-input { padding: 1rem;
color: var(--tridactyl-fg);
width: 90%;
font-size: 1.2rem;
line-height: 1.5;
background: var(--tridactyl-bg);
padding-left: unset;
padding: 1rem;
}
#completions table { font-size: 0.8rem;
font-weight: 200;
border-spacing: 0;
table-layout: fixed;
padding: 1rem;
padding-top: 1rem;
padding-bottom: 1rem;
}
#completions > div { max-height: calc(20 * var(--option-height));
min-height: calc(10 * var(--option-height));
}
/* COMPLETIONS */
#completions { --option-height: 1.4em;
color: var(--tridactyl-fg);
background: var(--tridactyl-bg);
display: inline-block;
font-size: unset;
font-weight: 200;
overflow: hidden;
width: 100%;
border-top: unset;
order: 2;
}
/* Olie doesn't know how CSS inheritance works */
#completions .HistoryCompletionSource { max-height: unset;
min-height: unset;
}
#completions .HistoryCompletionSource table { width: 100%;
font-size: 11pt;
border-spacing: 0;
table-layout: fixed;
}
/* redundancy 2: redundancy 2: more redundancy */
#completions .BmarkCompletionSource { max-height: unset;
min-height: unset;
}
#completions table tr td.prefix,#completions table tr td.privatewindow,#completions table tr td.container,#completions table tr td.icon { display: none;
}
#completions .BufferCompletionSource table { width: unset;
font-size: unset;
border-spacing: unset;
table-layout: unset;
}
#completions table tr .title { width: 50%;
}
#completions table tr { white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#completions .sectionHeader { background: unset;
font-weight: 200;
border-bottom: unset;
padding: 1rem !important;
padding-left: unset;
padding-bottom: 0.2rem;
}
#cmdline_iframe { position: fixed !important;
bottom: unset;
top: 25% !important;
left: 10% !important;
z-index: 2147483647 !important;
width: 80% !important;
box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 20px !important;
}
.TridactylStatusIndicator { position: fixed !important;
bottom: 0 !important;
background: var(--tridactyl-bg) !important;
border: unset !important;
border: 1px var(--base0B) solid !important;
font-size: 12pt !important;
/*font-weight: 200 !important;*/
padding: 0.8ex !important;
}
#completions .focused { background: var(--base0B);
color: var(--base00);
}
#completions .focused .url { background: var(--base0B);
color: var(--base00);
}
/* #Ocean-normal { */
/* border-color: green !important; */
/* } */
/* #Ocean-insert { */
/* border-color: yellow !important; */
/* } */

View file

@ -1,33 +0,0 @@
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",*256col*:Tc"
set-window-option -g mode-keys vi
set-option -g xterm-keys on
set-option -g mouse on
set -sg escape-time 10
source ~/.tmux.line.conf
unbind C-b
set -g prefix C-a
bind C-a send-prefix
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind s split-window
bind v split-window -h
bind r source-file ~/.tmux.conf
unbind p
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xsel -i -p && xsel -o -p | xsel -i -b"
bind-key p run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
bind-key n new-window
bind-key t next-window
bind-key T previous-window
set -g history-limit 20000

View file

@ -1,21 +0,0 @@
# This tmux statusbar config was created by tmuxline.vim
# on Wed, 22 Jan 2020
set -g status-justify "centre"
set -g status "on"
set -g status-left-style "none"
set -g message-command-style "fg=#bfc7d5,bg=#474b59"
set -g status-right-style "none"
set -g pane-active-border-style "fg=#939ede"
set -g status-style "none,bg=#333747"
set -g message-style "fg=#bfc7d5,bg=#474b59"
set -g pane-border-style "fg=#474b59"
set -g status-right-length "100"
set -g status-left-length "100"
setw -g window-status-activity-style "none,fg=#939ede,bg=#333747"
setw -g window-status-separator ""
setw -g window-status-style "none,fg=#bfc7d5,bg=#333747"
set -g status-left "#[fg=#292D3E,bg=#939ede] #S #[fg=#939ede,bg=#474b59,nobold,nounderscore,noitalics]#[fg=#bfc7d5,bg=#474b59] #W #[fg=#474b59,bg=#333747,nobold,nounderscore,noitalics]"
set -g status-right "#[fg=#333747,bg=#333747,nobold,nounderscore,noitalics]#[fg=#bfc7d5,bg=#333747] %-H:%M #[fg=#474b59,bg=#333747,nobold,nounderscore,noitalics]#[fg=#bfc7d5,bg=#474b59] %a, %b %d #[fg=#939ede,bg=#474b59,nobold,nounderscore,noitalics]#[fg=#292D3E,bg=#939ede] #H "
setw -g window-status-format "#[fg=#333747,bg=#333747,nobold,nounderscore,noitalics]#[default] #I #W #[align=left] #[fg=#333747,bg=#333747,nobold,nounderscore,noitalics]"
setw -g window-status-current-format "#[fg=#333747,bg=#474b59,nobold,nounderscore,noitalics]#[fg=#bfc7d5,bg=#474b59] #I #W #[fg=#474b59,bg=#333747,nobold,nounderscore,noitalics]"

View file

@ -1,339 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
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 2 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, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

Some files were not shown because too many files have changed in this diff Show more