Compare commits
2 Commits
wip
...
eb3b00e268
| Author | SHA1 | Date | |
|---|---|---|---|
| eb3b00e268 | |||
| 37fc63d8be |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,7 +4,6 @@ shell/.config/zsh/plugins/zsh-syntax-highlighting
|
|||||||
shell/.config/zsh/plugins/zsh-vi-mode
|
shell/.config/zsh/plugins/zsh-vi-mode
|
||||||
qtile/.config/qtile/theme.txt
|
qtile/.config/qtile/theme.txt
|
||||||
lupan-clock/lupan-clock
|
lupan-clock/lupan-clock
|
||||||
lupan-clock/stdout-clock
|
|
||||||
lupan-wm/target
|
lupan-wm/target
|
||||||
*~
|
*~
|
||||||
__pycache__
|
__pycache__
|
||||||
|
|||||||
2
Makefile
2
Makefile
@@ -31,7 +31,7 @@ st:
|
|||||||
cd st && \
|
cd st && \
|
||||||
git remote add lupan.pl https://gitea.lupan.pl/lupan/st.git && \
|
git remote add lupan.pl https://gitea.lupan.pl/lupan/st.git && \
|
||||||
git fetch lupan.pl && \
|
git fetch lupan.pl && \
|
||||||
git checkout -b patched-5 --track lupan.pl/patched-5
|
git checkout -b patched-4 --track lupan.pl/patched-4
|
||||||
|
|
||||||
build-st:
|
build-st:
|
||||||
make -C st
|
make -C st
|
||||||
|
|||||||
@@ -1,266 +0,0 @@
|
|||||||
# Session settings
|
|
||||||
# Name used for the default session
|
|
||||||
session = default
|
|
||||||
# Key press used to detatch from a session. Typically a Control key specified
|
|
||||||
# with prefix C-, for example C-\ for Control-backslash. Single keys are also
|
|
||||||
# allowed but not Meta (M-) keys.
|
|
||||||
detach_key = C-\
|
|
||||||
|
|
||||||
# Application Theming
|
|
||||||
# Colors are specified as -1 for default, 0-7 for standard, 8-15 for bright,
|
|
||||||
# 16-231 for extended, 232-255 for gray scale, 0xRRGGBB for 24-bit RGB colors,
|
|
||||||
# or you can use any of the X11 or Web Color Names. One or more comma separated
|
|
||||||
# font attributes may optionally be specified: bold, italic, reverse, strike,
|
|
||||||
# and blink. The attributes may also optionally include one of three underline
|
|
||||||
# types single, double, or curly.
|
|
||||||
include = theme_blue.ini
|
|
||||||
#statusbar_attr = white 0x5F636A
|
|
||||||
#tag_unoccupied = white 0x5F636A
|
|
||||||
#titlebar_unselected = white 0x004C6C
|
|
||||||
titlebar_unselected = 0x808080 0x000000
|
|
||||||
#tag_occupied = white 0x004C6C
|
|
||||||
#tag_urgent = white 0x004C6C bold,blink
|
|
||||||
#titlebar_selected = white 0x00AEEF
|
|
||||||
titlebar_selected = white 0x004C6C
|
|
||||||
#tag_selected = white 0x00AEEF bold
|
|
||||||
# Read only settings are overlayed onto the three titlebar settings above. Set
|
|
||||||
# either fg or bg to -1 to retain that titlebar setting. Any specified
|
|
||||||
# attributes are combined with those from above. These must be in this order
|
|
||||||
# and must be after all other titlebar definitions!
|
|
||||||
#titlebar_urgent = 0xE7DDB4 -1 blink
|
|
||||||
#titlebar_readonly = 0xA56815 -1 bold,italic
|
|
||||||
|
|
||||||
# Define up to 9 alphanumeric tag names, how they will be displayed on the
|
|
||||||
# status bar, and the types of colors and font attributes.
|
|
||||||
tagnames = 1 2 3 4 5 6 7 8 9
|
|
||||||
#tagnames = play dev test stage prod
|
|
||||||
tag_printf = " %s "
|
|
||||||
# Number of lines saved for each terminal's scroll back history
|
|
||||||
scroll_history = 5000
|
|
||||||
# The size of the layout zoom area is a number from .1 to .9, and the number of
|
|
||||||
# terminals in the zoom area is a number 1 or more.
|
|
||||||
zoomsize = .5
|
|
||||||
zoomnum = 1
|
|
||||||
|
|
||||||
# Specify one or more status bar commands to cycle through at the given number
|
|
||||||
# of interval seconds. Set interval to 0 to have the command run once and not
|
|
||||||
# refresh. Set interval to -1 to not have any status bar text.
|
|
||||||
statusbar_cmd = date; echo " | a4/$A4_SESSION" $A4
|
|
||||||
statusbar_cmd = uptime; echo " | a4/$A4_SESSION" $A4
|
|
||||||
#statusbar_cmd = cat ~/.cache/status/statusbar.txt; echo ' | a4' $A4
|
|
||||||
statusbar_interval = 10
|
|
||||||
statusbar_display = true
|
|
||||||
statusbar_top = true
|
|
||||||
#statusbar_begin = [
|
|
||||||
#statusbar_end = ]
|
|
||||||
|
|
||||||
# The terminal cursor can be set to visible or hidden, blinking or solid, and
|
|
||||||
# the shape can be 1-block, 2-underline, or 3-bar.
|
|
||||||
cursorvis = true
|
|
||||||
cursorblink = true
|
|
||||||
cursorshape = 1
|
|
||||||
|
|
||||||
# Any number of actions assigned to the optional special keyword "startup" are
|
|
||||||
# run when a4 is started, in the order specified.
|
|
||||||
#include = startup.ini
|
|
||||||
startup = create
|
|
||||||
#startup = view 2
|
|
||||||
#startup = create
|
|
||||||
#startup = keysequence ssh example.com\n
|
|
||||||
|
|
||||||
[Layouts]
|
|
||||||
# Layout symbol string in the status bar. First layout is the default. Order
|
|
||||||
# determines layout toggle cycle.
|
|
||||||
zoom_left = " │├┤ "
|
|
||||||
zoom_right = " ├┤│ "
|
|
||||||
fullscreen = " │ │ "
|
|
||||||
grid = " ├┼┤ "
|
|
||||||
columns = " │││ "
|
|
||||||
rows = " ─── "
|
|
||||||
zoom_top = " ├┬┤ "
|
|
||||||
zoom_bottom = " ├┴┤ "
|
|
||||||
|
|
||||||
[KeyboardActions]
|
|
||||||
# Keyboard actions have a key combination of no more than three keys assigned
|
|
||||||
# to them. A key can be raw or can include modifiers Meta or Alt, M-, Control,
|
|
||||||
# C-, Shift, S-, or with combinations of those. Any modifier keys must be put
|
|
||||||
# in the order of M-C-S-. Two special keys that must be fully spelled out are
|
|
||||||
# "Space" and "Hyphen".
|
|
||||||
C-g c = create
|
|
||||||
C-g x x = destroy
|
|
||||||
C-g Enter = zoom
|
|
||||||
C-g . = minimize
|
|
||||||
C-g q q = quit
|
|
||||||
C-g C-l = redraw
|
|
||||||
C-g s = statusbar vis
|
|
||||||
C-g S = statusbar pos
|
|
||||||
|
|
||||||
# The four actions view, tag, viewtoggle, and tagtoggle each take tag name as a
|
|
||||||
# parameter. You can use the special '#' character as a shortcut to assign
|
|
||||||
# mappings for up to 9 digits to the list of tag names. For the key
|
|
||||||
# combination, the last occurrence of '#' is replaced with the digit 'n' and
|
|
||||||
# then the 'nth' tag name is passed as the action parameter. For example,
|
|
||||||
# "C-g # F# = view #" expands to "C-g F1 = view 1", "C-g F2 = view 2", ....
|
|
||||||
C-g v # = view #
|
|
||||||
C-g F# = view #
|
|
||||||
C-g t # = tag #
|
|
||||||
C-g V # = viewtoggle #
|
|
||||||
C-g T # = tagtoggle #
|
|
||||||
|
|
||||||
C-g v 0 = view _all
|
|
||||||
C-g v Tab = view _swap
|
|
||||||
C-g t 0 = tag _all
|
|
||||||
|
|
||||||
# The focus action takes several possible parameters, including window number.
|
|
||||||
# You can use the special '#' character as a shortcut to assign mappings for
|
|
||||||
# all digits 1-9. in the key combination and the action parameter to assign
|
|
||||||
# that combo/action pairing to digits 1-9. For the key combination, the last
|
|
||||||
# occurrence of '#' is replaced with the digit 'n' and the same digit 'n' is
|
|
||||||
# passed as the action parameter. For example, "C-g # = focus #" is expanded
|
|
||||||
# out to "C-g 1 = focus 1", "C-g 2 = focus 2", ....
|
|
||||||
C-g # = focus #
|
|
||||||
|
|
||||||
C-g j = focus next
|
|
||||||
C-g C-j = focus NEXT
|
|
||||||
C-g k = focus prev
|
|
||||||
C-g C-k = focus PREV
|
|
||||||
C-g Tab = focus swap
|
|
||||||
C-g H = focus left
|
|
||||||
C-g J = focus down
|
|
||||||
C-g K = focus up
|
|
||||||
C-g L = focus right
|
|
||||||
C-g ) = focus group
|
|
||||||
C-g 0 = focus groupall
|
|
||||||
C-g * = readonly
|
|
||||||
|
|
||||||
C-a # = view #
|
|
||||||
|
|
||||||
C-a f = layout fullscreen
|
|
||||||
C-a g = layout grid
|
|
||||||
C-a h = layout zoom_left
|
|
||||||
C-a j = layout zoom_bottom
|
|
||||||
C-a k = layout zoom_top
|
|
||||||
C-a l = layout zoom_right
|
|
||||||
C-a c = layout columns
|
|
||||||
C-a r = layout rows
|
|
||||||
# Cycle through all layouts in order listed in the [Layouts] section
|
|
||||||
C-a Space = layout +1
|
|
||||||
C-a C-Space = layout -1
|
|
||||||
C-a Tab = layout swap
|
|
||||||
|
|
||||||
C-a i = zoomnum +1
|
|
||||||
C-a d = zoomnum -1
|
|
||||||
C-a I = zoomsize +.05
|
|
||||||
C-a D = zoomsize -.05
|
|
||||||
|
|
||||||
S-PageUp = scrollback .5
|
|
||||||
S-PageDown = scrollback -.5
|
|
||||||
C-g PageUp = scrollback 1.0
|
|
||||||
C-g PageDown = scrollback -1.0
|
|
||||||
|
|
||||||
# Specify ANSI escape or other key sequence overrides
|
|
||||||
#include = vt220.ini
|
|
||||||
#Home = keysequence \e[1~
|
|
||||||
#End = keysequence \e[4~
|
|
||||||
#C-g Space = keysequence Hello world!
|
|
||||||
|
|
||||||
[MouseTermwinActions]
|
|
||||||
click-1 = focus
|
|
||||||
C-click-1 = zoom
|
|
||||||
click-3 = focus group
|
|
||||||
C-click-3 = focus 0
|
|
||||||
wheel-up = scrollback 3
|
|
||||||
wheel-dn = scrollback -3
|
|
||||||
S-wheel-up = scrollback 0.5
|
|
||||||
S-wheel-dn = scrollback -0.5
|
|
||||||
C-wheel-up = scrollback 1.0
|
|
||||||
C-wheel-dn = scrollback -1.0
|
|
||||||
|
|
||||||
[MouseTitlebarActions]
|
|
||||||
click-1 = minimize
|
|
||||||
click-3 = readonly
|
|
||||||
|
|
||||||
[MouseTagNamesActions]
|
|
||||||
click-1 = view
|
|
||||||
C-click-1 = viewtoggle
|
|
||||||
click-3 = tag
|
|
||||||
C-click-3 = tagtoggle
|
|
||||||
|
|
||||||
[MouseLayoutSymbolActions]
|
|
||||||
click-1 = layout +1
|
|
||||||
click-3 = layout -1
|
|
||||||
C-click-1 = zoomnum +1
|
|
||||||
C-click-3 = zoomnum -1
|
|
||||||
M-C-click-1 = zoomsize +.05
|
|
||||||
M-C-click-3 = zoomsize -.05
|
|
||||||
|
|
||||||
[MouseStatusTextActions]
|
|
||||||
click-1 = statusbar next
|
|
||||||
|
|
||||||
[MouseFrameLinesActions]
|
|
||||||
click-1 = layout fullscreen
|
|
||||||
|
|
||||||
# Terminals typically have a default foreground (fg) color, background (bg)
|
|
||||||
# color, and 16 standard colors that are used by terminal applications. They
|
|
||||||
# can also define color numbers up to 255, but the are used less often. In a4,
|
|
||||||
# you can define ColorSchemes that are then applied to terminal windows
|
|
||||||
# dynamically by comparing the terminal's title text to defined ColorRules (see
|
|
||||||
# below). The first defined ColorScheme is used by default for all windows.
|
|
||||||
# (The cursor color is not yet implemented.)
|
|
||||||
#include = cs_gruvbox.ini
|
|
||||||
#include = cs_solarized.ini
|
|
||||||
#include = cs_redsands.ini
|
|
||||||
#include = cs_fairyfloss.ini
|
|
||||||
#include = cs_kokuban.ini
|
|
||||||
#include = cs_frontend_fun_forrest.ini
|
|
||||||
#include = cs_seafoam_pastel.ini
|
|
||||||
[ColorScheme Basic]
|
|
||||||
fg = 7
|
|
||||||
bg = 0
|
|
||||||
#color123 = DarkOrange1
|
|
||||||
|
|
||||||
[ColorScheme BasicRed]
|
|
||||||
fg = 0
|
|
||||||
bg = 1
|
|
||||||
|
|
||||||
[ColorScheme Red160]
|
|
||||||
fg = 232
|
|
||||||
bg = 160
|
|
||||||
|
|
||||||
[ColorScheme Crimson]
|
|
||||||
fg = MidnightBlue
|
|
||||||
bg = Crimson
|
|
||||||
|
|
||||||
[colorscheme RedSands]
|
|
||||||
color00 = 0x000000
|
|
||||||
color01 = 0xff3f00
|
|
||||||
color02 = 0x00bb00
|
|
||||||
color03 = 0xe7b000
|
|
||||||
color04 = 0x0072ff
|
|
||||||
color05 = 0xbb00bb
|
|
||||||
color06 = 0x00bbbb
|
|
||||||
color07 = 0xbbbbbb
|
|
||||||
color08 = 0x555555
|
|
||||||
color09 = 0xbb0000
|
|
||||||
color10 = 0x00bb00
|
|
||||||
color11 = 0xe7b000
|
|
||||||
color12 = 0x0072ae
|
|
||||||
color13 = 0xff55ff
|
|
||||||
color14 = 0x55ffff
|
|
||||||
color15 = 0xffffff
|
|
||||||
fg = 0xd7c9a7
|
|
||||||
bg = 0x7a251e
|
|
||||||
cursor = 0xd7c9a7
|
|
||||||
|
|
||||||
# Color rules pair text with a colorscheme. A terminal window's title bar text
|
|
||||||
# is compared with each ColorRule text, in the order specified, until one
|
|
||||||
# matches, and then that colorscheme is applied to the terminal. If none of the
|
|
||||||
# rules match, then the first colorscheme defined in a4.ini is used.
|
|
||||||
# <pattern> = <colorscheme name> [<fg color|-1> [<bg color>]]
|
|
||||||
#[ColorRules]
|
|
||||||
#root@appdev.com = FairyFloss red
|
|
||||||
#@appdev.com = FairyFloss
|
|
||||||
#root@appprd = redsands red
|
|
||||||
#appprd = redsands
|
|
||||||
#root@appprddr = redsands red 0x521914
|
|
||||||
#appprddr = redsands -1 0x521914
|
|
||||||
@@ -8,10 +8,10 @@ TERM = "xterm-256color"
|
|||||||
size = 10
|
size = 10
|
||||||
|
|
||||||
[font.bold]
|
[font.bold]
|
||||||
family = "HurmitNerdFont"
|
family = "Fira Code Nerd Font"
|
||||||
|
|
||||||
[font.normal]
|
[font.normal]
|
||||||
family = "HurmitNerdFont"
|
family = "Fira Code Nerd Font"
|
||||||
|
|
||||||
[general]
|
[general]
|
||||||
import = ["~/.config/alacritty/dark.toml"]
|
import = ["~/.config/alacritty/dark.toml"]
|
||||||
|
|||||||
@@ -1,158 +0,0 @@
|
|||||||
#!/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"
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
#!/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"
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
argenctl output focus next
|
|
||||||
|
|
||||||
argenctl sh "$TERMINAL -D ~/dotfiles kak -s dotfiles"
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
argenctl exec librewolf
|
|
||||||
|
|
||||||
sleep 1
|
|
||||||
argenctl output focus next
|
|
||||||
|
|
||||||
argenctl exec qutebrowser
|
|
||||||
@@ -54,12 +54,14 @@ end
|
|||||||
|
|
||||||
local function read_theme()
|
local function read_theme()
|
||||||
local theme = "theme_dark.lua"
|
local theme = "theme_dark.lua"
|
||||||
local f = io.open(os.getenv('HOME') .. '/.lightmode')
|
local f = io.open(os.getenv('HOME') .. '/.config/alacritty/alacritty.toml')
|
||||||
if f then
|
if f then
|
||||||
|
if string.find(f:read('*all'), 'light') then
|
||||||
theme = 'theme_light.lua'
|
theme = 'theme_light.lua'
|
||||||
f:close()
|
|
||||||
end
|
end
|
||||||
|
f:close()
|
||||||
return theme
|
return theme
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local theme = read_theme()
|
local theme = read_theme()
|
||||||
@@ -86,7 +88,7 @@ local function switch_theme()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- This is used later as the default terminal and editor to run.
|
-- This is used later as the default terminal and editor to run.
|
||||||
local terminal = "kitty --single-instance --instance-group default"
|
local terminal = "st"
|
||||||
|
|
||||||
-- Default modkey.
|
-- Default modkey.
|
||||||
local modkey = "Mod4"
|
local modkey = "Mod4"
|
||||||
@@ -234,15 +236,13 @@ local function layout_menu()
|
|||||||
awful.menu(layouts):show()
|
awful.menu(layouts):show()
|
||||||
end
|
end
|
||||||
|
|
||||||
local function focus_nth_window(n)
|
local function focus_nth_window (n)
|
||||||
local cc = {}
|
local cc = {}
|
||||||
for _, c in ipairs(client.get()) do
|
for _, c in ipairs(client.get()) do
|
||||||
if awful.widget.tasklist.filter.currenttags(c, mouse.screen) then cc[#cc + 1] = c end
|
if awful.widget.tasklist.filter.currenttags(c, mouse.screen) then cc[#cc + 1] = c end
|
||||||
end
|
end
|
||||||
local new_focused = cc[n]
|
local new_focused = cc[n]
|
||||||
if new_focused then
|
if new_focused then client.focus = new_focused; new_focused:raise() end
|
||||||
client.focus = new_focused; new_focused:raise()
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- {{{ Key bindings
|
-- {{{ Key bindings
|
||||||
@@ -296,7 +296,7 @@ local globalkeys = gears.table.join(
|
|||||||
{ description = "open a terminal", group = "launcher" }),
|
{ description = "open a terminal", group = "launcher" }),
|
||||||
awful.key({ modkey, "Control", "Shift" }, "s", function() awful.spawn("systemctl suspend") end,
|
awful.key({ modkey, "Control", "Shift" }, "s", function() awful.spawn("systemctl suspend") end,
|
||||||
{ description = "open a terminal", group = "launcher" }),
|
{ description = "open a terminal", group = "launcher" }),
|
||||||
awful.key({ modkey, "Control", "Shift" }, "t", switch_theme,
|
awful.key({ modkey, "Shift" }, "F6", switch_theme,
|
||||||
{ description = "switch theme", group = "launcher" }),
|
{ description = "switch theme", group = "launcher" }),
|
||||||
awful.key({ modkey, }, "q", awesome.restart,
|
awful.key({ modkey, }, "q", awesome.restart,
|
||||||
{ description = "reload awesome", group = "awesome" }),
|
{ description = "reload awesome", group = "awesome" }),
|
||||||
@@ -347,7 +347,7 @@ local globalkeys = gears.table.join(
|
|||||||
end,
|
end,
|
||||||
{ description = "lua execute prompt", group = "awesome" }),
|
{ description = "lua execute prompt", group = "awesome" }),
|
||||||
-- Menubar
|
-- Menubar
|
||||||
awful.key({ modkey }, "p", function() awful.spawn("dmenu_run -fn 'HurmitNerdFont:size=16'") end,
|
awful.key({ modkey }, "p", function() awful.spawn("dmenu_run -fn 'FiraCode Nerd Font Ret:size=10'") end,
|
||||||
{ description = "run command", group = "launcher" })
|
{ description = "run command", group = "launcher" })
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -571,15 +571,15 @@ client.connect_signal("mouse::enter", function(c)
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
-- local function set_border(c)
|
-- local function set_border(c)
|
||||||
-- local s = awful.screen.focused()
|
-- local s = awful.screen.focused()
|
||||||
-- if c.maximized
|
-- if c.maximized
|
||||||
-- or (#s.tiled_clients == 1 and not c.floating)
|
-- or (#s.tiled_clients == 1 and not c.floating)
|
||||||
-- or (s.selected_tag and s.selected_tag.layout.name == 'max')
|
-- or (s.selected_tag and s.selected_tag.layout.name == 'max')
|
||||||
-- then
|
-- then
|
||||||
-- c.border_width = 0
|
-- c.border_width = 0
|
||||||
-- else
|
-- else
|
||||||
-- c.border_width = beautiful.border_width
|
-- c.border_width = beautiful.border_width
|
||||||
-- end
|
-- end
|
||||||
-- end
|
-- end
|
||||||
|
|
||||||
client.connect_signal("focus", function(c)
|
client.connect_signal("focus", function(c)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ local dpi = xresources.apply_dpi
|
|||||||
|
|
||||||
local theme = {}
|
local theme = {}
|
||||||
|
|
||||||
theme.font = "HurmitNerdFont 10"
|
theme.font = "Fira Code Nerd Font 10"
|
||||||
theme.tasklist_disable_icon = true
|
theme.tasklist_disable_icon = true
|
||||||
theme.wibar_height = 30
|
theme.wibar_height = 30
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ local dpi = xresources.apply_dpi
|
|||||||
|
|
||||||
local theme = {}
|
local theme = {}
|
||||||
|
|
||||||
theme.font = "HurmitNerdFont 10"
|
theme.font = "Fira Code Nerd Font 10"
|
||||||
theme.tasklist_disable_icon = true
|
theme.tasklist_disable_icon = true
|
||||||
theme.wibar_height = 30
|
theme.wibar_height = 30
|
||||||
|
|
||||||
|
|||||||
@@ -1,60 +1,4 @@
|
|||||||
[main]
|
[main]
|
||||||
font = HurmitNerdFont:size=10
|
font = Fira Code Nerd Font:size=11
|
||||||
initial-color-theme = dark
|
|
||||||
|
|
||||||
[colors-dark]
|
include = /usr/share/foot/themes/nord
|
||||||
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
|
|
||||||
|
|||||||
@@ -1,164 +0,0 @@
|
|||||||
# name: kakoune_jump_mode
|
|
||||||
# version: 0.1.0
|
|
||||||
# description: Click with your keyboard.
|
|
||||||
# authors: ["Mathieu Ablasou <alexherbo2@gmail.com>"]
|
|
||||||
# kakoune: 2023-12-12
|
|
||||||
# license: MIT
|
|
||||||
# dependencies: []
|
|
||||||
# doc: yes
|
|
||||||
# tests: no
|
|
||||||
declare-option range-specs jump_ranges
|
|
||||||
declare-option str-to-str-map jump_label_selection_map
|
|
||||||
declare-option str-list jump_selections
|
|
||||||
declare-option str-list jump_labels \
|
|
||||||
'aa' 'ab' 'ac' 'ad' 'ae' 'af' 'ag' 'ah' 'ai' 'aj' 'ak' 'al' 'am' 'an' 'ao' 'ap' 'aq' 'ar' 'as' 'at' 'au' 'av' 'aw' 'ax' 'ay' 'az' \
|
|
||||||
'ba' 'bb' 'bc' 'bd' 'be' 'bf' 'bg' 'bh' 'bi' 'bj' 'bk' 'bl' 'bm' 'bn' 'bo' 'bp' 'bq' 'br' 'bs' 'bt' 'bu' 'bv' 'bw' 'bx' 'by' 'bz' \
|
|
||||||
'ca' 'cb' 'cc' 'cd' 'ce' 'cf' 'cg' 'ch' 'ci' 'cj' 'ck' 'cl' 'cm' 'cn' 'co' 'cp' 'cq' 'cr' 'cs' 'ct' 'cu' 'cv' 'cw' 'cx' 'cy' 'cz' \
|
|
||||||
'da' 'db' 'dc' 'dd' 'de' 'df' 'dg' 'dh' 'di' 'dj' 'dk' 'dl' 'dm' 'dn' 'do' 'dp' 'dq' 'dr' 'ds' 'dt' 'du' 'dv' 'dw' 'dx' 'dy' 'dz' \
|
|
||||||
'ea' 'eb' 'ec' 'ed' 'ee' 'ef' 'eg' 'eh' 'ei' 'ej' 'ek' 'el' 'em' 'en' 'eo' 'ep' 'eq' 'er' 'es' 'et' 'eu' 'ev' 'ew' 'ex' 'ey' 'ez' \
|
|
||||||
'fa' 'fb' 'fc' 'fd' 'fe' 'ff' 'fg' 'fh' 'fi' 'fj' 'fk' 'fl' 'fm' 'fn' 'fo' 'fp' 'fq' 'fr' 'fs' 'ft' 'fu' 'fv' 'fw' 'fx' 'fy' 'fz' \
|
|
||||||
'ga' 'gb' 'gc' 'gd' 'ge' 'gf' 'gg' 'gh' 'gi' 'gj' 'gk' 'gl' 'gm' 'gn' 'go' 'gp' 'gq' 'gr' 'gs' 'gt' 'gu' 'gv' 'gw' 'gx' 'gy' 'gz' \
|
|
||||||
'ha' 'hb' 'hc' 'hd' 'he' 'hf' 'hg' 'hh' 'hi' 'hj' 'hk' 'hl' 'hm' 'hn' 'ho' 'hp' 'hq' 'hr' 'hs' 'ht' 'hu' 'hv' 'hw' 'hx' 'hy' 'hz' \
|
|
||||||
'ia' 'ib' 'ic' 'id' 'ie' 'if' 'ig' 'ih' 'ii' 'ij' 'ik' 'il' 'im' 'in' 'io' 'ip' 'iq' 'ir' 'is' 'it' 'iu' 'iv' 'iw' 'ix' 'iy' 'iz' \
|
|
||||||
'ja' 'jb' 'jc' 'jd' 'je' 'jf' 'jg' 'jh' 'ji' 'jj' 'jk' 'jl' 'jm' 'jn' 'jo' 'jp' 'jq' 'jr' 'js' 'jt' 'ju' 'jv' 'jw' 'jx' 'jy' 'jz' \
|
|
||||||
'ka' 'kb' 'kc' 'kd' 'ke' 'kf' 'kg' 'kh' 'ki' 'kj' 'kk' 'kl' 'km' 'kn' 'ko' 'kp' 'kq' 'kr' 'ks' 'kt' 'ku' 'kv' 'kw' 'kx' 'ky' 'kz' \
|
|
||||||
'la' 'lb' 'lc' 'ld' 'le' 'lf' 'lg' 'lh' 'li' 'lj' 'lk' 'll' 'lm' 'ln' 'lo' 'lp' 'lq' 'lr' 'ls' 'lt' 'lu' 'lv' 'lw' 'lx' 'ly' 'lz' \
|
|
||||||
'ma' 'mb' 'mc' 'md' 'me' 'mf' 'mg' 'mh' 'mi' 'mj' 'mk' 'ml' 'mm' 'mn' 'mo' 'mp' 'mq' 'mr' 'ms' 'mt' 'mu' 'mv' 'mw' 'mx' 'my' 'mz' \
|
|
||||||
'na' 'nb' 'nc' 'nd' 'ne' 'nf' 'ng' 'nh' 'ni' 'nj' 'nk' 'nl' 'nm' 'nn' 'no' 'np' 'nq' 'nr' 'ns' 'nt' 'nu' 'nv' 'nw' 'nx' 'ny' 'nz' \
|
|
||||||
'oa' 'ob' 'oc' 'od' 'oe' 'of' 'og' 'oh' 'oi' 'oj' 'ok' 'ol' 'om' 'on' 'oo' 'op' 'oq' 'or' 'os' 'ot' 'ou' 'ov' 'ow' 'ox' 'oy' 'oz' \
|
|
||||||
'pa' 'pb' 'pc' 'pd' 'pe' 'pf' 'pg' 'ph' 'pi' 'pj' 'pk' 'pl' 'pm' 'pn' 'po' 'pp' 'pq' 'pr' 'ps' 'pt' 'pu' 'pv' 'pw' 'px' 'py' 'pz' \
|
|
||||||
'qa' 'qb' 'qc' 'qd' 'qe' 'qf' 'qg' 'qh' 'qi' 'qj' 'qk' 'ql' 'qm' 'qn' 'qo' 'qp' 'qq' 'qr' 'qs' 'qt' 'qu' 'qv' 'qw' 'qx' 'qy' 'qz' \
|
|
||||||
'ra' 'rb' 'rc' 'rd' 're' 'rf' 'rg' 'rh' 'ri' 'rj' 'rk' 'rl' 'rm' 'rn' 'ro' 'rp' 'rq' 'rr' 'rs' 'rt' 'ru' 'rv' 'rw' 'rx' 'ry' 'rz' \
|
|
||||||
'sa' 'sb' 'sc' 'sd' 'se' 'sf' 'sg' 'sh' 'si' 'sj' 'sk' 'sl' 'sm' 'sn' 'so' 'sp' 'sq' 'sr' 'ss' 'st' 'su' 'sv' 'sw' 'sx' 'sy' 'sz' \
|
|
||||||
'ta' 'tb' 'tc' 'td' 'te' 'tf' 'tg' 'th' 'ti' 'tj' 'tk' 'tl' 'tm' 'tn' 'to' 'tp' 'tq' 'tr' 'ts' 'tt' 'tu' 'tv' 'tw' 'tx' 'ty' 'tz' \
|
|
||||||
'ua' 'ub' 'uc' 'ud' 'ue' 'uf' 'ug' 'uh' 'ui' 'uj' 'uk' 'ul' 'um' 'un' 'uo' 'up' 'uq' 'ur' 'us' 'ut' 'uu' 'uv' 'uw' 'ux' 'uy' 'uz' \
|
|
||||||
'va' 'vb' 'vc' 'vd' 've' 'vf' 'vg' 'vh' 'vi' 'vj' 'vk' 'vl' 'vm' 'vn' 'vo' 'vp' 'vq' 'vr' 'vs' 'vt' 'vu' 'vv' 'vw' 'vx' 'vy' 'vz' \
|
|
||||||
'wa' 'wb' 'wc' 'wd' 'we' 'wf' 'wg' 'wh' 'wi' 'wj' 'wk' 'wl' 'wm' 'wn' 'wo' 'wp' 'wq' 'wr' 'ws' 'wt' 'wu' 'wv' 'ww' 'wx' 'wy' 'wz' \
|
|
||||||
'xa' 'xb' 'xc' 'xd' 'xe' 'xf' 'xg' 'xh' 'xi' 'xj' 'xk' 'xl' 'xm' 'xn' 'xo' 'xp' 'xq' 'xr' 'xs' 'xt' 'xu' 'xv' 'xw' 'xx' 'xy' 'xz' \
|
|
||||||
'ya' 'yb' 'yc' 'yd' 'ye' 'yf' 'yg' 'yh' 'yi' 'yj' 'yk' 'yl' 'ym' 'yn' 'yo' 'yp' 'yq' 'yr' 'ys' 'yt' 'yu' 'yv' 'yw' 'yx' 'yy' 'yz' \
|
|
||||||
'za' 'zb' 'zc' 'zd' 'ze' 'zf' 'zg' 'zh' 'zi' 'zj' 'zk' 'zl' 'zm' 'zn' 'zo' 'zp' 'zq' 'zr' 'zs' 'zt' 'zu' 'zv' 'zw' 'zx' 'zy' 'zz'
|
|
||||||
|
|
||||||
set-face global JumpLabel 'black,bright-yellow+F'
|
|
||||||
|
|
||||||
define-command enter_jump_mode_with_replace_select_mode %{
|
|
||||||
enter_jump_mode 'jump (replace):' %{
|
|
||||||
try %{
|
|
||||||
execute-keys -save-regs 's' '<esc><a-,>"sZz"s<a-z>a<esc>'
|
|
||||||
} catch %{
|
|
||||||
execute-keys '<esc>z<esc>'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command enter_jump_mode_with_extend_select_mode %{
|
|
||||||
enter_jump_mode 'jump (extend):' %{
|
|
||||||
execute-keys -save-regs 's' '<esc>"sZ,<a-z>u"s<a-z>a<esc>'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command enter_jump_mode_with_append_select_mode %{
|
|
||||||
enter_jump_mode 'jump (append):' %{
|
|
||||||
execute-keys -save-regs 's' '<esc>"sZz"s<a-z>a<esc>'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command enter_jump_mode -params 2 %{
|
|
||||||
create_jump_state_from_words_in_viewport
|
|
||||||
create_jump_label_selection_map_option_buffer
|
|
||||||
execute-keys 'ga'
|
|
||||||
render_jump_labels
|
|
||||||
open_jump_prompt %arg{1} %arg{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command exit_jump_mode %{
|
|
||||||
unrender_jump_labels
|
|
||||||
close_jump_label_selection_map_option_buffer
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command render_jump_labels %{
|
|
||||||
add-highlighter window/jump_ranges replace-ranges jump_ranges
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command unrender_jump_labels %{
|
|
||||||
remove-highlighter window/jump_ranges
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command open_jump_prompt -params 2 %{
|
|
||||||
prompt %arg{1} %{
|
|
||||||
exit_jump_mode
|
|
||||||
} -on-change %{
|
|
||||||
handle_jump_input %val{text} %arg{2}
|
|
||||||
} -on-abort %{
|
|
||||||
exit_jump_mode
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command handle_jump_input -params 2 %{
|
|
||||||
evaluate-commands -save-regs '^/' -draft -verbatim try %{
|
|
||||||
open_jump_label_selection_map_option_buffer
|
|
||||||
set-register / "\A\Q%arg{1}\E=(\d+\.\d+,\d+\.\d+)\z"
|
|
||||||
execute-keys 's<ret>'
|
|
||||||
evaluate-commands -draft -client %val{client} %exp{
|
|
||||||
select %reg{1}
|
|
||||||
execute-keys -save-regs '' 'Z'
|
|
||||||
}
|
|
||||||
evaluate-commands -client %val{client} %arg{2}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command create_jump_state_from_words_in_viewport %{
|
|
||||||
create_jump_state_from_selections_in_viewport %{
|
|
||||||
execute-keys 's\w+<ret><a-i>w'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command create_jump_state_from_selections_in_viewport -params 1 %{
|
|
||||||
evaluate-commands -draft %{
|
|
||||||
execute-keys 'gtGbx'
|
|
||||||
evaluate-commands %arg{1}
|
|
||||||
execute-keys '<a-k>\A.{2,}\z<ret>)'
|
|
||||||
evaluate-commands -client %val{client} -verbatim create_jump_state %val{selections_desc}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command create_jump_state -params .. %{
|
|
||||||
evaluate-commands -save-regs '"ab' %{
|
|
||||||
set-register a %arg{@}
|
|
||||||
set-register b %opt{jump_labels}
|
|
||||||
evaluate-commands -draft %{
|
|
||||||
edit -scratch
|
|
||||||
execute-keys '"a<a-P>a<space><c-r>b<esc>'
|
|
||||||
evaluate-commands -itersel %{
|
|
||||||
execute-keys 's\A(\d+)\.(\d+),(\d+)\.(\d+) (.{2})\z<ret>'
|
|
||||||
set-register dquote %exp{
|
|
||||||
set-option -add window jump_ranges "%reg{1}.%reg{2}+2|{JumpLabel}%reg{5}"
|
|
||||||
set-option -add window jump_label_selection_map "%reg{5}=%reg{1}.%reg{2},%reg{3}.%reg{4}"
|
|
||||||
}
|
|
||||||
execute-keys 'R'
|
|
||||||
}
|
|
||||||
execute-keys -save-regs '' '%y'
|
|
||||||
delete-buffer
|
|
||||||
}
|
|
||||||
set-option window jump_ranges %val{timestamp}
|
|
||||||
set-option window jump_label_selection_map
|
|
||||||
evaluate-commands %reg{dquote}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command create_jump_label_selection_map_option_buffer %{
|
|
||||||
evaluate-commands -save-regs '"' %{
|
|
||||||
set-register dquote %opt{jump_label_selection_map}
|
|
||||||
edit -scratch "jump_label_selection_map@%val{client}.option"
|
|
||||||
execute-keys '<a-P>'
|
|
||||||
set-option buffer jump_selections %val{selections_desc}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command open_jump_label_selection_map_option_buffer %{
|
|
||||||
edit -scratch "jump_label_selection_map@%val{client}.option"
|
|
||||||
select %opt{jump_selections}
|
|
||||||
}
|
|
||||||
|
|
||||||
define-command close_jump_label_selection_map_option_buffer %{
|
|
||||||
delete-buffer "jump_label_selection_map@%val{client}.option"
|
|
||||||
}
|
|
||||||
@@ -1,125 +0,0 @@
|
|||||||
# Five colors dark theme
|
|
||||||
|
|
||||||
evaluate-commands %sh{
|
|
||||||
bg="rgb:272117"
|
|
||||||
bgmenu="rgb:282e38"
|
|
||||||
fg="rgb:a29e98"
|
|
||||||
gray="rgb:767778"
|
|
||||||
|
|
||||||
red1="rgb:f2a0ae"
|
|
||||||
red2="rgb:c37583"
|
|
||||||
red3="rgb:954c5b"
|
|
||||||
|
|
||||||
yellow1="rgb:dcb46e"
|
|
||||||
yellow2="rgb:af8842"
|
|
||||||
yellow3="rgb:845f10"
|
|
||||||
|
|
||||||
green1="rgb:73d0b1"
|
|
||||||
green2="rgb:44a386"
|
|
||||||
green3="rgb:04785d"
|
|
||||||
|
|
||||||
blue1="rgb:7fc3f5"
|
|
||||||
blue2="rgb:5396c7"
|
|
||||||
blue3="rgb:276c9a"
|
|
||||||
|
|
||||||
violet1="rgb:d2a8e8"
|
|
||||||
violet2="rgb:a57cba"
|
|
||||||
violet3="rgb:7b548e"
|
|
||||||
|
|
||||||
echo "
|
|
||||||
## CODE
|
|
||||||
|
|
||||||
set-face global value $violet2
|
|
||||||
set-face global type $green2
|
|
||||||
set-face global variable $yellow3
|
|
||||||
set-face global module $red3
|
|
||||||
set-face global function $blue2
|
|
||||||
set-face global string $yellow2
|
|
||||||
set-face global keyword $violet3
|
|
||||||
set-face global operator $red2
|
|
||||||
set-face global attribute $green3
|
|
||||||
set-face global comment $gray
|
|
||||||
set-face global documentation $gray
|
|
||||||
set-face global meta $blue3
|
|
||||||
set-face global builtin $violet1
|
|
||||||
|
|
||||||
## MARKUP
|
|
||||||
|
|
||||||
set-face global title $red3
|
|
||||||
set-face global header $violet3
|
|
||||||
set-face global mono $yellow2
|
|
||||||
set-face global block $blue3
|
|
||||||
set-face global link $blue2
|
|
||||||
set-face global bullet $red2
|
|
||||||
set-face global list $red2
|
|
||||||
|
|
||||||
## BUILTIN
|
|
||||||
|
|
||||||
set-face global Default $fg,$bg
|
|
||||||
set-face global PrimarySelection $bg,$green3
|
|
||||||
set-face global SecondarySelection $bg,$blue3
|
|
||||||
set-face global PrimaryCursor $bg,$green1
|
|
||||||
set-face global SecondaryCursor $bg,$blue1
|
|
||||||
set-face global PrimaryCursorEol $bg,$red1
|
|
||||||
set-face global SecondaryCursorEol $bg,$yellow1
|
|
||||||
set-face global MenuForeground $green1,$green3
|
|
||||||
set-face global MenuBackground $fg,$bgmenu
|
|
||||||
set-face global MenuInfo $green2
|
|
||||||
set-face global Information $fg,$bgmenu
|
|
||||||
set-face global InlineInformation $blue2,$bgmenu
|
|
||||||
set-face global Error $red2
|
|
||||||
set-face global DiagnosticError default,default,$red2+c
|
|
||||||
set-face global DiagnosticWarning default,default,$yellow2+c
|
|
||||||
set-face global DiagnosticInfo default,default,$green2+c
|
|
||||||
set-face global DiagnosticHint default,default,$blue2+c
|
|
||||||
set-face global StatusLine $fg,$bgmenu
|
|
||||||
set-face global StatusLineMode $green2
|
|
||||||
set-face global StatusLineInfo $yellow2
|
|
||||||
set-face global StatusLineValue $blue2
|
|
||||||
set-face global StatusCursor $bg,$green1
|
|
||||||
set-face global Prompt $green2
|
|
||||||
set-face global BufferPadding $bg,$bg
|
|
||||||
|
|
||||||
# Built-in highlighter faces
|
|
||||||
|
|
||||||
set-face global LineNumbers $gray
|
|
||||||
set-face global LineNumberCursor $green3
|
|
||||||
set-face global LineNumbersWrapped $bg,$bg
|
|
||||||
set-face global MatchingChar $red1
|
|
||||||
set-face global Whitespace $gray
|
|
||||||
set-face global WhitespaceIndent $gray
|
|
||||||
set-face global WrapMarker $yellow1
|
|
||||||
|
|
||||||
# PLUGINS
|
|
||||||
|
|
||||||
# kak-lsp
|
|
||||||
|
|
||||||
set-face global InfoDefault default
|
|
||||||
set-face global InfoBlock $green2
|
|
||||||
set-face global InfoBlockQuote $yellow2
|
|
||||||
set-face global InfoBullet $red2
|
|
||||||
set-face global InfoHeader $red3
|
|
||||||
set-face global InfoLink $blue2
|
|
||||||
set-face global InfoLinkMono $blue3
|
|
||||||
|
|
||||||
set-face global InfoMono $blue2
|
|
||||||
set-face global InfoRule $yellow2
|
|
||||||
set-face global InfoDiagnosticError $red2
|
|
||||||
set-face global InfoDiagnosticHint $blue2
|
|
||||||
set-face global InfoDiagnosticInformation $green2
|
|
||||||
set-face global InfoDiagnosticWarning $yellow2
|
|
||||||
|
|
||||||
set-face global LineFlagError $red2
|
|
||||||
set-face global LineFlagHint $blue2
|
|
||||||
set-face global LineFlagInfo $green2
|
|
||||||
set-face global LineFlagWarning $yellow2
|
|
||||||
|
|
||||||
set-face global InlayDiagnosticError $red2
|
|
||||||
set-face global InlayDiagnosticHint $blue2
|
|
||||||
set-face global InlayDiagnosticInfo $green2
|
|
||||||
set-face global InlayDiagnosticWarning $yellow2
|
|
||||||
|
|
||||||
set-face global SnippetsNextPlaceholders $bg,$green2
|
|
||||||
set-face global SnippetsOtherPlaceholders $bg,$yellow2
|
|
||||||
"
|
|
||||||
}
|
|
||||||
@@ -1,125 +0,0 @@
|
|||||||
# Five colors dark theme
|
|
||||||
|
|
||||||
evaluate-commands %sh{
|
|
||||||
bg="rgb:faf8f5"
|
|
||||||
bgmenu="rgb:f6ede0"
|
|
||||||
fg="rgb:696257"
|
|
||||||
gray="rgb:c0c1c2"
|
|
||||||
|
|
||||||
red1="rgb:f9a6b5"
|
|
||||||
red2="rgb:d0818f"
|
|
||||||
red3="rgb:a95d6c"
|
|
||||||
|
|
||||||
yellow1="rgb:e3ba74"
|
|
||||||
yellow2="rgb:bc944f"
|
|
||||||
yellow3="rgb:967028"
|
|
||||||
|
|
||||||
green1="rgb:7ad6b7"
|
|
||||||
green2="rgb:52af92"
|
|
||||||
green3="rgb:278a6e"
|
|
||||||
|
|
||||||
blue1="rgb:85c9fc"
|
|
||||||
blue2="rgb:60a3d4"
|
|
||||||
blue3="rgb:3a7ead"
|
|
||||||
|
|
||||||
violet1="rgb:d9aeee"
|
|
||||||
violet2="rgb:b289c7"
|
|
||||||
violet3="rgb:8d65a1"
|
|
||||||
|
|
||||||
echo "
|
|
||||||
## CODE
|
|
||||||
|
|
||||||
set-face global value $violet2
|
|
||||||
set-face global type $green2
|
|
||||||
set-face global variable $yellow3
|
|
||||||
set-face global module $red3
|
|
||||||
set-face global function $blue2
|
|
||||||
set-face global string $yellow2
|
|
||||||
set-face global keyword $violet3
|
|
||||||
set-face global operator $red2
|
|
||||||
set-face global attribute $green3
|
|
||||||
set-face global comment $gray
|
|
||||||
set-face global documentation $gray
|
|
||||||
set-face global meta $blue3
|
|
||||||
set-face global builtin $violet1
|
|
||||||
|
|
||||||
## MARKUP
|
|
||||||
|
|
||||||
set-face global title $red3
|
|
||||||
set-face global header $violet3
|
|
||||||
set-face global mono $yellow2
|
|
||||||
set-face global block $blue3
|
|
||||||
set-face global link $blue2
|
|
||||||
set-face global bullet $red2
|
|
||||||
set-face global list $red2
|
|
||||||
|
|
||||||
## BUILTIN
|
|
||||||
|
|
||||||
set-face global Default $fg,$bg
|
|
||||||
set-face global PrimarySelection $bg,$green3
|
|
||||||
set-face global SecondarySelection $bg,$blue3
|
|
||||||
set-face global PrimaryCursor $bg,$green1
|
|
||||||
set-face global SecondaryCursor $bg,$blue1
|
|
||||||
set-face global PrimaryCursorEol $bg,$red1
|
|
||||||
set-face global SecondaryCursorEol $bg,$yellow1
|
|
||||||
set-face global MenuForeground $green1,$green3
|
|
||||||
set-face global MenuBackground $fg,$bgmenu
|
|
||||||
set-face global MenuInfo $green2
|
|
||||||
set-face global Information $fg,$bgmenu
|
|
||||||
set-face global InlineInformation $blue2,$bgmenu
|
|
||||||
set-face global Error $red2
|
|
||||||
set-face global DiagnosticError default,default,$red2+c
|
|
||||||
set-face global DiagnosticWarning default,default,$yellow2+c
|
|
||||||
set-face global DiagnosticInfo default,default,$green2+c
|
|
||||||
set-face global DiagnosticHint default,default,$blue2+c
|
|
||||||
set-face global StatusLine $fg,$bgmenu
|
|
||||||
set-face global StatusLineMode $green2
|
|
||||||
set-face global StatusLineInfo $yellow2
|
|
||||||
set-face global StatusLineValue $blue2
|
|
||||||
set-face global StatusCursor $bg,$green1
|
|
||||||
set-face global Prompt $green2
|
|
||||||
set-face global BufferPadding $bg,$bg
|
|
||||||
|
|
||||||
# Built-in highlighter faces
|
|
||||||
|
|
||||||
set-face global LineNumbers $gray
|
|
||||||
set-face global LineNumberCursor $green3
|
|
||||||
set-face global LineNumbersWrapped $bg,$bg
|
|
||||||
set-face global MatchingChar $red1
|
|
||||||
set-face global Whitespace $gray
|
|
||||||
set-face global WhitespaceIndent $gray
|
|
||||||
set-face global WrapMarker $yellow1
|
|
||||||
|
|
||||||
# PLUGINS
|
|
||||||
|
|
||||||
# kak-lsp
|
|
||||||
|
|
||||||
set-face global InfoDefault default
|
|
||||||
set-face global InfoBlock $green2
|
|
||||||
set-face global InfoBlockQuote $yellow2
|
|
||||||
set-face global InfoBullet $red2
|
|
||||||
set-face global InfoHeader $red3
|
|
||||||
set-face global InfoLink $blue2
|
|
||||||
set-face global InfoLinkMono $blue3
|
|
||||||
|
|
||||||
set-face global InfoMono $blue2
|
|
||||||
set-face global InfoRule $yellow2
|
|
||||||
set-face global InfoDiagnosticError $red2
|
|
||||||
set-face global InfoDiagnosticHint $blue2
|
|
||||||
set-face global InfoDiagnosticInformation $green2
|
|
||||||
set-face global InfoDiagnosticWarning $yellow2
|
|
||||||
|
|
||||||
set-face global LineFlagError $red2
|
|
||||||
set-face global LineFlagHint $blue2
|
|
||||||
set-face global LineFlagInfo $green2
|
|
||||||
set-face global LineFlagWarning $yellow2
|
|
||||||
|
|
||||||
set-face global InlayDiagnosticError $red2
|
|
||||||
set-face global InlayDiagnosticHint $blue2
|
|
||||||
set-face global InlayDiagnosticInfo $green2
|
|
||||||
set-face global InlayDiagnosticWarning $yellow2
|
|
||||||
|
|
||||||
set-face global SnippetsNextPlaceholders $bg,$green2
|
|
||||||
set-face global SnippetsOtherPlaceholders $bg,$yellow2
|
|
||||||
"
|
|
||||||
}
|
|
||||||
@@ -1,121 +0,0 @@
|
|||||||
# Four colors dark theme
|
|
||||||
|
|
||||||
evaluate-commands %sh{
|
|
||||||
bg="rgb:272117"
|
|
||||||
bgmenu="rgb:282e38"
|
|
||||||
fg="rgb:a29e98"
|
|
||||||
gray="rgb:58666d"
|
|
||||||
|
|
||||||
yellow1="rgb:dcb46e"
|
|
||||||
yellow2="rgb:af8842"
|
|
||||||
yellow3="rgb:845f10"
|
|
||||||
|
|
||||||
green1="rgb:73d0b1"
|
|
||||||
green2="rgb:44a386"
|
|
||||||
green3="rgb:04785d"
|
|
||||||
|
|
||||||
blue1="rgb:95bcfb"
|
|
||||||
blue2="rgb:6b90cc"
|
|
||||||
blue3="rgb:43669f"
|
|
||||||
|
|
||||||
pink1="rgb:eca0c4"
|
|
||||||
pink2="rgb:bd7598"
|
|
||||||
pink3="rgb:904c6e"
|
|
||||||
|
|
||||||
echo "
|
|
||||||
## CODE
|
|
||||||
|
|
||||||
set-face global value $pink1
|
|
||||||
set-face global type $green2
|
|
||||||
set-face global variable $yellow3
|
|
||||||
set-face global module $pink3
|
|
||||||
set-face global function $blue2
|
|
||||||
set-face global string $yellow2
|
|
||||||
set-face global keyword $blue1
|
|
||||||
set-face global operator $pink2
|
|
||||||
set-face global attribute $green1
|
|
||||||
set-face global comment $green3
|
|
||||||
set-face global documentation $green3
|
|
||||||
set-face global meta $blue3
|
|
||||||
set-face global builtin $green2
|
|
||||||
|
|
||||||
## MARKUP
|
|
||||||
|
|
||||||
set-face global title $pink3
|
|
||||||
set-face global header $pink2
|
|
||||||
set-face global mono $yellow2
|
|
||||||
set-face global block $blue2
|
|
||||||
set-face global link $blue1
|
|
||||||
set-face global bullet $pink1
|
|
||||||
set-face global list $pink1
|
|
||||||
|
|
||||||
## BUILTIN
|
|
||||||
|
|
||||||
set-face global Default $fg,$bg
|
|
||||||
set-face global PrimarySelection $bg,$green3
|
|
||||||
set-face global SecondarySelection $bg,$blue3
|
|
||||||
set-face global PrimaryCursor $bg,$green1
|
|
||||||
set-face global SecondaryCursor $bg,$blue1
|
|
||||||
set-face global PrimaryCursorEol $bg,$pink1
|
|
||||||
set-face global SecondaryCursorEol $bg,$yellow1
|
|
||||||
set-face global MenuForeground $green1,$green3
|
|
||||||
set-face global MenuBackground $fg,$bgmenu
|
|
||||||
set-face global MenuInfo $green2
|
|
||||||
set-face global Information $fg,$bgmenu
|
|
||||||
set-face global InlineInformation $blue2,$bgmenu
|
|
||||||
set-face global Error $pink2
|
|
||||||
set-face global DiagnosticError default,default,$pink2+c
|
|
||||||
set-face global DiagnosticWarning default,default,$yellow2+c
|
|
||||||
set-face global DiagnosticInfo default,default,$green2+c
|
|
||||||
set-face global DiagnosticHint default,default,$blue2+c
|
|
||||||
set-face global StatusLine $fg,$bgmenu
|
|
||||||
set-face global StatusLineMode $green2
|
|
||||||
set-face global StatusLineInfo $yellow2
|
|
||||||
set-face global StatusLineValue $blue2
|
|
||||||
set-face global StatusCursor $bg,$green1
|
|
||||||
set-face global Prompt $green2
|
|
||||||
set-face global BufferPadding $bg,$bg
|
|
||||||
|
|
||||||
# Built-in highlighter faces
|
|
||||||
|
|
||||||
set-face global LineNumbers $blue3
|
|
||||||
set-face global LineNumberCursor $green3
|
|
||||||
set-face global LineNumbersWrapped $bg,$bg
|
|
||||||
set-face global MatchingChar $yellow1
|
|
||||||
set-face global Whitespace $gray
|
|
||||||
set-face global WhitespaceIndent $gray
|
|
||||||
set-face global WrapMarker $yellow1
|
|
||||||
|
|
||||||
# PLUGINS
|
|
||||||
|
|
||||||
# kak-lsp
|
|
||||||
|
|
||||||
set-face global InfoDefault default
|
|
||||||
set-face global InfoBlock $green2
|
|
||||||
set-face global InfoBlockQuote $yellow2
|
|
||||||
set-face global InfoBullet $pink1
|
|
||||||
set-face global InfoHeader $pink3
|
|
||||||
set-face global InfoLink $blue1
|
|
||||||
set-face global InfoLinkMono $blue2
|
|
||||||
|
|
||||||
set-face global InfoMono $blue2
|
|
||||||
set-face global InfoRule $yellow2
|
|
||||||
set-face global InfoDiagnosticError $pink2
|
|
||||||
set-face global InfoDiagnosticHint $blue2
|
|
||||||
set-face global InfoDiagnosticInformation $green2
|
|
||||||
set-face global InfoDiagnosticWarning $yellow2
|
|
||||||
|
|
||||||
set-face global LineFlagError $pink2
|
|
||||||
set-face global LineFlagHint $blue2
|
|
||||||
set-face global LineFlagInfo $green2
|
|
||||||
set-face global LineFlagWarning $yellow2
|
|
||||||
|
|
||||||
set-face global InlayDiagnosticError $pink2
|
|
||||||
set-face global InlayDiagnosticHint $blue2
|
|
||||||
set-face global InlayDiagnosticInfo $green2
|
|
||||||
set-face global InlayDiagnosticWarning $yellow2
|
|
||||||
|
|
||||||
set-face global SnippetsNextPlaceholders $bg,$green2
|
|
||||||
set-face global SnippetsOtherPlaceholders $bg,$yellow2
|
|
||||||
"
|
|
||||||
}
|
|
||||||
@@ -1,121 +0,0 @@
|
|||||||
# Four colors light theme
|
|
||||||
|
|
||||||
evaluate-commands %sh{
|
|
||||||
bg="rgb:faf8f5"
|
|
||||||
bgmenu="rgb:f6ede0"
|
|
||||||
fg="rgb:696257"
|
|
||||||
gray="rgb:58666d"
|
|
||||||
|
|
||||||
yellow1="rgb:dcb46e"
|
|
||||||
yellow2="rgb:af8842"
|
|
||||||
yellow3="rgb:845f10"
|
|
||||||
|
|
||||||
green1="rgb:73d0b1"
|
|
||||||
green2="rgb:44a386"
|
|
||||||
green3="rgb:04785d"
|
|
||||||
|
|
||||||
blue1="rgb:95bcfb"
|
|
||||||
blue2="rgb:6b90cc"
|
|
||||||
blue3="rgb:43669f"
|
|
||||||
|
|
||||||
pink1="rgb:eca0c4"
|
|
||||||
pink2="rgb:bd7598"
|
|
||||||
pink3="rgb:904c6e"
|
|
||||||
|
|
||||||
echo "
|
|
||||||
## CODE
|
|
||||||
|
|
||||||
set-face global value $pink1
|
|
||||||
set-face global type $green2
|
|
||||||
set-face global variable $yellow3
|
|
||||||
set-face global module $pink3
|
|
||||||
set-face global function $blue2
|
|
||||||
set-face global string $yellow2
|
|
||||||
set-face global keyword $blue1
|
|
||||||
set-face global operator $pink2
|
|
||||||
set-face global attribute $green1
|
|
||||||
set-face global comment $green3
|
|
||||||
set-face global documentation $green3
|
|
||||||
set-face global meta $blue3
|
|
||||||
set-face global builtin $green2
|
|
||||||
|
|
||||||
## MARKUP
|
|
||||||
|
|
||||||
set-face global title $pink3
|
|
||||||
set-face global header $pink2
|
|
||||||
set-face global mono $yellow2
|
|
||||||
set-face global block $blue2
|
|
||||||
set-face global link $blue1
|
|
||||||
set-face global bullet $pink1
|
|
||||||
set-face global list $pink1
|
|
||||||
|
|
||||||
## BUILTIN
|
|
||||||
|
|
||||||
set-face global Default $fg,$bg
|
|
||||||
set-face global PrimarySelection $bg,$green3
|
|
||||||
set-face global SecondarySelection $bg,$blue3
|
|
||||||
set-face global PrimaryCursor $bg,$green1
|
|
||||||
set-face global SecondaryCursor $bg,$blue1
|
|
||||||
set-face global PrimaryCursorEol $bg,$pink1
|
|
||||||
set-face global SecondaryCursorEol $bg,$yellow1
|
|
||||||
set-face global MenuForeground $green1,$green3
|
|
||||||
set-face global MenuBackground $fg,$bgmenu
|
|
||||||
set-face global MenuInfo $green2
|
|
||||||
set-face global Information $fg,$bgmenu
|
|
||||||
set-face global InlineInformation $blue2,$bgmenu
|
|
||||||
set-face global Error $pink2
|
|
||||||
set-face global DiagnosticError default,default,$pink2+c
|
|
||||||
set-face global DiagnosticWarning default,default,$yellow2+c
|
|
||||||
set-face global DiagnosticInfo default,default,$green2+c
|
|
||||||
set-face global DiagnosticHint default,default,$blue2+c
|
|
||||||
set-face global StatusLine $fg,$bgmenu
|
|
||||||
set-face global StatusLineMode $green2
|
|
||||||
set-face global StatusLineInfo $yellow2
|
|
||||||
set-face global StatusLineValue $blue2
|
|
||||||
set-face global StatusCursor $bg,$green1
|
|
||||||
set-face global Prompt $green2
|
|
||||||
set-face global BufferPadding $bg,$bg
|
|
||||||
|
|
||||||
# Built-in highlighter faces
|
|
||||||
|
|
||||||
set-face global LineNumbers $blue3
|
|
||||||
set-face global LineNumberCursor $green2
|
|
||||||
set-face global LineNumbersWrapped $bg,$bg
|
|
||||||
set-face global MatchingChar $yellow1
|
|
||||||
set-face global Whitespace $gray
|
|
||||||
set-face global WhitespaceIndent $gray
|
|
||||||
set-face global WrapMarker $yellow1
|
|
||||||
|
|
||||||
# PLUGINS
|
|
||||||
|
|
||||||
# kak-lsp
|
|
||||||
|
|
||||||
set-face global InfoDefault default
|
|
||||||
set-face global InfoBlock $green2
|
|
||||||
set-face global InfoBlockQuote $yellow2
|
|
||||||
set-face global InfoBullet $pink1
|
|
||||||
set-face global InfoHeader $pink3
|
|
||||||
set-face global InfoLink $blue1
|
|
||||||
set-face global InfoLinkMono $blue2
|
|
||||||
|
|
||||||
set-face global InfoMono $blue2
|
|
||||||
set-face global InfoRule $yellow2
|
|
||||||
set-face global InfoDiagnosticError $pink2
|
|
||||||
set-face global InfoDiagnosticHint $blue2
|
|
||||||
set-face global InfoDiagnosticInformation $green2
|
|
||||||
set-face global InfoDiagnosticWarning $yellow2
|
|
||||||
|
|
||||||
set-face global LineFlagError $pink2
|
|
||||||
set-face global LineFlagHint $blue2
|
|
||||||
set-face global LineFlagInfo $green2
|
|
||||||
set-face global LineFlagWarning $yellow2
|
|
||||||
|
|
||||||
set-face global InlayDiagnosticError $pink2
|
|
||||||
set-face global InlayDiagnosticHint $blue2
|
|
||||||
set-face global InlayDiagnosticInfo $green2
|
|
||||||
set-face global InlayDiagnosticWarning $yellow2
|
|
||||||
|
|
||||||
set-face global SnippetsNextPlaceholders $bg,$green2
|
|
||||||
set-face global SnippetsOtherPlaceholders $bg,$yellow2
|
|
||||||
"
|
|
||||||
}
|
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
# LP Dark
|
|
||||||
|
|
||||||
declare-option str bg "272117"
|
|
||||||
declare-option str bgmenu "1c222b"
|
|
||||||
declare-option str fg "a29e98"
|
|
||||||
declare-option str comment "696257"
|
|
||||||
declare-option str gray "58666d"
|
|
||||||
|
|
||||||
declare-option str red "d48490"
|
|
||||||
declare-option str orange "d4896e"
|
|
||||||
declare-option str yellow "bf9752"
|
|
||||||
declare-option str yellow_green "96a85e"
|
|
||||||
declare-option str green "62b289"
|
|
||||||
declare-option str cyan "40b1b7"
|
|
||||||
declare-option str blue "54aad1"
|
|
||||||
declare-option str blue_violet "7a9fdd"
|
|
||||||
declare-option str violet "9d94d9"
|
|
||||||
declare-option str pink "ba8ac5"
|
|
||||||
declare-option str pink_red "ce84a7"
|
|
||||||
|
|
||||||
declare-option str selectionalpha "90"
|
|
||||||
|
|
||||||
## CODE
|
|
||||||
|
|
||||||
set-face global value "rgb:%opt{yellow_green}"
|
|
||||||
set-face global type "rgb:%opt{cyan}"
|
|
||||||
set-face global variable "rgb:%opt{blue_violet}"
|
|
||||||
set-face global module "rgb:%opt{red}"
|
|
||||||
set-face global function "rgb:%opt{blue}"
|
|
||||||
set-face global string "rgb:%opt{green}"
|
|
||||||
set-face global keyword "rgb:%opt{pink}"
|
|
||||||
set-face global operator "rgb:%opt{orange}"
|
|
||||||
set-face global attribute "rgb:%opt{blue_violet}"
|
|
||||||
set-face global comment "rgb:%opt{comment}"
|
|
||||||
set-face global documentation "rgb:%opt{comment}"
|
|
||||||
set-face global meta "rgb:%opt{violet}"
|
|
||||||
set-face global bultin "rgb:%opt{pink_red}"
|
|
||||||
|
|
||||||
## MARKUP
|
|
||||||
|
|
||||||
set-face global title "rgb:%opt{pink_red}"
|
|
||||||
set-face global header "rgb:%opt{orange}"
|
|
||||||
set-face global mono "rgb:%opt{yellow_green}"
|
|
||||||
set-face global block "rgb:%opt{cyan}"
|
|
||||||
set-face global link "rgb:%opt{blue}"
|
|
||||||
set-face global bullet "rgb:%opt{orange}"
|
|
||||||
set-face global list "rgb:%opt{orange}"
|
|
||||||
|
|
||||||
## BUILTIN
|
|
||||||
|
|
||||||
set-face global Default "rgb:%opt{fg},rgb:%opt{bg}"
|
|
||||||
set-face global PrimarySelection "rgb:%opt{bg},rgba:%opt{green}%opt{selectionalpha}"
|
|
||||||
set-face global SecondarySelection "rgb:%opt{bg},rgba:%opt{blue}%opt{selectionalpha}"
|
|
||||||
set-face global PrimaryCursor "rgb:%opt{bg},rgb:%opt{green}"
|
|
||||||
set-face global SecondaryCursor "rgb:%opt{bg},rgb:%opt{blue}"
|
|
||||||
set-face global PrimaryCursorEol "rgb:%opt{bg},rgb:%opt{pink_red}"
|
|
||||||
set-face global SecondaryCursorEol "rgb:%opt{bg},rgb:%opt{violet}"
|
|
||||||
set-face global MenuForeground "rgb:%opt{bg},rgb:%opt{fg}"
|
|
||||||
set-face global MenuBackground "rgb:%opt{fg},rgb:%opt{bgmenu}"
|
|
||||||
set-face global MenuInfo "rgb:%opt{comment}"
|
|
||||||
set-face global Information "rgb:%opt{fg},rgb:%opt{bgmenu}"
|
|
||||||
set-face global InlineInformation "rgb:%opt{yellow}"
|
|
||||||
set-face global Error "rgb:%opt{orange}"
|
|
||||||
set-face global DiagnosticError "default,default,rgb:%opt{red}+c"
|
|
||||||
set-face global DiagnosticWarning "default,default,rgb:%opt{yellow}+c"
|
|
||||||
set-face global StatusLine "rgb:%opt{fg},rgb:%opt{bgmenu}"
|
|
||||||
set-face global StatusLineMode "rgb:%opt{green}"
|
|
||||||
set-face global StatusLineInfo "rgb:%opt{yellow_green}"
|
|
||||||
set-face global StatusLineValue "rgb:%opt{green}"
|
|
||||||
set-face global StatusCursor "rgb:%opt{bg},rgb:%opt{green}"
|
|
||||||
set-face global Prompt "rgb:%opt{green}"
|
|
||||||
set-face global BufferPadding "rgb:%opt{bg},rgb:%opt{bg}"
|
|
||||||
|
|
||||||
# Built-in highlighter faces
|
|
||||||
|
|
||||||
set-face global LineNumbers "rgb:%opt{comment}"
|
|
||||||
set-face global LineNumberCursor "rgb:%opt{comment}"
|
|
||||||
set-face global LineNumbersWrapped "rgb:%opt{bg},rgb:%opt{bg}"
|
|
||||||
set-face global MatchingChar "rgb:%opt{yellow_green}"
|
|
||||||
set-face global Whitespace "rgb:%opt{gray}"
|
|
||||||
set-face global WhitespaceIndent "rgb:%opt{gray}"
|
|
||||||
set-face global WrapMarker "rgb:%opt{yellow_green}"
|
|
||||||
|
|
||||||
# PLUGINS
|
|
||||||
|
|
||||||
# kak-lsp
|
|
||||||
|
|
||||||
set-face global InfoDefault "default"
|
|
||||||
set-face global InfoBlock "rgb:%opt{cyan}"
|
|
||||||
set-face global InfoBlockQuote "rgb:%opt{orange}"
|
|
||||||
set-face global InfoBullet "rgb:%opt{orange}"
|
|
||||||
set-face global InfoHeader "rgb:%opt{orange}"
|
|
||||||
set-face global InfoLink "rgb:%opt{blue}"
|
|
||||||
set-face global InfoLinkMono "rgb:%opt{pink}"
|
|
||||||
|
|
||||||
set-face global InfoMono "rgb:%opt{cyan}"
|
|
||||||
set-face global InfoRule "rgb:%opt{orange}"
|
|
||||||
set-face global InfoDiagnosticError "rgb:%opt{red}"
|
|
||||||
set-face global InfoDiagnosticHint "rgb:%opt{blue}"
|
|
||||||
set-face global InfoDiagnosticInformation "rgb:%opt{yellow_green}"
|
|
||||||
set-face global InfoDiagnosticWarning "rgb:%opt{yellow}"
|
|
||||||
|
|
||||||
set-face global LineFlagError "rgb:%opt{red}"
|
|
||||||
set-face global LineFlagHint "rgb:%opt{blue}"
|
|
||||||
set-face global LineFlagInfo "rgb:%opt{yellow_green}"
|
|
||||||
set-face global LineFlagWarning "rgb:%opt{yellow}"
|
|
||||||
|
|
||||||
set-face global InlayDiagnosticError "rgb:%opt{red}"
|
|
||||||
set-face global InlayDiagnosticHint "rgb:%opt{blue}"
|
|
||||||
set-face global InlayDiagnosticInfo "rgb:%opt{yellow_green}"
|
|
||||||
set-face global InlayDiagnosticWarning "rgb:%opt{yellow}"
|
|
||||||
|
|
||||||
set-face global LineFlagError "rgb:%opt{red}"
|
|
||||||
set-face global LineFlagHint "rgb:%opt{blue}"
|
|
||||||
set-face global LineFlagInfo "rgb:%opt{yellow_green}"
|
|
||||||
set-face global LineFlagWarning "rgb:%opt{yellow}"
|
|
||||||
@@ -1,117 +0,0 @@
|
|||||||
# LP light
|
|
||||||
|
|
||||||
declare-option str bg "faf8f5"
|
|
||||||
declare-option str bgmenu "f6ede0"
|
|
||||||
declare-option str fg "696257"
|
|
||||||
declare-option str light_yellow "e0b771"
|
|
||||||
declare-option str comment "a59d91"
|
|
||||||
declare-option str gray "58666d"
|
|
||||||
|
|
||||||
declare-option str red "d48490"
|
|
||||||
declare-option str orange "d4896e"
|
|
||||||
declare-option str yellow "bf9752"
|
|
||||||
declare-option str yellow_green "96a85e"
|
|
||||||
declare-option str green "62b289"
|
|
||||||
declare-option str cyan "40b1b7"
|
|
||||||
declare-option str blue "54aad1"
|
|
||||||
declare-option str blue_violet "7a9fdd"
|
|
||||||
declare-option str violet "9d94d9"
|
|
||||||
declare-option str pink "ba8ac5"
|
|
||||||
declare-option str pink_red "ce84a7"
|
|
||||||
|
|
||||||
declare-option str selectionalpha "90"
|
|
||||||
|
|
||||||
## CODE
|
|
||||||
|
|
||||||
set-face global value "rgb:%opt{yellow_green}"
|
|
||||||
set-face global type "rgb:%opt{cyan}"
|
|
||||||
set-face global variable "rgb:%opt{blue_violet}"
|
|
||||||
set-face global module "rgb:%opt{red}"
|
|
||||||
set-face global function "rgb:%opt{blue}"
|
|
||||||
set-face global string "rgb:%opt{green}"
|
|
||||||
set-face global keyword "rgb:%opt{pink}"
|
|
||||||
set-face global operator "rgb:%opt{orange}"
|
|
||||||
set-face global attribute "rgb:%opt{blue_violet}"
|
|
||||||
set-face global comment "rgb:%opt{comment}"
|
|
||||||
set-face global documentation "rgb:%opt{comment}"
|
|
||||||
set-face global meta "rgb:%opt{violet}"
|
|
||||||
set-face global bultin "rgb:%opt{pink_red}"
|
|
||||||
|
|
||||||
## MARKUP
|
|
||||||
|
|
||||||
set-face global title "rgb:%opt{pink_red}"
|
|
||||||
set-face global header "rgb:%opt{orange}"
|
|
||||||
set-face global mono "rgb:%opt{yellow_green}"
|
|
||||||
set-face global block "rgb:%opt{cyan}"
|
|
||||||
set-face global link "rgb:%opt{blue}"
|
|
||||||
set-face global bullet "rgb:%opt{orange}"
|
|
||||||
set-face global list "rgb:%opt{orange}"
|
|
||||||
|
|
||||||
## BUILTIN
|
|
||||||
|
|
||||||
set-face global Default "rgb:%opt{fg},rgb:%opt{bg}"
|
|
||||||
set-face global PrimarySelection "rgb:%opt{bg},rgba:%opt{green}%opt{selectionalpha}"
|
|
||||||
set-face global SecondarySelection "rgb:%opt{bg},rgba:%opt{blue}%opt{selectionalpha}"
|
|
||||||
set-face global PrimaryCursor "rgb:%opt{bg},rgb:%opt{green}"
|
|
||||||
set-face global SecondaryCursor "rgb:%opt{bg},rgb:%opt{blue}"
|
|
||||||
set-face global PrimaryCursorEol "rgb:%opt{bg},rgb:%opt{pink_red}"
|
|
||||||
set-face global SecondaryCursorEol "rgb:%opt{bg},rgb:%opt{violet}"
|
|
||||||
set-face global MenuForeground "rgb:%opt{fg},rgb:%opt{light_yellow}"
|
|
||||||
set-face global MenuBackground "rgb:%opt{fg},rgb:%opt{bgmenu}"
|
|
||||||
set-face global MenuInfo "rgb:%opt{comment}"
|
|
||||||
set-face global Information "rgb:%opt{fg},rgb:%opt{bgmenu}"
|
|
||||||
set-face global InlineInformation "rgb:%opt{yellow}"
|
|
||||||
set-face global Error "rgb:%opt{orange}"
|
|
||||||
set-face global DiagnosticError "default,default,rgb:%opt{red}+c"
|
|
||||||
set-face global DiagnosticWarning "default,default,rgb:%opt{yellow}+c"
|
|
||||||
set-face global StatusLine "rgb:%opt{fg},rgb:%opt{bgmenu}"
|
|
||||||
set-face global StatusLineMode "rgb:%opt{green}"
|
|
||||||
set-face global StatusLineInfo "rgb:%opt{yellow}"
|
|
||||||
set-face global StatusLineValue "rgb:%opt{green}"
|
|
||||||
set-face global StatusCursor "rgb:%opt{bg},rgb:%opt{green}"
|
|
||||||
set-face global Prompt "rgb:%opt{comment}"
|
|
||||||
set-face global BufferPadding "rgb:%opt{bg},rgb:%opt{bg}"
|
|
||||||
|
|
||||||
# Built-in highlighter faces
|
|
||||||
|
|
||||||
set-face global LineNumbers "rgb:%opt{comment}"
|
|
||||||
set-face global LineNumberCursor "rgb:%opt{comment}"
|
|
||||||
set-face global LineNumbersWrapped "rgb:%opt{bg},rgb:%opt{bg}"
|
|
||||||
set-face global MatchingChar "rgb:%opt{yellow_green}"
|
|
||||||
set-face global Whitespace "rgb:%opt{gray}"
|
|
||||||
set-face global WhitespaceIndent "rgb:%opt{gray}"
|
|
||||||
set-face global WrapMarker "rgb:%opt{yellow_green}"
|
|
||||||
|
|
||||||
# PLUGINS
|
|
||||||
|
|
||||||
# kak-lsp
|
|
||||||
|
|
||||||
set-face global InfoDefault "default"
|
|
||||||
set-face global InfoBlock "rgb:%opt{cyan}"
|
|
||||||
set-face global InfoBlockQuote "rgb:%opt{orange}"
|
|
||||||
set-face global InfoBullet "rgb:%opt{orange}"
|
|
||||||
set-face global InfoHeader "rgb:%opt{orange}"
|
|
||||||
set-face global InfoLink "rgb:%opt{blue}"
|
|
||||||
set-face global InfoLinkMono "rgb:%opt{pink}"
|
|
||||||
|
|
||||||
set-face global InfoMono "rgb:%opt{cyan}"
|
|
||||||
set-face global InfoRule "rgb:%opt{orange}"
|
|
||||||
set-face global InfoDiagnosticError "rgb:%opt{red}"
|
|
||||||
set-face global InfoDiagnosticHint "rgb:%opt{blue}"
|
|
||||||
set-face global InfoDiagnosticInformation "rgb:%opt{yellow_green}"
|
|
||||||
set-face global InfoDiagnosticWarning "rgb:%opt{yellow}"
|
|
||||||
|
|
||||||
set-face global LineFlagError "rgb:%opt{red}"
|
|
||||||
set-face global LineFlagHint "rgb:%opt{blue}"
|
|
||||||
set-face global LineFlagInfo "rgb:%opt{yellow_green}"
|
|
||||||
set-face global LineFlagWarning "rgb:%opt{yellow}"
|
|
||||||
|
|
||||||
set-face global InlayDiagnosticError "rgb:%opt{red}"
|
|
||||||
set-face global InlayDiagnosticHint "rgb:%opt{blue}"
|
|
||||||
set-face global InlayDiagnosticInfo "rgb:%opt{yellow_green}"
|
|
||||||
set-face global InlayDiagnosticWarning "rgb:%opt{yellow}"
|
|
||||||
|
|
||||||
set-face global LineFlagError "rgb:%opt{red}"
|
|
||||||
set-face global LineFlagHint "rgb:%opt{blue}"
|
|
||||||
set-face global LineFlagInfo "rgb:%opt{yellow_green}"
|
|
||||||
set-face global LineFlagWarning "rgb:%opt{yellow}"
|
|
||||||
@@ -1,299 +0,0 @@
|
|||||||
# OPTIONS
|
|
||||||
|
|
||||||
set-option global startup_info_version 20260412
|
|
||||||
set-option global ui_options terminal_assistant=none
|
|
||||||
|
|
||||||
hook global WinCreate .* %{
|
|
||||||
add-highlighter window/number-lines number-lines -relative -hlcursor
|
|
||||||
}
|
|
||||||
add-highlighter global/ show-matching
|
|
||||||
|
|
||||||
# LOCAL
|
|
||||||
|
|
||||||
nop %sh{
|
|
||||||
mkdir -p "$kak_config/autoload"
|
|
||||||
[ -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
|
|
||||||
map global -docstring 'Search/open' user 's' ': enter-user-mode file-mode<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 '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 '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 "
|
|
||||||
map global -docstring 'Paste clipboard (append)' user 'p' '<a-!> wl-paste -n<ret>'
|
|
||||||
map global -docstring 'Paste clipboard (insert)' user 'P' '! wl-paste -n<ret>'
|
|
||||||
map global -docstring 'Yank to clipboard' user 'y' '<a-|> wl-copy<ret>'
|
|
||||||
"
|
|
||||||
elif [ -n "$DISPLAY" ]; then
|
|
||||||
echo "
|
|
||||||
map global -docstring 'Paste clipboard (append)' user 'p' '<a-!> xsel -bo<ret>'
|
|
||||||
map global -docstring 'Paste clipboard (insert)' user 'P' '! xsel -bo<ret>'
|
|
||||||
map global -docstring 'Yank to clipboard' user 'y' '<a-|> xsel -bi<ret>'
|
|
||||||
"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
map global -docstring 'Replace jump mode' user 'j' ': enter_jump_mode_with_replace_select_mode<ret>'
|
|
||||||
map global -docstring 'Extend jump mode' user 'e' ': enter_jump_mode_with_extend_select_mode<ret>'
|
|
||||||
map global -docstring 'Append jump mode' user 'a' ': enter_jump_mode_with_append_select_mode<ret>'
|
|
||||||
|
|
||||||
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} }
|
|
||||||
}
|
|
||||||
|
|
||||||
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}
|
|
||||||
}
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
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}
|
|
||||||
lsp-enable
|
|
||||||
|
|
||||||
set-option global modelinefmt "%opt{lsp_modeline} %opt{modelinefmt}"
|
|
||||||
|
|
||||||
map global user l ': enter-user-mode lsp<ret>' -docstring 'LSP mode'
|
|
||||||
|
|
||||||
map global goto d <esc>:lsp-definition<ret> -docstring 'LSP definition'
|
|
||||||
map global goto r <esc>:lsp-references<ret> -docstring 'LSP references'
|
|
||||||
map global goto y <esc>:lsp-type-definition<ret> -docstring 'LSP type definition'
|
|
||||||
|
|
||||||
map global insert <tab> '<a-;>:try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks <lt>tab> }<ret>' -docstring 'Select next snippet placeholder'
|
|
||||||
|
|
||||||
map global object a '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
|
|
||||||
map global object <a-a> '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
|
|
||||||
map global object f '<a-semicolon>lsp-object Function Method<ret>' -docstring 'LSP function or method'
|
|
||||||
map global object t '<a-semicolon>lsp-object Class Interface Module Namespace Struct<ret>' -docstring 'LSP class or module'
|
|
||||||
map global object d '<a-semicolon>lsp-diagnostic-object error warning<ret>' -docstring 'LSP errors and warnings'
|
|
||||||
map global object D '<a-semicolon>lsp-diagnostic-object error<ret>' -docstring 'LSP errors'
|
|
||||||
|
|
||||||
map global lsp p '<esc>: lsp-find-error --previous error<ret>' -docstring 'find previous error'
|
|
||||||
|
|
||||||
# BUNDLE
|
|
||||||
|
|
||||||
source "%val{config}/bundle/kak-bundle/rc/kak-bundle.kak"
|
|
||||||
bundle-noload kak-bundle https://codeberg.org/jdugan6240/kak-bundle
|
|
||||||
|
|
||||||
# COLORSCHEME
|
|
||||||
|
|
||||||
bundle-theme kak-one 'https://codeberg.org/raiguard/kak-one'
|
|
||||||
|
|
||||||
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 'f' ': fzf-mode<ret>'
|
|
||||||
require-module fzf
|
|
||||||
set-option global fzf_highlight_command "bat"
|
|
||||||
}
|
|
||||||
|
|
||||||
hook global BufCreate [^*].* %{
|
|
||||||
nop %sh{
|
|
||||||
mru=~/.cache/kak-mru
|
|
||||||
echo "$kak_buffile" | awk '!seen[$0]++' - "$mru" | sponge "$mru"
|
|
||||||
}}
|
|
||||||
|
|
||||||
# MATCH
|
|
||||||
|
|
||||||
bundle match 'https://github.com/kmafeni04/match.kak' %{
|
|
||||||
declare-user-mode match
|
|
||||||
map global user m ': enter-user-mode match<ret>' -docstring 'Match'
|
|
||||||
map global match m m -docstring 'Match next matching pair'
|
|
||||||
map global match i ': match-inside<ret>' -docstring 'Match inside object'
|
|
||||||
map global match a ': match-around<ret>' -docstring 'Match around object'
|
|
||||||
map global match n ': match-next<ret>' -docstring 'Match next object'
|
|
||||||
map global match p ': match-prev<ret>' -docstring 'Match previous object'
|
|
||||||
map global match s ': match-surround-add<ret>' -docstring 'Surround selection with character'
|
|
||||||
map global match d ': match-surround-delete<ret>' -docstring "Delete selection's surrounding character"
|
|
||||||
map global match r ': match-surround-replace<ret>' -docstring "Replace selection's surrounding character"
|
|
||||||
map global match u ': match-surround-undo<ret>' -docstring "Undo"
|
|
||||||
map global match U ': match-surround-redo<ret>' -docstring "Redo"
|
|
||||||
}
|
|
||||||
|
|
||||||
# HARPOON
|
|
||||||
|
|
||||||
bundle kak-harpoon 'https://codeberg.org/raiguard/kak-harpoon' %{
|
|
||||||
harpoon-add-bindings
|
|
||||||
}
|
|
||||||
|
|
||||||
# PENEIRA
|
|
||||||
|
|
||||||
bundle 'luar' 'https://github.com/gustavo-hms/luar' %{
|
|
||||||
require-module luar
|
|
||||||
}
|
|
||||||
|
|
||||||
bundle 'peneira' 'https://github.com/gustavo-hms/peneira' %{
|
|
||||||
require-module peneira
|
|
||||||
|
|
||||||
define-command buffers %{
|
|
||||||
peneira 'buffers: ' %{ eval "printf '%s\n' $kak_quoted_buflist" } %{
|
|
||||||
buffer %arg{1}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
define-command peneira-git-files %{
|
|
||||||
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 } %{ edit -- %arg{1} }
|
|
||||||
}
|
|
||||||
|
|
||||||
map global -docstring 'Buffer' user ' ' ': buffers<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
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
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-)>,"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
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-)>,"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
cd "$(dirname $1)"
|
|
||||||
exec nnn -A -p - | awk "{print \"evaluate-commands -client $3 edit\", \$1 }" | kak -p "$2"
|
|
||||||
@@ -1,27 +1,20 @@
|
|||||||
font_family HurmitNerdFont
|
font_family FiraCode Nerd
|
||||||
font_size 10
|
font_size 11
|
||||||
|
|
||||||
cursor_blink_interval 0
|
cursor_blink_interval 0
|
||||||
enable_audio_bell no
|
|
||||||
visual_bell_duration 1.0
|
|
||||||
|
|
||||||
tab_bar_min_tabs 1
|
tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title} {index}"
|
||||||
tab_bar_style powerline
|
|
||||||
tab_bar_edge top
|
|
||||||
tab_bar_filter session:~ or session:^$
|
|
||||||
tab_title_template "{index}:{session_name}:{bell_symbol}{activity_symbol}{title}"
|
|
||||||
tab_powerline_style round
|
|
||||||
|
|
||||||
open_url_with qutebrowser
|
action_alias launch_tab launch --type=tab --cwd=current
|
||||||
|
|
||||||
action_alias launch_tab_home launch --type tab --cwd=~
|
|
||||||
kitten_alias hints hints --hints-background-color red --hints-foreground-color white
|
|
||||||
|
|
||||||
allow_remote_control yes
|
|
||||||
|
|
||||||
|
map ctrl+shift+n launch_tab tmux
|
||||||
|
map ctrl+shift+t launch_tab tmux attach
|
||||||
|
map ctrl+shift+s launch_tab zsh
|
||||||
map ctrl+shift+6 no_op
|
map ctrl+shift+6 no_op
|
||||||
map ctrl+shift+0 nth_window -1
|
|
||||||
|
|
||||||
|
map ctrl+shift+h previous_tab
|
||||||
|
map ctrl+shift+l next_tab
|
||||||
|
map ctrl+shift+p goto_tab -1
|
||||||
map ctrl+alt+1 goto_tab 1
|
map ctrl+alt+1 goto_tab 1
|
||||||
map ctrl+alt+2 goto_tab 2
|
map ctrl+alt+2 goto_tab 2
|
||||||
map ctrl+alt+3 goto_tab 3
|
map ctrl+alt+3 goto_tab 3
|
||||||
@@ -31,43 +24,9 @@ map ctrl+alt+6 goto_tab 6
|
|||||||
map ctrl+alt+7 goto_tab 7
|
map ctrl+alt+7 goto_tab 7
|
||||||
map ctrl+alt+8 goto_tab 8
|
map ctrl+alt+8 goto_tab 8
|
||||||
map ctrl+alt+9 goto_tab 9
|
map ctrl+alt+9 goto_tab 9
|
||||||
map ctrl+alt+0 goto_tab -1
|
map ctrl+alt+0 goto_tab 10
|
||||||
|
|
||||||
map ctrl+alt+h neighboring_window left
|
|
||||||
map ctrl+alt+j neighboring_window down
|
|
||||||
map ctrl+alt+k neighboring_window up
|
|
||||||
map ctrl+alt+l neighboring_window right
|
|
||||||
|
|
||||||
map ctrl+alt+a last_used_layout
|
|
||||||
map ctrl+alt+b goto_layout fat
|
|
||||||
map ctrl+alt+g goto_layout grid
|
|
||||||
map ctrl+alt+r goto_layout tall
|
|
||||||
|
|
||||||
map ctrl+alt+space goto_session -1
|
|
||||||
map ctrl+alt+return new_window_with_cwd
|
|
||||||
map ctrl+alt+d new_tab_with_cwd sh -c 'cd $(kitten choose-file --mode dir) && nvim'
|
|
||||||
map ctrl+alt+e new_tab_with_cwd nvim
|
|
||||||
map ctrl+alt+i new_tab_with_cwd lazygit
|
|
||||||
map ctrl+alt+f new_tab_with_cwd sh -c 'nvim $(kitten choose-file)'
|
|
||||||
map ctrl+alt+m toggle_layout stack
|
|
||||||
map ctrl+alt+o goto_session ~/.config/kitty/sessions
|
|
||||||
map ctrl+alt+/ goto_session --sort-by=alphabetical ~/.config/kitty/sessions
|
|
||||||
map ctrl+alt+p new_tab_with_cwd spf
|
|
||||||
map ctrl+alt+s launch --stdin-source=@screen_scrollback --type=overlay nvim -R -
|
|
||||||
map ctrl+alt+w new_window_with_cwd
|
|
||||||
map ctrl+alt+t new_tab_with_cwd
|
|
||||||
map ctrl+alt+x close_window_with_confirmation
|
|
||||||
map ctrl+alt+u>d launch_tab_home sh -c 'cd $(kitten choose-file --mode dir) && nvim'
|
|
||||||
map ctrl+alt+u>f launch_tab_home sh -c 'nvim $(kitten choose-file)'
|
|
||||||
map ctrl+alt+v focus_visible_window
|
|
||||||
map ctrl+alt+y new_window nvim @selection
|
|
||||||
|
|
||||||
map ctrl+alt+shift+s save_as_session --base-dir ~/.config/kitty/sessions --match=session:.
|
|
||||||
map ctrl+alt+shift+t detach_tab
|
|
||||||
map ctrl+alt+shift+w detach_window
|
|
||||||
map ctrl+alt+shift+x close_session .
|
|
||||||
|
|
||||||
# BEGIN_KITTY_THEME
|
# BEGIN_KITTY_THEME
|
||||||
# Five-Colors-Dark
|
# Afterglow
|
||||||
include current-theme.conf
|
include current-theme.conf
|
||||||
# END_KITTY_THEME
|
# END_KITTY_THEME
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
# vim:ft=kitty
|
|
||||||
|
|
||||||
foreground #a29e98
|
|
||||||
background #272117
|
|
||||||
selection_foreground #272117
|
|
||||||
selection_background #276c9a
|
|
||||||
|
|
||||||
cursor #73d0b1
|
|
||||||
cursor_text_color #272117
|
|
||||||
|
|
||||||
active_border_color #276c9a
|
|
||||||
inactive_border_color #b0bcc7
|
|
||||||
|
|
||||||
active_tab_foreground #9da0af
|
|
||||||
active_tab_background #4d5580
|
|
||||||
inactive_tab_foreground #1f212e
|
|
||||||
inactive_tab_background #808080
|
|
||||||
|
|
||||||
color0 #85919b
|
|
||||||
color1 #c37583
|
|
||||||
color2 #44a386
|
|
||||||
color3 #af8842
|
|
||||||
color4 #5396c7
|
|
||||||
color5 #a57cba
|
|
||||||
color6 #2da0ad
|
|
||||||
color7 #b0bcc7
|
|
||||||
|
|
||||||
color8 #85919b
|
|
||||||
color9 #f2a0ae
|
|
||||||
color10 #73d0b1
|
|
||||||
color11 #dcb46e
|
|
||||||
color12 #7fc3f5
|
|
||||||
color13 #d2a8e8
|
|
||||||
color14 #62cdda
|
|
||||||
color15 #a29e98
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
# vim:ft=kitty
|
|
||||||
|
|
||||||
foreground #696257
|
|
||||||
background #faf8f5
|
|
||||||
selection_foreground #faf8f5
|
|
||||||
selection_background #3a7ead
|
|
||||||
|
|
||||||
cursor #7ad6b7
|
|
||||||
cursor_text_color #faf8f5
|
|
||||||
|
|
||||||
active_border_color #85c9fc
|
|
||||||
inactive_border_color #919da7
|
|
||||||
|
|
||||||
active_tab_foreground #1f212e
|
|
||||||
active_tab_background #a6c7f2
|
|
||||||
inactive_tab_foreground #faf8f5
|
|
||||||
inactive_tab_background #808080
|
|
||||||
|
|
||||||
color0 #272117
|
|
||||||
color1 #d0818f
|
|
||||||
color2 #52af92
|
|
||||||
color3 #bc944f
|
|
||||||
color4 #60a3d4
|
|
||||||
color5 #b289c7
|
|
||||||
color6 #3dadba
|
|
||||||
color7 #b6c3cd
|
|
||||||
|
|
||||||
color8 #919da7
|
|
||||||
color9 #85c9fc
|
|
||||||
color10 #7ad6b7
|
|
||||||
color11 #e3ba74
|
|
||||||
color12 #60a3d4
|
|
||||||
color13 #d9aeee
|
|
||||||
color14 #85c9fc
|
|
||||||
color15 #faf8f5
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
# vim:ft=kitty
|
|
||||||
|
|
||||||
foreground #9da0af
|
|
||||||
background #1f212e
|
|
||||||
selection_foreground #808080
|
|
||||||
selection_background #4d5580
|
|
||||||
|
|
||||||
cursor #bf8040
|
|
||||||
cursor_text_color #1f212e
|
|
||||||
|
|
||||||
active_border_color #862d2d
|
|
||||||
inactive_border_color #4d5580
|
|
||||||
|
|
||||||
active_tab_foreground #9da0af
|
|
||||||
active_tab_background #4d5580
|
|
||||||
inactive_tab_foreground #1f212e
|
|
||||||
inactive_tab_background #808080
|
|
||||||
|
|
||||||
color1 #862d2d
|
|
||||||
color2 #3a783a
|
|
||||||
color3 #707010
|
|
||||||
color4 #345eb2
|
|
||||||
color5 #cc66cc
|
|
||||||
color6 #3a7878
|
|
||||||
color7 #a1a3aa
|
|
||||||
color8 #4d4d4d
|
|
||||||
color9 #c27070
|
|
||||||
color10 #40bf40
|
|
||||||
color11 #acac53
|
|
||||||
color12 #6b8ac7
|
|
||||||
color13 #8f248f
|
|
||||||
color14 #509595
|
|
||||||
color15 #dbdff0
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
# vim:ft=kitty
|
|
||||||
|
|
||||||
foreground #1f212e
|
|
||||||
background #faf8f5
|
|
||||||
selection_foreground #1f212e
|
|
||||||
selection_background #a6c7f2
|
|
||||||
|
|
||||||
cursor #1f212e
|
|
||||||
cursor_text_color #faf8f5
|
|
||||||
|
|
||||||
active_border_color #862d2d
|
|
||||||
inactive_border_color #a6c7f2
|
|
||||||
|
|
||||||
active_tab_foreground #1f212e
|
|
||||||
active_tab_background #a6c7f2
|
|
||||||
inactive_tab_foreground #faf8f5
|
|
||||||
inactive_tab_background #808080
|
|
||||||
|
|
||||||
color0 #1f212e
|
|
||||||
color1 #862d2d
|
|
||||||
color2 #3a783a
|
|
||||||
color3 #707010
|
|
||||||
color4 #345eb2
|
|
||||||
color5 #cc66cc
|
|
||||||
color6 #3a7878
|
|
||||||
color7 #a1a3aa
|
|
||||||
color8 #73778c
|
|
||||||
color9 #c27070
|
|
||||||
color10 #40bf40
|
|
||||||
color11 #acac53
|
|
||||||
color12 #6b8ac7
|
|
||||||
color13 #8f248f
|
|
||||||
color14 #509595
|
|
||||||
color15 #dae4f1
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,13 +1,9 @@
|
|||||||
os:
|
os:
|
||||||
edit: 'kak {{filename}}'
|
edit: 'nvim {{filename}}'
|
||||||
editAtLine: 'kak +{{line}} {{filename}}'
|
editAtLine: 'nvim +{{line}} {{filename}}'
|
||||||
editAtLineAndWait: 'kak +{{line}} {{filename}}'
|
editAtLineAndWait: 'nvim +{{line}} {{filename}}'
|
||||||
editInTerminal: true
|
editInTerminal: true
|
||||||
openDirInEditor: 'kak -e "nnn-open {{dir}}"'
|
openDirInEditor: 'nvim {{dir}}'
|
||||||
|
|
||||||
gui:
|
gui:
|
||||||
nerdFontsVersion: "3"
|
nerdFontsVersion: "3"
|
||||||
|
|
||||||
theme:
|
|
||||||
selectedLineBgColor:
|
|
||||||
- reverse
|
|
||||||
|
|||||||
@@ -3,9 +3,6 @@ PREFIX = /usr/local
|
|||||||
lupan-clock: lupan-clock.c
|
lupan-clock: lupan-clock.c
|
||||||
${CC} -o $@ $< -lX11 -Wall
|
${CC} -o $@ $< -lX11 -Wall
|
||||||
|
|
||||||
stdout-clock: stdout-clock.c
|
|
||||||
${CC} -o $@ $< -Wall
|
|
||||||
|
|
||||||
install:
|
install:
|
||||||
mkdir -p ${DESTDIR}${PREFIX}/bin
|
mkdir -p ${DESTDIR}${PREFIX}/bin
|
||||||
cp -f lupan-clock ${DESTDIR}${PREFIX}/bin
|
cp -f lupan-clock ${DESTDIR}${PREFIX}/bin
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
#include <X11/Xlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
void show(struct tm *tm)
|
|
||||||
{
|
|
||||||
char s[6];
|
|
||||||
strftime(s, sizeof(s), "%H:%M", tm);
|
|
||||||
printf("%s\n", s);
|
|
||||||
fflush(stdout);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
int h, m, init = 60;
|
|
||||||
time_t t;
|
|
||||||
struct tm *tm;
|
|
||||||
|
|
||||||
while (1) {
|
|
||||||
t = time(NULL);
|
|
||||||
tm = localtime(&t);
|
|
||||||
if (tm->tm_hour != h || tm->tm_min != m || init > 0) {
|
|
||||||
show(tm);
|
|
||||||
h = tm->tm_hour;
|
|
||||||
m = tm->tm_min;
|
|
||||||
init = (init > 0) ? init - 1 : 0;
|
|
||||||
}
|
|
||||||
sleep(1);
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
@@ -1,325 +0,0 @@
|
|||||||
// This config is in the KDL format: https://kdl.dev
|
|
||||||
// https://niri-wm.github.io/niri/Configuration:-Introduction
|
|
||||||
|
|
||||||
spawn-at-startup "waybar"
|
|
||||||
|
|
||||||
input {
|
|
||||||
keyboard {
|
|
||||||
xkb {
|
|
||||||
layout "pl"
|
|
||||||
}
|
|
||||||
numlock
|
|
||||||
}
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
tap
|
|
||||||
natural-scroll
|
|
||||||
}
|
|
||||||
|
|
||||||
// mouse { }
|
|
||||||
|
|
||||||
// trackpoint { }
|
|
||||||
|
|
||||||
warp-mouse-to-focus
|
|
||||||
}
|
|
||||||
|
|
||||||
output "HDMI-A-1" {
|
|
||||||
scale 2
|
|
||||||
}
|
|
||||||
output "DP-1" {
|
|
||||||
scale 2
|
|
||||||
}
|
|
||||||
|
|
||||||
layout {
|
|
||||||
gaps 16
|
|
||||||
|
|
||||||
center-focused-column "never"
|
|
||||||
|
|
||||||
preset-column-widths {
|
|
||||||
proportion 0.33333
|
|
||||||
proportion 0.5
|
|
||||||
proportion 0.66667
|
|
||||||
}
|
|
||||||
|
|
||||||
// preset-window-heights { }
|
|
||||||
|
|
||||||
default-column-width { proportion 0.5; }
|
|
||||||
|
|
||||||
focus-ring {
|
|
||||||
width 4
|
|
||||||
active-color "#7fc8ff"
|
|
||||||
inactive-color "#505050"
|
|
||||||
}
|
|
||||||
|
|
||||||
border {
|
|
||||||
off
|
|
||||||
|
|
||||||
width 4
|
|
||||||
active-color "#ffc87f"
|
|
||||||
inactive-color "#505050"
|
|
||||||
urgent-color "#9b0000"
|
|
||||||
}
|
|
||||||
|
|
||||||
struts {
|
|
||||||
// left 64
|
|
||||||
// right 64
|
|
||||||
// top 64
|
|
||||||
// bottom 64
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
overview {
|
|
||||||
zoom 0.25
|
|
||||||
}
|
|
||||||
|
|
||||||
hotkey-overlay {
|
|
||||||
skip-at-startup
|
|
||||||
}
|
|
||||||
|
|
||||||
prefer-no-csd
|
|
||||||
|
|
||||||
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
|
||||||
// screenshot-path null
|
|
||||||
|
|
||||||
animations {
|
|
||||||
off
|
|
||||||
}
|
|
||||||
|
|
||||||
// Work around WezTerm's initial configure bug
|
|
||||||
// by setting an empty default-column-width.
|
|
||||||
window-rule {
|
|
||||||
match app-id=r#"^org\.wezfurlong\.wezterm$"#
|
|
||||||
default-column-width {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Open the Firefox picture-in-picture player as floating by default.
|
|
||||||
window-rule {
|
|
||||||
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
|
||||||
open-floating true
|
|
||||||
}
|
|
||||||
|
|
||||||
// Example: block out two password managers from screen capture.
|
|
||||||
// (This example rule is commented out with a "/-" in front.)
|
|
||||||
/-window-rule {
|
|
||||||
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
|
|
||||||
match app-id=r#"^org\.gnome\.World\.Secrets$"#
|
|
||||||
|
|
||||||
block-out-from "screen-capture"
|
|
||||||
|
|
||||||
// Use this instead if you want them visible on third-party screenshot tools.
|
|
||||||
// block-out-from "screencast"
|
|
||||||
}
|
|
||||||
|
|
||||||
window-rule {
|
|
||||||
geometry-corner-radius 4
|
|
||||||
clip-to-geometry true
|
|
||||||
}
|
|
||||||
|
|
||||||
binds {
|
|
||||||
// Mod-Shift-/, which is usually the same as Mod-?,
|
|
||||||
// shows a list of important hotkeys.
|
|
||||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
|
||||||
|
|
||||||
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
|
||||||
Mod+T hotkey-overlay-title="Open a Terminal: alacritty" { spawn "kitty" "--single-instance" "--instance-group" "default"; }
|
|
||||||
Mod+D hotkey-overlay-title="Run an Application: wmenu" { spawn "wmenu-run" "-f" "HurmitNerdFont 10"; }
|
|
||||||
Mod+B hotkey-overlay-title="Toggle waybar" { spawn "killall" "-SIGUSR1" "waybar"; }
|
|
||||||
Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; }
|
|
||||||
Mod+Shift+T hotkey-overlay-title="Toggle theme" { spawn "lupan-set-theme" "toggle"; }
|
|
||||||
|
|
||||||
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
|
|
||||||
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
|
||||||
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
|
||||||
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
|
||||||
|
|
||||||
XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; }
|
|
||||||
XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; }
|
|
||||||
XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; }
|
|
||||||
XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; }
|
|
||||||
|
|
||||||
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
|
|
||||||
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
|
|
||||||
|
|
||||||
Mod+O repeat=false { toggle-overview; }
|
|
||||||
|
|
||||||
Mod+Shift+C repeat=false { close-window; }
|
|
||||||
|
|
||||||
Mod+Left { focus-column-left; }
|
|
||||||
Mod+Down { focus-window-down; }
|
|
||||||
Mod+Up { focus-window-up; }
|
|
||||||
Mod+Right { focus-column-right; }
|
|
||||||
Mod+H { focus-column-left; }
|
|
||||||
Mod+J { focus-window-down; }
|
|
||||||
Mod+K { focus-window-up; }
|
|
||||||
Mod+L { focus-column-right; }
|
|
||||||
|
|
||||||
Mod+Ctrl+Left { move-column-left; }
|
|
||||||
Mod+Ctrl+Down { move-window-down; }
|
|
||||||
Mod+Ctrl+Up { move-window-up; }
|
|
||||||
Mod+Ctrl+Right { move-column-right; }
|
|
||||||
Mod+Ctrl+H { move-column-left; }
|
|
||||||
Mod+Ctrl+J { move-window-down; }
|
|
||||||
Mod+Ctrl+K { move-window-up; }
|
|
||||||
Mod+Ctrl+L { move-column-right; }
|
|
||||||
|
|
||||||
// Alternative commands that move across workspaces when reaching
|
|
||||||
// the first or last window in a column.
|
|
||||||
// Mod+J { focus-window-or-workspace-down; }
|
|
||||||
// Mod+K { focus-window-or-workspace-up; }
|
|
||||||
// Mod+Ctrl+J { move-window-down-or-to-workspace-down; }
|
|
||||||
// Mod+Ctrl+K { move-window-up-or-to-workspace-up; }
|
|
||||||
|
|
||||||
Mod+Home { focus-column-first; }
|
|
||||||
Mod+End { focus-column-last; }
|
|
||||||
Mod+Ctrl+Home { move-column-to-first; }
|
|
||||||
Mod+Ctrl+End { move-column-to-last; }
|
|
||||||
|
|
||||||
Mod+Shift+Left { focus-monitor-left; }
|
|
||||||
Mod+Shift+Down { focus-monitor-down; }
|
|
||||||
Mod+Shift+Up { focus-monitor-up; }
|
|
||||||
Mod+Shift+Right { focus-monitor-right; }
|
|
||||||
Mod+Shift+H { focus-monitor-left; }
|
|
||||||
Mod+Shift+J { focus-monitor-down; }
|
|
||||||
Mod+Shift+K { focus-monitor-up; }
|
|
||||||
Mod+Shift+L { focus-monitor-right; }
|
|
||||||
|
|
||||||
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
|
|
||||||
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
|
||||||
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
|
||||||
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
|
|
||||||
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
|
|
||||||
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
|
|
||||||
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
|
||||||
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
|
||||||
|
|
||||||
// Alternatively, there are commands to move just a single window:
|
|
||||||
// Mod+Shift+Ctrl+Left { move-window-to-monitor-left; }
|
|
||||||
// ...
|
|
||||||
|
|
||||||
// And you can also move a whole workspace to another monitor:
|
|
||||||
// Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; }
|
|
||||||
// ...
|
|
||||||
|
|
||||||
Mod+Page_Down { focus-workspace-down; }
|
|
||||||
Mod+Page_Up { focus-workspace-up; }
|
|
||||||
Mod+U { focus-workspace-down; }
|
|
||||||
Mod+I { focus-workspace-up; }
|
|
||||||
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
|
||||||
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
|
||||||
Mod+Ctrl+U { move-column-to-workspace-down; }
|
|
||||||
Mod+Ctrl+I { move-column-to-workspace-up; }
|
|
||||||
|
|
||||||
Mod+Shift+Page_Down { move-workspace-down; }
|
|
||||||
Mod+Shift+Page_Up { move-workspace-up; }
|
|
||||||
Mod+Shift+U { move-workspace-down; }
|
|
||||||
Mod+Shift+I { move-workspace-up; }
|
|
||||||
|
|
||||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
|
||||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
|
||||||
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
|
||||||
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
|
||||||
|
|
||||||
Mod+WheelScrollRight { focus-column-right; }
|
|
||||||
Mod+WheelScrollLeft { focus-column-left; }
|
|
||||||
Mod+Ctrl+WheelScrollRight { move-column-right; }
|
|
||||||
Mod+Ctrl+WheelScrollLeft { move-column-left; }
|
|
||||||
|
|
||||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
|
||||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
|
||||||
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
|
|
||||||
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
|
|
||||||
|
|
||||||
Mod+1 { focus-workspace 1; }
|
|
||||||
Mod+2 { focus-workspace 2; }
|
|
||||||
Mod+3 { focus-workspace 3; }
|
|
||||||
Mod+4 { focus-workspace 4; }
|
|
||||||
Mod+5 { focus-workspace 5; }
|
|
||||||
Mod+6 { focus-workspace 6; }
|
|
||||||
Mod+7 { focus-workspace 7; }
|
|
||||||
Mod+8 { focus-workspace 8; }
|
|
||||||
Mod+9 { focus-workspace 9; }
|
|
||||||
Mod+Ctrl+1 { move-column-to-workspace 1; }
|
|
||||||
Mod+Ctrl+2 { move-column-to-workspace 2; }
|
|
||||||
Mod+Ctrl+3 { move-column-to-workspace 3; }
|
|
||||||
Mod+Ctrl+4 { move-column-to-workspace 4; }
|
|
||||||
Mod+Ctrl+5 { move-column-to-workspace 5; }
|
|
||||||
Mod+Ctrl+6 { move-column-to-workspace 6; }
|
|
||||||
Mod+Ctrl+7 { move-column-to-workspace 7; }
|
|
||||||
Mod+Ctrl+8 { move-column-to-workspace 8; }
|
|
||||||
Mod+Ctrl+9 { move-column-to-workspace 9; }
|
|
||||||
|
|
||||||
Mod+Ctrl+Shift+1 { move-window-to-workspace 1; }
|
|
||||||
Mod+Ctrl+Shift+2 { move-window-to-workspace 2; }
|
|
||||||
Mod+Ctrl+Shift+3 { move-window-to-workspace 3; }
|
|
||||||
Mod+Ctrl+Shift+4 { move-window-to-workspace 4; }
|
|
||||||
Mod+Ctrl+Shift+5 { move-window-to-workspace 5; }
|
|
||||||
Mod+Ctrl+Shift+6 { move-window-to-workspace 6; }
|
|
||||||
Mod+Ctrl+Shift+7 { move-window-to-workspace 7; }
|
|
||||||
Mod+Ctrl+Shift+8 { move-window-to-workspace 8; }
|
|
||||||
Mod+Ctrl+Shift+9 { move-window-to-workspace 9; }
|
|
||||||
|
|
||||||
// Switches focus between the current and the previous workspace.
|
|
||||||
// Mod+Tab { focus-workspace-previous; }
|
|
||||||
|
|
||||||
Mod+BracketLeft { consume-or-expel-window-left; }
|
|
||||||
Mod+BracketRight { consume-or-expel-window-right; }
|
|
||||||
|
|
||||||
Mod+Comma { consume-window-into-column; }
|
|
||||||
Mod+Period { expel-window-from-column; }
|
|
||||||
|
|
||||||
Mod+R { switch-preset-column-width; }
|
|
||||||
Mod+Shift+R { switch-preset-column-width-back; }
|
|
||||||
|
|
||||||
Mod+Ctrl+Shift+R { switch-preset-window-height; }
|
|
||||||
Mod+Ctrl+R { reset-window-height; }
|
|
||||||
|
|
||||||
Mod+F { maximize-column; }
|
|
||||||
Mod+Shift+F { fullscreen-window; }
|
|
||||||
|
|
||||||
Mod+M { maximize-window-to-edges; }
|
|
||||||
|
|
||||||
Mod+Ctrl+F { expand-column-to-available-width; }
|
|
||||||
|
|
||||||
Mod+C { center-column; }
|
|
||||||
Mod+Ctrl+C { center-visible-columns; }
|
|
||||||
|
|
||||||
Mod+Minus { set-column-width "-10%"; }
|
|
||||||
Mod+Equal { set-column-width "+10%"; }
|
|
||||||
|
|
||||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
|
||||||
Mod+Shift+Equal { set-window-height "+10%"; }
|
|
||||||
|
|
||||||
Mod+V { toggle-window-floating; }
|
|
||||||
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
|
||||||
|
|
||||||
Mod+W { toggle-column-tabbed-display; }
|
|
||||||
|
|
||||||
// Actions to switch layouts.
|
|
||||||
// Note: if you uncomment these, make sure you do NOT have
|
|
||||||
// a matching layout switch hotkey configured in xkb options above.
|
|
||||||
// Having both at once on the same hotkey will break the switching,
|
|
||||||
// since it will switch twice upon pressing the hotkey (once by xkb, once by niri).
|
|
||||||
// Mod+Space { switch-layout "next"; }
|
|
||||||
// Mod+Shift+Space { switch-layout "prev"; }
|
|
||||||
|
|
||||||
Print { screenshot; }
|
|
||||||
Ctrl+Print { screenshot-screen; }
|
|
||||||
Alt+Print { screenshot-window; }
|
|
||||||
|
|
||||||
// Applications such as remote-desktop clients and software KVM switches may
|
|
||||||
// request that niri stops processing the keyboard shortcuts defined here
|
|
||||||
// so they may, for example, forward the key presses as-is to a remote machine.
|
|
||||||
// It's a good idea to bind an escape hatch to toggle the inhibitor,
|
|
||||||
// so a buggy application can't hold your session hostage.
|
|
||||||
//
|
|
||||||
// The allow-inhibiting=false property can be applied to other binds as well,
|
|
||||||
// which ensures niri always processes them, even when an inhibitor is active.
|
|
||||||
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
|
||||||
|
|
||||||
Mod+Shift+E { quit; }
|
|
||||||
Ctrl+Alt+Delete { quit; }
|
|
||||||
|
|
||||||
Mod+Shift+P { power-off-monitors; }
|
|
||||||
}
|
|
||||||
|
|
||||||
include "dark.kdl"
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
layout {
|
|
||||||
background-color "#414853"
|
|
||||||
|
|
||||||
focus-ring {
|
|
||||||
width 4
|
|
||||||
active-color "#5396c7"
|
|
||||||
inactive-color "#505050"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
layout {
|
|
||||||
background-color "#c0c1c2"
|
|
||||||
|
|
||||||
focus-ring {
|
|
||||||
width 4
|
|
||||||
active-color "#85c9fc"
|
|
||||||
inactive-color "#505050"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"layer": "top",
|
|
||||||
"position": "top",
|
|
||||||
"modules-left": [
|
|
||||||
"niri/workspaces",
|
|
||||||
"niri/window"
|
|
||||||
],
|
|
||||||
"modules-right": [
|
|
||||||
"tray",
|
|
||||||
"clock"
|
|
||||||
],
|
|
||||||
"reload_style_on_change": true,
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
* {
|
|
||||||
background-color: #282e38;
|
|
||||||
color: #a29e98;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
border-bottom: 3px solid #04785d;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
border-bottom: 3px solid #c37583;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
* {
|
|
||||||
background-color: #f6ede0;
|
|
||||||
color: #696257;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
border-bottom: 3px solid #278a6e;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
border-bottom: 3px solid #d0818f;
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
@import url("file:///home/lupan/.config/waybar/dark.css");
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-family: HurmitNerdFont;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces {
|
|
||||||
padding: 0 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
padding: 0 3px;
|
|
||||||
border-radius: 0;
|
|
||||||
border-bottom: 3px solid transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
#window {
|
|
||||||
border-bottom: 3px solid transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock {
|
|
||||||
padding: 0 0.5rem;
|
|
||||||
border-bottom: 3px solid transparent;
|
|
||||||
}
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
local colors_name = "lupanbones"
|
|
||||||
vim.g.colors_name = colors_name -- Required when defining a colorscheme
|
|
||||||
|
|
||||||
local lush = require "lush"
|
|
||||||
local hsluv = lush.hsluv -- Human-friendly hsl
|
|
||||||
local util = require "zenbones.util"
|
|
||||||
|
|
||||||
local bg = vim.o.background
|
|
||||||
|
|
||||||
-- Define a palette. Use `palette_extend` to fill unspecified colors
|
|
||||||
local palette
|
|
||||||
if bg == "light" then
|
|
||||||
palette = util.palette_extend({
|
|
||||||
bg = hsluv "#faf8f5",
|
|
||||||
fg = hsluv "#1f212e",
|
|
||||||
rose = hsluv "#bf8040",
|
|
||||||
leaf = hsluv "#3d8f66",
|
|
||||||
wood = hsluv "#acac53",
|
|
||||||
water = hsluv "#6b8ac7",
|
|
||||||
blossom = hsluv "#93806c",
|
|
||||||
sky = hsluv "#7461d1",
|
|
||||||
}, bg)
|
|
||||||
else
|
|
||||||
palette = util.palette_extend({
|
|
||||||
bg = hsluv "#1f212e",
|
|
||||||
fg = hsluv "#9da0af",
|
|
||||||
rose = hsluv "#bf8040",
|
|
||||||
leaf = hsluv "#3d8f66",
|
|
||||||
wood = hsluv "#d1d147",
|
|
||||||
water = hsluv "#6b8ac7",
|
|
||||||
blossom = hsluv "#93806c",
|
|
||||||
sky = hsluv "#7461d1",
|
|
||||||
}, bg)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Generate the lush specs using the generator util
|
|
||||||
local generator = require "zenbones.specs"
|
|
||||||
local base_specs = generator.generate(palette, bg, generator.get_global_config(colors_name, bg))
|
|
||||||
|
|
||||||
-- Optionally extend specs using Lush
|
|
||||||
local specs = lush.extends({ base_specs }).with(function()
|
|
||||||
return {
|
|
||||||
Statement { base_specs.Statement, fg = palette.rose },
|
|
||||||
String { fg = palette.leaf },
|
|
||||||
Special { fg = palette.water },
|
|
||||||
Type { fg = palette.sky, gui = "italic" },
|
|
||||||
Delimiter { fg = palette.blossom },
|
|
||||||
}
|
|
||||||
end)
|
|
||||||
|
|
||||||
-- Pass the specs to lush to apply
|
|
||||||
lush(specs)
|
|
||||||
|
|
||||||
-- Optionally set term colors
|
|
||||||
require("zenbones.term").apply_colors(palette)
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
local colors_name = "lupandimbones"
|
|
||||||
vim.g.colors_name = colors_name -- Required when defining a colorscheme
|
|
||||||
|
|
||||||
local lush = require "lush"
|
|
||||||
local hsluv = lush.hsluv -- Human-friendly hsl
|
|
||||||
local util = require "zenbones.util"
|
|
||||||
|
|
||||||
local bg = vim.o.background
|
|
||||||
|
|
||||||
-- Define a palette. Use `palette_extend` to fill unspecified colors
|
|
||||||
local palette
|
|
||||||
if bg == "light" then
|
|
||||||
palette = util.palette_extend({
|
|
||||||
bg = hsluv "#ebeee8",
|
|
||||||
fg = hsluv "#1f212e",
|
|
||||||
rose = hsluv "#9d6948",
|
|
||||||
leaf = hsluv "#66824a",
|
|
||||||
wood = hsluv "#bd720f",
|
|
||||||
water = hsluv "#3a7878",
|
|
||||||
blossom = hsluv "#70675c",
|
|
||||||
sky = hsluv "#463da9",
|
|
||||||
}, bg)
|
|
||||||
else
|
|
||||||
palette = util.palette_extend({
|
|
||||||
bg = hsluv "#0d0d0c",
|
|
||||||
fg = hsluv "#5c6570",
|
|
||||||
rose = hsluv "#814c31",
|
|
||||||
leaf = hsluv "#526241",
|
|
||||||
wood = hsluv "#d78c42",
|
|
||||||
water = hsluv "#3a7878",
|
|
||||||
blossom = hsluv "#70675c",
|
|
||||||
sky = hsluv "#584b9b",
|
|
||||||
}, bg)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Generate the lush specs using the generator util
|
|
||||||
local generator = require "zenbones.specs"
|
|
||||||
local base_specs = generator.generate(palette, bg, generator.get_global_config(colors_name, bg))
|
|
||||||
|
|
||||||
-- Optionally extend specs using Lush
|
|
||||||
local specs = lush.extends({ base_specs }).with(function()
|
|
||||||
return {
|
|
||||||
Statement { base_specs.Statement, fg = palette.rose },
|
|
||||||
String { fg = palette.leaf },
|
|
||||||
Special { fg = palette.water },
|
|
||||||
Type { fg = palette.sky, gui = "italic" },
|
|
||||||
Delimiter { fg = palette.blossom },
|
|
||||||
}
|
|
||||||
end)
|
|
||||||
|
|
||||||
-- Pass the specs to lush to apply
|
|
||||||
lush(specs)
|
|
||||||
|
|
||||||
-- Optionally set term colors
|
|
||||||
require("zenbones.term").apply_colors(palette)
|
|
||||||
@@ -7,14 +7,10 @@ require("plugins.auto-session")
|
|||||||
require("plugins.colorscheme")
|
require("plugins.colorscheme")
|
||||||
require("plugins.conform")
|
require("plugins.conform")
|
||||||
require("plugins.flash")
|
require("plugins.flash")
|
||||||
require("plugins.fzf-lua")
|
|
||||||
require("plugins.guess-indent")
|
|
||||||
require("plugins.luasnip")
|
|
||||||
require("plugins.multicursor")
|
require("plugins.multicursor")
|
||||||
require("plugins.nvim-various-textobjs")
|
require("plugins.nvim-various-textobjs")
|
||||||
require("plugins.oil")
|
require("plugins.oil")
|
||||||
require("plugins.slimline")
|
|
||||||
require("plugins.snacks")
|
require("plugins.snacks")
|
||||||
|
require("plugins.telescope")
|
||||||
require("plugins.surround")
|
require("plugins.surround")
|
||||||
require("plugins.treesitter")
|
require("plugins.treesitter")
|
||||||
require("plugins.which-key")
|
|
||||||
|
|||||||
@@ -1,15 +1,5 @@
|
|||||||
return {
|
return {
|
||||||
cmd = { "lua-language-server" },
|
cmd = 'lua-language-server',
|
||||||
filetypes = { "lua" },
|
filetypes = { 'lua' },
|
||||||
root_markers = { ".luarc.json", ".git" },
|
rootmarkers = { '.git' },
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
runtime = {
|
|
||||||
version = "LuaJIT",
|
|
||||||
},
|
|
||||||
diagnostics = {
|
|
||||||
globals = { "vim" },
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ vim.api.nvim_create_autocmd("LspAttach", {
|
|||||||
return { abbr = item.label:gsub("%b()", "") }
|
return { abbr = item.label:gsub("%b()", "") }
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
vim.keymap.set("n", "<leader>a", vim.lsp.buf.code_action)
|
||||||
vim.keymap.set("i", "<C-space>", vim.lsp.completion.get)
|
vim.keymap.set("i", "<C-space>", vim.lsp.completion.get)
|
||||||
vim.keymap.set("n", "<leader>k", function()
|
vim.keymap.set("n", "<leader>k", function()
|
||||||
vim.diagnostic.jump({ float = true, count = -1 })
|
vim.diagnostic.jump({ float = true, count = -1 })
|
||||||
|
|||||||
@@ -6,19 +6,5 @@ vim.g.maplocalleader = " \\"
|
|||||||
vim.opt.number = true
|
vim.opt.number = true
|
||||||
vim.opt.relativenumber = true
|
vim.opt.relativenumber = true
|
||||||
vim.opt.signcolumn = "yes"
|
vim.opt.signcolumn = "yes"
|
||||||
vim.opt.title = true
|
|
||||||
|
|
||||||
vim.opt.ignorecase = true
|
|
||||||
vim.opt.smartcase = true
|
|
||||||
|
|
||||||
vim.opt.timeout = false
|
vim.opt.timeout = false
|
||||||
|
|
||||||
vim.o.undofile = true
|
|
||||||
|
|
||||||
vim.cmd([[autocmd TermOpen * startinsert]]);
|
|
||||||
|
|
||||||
vim.filetype.add({
|
|
||||||
extension = {
|
|
||||||
["kitty-session"] = 'kitty',
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|||||||
@@ -5,15 +5,8 @@ set("n", "<M-k>", "<C-w>k")
|
|||||||
set("n", "<M-j>", "<C-w>j")
|
set("n", "<M-j>", "<C-w>j")
|
||||||
set("n", "<M-l>", "<C-w>l")
|
set("n", "<M-l>", "<C-w>l")
|
||||||
|
|
||||||
set({ "n", 'v' }, "<leader>p", [["+p]])
|
|
||||||
set({ "n", 'v' }, "<leader>P", [["+P]])
|
|
||||||
set({ "n", 'v' }, "<leader>y", [["+y]])
|
|
||||||
set({ "n", 'v' }, "<leader>Y", [["+Y]])
|
|
||||||
|
|
||||||
set("n", "<Esc>", "<cmd>nohlsearch<cr>")
|
set("n", "<Esc>", "<cmd>nohlsearch<cr>")
|
||||||
set("n", "<leader>K", "<cmd>cp<cr>")
|
set("n", "<leader>K", "<cmd>cp<cr>")
|
||||||
set("n", "<leader>J", "<cmd>cn<cr>")
|
set("n", "<leader>J", "<cmd>cn<cr>")
|
||||||
set("n", "<leader>x", "<cmd>copen<cr>")
|
set("n", "<leader>x", "<cmd>copen<cr>")
|
||||||
set("n", "<leader>X", "<cmd>cclose<cr>")
|
set("n", "<leader>X", "<cmd>cclose<cr>")
|
||||||
|
|
||||||
set("n", "<leader>ga", "<cmd>tabnew | terminal lazygit<cr>")
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
vim.pack.add({ "https://github.com/rmagatti/auto-session" })
|
vim.pack.add({ "https://github.com/rmagatti/auto-session" })
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>wy", "<cmd>AutoSession search<cr>")
|
vim.keymap.set("n", "<leader>A", "<cmd>AutoSession search<cr>")
|
||||||
|
|
||||||
local ok, sess = pcall(require, "auto-session")
|
local ok, sess = pcall(require, "auto-session")
|
||||||
if ok then
|
if ok then
|
||||||
|
|||||||
@@ -1,12 +1,5 @@
|
|||||||
vim.pack.add({
|
vim.pack.add({ "https://github.com/EdenEast/nightfox.nvim" })
|
||||||
"https://github.com/EdenEast/nightfox.nvim",
|
|
||||||
"https://github.com/rebelot/kanagawa.nvim",
|
|
||||||
"https://github.com/kepano/flexoki-neovim",
|
|
||||||
"https://github.com/rktjmp/lush.nvim",
|
|
||||||
"https://github.com/zenbones-theme/zenbones.nvim",
|
|
||||||
"https://github.com/xero/miasma.nvim",
|
|
||||||
})
|
|
||||||
|
|
||||||
local cs = require("config.colorscheme")
|
local cs = require("config.colorscheme")
|
||||||
cs.set_colorschemes("lupanbones", "lupanbones")
|
cs.set_colorschemes("terafox", "dayfox")
|
||||||
cs.update_colorscheme()
|
cs.update_colorscheme()
|
||||||
|
|||||||
@@ -6,30 +6,10 @@ if ok then
|
|||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
lua = { "stylua" },
|
lua = { "stylua" },
|
||||||
},
|
},
|
||||||
format_on_save = function(bufnr)
|
format_on_save = {
|
||||||
-- Disable with a global or buffer-local variable
|
timeout_ms = 500,
|
||||||
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
|
lsp_format = "fallback",
|
||||||
return
|
},
|
||||||
end
|
|
||||||
return { timeout_ms = 500, lsp_format = "fallback" }
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
vim.api.nvim_create_user_command("FormatDisable", function(args)
|
|
||||||
if args.bang then
|
|
||||||
-- FormatDisable! will disable formatting just for this buffer
|
|
||||||
vim.b.disable_autoformat = true
|
|
||||||
else
|
|
||||||
vim.g.disable_autoformat = true
|
|
||||||
end
|
|
||||||
end, {
|
|
||||||
desc = "Disable autoformat-on-save",
|
|
||||||
bang = true,
|
|
||||||
})
|
|
||||||
vim.api.nvim_create_user_command("FormatEnable", function()
|
|
||||||
vim.b.disable_autoformat = false
|
|
||||||
vim.g.disable_autoformat = false
|
|
||||||
end, {
|
|
||||||
desc = "Re-enable autoformat-on-save",
|
|
||||||
})
|
})
|
||||||
else
|
else
|
||||||
print("plugin conform missing")
|
print("plugin conform missing")
|
||||||
|
|||||||
@@ -1,232 +0,0 @@
|
|||||||
vim.pack.add({
|
|
||||||
"https://github.com/ibhagwan/fzf-lua",
|
|
||||||
"https://github.com/elanmed/fzf-lua-frecency.nvim",
|
|
||||||
})
|
|
||||||
|
|
||||||
local ok, fzf = pcall(require, "fzf-lua")
|
|
||||||
local ok2, frecency = pcall(require, "fzf-lua-frecency")
|
|
||||||
if ok then
|
|
||||||
fzf.setup({
|
|
||||||
keymap = {
|
|
||||||
builtin = {
|
|
||||||
true,
|
|
||||||
["<M-m>"] = "toggle-fullscreen",
|
|
||||||
},
|
|
||||||
fzf = {
|
|
||||||
true,
|
|
||||||
-- Use <c-q> to select all items and add them to the quickfix list
|
|
||||||
["ctrl-q"] = "select-all+accept",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
fzf.register_ui_select()
|
|
||||||
local odin_pkg = "~/cloned/Odin"
|
|
||||||
local function go_root()
|
|
||||||
return vim.fn.trim(vim.fn.system("go env GOROOT"))
|
|
||||||
end
|
|
||||||
local go_root_pkg = nil
|
|
||||||
local function go_mod()
|
|
||||||
return vim.fs.joinpath(vim.fn.trim(vim.fn.system("go env GOPATH")), "pkg/mod")
|
|
||||||
end
|
|
||||||
local go_mod_pkg = nil
|
|
||||||
local function go_grep(cwd)
|
|
||||||
local input = vim.fn.input("Go grep declarations> ")
|
|
||||||
if #input == 0 then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
local search1 = "^(func|type) .*(?<= )(?=[A-Z])[a-zA-Z0-9_]*" .. input .. "[a-zA-Z0-9_]*( |\\()"
|
|
||||||
local search2 = "^[\\t]+(?=[A-Z])[a-zA-Z0-9_]*" .. input .. "[a-zA-Z0-9_]* +="
|
|
||||||
local search = "(" .. search1 .. "|" .. search2 .. ")"
|
|
||||||
fzf.grep({
|
|
||||||
cwd = cwd,
|
|
||||||
cmd = "rg -P -g '*.go'",
|
|
||||||
search = search,
|
|
||||||
no_esc = true,
|
|
||||||
profile = 'ivy',
|
|
||||||
})
|
|
||||||
end
|
|
||||||
local function odin_grep(cwd)
|
|
||||||
local input = vim.fn.input("Odin grep declarations> ")
|
|
||||||
if #input == 0 then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
local search = "^[ \\t]*[a-zA-Z0-9_]*" .. input .. "[a-zA-Z0-9_]* +::"
|
|
||||||
fzf.grep({
|
|
||||||
cwd = cwd,
|
|
||||||
cmd = "rg -g '*.odin'",
|
|
||||||
search = search,
|
|
||||||
no_esc = true,
|
|
||||||
profile = 'ivy',
|
|
||||||
})
|
|
||||||
end
|
|
||||||
local set = vim.keymap.set
|
|
||||||
set("n", "<leader>ba", fzf.buffers, { desc = "FzfLua buffers" })
|
|
||||||
set("n", "<leader>bh", fzf.history, { desc = "FzfLua history" })
|
|
||||||
set("n", "<leader>bj", fzf.jumps, { desc = "FzfLua jumps" })
|
|
||||||
set("n", "<leader>ca", fzf.lsp_code_actions, { desc = "FzfLua LSP code actions" })
|
|
||||||
set("n", "<leader>cb", fzf.complete_bline, { desc = "FzfLua complete buffer line" })
|
|
||||||
set("n", "<leader>cc", fzf.commands, { desc = "FzfLua commands" })
|
|
||||||
set("n", "<leader>cf", fzf.complete_file, { desc = "FzfLua complete file" })
|
|
||||||
set("n", "<leader>cF", fzf.complete_path, { desc = "FzfLua complete path" })
|
|
||||||
set("n", "<leader>ch", fzf.command_history, { desc = "FzfLua command history" })
|
|
||||||
set("n", "<leader>cH", fzf.highlights, { desc = "FzfLua color highlights" })
|
|
||||||
set("n", "<leader>cl", fzf.complete_line, { desc = "FzfLua complete line" })
|
|
||||||
set("n", "<leader>co", fzf.nvim_options, { desc = "FzfLua nvim options" })
|
|
||||||
set("n", "<leader>cr", fzf.profiles, { desc = "FzfLua fzf profiles" })
|
|
||||||
set("n", "<leader>cs", fzf.colorschemes, { desc = "FzfLua color schemes" })
|
|
||||||
set("n", "<leader>ct", fzf.tabs, { desc = "FzfLua tabs" })
|
|
||||||
set("n", "<leader>da", fzf.diagnostics_document, { desc = "FzfLua document diagnostics" })
|
|
||||||
set("n", "<leader>dw", fzf.diagnostics_workspace, { desc = "FzfLua workspace diagnostics" })
|
|
||||||
set("n", "<leader>ec", function()
|
|
||||||
fzf.files({ cwd = vim.fn.stdpath("config") })
|
|
||||||
end, { desc = "FzfLua nvim config files" })
|
|
||||||
set("n", "<leader>ep", function()
|
|
||||||
fzf.files({ cwd = vim.fs.joinpath(vim.fn.stdpath("data"), "site") })
|
|
||||||
end, { desc = "FzfLua find files" })
|
|
||||||
set("n", "<leader>es", function()
|
|
||||||
fzf.files({ cwd = '~/.config/kitty/sessions' })
|
|
||||||
end, { desc = "FzfLua kitty sessions" })
|
|
||||||
set("n", "<leader>eS", "<cmd>Oil ~/.config/kitty/sessions<cr>", { desc = "Kitty sessions (dir)" })
|
|
||||||
set("n", "<leader>fa", fzf.git_files, { desc = "FzfLua git files" })
|
|
||||||
set("n", "<leader>ff", fzf.files, { desc = "FzfLua find files" })
|
|
||||||
set("n", "<leader>fg", fzf.global, { desc = "FzfLua global" })
|
|
||||||
set("n", "<leader>fo", frecency.frecency, { desc = "FzfLua frecency oldfiles" })
|
|
||||||
set("n", "<leader>ft", fzf.filetypes, { desc = "FzfLua file types" })
|
|
||||||
set("n", "<leader>;", function()
|
|
||||||
frecency.frecency({ cwd_only = true })
|
|
||||||
end, { desc = "FzfLua frecency files" })
|
|
||||||
set("n", "<leader>gb", fzf.git_branches, { desc = "FzfLua git branches" })
|
|
||||||
set("n", "<leader>gB", fzf.git_blame, { desc = "FzfLua git blame" })
|
|
||||||
set("n", "<leader>gc", fzf.git_bcommits, { desc = "FzfLua git buffer commits" })
|
|
||||||
set("n", "<leader>gC", fzf.git_commits, { desc = "FzfLua git commits" })
|
|
||||||
set("n", "<leader>gd", fzf.git_diff, { desc = "FzfLua git diff" })
|
|
||||||
set("n", "<leader>gh", fzf.git_hunks, { desc = "FzfLua git hunks" })
|
|
||||||
set("n", "<leader>gC", fzf.git_commits, { desc = "FzfLua git commits" })
|
|
||||||
set("n", "<leader>gs", fzf.git_status, { desc = "FzfLua git status" })
|
|
||||||
set("n", "<leader>gS", fzf.git_stash, { desc = "FzfLua git stash" })
|
|
||||||
set("n", "<leader>gt", fzf.git_tags, { desc = "FzfLua git tags" })
|
|
||||||
set("n", "<leader>gw", fzf.git_worktrees, { desc = "FzfLua git worktrees" })
|
|
||||||
set("n", "<leader>ha", fzf.helptags, { desc = "FzfLua help tags" })
|
|
||||||
set("n", "<leader>hk", fzf.keymaps, { desc = "FzfLua keymaps" })
|
|
||||||
set("n", "<leader>ma", fzf.marks, { desc = "FzfLua marks" })
|
|
||||||
set("n", "<leader>mp", fzf.manpages, { desc = "FzfLua man pages" })
|
|
||||||
set("n", "<leader>qa", fzf.quickfix, { desc = "FzfLua quickfix" })
|
|
||||||
set("n", "<leader>qs", fzf.quickfix_stack, { desc = "FzfLua quickfix stack" })
|
|
||||||
set("n", "<leader>ql", fzf.loclist, { desc = "FzfLua loclist" })
|
|
||||||
set("n", "<leader>qh", fzf.loclist_stack, { desc = "FzfLua loclist stack" })
|
|
||||||
set("n", "<leader>ra", fzf.resume, { desc = "FzfLua resume" })
|
|
||||||
set("n", "<leader>rr", fzf.registers, { desc = "FzfLua registers" })
|
|
||||||
set("n", "<leader>ta", fzf.treesitter, { desc = "FzfLua treesitter symbols" })
|
|
||||||
set("n", "<leader>sa", fzf.live_grep, { desc = "FzfLua live grep" })
|
|
||||||
set("n", "<leader>sb", fzf.blines, { desc = "FzfLua buffer lines" })
|
|
||||||
set("n", "<leader>sB", fzf.grep_curbuf, { desc = "FzfLua grep current buffer" })
|
|
||||||
set("n", "<leader>sg", fzf.grep, { desc = "FzfLua grep" })
|
|
||||||
set("n", "<leader>sh", fzf.search_history, { desc = "FzfLua search history" })
|
|
||||||
set("n", "<leader>sl", fzf.grep_loclist, { desc = "FzfLua grep loclist" })
|
|
||||||
set("n", "<leader>sn", fzf.live_grep_native, { desc = "FzfLua live grep native" })
|
|
||||||
set("n", "<leader>so", fzf.lines, { desc = "FzfLua open buffers lines" })
|
|
||||||
set("n", "<leader>sp", fzf.grep_project, { desc = "FzfLua grep project" })
|
|
||||||
set("n", "<leader>sq", fzf.grep_quickfix, { desc = "FzfLua grep quickfix" })
|
|
||||||
set("n", "<leader>sr", function() fzf.grep({ resume = true }) end, { desc = "FzfLua grep resume" })
|
|
||||||
set("n", "<leader>sc", fzf.spellcheck, { desc = "FzfLua spell check" })
|
|
||||||
set("n", "<leader>ss", fzf.spell_suggest, { desc = "FzfLua spell suggest" })
|
|
||||||
set({ "n", "v" }, "<leader>sv", fzf.grep_visual, { desc = "FzfLua grep visual" })
|
|
||||||
set("n", "<leader>sw", fzf.grep_cword, { desc = "FzfLua grep cword" })
|
|
||||||
set("n", "<leader>sW", fzf.grep_cWORD, { desc = "FzfLua grep cword" })
|
|
||||||
set("n", "<leader>U", fzf.undotree, { desc = "FzfLua undo tree" })
|
|
||||||
set("n", "<leader>wa", fzf.lsp_live_workspace_symbols, { desc = "FzfLua document symbols" })
|
|
||||||
set("n", "<leader>wd", fzf.lsp_document_symbols, { desc = "FzfLua document symbols" })
|
|
||||||
set("n", "<leader>wf", fzf.lsp_finder, { desc = "FzfLua LSP finder" })
|
|
||||||
set("n", "<leader>wp", fzf.lsp_workspace_symbols, { desc = "FzfLua workspace symbols" })
|
|
||||||
set("n", "<leader>wz", fzf.zoxide, { desc = "FzfLua zoxide" })
|
|
||||||
set("n", "gd", fzf.lsp_definitions, { desc = "Goto Definition" })
|
|
||||||
set("n", "gD", fzf.lsp_declarations, { desc = "Goto Declarations" })
|
|
||||||
set("n", "grr", fzf.lsp_references, { desc = "References" })
|
|
||||||
set("n", "gri", fzf.lsp_implementations, { desc = "Goto Implementation" })
|
|
||||||
set("n", "grI", fzf.lsp_incoming_calls, { desc = "Incomming calls" })
|
|
||||||
set("n", "grO", fzf.lsp_outgoing_calls, { desc = "Outgouing calls" })
|
|
||||||
set("n", "grs", fzf.lsp_type_sub, { desc = "Outgouing calls" })
|
|
||||||
set("n", "grp", fzf.lsp_type_super, { desc = "Outgouing calls" })
|
|
||||||
set("n", "grt", fzf.lsp_typedefs, { desc = "Goto Type Definition" })
|
|
||||||
|
|
||||||
set("n", "<leader>Gf", function()
|
|
||||||
fzf.files({ cwd = go_root(), cmd = "fd --type f -e go" })
|
|
||||||
end, { desc = "FzfLua Go files" })
|
|
||||||
set("n", "<leader>GF", function()
|
|
||||||
fzf.files({ cwd = go_mod(), cmd = "fd --type f -e go" })
|
|
||||||
end, { desc = "FzfLua Go mod files" })
|
|
||||||
set("n", "<leader>Gl", function()
|
|
||||||
fzf.files({ cmd = "fd --type f -e go" })
|
|
||||||
end, { desc = "FzfLua Go current dir files" })
|
|
||||||
set("n", "<leader>Gs", function()
|
|
||||||
go_grep(go_root())
|
|
||||||
end, { desc = "FzfLua Go grep declarations" })
|
|
||||||
set("n", "<leader>GS", function()
|
|
||||||
go_grep(go_mod())
|
|
||||||
end, { desc = "FzfLua Go grep mod declarations" })
|
|
||||||
set("n", "<leader>Gd", function()
|
|
||||||
go_grep(nil)
|
|
||||||
end, { desc = "FzfLua Go current dir grep declarations" })
|
|
||||||
set("n", "<leader>Gm", function()
|
|
||||||
go_grep(go_mod_pkg or go_mod())
|
|
||||||
end, { desc = "FzfLua Go grep mod declarations" })
|
|
||||||
set("n", "<leader>GM", function()
|
|
||||||
fzf.zoxide({
|
|
||||||
cmd = "fd '' --type d " .. vim.fn.shellescape(go_mod()) .. [[ | awk '{print "\t"$1}']],
|
|
||||||
actions = {
|
|
||||||
["enter"] = function(a)
|
|
||||||
go_mod_pkg = vim.fn.trim(a[1])
|
|
||||||
go_grep(go_mod_pkg)
|
|
||||||
end
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end, { desc = "FzfLua Go select package and grep package declarations" })
|
|
||||||
set("n", "<leader>Gp", function()
|
|
||||||
go_grep(go_root_pkg or go_root())
|
|
||||||
end, { desc = "FzfLua Go grep package declarations" })
|
|
||||||
set("n", "<leader>GP", function()
|
|
||||||
fzf.zoxide({
|
|
||||||
cmd = "fd '' --type d " .. vim.fn.shellescape(go_root()) .. [[ | awk '{print "\t"$1}']],
|
|
||||||
actions = {
|
|
||||||
["enter"] = function(a)
|
|
||||||
go_root_pkg = vim.fn.trim(a[1])
|
|
||||||
go_grep(go_root_pkg)
|
|
||||||
end
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end, { desc = "FzfLua Go select package and grep package declarations" })
|
|
||||||
|
|
||||||
set("n", "<leader>of", function()
|
|
||||||
fzf.files({ cwd = "~/cloned/Odin", cmd = "fd --type f -e odin" })
|
|
||||||
end, { desc = "FzfLua Odin files" })
|
|
||||||
set("n", "<leader>ol", function()
|
|
||||||
fzf.files({ cmd = "fd --type f -e odin" })
|
|
||||||
end, { desc = "FzfLua Odin current dir files" })
|
|
||||||
set("n", "<leader>os", function()
|
|
||||||
odin_grep("~/cloned/Odin")
|
|
||||||
end, { desc = "FzfLua Odin grep declarations" })
|
|
||||||
set("n", "<leader>od", function()
|
|
||||||
odin_grep(nil)
|
|
||||||
end, { desc = "FzfLua Odin grep declarations" })
|
|
||||||
set("n", "<leader>op", function()
|
|
||||||
odin_grep(odin_pkg)
|
|
||||||
end, { desc = "FzfLua Odin grep package declarations" })
|
|
||||||
set("n", "<leader>oP", function()
|
|
||||||
fzf.zoxide({
|
|
||||||
cmd = [[fd '' --type d ~/cloned/Odin | awk '{print "\t"$1}']],
|
|
||||||
actions = {
|
|
||||||
["enter"] = function(a)
|
|
||||||
odin_pkg = vim.fn.trim(a[1])
|
|
||||||
odin_grep(odin_pkg)
|
|
||||||
end
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end, { desc = "FzfLua Odin select package and grep package declarations" })
|
|
||||||
else
|
|
||||||
print("plugin fzf-lua missing")
|
|
||||||
end
|
|
||||||
if not ok2 then
|
|
||||||
print("plugin fzf-lua-frecency missing")
|
|
||||||
end
|
|
||||||
|
|
||||||
--vim.keymap.set("n", "<leader>-", "<cmd>Oil<cr>", { desc = "Oil file manager" })
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
vim.pack.add({ "https://github.com/NMAC427/guess-indent.nvim" })
|
|
||||||
|
|
||||||
local ok, guess_indent = pcall(require, "guess-indent")
|
|
||||||
if ok then
|
|
||||||
guess_indent.setup()
|
|
||||||
else
|
|
||||||
print("plugin guess-indent missing")
|
|
||||||
end
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
vim.api.nvim_create_autocmd("PackChanged", {
|
|
||||||
group = vim.api.nvim_create_augroup("luasnip-update", { clear = true }),
|
|
||||||
callback = function(ev)
|
|
||||||
local name, kind = ev.data.spec.name, ev.data.kind
|
|
||||||
if name == "luasnip" and (kind == "install" or kind == "update") then
|
|
||||||
vim.system({ "make install_jsregexp" }, { cwd = ev.data.path }):wait()
|
|
||||||
print("luasnip make done.")
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.pack.add({ { src = "https://github.com/L3MON4D3/LuaSnip", version = vim.version.range("^2.0.0") } })
|
|
||||||
local ok, ls = pcall(require, "luasnip")
|
|
||||||
|
|
||||||
if ok then
|
|
||||||
vim.keymap.set({ "i" }, "<C-K>", function()
|
|
||||||
ls.expand()
|
|
||||||
end, { silent = true })
|
|
||||||
vim.keymap.set({ "i", "s" }, "<C-L>", function(fallback)
|
|
||||||
if ls.locally_jumpable() then
|
|
||||||
ls.jump(1)
|
|
||||||
else
|
|
||||||
local key = vim.api.nvim_replace_termcodes("<C-L>", true, false, true)
|
|
||||||
vim.api.nvim_feedkeys(key, "n", false)
|
|
||||||
end
|
|
||||||
end, { silent = true })
|
|
||||||
vim.keymap.set({ "i", "s" }, "<C-J>", function()
|
|
||||||
if ls.locally_jumpable() then
|
|
||||||
ls.jump(-1)
|
|
||||||
else
|
|
||||||
local key = vim.api.nvim_replace_termcodes("<C-J>", true, false, true)
|
|
||||||
vim.api.nvim_feedkeys(key, "n", false)
|
|
||||||
end
|
|
||||||
end, { silent = true })
|
|
||||||
|
|
||||||
vim.keymap.set({ "i", "s" }, "<C-E>", function()
|
|
||||||
if ls.choice_active() then
|
|
||||||
ls.change_choice(1)
|
|
||||||
else
|
|
||||||
local key = vim.api.nvim_replace_termcodes("<C-E>", true, false, true)
|
|
||||||
vim.api.nvim_feedkeys(key, "n", false)
|
|
||||||
end
|
|
||||||
end, { silent = true })
|
|
||||||
|
|
||||||
require("luasnip.loaders.from_lua").load({ paths = vim.fs.joinpath(vim.fn.stdpath("config"), "lua", "snippets") })
|
|
||||||
else
|
|
||||||
print("plugin luasnip missing")
|
|
||||||
end
|
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
vim.pack.add({ "https://github.com/chrisgrieser/nvim-various-textobjs" })
|
vim.pack.add({ "https://github.com/chrisgrieser/nvim-various-textobjs" })
|
||||||
|
|
||||||
local ok, vto = pcall(require, "various-textobjs")
|
local ok, oil = pcall(require, "various-textobjs")
|
||||||
if ok then
|
if ok then
|
||||||
vto.setup({ keymaps = { useDefaults = true, diabledDefaults = { 'r' } } })
|
oil.setup({ keymaps = { useDefaults = true } })
|
||||||
vim.keymap.set({ 'o', 'x' }, ' }', vto.restOfParagraph)
|
|
||||||
else
|
else
|
||||||
print("plugin nvim-various-textobjs missing")
|
print("plugin nvim-various-textobjs missing")
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
vim.pack.add({ "https://github.com/sschleemilch/slimline.nvim" })
|
|
||||||
|
|
||||||
local ok, slimline = pcall(require, "slimline")
|
|
||||||
if ok then
|
|
||||||
slimline.setup()
|
|
||||||
else
|
|
||||||
print("plugin slimline missing")
|
|
||||||
end
|
|
||||||
@@ -3,7 +3,7 @@ vim.pack.add({ "https://github.com/folke/snacks.nvim" })
|
|||||||
local ok, snacks = pcall(require, "snacks")
|
local ok, snacks = pcall(require, "snacks")
|
||||||
if ok then
|
if ok then
|
||||||
snacks.setup({
|
snacks.setup({
|
||||||
picker = { enabled = false },
|
picker = { enabled = true },
|
||||||
})
|
})
|
||||||
else
|
else
|
||||||
print("plugin snacks missing")
|
print("plugin snacks missing")
|
||||||
@@ -11,21 +11,69 @@ end
|
|||||||
|
|
||||||
local set = vim.keymap.set
|
local set = vim.keymap.set
|
||||||
|
|
||||||
set("n", "<leader>ea", function()
|
set("n", "<leader><space>", function()
|
||||||
|
Snacks.picker.smart()
|
||||||
|
end, { desc = "Smart Find Files" })
|
||||||
|
|
||||||
|
set("n", "<leader>e", function()
|
||||||
Snacks.explorer()
|
Snacks.explorer()
|
||||||
end, { desc = "File Explorer" })
|
end, { desc = "File Explorer" })
|
||||||
|
|
||||||
|
set("n", "<leader>xr", function()
|
||||||
|
Snacks.picker.recent()
|
||||||
|
end, { desc = "Recent files" })
|
||||||
|
|
||||||
|
set("n", "<leader>xR", function()
|
||||||
|
Snacks.picker.resume()
|
||||||
|
end, { desc = "Resume" })
|
||||||
|
|
||||||
|
set("n", "<leader>p", function()
|
||||||
|
Snacks.picker.projects()
|
||||||
|
end, { desc = "Projects" })
|
||||||
|
|
||||||
|
set({ "n", "v" }, "<leader>xB", function()
|
||||||
|
Snacks.gitbrowse()
|
||||||
|
end, { desc = "Git Browse" })
|
||||||
|
|
||||||
set("n", "<leader>gl", function()
|
set("n", "<leader>gl", function()
|
||||||
Snacks.picker.git_log_line()
|
Snacks.picker.git_log_line()
|
||||||
end, { desc = "Git Log Line" })
|
end, { desc = "Git Log Line" })
|
||||||
|
|
||||||
set({ "n", "v" }, "<leader>gx", function()
|
set("n", "<leader>I", function()
|
||||||
Snacks.gitbrowse()
|
Snacks.picker.git_log()
|
||||||
end, { desc = "Git Browse" })
|
end, { desc = "Git Log" })
|
||||||
|
|
||||||
set("n", "<leader>xR", function()
|
set("n", "<leader>t", function()
|
||||||
Snacks.picker.resume()
|
Snacks.picker.git_status()
|
||||||
end, { desc = "Resume" })
|
end, { desc = "Git Status" })
|
||||||
|
|
||||||
|
set("n", "<leader>H", function()
|
||||||
|
Snacks.picker.git_diff()
|
||||||
|
end, { desc = "Git Diff (Hunks)" })
|
||||||
|
|
||||||
|
set("n", "<leader>xS", function()
|
||||||
|
Snacks.picker.git_stash()
|
||||||
|
end, { desc = "Git Stash" })
|
||||||
|
|
||||||
|
set({ "n", "v" }, "<leader>o", function()
|
||||||
|
Snacks.picker.grep_word()
|
||||||
|
end, { desc = "Grep Visual Selection or Word" })
|
||||||
|
|
||||||
|
set("n", "<leader>gg", function()
|
||||||
|
Snacks.lazygit()
|
||||||
|
end, { desc = "Lazygit" })
|
||||||
|
|
||||||
|
set("n", "<leader>gL", function()
|
||||||
|
Snacks.lazygit.log_file()
|
||||||
|
end, { desc = "Git Log File" })
|
||||||
|
|
||||||
|
set("n", "<leader>U", function()
|
||||||
|
Snacks.picker.undo()
|
||||||
|
end, { desc = "Undo History" })
|
||||||
|
|
||||||
|
set("n", "<leader>xs", function()
|
||||||
|
Snacks.picker.colorschemes()
|
||||||
|
end, { desc = "Colorschemes" })
|
||||||
|
|
||||||
set("n", "<leader>n", function()
|
set("n", "<leader>n", function()
|
||||||
Snacks.notifier.show_history()
|
Snacks.notifier.show_history()
|
||||||
@@ -35,6 +83,14 @@ set("n", "<leader>N", function()
|
|||||||
Snacks.picker.notifications()
|
Snacks.picker.notifications()
|
||||||
end, { desc = "Notifications" })
|
end, { desc = "Notifications" })
|
||||||
|
|
||||||
|
set("n", "<leader>xC", function()
|
||||||
|
Snacks.picker.commands()
|
||||||
|
end, { desc = "Commands" })
|
||||||
|
|
||||||
|
set("n", "<leader>xc", function()
|
||||||
|
Snacks.picker.command_history()
|
||||||
|
end, { desc = "Command History" })
|
||||||
|
|
||||||
set("n", "<leader>$", function()
|
set("n", "<leader>$", function()
|
||||||
Snacks.rename.rename_file()
|
Snacks.rename.rename_file()
|
||||||
end, { desc = "Rename File" })
|
end, { desc = "Rename File" })
|
||||||
@@ -51,6 +107,12 @@ set("n", "<leader>x.", function()
|
|||||||
Snacks.scratch.select()
|
Snacks.scratch.select()
|
||||||
end, { desc = "Select Scratch Buffer" })
|
end, { desc = "Select Scratch Buffer" })
|
||||||
|
|
||||||
|
-- LSP
|
||||||
|
|
||||||
|
set("n", "gD", function()
|
||||||
|
Snacks.picker.lsp_declarations()
|
||||||
|
end, { desc = "Goto Declaration" })
|
||||||
|
|
||||||
-- Terminal
|
-- Terminal
|
||||||
|
|
||||||
set({ "n", "t" }, "<c-/>", function()
|
set({ "n", "t" }, "<c-/>", function()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
vim.pack.add({
|
vim.pack.add({
|
||||||
{
|
{
|
||||||
src = "https://github.com/kylechui/nvim-surround",
|
src = "https://github.com/kylechui/nvim-surround",
|
||||||
version = vim.version.range("^4.0.0"),
|
version = vim.version.range("^3.0.0"),
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
75
nvim/.config/nvim/lua/plugins/telescope.lua
Normal file
75
nvim/.config/nvim/lua/plugins/telescope.lua
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
vim.api.nvim_create_autocmd("PackChanged", {
|
||||||
|
group = vim.api.nvim_create_augroup("telescope-fzf-native-update", { clear = true }),
|
||||||
|
callback = function(ev)
|
||||||
|
local name, kind = ev.data.spec.name, ev.data.kind
|
||||||
|
if name == "telescope-fzf-native.nvim" and (kind == "install" or kind == "update") then
|
||||||
|
vim.system({ "make" }, { cwd = ev.data.path }):wait()
|
||||||
|
print("telescope-fzf-native make done.")
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.pack.add({
|
||||||
|
{ src = "https://github.com/nvim-telescope/telescope.nvim", version = "v0.2.1" },
|
||||||
|
"https://github.com/nvim-lua/plenary.nvim",
|
||||||
|
"https://github.com/nvim-telescope/telescope-fzf-native.nvim",
|
||||||
|
"https://gitlab.com/davvid/telescope-git-grep.nvim",
|
||||||
|
{ src = "https://github.com/nvim-telescope/telescope-frecency.nvim", version = vim.version.range("^1.0.0") },
|
||||||
|
})
|
||||||
|
|
||||||
|
local ok, builtin = pcall(require, "telescope.builtin")
|
||||||
|
if ok then
|
||||||
|
require("telescope").setup({
|
||||||
|
defaults = require("telescope.themes").get_ivy(),
|
||||||
|
})
|
||||||
|
local set = vim.keymap.set
|
||||||
|
|
||||||
|
require("telescope").load_extension("fzf")
|
||||||
|
require("telescope").load_extension("git_grep")
|
||||||
|
require("telescope").load_extension("frecency")
|
||||||
|
set("n", "<leader><space>", function()
|
||||||
|
require("telescope-frecency").start()
|
||||||
|
end, { desc = "Telescope frecency" })
|
||||||
|
set("n", "<leader>b", builtin.buffers, { desc = "Telescope buffers" })
|
||||||
|
set("n", "<leader>f", builtin.git_files, { desc = "Telescope git files" })
|
||||||
|
set("n", "<leader>l", builtin.current_buffer_fuzzy_find, { desc = "Telescope current buffer fuzzy find" })
|
||||||
|
set("n", "<leader>L", function()
|
||||||
|
builtin.live_grep({ grep_open_files = true })
|
||||||
|
end, { desc = "Telescope grep open files" })
|
||||||
|
set("n", "<leader>s", function()
|
||||||
|
builtin.live_grep({ command = "git grep" })
|
||||||
|
end, { desc = "Telescope grep open files" })
|
||||||
|
set("n", "<leader>d", builtin.diagnostics, { desc = "Telescope diagnostics" })
|
||||||
|
set("n", "<leader>f", builtin.git_files, { desc = "Telescope git files" })
|
||||||
|
set("n", "<leader>F", builtin.find_files, { desc = "Telescope find files" })
|
||||||
|
set("n", "<leader>gB", builtin.git_branches, { desc = "Telescope git branches" })
|
||||||
|
set("n", "<leader>gc", builtin.git_bcommits, { desc = "Telescope git buffer commits" })
|
||||||
|
set("n", "<leader>gC", builtin.git_commits, { desc = "Telescope git commits" })
|
||||||
|
set("n", "<leader>gs", builtin.git_status, { desc = "Telescope git status" })
|
||||||
|
set("n", "<leader>h", builtin.help_tags, { desc = "Telescope help tags" })
|
||||||
|
set("n", "<leader>H", builtin.keymaps, { desc = "Telescope keymaps" })
|
||||||
|
set("n", "<leader>xH", builtin.highlights, { desc = "Telescope highlights" })
|
||||||
|
set("n", "<leader>m", builtin.marks, { desc = "Telescope marks" })
|
||||||
|
set("n", "<leader>M", builtin.man_pages, { desc = "Telescope man pages" })
|
||||||
|
set("n", "<leader>o", builtin.oldfiles, { desc = "Telescope oldfiles" })
|
||||||
|
set("n", "<leader>qq", builtin.quickfix, { desc = "Telescope quickfix" })
|
||||||
|
set("n", "<leader>qh", builtin.quickfixhistory, { desc = "Telescope quickfix history" })
|
||||||
|
set("n", "<leader>ql", builtin.loclist, { desc = "Telescope loclist" })
|
||||||
|
set("n", "<leader>r", builtin.resume, { desc = "Telescope resume" })
|
||||||
|
set("n", "<leader>t", builtin.treesitter, { desc = "Telescope treesitter symbols" })
|
||||||
|
set("n", "<leader>R", builtin.registers, { desc = "Telescope registers" })
|
||||||
|
set("n", "<leader>s", function()
|
||||||
|
require("git_grep").live_grep()
|
||||||
|
end, { desc = "Telescope git grep" })
|
||||||
|
set("n", "<leader>S", builtin.live_grep, { desc = "Telescope live grep" })
|
||||||
|
set("n", "<leader>w", builtin.lsp_document_symbols, { desc = "Telescope document symbols" })
|
||||||
|
set("n", "<leader>W", builtin.lsp_workspace_symbols, { desc = "Telescope workspace symbols" })
|
||||||
|
set("n", "<leader>:", builtin.builtin, { desc = "Telescope builtin" })
|
||||||
|
|
||||||
|
set("n", "gd", builtin.lsp_definitions, { desc = "Goto Definition" })
|
||||||
|
set("n", "grr", builtin.lsp_references, { desc = "References" })
|
||||||
|
set("n", "gI", builtin.lsp_implementations, { desc = "Goto Implementation" })
|
||||||
|
set("n", "gy", builtin.lsp_type_definitions, { desc = "Goto T[y]pe Definition" })
|
||||||
|
else
|
||||||
|
print("plugin builtin missing")
|
||||||
|
end
|
||||||
@@ -15,134 +15,70 @@ vim.api.nvim_create_autocmd("PackChanged", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
vim.pack.add({
|
vim.pack.add({
|
||||||
{ src = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects", version = "main" },
|
{ src = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects", version = "master" },
|
||||||
{ src = "https://github.com/nvim-treesitter/nvim-treesitter", version = "main" },
|
{ src = "https://github.com/nvim-treesitter/nvim-treesitter", version = "master" },
|
||||||
})
|
})
|
||||||
local ok = pcall(require, "nvim-treesitter")
|
local ok, configs = pcall(require, "nvim-treesitter.configs")
|
||||||
if ok then
|
if ok then
|
||||||
vim.api.nvim_create_autocmd('FileType', {
|
configs.setup({
|
||||||
pattern = { 'odin', 'go' },
|
highlight = {
|
||||||
callback = function() vim.treesitter.start() end,
|
enable = true,
|
||||||
|
},
|
||||||
|
textobjects = {
|
||||||
|
select = {
|
||||||
|
enable = true,
|
||||||
|
lookahead = true,
|
||||||
|
keymaps = {
|
||||||
|
["aa"] = "@parameter.outer",
|
||||||
|
["ia"] = "@parameter.inner",
|
||||||
|
["af"] = "@function.outer",
|
||||||
|
["if"] = "@function.inner",
|
||||||
|
["ac"] = "@class.outer",
|
||||||
|
["ic"] = "@class.inner",
|
||||||
|
["al"] = "@call.outer",
|
||||||
|
["il"] = "@call.inner",
|
||||||
|
["ao"] = "@loop.outer",
|
||||||
|
["io"] = "@loop.inner",
|
||||||
|
["ad"] = "@conditional.outer",
|
||||||
|
["id"] = "@conditional.inner",
|
||||||
|
["ar"] = "@return.outer",
|
||||||
|
["ir"] = "@return.inner",
|
||||||
|
["as"] = "@statement.outer",
|
||||||
|
["ag"] = "@assignment.outer",
|
||||||
|
["ig"] = "@assignment.inner",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
move = {
|
||||||
|
enable = true,
|
||||||
|
set_jumps = true,
|
||||||
|
goto_next_start = {
|
||||||
|
["]m"] = "@function.outer",
|
||||||
|
["]]"] = "@class.outer",
|
||||||
|
},
|
||||||
|
goto_next_end = {
|
||||||
|
["]M"] = "@function.outer",
|
||||||
|
["]["] = "@class.outer",
|
||||||
|
},
|
||||||
|
goto_previous_start = {
|
||||||
|
["[m"] = "@function.outer",
|
||||||
|
["[["] = "@class.outer",
|
||||||
|
},
|
||||||
|
goto_previous_end = {
|
||||||
|
["[M"] = "@function.outer",
|
||||||
|
["[]"] = "@class.outer",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
swap = {
|
||||||
|
enable = true,
|
||||||
|
swap_next = {
|
||||||
|
["<leader>p"] = "@parameter.inner",
|
||||||
|
},
|
||||||
|
swap_previous = {
|
||||||
|
["<leader>P"] = "@parameter.inner",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
})
|
})
|
||||||
else
|
else
|
||||||
print("plugin nvim-treesitter.configs missing")
|
print("plugin nvim-treesitter.configs missing")
|
||||||
end
|
end
|
||||||
|
|
||||||
local textobjects
|
|
||||||
ok, textobjects = pcall(require, "nvim-treesitter-textobjects")
|
|
||||||
if ok then
|
|
||||||
textobjects.setup {
|
|
||||||
move = {
|
|
||||||
set_jumps = true,
|
|
||||||
},
|
|
||||||
select = {
|
|
||||||
-- Automatically jump forward to textobj, similar to targets.vim
|
|
||||||
lookahead = true,
|
|
||||||
-- You can choose the select mode (default is charwise 'v')
|
|
||||||
--
|
|
||||||
-- Can also be a function which gets passed a table with the keys
|
|
||||||
-- * query_string: eg '@function.inner'
|
|
||||||
-- * method: eg 'v' or 'o'
|
|
||||||
-- and should return the mode ('v', 'V', or '<c-v>') or a table
|
|
||||||
-- mapping query_strings to modes.
|
|
||||||
selection_modes = {
|
|
||||||
['@parameter.outer'] = 'v', -- charwise
|
|
||||||
['@function.outer'] = 'V', -- linewise
|
|
||||||
-- ['@class.outer'] = '<c-v>', -- blockwise
|
|
||||||
},
|
|
||||||
-- If you set this to `true` (default is `false`) then any textobject is
|
|
||||||
-- extended to include preceding or succeeding whitespace. Succeeding
|
|
||||||
-- whitespace has priority in order to act similarly to eg the built-in
|
|
||||||
-- `ap`.
|
|
||||||
--
|
|
||||||
-- Can also be a function which gets passed a table with the keys
|
|
||||||
-- * query_string: eg '@function.inner'
|
|
||||||
-- * selection_mode: eg 'v'
|
|
||||||
-- and should return true of false
|
|
||||||
include_surrounding_whitespace = false,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
local function key_select(key, object)
|
|
||||||
vim.keymap.set({ "x", "o" }, key, function()
|
|
||||||
require "nvim-treesitter-textobjects.select".select_textobject(object, "textobjects")
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
key_select("aa", "@parameter.outer")
|
|
||||||
key_select("ia", "@parameter.inner")
|
|
||||||
key_select("af", "@function.outer")
|
|
||||||
key_select("if", "@function.inner")
|
|
||||||
key_select("ac", "@class.outer")
|
|
||||||
key_select("ic", "@class.inner")
|
|
||||||
key_select("al", "@call.outer")
|
|
||||||
key_select("il", "@call.inner")
|
|
||||||
key_select("ao", "@loop.outer")
|
|
||||||
key_select("io", "@loop.inner")
|
|
||||||
key_select("ad", "@conditional.outer")
|
|
||||||
key_select("id", "@conditional.inner")
|
|
||||||
key_select("ar", "@return.outer")
|
|
||||||
key_select("ir", "@return.inner")
|
|
||||||
key_select("as", "@statement.outer")
|
|
||||||
key_select("ag", "@assignment.outer")
|
|
||||||
key_select("ig", "@assignment.inner")
|
|
||||||
|
|
||||||
vim.keymap.set({ "x", "o" }, "ax", function()
|
|
||||||
require "nvim-treesitter-textobjects.select".select_textobject("@local.scope", "locals")
|
|
||||||
end)
|
|
||||||
vim.keymap.set("n", "<leader>cp", function()
|
|
||||||
require("nvim-treesitter-textobjects.swap").swap_next "@parameter.inner"
|
|
||||||
end)
|
|
||||||
vim.keymap.set("n", "<leader>cP", function()
|
|
||||||
require("nvim-treesitter-textobjects.swap").swap_previous "@parameter.inner"
|
|
||||||
end)
|
|
||||||
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "]m", function()
|
|
||||||
require("nvim-treesitter-textobjects.move").goto_next_start("@function.outer", "textobjects")
|
|
||||||
end)
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "]]", function()
|
|
||||||
require("nvim-treesitter-textobjects.move").goto_next_start("@class.outer", "textobjects")
|
|
||||||
end)
|
|
||||||
-- You can also pass a list to group multiple queries.
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "]o", function()
|
|
||||||
require("nvim-treesitter-textobjects.move").goto_next_start({ "@loop.inner", "@loop.outer" },
|
|
||||||
"textobjects")
|
|
||||||
end)
|
|
||||||
-- You can also use captures from other query groups like `locals.scm` or `folds.scm`
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "]s", function()
|
|
||||||
require("nvim-treesitter-textobjects.move").goto_next_start("@local.scope", "locals")
|
|
||||||
end)
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "]z", function()
|
|
||||||
require("nvim-treesitter-textobjects.move").goto_next_start("@fold", "folds")
|
|
||||||
end)
|
|
||||||
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "]M", function()
|
|
||||||
require("nvim-treesitter-textobjects.move").goto_next_end("@function.outer", "textobjects")
|
|
||||||
end)
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "][", function()
|
|
||||||
require("nvim-treesitter-textobjects.move").goto_next_end("@class.outer", "textobjects")
|
|
||||||
end)
|
|
||||||
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "[m", function()
|
|
||||||
require("nvim-treesitter-textobjects.move").goto_previous_start("@function.outer", "textobjects")
|
|
||||||
end)
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "[[", function()
|
|
||||||
require("nvim-treesitter-textobjects.move").goto_previous_start("@class.outer", "textobjects")
|
|
||||||
end)
|
|
||||||
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "[M", function()
|
|
||||||
require("nvim-treesitter-textobjects.move").goto_previous_end("@function.outer", "textobjects")
|
|
||||||
end)
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "[]", function()
|
|
||||||
require("nvim-treesitter-textobjects.move").goto_previous_end("@class.outer", "textobjects")
|
|
||||||
end)
|
|
||||||
|
|
||||||
-- Go to either the start or the end, whichever is closer.
|
|
||||||
-- Use if you want more granular movements
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "]d", function()
|
|
||||||
require("nvim-treesitter-textobjects.move").goto_next("@conditional.outer", "textobjects")
|
|
||||||
end)
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "[d", function()
|
|
||||||
require("nvim-treesitter-textobjects.move").goto_previous("@conditional.outer", "textobjects")
|
|
||||||
end)
|
|
||||||
else
|
|
||||||
print("plugin nvim-treesitter-textobjects missing")
|
|
||||||
end
|
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
vim.pack.add({ "https://github.com/folke/which-key.nvim" })
|
|
||||||
|
|
||||||
local ok, whichkey = pcall(require, "which-key")
|
|
||||||
if ok then
|
|
||||||
whichkey.setup({ preset = "helix", delay = 1000 })
|
|
||||||
else
|
|
||||||
print("plugin whichkey missing")
|
|
||||||
end
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
return {
|
|
||||||
s(
|
|
||||||
"ife",
|
|
||||||
fmt(
|
|
||||||
[[
|
|
||||||
if err != nil {
|
|
||||||
<>
|
|
||||||
}
|
|
||||||
]],
|
|
||||||
{
|
|
||||||
i(0),
|
|
||||||
},
|
|
||||||
{ delimiters = "<>" }
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
s(
|
|
||||||
"ifse",
|
|
||||||
fmt(
|
|
||||||
[[
|
|
||||||
if <><>err = <>; err != nil {
|
|
||||||
<>
|
|
||||||
}
|
|
||||||
]],
|
|
||||||
{
|
|
||||||
i(1),
|
|
||||||
f(function(args)
|
|
||||||
local a = args[1][1]
|
|
||||||
if string.sub(a, -2) == ", " or a == "" then
|
|
||||||
return ""
|
|
||||||
elseif string.sub(a, -1) == "," then
|
|
||||||
return " "
|
|
||||||
else
|
|
||||||
return ", "
|
|
||||||
end
|
|
||||||
end, { 1 }),
|
|
||||||
i(2),
|
|
||||||
i(0),
|
|
||||||
},
|
|
||||||
{ delimiters = "<>" }
|
|
||||||
)
|
|
||||||
),
|
|
||||||
}
|
|
||||||
@@ -1,56 +1,23 @@
|
|||||||
{
|
{
|
||||||
"plugins": {
|
"plugins": {
|
||||||
"LuaSnip": {
|
|
||||||
"rev": "642b0c595e11608b4c18219e93b88d7637af27bc",
|
|
||||||
"src": "https://github.com/L3MON4D3/LuaSnip",
|
|
||||||
"version": "2.0.0 - 3.0.0"
|
|
||||||
},
|
|
||||||
"arrow.nvim": {
|
"arrow.nvim": {
|
||||||
"rev": "6e0f726f55f99332dd726a53effd6813786b6d49",
|
"rev": "6e0f726f55f99332dd726a53effd6813786b6d49",
|
||||||
"src": "https://github.com/otavioschwanck/arrow.nvim"
|
"src": "https://github.com/otavioschwanck/arrow.nvim"
|
||||||
},
|
},
|
||||||
"auto-session": {
|
"auto-session": {
|
||||||
"rev": "62437532b38495551410b3f377bcf4aaac574ebe",
|
"rev": "292492ab7af4bd8b9e37e28508bc8ce995722fd5",
|
||||||
"src": "https://github.com/rmagatti/auto-session"
|
"src": "https://github.com/rmagatti/auto-session"
|
||||||
},
|
},
|
||||||
"conform.nvim": {
|
"conform.nvim": {
|
||||||
"rev": "dca1a190aa85f9065979ef35802fb77131911106",
|
"rev": "8314f4c9e205e7f30b62147069729f9a1227d8bf",
|
||||||
"src": "https://github.com/stevearc/conform.nvim"
|
"src": "https://github.com/stevearc/conform.nvim"
|
||||||
},
|
},
|
||||||
"flash.nvim": {
|
"flash.nvim": {
|
||||||
"rev": "fcea7ff883235d9024dc41e638f164a450c14ca2",
|
"rev": "fcea7ff883235d9024dc41e638f164a450c14ca2",
|
||||||
"src": "https://github.com/folke/flash.nvim"
|
"src": "https://github.com/folke/flash.nvim"
|
||||||
},
|
},
|
||||||
"flexoki-neovim": {
|
|
||||||
"rev": "c3e2251e813d29d885a7cbbe9808a7af234d845d",
|
|
||||||
"src": "https://github.com/kepano/flexoki-neovim"
|
|
||||||
},
|
|
||||||
"fzf-lua": {
|
|
||||||
"rev": "2e29d5f233defe3c5587df0e4dd29af2bd95a5a7",
|
|
||||||
"src": "https://github.com/ibhagwan/fzf-lua"
|
|
||||||
},
|
|
||||||
"fzf-lua-frecency.nvim": {
|
|
||||||
"rev": "5726403e132fe8699d670c7ef8d59dbed887b4e6",
|
|
||||||
"src": "https://github.com/elanmed/fzf-lua-frecency.nvim"
|
|
||||||
},
|
|
||||||
"guess-indent.nvim": {
|
|
||||||
"rev": "84a4987ff36798c2fc1169cbaff67960aed9776f",
|
|
||||||
"src": "https://github.com/NMAC427/guess-indent.nvim"
|
|
||||||
},
|
|
||||||
"kanagawa.nvim": {
|
|
||||||
"rev": "8ad3b4cdcc804b332c32db8f9743667e1bb82b99",
|
|
||||||
"src": "https://github.com/rebelot/kanagawa.nvim"
|
|
||||||
},
|
|
||||||
"lush.nvim": {
|
|
||||||
"rev": "9c60ec2279d62487d942ce095e49006af28eed6e",
|
|
||||||
"src": "https://github.com/rktjmp/lush.nvim"
|
|
||||||
},
|
|
||||||
"miasma.nvim": {
|
|
||||||
"rev": "627f2e1cac91de0d1d4dd7472b506a30f41b2b7d",
|
|
||||||
"src": "https://github.com/xero/miasma.nvim"
|
|
||||||
},
|
|
||||||
"multicursor.nvim": {
|
"multicursor.nvim": {
|
||||||
"rev": "704b99f10a72cc05d370cfeb294ff83412a8ab55",
|
"rev": "993c6eda70077c5619388900dcffefff73b40c96",
|
||||||
"src": "https://github.com/jake-stewart/multicursor.nvim",
|
"src": "https://github.com/jake-stewart/multicursor.nvim",
|
||||||
"version": "'1.0'"
|
"version": "'1.0'"
|
||||||
},
|
},
|
||||||
@@ -59,43 +26,53 @@
|
|||||||
"src": "https://github.com/EdenEast/nightfox.nvim"
|
"src": "https://github.com/EdenEast/nightfox.nvim"
|
||||||
},
|
},
|
||||||
"nvim-surround": {
|
"nvim-surround": {
|
||||||
"rev": "61319d4bd1c5e336e197defa15bd104c51f0fb29",
|
"rev": "1098d7b3c34adcfa7feb3289ee434529abd4afd1",
|
||||||
"src": "https://github.com/kylechui/nvim-surround",
|
"src": "https://github.com/kylechui/nvim-surround",
|
||||||
"version": "4.0.0 - 5.0.0"
|
"version": "3.0.0 - 4.0.0"
|
||||||
},
|
},
|
||||||
"nvim-treesitter": {
|
"nvim-treesitter": {
|
||||||
"rev": "4916d6592ede8c07973490d9322f187e07dfefac",
|
"rev": "42fc28ba918343ebfd5565147a42a26580579482",
|
||||||
"src": "https://github.com/nvim-treesitter/nvim-treesitter",
|
"src": "https://github.com/nvim-treesitter/nvim-treesitter",
|
||||||
"version": "'main'"
|
"version": "'master'"
|
||||||
},
|
},
|
||||||
"nvim-treesitter-textobjects": {
|
"nvim-treesitter-textobjects": {
|
||||||
"rev": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e",
|
"rev": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef",
|
||||||
"src": "https://github.com/nvim-treesitter/nvim-treesitter-textobjects",
|
"src": "https://github.com/nvim-treesitter/nvim-treesitter-textobjects",
|
||||||
"version": "'main'"
|
"version": "'master'"
|
||||||
},
|
},
|
||||||
"nvim-various-textobjs": {
|
"nvim-various-textobjs": {
|
||||||
"rev": "ad78e9d925c95d675b32dd7ba6d253f96ce063fe",
|
"rev": "1532de4649c81b88ee0b4e53bdd17e551dd4589a",
|
||||||
"src": "https://github.com/chrisgrieser/nvim-various-textobjs"
|
"src": "https://github.com/chrisgrieser/nvim-various-textobjs"
|
||||||
},
|
},
|
||||||
"oil.nvim": {
|
"oil.nvim": {
|
||||||
"rev": "0fcc83805ad11cf714a949c98c605ed717e0b83e",
|
"rev": "81b8a91735ad5cd24a6b3137f14a89f19176364f",
|
||||||
"src": "https://github.com/stevearc/oil.nvim"
|
"src": "https://github.com/stevearc/oil.nvim"
|
||||||
},
|
},
|
||||||
"slimline.nvim": {
|
"plenary.nvim": {
|
||||||
"rev": "6e1387e69e222957ff87e5ddc61470d4e04ac683",
|
"rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
|
||||||
"src": "https://github.com/sschleemilch/slimline.nvim"
|
"src": "https://github.com/nvim-lua/plenary.nvim"
|
||||||
},
|
},
|
||||||
"snacks.nvim": {
|
"snacks.nvim": {
|
||||||
"rev": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e",
|
"rev": "fe7cfe9800a182274d0f868a74b7263b8c0c020b",
|
||||||
"src": "https://github.com/folke/snacks.nvim"
|
"src": "https://github.com/folke/snacks.nvim"
|
||||||
},
|
},
|
||||||
"which-key.nvim": {
|
"telescope-frecency.nvim": {
|
||||||
"rev": "3aab2147e74890957785941f0c1ad87d0a44c15a",
|
"rev": "d4f1bb2a939cc02720bceb635095246751db144f",
|
||||||
"src": "https://github.com/folke/which-key.nvim"
|
"src": "https://github.com/nvim-telescope/telescope-frecency.nvim",
|
||||||
|
"version": "1.0.0 - 2.0.0"
|
||||||
},
|
},
|
||||||
"zenbones.nvim": {
|
"telescope-fzf-native.nvim": {
|
||||||
"rev": "22b7fb75593412e0dc81b4bdefae718e9e84aa82",
|
"rev": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c",
|
||||||
"src": "https://github.com/zenbones-theme/zenbones.nvim"
|
"src": "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
|
||||||
|
},
|
||||||
|
"telescope-git-grep.nvim": {
|
||||||
|
"rev": "0936967941a6e7b3875d1b1bfff41b8bcd75bdf5",
|
||||||
|
"src": "https://gitlab.com/davvid/telescope-git-grep.nvim"
|
||||||
|
},
|
||||||
|
"telescope.nvim": {
|
||||||
|
"rev": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179",
|
||||||
|
"src": "https://github.com/nvim-telescope/telescope.nvim",
|
||||||
|
"version": "'v0.2.1'"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"workspace.library" : [
|
|
||||||
"/usr/local/share/oxwm"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,321 +0,0 @@
|
|||||||
---@meta
|
|
||||||
|
|
||||||
---Load type definitions for LSP
|
|
||||||
---@module 'oxwm'
|
|
||||||
|
|
||||||
-- Modifier key: "Mod4" is the Super/Windows key, "Mod1" is Alt
|
|
||||||
local modkey = "Mod4"
|
|
||||||
|
|
||||||
-- Terminal emulator command (defaults to alacritty)
|
|
||||||
local terminal = "st"
|
|
||||||
|
|
||||||
local colors
|
|
||||||
local f = io.open(os.getenv("HOME") .. "/.lightmode")
|
|
||||||
if f ~= nil then
|
|
||||||
io.close(f)
|
|
||||||
colors = require("light")
|
|
||||||
else
|
|
||||||
colors = require("dark")
|
|
||||||
end
|
|
||||||
os.execute("hsetroot -solid '" .. colors.bg .. "'")
|
|
||||||
|
|
||||||
-- Workspace tags - can be numbers, names, or icons (requires a Nerd Font)
|
|
||||||
local tags = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }
|
|
||||||
|
|
||||||
-- Font for the status bar (use "fc-list" to see available fonts)
|
|
||||||
local bar_font = "monospace:style=Bold:size=10"
|
|
||||||
|
|
||||||
-- Define your blocks
|
|
||||||
-- Similar to widgets in qtile, or dwmblocks
|
|
||||||
local blocks = {
|
|
||||||
oxwm.bar.block.ram({
|
|
||||||
format = "Ram: {used}/{total} GB",
|
|
||||||
interval = 5,
|
|
||||||
color = colors.light_blue,
|
|
||||||
underline = false,
|
|
||||||
}),
|
|
||||||
oxwm.bar.block.static({
|
|
||||||
text = " │ ",
|
|
||||||
interval = 999999999,
|
|
||||||
color = colors.lavender,
|
|
||||||
underline = false,
|
|
||||||
}),
|
|
||||||
oxwm.bar.block.shell({
|
|
||||||
format = "{}",
|
|
||||||
command = "uname -r",
|
|
||||||
interval = 999999999,
|
|
||||||
color = colors.red,
|
|
||||||
underline = false,
|
|
||||||
}),
|
|
||||||
-- oxwm.bar.block.static({
|
|
||||||
-- text = " │ ",
|
|
||||||
-- interval = 999999999,
|
|
||||||
-- color = colors.lavender,
|
|
||||||
-- underline = false,
|
|
||||||
-- }),
|
|
||||||
-- oxwm.bar.block.battery({
|
|
||||||
-- format = "Bat: {}%",
|
|
||||||
-- charging = "⚡ Bat: {}%",
|
|
||||||
-- discharging = "- Bat: {}%",
|
|
||||||
-- full = "✓ Bat: {}%",
|
|
||||||
-- interval = 30,
|
|
||||||
-- color = colors.green,
|
|
||||||
-- underline = false,
|
|
||||||
-- }),
|
|
||||||
oxwm.bar.block.static({
|
|
||||||
text = " │ ",
|
|
||||||
interval = 999999999,
|
|
||||||
color = colors.lavender,
|
|
||||||
underline = false,
|
|
||||||
}),
|
|
||||||
oxwm.bar.block.datetime({
|
|
||||||
format = "{}",
|
|
||||||
date_format = "%a, %b %d - %H:%M",
|
|
||||||
interval = 1,
|
|
||||||
color = colors.cyan,
|
|
||||||
underline = false,
|
|
||||||
}),
|
|
||||||
}
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Basic Settings
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
oxwm.set_terminal(terminal)
|
|
||||||
oxwm.set_modkey(modkey) -- This is for Mod + mouse binds, such as drag/resize
|
|
||||||
oxwm.set_tags(tags)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Layouts
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Set custom symbols for layouts (displayed in the status bar)
|
|
||||||
-- Available layouts: "tiling", "normie" (floating), "grid", "monocle", "tabbed"
|
|
||||||
oxwm.set_layout_symbol("tiling", "[T]")
|
|
||||||
oxwm.set_layout_symbol("normie", "[F]")
|
|
||||||
oxwm.set_layout_symbol("tabbed", "[=]")
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Appearance
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Border configuration
|
|
||||||
|
|
||||||
-- Width in pixels
|
|
||||||
oxwm.border.set_width(3)
|
|
||||||
-- Color of focused window border
|
|
||||||
oxwm.border.set_focused_color(colors.orange)
|
|
||||||
-- Color of unfocused window borders
|
|
||||||
oxwm.border.set_unfocused_color(colors.grey)
|
|
||||||
|
|
||||||
-- Smart Enabled = No border if 1 window
|
|
||||||
oxwm.gaps.set_smart(true)
|
|
||||||
-- Inner gaps (horizontal, vertical) in pixels
|
|
||||||
oxwm.gaps.set_inner(5, 5)
|
|
||||||
-- Outer gaps (horizontal, vertical) in pixels
|
|
||||||
oxwm.gaps.set_outer(5, 5)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Window Rules
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Rules allow you to automatically configure windows based on their properties
|
|
||||||
-- You can match windows by class, instance, title, or role
|
|
||||||
-- Available properties: floating, tag, fullscreen, etc.
|
|
||||||
--
|
|
||||||
-- Common use cases:
|
|
||||||
-- - Force floating for certain applications (dialogs, utilities)
|
|
||||||
-- - Send specific applications to specific workspaces
|
|
||||||
-- - Configure window behavior based on title or class
|
|
||||||
|
|
||||||
-- Examples (uncomment to use):
|
|
||||||
oxwm.rule.add({ instance = "gimp", floating = true })
|
|
||||||
-- oxwm.rule.add({ class = "Alacritty", tag = 9, focus = true })
|
|
||||||
-- oxwm.rule.add({ class = "firefox", title = "Library", floating = true })
|
|
||||||
-- oxwm.rule.add({ class = "firefox", tag = 2 })
|
|
||||||
-- oxwm.rule.add({ instance = "mpv", floating = true })
|
|
||||||
|
|
||||||
-- To find window properties, use xprop and click on the window
|
|
||||||
-- WM_CLASS(STRING) shows both instance and class (instance, class)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Status Bar Configuration
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Font configuration
|
|
||||||
oxwm.bar.set_font(bar_font)
|
|
||||||
|
|
||||||
-- Set your blocks here (defined above)
|
|
||||||
oxwm.bar.set_blocks(blocks)
|
|
||||||
|
|
||||||
-- Bar color schemes (for workspace tag display)
|
|
||||||
-- Parameters: foreground, background, border
|
|
||||||
|
|
||||||
-- Unoccupied tags
|
|
||||||
oxwm.bar.set_scheme_normal(colors.fg, colors.bg, "#444444")
|
|
||||||
-- Occupied tags
|
|
||||||
oxwm.bar.set_scheme_occupied(colors.cyan, colors.bg, colors.cyan)
|
|
||||||
-- Currently selected tag
|
|
||||||
oxwm.bar.set_scheme_selected(colors.orange, colors.bg, colors.orange)
|
|
||||||
-- Urgent tags (windows requesting attention)
|
|
||||||
oxwm.bar.set_scheme_urgent(colors.red, colors.bg, colors.red)
|
|
||||||
|
|
||||||
-- Hide tags that have no windows and are not selected
|
|
||||||
-- oxwm.bar.set_hide_vacant_tags(true)
|
|
||||||
--
|
|
||||||
function shell_quote(s)
|
|
||||||
return '"' .. string.gsub(s, '[$"!`\\]', "\\%1") .. '"'
|
|
||||||
end
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Keybindings
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Keybindings are defined using oxwm.key.bind(modifiers, key, action)
|
|
||||||
-- Modifiers: {"Mod4"}, {"Mod1"}, {"Shift"}, {"Control"}, or combinations like {"Mod4", "Shift"}
|
|
||||||
-- Keys: Use uppercase for letters (e.g., "Return", "H", "J", "K", "L")
|
|
||||||
-- Actions: Functions that return actions (e.g., oxwm.spawn(), oxwm.client.kill())
|
|
||||||
--
|
|
||||||
-- A list of available keysyms can be found in the X11 keysym definitions.
|
|
||||||
-- Common keys: Return, Space, Tab, Escape, Backspace, Delete, Left, Right, Up, Down
|
|
||||||
|
|
||||||
-- Basic window management
|
|
||||||
|
|
||||||
oxwm.key.bind({ modkey }, "Return", oxwm.spawn_terminal())
|
|
||||||
-- Launch Dmenu
|
|
||||||
oxwm.key.bind(
|
|
||||||
{ modkey },
|
|
||||||
"P",
|
|
||||||
oxwm.spawn({
|
|
||||||
"sh",
|
|
||||||
"-c",
|
|
||||||
"dmenu_run -l 10 -fn " .. shell_quote(bar_font) .. " -nb " .. shell_quote(colors.bg) .. " -nf " .. shell_quote(
|
|
||||||
colors.fg
|
|
||||||
) .. " -sb " .. shell_quote(colors.orange) .. " -sf " .. shell_quote(colors.black),
|
|
||||||
})
|
|
||||||
)
|
|
||||||
-- Copy screenshot to clipboard
|
|
||||||
oxwm.key.bind({ modkey }, "S", oxwm.spawn({ "sh", "-c", "maim -s | xclip -selection clipboard -t image/png" }))
|
|
||||||
oxwm.key.bind({ modkey }, "X", oxwm.client.kill())
|
|
||||||
|
|
||||||
-- Keybind overlay - Shows important keybindings on screen
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "Slash", oxwm.show_keybinds())
|
|
||||||
|
|
||||||
-- Window state toggles
|
|
||||||
oxwm.key.bind({ modkey }, "F", oxwm.client.toggle_fullscreen())
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "Space", oxwm.client.toggle_floating())
|
|
||||||
|
|
||||||
-- Layout management
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "F", oxwm.layout.set("normie"))
|
|
||||||
oxwm.key.bind({ modkey }, "T", oxwm.layout.set("tiling"))
|
|
||||||
oxwm.key.bind({ modkey }, "G", oxwm.layout.set("grid"))
|
|
||||||
oxwm.key.bind({ modkey }, "M", oxwm.layout.set("monocle"))
|
|
||||||
oxwm.key.bind({ modkey }, "B", oxwm.layout.set("tabbed"))
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "S", oxwm.layout.set("scrolling"))
|
|
||||||
oxwm.key.bind({ modkey }, "N", oxwm.layout.cycle())
|
|
||||||
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "T", oxwm.spawn({ "lupan-set-theme", "toggle" }))
|
|
||||||
|
|
||||||
-- Master area controls (tiling layout)
|
|
||||||
|
|
||||||
-- Decrease/Increase master area width
|
|
||||||
oxwm.key.bind({ modkey }, "H", oxwm.set_master_factor(-5))
|
|
||||||
oxwm.key.bind({ modkey }, "L", oxwm.set_master_factor(5))
|
|
||||||
-- Increment/Decrement number of master windows
|
|
||||||
oxwm.key.bind({ modkey }, "I", oxwm.inc_num_master(1))
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "I", oxwm.inc_num_master(-1))
|
|
||||||
|
|
||||||
-- Gaps toggle
|
|
||||||
oxwm.key.bind({ modkey }, "A", oxwm.toggle_gaps())
|
|
||||||
|
|
||||||
-- Window manager controls
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "Q", oxwm.quit())
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "R", oxwm.restart())
|
|
||||||
|
|
||||||
-- Focus movement [1 for up in the stack, -1 for down]
|
|
||||||
oxwm.key.bind({ modkey }, "J", oxwm.client.focus_stack(1))
|
|
||||||
oxwm.key.bind({ modkey }, "K", oxwm.client.focus_stack(-1))
|
|
||||||
|
|
||||||
-- Window movement (swap position in stack)
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "J", oxwm.client.move_stack(1))
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "K", oxwm.client.move_stack(-1))
|
|
||||||
|
|
||||||
-- Multi-monitor support
|
|
||||||
|
|
||||||
-- Focus next/previous Monitors
|
|
||||||
oxwm.key.bind({ modkey }, "Comma", oxwm.monitor.focus(-1))
|
|
||||||
oxwm.key.bind({ modkey }, "Period", oxwm.monitor.focus(1))
|
|
||||||
-- Move window to next/previous Monitors
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "Comma", oxwm.monitor.tag(-1))
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "Period", oxwm.monitor.tag(1))
|
|
||||||
|
|
||||||
-- Workspace (tag) navigation
|
|
||||||
-- Switch to workspace N (tags are 0-indexed, so tag "1" is index 0)
|
|
||||||
oxwm.key.bind({ modkey }, "1", oxwm.tag.view(0))
|
|
||||||
oxwm.key.bind({ modkey }, "2", oxwm.tag.view(1))
|
|
||||||
oxwm.key.bind({ modkey }, "3", oxwm.tag.view(2))
|
|
||||||
oxwm.key.bind({ modkey }, "4", oxwm.tag.view(3))
|
|
||||||
oxwm.key.bind({ modkey }, "5", oxwm.tag.view(4))
|
|
||||||
oxwm.key.bind({ modkey }, "6", oxwm.tag.view(5))
|
|
||||||
oxwm.key.bind({ modkey }, "7", oxwm.tag.view(6))
|
|
||||||
oxwm.key.bind({ modkey }, "8", oxwm.tag.view(7))
|
|
||||||
oxwm.key.bind({ modkey }, "9", oxwm.tag.view(8))
|
|
||||||
|
|
||||||
-- Move focused window to workspace N
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "1", oxwm.tag.move_to(0))
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "2", oxwm.tag.move_to(1))
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "3", oxwm.tag.move_to(2))
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "4", oxwm.tag.move_to(3))
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "5", oxwm.tag.move_to(4))
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "6", oxwm.tag.move_to(5))
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "7", oxwm.tag.move_to(6))
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "8", oxwm.tag.move_to(7))
|
|
||||||
oxwm.key.bind({ modkey, "Shift" }, "9", oxwm.tag.move_to(8))
|
|
||||||
|
|
||||||
-- Combo view (view multiple tags at once) {argos_nothing}
|
|
||||||
-- Example: Mod+Ctrl+2 while on tag 1 will show BOTH tags 1 and 2
|
|
||||||
oxwm.key.bind({ modkey, "Control" }, "1", oxwm.tag.toggleview(0))
|
|
||||||
oxwm.key.bind({ modkey, "Control" }, "2", oxwm.tag.toggleview(1))
|
|
||||||
oxwm.key.bind({ modkey, "Control" }, "3", oxwm.tag.toggleview(2))
|
|
||||||
oxwm.key.bind({ modkey, "Control" }, "4", oxwm.tag.toggleview(3))
|
|
||||||
oxwm.key.bind({ modkey, "Control" }, "5", oxwm.tag.toggleview(4))
|
|
||||||
oxwm.key.bind({ modkey, "Control" }, "6", oxwm.tag.toggleview(5))
|
|
||||||
oxwm.key.bind({ modkey, "Control" }, "7", oxwm.tag.toggleview(6))
|
|
||||||
oxwm.key.bind({ modkey, "Control" }, "8", oxwm.tag.toggleview(7))
|
|
||||||
oxwm.key.bind({ modkey, "Control" }, "9", oxwm.tag.toggleview(8))
|
|
||||||
|
|
||||||
-- Multi tag (window on multiple tags)
|
|
||||||
-- Example: Mod+Ctrl+Shift+2 puts focused window on BOTH current tag and tag 2
|
|
||||||
oxwm.key.bind({ modkey, "Control", "Shift" }, "1", oxwm.tag.toggletag(0))
|
|
||||||
oxwm.key.bind({ modkey, "Control", "Shift" }, "2", oxwm.tag.toggletag(1))
|
|
||||||
oxwm.key.bind({ modkey, "Control", "Shift" }, "3", oxwm.tag.toggletag(2))
|
|
||||||
oxwm.key.bind({ modkey, "Control", "Shift" }, "4", oxwm.tag.toggletag(3))
|
|
||||||
oxwm.key.bind({ modkey, "Control", "Shift" }, "5", oxwm.tag.toggletag(4))
|
|
||||||
oxwm.key.bind({ modkey, "Control", "Shift" }, "6", oxwm.tag.toggletag(5))
|
|
||||||
oxwm.key.bind({ modkey, "Control", "Shift" }, "7", oxwm.tag.toggletag(6))
|
|
||||||
oxwm.key.bind({ modkey, "Control", "Shift" }, "8", oxwm.tag.toggletag(7))
|
|
||||||
oxwm.key.bind({ modkey, "Control", "Shift" }, "9", oxwm.tag.toggletag(8))
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Advanced: Keychords
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Keychords allow you to bind multiple-key sequences (like Emacs or Vim)
|
|
||||||
-- Format: {{modifiers}, key1}, {{modifiers}, key2}, ...
|
|
||||||
-- Example: Press Mod4+Space, then release and press T to spawn a terminal
|
|
||||||
oxwm.key.chord({
|
|
||||||
{ { modkey }, "Space" },
|
|
||||||
{ {}, "T" },
|
|
||||||
}, oxwm.spawn_terminal())
|
|
||||||
oxwm.key.chord({
|
|
||||||
{ { modkey }, "Space" },
|
|
||||||
{ {}, "F" },
|
|
||||||
}, oxwm.spawn({ "firefox" }))
|
|
||||||
oxwm.key.chord({
|
|
||||||
{ { modkey }, "Space" },
|
|
||||||
{ {}, "L" },
|
|
||||||
}, oxwm.spawn({ "slock" }))
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Autostart
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
-- Commands to run once when OXWM starts
|
|
||||||
-- Uncomment and modify these examples, or add your own
|
|
||||||
|
|
||||||
-- oxwm.autostart("picom")
|
|
||||||
-- oxwm.autostart("feh --bg-scale ~/wallpaper.jpg")
|
|
||||||
-- oxwm.autostart("dunst")
|
|
||||||
-- oxwm.autostart("nm-applet")
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
return {
|
|
||||||
fg = "#aaaaaa",
|
|
||||||
red = "#f7768e",
|
|
||||||
bg = "#1a1b26",
|
|
||||||
black = "#1a1b26",
|
|
||||||
cyan = "#0db9d7",
|
|
||||||
green = "#9ece6a",
|
|
||||||
lavender = "#a9b1d6",
|
|
||||||
light_blue = "#7aa2f7",
|
|
||||||
grey = "#737373",
|
|
||||||
blue = "#6dade3",
|
|
||||||
purple = "#ad8ee6",
|
|
||||||
orange = "#bd6628",
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
return {
|
|
||||||
fg = "#1a1b26",
|
|
||||||
red = "#b94646",
|
|
||||||
bg = "#dddddd",
|
|
||||||
black = "#1a1b26",
|
|
||||||
cyan = "#4d8080",
|
|
||||||
green = "#9ece6a",
|
|
||||||
lavender = "#a9b1d6",
|
|
||||||
light_blue = "#7aa2f7",
|
|
||||||
grey = "#bbbbbb",
|
|
||||||
blue = "#6dade3",
|
|
||||||
purple = "#ad8ee6",
|
|
||||||
orange = "#d78042",
|
|
||||||
}
|
|
||||||
33
river/.config/river/bar
Executable file
33
river/.config/river/bar
Executable file
@@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
FIFO="$XDG_RUNTIME_DIR/sandbar"
|
||||||
|
|
||||||
|
run() {
|
||||||
|
echo run
|
||||||
|
[ -e "$FIFO" ] && rm -f "$FIFO"
|
||||||
|
mkfifo "$FIFO"
|
||||||
|
|
||||||
|
"$HOME/.config/river/status" &
|
||||||
|
|
||||||
|
while cat "$FIFO"; do :; done | sandbar \
|
||||||
|
-font "FiraCode Nerd Font Ret:size=10" \
|
||||||
|
-active-fg-color "#000000" \
|
||||||
|
-active-bg-color "#e8c47d" \
|
||||||
|
-inactive-fg-color "#e8c47d" \
|
||||||
|
-inactive-bg-color "#000000" \
|
||||||
|
-urgent-fg-color "#000000" \
|
||||||
|
-urgent-bg-color "#cc241d" \
|
||||||
|
-title-fg-color "#000000" \
|
||||||
|
-title-bg-color "#e8c47d"
|
||||||
|
}
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
run
|
||||||
|
CODE=$?
|
||||||
|
if [ $CODE -ne 139 && $CODE -ne 134 ]; then
|
||||||
|
echo exit because $CODE
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
echo sleep and continue
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
20
river/.config/river/init
Executable file
20
river/.config/river/init
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
LOCK_COMMAND='swaylock -f -c 1f7693'
|
||||||
|
RANDR_COMMAND='${HOME}/.config/river/randr --on'
|
||||||
|
RANDR_OFF_COMMAND='${HOME}/.config/river/randr --off'
|
||||||
|
|
||||||
|
riverctl spawn "${RANDR_COMMAND}"
|
||||||
|
|
||||||
|
"${HOME}/.config/river/keymap"
|
||||||
|
|
||||||
|
# Set the default layout generator to be rivertile and start it.
|
||||||
|
# River will send the process group of the init executable SIGTERM on exit.
|
||||||
|
riverctl default-layout rivertile
|
||||||
|
rivertile -view-padding 1 -outer-padding 0 &
|
||||||
|
|
||||||
|
riverctl spawn "${HOME}/.config/river/bar"
|
||||||
|
|
||||||
|
riverctl spawn "swayidle -w timeout 300 '${LOCK_COMMAND}' \
|
||||||
|
timeout 330 '${RANDR_OFF_COMMAND}' resume '${RANDR_COMMAND}' \
|
||||||
|
before-sleep '${LOCK_COMMAND}' after-resume '${RANDR_COMMAND}'"
|
||||||
164
river/.config/river/keymap
Executable file
164
river/.config/river/keymap
Executable file
@@ -0,0 +1,164 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
LOCK_COMMAND='swaylock -f -c 1f7693'
|
||||||
|
|
||||||
|
# Note: the "Super" modifier is also known as Logo, GUI, Windows, Mod4, etc.
|
||||||
|
|
||||||
|
# Super+Shift+Return to start an instance of foot (https://codeberg.org/dnkl/foot)
|
||||||
|
riverctl map normal Super+Shift Return spawn alacritty
|
||||||
|
riverctl map normal Super+Alt Return spawn alacritty
|
||||||
|
|
||||||
|
riverctl map normal Super P spawn "wofi -S run"
|
||||||
|
|
||||||
|
# Super+Q to close the focused view
|
||||||
|
riverctl map normal Super Q close
|
||||||
|
|
||||||
|
# Super+Shift+E to exit river
|
||||||
|
riverctl map normal Super+Shift E exit
|
||||||
|
|
||||||
|
# Super+J and Super+K to focus the next/previous view in the layout stack
|
||||||
|
riverctl map normal Super J focus-view next
|
||||||
|
riverctl map normal Super K focus-view previous
|
||||||
|
|
||||||
|
# Super+Shift+J and Super+Shift+K to swap the focused view with the next/previous
|
||||||
|
# view in the layout stack
|
||||||
|
riverctl map normal Super+Shift J swap next
|
||||||
|
riverctl map normal Super+Shift K swap previous
|
||||||
|
|
||||||
|
# Super+Period and Super+Comma to focus the next/previous output
|
||||||
|
riverctl map normal Super Period focus-output next
|
||||||
|
riverctl map normal Super Comma focus-output previous
|
||||||
|
|
||||||
|
# Super+Shift+{Period,Comma} to send the focused view to the next/previous output
|
||||||
|
riverctl map normal Super+Shift Period send-to-output next
|
||||||
|
riverctl map normal Super+Shift Comma send-to-output previous
|
||||||
|
|
||||||
|
# Super+Return to bump the focused view to the top of the layout stack
|
||||||
|
riverctl map normal Super Return zoom
|
||||||
|
|
||||||
|
# Super+H and Super+L to decrease/increase the main ratio of rivertile(1)
|
||||||
|
riverctl map normal Super H send-layout-cmd rivertile "main-ratio -0.05"
|
||||||
|
riverctl map normal Super L send-layout-cmd rivertile "main-ratio +0.05"
|
||||||
|
|
||||||
|
# Super+Shift+H and Super+Shift+L to increment/decrement the main count of rivertile(1)
|
||||||
|
riverctl map normal Super+Shift H send-layout-cmd rivertile "main-count +1"
|
||||||
|
riverctl map normal Super+Shift L send-layout-cmd rivertile "main-count -1"
|
||||||
|
|
||||||
|
# Super+Alt+{H,J,K,L} to move views
|
||||||
|
riverctl map normal Super+Alt H move left 100
|
||||||
|
riverctl map normal Super+Alt J move down 100
|
||||||
|
riverctl map normal Super+Alt K move up 100
|
||||||
|
riverctl map normal Super+Alt L move right 100
|
||||||
|
|
||||||
|
# Super+Alt+Control+{H,J,K,L} to snap views to screen edges
|
||||||
|
riverctl map normal Super+Alt+Control H snap left
|
||||||
|
riverctl map normal Super+Alt+Control J snap down
|
||||||
|
riverctl map normal Super+Alt+Control K snap up
|
||||||
|
riverctl map normal Super+Alt+Control L snap right
|
||||||
|
|
||||||
|
# Super+Alt+Shift+{H,J,K,L} to resize views
|
||||||
|
riverctl map normal Super+Alt+Shift H resize horizontal -100
|
||||||
|
riverctl map normal Super+Alt+Shift J resize vertical 100
|
||||||
|
riverctl map normal Super+Alt+Shift K resize vertical -100
|
||||||
|
riverctl map normal Super+Alt+Shift L resize horizontal 100
|
||||||
|
|
||||||
|
# Super + Left Mouse Button to move views
|
||||||
|
riverctl map-pointer normal Super BTN_LEFT move-view
|
||||||
|
|
||||||
|
# Super + Right Mouse Button to resize views
|
||||||
|
riverctl map-pointer normal Super BTN_RIGHT resize-view
|
||||||
|
|
||||||
|
# Super + Middle Mouse Button to toggle float
|
||||||
|
riverctl map-pointer normal Super BTN_MIDDLE toggle-float
|
||||||
|
|
||||||
|
for i in $(seq 1 9)
|
||||||
|
do
|
||||||
|
tags=$((1 << ($i - 1)))
|
||||||
|
|
||||||
|
# Super+[1-9] to focus tag [0-8]
|
||||||
|
riverctl map normal Super $i set-focused-tags $tags
|
||||||
|
|
||||||
|
# Super+Shift+[1-9] to tag focused view with tag [0-8]
|
||||||
|
riverctl map normal Super+Shift $i set-view-tags $tags
|
||||||
|
|
||||||
|
# Super+Control+[1-9] to toggle focus of tag [0-8]
|
||||||
|
riverctl map normal Super+Control $i toggle-focused-tags $tags
|
||||||
|
|
||||||
|
# Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view
|
||||||
|
riverctl map normal Super+Shift+Control $i toggle-view-tags $tags
|
||||||
|
done
|
||||||
|
|
||||||
|
# Super+0 to focus all tags
|
||||||
|
# Super+Shift+0 to tag focused view with all tags
|
||||||
|
all_tags=$(((1 << 32) - 1))
|
||||||
|
riverctl map normal Super 0 set-focused-tags $all_tags
|
||||||
|
riverctl map normal Super+Shift 0 set-view-tags $all_tags
|
||||||
|
|
||||||
|
# Super+Space to toggle float
|
||||||
|
riverctl map normal Super Space toggle-float
|
||||||
|
|
||||||
|
# Super+F to toggle fullscreen
|
||||||
|
riverctl map normal Super F toggle-fullscreen
|
||||||
|
|
||||||
|
# Super+{Up,Right,Down,Left} to change layout orientation
|
||||||
|
riverctl map normal Super Up send-layout-cmd rivertile "main-location top"
|
||||||
|
riverctl map normal Super Right send-layout-cmd rivertile "main-location right"
|
||||||
|
riverctl map normal Super Down send-layout-cmd rivertile "main-location bottom"
|
||||||
|
riverctl map normal Super Left send-layout-cmd rivertile "main-location left"
|
||||||
|
|
||||||
|
# Declare a passthrough mode. This mode has only a single mapping to return to
|
||||||
|
# normal mode. This makes it useful for testing a nested wayland compositor
|
||||||
|
riverctl declare-mode passthrough
|
||||||
|
|
||||||
|
# Super+F11 to enter passthrough mode
|
||||||
|
riverctl map normal Super F11 enter-mode passthrough
|
||||||
|
|
||||||
|
# Super+F11 to return to normal mode
|
||||||
|
riverctl map passthrough Super F11 enter-mode normal
|
||||||
|
|
||||||
|
# Various media key mapping examples for both normal and locked mode which do
|
||||||
|
# not have a modifier
|
||||||
|
for mode in normal locked
|
||||||
|
do
|
||||||
|
# Eject the optical drive (well if you still have one that is)
|
||||||
|
riverctl map $mode None XF86Eject spawn 'eject -T'
|
||||||
|
|
||||||
|
# Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
|
||||||
|
riverctl map $mode None XF86AudioRaiseVolume spawn 'pamixer -i 5'
|
||||||
|
riverctl map $mode None XF86AudioLowerVolume spawn 'pamixer -d 5'
|
||||||
|
riverctl map $mode None XF86AudioMute spawn 'pamixer --toggle-mute'
|
||||||
|
|
||||||
|
# Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
|
||||||
|
riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause'
|
||||||
|
riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause'
|
||||||
|
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
|
||||||
|
riverctl map $mode None XF86AudioNext spawn 'playerctl next'
|
||||||
|
|
||||||
|
# Control screen backlight brightness with brightnessctl (https://github.com/Hummer12007/brightnessctl)
|
||||||
|
riverctl map $mode None XF86MonBrightnessUp spawn 'brightnessctl set +5%'
|
||||||
|
riverctl map $mode None XF86MonBrightnessDown spawn 'brightnessctl set 5%-'
|
||||||
|
done
|
||||||
|
|
||||||
|
riverctl map normal Super A focus-previous-tags
|
||||||
|
riverctl map normal Super+Control+Shift L spawn "${LOCK_COMMAND}"
|
||||||
|
riverctl map normal Super+Control+Shift S spawn "systemctl suspend"
|
||||||
|
|
||||||
|
riverctl map normal Super+Alt O spawn "${LOCK_COMMAND}"
|
||||||
|
riverctl map normal Super+Alt S spawn "systemctl suspend"
|
||||||
|
|
||||||
|
riverctl map normal Super+Alt T spawn "${HOME}/bin/lupan-set-theme toggle"
|
||||||
|
|
||||||
|
# Set background and border color
|
||||||
|
riverctl background-color 0x002b36
|
||||||
|
riverctl border-color-focused 0xac7853
|
||||||
|
riverctl border-color-unfocused 0x5387ac
|
||||||
|
|
||||||
|
riverctl keyboard-layout -options ctrl:nocaps pl
|
||||||
|
# Set keyboard repeat rate
|
||||||
|
riverctl set-repeat 50 300
|
||||||
|
|
||||||
|
# Make all views with an app-id that starts with "float" and title "foo" start floating.
|
||||||
|
riverctl rule-add -app-id 'float*' -title 'foo' float
|
||||||
|
|
||||||
|
# Make all views with app-id "bar" and any title use client-side decorations
|
||||||
|
riverctl rule-add -app-id "bar" csd
|
||||||
21
river/.config/river/randr
Executable file
21
river/.config/river/randr
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
repeat() {
|
||||||
|
for x in {0..10}; do
|
||||||
|
echo "$@"
|
||||||
|
"$@"
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
--on)
|
||||||
|
repeat wlr-randr --output DP-1 --on --scale 2 --pos 0,0 &
|
||||||
|
repeat wlr-randr --output DP-2 --on --scale 2 --pos 1920,0 &
|
||||||
|
sleep 10
|
||||||
|
;;
|
||||||
|
--off)
|
||||||
|
wlr-randr --output DP-1 --off
|
||||||
|
wlr-randr --output DP-2 --off
|
||||||
|
;;
|
||||||
|
esac
|
||||||
52
river/.config/river/status
Executable file
52
river/.config/river/status
Executable file
@@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/env sh
|
||||||
|
|
||||||
|
cpu() {
|
||||||
|
cpu="$(grep -o "^[^ ]*" /proc/loadavg)"
|
||||||
|
}
|
||||||
|
|
||||||
|
memory() {
|
||||||
|
memory="$(free -h | sed -n "2s/\([^ ]* *\)\{2\}\([^ ]*\).*/\2/p")"
|
||||||
|
}
|
||||||
|
|
||||||
|
disk() {
|
||||||
|
disk="$(df -h | awk 'NR==2{print $4}')"
|
||||||
|
}
|
||||||
|
|
||||||
|
datetime() {
|
||||||
|
datetime="$(date "+%F %H:%M")"
|
||||||
|
}
|
||||||
|
|
||||||
|
bat() {
|
||||||
|
read -r bat_status </sys/class/power_supply/BAT0/status
|
||||||
|
read -r bat_capacity </sys/class/power_supply/BAT0/capacity
|
||||||
|
bat="$bat_status $bat_capacity%"
|
||||||
|
}
|
||||||
|
|
||||||
|
vol() {
|
||||||
|
vol="$([ "$(pamixer --get-mute)" = "false" ] && printf "%s%%" "$(pamixer --get-volume)" || printf '-')"
|
||||||
|
}
|
||||||
|
|
||||||
|
display() {
|
||||||
|
echo "all status [$memory $cpu $disk] [$bat] [$vol] [$datetime]" >"$FIFO"
|
||||||
|
}
|
||||||
|
|
||||||
|
printf "%s" "$$" > "$XDG_RUNTIME_DIR/status_pid"
|
||||||
|
FIFO="$XDG_RUNTIME_DIR/sandbar"
|
||||||
|
[ -e "$FIFO" ] || mkfifo "$FIFO"
|
||||||
|
sec=0
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
sleep 1 &
|
||||||
|
wait && {
|
||||||
|
[ $((sec % 15)) -eq 0 ] && memory
|
||||||
|
[ $((sec % 15)) -eq 0 ] && cpu
|
||||||
|
[ $((sec % 15)) -eq 0 ] && disk
|
||||||
|
[ $((sec % 60)) -eq 0 ] && bat
|
||||||
|
[ $((sec % 5)) -eq 0 ] && vol
|
||||||
|
[ $((sec % 5)) -eq 0 ] && datetime
|
||||||
|
|
||||||
|
[ $((sec % 5)) -eq 0 ] && display
|
||||||
|
|
||||||
|
sec=$((sec + 1))
|
||||||
|
}
|
||||||
|
done
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
alias v=nvim
|
alias v=nvim
|
||||||
alias k=kak
|
|
||||||
alias kd='kak -s "$(basename $PWD)"'
|
|
||||||
alias ll='ls -l'
|
alias ll='ls -l'
|
||||||
alias tl='tmux list-sessions'
|
alias tl='tmux list-sessions'
|
||||||
alias rgh='rg -.'
|
alias rgh='rg -.'
|
||||||
@@ -21,28 +19,10 @@ if which eza > /dev/null; then
|
|||||||
elif which exa > /dev/null; then
|
elif which exa > /dev/null; then
|
||||||
alias ls='exa --icons'
|
alias ls='exa --icons'
|
||||||
alias tree='exa --tree --icons'
|
alias tree='exa --tree --icons'
|
||||||
else
|
|
||||||
eval $(dircolors)
|
|
||||||
alias ls='ls --color=auto'
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
alias nocaps='setxkbmap pl -option ctrl:nocaps'
|
alias nocaps='setxkbmap pl -option ctrl:nocaps'
|
||||||
alias fixdp='xrandr --output DP-0 --right-of DP-2'
|
alias fixdp='xrandr --output DP-0 --right-of DP-2'
|
||||||
alias a4='COLORTERM=truecolor TERM=xterm-256color a4'
|
|
||||||
|
|
||||||
a4i() {
|
|
||||||
local Q="${@:-}"
|
|
||||||
local NAME=$(a4 -l | grep '^ ' | fzy -q "$Q" | tr '\t' ' ' | cut -d' ' -f6-)
|
|
||||||
if [ -n "$NAME" ]; then
|
|
||||||
a4 -a "$NAME"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
kc() {
|
|
||||||
local Q="${@:-}"
|
|
||||||
local NAME=$(kak -l | fzy -q "$Q")
|
|
||||||
[ -n "$NAME" ] && kak -c "$NAME"
|
|
||||||
}
|
|
||||||
|
|
||||||
tn() {
|
tn() {
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
@@ -80,25 +60,5 @@ tai() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
vf() {
|
vf() {
|
||||||
if [ "$TERM" = "xterm-kitty" ]; then
|
|
||||||
local FILE=$(kitten choose-file)
|
|
||||||
[ -n "$FILE" ] && nvim "$FILE"
|
|
||||||
else
|
|
||||||
nvim $(fzf --multi)
|
nvim $(fzf --multi)
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
vd() {
|
|
||||||
if [ "$TERM" = "xterm-kitty" ]; then
|
|
||||||
local DIR=$(kitten choose-file --mode dir)
|
|
||||||
[ -n "$DIR" ] && ( cd "$DIR" && exec nvim )
|
|
||||||
else
|
|
||||||
local DIR=$(fzf --walker dir,follow,hidden)
|
|
||||||
[ -n "$DIR" ] && ( cd "$DIR" && exec nvim )
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
vz() {
|
|
||||||
local DIR=$(zoxide query -l | fzf --query "$Q")
|
|
||||||
[ -n "$DIR" ] && ( cd "$DIR" && exec nvim )
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,10 +10,8 @@
|
|||||||
|
|
||||||
export LANG=pl_PL.UTF-8
|
export LANG=pl_PL.UTF-8
|
||||||
|
|
||||||
export EDITOR=kak
|
export EDITOR=nvim
|
||||||
export VISUAL=kak
|
export VISUAL=nvim
|
||||||
|
|
||||||
export BAT_THEME='Catppuccin Frappe'
|
|
||||||
|
|
||||||
# if running bash
|
# if running bash
|
||||||
if [ -n "$BASH_VERSION" ]; then
|
if [ -n "$BASH_VERSION" ]; then
|
||||||
@@ -31,21 +29,9 @@ done
|
|||||||
|
|
||||||
export PATH
|
export PATH
|
||||||
|
|
||||||
if [ -d ~/.local/share/man ]; then
|
|
||||||
export MANPATH="$HOME/.local/share/man:$MANPATH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
export GOPATH=~/.cache/go
|
|
||||||
export GOBIN=~/.local/bin
|
|
||||||
|
|
||||||
# start X or Hyprland at login
|
# start X or Hyprland at login
|
||||||
if [ -z "$DISPLAY" -a -z "$WAYLAND_DISPLAY" -a "$(tty)" = /dev/tty1 ]; then
|
if [ -z "$DISPLAY" -a -z "$WAYLAND_DISPLAY" -a "$(tty)" = /dev/tty1 ]; then
|
||||||
if which niri > /dev/null; then
|
if which /usr/bin/sx > /dev/null; then
|
||||||
exec niri
|
|
||||||
elif which river kwm stdout-clock > /dev/null; then
|
|
||||||
export XKB_DEFAULT_LAYOUT=pl
|
|
||||||
exec river -c 'stdout-clock | kwm'
|
|
||||||
elif which /usr/bin/sx > /dev/null; then
|
|
||||||
exec /usr/bin/sx ~/.xsession
|
exec /usr/bin/sx ~/.xsession
|
||||||
elif which /usr/bin/startx > /dev/null; then
|
elif which /usr/bin/startx > /dev/null; then
|
||||||
exec /usr/bin/startx ~/.xsession
|
exec /usr/bin/startx ~/.xsession
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
# Install zap:
|
# Install zap:
|
||||||
# % git clone https://github.com/zap-zsh/zap.git --branch=release-v1 ~/.local/share/zap
|
# % cd ~/.local/share
|
||||||
|
# % git clone https://github.com/zap-zsh/zap.git --branch=release-v1
|
||||||
|
|
||||||
export FZF_DEFAULT_OPTS='--color=bg+:#808080'
|
export FZF_DEFAULT_OPTS='--color=bg+:#808080'
|
||||||
zstyle ':fzf-tab:*' fzf-flags $FZF_DEFAULT_OPTS
|
zstyle ':fzf-tab:*' fzf-flags $FZF_DEFAULT_OPTS
|
||||||
|
|
||||||
|
export BAT_THEME=ansi
|
||||||
|
|
||||||
[ -f "${XDG_DATA_HOME:-$HOME/.local/share}/zap/zap.zsh" ] && source "${XDG_DATA_HOME:-$HOME/.local/share}/zap/zap.zsh"
|
[ -f "${XDG_DATA_HOME:-$HOME/.local/share}/zap/zap.zsh" ] && source "${XDG_DATA_HOME:-$HOME/.local/share}/zap/zap.zsh"
|
||||||
plug "jeffreytse/zsh-vi-mode"
|
plug "jeffreytse/zsh-vi-mode"
|
||||||
|
|
||||||
|
|||||||
@@ -1,178 +0,0 @@
|
|||||||
##############################################
|
|
||||||
# #
|
|
||||||
# Superfile Configuration #
|
|
||||||
# #
|
|
||||||
##############################################
|
|
||||||
|
|
||||||
# This contains the root config file for superfile! More details can be found at
|
|
||||||
# https://superfile.dev/configure/superfile-config/.
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# Defaults #
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
#-- File Editor
|
|
||||||
# Default: $EDITOR
|
|
||||||
editor = "nvim"
|
|
||||||
|
|
||||||
#-- Directory Editor
|
|
||||||
#
|
|
||||||
dir_editor = "nvim ."
|
|
||||||
|
|
||||||
#-- Auto check for update
|
|
||||||
auto_check_update = false
|
|
||||||
|
|
||||||
#-- cd on quit
|
|
||||||
# Should we cd the shell to the last directory open in superfile when the
|
|
||||||
# program exits?
|
|
||||||
cd_on_quit = false
|
|
||||||
|
|
||||||
#-- File Preview
|
|
||||||
# Should we open a file preview by default whenever selection-hovering over a
|
|
||||||
# file?
|
|
||||||
default_open_file_preview = true
|
|
||||||
|
|
||||||
#-- Image Preview
|
|
||||||
# Should we open an image preview by default whenever selection-hovering over an
|
|
||||||
# image?
|
|
||||||
show_image_preview = true
|
|
||||||
|
|
||||||
#-- File Info Footer
|
|
||||||
# Should we display a footer in the file panel that provides more file information?
|
|
||||||
show_panel_footer_info = true
|
|
||||||
|
|
||||||
#-- Default Directory
|
|
||||||
# The initial path that the file panel should navigate to when superfile is
|
|
||||||
# opened. This setting understands relative paths such as ".", "..", etc.
|
|
||||||
default_directory = "."
|
|
||||||
|
|
||||||
#-- File Size Units
|
|
||||||
# true: SI decimal units of 1000 (kB, MB, GB).
|
|
||||||
# false: IEC binary units of 1024 (KiB, MiB, GiB).
|
|
||||||
file_size_use_si = false
|
|
||||||
|
|
||||||
#-- Default File Sort Type
|
|
||||||
# (0: Name, 1: Size, 2: Date Modified, 3: Type).
|
|
||||||
default_sort_type = 0
|
|
||||||
|
|
||||||
#-- Sort Order Reversing
|
|
||||||
# true: Descending.
|
|
||||||
# false: Ascending.
|
|
||||||
sort_order_reversed = false
|
|
||||||
|
|
||||||
#-- Case-Sensitive Sorting (only for Name Sort)
|
|
||||||
# An uppercase "B" comes before a lowercase "a" if true.
|
|
||||||
case_sensitive_sort = false
|
|
||||||
|
|
||||||
#-- Exit Shell on Success
|
|
||||||
# Whether to exit the shell on successful command execution.
|
|
||||||
shell_close_on_success = false
|
|
||||||
|
|
||||||
#-- Page Scroll Size
|
|
||||||
# Number of lines to scroll for PgUp/PgDown keys (0: full page, default behavior).
|
|
||||||
page_scroll_size = 0
|
|
||||||
|
|
||||||
#-- Debug Mode
|
|
||||||
debug = false
|
|
||||||
|
|
||||||
#-- Ignore Missing Config Fields
|
|
||||||
# Whether to silence any warnings about missing config fields.
|
|
||||||
ignore_missing_fields = false
|
|
||||||
|
|
||||||
#-- File Panel Extra Columns Count
|
|
||||||
# Count of extra columns in file panel in addition to file name. When option equal 0 then feature is disabled.
|
|
||||||
file_panel_extra_columns = 0
|
|
||||||
|
|
||||||
#-- File name width in File Panel
|
|
||||||
# Percentage of file panel width allocated to file names (25-100). Higher values give more space to names, less to extra columns.
|
|
||||||
file_panel_name_percent = 50
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# Styling #
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
#-- Theme
|
|
||||||
# Put your theme's name here!
|
|
||||||
theme = "catppuccin-mocha"
|
|
||||||
|
|
||||||
#-- Code Previewer
|
|
||||||
# Whether to use the builtin syntax highlighting with chroma or use bat. Values: "" for builtin chroma, "bat" for bat
|
|
||||||
code_previewer = ""
|
|
||||||
|
|
||||||
#-- Nerd Fonts Support
|
|
||||||
# Whether to enable support for Nerd Fonts symbols.
|
|
||||||
# Requires: Font patched with the Nerd Fonts patch.
|
|
||||||
nerdfont = true
|
|
||||||
|
|
||||||
#-- Show checkbox icons in select mode
|
|
||||||
# Requires: nerdfont = true
|
|
||||||
show_select_icons = true
|
|
||||||
|
|
||||||
#-- Transparent Background Support
|
|
||||||
# Set to true to enable background transparency.
|
|
||||||
# Requires: terminal support for colour transparency
|
|
||||||
transparent_background = false
|
|
||||||
|
|
||||||
#-- File Preview Panel Width
|
|
||||||
# Width of the file preview panel will be 1/n of the total width.
|
|
||||||
# Values recommended to be in 2–10.
|
|
||||||
# Default (0): Use the same width as file picker panel.
|
|
||||||
file_preview_width = 0
|
|
||||||
|
|
||||||
#-- File Preview Border
|
|
||||||
# Enable border around the file preview panel for better visual separation.
|
|
||||||
# Default: false (no border)
|
|
||||||
enable_file_preview_border = false
|
|
||||||
|
|
||||||
#-- Sidebar Width
|
|
||||||
# If you don't want to display the sidebar, you can input 0 directly.
|
|
||||||
# Values recommended to be in 5–20.
|
|
||||||
sidebar_width = 20
|
|
||||||
|
|
||||||
#-- Border
|
|
||||||
# Make sure to add strings that are exactly one character wide!
|
|
||||||
# Use ' ' for borderless.
|
|
||||||
border_top = '─'
|
|
||||||
border_bottom = '─'
|
|
||||||
border_left = '│'
|
|
||||||
border_right = '│'
|
|
||||||
border_top_left = '╭'
|
|
||||||
border_top_right = '╮'
|
|
||||||
border_bottom_left = '╰'
|
|
||||||
border_bottom_right = '╯'
|
|
||||||
border_middle_left = '├'
|
|
||||||
border_middle_right = '┤'
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# Plugins #
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
# This section is for using plugins with superfile, external addons that extend
|
|
||||||
# the default capabilities of the program! More info can be found at
|
|
||||||
# https://superfile.dev/list/plugin-list/.
|
|
||||||
|
|
||||||
#-- Detailed Metadata
|
|
||||||
# Requires: exiftool
|
|
||||||
metadata = false
|
|
||||||
|
|
||||||
#-- MD5 Checksum Generation
|
|
||||||
# Requires: md5sum
|
|
||||||
enable_md5_checksum = false
|
|
||||||
#
|
|
||||||
#-- Zoxide Support - Smart directory navigation!
|
|
||||||
# Requires: zoxide
|
|
||||||
zoxide_support = true
|
|
||||||
|
|
||||||
#-- File opening rules
|
|
||||||
# Map file extensions to commands used to open them.
|
|
||||||
# The file path will be appended as the last argument.
|
|
||||||
# MUST BE IN THE VERY END OF THE FILE BECAUSE TOML CANNOT CLOSE TABLES
|
|
||||||
# Example:
|
|
||||||
# png = "feh"
|
|
||||||
# pdf = "zathura"
|
|
||||||
# conf = "nvim"
|
|
||||||
[open_with]
|
|
||||||
pdf = "zathura"
|
|
||||||
png = "sxiv"
|
|
||||||
jpg = "sxiv"
|
|
||||||
@@ -1,98 +0,0 @@
|
|||||||
##############################################
|
|
||||||
# #
|
|
||||||
# Superfile vim-like Hotkeys #
|
|
||||||
# #
|
|
||||||
##############################################
|
|
||||||
|
|
||||||
#-- Maintainer: nonepork <https://github.com/nonepork>
|
|
||||||
|
|
||||||
# This contains a hotkey config file for superfile, that's themed around vim
|
|
||||||
# controls! More details can be found at
|
|
||||||
# https://superfile.dev/configure/custom-hotkeys/.
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# Global hotkeys #
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
# Note: These hotkeys should be unique.
|
|
||||||
|
|
||||||
#-- Basic Actions
|
|
||||||
confirm = ['enter', 'l']
|
|
||||||
quit = ['ctrl+c', ''] # a.k.a. "theprimeagen troller"
|
|
||||||
cd_quit = ['Q', '']
|
|
||||||
|
|
||||||
#-- Navigation
|
|
||||||
list_up = ['k', '']
|
|
||||||
list_down = ['j', '']
|
|
||||||
page_up = ['pgup','']
|
|
||||||
page_down = ['pgdown','']
|
|
||||||
|
|
||||||
#-- File Panel Controls
|
|
||||||
create_new_file_panel = ['n', '']
|
|
||||||
close_file_panel = ['q', '']
|
|
||||||
next_file_panel = ['tab', 'L']
|
|
||||||
previous_file_panel = ['shift+tab', 'H']
|
|
||||||
toggle_file_preview_panel = ['f', '']
|
|
||||||
open_sort_options_menu = ['o', '']
|
|
||||||
toggle_reverse_sort = ['R', '']
|
|
||||||
|
|
||||||
#-- Focus Manipulation
|
|
||||||
focus_on_process_bar = ['ctrl+p', '']
|
|
||||||
focus_on_sidebar = ['ctrl+s', '']
|
|
||||||
focus_on_metadata = ['ctrl+d', '']
|
|
||||||
|
|
||||||
#-- File/Dir Creation/Renaming
|
|
||||||
file_panel_item_create = ['a', '']
|
|
||||||
file_panel_item_rename = ['r', '']
|
|
||||||
|
|
||||||
#-- Main File Operations
|
|
||||||
copy_items = ['y', '']
|
|
||||||
cut_items = ['x', '']
|
|
||||||
paste_items = ['p', '']
|
|
||||||
delete_items = ['d', '']
|
|
||||||
permanently_delete_items = ['D', '']
|
|
||||||
|
|
||||||
#-- Archive Manipulation
|
|
||||||
extract_file = ['ctrl+e', '']
|
|
||||||
compress_file = ['ctrl+a', '']
|
|
||||||
|
|
||||||
#-- Editor Actions
|
|
||||||
open_file_with_editor = ['e', '']
|
|
||||||
open_current_directory_with_editor = ['E', '']
|
|
||||||
|
|
||||||
#-- Other Actions
|
|
||||||
pinned_directory = ['P', '']
|
|
||||||
toggle_dot_file = ['.', '']
|
|
||||||
change_panel_mode = ['m', '']
|
|
||||||
open_help_menu = ['?', '']
|
|
||||||
open_spf_prompt = ['>', '']
|
|
||||||
open_command_line = [':', '']
|
|
||||||
open_zoxide = ['z', '']
|
|
||||||
copy_path = ['Y', '']
|
|
||||||
copy_present_working_directory = ['c', '']
|
|
||||||
toggle_footer = ['ctrl+f', '']
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# Typing hotkeys #
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
# Note: These hotkeys can override all hotkeys.
|
|
||||||
|
|
||||||
confirm_typing = ['enter', '']
|
|
||||||
cancel_typing = ['esc', '']
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# Mode-Specific Hotkeys #
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
# Note: These hotkeys can conflict with other modes, but not with global
|
|
||||||
# hotkeys.
|
|
||||||
|
|
||||||
#-- Normal Mode Actions
|
|
||||||
parent_directory = ['-', 'h']
|
|
||||||
search_bar = ['/', '']
|
|
||||||
|
|
||||||
#-- Selection Mode Actions
|
|
||||||
file_panel_select_mode_items_select_down = ['J', '']
|
|
||||||
file_panel_select_mode_items_select_up = ['K', '']
|
|
||||||
file_panel_select_all_items = ['A', '']
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
set nocompatible
|
|
||||||
set ignorecase
|
|
||||||
set smartcase
|
|
||||||
set hlsearch
|
|
||||||
set relativenumber
|
|
||||||
|
|
||||||
syntax enable
|
|
||||||
filetype plugin on
|
|
||||||
|
|
||||||
" open nested file with :find file.name
|
|
||||||
" include * in path for fuzzy find
|
|
||||||
set path+=**
|
|
||||||
set wildmenu
|
|
||||||
|
|
||||||
let g:netrw_banner=0
|
|
||||||
let g:netrw_liststyle=3
|
|
||||||
|
|
||||||
nmap <esc> <cmd>nohlsearch<cr>
|
|
||||||
|
|
||||||
colorscheme catppuccin
|
|
||||||
@@ -56,57 +56,53 @@ XTerm.vt100.color14: #8FBCBB
|
|||||||
XTerm.vt100.color7: #E5E9F0
|
XTerm.vt100.color7: #E5E9F0
|
||||||
XTerm.vt100.color15: #ECEFF4
|
XTerm.vt100.color15: #ECEFF4
|
||||||
|
|
||||||
st.font: HurmitNerdFont:size=16
|
st.font: FiraCode Nerd Font:size=10
|
||||||
|
|
||||||
! kanagawa wave colors from https://github.com/rebelot/kanagawa.nvim/blob/master/extras/alacritty/kanagawa_wave.toml
|
! terrafox colors from https://github.com/edeneast/nightfox.nvim/raw/main/extra/terafox/alacritty.toml
|
||||||
! dayfox colors from https://github.com/edeneast/nightfox.nvim/raw/main/extra/dayfox/alacritty.toml
|
! dayfox colors from https://github.com/edeneast/nightfox.nvim/raw/main/extra/dayfox/alacritty.toml
|
||||||
|
|
||||||
Zutty.font: monaspaceneon
|
|
||||||
Zutty.fontpath: /usr/share/fonts:HOME/.local/share/fonts
|
|
||||||
Zutty.fontsize: 20
|
|
||||||
|
|
||||||
#ifdef THEME_DARK
|
#ifdef THEME_DARK
|
||||||
st.lightmode: 0
|
st.lightmode: 0
|
||||||
st.background: #1f212e
|
st.background: #152528
|
||||||
st.foreground: #9da0af
|
st.foreground: #e6eaea
|
||||||
st.cursorColor: #bf8040
|
st.cursorColor: #cbd9d8
|
||||||
st.reverse-cursor: #1f212e
|
st.reverse-cursor: #e6eaea
|
||||||
st.color0: #1f212e
|
st.color0: #2f3239
|
||||||
st.color1: #862d2d
|
st.color1: #e85c51
|
||||||
st.color2: #3a783a
|
st.color2: #7aa4a1
|
||||||
st.color3: #707010
|
st.color3: #fda47f
|
||||||
st.color4: #345eb2
|
st.color4: #5a93aa
|
||||||
st.color5: #cc66cc
|
st.color5: #ad5c7c
|
||||||
st.color6: #3a7878
|
st.color6: #a1cdd8
|
||||||
st.color7: #a1a3aa
|
st.color7: #ebebeb
|
||||||
st.color8: #4d4d4d
|
st.color8: #4e5157
|
||||||
st.color9: #c27070
|
st.color9: #eb746b
|
||||||
st.color10: #40bf40
|
st.color10: #8eb2af
|
||||||
st.color11: #acac53
|
st.color11: #fdb292
|
||||||
st.color12: #6b8ac7
|
st.color12: #73a3b7
|
||||||
st.color13: #8f248f
|
st.color13: #b97490
|
||||||
st.color14: #509595
|
st.color14: #afd4de
|
||||||
st.color15: #dbdff0
|
st.color15: #eeeeee
|
||||||
#else
|
#else
|
||||||
st.lightmode: 1
|
st.lightmode: 1
|
||||||
st.background: #faf8f5
|
st.background: #f6f2ee
|
||||||
st.foreground: #1f212e
|
st.foreground: #3d2b5a
|
||||||
st.cursorColor: #bf8040
|
st.cursorColor: #643f61
|
||||||
st.reverse-cursor: #1f212e
|
st.reverse-cursor: #3d2b5a
|
||||||
st.color0: #1f212e
|
st.color0: #352c24
|
||||||
st.color1: #862d2d
|
st.color1: #a5222f
|
||||||
st.color2: #3a783a
|
st.color2: #396847
|
||||||
st.color3: #707010
|
st.color3: #ac5402
|
||||||
st.color4: #345eb2
|
st.color4: #2848a9
|
||||||
st.color5: #cc66cc
|
st.color5: #6e33ce
|
||||||
st.color6: #3a7878
|
st.color6: #287980
|
||||||
st.color7: #a1a3aa
|
st.color7: #f2e9e1
|
||||||
st.color8: #73778c
|
st.color8: #534c45
|
||||||
st.color9: #c27070
|
st.color9: #b3434e
|
||||||
st.color10: #40bf40
|
st.color10: #577f63
|
||||||
st.color11: #acac53
|
st.color11: #b86e28
|
||||||
st.color12: #6b8ac7
|
st.color12: #4863b6
|
||||||
st.color13: #8f248f
|
st.color13: #8452d5
|
||||||
st.color14: #509595
|
st.color14: #488d93
|
||||||
st.color15: #dae4f1
|
st.color15: #f4ece6
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
Net/ThemeName "Arc-Dark"
|
Net/ThemeName "Materia-dark"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ xset b off
|
|||||||
xrandr --auto
|
xrandr --auto
|
||||||
xrandr --output DP-0 --left-of DP-2 --primary
|
xrandr --output DP-0 --left-of DP-2 --primary
|
||||||
xrandr --output HDMI-0 --left-of DP-0
|
xrandr --output HDMI-0 --left-of DP-0
|
||||||
xrdb -merge ~/.Xresources -DHOME="$HOME"
|
xrdb -merge ~/.Xresources
|
||||||
setxkbmap pl -option ctrl:nocaps
|
setxkbmap pl -option ctrl:nocaps
|
||||||
|
|
||||||
if [ -x ~/.fehbg ]; then
|
if [ -x ~/.fehbg ]; then
|
||||||
@@ -28,18 +28,17 @@ xsettingsd &
|
|||||||
|
|
||||||
xsetroot -cursor_name left_ptr
|
xsetroot -cursor_name left_ptr
|
||||||
|
|
||||||
picom -b -I 1 -O 1 -e 1 --no-fading-openclose --backend glx || compton -b --no-fading-openclose
|
picom -b -I 1 -O 1 -i 1 -e 1 --no-fading-openclose || compton -b --no-fading-openclose
|
||||||
|
|
||||||
|
if which dwm > /dev/null; then
|
||||||
|
lupan-clock &
|
||||||
|
exec dwm
|
||||||
|
fi
|
||||||
|
|
||||||
if which awesome > /dev/null; then
|
if which awesome > /dev/null; then
|
||||||
exec awesome
|
exec awesome
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if which dwm > /dev/null; then
|
|
||||||
dunst &
|
|
||||||
lupan-clock &
|
|
||||||
exec dwm
|
|
||||||
fi
|
|
||||||
|
|
||||||
if which dk > /dev/null; then
|
if which dk > /dev/null; then
|
||||||
for m in $(polybar --list-monitors | cut -d: -f1); do
|
for m in $(polybar --list-monitors | cut -d: -f1); do
|
||||||
MONITOR=$m polybar --reload bar &
|
MONITOR=$m polybar --reload bar &
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ if [ "$THEME" = "toggle" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$THEME" = dark ]; then
|
if [ "$THEME" = dark ]; then
|
||||||
GTK_THEME=Arc-Dark
|
GTK_THEME=Materia-dark
|
||||||
rm -f ~/.lightmode
|
rm -f ~/.lightmode
|
||||||
elif [ "$THEME" = light ]; then
|
elif [ "$THEME" = light ]; then
|
||||||
GTK_THEME=Arc-Light
|
GTK_THEME=Materia-light
|
||||||
touch ~/.lightmode
|
touch ~/.lightmode
|
||||||
else
|
else
|
||||||
echo "error: unknown theme: should be either dark, light or toggle" >&2
|
echo "error: unknown theme: should be either dark, light or toggle" >&2
|
||||||
@@ -30,7 +30,7 @@ if [ -n "$XRES" ]; then
|
|||||||
elif [ "$THEME" = light ]; then
|
elif [ "$THEME" = light ]; then
|
||||||
sed -i 's/^#define THEME_DARK/#undef THEME_DARK/' "$XRES"
|
sed -i 's/^#define THEME_DARK/#undef THEME_DARK/' "$XRES"
|
||||||
fi
|
fi
|
||||||
xrdb -merge "$XRES" -DHOME="$HOME"
|
xrdb -merge "$XRES"
|
||||||
pkill -USR1 '^st$'
|
pkill -USR1 '^st$'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -44,39 +44,22 @@ if [ -f "$ATOML" ]; then
|
|||||||
sed -i "s#^import =.*#import = [\"~/.config/alacritty/$THEME.toml\"]#" "$ATOML"
|
sed -i "s#^import =.*#import = [\"~/.config/alacritty/$THEME.toml\"]#" "$ATOML"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Kitty
|
XSET=$(readlink -e ~/.config/xsettingsd/xsettingsd.conf)
|
||||||
if [ "$THEME" = dark ]; then
|
if [ "$THEME" = dark ]; then
|
||||||
kitten themes --reload-in=all 'five-colors-dark'
|
kitten themes --reload-in=all Afterglow
|
||||||
elif [ "$THEME" = light ]; then
|
elif [ "$THEME" = light ]; then
|
||||||
kitten themes --reload-in=all 'five-colors-light'
|
kitten themes --reload-in=all One Half 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
|
fi
|
||||||
|
|
||||||
# GTK
|
# GTK
|
||||||
XSET=$(readlink -e ~/.config/xsettingsd/xsettingsd.conf)
|
|
||||||
if [ -n "$XSET" ]; then
|
if [ -n "$XSET" ]; then
|
||||||
sed -i -E "s#(Net/ThemeName) .*#\\1 \"${GTK_THEME}\"#" "$XSET"
|
sed -i -E "s#(Net/ThemeName) .*#\\1 \"${GTK_THEME}\"#" "$XSET"
|
||||||
pkill -HUP -x xsettingsd
|
pkill -HUP -x xsettingsd
|
||||||
gsettings set org.gnome.desktop.interface gtk-theme "${GTK_THEME}"
|
gsettings set org.gnome.desktop.interface gtk-theme "${GTK_THEME}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# niri
|
|
||||||
NIRI=$(readlink -e ~/.config/niri/config.kdl)
|
|
||||||
if [ -n "$NIRI" ]; then
|
|
||||||
sed -i -E "s%^(include) \"(dark|light).kdl\".*%\\1 \"${THEME}.kdl\"%" "$NIRI"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# waybar
|
# waybar
|
||||||
WCSS=$(readlink -e ~/.config/waybar/style.css)
|
WCSS=$(readlink -e ~/.config/waybar/style.css)
|
||||||
if [ -f "$WCSS" ]; then
|
if [ -f "$WCSS" ]; then
|
||||||
sed -i -E "s#file:///.*/(light|dark)[.]css#file://$HOME/.config/waybar/$THEME.css#" "$WCSS"
|
sed -i -E "s#file:///.*/(light|dark)[.]css#file://$HOME/.config/waybar/$THEME.css#" "$WCSS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for session in $(kak -l); do
|
|
||||||
echo set-dark-or-light-colorscheme | kak -p $session
|
|
||||||
done
|
|
||||||
|
|||||||
15
xsession/bin/st-abduco-tabbed
Executable file
15
xsession/bin/st-abduco-tabbed
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
exec tabbed "$0" -w
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "-w" ] && [ -n "$2" ]; then
|
||||||
|
name=$(abduco | tail +2 | awk -F'\t' '{ print $NF }' | dmenu -p session: -l 10)
|
||||||
|
if [ -n "$name" ]; then
|
||||||
|
exec st -w "$2" -t "$name" -e abduco -A "$name" "$SHELL"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo error: requires either no arguments or single option -w with and argument >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user