From 6811313bf1a26fba9dddc941ad48d2859dff87bc Mon Sep 17 00:00:00 2001 From: Yuri Zamyatin Date: Thu, 12 Jun 2025 20:21:33 +0000 Subject: [PATCH 1/4] colors, fixes --- arch-root/install.sh | 2 +- arch-user/bin/vim/dump-highlight.sh | 2 + arch-user/config/bash/bashrc | 3 +- arch-user/config/foot/foot.ini.tmpl | 58 +++++++++++++++++++--------- arch-user/config/gnupg/scdaemon.conf | 5 +++ arch-user/config/vim/vimrc | 24 ++++++++++++ arch-user/config/xkb/symbols/us | 2 +- 7 files changed, 74 insertions(+), 22 deletions(-) create mode 100755 arch-user/bin/vim/dump-highlight.sh create mode 100644 arch-user/config/gnupg/scdaemon.conf diff --git a/arch-root/install.sh b/arch-root/install.sh index e698e6a..631dfca 100755 --- a/arch-root/install.sh +++ b/arch-root/install.sh @@ -64,7 +64,7 @@ while read -r entity; do etype="${entity_parts[0]}" ename="${entity_parts[1]}" eid="${entity_parts[2]}" - [ "$etype" != "user" ] && [ "$etype" != "group" ] && echo "ERROR: bad entity type" >&2 && exit 1 + [ "$etype" != "user" ] && [ "$etype" != "group" ] && echo "ERROR: bad entity type $etype" >&2 && exit 1 # every user has their own primary group with id matching uid, # so for each entry we need a usergroup diff --git a/arch-user/bin/vim/dump-highlight.sh b/arch-user/bin/vim/dump-highlight.sh new file mode 100755 index 0000000..88ed5c7 --- /dev/null +++ b/arch-user/bin/vim/dump-highlight.sh @@ -0,0 +1,2 @@ +vim -c 'redir > ~/tmp/vim-highlight.dump' -c 'silent! highlight' -c 'redir END' -c 'q' +echo >> ~/tmp/vim-highlight.dump diff --git a/arch-user/config/bash/bashrc b/arch-user/config/bash/bashrc index b78f326..0239095 100644 --- a/arch-user/config/bash/bashrc +++ b/arch-user/config/bash/bashrc @@ -8,6 +8,5 @@ alias ls='ls --color=auto' alias grep='grep --color=auto' export EDITOR=vim -PS1='\[\033[38;2;153;136;255m\]\u@\h:\W\$\[\033[0m\]\[\e[0;91m\]${?#0}\[\e[0m\] ' - +PS1='\[\033[1;95m\]\u@\h:\W\$\[\033[0m\]\[\033[1;91m\]${?#0}\[\033[0m\] ' diff --git a/arch-user/config/foot/foot.ini.tmpl b/arch-user/config/foot/foot.ini.tmpl index 5905ad0..286bfb0 100644 --- a/arch-user/config/foot/foot.ini.tmpl +++ b/arch-user/config/foot/foot.ini.tmpl @@ -1,3 +1,12 @@ +{{ define "fadeColor" }} + {{- $color := .color -}} + {{- $opacity := .opacity -}} + {{ $result := "" }} + {{- range $color | regexp.Replace "(..)" "$1 " | strings.TrimSpace | strings.Split " " -}} + {{- $result = printf "%s%s" $result (conv.ParseInt . 16 32 | math.Mul $opacity | math.Round | conv.ToInt | printf "%02x") -}} + {{- end -}} + {{- $result -}} +{{- end -}} # -*- conf -*- # shell=$SHELL (if set, otherwise user's default shell from /etc/passwd) @@ -55,7 +64,7 @@ urgent=yes [scrollback] -# lines=1000 +lines=10000 # multiplier=3.0 # indicator-position=relative # indicator-format="" @@ -109,6 +118,18 @@ foreground={{ .theme.color.fg }} # bright6=24dfc4 # bright cyan # bright7=ffffff # bright white +regular0={{ .theme.color.bg }} +regular1=ff4d51 +regular2=35d450 +regular3=e9e836 +regular4=5dc5f8 +regular5={{ .theme.color.fg_accent }} +regular6=24dfc4 +regular7={{ .theme.color.fg }} +bright0={{ .theme.color.bg }} +bright5={{ .theme.color.fg_accent }} +bright7={{ .theme.color.fg }} + ## dimmed colors (see foot.ini(5) man page) # dim0= # ... @@ -141,9 +162,9 @@ foreground={{ .theme.color.fg }} # selection-foreground= # selection-background= # jump-labels= # black-on-yellow -# scrollback-indicator= # black-on-bright-blue -# search-box-no-match= # black-on-red -# search-box-match= # black-on-yellow +scrollback-indicator={{ .theme.color.bg }} {{ template "fadeColor" (dict "color" .theme.color.fg_accent "opacity" .theme.opacity.med) }} +search-box-no-match={{ .theme.color.fg }} {{ .theme.color.bg_accent_dark }} +search-box-match={{ .theme.color.fg }} {{ .theme.color.bg_accent_dark }} # urls= [csd] @@ -163,17 +184,17 @@ foreground={{ .theme.color.fg }} [key-bindings] # scrollback-up-page=Shift+Page_Up -# scrollback-up-half-page=none +scrollback-up-half-page=Control+Shift+u # scrollback-up-line=none # scrollback-down-page=Shift+Page_Down -# scrollback-down-half-page=none +scrollback-down-half-page=Control+Shift+d # scrollback-down-line=none # scrollback-home=none # scrollback-end=none -clipboard-copy=Control+c XF86Copy -clipboard-paste=Control+v XF86Paste +clipboard-copy=Control+c +clipboard-paste=Control+v # primary-paste=Shift+Insert -# search-start=Control+Shift+r +search-start=Control+Shift+slash # font-increase=Control+plus Control+equal Control+KP_Add # font-decrease=Control+minus Control+KP_Subtract # font-reset=Control+0 Control+KP_0 @@ -190,14 +211,14 @@ clipboard-paste=Control+v XF86Paste # show-urls-persistent=none # prompt-prev=Control+Shift+z # prompt-next=Control+Shift+x -# unicode-input=Control+Shift+u +unicode-input=none # noop=none [search-bindings] -# cancel=Control+g Control+c Escape -# commit=Return -# find-prev=Control+r -# find-next=Control+s +cancel=Escape +commit=Return +find-prev=Control+K +find-next=Control+k # cursor-left=Left Control+b # cursor-left-word=Control+Left Mod1+b # cursor-right=Right Control+f @@ -208,6 +229,8 @@ clipboard-paste=Control+v XF86Paste # delete-prev-word=Mod1+BackSpace Control+BackSpace # delete-next=Delete # delete-next-word=Mod1+d Control+Delete +# delete-to-start=Control+u +delete-to-end=none # extend-char=Shift+Right # extend-to-word-boundary=Control+w Control+Shift+Right # extend-to-next-whitespace=Control+Shift+w @@ -216,14 +239,13 @@ clipboard-paste=Control+v XF86Paste # extend-backward-to-word-boundary=Control+Shift+Left # extend-backward-to-next-whitespace=none # extend-line-up=Shift+Up -clipboard-paste=Control+v Control+y XF86Paste +clipboard-paste=Control+v # primary-paste=Shift+Insert # unicode-input=none -# quit=none -# scrollback-up-page=Shift+Page_Up +# scrollback-up-page=Shift+Page_Up Shift+KP_Page_Up # scrollback-up-half-page=none # scrollback-up-line=none -# scrollback-down-page=Shift+Page_Down +# scrollback-down-page=Shift+Page_Down Shift+KP_Page_Down # scrollback-down-half-page=none # scrollback-down-line=none # scrollback-home=none diff --git a/arch-user/config/gnupg/scdaemon.conf b/arch-user/config/gnupg/scdaemon.conf new file mode 100644 index 0000000..14845df --- /dev/null +++ b/arch-user/config/gnupg/scdaemon.conf @@ -0,0 +1,5 @@ +pcsc-driver /usr/lib/libpcsclite.so +card-timeout 5 +disable-ccid +allow-admin +enable-pinpad-varlen diff --git a/arch-user/config/vim/vimrc b/arch-user/config/vim/vimrc index 5576247..7fac4d0 100644 --- a/arch-user/config/vim/vimrc +++ b/arch-user/config/vim/vimrc @@ -46,6 +46,30 @@ set wildmenu set wildmode=list:longest,full set gdefault +" colors +set t_Co=16 +set notermguicolors +set t_RV= " bugfix +" new +highlight LineNr ctermfg=5 ctermbg=none +autocmd VimEnter * highlight SignColumn ctermbg=none +" fg magenta (5) -> blue (4) +highlight Title term=bold ctermfg=4 gui=bold +highlight Special term=bold ctermfg=4 +highlight PreProc term=underline ctermfg=4 +highlight Underlined term=underline cterm=underline ctermfg=4 gui=underline +" fg blue (4 or 12) -> magenta (5) +highlight SpecialKey term=bold ctermfg=5 +highlight Directory term=bold ctermfg=5 +highlight Folded term=standout ctermfg=5 ctermbg=7 +highlight FoldColumn term=standout ctermfg=5 ctermbg=7 +highlight SignColumn term=standout ctermfg=5 ctermbg=7 +highlight Comment term=bold ctermfg=5 +highlight NonText term=bold ctermfg=5 gui=bold +highlight DiffDelete term=bold ctermfg=5 ctermbg=14 gui=bold +highlight Changed ctermfg=5 +" bg +highlight SpellCap cterm=underline ctermfg=9 ctermbg=none gui=undercurl "########################################### "############## file-specific ############### diff --git a/arch-user/config/xkb/symbols/us b/arch-user/config/xkb/symbols/us index aaad993..2453dcd 100644 --- a/arch-user/config/xkb/symbols/us +++ b/arch-user/config/xkb/symbols/us @@ -16,7 +16,7 @@ xkb_symbols "yurmak" { replace key { [ Super_L ] }; replace key { [ Alt_R ] }; replace key { [ ISO_Level3_Shift ] }; - replace key { [ ALT_L ] }; + replace key { [ Alt_L ] }; ##################################### ########### characters ############## From 2eea5707bd9ea56048b003ff4bdf498c139f442a Mon Sep 17 00:00:00 2001 From: Yuri Zamyatin Date: Fri, 13 Jun 2025 00:02:48 +0000 Subject: [PATCH 2/4] unify command-mode keybinds, add terminal keybinds --- arch-user/config/foot/foot.ini.tmpl | 75 +++++++++++++++-------------- arch-user/config/readline/inputrc | 12 ++++- arch-user/config/sway/config.tmpl | 1 + arch-user/config/vim/vimrc | 9 ++++ 4 files changed, 60 insertions(+), 37 deletions(-) diff --git a/arch-user/config/foot/foot.ini.tmpl b/arch-user/config/foot/foot.ini.tmpl index 286bfb0..2712bdc 100644 --- a/arch-user/config/foot/foot.ini.tmpl +++ b/arch-user/config/foot/foot.ini.tmpl @@ -183,22 +183,22 @@ search-box-match={{ .theme.color.fg }} {{ .theme.color.bg_accent_dark }} # button-close-color= [key-bindings] -# scrollback-up-page=Shift+Page_Up +scrollback-up-page=Control+Shift+b scrollback-up-half-page=Control+Shift+u -# scrollback-up-line=none -# scrollback-down-page=Shift+Page_Down +scrollback-up-line=Control+Shift+i +scrollback-down-page=Control+Shift+f scrollback-down-half-page=Control+Shift+d -# scrollback-down-line=none -# scrollback-home=none -# scrollback-end=none +scrollback-down-line=Control+Shift+e +scrollback-home=none +scrollback-end=Control+Shift+g clipboard-copy=Control+c clipboard-paste=Control+v -# primary-paste=Shift+Insert +primary-paste=Control+Shift+p search-start=Control+Shift+slash -# font-increase=Control+plus Control+equal Control+KP_Add -# font-decrease=Control+minus Control+KP_Subtract -# font-reset=Control+0 Control+KP_0 -# spawn-terminal=Control+Shift+n +font-increase=Control+plus +font-decrease=Control+minus +font-reset=Control+equal +spawn-terminal=Control+Shift+h # minimize=none # maximize=none # fullscreen=none @@ -217,39 +217,42 @@ unicode-input=none [search-bindings] cancel=Escape commit=Return -find-prev=Control+K +find-prev=Control+Shift+k find-next=Control+k -# cursor-left=Left Control+b -# cursor-left-word=Control+Left Mod1+b -# cursor-right=Right Control+f -# cursor-right-word=Control+Right Mod1+f -# cursor-home=Home Control+a -# cursor-end=End Control+e -# delete-prev=BackSpace -# delete-prev-word=Mod1+BackSpace Control+BackSpace +# prompt - emacs like +cursor-left=Control+b Left +cursor-left-word=Mod1+b Control+Left +cursor-right=Control+f Right +cursor-right-word=Mod1+f Control+Right +cursor-home=Control+a +cursor-end=Control+e +delete-prev=BackSpace Control+n +delete-prev-word=Control+w Mod1+BackSpace Control+BackSpace # delete-next=Delete # delete-next-word=Mod1+d Control+Delete -# delete-to-start=Control+u +delete-to-start=Control+u delete-to-end=none -# extend-char=Shift+Right -# extend-to-word-boundary=Control+w Control+Shift+Right +####################### +extend-char=Shift+o +extend-to-word-boundary=Shift+w # extend-to-next-whitespace=Control+Shift+w -# extend-line-down=Shift+Down -# extend-backward-char=Shift+Left -# extend-backward-to-word-boundary=Control+Shift+Left +extend-to-next-whitespace=none +extend-line-down=Shift+e +extend-backward-char=Shift+n +extend-backward-to-word-boundary=Shift+b # extend-backward-to-next-whitespace=none -# extend-line-up=Shift+Up +extend-line-up=Shift+i clipboard-paste=Control+v -# primary-paste=Shift+Insert +primary-paste=Control+Shift+p # unicode-input=none -# scrollback-up-page=Shift+Page_Up Shift+KP_Page_Up -# scrollback-up-half-page=none -# scrollback-up-line=none -# scrollback-down-page=Shift+Page_Down Shift+KP_Page_Down -# scrollback-down-half-page=none -# scrollback-down-line=none -# scrollback-home=none -# scrollback-end=none +scrollback-up-page=none +scrollback-up-half-page=none +scrollback-up-line=none +scrollback-down-page=none +scrollback-down-half-page=none +scrollback-down-line=none +scrollback-home=none +scrollback-end=none [url-bindings] # cancel=Control+g Control+c Control+d Escape diff --git a/arch-user/config/readline/inputrc b/arch-user/config/readline/inputrc index 4192ba3..56c9753 100644 --- a/arch-user/config/readline/inputrc +++ b/arch-user/config/readline/inputrc @@ -6,6 +6,16 @@ set vi-ins-mode-string \1\e[1 q\2 set vi-cmd-mode-string \1\e[2 q\2 ################################# +############# new ############### +set keymap vi-insert +"\C-a":beginning-of-line +"\C-e":end-of-line +"\C-b":backward-char +"\C-f":forward-char +"\eb":backward-word +"\ef":forward-word +################################# + ##### remap - colemak-dh ####### # n -> h @@ -38,7 +48,7 @@ set keymap vi-command "\C-k":next-history # j -> e set keymap vi-insert -"\C-e":self-insert +"\C-j":self-insert set keymap vi-command "j":vi-end-word "J":vi-end-word diff --git a/arch-user/config/sway/config.tmpl b/arch-user/config/sway/config.tmpl index 48e1889..4422b46 100644 --- a/arch-user/config/sway/config.tmpl +++ b/arch-user/config/sway/config.tmpl @@ -82,6 +82,7 @@ bindsym --to-code { $mod+w layout tabbed $altmod+w split v; layout tabbed $mod+u split none + $altmod+u split none $mod+y layout stacking $altmod+y split h; layout stacking } diff --git a/arch-user/config/vim/vimrc b/arch-user/config/vim/vimrc index 7fac4d0..94f0acf 100644 --- a/arch-user/config/vim/vimrc +++ b/arch-user/config/vim/vimrc @@ -117,6 +117,15 @@ noremap! "################################# +"############### new keybinds ############### +cnoremap +cnoremap +cnoremap +cnoremap +cnoremap +cnoremap +"############################################ + "####### custom commands ######### " W - Save file as superuser command! W execute 'w !sudo tee % > /dev/null' edit! From 5305539a3fd1908b62e5bef7668f8779a1270b00 Mon Sep 17 00:00:00 2001 From: Yuri Zamyatin Date: Fri, 13 Jun 2025 00:36:40 +0000 Subject: [PATCH 3/4] term pipe keybinds --- arch-user/config/bash/bashrc | 5 +++++ arch-user/config/foot/foot.ini.tmpl | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/arch-user/config/bash/bashrc b/arch-user/config/bash/bashrc index 0239095..6017018 100644 --- a/arch-user/config/bash/bashrc +++ b/arch-user/config/bash/bashrc @@ -9,4 +9,9 @@ alias grep='grep --color=auto' export EDITOR=vim +PS0+='\e]133;C\e\\' +command_done() { + printf '\e]133;D\e\\' +} +PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }command_done PS1='\[\033[1;95m\]\u@\h:\W\$\[\033[0m\]\[\033[1;91m\]${?#0}\[\033[0m\] ' diff --git a/arch-user/config/foot/foot.ini.tmpl b/arch-user/config/foot/foot.ini.tmpl index 2712bdc..eb2fa0c 100644 --- a/arch-user/config/foot/foot.ini.tmpl +++ b/arch-user/config/foot/foot.ini.tmpl @@ -203,9 +203,9 @@ spawn-terminal=Control+Shift+h # maximize=none # fullscreen=none # pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none -# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none +pipe-scrollback=[sh -c 'f=$(mktemp); cat - > $f; footclient vim $f'] Control+Shift+s # pipe-selected=[xargs -r firefox] none -# pipe-command-output=[wl-copy] none # Copy last command's output to the clipboard +pipe-command-output=[wl-copy] Control+Shift+y # show-urls-launch=Control+Shift+o # show-urls-copy=none # show-urls-persistent=none From 85628b5accbf862304144f92ad2d6f9bf0dcf604 Mon Sep 17 00:00:00 2001 From: Yuri Zamyatin Date: Fri, 13 Jun 2025 01:00:22 +0000 Subject: [PATCH 4/4] i3blocks login info --- arch-user/config/i3blocks/config | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch-user/config/i3blocks/config b/arch-user/config/i3blocks/config index 4609932..35a593e 100644 --- a/arch-user/config/i3blocks/config +++ b/arch-user/config/i3blocks/config @@ -19,6 +19,11 @@ label=⌨ interval=once signal=1 +[login] +label=👤 +command=echo "$USER@tty$XDG_VTNR" +interval=once + [time] label=🕓 command=date +"%Y-%m-%dT%H:%M:%SZ"