mirror of
https://github.com/StepanovPlaton/dotfiles.git
synced 2026-04-03 20:30:46 +04:00
Mon Dec 18 09:27:13 PM +04 2023 +'%Y-%m-%d %H:%M:%S'
This commit is contained in:
19
.bashrc
Normal file
19
.bashrc
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
#
|
||||||
|
# ~/.bashrc
|
||||||
|
#
|
||||||
|
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
|
# alias ls='ls --color=auto'
|
||||||
|
# alias grep='grep --color=auto'
|
||||||
|
# PS1='[\u@\h \W]\$ '
|
||||||
|
|
||||||
|
(cat ~/.cache/wal/sequences &)
|
||||||
|
|
||||||
|
|
||||||
|
. "${HOME}/.cache/wal/colors.sh"
|
||||||
|
alias dmenu_wal='dmenu_run -nb "$color0" -nf "$color15" -sb "$color1" -sf "$color15"'
|
||||||
|
|
||||||
|
#export SUDO_ASKPASS=".scripts/dpass.sh"
|
||||||
|
#alias sudo="sudo -A"
|
||||||
26
.config/bspwm/bspwmrc
Executable file
26
.config/bspwm/bspwmrc
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
pgrep -x sxhkd > /dev/null || sxhkd -c ~/.config/sxhkd/sxhkdrc &
|
||||||
|
|
||||||
|
. "${HOME}/.cache/wal/colors.sh"
|
||||||
|
|
||||||
|
bspc monitor -d 1 2 3 4 5
|
||||||
|
|
||||||
|
bspc config border_width 1
|
||||||
|
bspc config window_gap 5
|
||||||
|
|
||||||
|
bspc config split_ratio 0.52
|
||||||
|
bspc config borderless_monocle true
|
||||||
|
bspc config gapless_monocle true
|
||||||
|
|
||||||
|
bspc config normal_border_color "$color0"
|
||||||
|
bspc config active_border_color "$color1"
|
||||||
|
bspc config focused_border_color "$color2"
|
||||||
|
|
||||||
|
bspc config top_padding 30
|
||||||
|
|
||||||
|
# bspc rule -a Gimp desktop='^8' state=floating follow=on
|
||||||
|
# bspc rule -a Chromium desktop='^2'
|
||||||
|
# bspc rule -a mplayer2 state=floating
|
||||||
|
# bspc rule -a Kupfer.py focus=on
|
||||||
|
# bspc rule -a Screenkey manage=off
|
||||||
78
.config/libinput-gestures.conf
Normal file
78
.config/libinput-gestures.conf
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
gesture swipe right 3 bspc desktop -f prev
|
||||||
|
gesture swipe left 3 bspc desktop -f next
|
||||||
|
gesture swipe down 3 /bin/sh -c "polybar-msg cmd show; bspc config top_padding 30"
|
||||||
|
gesture swipe up 3 /bin/sh -c "polybar-msg cmd hide; bspc config top_padding 0"
|
||||||
|
gesture swipe down 4 pactl set-sink-volume @DEFAULT_SINK@ -10%
|
||||||
|
gesture swipe up 4 pactl set-sink-volume @DEFAULT_SINK@ +10%
|
||||||
|
# gesture hold on 4 pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
|
||||||
|
# action motion [finger_count] command
|
||||||
|
#
|
||||||
|
# where action and motion is either:
|
||||||
|
# swipe up
|
||||||
|
# swipe down
|
||||||
|
# swipe left
|
||||||
|
# swipe right
|
||||||
|
# swipe left_up
|
||||||
|
# swipe left_down
|
||||||
|
# swipe right_up
|
||||||
|
# swipe right_down
|
||||||
|
# pinch in
|
||||||
|
# pinch out
|
||||||
|
# pinch clockwise
|
||||||
|
# pinch anticlockwise
|
||||||
|
# hold on (hold gesture available since libinput 1.19)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# gesture swipe up _internal ws_up
|
||||||
|
# gesture swipe up xdotool key super+Page_Down
|
||||||
|
|
||||||
|
# gesture swipe down _internal ws_down
|
||||||
|
# gesture swipe down xdotool key super+Page_Up
|
||||||
|
|
||||||
|
# gesture swipe left xdotool key alt+Right
|
||||||
|
# gesture swipe right xdotool key alt+Left
|
||||||
|
|
||||||
|
|
||||||
|
# gesture hold on 4 xdotool key control+t
|
||||||
|
|
||||||
|
# Jump to next open browser tab
|
||||||
|
# gesture swipe right_up xdotool key control+Tab
|
||||||
|
|
||||||
|
# Jump to previous open browser tab
|
||||||
|
# gesture swipe left_up xdotool key control+shift+Tab
|
||||||
|
|
||||||
|
# Close current browser tab
|
||||||
|
# gesture swipe left_down xdotool key control+w
|
||||||
|
|
||||||
|
# Reopen and jump to last closed browser tab
|
||||||
|
# gesture swipe right_down xdotool key control+shift+t
|
||||||
|
|
||||||
|
# Example to change audio volume (this works on both Wayland and Xorg):
|
||||||
|
# Note each swipe only steps volume once.
|
||||||
|
# swipe up 4 amixer set Master "8%+"
|
||||||
|
# swipe down 4 amixer set Master "8%-"
|
||||||
|
|
||||||
|
# GNOME SHELL open/close overview (works for GNOME on Xorg only)
|
||||||
|
# gesture pinch in xdotool key super+s
|
||||||
|
# gesture pinch out xdotool key super+s
|
||||||
|
|
||||||
|
# Optional extended pinch gestures:
|
||||||
|
# gesture pinch clockwise <whatever command>
|
||||||
|
# gesture pinch anticlockwise <whatever command>
|
||||||
|
|
||||||
|
# device all
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# You can set a minimum travel distance threshold before swipe gestures
|
||||||
|
# are actioned using the swipe_threshold configuration command.
|
||||||
|
# Specify this value in dots. The default is 0.
|
||||||
|
# E.g. set it to 100 dots with "swipe_threshold 100".
|
||||||
|
# swipe_threshold 0
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# You can set a timeout on gestures from start to end. The default is
|
||||||
|
# the value commented below. It can be any value in float secs >= 0.
|
||||||
|
# 0 = no timeout. E.g. set it to 2 secs with "timeout 2".
|
||||||
|
# timeout 1.5
|
||||||
15
.config/numen/phrases.phrases
Normal file
15
.config/numen/phrases.phrases
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
right: run bspc node -f east
|
||||||
|
left: run bspc node -f west
|
||||||
|
up: run bspc node -f north
|
||||||
|
down: run bspc node -f south
|
||||||
|
|
||||||
|
git commit: run git commit -m "`date`+'%Y-%m-%d %H:%M:%S'"
|
||||||
|
git push: run git push
|
||||||
|
git commit and push: run git commit -m "`date`+'%Y-%m-%d %H:%M:%S'" \
|
||||||
|
run git push
|
||||||
|
|
||||||
|
mute: run pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
|
||||||
|
power off: run export SUDOASKPASS=".scripts/dpass.sh" && sudo -A poweroff
|
||||||
|
reboot: run export SUDOASKPASS=".scripts/dpass.sh" && sudo -A reboot
|
||||||
|
|
||||||
3
.config/nvim/init.lua
Normal file
3
.config/nvim/init.lua
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
require("plugins")
|
||||||
|
require("base")
|
||||||
|
require("keymaps")
|
||||||
20
.config/nvim/lazy-lock.json
Normal file
20
.config/nvim/lazy-lock.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" },
|
||||||
|
"lightline.vim": { "branch": "master", "commit": "1c6b455c0445b8bc1c4c16ba569a43c6348411cc" },
|
||||||
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "9453e3d6cd2ca45d96e20f343e8f1b927364b630" },
|
||||||
|
"mason-registry": { "branch": "main", "commit": "600111e66cbf10da94c1ccc3af1445d86e01ab44" },
|
||||||
|
"mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" },
|
||||||
|
"neo-tree.nvim": { "branch": "v3.x", "commit": "230ff118613fa07138ba579b89d13ec2201530b9" },
|
||||||
|
"nui.nvim": { "branch": "main", "commit": "c9b4de623d19a85b353ff70d2ae9c77143abe69c" },
|
||||||
|
"null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "f451052bd6804e9e5ccd0ac874d7df8d3d4c55b9" },
|
||||||
|
"nvim-treesitter": { "branch": "master", "commit": "78d75bce03f218ee30aedb6e24e3ec1189a3e9ff" },
|
||||||
|
"nvim-web-devicons": { "branch": "master", "commit": "8b2e5ef9eb8a717221bd96cb8422686d65a09ed5" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
|
||||||
|
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
||||||
|
"vim-commentary": { "branch": "master", "commit": "e87cd90dc09c2a203e13af9704bd0ef79303d755" },
|
||||||
|
"vim-plugin-ruscmd": { "branch": "master", "commit": "e952abbea092e420b128936a0c284fb522612c3a" },
|
||||||
|
"wal.vim": { "branch": "master", "commit": "c72ba0d18946f29aab9c95eb6975d321c68b3681" },
|
||||||
|
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }
|
||||||
|
}
|
||||||
97
.config/nvim/lua/base.lua
Normal file
97
.config/nvim/lua/base.lua
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
local cmd = vim.cmd -- execute Vim commands
|
||||||
|
local exec = vim.api.nvim_exec -- execute Vimscript
|
||||||
|
local g = vim.g -- global variables
|
||||||
|
local opt = vim.opt -- global/buffer/windows-scoped options
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Главные
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
-- Командная клавиша
|
||||||
|
vim.keymap.set("n", " ", "<Nop>", { silent = true, remap = false })
|
||||||
|
g.mapleader = " "
|
||||||
|
|
||||||
|
-- Откллючить поддержку со старым vi
|
||||||
|
g.nocompatible = true
|
||||||
|
-- Не делать бекап файла
|
||||||
|
g.nobackup = true
|
||||||
|
g.nowritebackup = true
|
||||||
|
-- Кодировка по умолчанию
|
||||||
|
g.encoding = "utf-8"
|
||||||
|
|
||||||
|
-- Разделитель на 80 символов
|
||||||
|
opt.colorcolumn = '80'
|
||||||
|
-- Словари рус eng
|
||||||
|
opt.spelllang = { 'en_us', 'ru' }
|
||||||
|
-- Включаем нумерацию строк
|
||||||
|
opt.number = true
|
||||||
|
-- Вкл. относительную нумерацию строк
|
||||||
|
opt.relativenumber = true
|
||||||
|
-- Возможность отката назад
|
||||||
|
opt.undofile = true
|
||||||
|
-- vertical split вправо
|
||||||
|
opt.splitright = true
|
||||||
|
-- horizontal split вниз
|
||||||
|
opt.splitbelow = true
|
||||||
|
-- Отступ во время скрола
|
||||||
|
opt.scrolloff = 10
|
||||||
|
-- Показать парную скобку
|
||||||
|
opt.showmatch = true
|
||||||
|
-- Всегда показывать столбец для значков
|
||||||
|
opt.signcolumn = "yes"
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Цветовая схема
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
opt.termguicolors = false -- Нужно для поддежки pywal
|
||||||
|
-- Устанавливаем тему из pywal
|
||||||
|
cmd([[
|
||||||
|
highlight ColorColumn ctermbg=16
|
||||||
|
]])
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Табы и отступы
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
cmd([[
|
||||||
|
filetype indent plugin on
|
||||||
|
syntax enable
|
||||||
|
]])
|
||||||
|
|
||||||
|
-- Использовать пробелы вместо табуляции
|
||||||
|
opt.expandtab = true
|
||||||
|
-- Количество пробелов используемых для отступа
|
||||||
|
opt.shiftwidth = 4
|
||||||
|
-- 1 таб = 4 пробелам
|
||||||
|
opt.tabstop = 4
|
||||||
|
-- Добавлять отступ на новых строках
|
||||||
|
opt.smartindent = true
|
||||||
|
|
||||||
|
-- Не автокомментировать новые строки
|
||||||
|
cmd [[au BufEnter * set fo-=c fo-=r fo-=o]]
|
||||||
|
|
||||||
|
-- Удалить маркер длинны строки для выбранных типов файлов
|
||||||
|
cmd [[autocmd FileType text,markdown,html,xhtml,javascript setlocal cc=0]]
|
||||||
|
|
||||||
|
-- 2 пробела для выбранных типов файлов
|
||||||
|
cmd [[
|
||||||
|
autocmd FileType xml,html,xhtml,css,scss,javascript,lua,yaml,htmljinja setlocal shiftwidth=2 tabstop=2
|
||||||
|
]]
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Полезные фишки
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
-- Запоминает где nvim последний раз редактировал файл
|
||||||
|
cmd [[
|
||||||
|
autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
|
||||||
|
]]
|
||||||
|
|
||||||
|
-- Подсвечивает на доли секунды скопированную часть текста
|
||||||
|
exec([[
|
||||||
|
augroup YankHighlight
|
||||||
|
autocmd!
|
||||||
|
autocmd TextYankPost * silent! lua vim.highlight.on_yank{higroup="IncSearch", timeout=700}
|
||||||
|
augroup end
|
||||||
|
]], false)
|
||||||
113
.config/nvim/lua/keymaps.lua
Normal file
113
.config/nvim/lua/keymaps.lua
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
local default_opts = { noremap = true, silent = true }
|
||||||
|
|
||||||
|
local function map(mode, l, r, opts)
|
||||||
|
opts = opts or default_opts
|
||||||
|
opts.buffer = bufnr
|
||||||
|
vim.keymap.set(mode, l, r, opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
local gs = package.loaded.gitsigns
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Базовые
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
-- Системный буфер обмена
|
||||||
|
-- map('v', '<C-y>', '"+y', {})
|
||||||
|
|
||||||
|
-- 'Нажимает' на ESC при быстром нажатии jj
|
||||||
|
map('i', 'оо', '<Esc>')
|
||||||
|
map('i', 'jj', '<Esc>')
|
||||||
|
|
||||||
|
-- Отключение стрелочек. Использовать hjkl
|
||||||
|
map('', '<up>', ':echoe "Use k"<CR>', {noremap = true, silent = false})
|
||||||
|
map('', '<down>', ':echoe "Use j"<CR>', {noremap = true, silent = false})
|
||||||
|
map('', '<left>', ':echoe "Use h"<CR>', {noremap = true, silent = false})
|
||||||
|
map('', '<right>', ':echoe "Use l"<CR>', {noremap = true, silent = false})
|
||||||
|
|
||||||
|
-- Автоформат + сохранение по CTRL-s , как в нормальном, так и в insert режиме
|
||||||
|
-- map('n', '<C-s>', ':Autoformat<CR>:w<CR>', default_opts)
|
||||||
|
-- map('i', '<C-s>', '<esc>:Autoformat<CR>:w<CR>', default_opts)
|
||||||
|
|
||||||
|
-- Переключение вкладок с помощью TAB или shift-tab (akinsho/bufferline.nvim)
|
||||||
|
-- map('n', '<Tab>', ':BufferLineCycleNext<CR>', default_opts)
|
||||||
|
-- map('n', '<S-Tab>', ':BufferLineCyclePrev<CR>', default_opts)
|
||||||
|
|
||||||
|
-- Пролистнуть на страницу вниз / вверх (как в браузерах)
|
||||||
|
-- map('n', '<Space>', '<PageDown> zz', default_opts)
|
||||||
|
-- map('n', '<C-Space>', '<PageUp> zz', default_opts)
|
||||||
|
|
||||||
|
-- " Переводчик рус -> eng
|
||||||
|
-- map('v', 't', '<Plug>(VTranslate)', {})
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Плагины
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
-- telescope
|
||||||
|
local builtin =
|
||||||
|
map('n', '<leader>ff', require('telescope.builtin').find_files)
|
||||||
|
map('n', '<leader>fg', require('telescope.builtin').live_grep)
|
||||||
|
-- vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
||||||
|
-- vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
||||||
|
|
||||||
|
-- NeoTree
|
||||||
|
map('n', '<leader>t', ':Neotree toggle<CR>')
|
||||||
|
|
||||||
|
-- GitSigns
|
||||||
|
map('n', ']c', function()
|
||||||
|
if vim.wo.diff then return ']c' end
|
||||||
|
vim.schedule(function() gs.next_hunk() end)
|
||||||
|
return '<Ignore>'
|
||||||
|
end, {expr=true})
|
||||||
|
|
||||||
|
map('n', '[c', function()
|
||||||
|
if vim.wo.diff then return '[c' end
|
||||||
|
vim.schedule(function() gs.prev_hunk() end)
|
||||||
|
return '<Ignore>'
|
||||||
|
end, {expr=true})
|
||||||
|
|
||||||
|
map('n', '<leader>gs', gs.stage_hunk)
|
||||||
|
map('n', '<leader>gr', gs.reset_hunk)
|
||||||
|
-- map('v', '<leader>hs', function() gs.stage_hunk {vim.fn.line('.'), vim.fn.line('v')} end)
|
||||||
|
-- map('v', '<leader>hr', function() gs.reset_hunk {vim.fn.line('.'), vim.fn.line('v')} end)
|
||||||
|
map('n', '<leader>gS', gs.stage_buffer)
|
||||||
|
map('n', '<leader>gu', gs.undo_stage_hunk)
|
||||||
|
-- map('n', '<leader>hR', gs.reset_buffer)
|
||||||
|
map('n', '<leader>gp', gs.preview_hunk)
|
||||||
|
map('n', '<leader>gb', function() gs.blame_line{full=true} end)
|
||||||
|
-- map('n', '<leader>tb', gs.toggle_current_line_blame)
|
||||||
|
map('n', '<leader>gd', gs.diffthis)
|
||||||
|
map('n', '<leader>gD', function() gs.diffthis('~') end)
|
||||||
|
map('n', '<leader>gtd', gs.toggle_deleted)
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- F1 .. F12
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- По F1 очищаем последний поиск с подсветкой
|
||||||
|
map('n', '<F1>', ':nohl<CR>')
|
||||||
|
|
||||||
|
-- <F3> перечитать конфигурацию nvim
|
||||||
|
map('n', '<F3>', ':so ~/.config/nvim/init.lua<CR>:so ~/.config/nvim/lua/plugins.lua<CR>:so ~/.config/nvim/lua/base.lua<CR>:so ~/.config/nvim/lua/keymaps.lua<CR>', { noremap = true })
|
||||||
|
|
||||||
|
-- <S-F3> Открыть всю nvim конфигурацию для редактирования
|
||||||
|
map('n', '<S-F3>', ':e ~/.config/nvim/init.lua<CR>:e ~/.config/nvim/lua/plugins.lua<CR>:e ~/.config/nvim/lua/base.lua<CR>:e ~/.config/nvim/lua/keymaps.lua<CR>', { noremap = true })
|
||||||
|
|
||||||
|
-- <F4> Поиск слова под курсором
|
||||||
|
map('n', '<F4>', [[<cmd>lua require('telescope.builtin').grep_string()<cr>]])
|
||||||
|
|
||||||
|
-- <S-F4> Поиск слова в модальном окошке
|
||||||
|
map('n', '<S-F4>', [[<cmd>lua require('telescope.builtin').live_grep()<cr>]])
|
||||||
|
|
||||||
|
-- <F5> разные вариации нумераций строк, можно переключаться
|
||||||
|
map('n', '<F5>', ':exec &nu==&rnu? "se nu!" : "se rnu!"<CR>')
|
||||||
|
|
||||||
|
-- <F6> дерево файлов.
|
||||||
|
map('n', '<F6>', ':NvimTreeRefresh<CR>:NvimTreeToggle<CR>')
|
||||||
|
|
||||||
|
-- <F8> Показ дерева классов и функций, плагин majutsushi/tagbar
|
||||||
|
map('n', '<F8>', ':TagbarToggle<CR>')
|
||||||
|
|
||||||
|
-- <F11> Проверка орфографии для русского и английского языка
|
||||||
|
map('n', '<F11>', ':set spell!<CR>')
|
||||||
|
map('i', '<F11>', '<C-O>:set spell!<CR>')
|
||||||
116
.config/nvim/lua/plugins.lua
Normal file
116
.config/nvim/lua/plugins.lua
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
-- Установка lazy.nvim
|
||||||
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
if not vim.loop.fs_stat(lazypath) then
|
||||||
|
vim.fn.system({
|
||||||
|
"git",
|
||||||
|
"clone",
|
||||||
|
"--filter=blob:none",
|
||||||
|
"https://github.com/folke/lazy.nvim.git",
|
||||||
|
"--branch=stable", -- latest stable release
|
||||||
|
lazypath,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
require("lazy").setup({
|
||||||
|
-- Загрука темы из pywal
|
||||||
|
{ "dylanaraps/wal.vim",
|
||||||
|
priority = 1000,
|
||||||
|
config = function()
|
||||||
|
vim.cmd([[colorscheme wal]])
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Подсветка синтаксиса
|
||||||
|
{ "nvim-treesitter/nvim-treesitter",
|
||||||
|
build = ":TSUpdate",
|
||||||
|
config = function ()
|
||||||
|
local configs = require("nvim-treesitter.configs")
|
||||||
|
configs.setup({
|
||||||
|
ensure_installed = {
|
||||||
|
"html", "markdown", "latex",
|
||||||
|
"css", "scss", -- "less", not found
|
||||||
|
"javascript", -- "jsx", not found
|
||||||
|
"typescript", "tsx",
|
||||||
|
"python", "lua",
|
||||||
|
"vim", "vimdoc", "query",
|
||||||
|
"bash",
|
||||||
|
"c",
|
||||||
|
"json", "yaml",
|
||||||
|
},
|
||||||
|
sync_install = false,
|
||||||
|
highlight = { enable = true },
|
||||||
|
incremental_selection = { enable = true },
|
||||||
|
indent = { enable = true },
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
{ 'neovim/nvim-lspconfig',
|
||||||
|
dependencies = {
|
||||||
|
'williamboman/mason.nvim',
|
||||||
|
'mason-org/mason-registry',
|
||||||
|
'williamboman/mason-lspconfig.nvim',
|
||||||
|
'jose-elias-alvarez/null-ls.nvim',
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local lspconfig = require('lspconfig')
|
||||||
|
require("mason").setup()
|
||||||
|
require("mason-lspconfig").setup()
|
||||||
|
require("null-ls").setup()
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Диалоговое окно поиска
|
||||||
|
{ 'nvim-telescope/telescope.nvim', tag = '0.1.5',
|
||||||
|
dependencies = { 'nvim-lua/plenary.nvim' },
|
||||||
|
lazy = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Файловый менеджер
|
||||||
|
-- ? в окне проводника для горячих клавиш
|
||||||
|
{
|
||||||
|
'nvim-neo-tree/neo-tree.nvim',
|
||||||
|
lazy = true,
|
||||||
|
cmd = 'Neotree',
|
||||||
|
branch = "v3.x",
|
||||||
|
dependencies = {
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
'nvim-tree/nvim-web-devicons',
|
||||||
|
'MunifTanjim/nui.nvim',
|
||||||
|
-- '3rd/image.nvim',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Строка состояния
|
||||||
|
-- (можно конфигурировать, пока не разобрался)
|
||||||
|
{ 'itchyny/lightline.vim' },
|
||||||
|
|
||||||
|
-- Быстрое комментирование
|
||||||
|
-- gcc - закоментировать строку
|
||||||
|
-- (VISUAL) gc - закоментировать выделенные строки
|
||||||
|
{ 'tpope/vim-commentary' },
|
||||||
|
|
||||||
|
-- Поддержка git
|
||||||
|
{ 'lewis6991/gitsigns.nvim',
|
||||||
|
config = function()
|
||||||
|
require('gitsigns').setup()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Поддержка русского языка в командном режиме
|
||||||
|
{ 'powerman/vim-plugin-ruscmd' },
|
||||||
|
|
||||||
|
-- Подсветка комбинаций клавиш
|
||||||
|
{ "folke/which-key.nvim",
|
||||||
|
config = function()
|
||||||
|
-- Временно отключен
|
||||||
|
-- Плохо выглядит с pywal base16-gruvbox-hard
|
||||||
|
-- require('which-key').setup()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
}, {
|
||||||
|
defaults = {
|
||||||
|
lazy = false
|
||||||
|
}
|
||||||
|
})
|
||||||
6
.config/picom/picom.conf
Normal file
6
.config/picom/picom.conf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
backend = "glx";
|
||||||
|
|
||||||
|
corner-radius = 10;
|
||||||
|
|
||||||
|
fading = true;
|
||||||
|
fade-delta = 8;
|
||||||
95
.config/polybar/config.ini
Normal file
95
.config/polybar/config.ini
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
[colors]
|
||||||
|
background = ${xrdb:color0:#222}
|
||||||
|
foreground = ${xrdb:color7:#222}
|
||||||
|
primary = ${xrdb:color2:#222}
|
||||||
|
secondary = ${xrdb:color5:#222}
|
||||||
|
alert = ${xrdb:color1:#222}
|
||||||
|
disabled = ${xrdb:color4:#222}
|
||||||
|
|
||||||
|
[bar/top_bar]
|
||||||
|
width = 100%
|
||||||
|
height = 20px
|
||||||
|
radius = 5
|
||||||
|
|
||||||
|
background = ${colors.background}
|
||||||
|
foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
line-size = 5pt
|
||||||
|
|
||||||
|
border-size = 5px
|
||||||
|
border-color = #00000000
|
||||||
|
|
||||||
|
padding-left = 1
|
||||||
|
padding-right = 1
|
||||||
|
|
||||||
|
module-margin = 1
|
||||||
|
|
||||||
|
font-0 = CodeNewRoman Nerd Font Mono:pixelsize=10;3
|
||||||
|
|
||||||
|
modules-left = xworkspaces
|
||||||
|
modules-right = pulseaudio xkeyboard date systray
|
||||||
|
|
||||||
|
cursor-click = pointer
|
||||||
|
cursor-scroll = ns-resize
|
||||||
|
|
||||||
|
enable-ipc = true
|
||||||
|
|
||||||
|
wm-restack = bspwm
|
||||||
|
|
||||||
|
[module/xworkspaces]
|
||||||
|
type = internal/xworkspaces
|
||||||
|
|
||||||
|
label-active =
|
||||||
|
label-active-foreground = ${colors.primary}
|
||||||
|
label-active-background = ${colors.background}
|
||||||
|
; label-active-underline = ${colors.primary}
|
||||||
|
label-active-padding = 1
|
||||||
|
|
||||||
|
label-occupied =
|
||||||
|
label-occupied-foreground = ${colors.secondary}
|
||||||
|
label-occupied-padding = 1
|
||||||
|
|
||||||
|
label-urgent =
|
||||||
|
label-urgent-foreground = ${colors.alert}
|
||||||
|
label-urgent-padding = 1
|
||||||
|
|
||||||
|
label-empty =
|
||||||
|
label-empty-foreground = ${colors.foreground}
|
||||||
|
label-empty-padding = 1
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
format-volume = <label-volume>
|
||||||
|
label-muted = 0%
|
||||||
|
label-muted-foreground = ${colors.disabled}
|
||||||
|
interval = 1
|
||||||
|
use-ui-max = false
|
||||||
|
click-right = /bin/bash -c "pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||||
|
|
||||||
|
[module/xkeyboard]
|
||||||
|
type = internal/xkeyboard
|
||||||
|
|
||||||
|
label-layout = %layout%
|
||||||
|
label-layout-foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
date = %H:%M
|
||||||
|
date-alt = %Y-%m-%d %H:%M:%S
|
||||||
|
|
||||||
|
label = %date%
|
||||||
|
label-foreground = ${colors.primary}
|
||||||
|
|
||||||
|
[module/systray]
|
||||||
|
type = internal/tray
|
||||||
|
|
||||||
|
format-margin = 0pt
|
||||||
|
tray-spacing = 2pt
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
screenchange-reload = true
|
||||||
|
pseudo-transparency = true
|
||||||
|
|
||||||
|
; vim:ft=dosini
|
||||||
10
.config/qutebrowser/autoconfig.yml
Normal file
10
.config/qutebrowser/autoconfig.yml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# 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/main/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
|
||||||
0
.config/qutebrowser/bookmarks/urls
Normal file
0
.config/qutebrowser/bookmarks/urls
Normal file
3
.config/qutebrowser/config.py
Normal file
3
.config/qutebrowser/config.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
config.load_autoconfig()
|
||||||
|
config.set("colors.webpage.darkmode.enabled", True)
|
||||||
|
config.source('qutewal.py')
|
||||||
0
.config/qutebrowser/quickmarks
Normal file
0
.config/qutebrowser/quickmarks
Normal file
325
.config/qutebrowser/qutewal.py
Normal file
325
.config/qutebrowser/qutewal.py
Normal file
@@ -0,0 +1,325 @@
|
|||||||
|
import json
|
||||||
|
import os
|
||||||
|
|
||||||
|
home = os.getenv('HOME')
|
||||||
|
colors_relative = '.cache/wal/colors.json'
|
||||||
|
colors_absolute = os.path.join(home, colors_relative)
|
||||||
|
|
||||||
|
if os.path.isfile(colors_absolute):
|
||||||
|
with open(colors_absolute) as colorfile:
|
||||||
|
colors = json.load(colorfile)
|
||||||
|
|
||||||
|
## Background color of the completion widget category headers.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.completion.category.bg = colors['special']['background']
|
||||||
|
|
||||||
|
## Bottom border color of the completion widget category headers.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.completion.category.border.bottom = colors['special']['background']
|
||||||
|
|
||||||
|
## Top border color of the completion widget category headers.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.completion.category.border.top = colors['special']['background']
|
||||||
|
|
||||||
|
## Foreground color of completion widget category headers.
|
||||||
|
## Type: QtColor
|
||||||
|
c.colors.completion.category.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color of the completion widget for even rows.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.completion.even.bg = colors['special']['background']
|
||||||
|
|
||||||
|
## Background color of the completion widget for odd rows.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.completion.odd.bg = colors['special']['background']
|
||||||
|
|
||||||
|
## Text color of the completion widget.
|
||||||
|
## Type: QtColor
|
||||||
|
c.colors.completion.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color of the selected completion item.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.completion.item.selected.bg = colors['colors']['color5']
|
||||||
|
|
||||||
|
## Bottom border color of the selected completion item.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.completion.item.selected.border.bottom = colors['special'][
|
||||||
|
'background']
|
||||||
|
|
||||||
|
## Top border color of the completion widget category headers.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.completion.item.selected.border.top = colors['special']['background']
|
||||||
|
|
||||||
|
## Foreground color of the selected completion item.
|
||||||
|
## Type: QtColor
|
||||||
|
c.colors.completion.item.selected.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Foreground color of the matched text in the completion.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.completion.match.fg = colors['colors']['color3']
|
||||||
|
|
||||||
|
## Color of the scrollbar in completion view
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.completion.scrollbar.bg = colors['special']['background']
|
||||||
|
|
||||||
|
## Color of the scrollbar handle in completion view.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.completion.scrollbar.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color for the download bar.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.downloads.bar.bg = colors['special']['background']
|
||||||
|
|
||||||
|
## Background color for downloads with errors.
|
||||||
|
## Type: QtColor
|
||||||
|
c.colors.downloads.error.bg = colors['colors']['color5']
|
||||||
|
|
||||||
|
## Foreground color for downloads with errors.
|
||||||
|
## Type: QtColor
|
||||||
|
c.colors.downloads.error.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Color gradient stop for download backgrounds.
|
||||||
|
## Type: QtColor
|
||||||
|
c.colors.downloads.stop.bg = colors['colors']['color6']
|
||||||
|
|
||||||
|
## 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.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.hints.bg = colors['colors']['color3']
|
||||||
|
|
||||||
|
## Font color for hints.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.hints.fg = colors['special']['background']
|
||||||
|
|
||||||
|
## Font color for the matched part of hints.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.hints.match.fg = colors['colors']['color4']
|
||||||
|
|
||||||
|
## Background color of the keyhint widget.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.keyhint.bg = colors['special']['background']
|
||||||
|
|
||||||
|
## Text color for the keyhint widget.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.keyhint.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Highlight color for keys to complete the current keychain.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.keyhint.suffix.fg = colors['colors']['color3']
|
||||||
|
|
||||||
|
## Background color of an error message.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.messages.error.bg = colors['colors']['color5']
|
||||||
|
|
||||||
|
## Border color of an error message.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.messages.error.border = colors['colors']['color5']
|
||||||
|
|
||||||
|
## Foreground color of an error message.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.messages.error.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color of an info message.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.messages.info.bg = colors['colors']['color4']
|
||||||
|
|
||||||
|
## Border color of an info message.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.messages.info.border = colors['colors']['color4']
|
||||||
|
|
||||||
|
## Foreground color an info message.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.messages.info.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color of a warning message.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.messages.warning.bg = colors['colors']['color1']
|
||||||
|
|
||||||
|
## Border color of a warning message.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.messages.warning.border = colors['colors']['color1']
|
||||||
|
|
||||||
|
## Foreground color a warning message.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.messages.warning.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color for prompts.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.prompts.bg = colors['special']['background']
|
||||||
|
|
||||||
|
# ## Border used around UI elements in prompts.
|
||||||
|
# ## Type: String
|
||||||
|
c.colors.prompts.border = '1px solid ' + colors['special']['background']
|
||||||
|
|
||||||
|
## Foreground color for prompts.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.prompts.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color for the selected item in filename prompts.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.prompts.selected.bg = colors['colors']['color5']
|
||||||
|
|
||||||
|
## Background color of the statusbar in caret mode.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.caret.bg = colors['colors']['color6']
|
||||||
|
|
||||||
|
## Foreground color of the statusbar in caret mode.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.caret.fg = colors['special']['cursor']
|
||||||
|
|
||||||
|
## Background color of the statusbar in caret mode with a selection.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.caret.selection.bg = colors['colors']['color6']
|
||||||
|
|
||||||
|
## Foreground color of the statusbar in caret mode with a selection.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.caret.selection.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color of the statusbar in command mode.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.command.bg = colors['special']['background']
|
||||||
|
|
||||||
|
## Foreground color of the statusbar in command mode.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.command.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color of the statusbar in private browsing + command mode.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.command.private.bg = colors['special']['background']
|
||||||
|
|
||||||
|
## Foreground color of the statusbar in private browsing + command mode.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.command.private.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color of the statusbar in insert mode.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.insert.bg = colors['colors']['color2']
|
||||||
|
|
||||||
|
## Foreground color of the statusbar in insert mode.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.insert.fg = colors['special']['background']
|
||||||
|
|
||||||
|
## Background color of the statusbar.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.normal.bg = colors['special']['background']
|
||||||
|
|
||||||
|
## Foreground color of the statusbar.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.normal.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color of the statusbar in passthrough mode.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.passthrough.bg = colors['colors']['color4']
|
||||||
|
|
||||||
|
## Foreground color of the statusbar in passthrough mode.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.passthrough.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color of the statusbar in private browsing mode.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.private.bg = colors['special']['background']
|
||||||
|
|
||||||
|
## Foreground color of the statusbar in private browsing mode.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.private.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color of the progress bar.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.progress.bg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Foreground color of the URL in the statusbar on error.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.url.error.fg = colors['colors']['color5']
|
||||||
|
|
||||||
|
## Default foreground color of the URL in the statusbar.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.url.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Foreground color of the URL in the statusbar for hovered links.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.url.hover.fg = colors['colors']['color4']
|
||||||
|
|
||||||
|
## Foreground color of the URL in the statusbar on successful load
|
||||||
|
## (http).
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.url.success.http.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Foreground color of the URL in the statusbar on successful load
|
||||||
|
## (https).
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.url.success.https.fg = colors['colors']['color2']
|
||||||
|
|
||||||
|
## Foreground color of the URL in the statusbar when there's a warning.
|
||||||
|
## Type: QssColor
|
||||||
|
c.colors.statusbar.url.warn.fg = colors['colors']['color1']
|
||||||
|
|
||||||
|
## Background color of the tab bar.
|
||||||
|
## Type: QtColor
|
||||||
|
c.colors.tabs.bar.bg = colors['special']['background']
|
||||||
|
|
||||||
|
## Background color of unselected even tabs.
|
||||||
|
## Type: QtColor
|
||||||
|
c.colors.tabs.even.bg = colors['special']['background']
|
||||||
|
|
||||||
|
## Foreground color of unselected even tabs.
|
||||||
|
## Type: QtColor
|
||||||
|
c.colors.tabs.even.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Color for the tab indicator on errors.
|
||||||
|
## Type: QtColor
|
||||||
|
c.colors.tabs.indicator.error = colors['colors']['color5']
|
||||||
|
|
||||||
|
## Color gradient start for the tab indicator.
|
||||||
|
## Type: QtColor
|
||||||
|
# c.colors.tabs.indicator.start = colors['colors']['color5']
|
||||||
|
|
||||||
|
## Color gradient end for the tab indicator.
|
||||||
|
## Type: QtColor
|
||||||
|
# c.colors.tabs.indicator.stop = colors['colors']['color1']
|
||||||
|
|
||||||
|
## 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 = colors['special']['background']
|
||||||
|
|
||||||
|
## Foreground color of unselected odd tabs.
|
||||||
|
## Type: QtColor
|
||||||
|
c.colors.tabs.odd.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
# ## Background color of selected even tabs.
|
||||||
|
# ## Type: QtColor
|
||||||
|
c.colors.tabs.selected.even.bg = colors['colors']['color4']
|
||||||
|
|
||||||
|
# ## Foreground color of selected even tabs.
|
||||||
|
# ## Type: QtColor
|
||||||
|
c.colors.tabs.selected.even.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
# ## Background color of selected odd tabs.
|
||||||
|
# ## Type: QtColor
|
||||||
|
c.colors.tabs.selected.odd.bg = colors['colors']['color4']
|
||||||
|
|
||||||
|
# ## Foreground color of selected odd tabs.
|
||||||
|
# ## Type: QtColor
|
||||||
|
c.colors.tabs.selected.odd.fg = colors['special']['foreground']
|
||||||
|
|
||||||
|
## Background color for webpages if unset (or empty to use the theme's
|
||||||
|
## color)
|
||||||
|
## Type: QtColor
|
||||||
|
c.colors.webpage.bg = colors['special']['background']
|
||||||
121
.config/sxhkd/sxhkdrc
Normal file
121
.config/sxhkd/sxhkdrc
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
#
|
||||||
|
# wm independent hotkeys
|
||||||
|
#
|
||||||
|
|
||||||
|
# terminal emulator
|
||||||
|
super + Return
|
||||||
|
st
|
||||||
|
|
||||||
|
# program launcher
|
||||||
|
super + @space
|
||||||
|
dmenu_run
|
||||||
|
|
||||||
|
# make sxhkd reload its configuration files:
|
||||||
|
super + Escape
|
||||||
|
pkill -USR1 -x sxhkd
|
||||||
|
|
||||||
|
#
|
||||||
|
# bspwm hotkeys
|
||||||
|
#
|
||||||
|
|
||||||
|
# quit/restart bspwm
|
||||||
|
super + alt + {q,r}
|
||||||
|
bspc {quit,wm -r}
|
||||||
|
|
||||||
|
# close and kill
|
||||||
|
super + {_,shift + }w
|
||||||
|
bspc node -{c,k}
|
||||||
|
|
||||||
|
# alternate between the tiled and monocle layout
|
||||||
|
super + m
|
||||||
|
bspc desktop -l next
|
||||||
|
|
||||||
|
# send the newest marked node to the newest preselected node
|
||||||
|
super + y
|
||||||
|
bspc node newest.marked.local -n newest.!automatic.local
|
||||||
|
|
||||||
|
# swap the current node and the biggest window
|
||||||
|
super + g
|
||||||
|
bspc node -s biggest.window
|
||||||
|
|
||||||
|
#
|
||||||
|
# state/flags
|
||||||
|
#
|
||||||
|
|
||||||
|
# set the window state
|
||||||
|
super + {t,shift + t,s,f}
|
||||||
|
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
||||||
|
|
||||||
|
# set the node flags
|
||||||
|
super + ctrl + {m,x,y,z}
|
||||||
|
bspc node -g {marked,locked,sticky,private}
|
||||||
|
|
||||||
|
#
|
||||||
|
# focus/swap
|
||||||
|
#
|
||||||
|
|
||||||
|
# focus the node in the given direction
|
||||||
|
super + {_,shift + }{h,j,k,l}
|
||||||
|
bspc node -{f,s} {west,south,north,east}
|
||||||
|
|
||||||
|
# focus the node for the given path jump
|
||||||
|
super + {p,b,comma,period}
|
||||||
|
bspc node -f @{parent,brother,first,second}
|
||||||
|
|
||||||
|
# focus the next/previous window in the current desktop
|
||||||
|
super + {_,shift + }c
|
||||||
|
bspc node -f {next,prev}.local.!hidden.window
|
||||||
|
|
||||||
|
# focus the next/previous desktop in the current monitor
|
||||||
|
super + bracket{left,right}
|
||||||
|
bspc desktop -f {prev,next}.local
|
||||||
|
|
||||||
|
# focus the last node/desktop
|
||||||
|
super + {grave,Tab}
|
||||||
|
bspc {node,desktop} -f last
|
||||||
|
|
||||||
|
# focus the older or newer node in the focus history
|
||||||
|
super + {o,i}
|
||||||
|
bspc wm -h off; \
|
||||||
|
bspc node {older,newer} -f; \
|
||||||
|
bspc wm -h on
|
||||||
|
|
||||||
|
# focus or send to the given desktop
|
||||||
|
super + {_,shift + }{1-9,0}
|
||||||
|
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||||
|
|
||||||
|
#
|
||||||
|
# preselect
|
||||||
|
#
|
||||||
|
|
||||||
|
# preselect the direction
|
||||||
|
super + ctrl + {h,j,k,l}
|
||||||
|
bspc node -p {west,south,north,east}
|
||||||
|
|
||||||
|
# preselect the ratio
|
||||||
|
super + ctrl + {1-9}
|
||||||
|
bspc node -o 0.{1-9}
|
||||||
|
|
||||||
|
# cancel the preselection for the focused node
|
||||||
|
super + ctrl + space
|
||||||
|
bspc node -p cancel
|
||||||
|
|
||||||
|
# cancel the preselection for the focused desktop
|
||||||
|
super + ctrl + shift + space
|
||||||
|
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||||
|
|
||||||
|
#
|
||||||
|
# move/resize
|
||||||
|
#
|
||||||
|
|
||||||
|
# expand a window by moving one of its side outward
|
||||||
|
super + alt + {h,j,k,l}
|
||||||
|
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
||||||
|
|
||||||
|
# contract a window by moving one of its side inward
|
||||||
|
super + alt + shift + {h,j,k,l}
|
||||||
|
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
|
||||||
|
|
||||||
|
# move a floating window
|
||||||
|
super + {Left,Down,Up,Right}
|
||||||
|
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||||
20
.gitignore
vendored
Normal file
20
.gitignore
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
/.*
|
||||||
|
|
||||||
|
|
||||||
|
/Code/*
|
||||||
|
/Downloads/*
|
||||||
|
!/Downloads/Telegram Desktop
|
||||||
|
/Downloads/Telegram Desktop/*
|
||||||
|
/Sync/*
|
||||||
|
/Data/*
|
||||||
|
/Mount/*
|
||||||
|
/Documents/*
|
||||||
|
!*.gitkeep
|
||||||
|
|
||||||
|
!.config
|
||||||
|
!.scripts
|
||||||
|
|
||||||
|
!.xinitrc
|
||||||
|
!.bashrc
|
||||||
|
|
||||||
|
!.gitignore
|
||||||
3
.scripts/dpass.sh
Executable file
3
.scripts/dpass.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
dmenu -p "$1" <&-
|
||||||
16
.xinitrc
Normal file
16
.xinitrc
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
setxkbmap -option grp:ctrl_shift_toggle us,ru
|
||||||
|
|
||||||
|
libinput-gestures &
|
||||||
|
|
||||||
|
wal --theme base16-gruvbox-hard
|
||||||
|
|
||||||
|
polybar -r &
|
||||||
|
|
||||||
|
picom &
|
||||||
|
|
||||||
|
pactl -- set-sink-volume 0 25%
|
||||||
|
|
||||||
|
numen ~/.config/numen/phrases.phrases --phraselog=phrases.txt &
|
||||||
|
|
||||||
|
exec sxhkd -c ~/.config/sxhkd/sxhkdrc &
|
||||||
|
exec bspwm
|
||||||
0
Code/.gitkeep
Normal file
0
Code/.gitkeep
Normal file
0
Data/.gitkeep
Normal file
0
Data/.gitkeep
Normal file
0
Documents/.gitkeep
Normal file
0
Documents/.gitkeep
Normal file
0
Downloads/.gitkeep
Normal file
0
Downloads/.gitkeep
Normal file
0
Downloads/Telegram Desktop/.gitkeep
Normal file
0
Downloads/Telegram Desktop/.gitkeep
Normal file
0
Sync/.gitkeep
Normal file
0
Sync/.gitkeep
Normal file
Reference in New Issue
Block a user