mirror of
https://github.com/SqrtMinusOne/dotfiles.git
synced 2025-12-11 03:33:03 +03:00
feat(*): delete old
This commit is contained in:
parent
e39bc85628
commit
7abea5d6ce
156 changed files with 0 additions and 21072 deletions
12
.gitmodules
vendored
12
.gitmodules
vendored
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
/home/pavel/Programs/activitywatch/aw-qt
|
||||
|
|
@ -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 $?
|
||||
|
|
@ -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
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
'
|
||||
|
||||
|
||||
|
|
@ -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);
|
||||
|
|
@ -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;
|
||||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
'
|
||||
|
|
@ -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
|
||||
|
|
@ -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"
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
'
|
||||
|
|
@ -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;
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
#!/bin/sh
|
||||
echo "Hello"
|
||||
|
||||
if [ ! -z "${BLOCK_BUTTON}" ]; then
|
||||
notify-send clicked $BLOCK_BUTTON
|
||||
fi
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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-}"
|
||||
|
|
@ -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
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
#!/bin/bash
|
||||
if [ ! -z "$TRAY" ] && [ "$TRAY" != "none" ]; then
|
||||
echo "| "
|
||||
fi
|
||||
|
|
@ -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 %
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
SELECTED=$(man -k . | dmenu -l 20 | awk '{print $1}')
|
||||
if [[ ! -z $SELECTED ]]; then
|
||||
man -Tpdf $SELECTED | zathura -
|
||||
fi
|
||||
|
|
@ -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
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
i3-msg "workspace 9: Music; exec 'i3-sensible-terminal -e ncmpcpp'"
|
||||
|
|
@ -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 %
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/bash
|
||||
setxkbmap -layout us,ru
|
||||
setxkbmap -model pc105 -option 'grp:win_space_toggle' -option 'grp:alt_shift_toggle'
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
/home/pavel/Programs/miniconda3/bin/python /home/pavel/Code/mpd-watcher/mpd-watcher/watcher.py
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
/home/pavel/Programs/miniconda3/bin/vmd $1 &
|
||||
|
|
@ -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
|
||||
|
|
@ -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&
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
#
|
||||
# ~/.bash_profile
|
||||
#
|
||||
|
||||
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
||||
126
config/.bashrc
126
config/.bashrc
|
|
@ -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"
|
||||
|
||||
|
|
@ -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.
|
||||
)
|
||||
|
|
@ -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
|
|
@ -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)))))
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: equation*
|
||||
# key: eq*
|
||||
# --
|
||||
\begin{equation*}
|
||||
$1
|
||||
\end{equation*}
|
||||
$0
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: floatbarrier
|
||||
# key: fb
|
||||
# --
|
||||
\FloatBarrier{}
|
||||
$0
|
||||
|
|
@ -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
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: lorem
|
||||
# key: lorem
|
||||
# --
|
||||
\lipsum[1]{} % TODO
|
||||
$0
|
||||
|
|
@ -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}
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
# key: i
|
||||
# name: textit
|
||||
# --
|
||||
\textit{$1} $0
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
# key: tt
|
||||
# name: texttt
|
||||
# --
|
||||
\texttt{$1} $0
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: рис
|
||||
# key: рис
|
||||
# --
|
||||
рис.~\ref{fig:$1}$0
|
||||
|
|
@ -1 +0,0 @@
|
|||
$pdf_mode = 5;
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
function fish_user_key_bindings
|
||||
fzf_key_bindings
|
||||
end
|
||||
|
|
@ -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>
|
||||
389
config/i3/config
389
config/i3/config
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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"
|
||||
#
|
||||
###############################################################################
|
||||
|
|
@ -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
|
||||
#
|
||||
|
|
@ -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
|
||||
#
|
||||
|
|
@ -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
|
||||
}
|
||||
1053
config/nvim/init.vim
1053
config/nvim/init.vim
File diff suppressed because it is too large
Load diff
|
|
@ -1 +0,0 @@
|
|||
priority -50
|
||||
|
|
@ -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:
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
snippet comp "vue component"
|
||||
<template>
|
||||
$0
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: '$1'
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
endsnippet
|
||||
|
|
@ -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; }
|
||||
};
|
||||
|
|
@ -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
|
||||
|
|
@ -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))
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -1 +0,0 @@
|
|||
`git clone https://github.com/dracula/qutebrowser-dracula-theme.git dracula`
|
||||
|
|
@ -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'
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
}
|
||||
})
|
||||
2
config/qutebrowser/dracula/.gitignore
vendored
2
config/qutebrowser/dracula/.gitignore
vendored
|
|
@ -1,2 +0,0 @@
|
|||
/bookmarks/
|
||||
quickmarks
|
||||
|
|
@ -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
|
||||
}
|
||||
})
|
||||
```
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
# Dracula for [qutebrowser](https://www.qutebrowser.org/)
|
||||
|
||||
> A dark theme for [qutebrowser](https://www.qutebrowser.org/).
|
||||
|
||||

|
||||
|
||||
## 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).
|
||||
|
||||
[](https://github.com/evannagle) |
|
||||
--- |
|
||||
[Evan Nagle](https://github.com/evannagle) |
|
||||
|
||||
## License
|
||||
|
||||
[MIT License](./LICENSE)
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 605 KiB |
|
|
@ -1,5 +0,0 @@
|
|||
[FileDialog]
|
||||
history=@Invalid()
|
||||
lastVisited=file:///home/pavel/Pictures
|
||||
qtVersion=5.14.1
|
||||
viewMode=Detail
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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 = " "
|
||||
|
|
@ -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; */
|
||||
/* } */
|
||||
|
|
@ -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
|
||||
|
|
@ -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]"
|
||||
|
|
@ -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
Loading…
Add table
Reference in a new issue