Compare commits
22 Commits
d0e830f571
...
wip
| Author | SHA1 | Date | |
|---|---|---|---|
| dbdfac823c | |||
| 8849674617 | |||
| 85f7da444e | |||
| 90786cef74 | |||
| bc85f3cb09 | |||
| 6e5dc5decd | |||
| 203913aa58 | |||
| 1b2b72e813 | |||
| f78d1ec922 | |||
| 9ddaf09c5c | |||
| 32036e2f76 | |||
| c626f849cf | |||
| de7dbf7f67 | |||
| 8715860090 | |||
| e64ba55973 | |||
| 1070fd29b9 | |||
| 6b4927cb51 | |||
| 8f5b3443db | |||
| 8ee04ac139 | |||
| 210fd7052f | |||
| d815cadb7b | |||
| f4dadb53a9 |
158
argen/.config/argen/init
Executable file
158
argen/.config/argen/init
Executable file
@@ -0,0 +1,158 @@
|
||||
#!/bin/sh
|
||||
|
||||
wlr-randr --output DP-1 --mode 3840x2160 --scale 2
|
||||
wlr-randr --output HDMI-A-1 --mode 3840x2160 --scale 2 --left-of DP-1
|
||||
|
||||
foot --server &
|
||||
|
||||
argenctl config set label-mode modifier
|
||||
|
||||
# Terminal
|
||||
#argenctl binding set normal Super Return sh "kitty --single-instance --instance-group default"
|
||||
argenctl binding set normal Super Return sh "
|
||||
if [ -e ~/.lightmode ]; then
|
||||
exec footclient -o initial-color-theme=light
|
||||
else
|
||||
exec footclient -o initial-color-theme=dark
|
||||
fi
|
||||
"
|
||||
|
||||
# Reload config
|
||||
argenctl binding set normal Super+Shift R exec "$0"
|
||||
|
||||
argenctl binding set normal Super P exec fuzzel
|
||||
argenctl binding set normal Super+Shift L exec waylock
|
||||
argenctl binding set normal Super+Shift T sh "lupan-set-theme toggle"
|
||||
|
||||
# Window focus and swap
|
||||
argenctl binding set normal Super J window focus next
|
||||
argenctl binding set normal Super K window focus prev
|
||||
argenctl binding set normal Super+Shift J window swap next
|
||||
argenctl binding set normal Super+Shift K window swap prev
|
||||
|
||||
argenctl binding set normal Super F window fullscreen
|
||||
argenctl binding set normal Super W window float
|
||||
|
||||
argenctl binding set normal Super+Shift C window close
|
||||
argenctl binding set normal Super+Shift X window detach
|
||||
|
||||
# Output focus and send
|
||||
argenctl binding set normal Super Period output focus next
|
||||
argenctl binding set normal Super Comma output focus prev
|
||||
argenctl binding set normal Super+Shift Period window send next
|
||||
argenctl binding set normal Super+Shift Comma window send prev
|
||||
|
||||
# Layout
|
||||
argenctl binding set normal Super M layout switch monocle
|
||||
argenctl binding set normal Super S layout switch stacktile
|
||||
argenctl binding set normal Super H layout set primary-ratio -0.05
|
||||
argenctl binding set normal Super L layout set primary-ratio +0.05
|
||||
argenctl binding set normal Super+Control K layout set secondary-ratio -0.05
|
||||
argenctl binding set normal Super+Control J layout set secondary-ratio +0.05
|
||||
|
||||
# Pointer
|
||||
argenctl pointer-binding set normal Super BTN_LEFT move-window
|
||||
argenctl pointer-binding set normal Super BTN_RIGHT resize-window
|
||||
|
||||
# Context
|
||||
argenctl binding set normal Super+Shift+Control X context close
|
||||
argenctl binding set normal Super Tab context switch --last
|
||||
|
||||
# Switch contexts interactively
|
||||
argenctl binding set normal Super Space sh 'argenctl context switch "$(argenctl context list | fuzzel -d)"'
|
||||
|
||||
# Create new context interactively
|
||||
argenctl binding set normal Super+Shift Space sh '
|
||||
set -eu
|
||||
prompt="$(fuzzel -dl0 -p"new > ")"
|
||||
argenctl context new "$prompt"
|
||||
'
|
||||
|
||||
# Rename current context interactively
|
||||
argenctl binding set normal Super+Control Space sh '
|
||||
set -eu
|
||||
prompt="$(fuzzel -dl0 -p"rename > ")"
|
||||
argenctl context rename "$prompt"
|
||||
'
|
||||
|
||||
# Assign currently focused window to be toggled with Super U
|
||||
argenctl binding set normal Super+Shift U sh '
|
||||
set -eu
|
||||
window_id=$(argenctl window list --json | jq -r ".[] | select(.focused) | .id")
|
||||
argenctl binding set normal Super U window toggle $window_id
|
||||
'
|
||||
|
||||
# Attach window interactively
|
||||
argenctl binding set normal Super+Shift D sh '
|
||||
set -eu
|
||||
id=$(argenctl window list | fuzzel -d --with-nth 2 --accept-nth 1)
|
||||
argenctl window attach "$id"
|
||||
'
|
||||
|
||||
# Adopt all orphans
|
||||
argenctl binding set normal Super+Control D sh '
|
||||
argenctl window list --json | jq -r ".[] | select(.contexts | length == 0) | .id" | while read -r id; do
|
||||
argenctl window attach "$id"
|
||||
done
|
||||
'
|
||||
|
||||
# Quit after confirmed with 'yes'
|
||||
argenctl binding set normal Super+Shift Q sh '
|
||||
set -eu
|
||||
confirm="$(fuzzel -dl0 -p"quit? > ")"
|
||||
if [ "$confirm" = yes ]; then
|
||||
argenctl exit
|
||||
fi
|
||||
'
|
||||
|
||||
# Audio and brightness controls
|
||||
VOL_DEC='wpctl set-volume @DEFAULT_SINK@ --limit 1.5 5%-'
|
||||
VOL_INC='wpctl set-mute @DEFAULT_SINK@ 0 && wpctl set-volume @DEFAULT_SINK@ --limit 1.5 5%+'
|
||||
VOL_TOGGLE='wpctl set-mute @DEFAULT_SINK@ toggle'
|
||||
for mode in normal locked; do
|
||||
argenctl binding set $mode Super Bracketleft sh "$VOL_DEC"
|
||||
argenctl binding set $mode Super Bracketright sh "$VOL_INC"
|
||||
argenctl binding set $mode Super+Shift M sh "$VOL_TOGGLE"
|
||||
argenctl binding set $mode None XF86AudioLowerVolume sh "$VOL_DEC"
|
||||
argenctl binding set $mode None XF86AudioRaiseVolume sh "$VOL_INC"
|
||||
argenctl binding set $mode None XF86AudioMute sh "$VOL_TOGGLE"
|
||||
argenctl binding set $mode None XF86MonBrightnessDown sh "brightnessctl s 5%-"
|
||||
argenctl binding set $mode None XF86MonBrightnessUp sh "brightnessctl s +5%"
|
||||
argenctl binding set $mode Super+Shift Bracketleft sh "brightnessctl s 5%-"
|
||||
argenctl binding set $mode Super+Shift Bracketright sh "brightnessctl s +5%"
|
||||
done
|
||||
|
||||
# Passthrough mode
|
||||
argenctl mode declare passthrough
|
||||
argenctl binding set normal Super Grave mode enter passthrough
|
||||
argenctl binding set passthrough Super Grave mode enter normal
|
||||
|
||||
# Select/swap window by index
|
||||
for num in 1 2 3 4 5 6 7 8 9; do
|
||||
idx=$((num - 1))
|
||||
argenctl binding set normal Super $num sh "
|
||||
argenctl window focus \$(argenctl context list --json | jq -r '.[] | select(.current) | .windows | .[$idx]')
|
||||
"
|
||||
argenctl binding set normal Super+Shift $num sh "
|
||||
context_id=\$(argenctl context list --json | jq -r '.[] | select(.current) | .id')
|
||||
length=\$(argenctl context list --json | jq -r '.[] | select(.current) | .windows | length')
|
||||
focused_window=\$(argenctl context list --json | jq -r '.[] | select(.current) | .focused_window')
|
||||
dest_window=\$(argenctl context list --json | jq -r '.[] | select(.current) | .windows | .[$idx]')
|
||||
focused_output_id=\$(argenctl window list --json | jq -r \".[] | select(.id == \\\"\$focused_window\\\") | .contexts[] | select(.id = \$context_id) | .output_id\")
|
||||
dest_output_id=\$(argenctl window list --json | jq -r \".[] | select(.id == \\\"\$dest_window\\\") | .contexts[] | select(.id = \$context_id) | .output_id\")
|
||||
if [ -n \"\$focused_output_id\" -a \"\$focused_output_id\" = \"\$dest_output_id\" ]; then
|
||||
for i in \$(seq \$length); do
|
||||
if [ \"\$focused_window\" = \"\$dest_window\" ]; then
|
||||
break
|
||||
fi
|
||||
argenctl window swap next
|
||||
dest_window=\$(argenctl context list --json | jq -r '.[] | select(.current) | .windows | .[$idx]')
|
||||
done
|
||||
fi
|
||||
"
|
||||
done
|
||||
|
||||
argenctl binding set normal Super+Shift S exec ~/.config/argen/session.sh
|
||||
|
||||
# Rules
|
||||
argenctl rule add float --app-id "my-app"
|
||||
29
argen/.config/argen/session.sh
Executable file
29
argen/.config/argen/session.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
id=$(for name in $(ls ~/.config/argen/sessions/*.sh); do echo $(basename "${name%.sh}"); done | fuzzel -d -p'session> ')
|
||||
if argenctl context list | grep "^${id}\$"; then
|
||||
argenctl context switch "${id}"
|
||||
exit
|
||||
fi
|
||||
argenctl context new "$id"
|
||||
|
||||
first=$(argenctl output list --json | jq -r 'min_by(80000 * .y + .x).id')
|
||||
length=$(argenctl output list --json | jq -r 'length')
|
||||
for n in $(seq $length); do
|
||||
current=$(argenctl output list --json | jq -r '.[] | select(.focused).id')
|
||||
if [ "$current" = "$first" ]; then
|
||||
break
|
||||
fi
|
||||
argenctl output focus next
|
||||
done
|
||||
|
||||
if [ -e ~/.lightmode ]; then
|
||||
THEME=light
|
||||
else
|
||||
THEME=dark
|
||||
fi
|
||||
export TERMINAL="footclient -o initial-color-theme=$THEME"
|
||||
|
||||
exec sh ~/.config/argen/sessions/"${id}.sh"
|
||||
3
argen/.config/argen/sessions/dotfiles.sh
Normal file
3
argen/.config/argen/sessions/dotfiles.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
argenctl output focus next
|
||||
|
||||
argenctl sh "$TERMINAL -D ~/dotfiles kak -s dotfiles"
|
||||
6
argen/.config/argen/sessions/web.sh
Normal file
6
argen/.config/argen/sessions/web.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
argenctl exec librewolf
|
||||
|
||||
sleep 1
|
||||
argenctl output focus next
|
||||
|
||||
argenctl exec qutebrowser
|
||||
@@ -1,4 +1,60 @@
|
||||
[main]
|
||||
font = Fira Code Nerd Font:size=11
|
||||
font = HurmitNerdFont:size=10
|
||||
initial-color-theme = dark
|
||||
|
||||
include = /usr/share/foot/themes/nord
|
||||
[colors-dark]
|
||||
foreground = a29e98
|
||||
background = 272117
|
||||
cursor = 272117 73d0b1
|
||||
selection-foreground = 272117
|
||||
selection-background = 276c9a
|
||||
|
||||
regular0 = 85919b
|
||||
regular1 = c37583
|
||||
regular2 = 44a386
|
||||
regular3 = af8842
|
||||
regular4 = 5396c7
|
||||
regular5 = a57cba
|
||||
regular6 = 2da0ad
|
||||
regular7 = b0bcc7
|
||||
|
||||
bright0 = 85919b
|
||||
bright1 = f2a0ae
|
||||
bright2 = 73d0b1
|
||||
bright3 = dcb46e
|
||||
bright4 = 7fc3f5
|
||||
bright5 = d2a8e8
|
||||
bright6 = 62cdda
|
||||
bright7 = a29e98
|
||||
|
||||
[colors-light]
|
||||
foreground = 696257
|
||||
background = faf8f5
|
||||
cursor = faf8f5 7ad6b7
|
||||
selection-foreground = faf8f5
|
||||
selection-background = 3a7ead
|
||||
|
||||
regular0 = 272117
|
||||
regular1 = d0818f
|
||||
regular2 = 52af92
|
||||
regular3 = bc944f
|
||||
regular4 = 60a3d4
|
||||
regular5 = b289c7
|
||||
regular6 = 3dadba
|
||||
regular7 = b6c3cd
|
||||
|
||||
bright0 = 919da7
|
||||
bright1 = 85c9fc
|
||||
bright2 = 7ad6b7
|
||||
bright3 = e3ba74
|
||||
bright4 = 60a3d4
|
||||
bright5 = d9aeee
|
||||
bright6 = 85c9fc
|
||||
bright7 = faf8f5
|
||||
|
||||
[key-bindings]
|
||||
color-theme-toggle = Control+Shift+t
|
||||
primary-paste = Shift+Insert Control+Shift+i
|
||||
|
||||
[search-bindings]
|
||||
primary-paste = Shift+Insert Control+Shift+i
|
||||
|
||||
@@ -15,28 +15,62 @@ nop %sh{
|
||||
[ -e "$kak_config/autoload/stdlib" ] || ln -s "$kak_runtime/autoload" "$kak_config/autoload/stdlib"
|
||||
}
|
||||
|
||||
map global -docstring 'Buffer' user ' ' ': buffer '
|
||||
|
||||
declare-user-mode file-mode
|
||||
declare-user-mode options-mode
|
||||
map global -docstring 'Search/open' user 's' ': enter-user-mode file-mode<ret>'
|
||||
|
||||
map global -docstring 'File' user 'f' ': enter-user-mode file-mode<ret>'
|
||||
map global -docstring 'Buffer' user ' ' ': b '
|
||||
|
||||
map global -docstring 'Open (git)' file-mode 'a' ': file-open-git<ret>'
|
||||
map global -docstring 'Git diff file' file-mode 'd' ': git diff %val{buffile}<ret>'
|
||||
map global -docstring 'Open (fd)' file-mode 'f' ': file-open<ret>'
|
||||
map global -docstring 'Open (fd)' file-mode 'a' ': file-open<ret>'
|
||||
map global -docstring 'Open (fd -H)' file-mode 'h' ': file-open-with-hidden<ret>'
|
||||
map global -docstring 'Open (recent)' file-mode 'r' ': file-open-recent<ret>'
|
||||
map global -docstring 'Git grep' file-mode 'g' ': git grep '
|
||||
map global -docstring 'Open (nnn)' file-mode 'n' ': nnn-open %val{buffile}<ret>'
|
||||
map global -docstring 'Open (nnn)' file-mode 'N' ': nnn-open .<ret>'
|
||||
map global -docstring 'Open (nnn)' file-mode 'd' ': nnn-open %val{buffile}<ret>'
|
||||
map global -docstring 'Open (nnn)' file-mode 'D' ': nnn-open .<ret>'
|
||||
map global -docstring 'Open/create in dir' file-mode 'c' ': open-create-in-dir<ret>'
|
||||
map global -docstring 'ctags file symbols' file-mode 's' ': ctags-file-symbols<ret>'
|
||||
map global -docstring 'ctags project symbols' file-mode 'w' ': ctags-project-symbols<ret>'
|
||||
map global -docstring 'Grep' file-mode 'g' ':grep '
|
||||
map global -docstring 'Grep next match' file-mode 'n' ': grep-next-match<ret>'
|
||||
map global -docstring 'Grep previous match' file-mode 'p' ': grep-prev-match<ret>'
|
||||
map global -docstring 'Grep current file' file-mode 'l' ':grep-file '
|
||||
map global -docstring 'Grep current file' file-mode 'L' ': grep-file %val{selection}<ret>'
|
||||
map global -docstring 'Delete buffer' file-mode 'x' ': delete-buffer '
|
||||
|
||||
declare-user-mode git-mode
|
||||
map global -docstring 'Git' user 'g' ': enter-user-mode git-mode<ret>'
|
||||
|
||||
map global -docstring 'Open file' git-mode 'a' ': file-open-git<ret>'
|
||||
map global -docstring 'Blame' git-mode 'b' ': git blame<ret>'
|
||||
map global -docstring 'Blame' git-mode 'B' ': git blame-jump<ret>'
|
||||
map global -docstring 'Diff file' git-mode 'd' ': git diff %val{buffile}<ret>'
|
||||
map global -docstring 'Diff' git-mode 'D' ': git diff<ret>'
|
||||
map global -docstring 'Grep' git-mode 'g' ':git grep '
|
||||
map global -docstring 'Grep' git-mode 'G' ': git grep %val{selection}<ret>'
|
||||
map global -docstring 'Log' git-mode 'l' ': git log -- %val{buffile}<ret>'
|
||||
map global -docstring 'Log' git-mode 'L' ': git log<ret>'
|
||||
map global -docstring 'Show branch' git-mode 'c' ': git show-branch<ret>'
|
||||
map global -docstring 'Status' git-mode 't' ': git status<ret>'
|
||||
map global -docstring 'Show diff' git-mode 's' ': git-show-diff<ret>'
|
||||
map global -docstring 'Show' git-mode 'S' ': git show<ret>'
|
||||
map global -docstring 'Hide diff' git-mode 'h' ': git-hide-diff<ret>'
|
||||
map global -docstring 'Next hunk' git-mode 'n' ': git next-hunk<ret>'
|
||||
map global -docstring 'Prev hunk' git-mode 'p' ': git prev-hunk<ret>'
|
||||
|
||||
declare-user-mode options-mode
|
||||
map global -docstring 'Options' user 'o' ': enter-user-mode options-mode<ret>'
|
||||
|
||||
map global -docstring 'LP Dark mode' options-mode 'd' ': colorscheme five-colors-dark<ret>'
|
||||
map global -docstring 'LP Light mode' options-mode 'l' ': colorscheme five-colors-light<ret>'
|
||||
map global -docstring 'Five Dark mode' options-mode 'd' ': colorscheme five-colors-dark<ret>'
|
||||
map global -docstring 'Five Light mode' options-mode 'l' ': colorscheme five-colors-light<ret>'
|
||||
map global -docstring 'Light mode' options-mode 'L' ': colorscheme one-light<ret>'
|
||||
map global -docstring 'Dark mode' options-mode 'D' ': colorscheme one-darker<ret>'
|
||||
|
||||
declare-user-mode make-mode
|
||||
map global -docstring 'Make' user 'k' ': enter-user-mode make-mode<ret>'
|
||||
|
||||
map global -docstring 'Make' make-mode 'a' ':make '
|
||||
map global -docstring 'Next' make-mode 'n' ': make-next-error<ret>'
|
||||
map global -docstring 'Previous' make-mode 'p' ': make-previous-error<ret>'
|
||||
map global -docstring 'General messages' make-mode 'g' ': set window make_error_pattern "^([^:\n]+):(\d+):(?:(\d+):)? ([^\n]+)?"<ret>'
|
||||
|
||||
evaluate-commands %sh{
|
||||
if [ -n "$WAYLAND_DISPLAY" ]; then
|
||||
echo "
|
||||
@@ -61,6 +95,10 @@ define-command -override file-open %{
|
||||
prompt -menu -shell-script-candidates %{ fd -t f } 'File: ' %{ edit -- %val{text} }
|
||||
}
|
||||
|
||||
define-command -override file-open-with-hidden %{
|
||||
prompt -menu -shell-script-candidates %{ fd -t f -H } 'File: ' %{ edit -- %val{text} }
|
||||
}
|
||||
|
||||
define-command -override file-open-git %{
|
||||
prompt -menu -shell-script-candidates %{ git ls-files } 'File (git): ' %{ edit -- %val{text} }
|
||||
}
|
||||
@@ -69,6 +107,10 @@ define-command -override file-open-recent %{
|
||||
prompt -menu -shell-script-candidates %{ cat ~/.cache/kak-mru } 'File (recent): ' %{ edit -- %val{text} }
|
||||
}
|
||||
|
||||
define-command -override grep-file -params 1- %{
|
||||
grep %arg{@} -- %val{buffile}
|
||||
}
|
||||
|
||||
define-command -override -params 1 nnn-open %{
|
||||
terminal nnn-kak-edit %arg{1} %val{session} %val{client}
|
||||
}
|
||||
@@ -77,16 +119,49 @@ define-command -override open-create-in-dir %{
|
||||
execute-keys ': edit ' %sh{dirname "$kak_buffile"}/
|
||||
}
|
||||
|
||||
define-command git-log-show-current-commit %{
|
||||
execute-keys ';<a-/>^commit\s[0-9a-f]+<ret>b'
|
||||
git show %val{selection}
|
||||
}
|
||||
|
||||
define-command -override git-show-diff %{
|
||||
hook buffer -group git-show-diff NormalIdle .* %{ git update-diff }
|
||||
git show-diff
|
||||
}
|
||||
|
||||
define-command -override git-hide-diff %{
|
||||
remove-hooks buffer git-show-diff
|
||||
git hide-diff
|
||||
}
|
||||
|
||||
define-command -override ctags-file-symbols %{
|
||||
prompt -menu -shell-script-candidates %{
|
||||
ctags -uo - -x "$kak_buffile" | awk -f "$kak_config/scripts/filesymbols.awk"
|
||||
} 'File symbols: ' %{
|
||||
evaluate-commands %sh{ awk -f "$kak_config/scripts/filesymbolscmd.awk" # "$kak_text" }
|
||||
}
|
||||
}
|
||||
|
||||
define-command -override ctags-project-symbols %{
|
||||
prompt -menu -shell-script-candidates %{
|
||||
git ls-files | xargs wc | awk '$1 > 0 && $3/$1 < 1024 { print $4 }' | xargs ctags -uo - -x | awk -f "$kak_config/scripts/projectsymbols.awk"
|
||||
} 'Project symbols: ' %{
|
||||
evaluate-commands %sh{ awk -f "$kak_config/scripts/projectsymbolscmd.awk" # "$kak_text" }
|
||||
}
|
||||
}
|
||||
|
||||
set-face global JumpLabel 'rgb:faf8f5,rgb:af8842+F'
|
||||
|
||||
# CHANGE STATUS BAR COLOR IN INSERT MODE
|
||||
|
||||
hook global ModeChange push:.*:insert %{
|
||||
set-face window StatusLine 'default,rgb:04785d'
|
||||
set-option window idle_timeout 500
|
||||
}
|
||||
|
||||
hook global ModeChange pop:insert:.* %{
|
||||
unset-face window StatusLine
|
||||
unset-option window idle_timeout
|
||||
}
|
||||
|
||||
# ODIN
|
||||
@@ -95,6 +170,12 @@ hook global BufSetOption filetype=odin %{
|
||||
set-option buffer formatcmd 'odinfmt -stdin'
|
||||
}
|
||||
|
||||
hook global BufSetOption filetype=go %{
|
||||
hook -group buf-write-pre-fmt buffer BufWritePre .* %{
|
||||
lsp-formatting-sync
|
||||
}
|
||||
}
|
||||
|
||||
# LSP
|
||||
|
||||
eval %sh{kak-lsp}
|
||||
@@ -133,7 +214,7 @@ bundle-theme kakoune-themes 'https://codeberg.org/anhsirk0/kakoune-themes'
|
||||
# FZF
|
||||
|
||||
bundle fzf.kak 'https://github.com/andreyorst/fzf.kak' %{
|
||||
map global -docstring 'FZF menu' user s ': fzf-mode<ret>'
|
||||
map global -docstring 'FZF menu' user 'f' ': fzf-mode<ret>'
|
||||
require-module fzf
|
||||
set-option global fzf_highlight_command "bat"
|
||||
}
|
||||
@@ -182,31 +263,37 @@ bundle 'peneira' 'https://github.com/gustavo-hms/peneira' %{
|
||||
}
|
||||
}
|
||||
define-command peneira-git-files %{
|
||||
peneira 'git files: ' %{ git ls-files } %{ e %arg{1} }
|
||||
peneira 'git files: ' %{ git ls-files } %{ edit -- %arg{1} }
|
||||
}
|
||||
define-command peneira-files-with-hidden %{
|
||||
peneira 'git files: ' %{ fd -t f -H } %{ edit -- %arg{1} }
|
||||
}
|
||||
define-command peneira-recent-files %{
|
||||
peneira 'mru files: ' %{ cat ~/.cache/kak-mru } %{ e %arg{1} }
|
||||
peneira 'mru files: ' %{ cat ~/.cache/kak-mru } %{ edit -- %arg{1} }
|
||||
}
|
||||
|
||||
map global -docstring 'Buffer' user ' ' ': buffers<ret>'
|
||||
|
||||
declare-user-mode peneira-mode
|
||||
map global -docstring 'Peneira' user 'd' ': enter-user-mode peneira-mode<ret>'
|
||||
map global -docstring 'Git files' peneira-mode 'a' ': peneira-git-files<ret>'
|
||||
map global -docstring 'Buffers' peneira-mode 'b' ': buffers<ret>'
|
||||
map global -docstring 'Files' peneira-mode 'f' ': peneira-files<ret>'
|
||||
map global -docstring 'Files' peneira-mode 'F' ': peneira-local-files<ret>'
|
||||
map global -docstring 'Lines' peneira-mode 'l' ': peneira-lines<ret>'
|
||||
map global -docstring 'Symbols' peneira-mode 's' ': peneira-symbols<ret>'
|
||||
map global -docstring 'Recent files' peneira-mode 'r' ': peneira-recent-files<ret>'
|
||||
map global -docstring 'Git files' file-mode 'a' ': peneira-git-files<ret>'
|
||||
map global -docstring 'Buffers' file-mode 'b' ': buffers<ret>'
|
||||
map global -docstring 'Files' file-mode 'f' ': peneira-files<ret>'
|
||||
map global -docstring 'Files' file-mode 'F' ': peneira-local-files<ret>'
|
||||
map global -docstring 'Files (with hidden)' file-mode 'h' ': peneira-files-with-hidden<ret>'
|
||||
map global -docstring 'Lines' file-mode 'l' ': peneira-lines<ret>'
|
||||
map global -docstring 'Symbols' file-mode 's' ': peneira-symbols<ret>'
|
||||
map global -docstring 'Recent files' file-mode 'r' ': peneira-recent-files<ret>'
|
||||
}
|
||||
|
||||
# LOCAL
|
||||
|
||||
colorscheme %sh{
|
||||
if [ -e ~/.lightmode ]; then
|
||||
echo five-colors-light
|
||||
else
|
||||
echo five-colors-dark
|
||||
fi
|
||||
define-command set-dark-or-light-colorscheme %{
|
||||
colorscheme %sh{
|
||||
if [ -e ~/.lightmode ]; then
|
||||
echo five-colors-light
|
||||
else
|
||||
echo five-colors-dark
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
set-dark-or-light-colorscheme
|
||||
|
||||
9
kakoune/.config/kak/scripts/filesymbols.awk
Normal file
9
kakoune/.config/kak/scripts/filesymbols.awk
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
for (i = 3; i < NF; ++i) {
|
||||
if ($i ~ /^[0-9]+$/) {
|
||||
j = match($0, "[ ]+" $(i-1) "[ ]+" $i " ")
|
||||
print substr($0, 0, j - 1) "\u00a0" $(i-1) "\u00a0" $i
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
10
kakoune/.config/kak/scripts/filesymbolscmd.awk
Normal file
10
kakoune/.config/kak/scripts/filesymbolscmd.awk
Normal file
@@ -0,0 +1,10 @@
|
||||
BEGIN {
|
||||
n = split(ENVIRON["kak_text"], a, "\u00a0")
|
||||
line = a[3]
|
||||
if (n == 3 && line ~ /^[0-9]+/) {
|
||||
pat = a[1]
|
||||
gsub(/'/, "''", pat)
|
||||
gsub(/\\/, "\\\\", pat)
|
||||
print "execute-keys " line " g vv x s '/\\b\\Q" pat "\\E\\b|\\Q" pat "<ret>' <a-)>,"
|
||||
}
|
||||
}
|
||||
9
kakoune/.config/kak/scripts/projectsymbols.awk
Normal file
9
kakoune/.config/kak/scripts/projectsymbols.awk
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
for (i = 3; i < NF; ++i) {
|
||||
if ($i ~ /^[0-9]+$/) {
|
||||
j = match($0, "[ ]+" $(i-1) "[ ]+" $i " ")
|
||||
print substr($0, 0, j - 1) "\u00a0" $(i-1) "\u00a0" $i "\u00a0" $(i+1)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
11
kakoune/.config/kak/scripts/projectsymbolscmd.awk
Normal file
11
kakoune/.config/kak/scripts/projectsymbolscmd.awk
Normal file
@@ -0,0 +1,11 @@
|
||||
BEGIN {
|
||||
n = split(ENVIRON["kak_text"], a, "\u00a0")
|
||||
line = a[3]
|
||||
if (n == 4 && line ~ /^[0-9]+/) {
|
||||
pat = a[1]
|
||||
gsub(/'/, "''", pat)
|
||||
gsub(/\\/, "\\\\", pat)
|
||||
print "edit --", a[4], line
|
||||
print "execute-keys vv x s %{/\\b\\Q" pat "\\E\\b|\\Q" pat "<ret>} <a-)>,"
|
||||
}
|
||||
}
|
||||
@@ -1024,6 +1024,17 @@
|
||||
},
|
||||
},
|
||||
},
|
||||
.{
|
||||
.keysym = "l",
|
||||
.modifiers = .{ .mod4 = true, .shift = true },
|
||||
.event = .{
|
||||
.click = .{
|
||||
.pressed = .{
|
||||
.spawn = .{ .argv = .{ "waylock" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
// list of pointer bindings
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
os:
|
||||
edit: 'nvim {{filename}}'
|
||||
editAtLine: 'nvim +{{line}} {{filename}}'
|
||||
editAtLineAndWait: 'nvim +{{line}} {{filename}}'
|
||||
edit: 'kak {{filename}}'
|
||||
editAtLine: 'kak +{{line}} {{filename}}'
|
||||
editAtLineAndWait: 'kak +{{line}} {{filename}}'
|
||||
editInTerminal: true
|
||||
openDirInEditor: 'nvim {{dir}}'
|
||||
openDirInEditor: 'kak -e "nnn-open {{dir}}"'
|
||||
|
||||
gui:
|
||||
nerdFontsVersion: "3"
|
||||
|
||||
@@ -32,7 +32,6 @@ output "DP-1" {
|
||||
|
||||
layout {
|
||||
gaps 16
|
||||
background-color "#414853"
|
||||
|
||||
center-focused-column "never"
|
||||
|
||||
@@ -322,3 +321,5 @@ binds {
|
||||
|
||||
Mod+Shift+P { power-off-monitors; }
|
||||
}
|
||||
|
||||
include "dark.kdl"
|
||||
|
||||
9
niri/.config/niri/dark.kdl
Normal file
9
niri/.config/niri/dark.kdl
Normal file
@@ -0,0 +1,9 @@
|
||||
layout {
|
||||
background-color "#414853"
|
||||
|
||||
focus-ring {
|
||||
width 4
|
||||
active-color "#5396c7"
|
||||
inactive-color "#505050"
|
||||
}
|
||||
}
|
||||
9
niri/.config/niri/light.kdl
Normal file
9
niri/.config/niri/light.kdl
Normal file
@@ -0,0 +1,9 @@
|
||||
layout {
|
||||
background-color "#c0c1c2"
|
||||
|
||||
focus-ring {
|
||||
width 4
|
||||
active-color "#85c9fc"
|
||||
inactive-color "#505050"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
alias v=nvim
|
||||
alias k=kak
|
||||
alias kd='kak -s "$(basename $PWD)"'
|
||||
alias ll='ls -l'
|
||||
alias tl='tmux list-sessions'
|
||||
alias rgh='rg -.'
|
||||
@@ -22,7 +23,7 @@ elif which exa > /dev/null; then
|
||||
alias tree='exa --tree --icons'
|
||||
else
|
||||
eval $(dircolors)
|
||||
alias ls='ls --color'
|
||||
alias ls='ls --color=auto'
|
||||
fi
|
||||
|
||||
alias nocaps='setxkbmap pl -option ctrl:nocaps'
|
||||
@@ -37,6 +38,12 @@ a4i() {
|
||||
fi
|
||||
}
|
||||
|
||||
kc() {
|
||||
local Q="${@:-}"
|
||||
local NAME=$(kak -l | fzy -q "$Q")
|
||||
[ -n "$NAME" ] && kak -c "$NAME"
|
||||
}
|
||||
|
||||
tn() {
|
||||
if [ $# -eq 0 ]; then
|
||||
tmux new
|
||||
|
||||
@@ -12,11 +12,9 @@ fi
|
||||
|
||||
if [ "$THEME" = dark ]; then
|
||||
GTK_THEME=Arc-Dark
|
||||
BG_COLOR='#414853'
|
||||
rm -f ~/.lightmode
|
||||
elif [ "$THEME" = light ]; then
|
||||
GTK_THEME=Arc-Light
|
||||
BG_COLOR='#c0c1c2'
|
||||
touch ~/.lightmode
|
||||
else
|
||||
echo "error: unknown theme: should be either dark, light or toggle" >&2
|
||||
@@ -46,12 +44,19 @@ if [ -f "$ATOML" ]; then
|
||||
sed -i "s#^import =.*#import = [\"~/.config/alacritty/$THEME.toml\"]#" "$ATOML"
|
||||
fi
|
||||
|
||||
# Kitty
|
||||
if [ "$THEME" = dark ]; then
|
||||
kitten themes --reload-in=all 'five-colors-dark'
|
||||
elif [ "$THEME" = light ]; then
|
||||
kitten themes --reload-in=all 'five-colors-light'
|
||||
fi
|
||||
|
||||
# Foot
|
||||
FOOT=$(readlink -e ~/.config/foot/foot.ini)
|
||||
if [ -n "$FOOT" ]; then
|
||||
sed -i "s/^initial-color-theme .*/initial-color-theme = $THEME/" "$FOOT"
|
||||
fi
|
||||
|
||||
# GTK
|
||||
XSET=$(readlink -e ~/.config/xsettingsd/xsettingsd.conf)
|
||||
if [ -n "$XSET" ]; then
|
||||
@@ -63,7 +68,7 @@ fi
|
||||
# niri
|
||||
NIRI=$(readlink -e ~/.config/niri/config.kdl)
|
||||
if [ -n "$NIRI" ]; then
|
||||
sed -i -E "s%^( *background-color) .*%\\1 \"${BG_COLOR}\"%" "$NIRI"
|
||||
sed -i -E "s%^(include) \"(dark|light).kdl\".*%\\1 \"${THEME}.kdl\"%" "$NIRI"
|
||||
fi
|
||||
|
||||
# waybar
|
||||
@@ -71,3 +76,7 @@ WCSS=$(readlink -e ~/.config/waybar/style.css)
|
||||
if [ -f "$WCSS" ]; then
|
||||
sed -i -E "s#file:///.*/(light|dark)[.]css#file://$HOME/.config/waybar/$THEME.css#" "$WCSS"
|
||||
fi
|
||||
|
||||
for session in $(kak -l); do
|
||||
echo set-dark-or-light-colorscheme | kak -p $session
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user