Compare commits
10 Commits
32036e2f76
...
wip
| Author | SHA1 | Date | |
|---|---|---|---|
| dbdfac823c | |||
| 8849674617 | |||
| 85f7da444e | |||
| 90786cef74 | |||
| bc85f3cb09 | |||
| 6e5dc5decd | |||
| 203913aa58 | |||
| 1b2b72e813 | |||
| f78d1ec922 | |||
| 9ddaf09c5c |
158
argen/.config/argen/init
Executable file
158
argen/.config/argen/init
Executable file
@@ -0,0 +1,158 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
wlr-randr --output DP-1 --mode 3840x2160 --scale 2
|
||||||
|
wlr-randr --output HDMI-A-1 --mode 3840x2160 --scale 2 --left-of DP-1
|
||||||
|
|
||||||
|
foot --server &
|
||||||
|
|
||||||
|
argenctl config set label-mode modifier
|
||||||
|
|
||||||
|
# Terminal
|
||||||
|
#argenctl binding set normal Super Return sh "kitty --single-instance --instance-group default"
|
||||||
|
argenctl binding set normal Super Return sh "
|
||||||
|
if [ -e ~/.lightmode ]; then
|
||||||
|
exec footclient -o initial-color-theme=light
|
||||||
|
else
|
||||||
|
exec footclient -o initial-color-theme=dark
|
||||||
|
fi
|
||||||
|
"
|
||||||
|
|
||||||
|
# Reload config
|
||||||
|
argenctl binding set normal Super+Shift R exec "$0"
|
||||||
|
|
||||||
|
argenctl binding set normal Super P exec fuzzel
|
||||||
|
argenctl binding set normal Super+Shift L exec waylock
|
||||||
|
argenctl binding set normal Super+Shift T sh "lupan-set-theme toggle"
|
||||||
|
|
||||||
|
# Window focus and swap
|
||||||
|
argenctl binding set normal Super J window focus next
|
||||||
|
argenctl binding set normal Super K window focus prev
|
||||||
|
argenctl binding set normal Super+Shift J window swap next
|
||||||
|
argenctl binding set normal Super+Shift K window swap prev
|
||||||
|
|
||||||
|
argenctl binding set normal Super F window fullscreen
|
||||||
|
argenctl binding set normal Super W window float
|
||||||
|
|
||||||
|
argenctl binding set normal Super+Shift C window close
|
||||||
|
argenctl binding set normal Super+Shift X window detach
|
||||||
|
|
||||||
|
# Output focus and send
|
||||||
|
argenctl binding set normal Super Period output focus next
|
||||||
|
argenctl binding set normal Super Comma output focus prev
|
||||||
|
argenctl binding set normal Super+Shift Period window send next
|
||||||
|
argenctl binding set normal Super+Shift Comma window send prev
|
||||||
|
|
||||||
|
# Layout
|
||||||
|
argenctl binding set normal Super M layout switch monocle
|
||||||
|
argenctl binding set normal Super S layout switch stacktile
|
||||||
|
argenctl binding set normal Super H layout set primary-ratio -0.05
|
||||||
|
argenctl binding set normal Super L layout set primary-ratio +0.05
|
||||||
|
argenctl binding set normal Super+Control K layout set secondary-ratio -0.05
|
||||||
|
argenctl binding set normal Super+Control J layout set secondary-ratio +0.05
|
||||||
|
|
||||||
|
# Pointer
|
||||||
|
argenctl pointer-binding set normal Super BTN_LEFT move-window
|
||||||
|
argenctl pointer-binding set normal Super BTN_RIGHT resize-window
|
||||||
|
|
||||||
|
# Context
|
||||||
|
argenctl binding set normal Super+Shift+Control X context close
|
||||||
|
argenctl binding set normal Super Tab context switch --last
|
||||||
|
|
||||||
|
# Switch contexts interactively
|
||||||
|
argenctl binding set normal Super Space sh 'argenctl context switch "$(argenctl context list | fuzzel -d)"'
|
||||||
|
|
||||||
|
# Create new context interactively
|
||||||
|
argenctl binding set normal Super+Shift Space sh '
|
||||||
|
set -eu
|
||||||
|
prompt="$(fuzzel -dl0 -p"new > ")"
|
||||||
|
argenctl context new "$prompt"
|
||||||
|
'
|
||||||
|
|
||||||
|
# Rename current context interactively
|
||||||
|
argenctl binding set normal Super+Control Space sh '
|
||||||
|
set -eu
|
||||||
|
prompt="$(fuzzel -dl0 -p"rename > ")"
|
||||||
|
argenctl context rename "$prompt"
|
||||||
|
'
|
||||||
|
|
||||||
|
# Assign currently focused window to be toggled with Super U
|
||||||
|
argenctl binding set normal Super+Shift U sh '
|
||||||
|
set -eu
|
||||||
|
window_id=$(argenctl window list --json | jq -r ".[] | select(.focused) | .id")
|
||||||
|
argenctl binding set normal Super U window toggle $window_id
|
||||||
|
'
|
||||||
|
|
||||||
|
# Attach window interactively
|
||||||
|
argenctl binding set normal Super+Shift D sh '
|
||||||
|
set -eu
|
||||||
|
id=$(argenctl window list | fuzzel -d --with-nth 2 --accept-nth 1)
|
||||||
|
argenctl window attach "$id"
|
||||||
|
'
|
||||||
|
|
||||||
|
# Adopt all orphans
|
||||||
|
argenctl binding set normal Super+Control D sh '
|
||||||
|
argenctl window list --json | jq -r ".[] | select(.contexts | length == 0) | .id" | while read -r id; do
|
||||||
|
argenctl window attach "$id"
|
||||||
|
done
|
||||||
|
'
|
||||||
|
|
||||||
|
# Quit after confirmed with 'yes'
|
||||||
|
argenctl binding set normal Super+Shift Q sh '
|
||||||
|
set -eu
|
||||||
|
confirm="$(fuzzel -dl0 -p"quit? > ")"
|
||||||
|
if [ "$confirm" = yes ]; then
|
||||||
|
argenctl exit
|
||||||
|
fi
|
||||||
|
'
|
||||||
|
|
||||||
|
# Audio and brightness controls
|
||||||
|
VOL_DEC='wpctl set-volume @DEFAULT_SINK@ --limit 1.5 5%-'
|
||||||
|
VOL_INC='wpctl set-mute @DEFAULT_SINK@ 0 && wpctl set-volume @DEFAULT_SINK@ --limit 1.5 5%+'
|
||||||
|
VOL_TOGGLE='wpctl set-mute @DEFAULT_SINK@ toggle'
|
||||||
|
for mode in normal locked; do
|
||||||
|
argenctl binding set $mode Super Bracketleft sh "$VOL_DEC"
|
||||||
|
argenctl binding set $mode Super Bracketright sh "$VOL_INC"
|
||||||
|
argenctl binding set $mode Super+Shift M sh "$VOL_TOGGLE"
|
||||||
|
argenctl binding set $mode None XF86AudioLowerVolume sh "$VOL_DEC"
|
||||||
|
argenctl binding set $mode None XF86AudioRaiseVolume sh "$VOL_INC"
|
||||||
|
argenctl binding set $mode None XF86AudioMute sh "$VOL_TOGGLE"
|
||||||
|
argenctl binding set $mode None XF86MonBrightnessDown sh "brightnessctl s 5%-"
|
||||||
|
argenctl binding set $mode None XF86MonBrightnessUp sh "brightnessctl s +5%"
|
||||||
|
argenctl binding set $mode Super+Shift Bracketleft sh "brightnessctl s 5%-"
|
||||||
|
argenctl binding set $mode Super+Shift Bracketright sh "brightnessctl s +5%"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Passthrough mode
|
||||||
|
argenctl mode declare passthrough
|
||||||
|
argenctl binding set normal Super Grave mode enter passthrough
|
||||||
|
argenctl binding set passthrough Super Grave mode enter normal
|
||||||
|
|
||||||
|
# Select/swap window by index
|
||||||
|
for num in 1 2 3 4 5 6 7 8 9; do
|
||||||
|
idx=$((num - 1))
|
||||||
|
argenctl binding set normal Super $num sh "
|
||||||
|
argenctl window focus \$(argenctl context list --json | jq -r '.[] | select(.current) | .windows | .[$idx]')
|
||||||
|
"
|
||||||
|
argenctl binding set normal Super+Shift $num sh "
|
||||||
|
context_id=\$(argenctl context list --json | jq -r '.[] | select(.current) | .id')
|
||||||
|
length=\$(argenctl context list --json | jq -r '.[] | select(.current) | .windows | length')
|
||||||
|
focused_window=\$(argenctl context list --json | jq -r '.[] | select(.current) | .focused_window')
|
||||||
|
dest_window=\$(argenctl context list --json | jq -r '.[] | select(.current) | .windows | .[$idx]')
|
||||||
|
focused_output_id=\$(argenctl window list --json | jq -r \".[] | select(.id == \\\"\$focused_window\\\") | .contexts[] | select(.id = \$context_id) | .output_id\")
|
||||||
|
dest_output_id=\$(argenctl window list --json | jq -r \".[] | select(.id == \\\"\$dest_window\\\") | .contexts[] | select(.id = \$context_id) | .output_id\")
|
||||||
|
if [ -n \"\$focused_output_id\" -a \"\$focused_output_id\" = \"\$dest_output_id\" ]; then
|
||||||
|
for i in \$(seq \$length); do
|
||||||
|
if [ \"\$focused_window\" = \"\$dest_window\" ]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
argenctl window swap next
|
||||||
|
dest_window=\$(argenctl context list --json | jq -r '.[] | select(.current) | .windows | .[$idx]')
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
"
|
||||||
|
done
|
||||||
|
|
||||||
|
argenctl binding set normal Super+Shift S exec ~/.config/argen/session.sh
|
||||||
|
|
||||||
|
# Rules
|
||||||
|
argenctl rule add float --app-id "my-app"
|
||||||
29
argen/.config/argen/session.sh
Executable file
29
argen/.config/argen/session.sh
Executable file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
id=$(for name in $(ls ~/.config/argen/sessions/*.sh); do echo $(basename "${name%.sh}"); done | fuzzel -d -p'session> ')
|
||||||
|
if argenctl context list | grep "^${id}\$"; then
|
||||||
|
argenctl context switch "${id}"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
argenctl context new "$id"
|
||||||
|
|
||||||
|
first=$(argenctl output list --json | jq -r 'min_by(80000 * .y + .x).id')
|
||||||
|
length=$(argenctl output list --json | jq -r 'length')
|
||||||
|
for n in $(seq $length); do
|
||||||
|
current=$(argenctl output list --json | jq -r '.[] | select(.focused).id')
|
||||||
|
if [ "$current" = "$first" ]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
argenctl output focus next
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -e ~/.lightmode ]; then
|
||||||
|
THEME=light
|
||||||
|
else
|
||||||
|
THEME=dark
|
||||||
|
fi
|
||||||
|
export TERMINAL="footclient -o initial-color-theme=$THEME"
|
||||||
|
|
||||||
|
exec sh ~/.config/argen/sessions/"${id}.sh"
|
||||||
3
argen/.config/argen/sessions/dotfiles.sh
Normal file
3
argen/.config/argen/sessions/dotfiles.sh
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
argenctl output focus next
|
||||||
|
|
||||||
|
argenctl sh "$TERMINAL -D ~/dotfiles kak -s dotfiles"
|
||||||
6
argen/.config/argen/sessions/web.sh
Normal file
6
argen/.config/argen/sessions/web.sh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
argenctl exec librewolf
|
||||||
|
|
||||||
|
sleep 1
|
||||||
|
argenctl output focus next
|
||||||
|
|
||||||
|
argenctl exec qutebrowser
|
||||||
@@ -1,4 +1,60 @@
|
|||||||
[main]
|
[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
|
||||||
|
|||||||
@@ -20,8 +20,7 @@ map global -docstring 'Buffer' user ' ' ': buffer '
|
|||||||
declare-user-mode file-mode
|
declare-user-mode file-mode
|
||||||
map global -docstring 'Search/open' user 's' ': enter-user-mode file-mode<ret>'
|
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 'a' ': file-open<ret>'
|
||||||
map global -docstring 'Open (fd)' file-mode 'f' ': file-open<ret>'
|
|
||||||
map global -docstring 'Open (fd -H)' file-mode 'h' ': file-open-with-hidden<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 (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 %val{buffile}<ret>'
|
||||||
@@ -39,6 +38,7 @@ map global -docstring 'Delete buffer' file-mode 'x' ': delete-buffer '
|
|||||||
declare-user-mode git-mode
|
declare-user-mode git-mode
|
||||||
map global -docstring 'Git' user 'g' ': enter-user-mode git-mode<ret>'
|
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<ret>'
|
||||||
map global -docstring 'Blame' git-mode 'B' ': git blame-jump<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 file' git-mode 'd' ': git diff %val{buffile}<ret>'
|
||||||
|
|||||||
@@ -1024,6 +1024,17 @@
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
.{
|
||||||
|
.keysym = "l",
|
||||||
|
.modifiers = .{ .mod4 = true, .shift = true },
|
||||||
|
.event = .{
|
||||||
|
.click = .{
|
||||||
|
.pressed = .{
|
||||||
|
.spawn = .{ .argv = .{ "waylock" } },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
// list of pointer bindings
|
// list of pointer bindings
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
os:
|
os:
|
||||||
edit: 'nvim {{filename}}'
|
edit: 'kak {{filename}}'
|
||||||
editAtLine: 'nvim +{{line}} {{filename}}'
|
editAtLine: 'kak +{{line}} {{filename}}'
|
||||||
editAtLineAndWait: 'nvim +{{line}} {{filename}}'
|
editAtLineAndWait: 'kak +{{line}} {{filename}}'
|
||||||
editInTerminal: true
|
editInTerminal: true
|
||||||
openDirInEditor: 'nvim {{dir}}'
|
openDirInEditor: 'kak -e "nnn-open {{dir}}"'
|
||||||
|
|
||||||
gui:
|
gui:
|
||||||
nerdFontsVersion: "3"
|
nerdFontsVersion: "3"
|
||||||
|
|||||||
@@ -44,12 +44,19 @@ 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
|
||||||
if [ "$THEME" = dark ]; then
|
if [ "$THEME" = dark ]; then
|
||||||
kitten themes --reload-in=all 'five-colors-dark'
|
kitten themes --reload-in=all 'five-colors-dark'
|
||||||
elif [ "$THEME" = light ]; then
|
elif [ "$THEME" = light ]; then
|
||||||
kitten themes --reload-in=all 'five-colors-light'
|
kitten themes --reload-in=all 'five-colors-light'
|
||||||
fi
|
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
|
# GTK
|
||||||
XSET=$(readlink -e ~/.config/xsettingsd/xsettingsd.conf)
|
XSET=$(readlink -e ~/.config/xsettingsd/xsettingsd.conf)
|
||||||
if [ -n "$XSET" ]; then
|
if [ -n "$XSET" ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user