Compare commits

...

8 Commits

8 changed files with 152 additions and 12 deletions

View File

@@ -3,14 +3,24 @@
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 "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"
@@ -20,8 +30,8 @@ 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 float
argenctl binding set normal Super+Shift F window fullscreen
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
@@ -33,6 +43,8 @@ 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
@@ -100,7 +112,7 @@ 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 M sh "$VOL_TOGGLE"
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"
@@ -115,5 +127,32 @@ argenctl mode declare passthrough
argenctl binding set normal Super Grave mode enter passthrough
argenctl binding set passthrough Super Grave mode enter normal
# Select/swap window by index
for num in 1 2 3 4 5 6 7 8 9; do
idx=$((num - 1))
argenctl binding set normal Super $num sh "
argenctl window focus \$(argenctl context list --json | jq -r '.[] | select(.current) | .windows | .[$idx]')
"
argenctl binding set normal Super+Shift $num sh "
context_id=\$(argenctl context list --json | jq -r '.[] | select(.current) | .id')
length=\$(argenctl context list --json | jq -r '.[] | select(.current) | .windows | length')
focused_window=\$(argenctl context list --json | jq -r '.[] | select(.current) | .focused_window')
dest_window=\$(argenctl context list --json | jq -r '.[] | select(.current) | .windows | .[$idx]')
focused_output_id=\$(argenctl window list --json | jq -r \".[] | select(.id == \\\"\$focused_window\\\") | .contexts[] | select(.id = \$context_id) | .output_id\")
dest_output_id=\$(argenctl window list --json | jq -r \".[] | select(.id == \\\"\$dest_window\\\") | .contexts[] | select(.id = \$context_id) | .output_id\")
if [ -n \"\$focused_output_id\" -a \"\$focused_output_id\" = \"\$dest_output_id\" ]; then
for i in \$(seq \$length); do
if [ \"\$focused_window\" = \"\$dest_window\" ]; then
break
fi
argenctl window swap next
dest_window=\$(argenctl context list --json | jq -r '.[] | select(.current) | .windows | .[$idx]')
done
fi
"
done
argenctl binding set normal Super+Shift S exec ~/.config/argen/session.sh
# Rules
argenctl rule add float --app-id "my-app"

29
argen/.config/argen/session.sh Executable file
View File

@@ -0,0 +1,29 @@
#!/bin/sh
set -eu
id=$(for name in $(ls ~/.config/argen/sessions/*.sh); do echo $(basename "${name%.sh}"); done | fuzzel -d -p'session> ')
if argenctl context list | grep "^${id}\$"; then
argenctl context switch "${id}"
exit
fi
argenctl context new "$id"
first=$(argenctl output list --json | jq -r 'min_by(80000 * .y + .x).id')
length=$(argenctl output list --json | jq -r 'length')
for n in $(seq $length); do
current=$(argenctl output list --json | jq -r '.[] | select(.focused).id')
if [ "$current" = "$first" ]; then
break
fi
argenctl output focus next
done
if [ -e ~/.lightmode ]; then
THEME=light
else
THEME=dark
fi
export TERMINAL="footclient -o initial-color-theme=$THEME"
exec sh ~/.config/argen/sessions/"${id}.sh"

View File

@@ -0,0 +1,3 @@
argenctl output focus next
argenctl sh "$TERMINAL -D ~/dotfiles kak -s dotfiles"

View File

@@ -0,0 +1,6 @@
argenctl exec librewolf
sleep 1
argenctl output focus next
argenctl exec qutebrowser

View File

@@ -1,4 +1,60 @@
[main]
font = Fira Code Nerd Font:size=11
font = HurmitNerdFont:size=10
initial-color-theme = dark
include = /usr/share/foot/themes/nord
[colors-dark]
foreground = a29e98
background = 272117
cursor = 272117 73d0b1
selection-foreground = 272117
selection-background = 276c9a
regular0 = 85919b
regular1 = c37583
regular2 = 44a386
regular3 = af8842
regular4 = 5396c7
regular5 = a57cba
regular6 = 2da0ad
regular7 = b0bcc7
bright0 = 85919b
bright1 = f2a0ae
bright2 = 73d0b1
bright3 = dcb46e
bright4 = 7fc3f5
bright5 = d2a8e8
bright6 = 62cdda
bright7 = a29e98
[colors-light]
foreground = 696257
background = faf8f5
cursor = faf8f5 7ad6b7
selection-foreground = faf8f5
selection-background = 3a7ead
regular0 = 272117
regular1 = d0818f
regular2 = 52af92
regular3 = bc944f
regular4 = 60a3d4
regular5 = b289c7
regular6 = 3dadba
regular7 = b6c3cd
bright0 = 919da7
bright1 = 85c9fc
bright2 = 7ad6b7
bright3 = e3ba74
bright4 = 60a3d4
bright5 = d9aeee
bright6 = 85c9fc
bright7 = faf8f5
[key-bindings]
color-theme-toggle = Control+Shift+t
primary-paste = Shift+Insert Control+Shift+i
[search-bindings]
primary-paste = Shift+Insert Control+Shift+i

View File

@@ -20,8 +20,7 @@ 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 (git)' file-mode 'a' ': file-open-git<ret>'
map global -docstring 'Open (fd)' file-mode 'f' ': file-open<ret>'
map global -docstring 'Open (fd)' file-mode 'a' ': file-open<ret>'
map global -docstring 'Open (fd -H)' file-mode 'h' ': file-open-with-hidden<ret>'
map global -docstring 'Open (recent)' file-mode 'r' ': file-open-recent<ret>'
map global -docstring 'Open (nnn)' file-mode 'd' ': nnn-open %val{buffile}<ret>'
@@ -39,6 +38,7 @@ 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>'

View File

@@ -1,9 +1,9 @@
os:
edit: 'nvim {{filename}}'
editAtLine: 'nvim +{{line}} {{filename}}'
editAtLineAndWait: 'nvim +{{line}} {{filename}}'
edit: 'kak {{filename}}'
editAtLine: 'kak +{{line}} {{filename}}'
editAtLineAndWait: 'kak +{{line}} {{filename}}'
editInTerminal: true
openDirInEditor: 'nvim {{dir}}'
openDirInEditor: 'kak -e "nnn-open {{dir}}"'
gui:
nerdFontsVersion: "3"

View File

@@ -44,12 +44,19 @@ if [ -f "$ATOML" ]; then
sed -i "s#^import =.*#import = [\"~/.config/alacritty/$THEME.toml\"]#" "$ATOML"
fi
# Kitty
if [ "$THEME" = dark ]; then
kitten themes --reload-in=all 'five-colors-dark'
elif [ "$THEME" = light ]; then
kitten themes --reload-in=all 'five-colors-light'
fi
# Foot
FOOT=$(readlink -e ~/.config/foot/foot.ini)
if [ -n "$FOOT" ]; then
sed -i "s/^initial-color-theme .*/initial-color-theme = $THEME/" "$FOOT"
fi
# GTK
XSET=$(readlink -e ~/.config/xsettingsd/xsettingsd.conf)
if [ -n "$XSET" ]; then