Update alacritty, kitty, bspwm, i3wm, vim,tmux configs & sctipts

This commit is contained in:
Smirnov Olexandr 2021-01-24 23:08:44 +02:00
parent 246dc34d13
commit c7da10d076
22 changed files with 256 additions and 282 deletions

View file

@ -36,9 +36,10 @@ cursor:
scrolling.history: 1000
debug.render_timer: false
draw_bold_text_with_bright_colors: false
#draw_bold_text_with_bright_colors: false
draw_bold_text_with_bright_colors: true
background_opacity: 0.75
dynamic_title: true
dynamic_title: false
colors:
primary:

View file

@ -2,9 +2,10 @@
# Smirnov-O <ss2316544@gmail.com>
# BSPWM config file
## == Functions
## == Function
Run() {
if ! pgrep $1; then $@& fi
if ! pgrep $1
then $@& fi
}
## == Autostart
@ -12,21 +13,24 @@ setxkbmap "us,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps" &
Run sxhkd -c .config/bspwm/sxhkd &
~/.config/bspwm/bar.sh &
Run nitrogen --restore &
~/.script/autolock &
Run lxsession &
Run picom &
## == BSPWM
# Workspaces
bspc monitor -d 1 2 3 4 5 6 7 8 9
bspc config border_width 2
bspc config window_gap 8
bspc config split_ratio 0.52
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc config click_to_focus true
bspc config single_monocle false
bspc config borderless_monocle true
# General
bspc config border_width 2
bspc config window_gap 8
bspc config split_ratio 0.50
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc config single_monocle true
bspc config focus_follows_pointer true
bspc config borderless_monocle true
# Colors
bspc config normal_border_color "#262A2B"
@ -36,14 +40,15 @@ bspc config presel_feedback_color "#51AFEF"
bspc config urgent_border_color "#FF6C6B"
# Rules
bspc rule -a Alacritty desktop='^1' focus=on follow=on
bspc rule -a firefox desktop='^2' focus=on
bspc rule -a VSCodium desktop='^3' focus=on follow=on
bspc rule -a '*:nvim' desktop='^3' focus=on follow=on
bspc rule -a '*:ranger' desktop='^4' focus=on follow=on
bspc rule -a Thunar desktop='^4' focus=on follow=on
bspc rule -a Joplin desktop='^5' focus=on
bspc rule -a Alacritty desktop='^1' focus=on follow=on
bspc rule -a kitty desktop='^1' focus=on follow=on
bspc rule -a firefox desktop='^2' focus=off
bspc rule -a VSCodium desktop='^3' focus=on follow=on
bspc rule -a '*:nvim' desktop='^3' focus=on follow=on
bspc rule -a '*:ranger' desktop='^4' focus=on follow=on
bspc rule -a Thunar desktop='^4' focus=on follow=on
bspc rule -a Joplin desktop='^5' focus=off
bspc rule -a discord descord='^6' focus=on
bspc rule -a TelegramDesktop descord='^6' focus=on
bspc rule -a TelegramDesktop descord='^6' focus=off
bspc rule -a Spotify descord='^9' focus=on
bspc rule -a google-tasks-desktop state=floating

View file

@ -1,5 +1,6 @@
[settings]
enable-ipc = true
format-padding = 1
screenchange-reload = true
pseudo-transparency = true
@ -16,14 +17,13 @@ fixed-center = true
background = ${colors.background}
foreground = ${colors.foreground}
wm-restack = bspwm
module-margin-left = 1
module-margin-right = 1
font-0 = Iosevka Nerd Font:style=Medium:size=8;3
font-1 = FontAwesome5Free:style=Solid:size=7.5;2.5
modules-left = windowname
modules-left = powermenu windowname
modules-center = bspwm
modules-right = pulseaudio archupd wifi-signal weather memory cpu keyboard time date
tray-position = right
tray-padding = 0
[module/bspwm]
type = internal/bspwm

View file

@ -1,17 +1,18 @@
# Smirnov-O <ss2316544@gmail.com>
# BSPWM/SXKBD config file
## == USER keys
## == USER Applications
super + Return
alacritty
kitty
super + shift + w
firefox
super + shift + f
alacritty --class="ranger" -e ranger
kitty --class=ranger -e ranger
super + shift + e
alacritty --class="nvim" -e nvim
kitty --class=nvim -e nvim
super + shift + c
vscodium
@ -22,6 +23,18 @@ super + shift + d
super + shift + q
xkill
## == USER volume
super + minus
amixer sset Master 2%-
super + equal
amixer sset Master 2%+
super + shift + minus
amixer sset Master toggle
## == USER Menus
super + shift + Return
rofi -location 2 -show drun
@ -30,7 +43,7 @@ super + Escape
~/.script/dmenu/dmenu-power.sh
super + ctrl + i
passmenu -h 24 -p Passwords
~/.script/dmenu/dmenu-pass.sh
super + ctrl + u
~/.script/dmenu/dmenu-config-edit.sh
@ -44,14 +57,11 @@ super + control + r
bspc wm -r && pkill -USR1 -x sxhkd
## == BSPWM windows
## Resize window
super + ctrl + {h,j,k,l}
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
# Resize floating window
#super + shift + {h,j,k,l}
# bspc node -v {-20 0,0 20,0 -20,20 0}
# Change focus & move focus window
super + {_,shift + }{h,j,k,l}
bspc node -{f,s} {west,south,north,east}

View file

@ -1,4 +1,4 @@
#!/bin/bash
killall -q polybar
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
polybar i3bar &
polybar bar &

View file

@ -54,8 +54,8 @@ bindsym $mod+Control+w layout tabbed
bindsym $mod+Control+e layout toggle split
# Splits
#bindsym $mod+b split h
#bindsym $mod+v split v
bindsym $mod+b split h
bindsym $mod+v split v
# Scratchpad
bindsym $mod+Shift+grave move scratchpad
@ -64,11 +64,10 @@ bindsym $mod+grave scratchpad show, floating disable
############## User key ###########
# Menus
bindsym $mod+Shift+apostrophe exec "rofi -location 6 -show run"
bindsym $mod+Shift+Return exec "rofi -location 6 -show drun"
bindsym $mod+Escape exec ~/.script/dmenu/dmenu-power.sh -b -h 24
bindsym $mod+Control+u exec ~/.script/dmenu/dmenu-config-edit.sh -b -h 24
bindsym $mod+Control+i exec passmenu -b -h 24 -p Passwords
bindsym $mod+Shift+Return exec rofi -show drun
bindsym $mod+Escape exec ~/.script/dmenu/dmenu-power.sh
bindsym $mod+Control+u exec ~/.script/dmenu/dmenu-config-edit.sh
bindsym $mod+Control+i exec ~/.script/dmenu/dmenu-pass.sh
# Apps
bindsym $mod+Return exec $terminal
@ -78,9 +77,6 @@ bindsym $mod+Shift+e exec $codeeditor
bindsym $mod+Shift+c exec $guicode
bindsym $mod+Shift+d exec $documentationreader
# Toogle polybar
bindsym $mod+b exec ~/.script/polybar-toggle
# Sceenshot
bindsym --release Print exec scrot -s /home/${USER}/$(date +%Y-%m-%d-%H-%M-%S).png
bindsym --release Shift+Print exec scrot /home/${USER}/$(date +%Y-%m-%d-%H-%M-%S).png

View file

@ -1,6 +1,3 @@
# MOD
clear_all_shortcuts yes
# Font
font_family Jetbrains Mono
bold_font auto
@ -65,6 +62,7 @@ initial_window_height 480
enabled_layouts *
# Keyboard Shortcuts
clear_all_shortcuts yes
map ctrl+shift+c copy_to_clipboard
map ctrl+shift+v paste_from_clipboard
map shift+insert paste_from_selection
@ -87,17 +85,15 @@ map alt+ctrl+backspace change_font_size all 0
# Theming
foreground #dfdfdf
background_opacity 0.85
#background_opacity 1
dynamic_background_opacity yes
background_image none
background_image_layout tiled
background_image_linear no
dynamic_background_opacity no
background_tint 0.0
dim_opacity 0.75
selection_foreground #edebd7
selection_background #073642
background #262a3b
#background #262a2b
background #262a2b
foreground #ffffff
cursorColor #d2dae2
selection_background #262a3b

View file

@ -1,25 +1,35 @@
call plug#begin('~/.vim/plugged')
Plug 'Smirnov-O/nten16.vim' " Color scheme
Plug 'itchyny/lightline.vim' " Status line
Plug 'maximbaz/lightline-ale' " ALE in status line
Plug 'airblade/vim-gitgutter' " Git indicator
Plug 'ap/vim-css-color' " CSS color preview
Plug 'ap/vim-css-color' " HEX/CSS color preview
Plug 'mhinz/vim-startify' " Start page
Plug 'scrooloose/nerdtree' " File manager
Plug 'dense-analysis/ale' " Linter
Plug 'kassio/neoterm' " Terminal wrapper
Plug 'aurieh/discord.nvim' " Discord rich
Plug 'editorconfig/editorconfig-vim' " EditorConfig support
Plug 'metakirby5/codi.vim' " Live REPL
Plug 'editorconfig/editorconfig-vim' " EditorConfig support
Plug 'christoomey/vim-tmux-navigator' " Jump from vim to tmux and back
Plug 'Xuyuanp/nerdtree-git-plugin' " NERDTree git status
" Completion & snippets
Plug 'ervandew/supertab'
"Plug 'ervandew/supertab'
Plug 'jiangmiao/auto-pairs'
Plug 'SirVer/ultisnips'
Plug 'mattn/emmet-vim', {'for': ['html', 'javascript']}
" Language support
Plug 'othree/yajs.vim', {'for': 'javascript'}
Plug 'maxmellon/vim-jsx-pretty', {'for': 'javascript'}
" Programing
Plug 'metakirby5/codi.vim'
Plug 'plasticboy/vim-markdown', {'for': 'markdown'}
Plug 'vim-python/python-syntax', {'for': 'python'}
Plug 'cakebaker/scss-syntax.vim', {'for': ['scss', 'sass']}
Plug 'plasticboy/vim-markdown', {'for': 'markdown'}
Plug 'PotatoesMaster/i3-vim-syntax', {'for': 'i3'}
Plug 'kovetskiy/sxhkd-vim'
Plug 'kovetskiy/sxhkd-vim', {'for': 'sxhkd'}
call plug#end()
@ -72,8 +82,7 @@ set hidden
set smartindent
" Spell
set spell
set spelllang=en_us
"set spell spelllang=en_us
" Disable sound
set visualbell t_vb=
@ -93,7 +102,7 @@ let g:python_highlight_class_vars = 1
" Markdown
let g:vim_markdown_folding_disabled = 1
let g:vim_markdown_frontmatter = 1
let g:markdown_fenced_languages = ['go', 'python', 'bash', 'sh=bash']
let g:markdown_fenced_languages = ['javascript', 'js=javascript', 'python', 'py=python', 'bash', 'sh=bash']
" == Plugins configuration
@ -101,11 +110,23 @@ let g:lightline = {
\ 'colorscheme': 'nten16',
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ],
\ [ 'readonly', 'modified' ] ],
\ [ 'readonly', 'modified' ],
\ [ 'linter_errors', 'linter_warnings', 'linter_infos' ] ],
\ 'right': [ [ 'lineinfo' ],
\ [ 'percent' ],
\ [ 'filename', 'filetype' ] ]
\ }, }
\ },
\ 'component_expand': {
\ 'linter_checking': 'lightline#ale#checking',
\ 'linter_infos': 'lightline#ale#infos',
\ 'linter_warnings': 'lightline#ale#warnings',
\ 'linter_errors': 'lightline#ale#errors',
\ 'linter_ok': 'lightline#ale#ok'
\ },}
" Emmet
let g:user_emmet_expandabbr_key='<tab>'
let g:user_emmet_mode='inv'
" UltiSnipts
let g:UltiSnipsExpandTrigger = "<tab>"
@ -157,5 +178,5 @@ noremap <A-8> :tabn 8<CR>
noremap <A-9> :tabn 9<CR>
" Buffer(s)
noremap <leader>p :bnext<CR>
noremap <leader>o :bprev<CR>
noremap <leader>b :bnext<CR>
noremap <leader>p :bprev<CR>

View file

@ -1,9 +1,9 @@
snippet !sh "SH Shebang"
snippet ! "SH Shebang"
#!/bin/sh
${1}
endsnippet
snippet !bash "BASH Shebang"
snippet #! "BASH Shebang"
#!/bin/bash
${1}
endsnippet
@ -27,8 +27,8 @@ done
endsnippet
snippet case "Case"
case "${1:$variable}" in
"${2}") ${3} ;;
case "${1}" in
${2}
esac
endsnippet

View file

@ -13,7 +13,6 @@ alert = #FF6C6B
monitor = ${env:MONITOR_MIDDLE}
width = 100%
height = 24
bottom = true
fixed-center = true
wm-restack = i3
background = ${colors.background}
@ -22,19 +21,50 @@ module-margin-left = 1
module-margin-right = 1
font-0 = Iosevka Nerd Font:style=Medium:size=8;3
font-1 = FontAwesome5Free:style=Solid:size=7.5;2.5
font-2 = Weather Icons:size=7;2
modules-left = i3 pacman-up window-name
modules-right = pulseaudio backlight wifi-signal keyboard time date
modules-right = pulseaudio weather wifi-signal keyboard time date
tray-position = right
[module/bspwm]
type = internal/bspwm
pin-workspaces = true
inline-mode = false
enable-click = false
enable-scroll = false
reverse-scroll = false
fuzzy-match = true
[module/i3]
type = internal/i3
format = <label-state><label-mode>
card = intel_backlight
index-sort = false
wrapping-scroll = false
label-mode-padding = 1
label-mode-background = ${colors.alert}
label-focused = %icon%
label-focused-background = ${colors.secondary}
label-focused-foreground = ${colors.foreground}
label-focused-padding = 1
label-focused-underline = ${colors.alert}
label-unfocused = %icon%
label-unfocused-foreground = ${colors.foreground}
label-unfocused-padding = 1
label-urgent = %icon%
label-urgent-background = ${colors.alert}
label-urgent-foreground = ${colors.foreground}
label-urgent-padding = 1
label-urgent-underline = ${colors.alert}
label-visible = %icon%
label-visible-background = ${colors.background}
label-visible-foreground = ${colors.foreground}
label-visible-padding = 1
label-visible-underline = ${colors.background}
ws-icon-0 = "1;1 "
ws-icon-1 = "2;2 "
ws-icon-2 = "3;3 "
ws-icon-3 = "4;4 "
ws-icon-4 = "5;5 "
ws-icon-5 = "6;6 "
ws-icon-6 = "7;7 "
ws-icon-7 = "8;8 "
ws-icon-8 = "9;9 "
[module/wifi-signal]
type = custom/script
@ -73,22 +103,6 @@ blacklist-0 = num lock
blacklist-1 = scroll lock
blacklist-2= caps lock
[module/menu]
type = custom/menu
format = <label-toggle> <menu>
format-padding = 1
format-spacing = 2
label-open = 
label-close = 
menu-0-0 = 
menu-0-0-exec = thunar
menu-0-1 = 
menu-0-1-exec = firefox
menu-0-2 = 
menu-0-2-exec = alacritty
menu-0-3 = 
menu-0-3-exec = emacs
[module/date]
type = internal/date
interval = 600

View file

@ -1,7 +1,8 @@
#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
import requests
import os
"""For working this script set in ~/.profile 2 variable:
"OWM_POLYBAR": API key
"OWM_CITY": Your city
"""
import requests, os
API_KEY = os.getenv("OWM_POLYBAR")
@ -10,5 +11,5 @@ CITY = os.getenv("OWM_CITY")
try:
JSON = requests.get(f"http://api.openweathermap.org/data/2.5/weather?q={CITY}&lang=EN&&units=metric&appid={API_KEY}").json()
print("", int(JSON["main"]["temp"]), "°С")
except:
except Exception:
print(" err °С")

View file

@ -1,17 +1,17 @@
from libqtile import bar, layout, widget, hook
from libqtile.config import Click, Drag, Group, Key, Screen
from libqtile.lazy import lazy
from typing import List
import kblayout, os
import kblayout
import os
mod = "mod4"
alt = "mod1"
terminal = "alacritty"
browser = "firefox"
terminal = "alacritty"
browser = "firefox"
filemanager = f"{terminal} -e ranger"
editor = "alacritty -e nvim"
editor = "alacritty -e nvim"
color = [
"#FFFFFF", # 0. Text color
@ -34,160 +34,119 @@ def autostart():
keys = [
# Applications
Key([mod], "Return",
lazy.spawn(terminal),
desc="Launch terminal"
),
lazy.spawn(terminal),
desc="Launch terminal"),
Key([mod, "shift"], "w",
lazy.spawn(browser),
desc="Launch browser"
),
desc="Launch browser"),
Key([mod, "shift"], "f",
lazy.spawn(filemanager),
desc="Launch filemanager"
),
desc="Launch filemanager"),
Key([mod, "shift"], "e",
lazy.spawn(editor),
desc="Launch code editor"
),
# Window control
Key([mod], "q",
desc="Launch code editor"),
# Window control
Key([mod], "q",
lazy.window.kill(),
desc="Kill focused window"
),
desc="Kill focused window"),
Key([mod, "shift"], "Tab",
lazy.window.toggle_floating(),
desc="Toggle floating mode"
),
Key([mod], "h",
lazy.layout.left(),
desc="Change focus window(left)"
),
desc="Toggle floating mode"),
Key([mod], "h",
lazy.layout.left(),
desc="Change focus window(left)"),
Key([mod], "j",
lazy.layout.down(),
desc="Change focus window(down)"
),
Key([mod], "k",
lazy.layout.down(),
desc="Change focus window(down)"),
Key([mod], "k",
lazy.layout.up(),
desc="Change focus window(up)"
),
desc="Change focus window(up)"),
Key([mod], "l",
lazy.layout.right(),
desc="Change focus window(right)"
),
desc="Change focus window(right)"),
Key([mod, "shift"], "h",
lazy.layout.shuffle_left(),
desc="Move focus window(left)"
),
desc="Move focus window(left)"),
Key([mod, "shift"], "j",
lazy.layout.shuffle_down(),
desc="Move focus window(down)"
),
desc="Move focus window(down)"),
Key([mod, "shift"], "k",
lazy.layout.shuffle_up(),
desc="Move focus window(up)"
),
desc="Move focus window(up)"),
Key([mod, "shift"], "l",
lazy.layout.shuffle_right(),
desc="Move focus window(right)"
),
desc="Move focus window(right)"),
Key([mod, "control"], "h",
lazy.layout.grow_left(),
desc="Resize focus window(left)"
),
desc="Resize focus window(left)"),
Key([mod, "control"], "j",
lazy.layout.grow_down(),
desc="Resize focus window(down)"
),
desc="Resize focus window(down)"),
Key([mod, "control"], "k",
lazy.layout.grow_up(),
desc="Resize focus window(up)"
),
desc="Resize focus window(up)"),
Key([mod, "control"], "l",
lazy.layout.grow_right(),
desc="Resize focus window(right)"
),
desc="Resize focus window(right)"),
# Layout
Key([mod], "Tab",
lazy.next_layout(),
desc="Toggle between layouts"
),
desc="Toggle between layouts"),
Key([mod], "space",
lazy.layout.next(),
desc="Switch window focus to other pane(s) of stack"
),
desc="Switch window focus to other pane(s) of stack"),
Key([mod, "shift"], "space",
lazy.layout.rotate(),
desc="Swap panes of split stack"
),
desc="Swap panes of split stack"),
# Volume
Key([mod], "equal",
lazy.spawn("amixer sset Master 2%+"),
desc="Plus 2% volume"
),
desc="Plus 2% volume"),
Key([mod], "minus",
lazy.spawn("amixer sset Master 2%-"),
desc="Minus 2% volume"
),
desc="Minus 2% volume"),
Key([mod, "shift"], "minus",
lazy.spawn("amixer sset Master toggle"),
desc="Mute volume"
),
desc="Mute volume"),
# Menus(dmenu or/and rofi)
# Menus(dmenu or/and rofi)
Key([mod, "shift"], "Return",
lazy.spawn("rofi -location 2 -show drun"),
desc="(Rofi) Program launcher"
),
Key([mod, "shift"], "apostrophe",
lazy.spawn("rofi -location 2 -show run"),
desc="(Rofi) Program launcher"
),
Key([mod],"Escape",
lazy.spawn("rofi -show drun"),
desc="(Rofi) Program launcher"),
Key([mod], "Escape",
lazy.spawn("./.script/dmenu/dmenu-power.sh"),
desc="Power menu"
),
desc="Power menu"),
Key([mod, "control"], "i",
lazy.spawn("passmenu -h 24 -p Password"),
desc="Dmenu password menu"
),
lazy.spawn("./.script/dmenu/dmenu-pass.sh"),
desc="Dmenu(rofi) password menu"),
Key([mod, "control"], "u",
lazy.spawn("./.script/dmenu/dmenu-config-edit.sh"),
desc="Config editor"
),
Key([mod, "control"], "o",
lazy.spawn("./.script/dmenu/dmenu-sysmon.sh"),
desc="Choice system monitor"
),
desc="Config editor"),
# Screenhot
Key([], "Print",
lazy.spawn("scrot -s ./$(date +%Y-%m-%d-%H-%M-%S).png"),
desc="Create screenhot(scrot -s)"
),
desc="Create screenhot(scrot -s)"),
Key(["shift"], "Print",
lazy.spawn(f"scrot ./$(date +%Y-%m-%d-%H-%M-%S).png"),
desc="Create screenhot full screen(scrot)"
),
lazy.spawn("scrot ./$(date +%Y-%m-%d-%H-%M-%S).png"),
desc="Create screenhot full screen(scrot)"),
# Qtile
Key([mod, "control"], "r",
lazy.restart(),
desc="Restart qtile"
),
desc="Restart qtile"),
Key([mod], "r",
lazy.spawncmd(),
desc="Spawn a command using a prompt widget"
),
desc="Spawn a command using a prompt widget"),
Key([mod, "shift"], "q",
lazy.spawn("xkill"),
desc="Xkill"
),
desc="Xkill"),
Key([mod, "shift"], "z",
lazy.spawn("betterlockscreen --off 300 -t \"Computer is locked\" -l"),
desc="Lock screen"
)
desc="Lock screen")
]
# Workspaces name, keys
@ -199,8 +158,7 @@ group_names = [("term", {"layout": "columns"}),
("chat", {"layout": "columns"}),
("pass", {"layout": "columns"}),
("mus", {"layout": "max"}),
("flo", {"layout": "columns"})
]
("flo", {"layout": "columns"})]
groups = [Group(name, **kwargs) for name, kwargs in group_names]
for i, (name, kwargs) in enumerate(group_names, 1):
keys.append(Key([mod], str(i), lazy.group[name].toscreen()))
@ -225,7 +183,7 @@ layouts = [
# layout.MonadWide(),
# layout.RatioTile(),
# layout.Tile(**layout_theme),
# layout.TreeTab(),
# layout.TreeTab(),
# layout.VerticalTile(),
# layout.Zoomy(),
]
@ -277,7 +235,7 @@ screens = [Screen(top=bar.Bar([
widget.Clock(
format="%d.%m.%Y",
foreground=color[4]
)], 24 # Panel size
)], 24 # Panel size
))]
# Drag floating layouts
@ -308,8 +266,7 @@ floating_layout = layout.Floating(
{"wmclass": "maketag"},
{"wname": "branchdialog"},
{"wname": "pinentry"},
{"wmclass": "ssh-askpass"}
])
{"wmclass": "ssh-askpass"}])
auto_fullscreen = True
focus_on_window_activation = "smart"
wmname = "LG3D"

View file

@ -7,6 +7,7 @@
selected-foreground: #ffffff;
}
#window {
location: north;
width: 100%;
height: 24px;
padding: 0px;
@ -25,8 +26,6 @@
#listview {
layout: horizontal;
spacing: 0px;
fixed-height: false;
dynamic: true;
lines: 100;
}
#entry {