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]
|
||||
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
|
||||
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>'
|
||||
|
||||
@@ -1024,6 +1024,17 @@
|
||||
},
|
||||
},
|
||||
},
|
||||
.{
|
||||
.keysym = "l",
|
||||
.modifiers = .{ .mod4 = true, .shift = true },
|
||||
.event = .{
|
||||
.click = .{
|
||||
.pressed = .{
|
||||
.spawn = .{ .argv = .{ "waylock" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
// list of pointer bindings
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
os:
|
||||
edit: 'nvim {{filename}}'
|
||||
editAtLine: 'nvim +{{line}} {{filename}}'
|
||||
editAtLineAndWait: 'nvim +{{line}} {{filename}}'
|
||||
edit: 'kak {{filename}}'
|
||||
editAtLine: 'kak +{{line}} {{filename}}'
|
||||
editAtLineAndWait: 'kak +{{line}} {{filename}}'
|
||||
editInTerminal: true
|
||||
openDirInEditor: 'nvim {{dir}}'
|
||||
openDirInEditor: 'kak -e "nnn-open {{dir}}"'
|
||||
|
||||
gui:
|
||||
nerdFontsVersion: "3"
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user