📝 Add keyboard indecator for qtile, dmne theme for rofi. Update nvim, ranger

This commit is contained in:
Smirnov Olexandr 2020-12-11 19:39:37 +02:00
parent 4f3a929be0
commit 917b69171d
18 changed files with 195 additions and 88 deletions

View file

@ -1,18 +1,21 @@
<h1 align="center">dotfiles</h1>
![](./config/qtile/screen.png)
------------------------------
#### System configuration
- `OS` Manjaro
- `WM` Openbox, berry, i3-gaps, qtile, spectrwm
- `Shell` zsh, fish
- `OS` Arch
- `WM` Qtile
- `Terminal` Kitty
- `Shell` zsh
- `Editor` nvim
- `Browser` firefox, qutebowser, chromium
- `Browser` firefox
- `Font` Jatbrains Mono
- `Icon font` FontAwesome5
- `Launcher` dmenu, rofi
#### Install configs
Since i use **rcm** set it
Since i use **[rcm](https://github.com/thoughtbot/rcm)** set it
~~~bash
yay -S rcm
~~~

26
config/nvim/README.md Normal file
View file

@ -0,0 +1,26 @@
# nvim
![](screen.png)
---------------
To manage plugins, I use [vim plug](https://github.com/junegunn/vim-plug). I use the following plugins:
- `nten16.vim`: Colorschemes
- `lightline`: Status bar
- `vim-indent-guides`: Visually displaying indent levels
- `vim-easymotion`: Fast navigation
- `nerdtree`: File manager
- `vim-devicons`: Icons for nerdtree
- `ctrlp.vim`: File saecher
- `auto-pairs`: Close brackets, parens, quotes
- `coc.nvim`: Instant completion
- `emmet-vim`: Emmet :D
- `vim-javascript`: Syntax support for JS
- `i3-vim-syntax`: Syntax support for i3
- `sxhkd-vim`: Syntax support for sxhkd
- `vim-scheme`: Syntax support for scheme
- `scss-syntax.vim`: Syntax support for scss
- `vim-fist`: Syntax support for fish
- `vim-css-color`: Color name highlighter
- `vim-markdown`: Syntax support for fish
- `markdown-preview.nvim`: Preview markdown in real-time
- `vim-table-mode`: Automatic markdown table creator & formatter

View file

@ -1,8 +1,8 @@
call plug#begin('~/.vim/plugged')
Plug 'overcache/NeoSolarized'
Plug 'ericbn/vim-solarized'
Plug 'ryanoasis/vim-devicons'
Plug 'itchyny/lightline.vim'
Plug 'nathanaelkane/vim-indent-guides'
Plug 'Smirnov-O/nten16.vim'
Plug 'iamcco/markdown-preview.nvim'
Plug 'dhruvasagar/vim-table-mode'
Plug 'easymotion/vim-easymotion'
@ -17,10 +17,10 @@ call plug#begin('~/.vim/plugged')
" Language support
Plug 'pangloss/vim-javascript', { 'for': 'javascript' }
Plug 'pearofducks/ansible-vim', { 'for': 'ansible' }
Plug 'PotatoesMaster/i3-vim-syntax', { 'for': 'i3' }
Plug 'kovetskiy/sxhkd-vim', { 'for': 'sxhkd' }
Plug 'mattn/emmet-vim', { 'on': 'Emmet' }
Plug 'Olical/vim-scheme', { 'for': 'scheme' }
Plug 'cakebaker/scss-syntax.vim', { 'for': 'scss' }
Plug 'dag/vim-fish', { 'for': 'fish' }
Plug 'plasticboy/vim-markdown', { 'for': 'markdown' }
@ -70,14 +70,14 @@ set visualbell t_vb=
set termguicolors
set background=dark
colorscheme NeoSolarized
colorscheme nten16
" == Plugins configure
" Lightline
set noshowmode
let g:lightline = {
\ 'colorscheme': 'selenized_dark',
\ 'colorscheme': 'nten16',
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ],
\ [ 'readonly', 'modified' ] ],
@ -113,8 +113,11 @@ map <C-p> :CtrlP<CR>
imap <C-p> :CtrlP<CR>
nmap <C-p> :CtrlP<CR>
" Indent guides
let g:indent_guides_enable_on_vim_startup = 1
" == Maping
imap fd <Esc>
"imap fd <Esc>
let mapleader=","
" Change window

BIN
config/nvim/screen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

View file

@ -12,7 +12,6 @@ if ! updates_aur=$(yay -Qum 2> /dev/null | wc -l); then
fi
updates=$(("$updates_arch" + "$updates_aur"))
if [ "$updates" -gt 0 ]; then
echo "$updates"
else

View file

@ -1,6 +1,7 @@
#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
import requests, os
import requests
import os
API_KEY = os.getenv("OWM_POLYBAR")

View file

@ -1,13 +1,13 @@
# Qtile config
![Screenhot](screen.png)
------------------------
![](screen.png)
---------------
### Install
-----------
~~~shell
sudo pacman -S qtile
yay -S kbdd-git
yay -S xkblayout
~~~
### Autostart
@ -17,12 +17,11 @@ setxkbmap "us,ru,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps"
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
nitrogen --restore
picom -b
kbdd
~~~~
### Keybindings
| Hotkey | Action |
| -------------- | --------------- |
| --- | --- |
| MOD + RETURN | Open termianl |
| MOD + SHIFT + RETURN | Open program launcher(rofi) |
| MOD + r | Open qtile spawn menu |

View file

@ -3,4 +3,3 @@ setxkbmap "us,ru,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps"
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
nitrogen --restore &
picom -b &
kbdd &

View file

@ -2,6 +2,7 @@ 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
import os
@ -29,7 +30,6 @@ color = [
@hook.subscribe.startup_once
def autostart(): os.system("~/.config/qtile/autostart.sh")
keys = [
# Applications
Key([mod], "Return",
@ -88,7 +88,6 @@ keys = [
),
Key([mod, "control"], "h",
lazy.layout.grow_left(),
#lazy.layout.grow()),
desc="Resize focus window(left)"
),
Key([mod, "control"], "j",
@ -101,7 +100,6 @@ keys = [
),
Key([mod, "control"], "l",
lazy.layout.grow_right(),
#lazy.layout.shrink()
desc="Resize focus window(right)"
),
@ -135,12 +133,12 @@ keys = [
# Menus(dmenu or/and rofi)
Key([mod, "shift"], "Return",
lazy.spawn("j4-dmenu-desktop --dmenu=\"dmenu -h 24 -p Run\""),
desc="(j4-dmenu) Program launcher"
lazy.spawn("rofi -show drun"),
desc="(Rofi) Program launcher"
),
Key([mod, "shift"], "apostrophe",
lazy.spawn("dmenu_run -h 24 -p Run"),
desc="(Dmenu) Program launcher"
lazy.spawn("rofi -show run"),
desc="(Rofi) Program launcher"
),
Key([mod],"Escape",
lazy.spawn(f"/home/{user}/.script/dmenu/dmenu-power.sh"),
@ -243,11 +241,10 @@ screens = [Screen(top=bar.Bar([
),
widget.Prompt(foreground=color[0]),
widget.WindowName(foreground=color[0]),
widget.KeyboardKbdd(
kblayout.KBLayout(
foreground=color[5],
configured_keyboards=["us", "ru", "ua"],
update_interval=0,
fmt="{}",
fmt="{}"
),
widget.CurrentLayout(
foreground=color[8]
@ -285,21 +282,23 @@ main = None
follow_mouse_focus = True
bring_front_click = False
cursor_warp = False
floating_layout = layout.Floating(float_rules=[
{"wmclass": "confirm"},
{"wmclass": "dialog"},
{"wmclass": "download"},
{"wmclass": "error"},
{"wmclass": "file_progress"},
{"wmclass": "notification"},
{"wmclass": "splash"},
{"wmclass": "toolbar"},
{"wmclass": "confirmreset"},
{"wmclass": "makebranch"},
{"wmclass": "maketag"},
{"wname": "branchdialog"},
{"wname": "pinentry"},
{"wmclass": "ssh-askpass"},
floating_layout = layout.Floating(
**layout_theme,
float_rules=[
{"wmclass": "confirm"},
{"wmclass": "dialog"},
{"wmclass": "download"},
{"wmclass": "error"},
{"wmclass": "file_progress"},
{"wmclass": "notification"},
{"wmclass": "splash"},
{"wmclass": "toolbar"},
{"wmclass": "confirmreset"},
{"wmclass": "makebranch"},
{"wmclass": "maketag"},
{"wname": "branchdialog"},
{"wname": "pinentry"},
{"wmclass": "ssh-askpass"},
])
auto_fullscreen = True
focus_on_window_activation = "smart"

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 B

6
config/qtile/kblay.sh Executable file
View file

@ -0,0 +1,6 @@
#/bin/sh
case "$(xkblayout)" in
"Eng") echo "us" ;;
"Rus") echo "ru" ;;
"Ukr") echo "ua" ;;
esac

23
config/qtile/kblayout.py Normal file
View file

@ -0,0 +1,23 @@
from libqtile.widget import base
import os
class KBLayout(base.InLoopPollText):
"""Widget for displaying the current keyboard layout
It requires setxkbmap and xkblayout"""
orientations = base.ORIENTATION_HORIZONTAL
defaults = [
("background", "#000000", "Backbround color"),
("foreground", "#ffffff", "Foreground color"),
]
def __init__(self, **config):
base.InLoopPollText.__init__(self, **config)
def get_keyboard(self):
kb = os.popen("xkblayout").read().rstrip("\n")
return kb
def poll(self):
kb = os.popen(".config/qtile/kblay.sh").read().rstrip('\n').encode('utf-8').decode('utf-8')
return kb

View file

@ -24,9 +24,8 @@ set vcs_msg_length 30
### Preview
set preview_images true
set preview_images_method ueberzug
set w3m_delay 0.02
set w3m_offset 0
set preview_images_method kitty
#set preview_images_method ueberzug
set unicode_ellipsis false
set bidi_support false
@ -89,26 +88,33 @@ set nested_ranger_warning true
# Command Aliases in the Console
#################################
map E edit
map F set freeze_files!
# "a" key
map a rename_append
map a
map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
map as shell zip -rf 'file.zip' %s
map ad shell tar -czvf file.tar.gz %s
map az extract
map ax extract_to_dirs
map ac compress
# "q"/quit keys
map Q quitall
map q quit
map <C-c> abort
map ex extract
map ed extract_to_dirs
map ec compress
alias e edit
# quit alias
alias q quit
alias q quit
alias q! quit!
alias qa quitall
alias qa! quitall!
alias qall quitall
alias qall! quitall!
alias setl setlocal
alias e edit
# scout alias
alias filter scout -prts
alias find scout -aets
alias mark scout -mr
@ -117,17 +123,14 @@ alias search scout -rs
alias search_inc scout -rts
alias travel scout -aefklst
map Q quitall
map q quit
copymap q ZZ ZQ
# Restart/reload fm
map R reload_cwd
map F set freeze_files!
map <C-r> reset
map <C-l> redraw_window
map <C-c> abort
map <esc> change_mode normal
# Modes
map ~ set viewmode!
map <C-l> redraw_window
map <esc> change_mode normal
map i display_file
map <A-j> scroll_preview 1
@ -158,9 +161,6 @@ map Ms linemode sizemtime
map MH linemode sizehumanreadablemtime
map Mt linemode metatitle
map t tag_toggle
map ut tag_remove
map "<any> tag_toggle tag=%any
map <Space> mark_files toggle=True
map v mark_files all=True toggle=True
map uv mark_files all=True val=False
@ -201,15 +201,23 @@ map } traverse
map { traverse_backwards
map ) jump_non
# Go keys
map gh cd ~
map gr cd /
map gd cd ~/code
map gd cd ~/Code
map gd cd ~/Documents
map gb cd ~/Documents/Books
map dl cd ~/.dotfiles
map E edit
map cw console rename%space
map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
# File keys
map dD shell mv %s /home/${USER}/.local/share/Trash/files/
map dd cut
map ud uncut
map da cut mode=add
map dr cut mode=remove
map dt cut mode=toggle
map pp paste
map po paste overwrite=True
map pP paste append=True
@ -222,15 +230,6 @@ map pd console paste dest=
map p`<any> paste dest=%any_path
map p'<any> paste dest=%any_path
#map dD console delete
map dD shell mv %s /home/${USER}/.local/share/Trash/files/
map dT console trash
map dd cut
map ud uncut
map da cut mode=add
map dr cut mode=remove
map dt cut mode=toggle
map yy copy
map uy uncut
@ -247,6 +246,7 @@ map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
# Search keys
map / console search%space
map n search_next
map N search_next forward=False
@ -257,16 +257,18 @@ map cc search_next order=ctime
map cm search_next order=mtime
map ca search_next order=atime
# Tab keys
map <C-n> tab_new
map <C-w> tab_close
map <TAB> tab_move 1
map <S-TAB> tab_move -1
map <A-Right> tab_move 1
map <A-Left> tab_move -1
map gt tab_move 1
map gT tab_move -1
map gn tab_new
map gc tab_close
map tn tab_new
map tc tab_close
map tt tag_toggle
map ut tag_remove
map "<any> tag_toggle tag=%any
map uq tab_restore
map <a-1> tab_open 1
map <a-2> tab_open 2

View file

@ -1,4 +1,7 @@
rofi.theme: solarized
rofi.theme: nten-dmenu
rofi.font: Jetbarains Mono 12
rofi.auto-select: false
rofi.hide-scrollbar: true
rofi.drun-display-format: {name}
rofi.display-drun: Run
rofi.display-run: Run

View file

@ -0,0 +1,40 @@
* {
background-color: #262A2B;
text-color: #93A1A1;
font: "Hack 9";
prompt-padding: 4px;
selected-background: #008DCD;
selected-foreground: #ffffff;
}
#window {
location: north;
width: 100%;
height: 24px;
padding: 0px;
children: [ horibox ];
}
#horibox {
orientation: horizontal;
children: [ prompt, entry, listview ];
}
#prompt {
padding: @prompt-padding;
background-color: @selected-background;
text-color: @selected-foreground;
font: @font;
}
#listview {
layout: horizontal;
spacing: 0px;
lines: 100;
}
#entry {
padding: 4px 4px;
expand: false;
width: 170px;
}
#element { padding: 4px 8px; }
#element selected {
background-color: @selected-background;
text-color: @selected-foreground;
}

6
zshrc
View file

@ -1,4 +1,5 @@
export ZSH="/home/sasha/.oh-my-zsh"
export ZSH="$HOME/.oh-my-zsh"
export PATH="$HOME/bin:$PATH"
source ~/.env
source ~/.profile
@ -41,3 +42,6 @@ alias .6="cd ../../../../../.."
alias tozsh="chsh -s /bin/zsh && echo 'Now log out.'"
alias tofish="chsh -s /bin/fish && echo 'Now log out.'"
alias tobash="chsh -s /bin/bash && echo 'Now log out.'"
### Pfetch ###
pfetch