64 Commits

Author SHA1 Message Date
13ab26afd9 Remove fix silent mouse 2025-11-04 09:18:15 -05:00
c970150de4 Update 2025-04-07 10:49:29 -04:00
7042aeb0f0 i3 secondary bar for GTX 1070 2025-03-30 18:57:57 -04:00
f6a0c39228 Update 2025-03-29 19:52:15 -04:00
9c97e0e0ca Fix CPU temp 2025-03-28 17:56:19 -04:00
59a8d1f5ab Fix showing mute 2025-03-28 17:46:40 -04:00
e42cde1f54 Display volume num 2025-03-28 17:45:14 -04:00
2dc7427936 Doesn't show volume but scrolling works 2025-03-28 17:42:21 -04:00
ccd6122336 Fix gensub issue in fish 2025-03-28 10:53:21 -04:00
f1ad855f23 Hevin screensaver on one monitor 2025-03-25 17:54:29 -04:00
82baa8a23d Ubuntu start script, HERO ticker, Chrome default browser 2025-02-22 20:36:23 -05:00
05231501e7 Python currency converter 2025-02-03 17:44:47 -05:00
d04af8e39f Setup task, AWS aliases 2025-01-30 10:57:57 -05:00
941bee835a Ubuntu pkgs 2025-01-25 03:34:47 -05:00
720e104f55 Dexscreener MC 2025-01-18 12:39:25 -05:00
aef13d7f26 AVAX first 3 digits 2025-01-18 11:14:21 -05:00
85fb63208d Git signing key, volume i3block spacing 2025-01-18 11:07:00 -05:00
6f8c0b08d7 Tickers color scheme 2025-01-18 10:55:50 -05:00
5c098bd26d Basic i3 setup 2025-01-17 21:54:48 -05:00
d405f264db Pre-Ubuntu install 2025-01-17 11:43:32 -05:00
f9c5f9afe0 i3 Metamask shortcut 2025-01-14 14:48:37 -05:00
072980eaf1 Slow down scroll 2024-11-02 07:51:24 -04:00
adf0cb89b9 Fix Vim commenting 2024-10-30 10:42:09 -04:00
d56c047782 Vim commenting 2024-09-11 07:14:22 -04:00
71b0aa5ada Vim surround (brackets) 2024-09-03 14:05:12 -04:00
11681ecc9f Merge with single-screen branch 2024-08-27 10:45:29 -04:00
71017721bc Rm school aliases 2024-07-27 19:50:57 -04:00
a4946bf75d Vim set colorscheme, notepad 4th workspace icon 2024-07-10 22:20:47 -04:00
273d23abc0 Dexscreener script, arch-2 packages 2024-06-12 10:41:17 -04:00
c41e14a302 Terraform aliases 2024-05-29 13:54:32 -04:00
b165a802c9 kubectl/docker aliases 2024-05-23 18:18:46 -04:00
1c47a7311a sxiv black BG 2024-04-23 11:39:54 -04:00
5843fc30b6 Fix color scheme terminal 2024-04-18 11:59:29 -04:00
d9a49a4bb4 Fix fullscreen notis from Firefox (i3) 2024-03-20 15:08:00 -04:00
b40f818e3c Dunst font 2024-03-20 08:02:17 -04:00
e97aaadbe1 New pkgs 2024-02-28 13:46:03 -05:00
f098cbc708 Update 2024-02-28 09:34:53 -05:00
40fbbeeb8d Aliases 2024-02-27 11:44:40 -05:00
cda5ebcfc1 Update NZXT pkgs 2024-02-16 10:17:44 -05:00
de57298d0f Update 2024-01-31 12:15:36 -05:00
bd1366faf6 mpv rotate 2023-10-15 18:28:55 -04:00
35912c16b6 Kitty image preview 2023-10-06 11:06:14 -04:00
5aaf163d4d Fix i3 bar after updating Arch 2023-10-05 16:58:06 -04:00
1024cb18b3 Update Arch pkgs 2023-10-05 14:55:26 -04:00
fe632730ef SDV 2023-10-01 16:31:27 -04:00
436a7cbb87 PV aliases, fix Kraken script for BTC 2023-07-11 04:58:33 -04:00
1afe9d05a4 Kraken ticker i3block 2023-03-30 08:33:47 -04:00
e2a9e753ff Fix battery i3block 2022-12-15 13:25:38 -05:00
be2e73fda6 458 aliases 2022-11-02 12:27:06 -04:00
7b8685477b Merge remote-tracking branch 'refs/remotes/origin/master' 2022-11-01 16:13:24 -04:00
43e367d834 Update chezmoi data on laptop 2022-11-01 15:46:13 -04:00
e851514a31 Rarity sniper/300/301 aliases
scp videos from phone.
2022-05-12 11:25:16 -04:00
584ecabff4 fzf-cd 2021-08-07 16:19:53 -04:00
5b936dce8e IBM Cloud cluster 2021-07-22 16:06:55 -04:00
6f0dd1cdff Visually reset Markdown checkboxes, kube config
minikube completion.
2021-06-19 16:38:43 -04:00
00c4a42bf0 chezmoi hostname update, compton -> picom 2021-05-14 13:42:22 -04:00
505f63a32d Shorten ticker values in i3block 2021-04-26 12:43:16 -04:00
5c6f1e9a1c Ticker i3block, reminder fish script
kubectl completion.
2021-04-17 00:05:07 -04:00
23d1b1ffbd Update 2020-10-27 16:48:40 -04:00
b622ec0964 Vim Golang/Firefox profile bindings 2020-09-21 13:59:54 -04:00
ef68d2e9c7 Default XDG MIME apps 2020-08-08 00:09:37 -04:00
b5f5e62afa Red Hat config, Kogito completions 2020-08-05 23:32:40 -04:00
9e559088a2 dmenu Twitch emote script, copy full path function 2020-07-01 01:14:09 -04:00
f488c79b46 Initial Red Hat config 2020-06-18 13:48:16 -04:00
135 changed files with 11430 additions and 1006 deletions

View File

@@ -13,6 +13,6 @@ txt/
.xinitrc
.Xresources
{{ end }}
{{ if not (eq .chezmoi.fullHostname "x1-carbon") }}
{{ if not (eq .chezmoi.hostname "x1-carbon") }}
.Xmodmap-laptop
{{ end }}

File diff suppressed because it is too large Load Diff

View File

@@ -1,30 +1,44 @@
# vim: fdm=marker ft=sh.go-template syntax=sh
# vim: fdm=marker ft=sh.go-template syntax=sh
# sys [[[ #
bg ~/Pictures/Backgrounds
cf ~/linux-config/dot_config
cfd ~/.config
cff ~/.config/fish
cfg ~/.config
cfgf ~/.config/fish
ch ~/Documents/chat
dc ~/Documents/chat/discord
da /mnt/ipad/DCIM/105APPLE
dl ~/Downloads
# dw ~/dwm
D ~/Documents
k ~/
# k ~/
lc ~/linux-config
lf /mnt/linux-files
Lfp /mnt/linux-files/Pictures
Lfv /mnt/linux-files/Videos
me /run/media/kevin
lf2 /mnt/linux-files-2
lfp /mnt/linux-files/Pictures
lfp2 /mnt/linux-files-2/Pictures
lfv /mnt/linux-files/Videos
lfv2 /mnt/linux-files-2/Videos
lfv2s /mnt/linux-files-2/Videos/shows
lfy /mnt/linux-files/Videos/yt
a2 /mnt/linux-files-2/arch-2/full/home/kevin
lf3 /mnt/linux-files-3
medi /media/kevin
o /
pd ~/.password-store
pfp /mnt/linux-files-2/arch-2/full/home/kevin/Pictures/profile-pics
pfpp ~/Pictures/profile-pics/profiles-by-moto
P ~/Pictures
ssus ~/Pictures/screenshots/desktop/unsorted
std ~/st
# tm /tmp
tm ~/tmp
V ~/Videos
{{ if and (eq .chezmoi.username "root") (eq .linux_os "debian") }}
ng /etc/nginx/sites-available
sv /etc/systemd/system
# sv /etc/systemd/system
{{ end }}
# ]]] sys #
@@ -32,57 +46,81 @@ sv /etc/systemd/system
# cdn [[[ #
ad ~/.task
bm ~/Documents/bookmarks
ccd ~/.calcurse
cms ~/Documents/codm/site
cn ~/coding
# dn ~/Downloads
drk ~/coding/dark-sky
ffx ~/linux-config/dot_config/fish/functions
hbd ~/.habitctl
ib ~/linux-config/dot_config/i3blocks/scripts
ib ~/linux-config/dot_config/i3blocks
mbd ~/coding/minikube
pig ~/coding/pigallery
mbk ~/coding/minikube-kompose
ms ~/coding/mf-site
msr ~/coding/mf-site/static/pdf
pr ~/coding/pull-requests
ra ~/linux-config/dot_config/ranger
rd ~/Documents/red-discord-bot
rda ~/Documents/red-discord-bot/repos/gobcog-kevin/adventure
rdt ~/coding/discord-bots
rdp ~/coding/discord-bots/pinky/cogs/CogManager/cogs/adventure
sr ~/linux-config/scripts
snp ~/.vim/plugged/vim-snippets/UltiSnips
vsnps ~/.vim/plugged/vim-snippets/UltiSnips
sw ~/.local/share/nvim/swap/
tfd ~/coding/terraform
ttd ~/.timetrace
ttdr ~/.timetrace/records
tx ~/linux-config/txt
wd ~/.config/watson
{{ if eq .chezmoi.fullHostname "nzxt" }}
b1 ~/coding/mf-site/themes/base16
2d ~/coding/godot-demos/2d-plat
ada ~/coding/ada-mario
ft ~/coding/face-tracker
# ft ~/coding/face-tracker
#hv ~/Documents/hevin
#hv /mnt/linux-files-2/Pictures/hevin
hv ~/Pictures/hevin
hvs ~/Documents/hevin/shopping
j ~/Documents/journal
lh ~/Documents/listening-history
jt ~/Documents/journal/todo/25
# lh ~/Documents/listening-history
mmd ~/coding/move-mouse-with-head
mh ~/coding/mf-site/layouts
ms ~/coding/mf-site
ml ~/coding/mf-site/content/letter
msl ~/coding/mf-site/content/letter
# mp ~/coding/mf-site/static/pdf
pk ~/Documents/journal/packing-lists
pn ~/coding/red-discord-bot
# rs ~/coding/rarity-surf/backend/rarity_check/project
rsf ~/coding/rarity-surf/frontend
rsc ~/coding/rarity-surf/backend/rarity_check/project/management/commands
# rsm ~/coding/rarity-surf/backend/rarity_check/project/migrations
sl ~/Documents/sleep
sv ~/coding/spotify-lib-vis/src
svg ~/coding/spotify-lib-vis/src/graphs/static/graphs/scripts
swd ~/coding/swex
tb ~/coding/trapbot/src/trapbot
# tb ~/coding/trapbot/src/trapbot
tb ~/coding/twitter-bot
ur ~/coding/uranium-godot
wo ~/Documents/workout-logs
wo ~/Documents/workout-logs/25/4
# gaming [[[ #
te ~/Pictures/twitch-emotes
mt ~/.minetest
mta ~/.minetest/clientmods/custom_aliases
mtc ~/.minetest/games/mineclone2/mods
mtm ~/.minetest/minetest
# mt ~/.minetest
# mta ~/.minetest/clientmods/custom_aliases
# mtc ~/.minetest/games/mineclone2/mods
# mtm ~/.minetest/minetest
# pk ~/Downloads/gba/mgba/pokemon/emerald/1
# ]]] gaming #
{{ end }}
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
{{ if eq .chezmoi.hostname "x1-carbon" }}
adb ~/coding/ada-mario/build
adm ~/coding/ada-mario/media
adp ~/coding/ada-mario-presentation
@@ -90,31 +128,194 @@ ads ~/coding/ada-mario/scripts
adP ~/Pictures/ada-mario
{{ end }}
# ]]] cdn #
# gaming [[[ #
cm ~/Documents/codm
lfo /mnt/linux-files/Videos/obs
lfo2 /mnt/linux-files-2/Videos/obs
pxv /mnt/linux-files/Videos/pixel
tk ~/Documents/totk
tkp ~/Pictures/totk
# codm [[[ #
# cm ~/Documents/codm
cs ~/Documents/codm/site
csi ~/Documents/codm/site/static/images
Css ~/Pictures/screenshots/mobile/codm
fn ~/Documents/fortnite
# ]]] codm #
# fortnite [[[ #
#fn ~/Documents/fortnite
fnc /mnt/linux-files/Videos/yt/fortnite/clips/4
fnm ~/Documents/fortnite/pics/maps
fni /mnt/ipad/DCIM/100APPLE
#fnm ~/Documents/fortnite/pics/maps
fnn ~/Documents/fortnite/notes
fns ~/Documents/fortnite/stats/api
fnp ~/Documents/fortnite/pics
fns ~/Videos/fortnite/stats
# fnsp ~/Documents/fortnite/stats/pics
fnv /mnt/linux-files/Videos/personal-fortnite-games/review
tcd /mnt/linux-files/Videos/yt/fortnite/clips/twitch-clip-downloader
fnv2 /mnt/linux-files-2/Videos/ipad/fortnite/name
#fn ~/Videos/fortnite
fn /mnt/linux-files-3/fortnite
tcd Videos/yt/fortnite/clips/twitch-clip-downloader
# ]]] fortnite #
pgv /mnt/linux-files/Videos/pokemon-go
tr ~/.local/share/Terraria
dc ~/Documents/chat/discord
twt ~/Documents/twitter
sdv ~/Documents/stardew-valley-aha
dap /mnt/linux-files-2/Pictures/ipad
dau /mnt/linux-files-2/Videos/ipad/unsorted
sdvm ~/.local/share/Steam/steamapps/common/Stardew\ Valley/Mods/
sdvss ~/.local/share/StardewValley/Screenshots/
sdvsv ~/.config/StardewValley/Saves/Hevintales_355084144/
sdvsvg ~/Documents/stardew-valley-sdv-saves/hevintales
snp ~/Documents/marvel-snap
snpv /mnt/linux-files-2/Videos/ipad/marvel-snap
# ]]] gaming #
# pey [[[ #
atx ~/Documents/ataraxy-venture
em ~/Documents/emails
li ~/Documents/linkedin
lim ~/Documents/linkedin/msgs
rh ~/Documents/red-hat
rhc ~/Documents/red-hat/chat
rhe ~/Documents/red-hat/emails
rhl ~/Documents/red-hat/learned
sa ~/coding/rhcsa-notes
wcl ~/.weechat/logs
ep ~/Documents/expenses
# kogito [[[ #
kg ~/coding/kogito
kap ~/coding/kogito/kogito-apps
kdo ~/coding/kogito/kie-docs
kdoa ~/coding/kogito/kie-docs/doc-content/kogito-docs/src/main/asciidoc
kex ~/coding/kogito/kogito-examples
keh ~/coding/kogito/kogito-examples/process-scripts-quarkus/target
kep ~/coding/kogito/kogito-examples/process-postgresql-persistence-quarkus
kfl ~/coding/kogito/kogito-apps
kh ~/coding/kogito/kogito-helm-charts
kho ~/coding/kogito/kogito-helm-chart-old
ki ~/coding/kogito/kogito-images
kj ~/coding/kogito/jenkins-test
kjb ~/coding/kogito/jenkins-test-bot
kjf ~/coding/kogito/jenkins-test/full
kl ~/coding/kogito/shared-libraries
# operator [[[ #
ko ~/go/src/github.com/kiegroup/kogito-operator
kor ~/go/src/github.com/kiegroup/rhpam-kogito-operator
# koc ~/go/src/github.com/kiegroup/kogito-operator/cmd/kogito/command
koc ~/coding/kogito/kogito-operator
kod ~/go/src/github.com/kiegroup/kogito-operator/cmd/kogito/command/deploy
koe ~/go/src/github.com/kiegroup/kogito-operator/examples
kore ~/go/src/github.com/kiegroup/rhpam-kogito-operator/example
kof ~/go/src/github.com/kiegroup/kogito-operator/cmd/kogito/command/flag
# kor ~/go/src/github.com/kiegroup/kogito-operator/pkg/controller/kogitoruntime
kou ~/go/src/github.com/kiegroup/kogito-operator/cmd/kogito/command/util
ko2 ~/coding/kogito/kogito-operator-2
# ]]] operator #
kob ~/coding/kogito-operator-onboarding
kot ~/coding/kogito/optaplanner
kp ~/coding/kogito/kogito-pipelines
kp2 ~/coding/kogito/kogito-pipelines-2
kpr ~/coding/pull-requests/red-hat
kprh ~/coding/pull-requests/red-hat/helm
kr ~/coding/kogito/kogito-runtimes
krj ~/coding/kogito/kogito-runtimes/jenkins-spock-tests
ky ~/coding/kogito/kogito-kmok-yamls
gos ~/go/src
# ]]] kogito #
vb ~/coding/VileBot/vilebot
vbs ~/coding/VileBot/vilebot/src/main/java/com/oldterns/vilebot
# dv ~/coding/devops-sre-knowledge
nxo ~/coding/kogito/nexus-operator
# ]]] pey #
# nft [[[ #
cvt ~/Pictures/profile-pics/conviction
# mb ~/coding/mint-bot
pdg ~/Pictures/profile-pics/pudgy-penguins/test
pfps ~/Pictures/profile-pics/sappy-seals
pfpk ~/Pictures/profile-pics/gm-cafe/keek
pfpr ~/Pictures/profile-pics/reddit-avatars
nft ~/Documents/nft
# ]]] nft #
# sch [[[ #
sc ~/school
lt ~/school/latex-notes
ph ~/school/phl
phe ~/school/phl/w8-10-mind-machines/essay
ltc ~/coding/leetcode
jf ~/school/job-fair
jh ~/school/job-hunt
jhi ~/school/job-hunt/interview-questions
jhig ~/school/job-hunt/interview-questions/grafana
el ~/coding/eliza
an ~/coding/ai-nft-proj/
anb ~/coding/ai-nft-proj/backend
anf ~/coding/ai-nft-proj/frontend
tt ~/coding/try-eliza-twitter-client
me ~/coding/me-sniper/backend
mef ~/coding/me-sniper/frontend
mefn ~/coding/me-sniper/frontend-next-js
med ~/coding/me-sniper/discord-bot
me2 ~/coding/me-sniper/backend-copy
kb ~/coding/kanban-calendar
ac ~/coding/astral-challenge-txt
rbc ~/coding/rbc-aml/src
# ]]] sch #
# personal [[[ #
lw ~/Documents/lawrence
hih /mnt/linux-files-2/Videos/hot-in-herre
bb /mnt/linux-files-2/Pictures/bball
dh ~/Pictures/drake-hoodie
ets /mnt/linux-files-2/Videos/eras-taylor-swift-movie
mj /mnt/linux-files-2/Pictures/midjourney/results
mt /mnt/linux-files-2/Pictures/mutant-tees
sm /mnt/linux-files-2/Videos/sam-smith/named
wg /mnt/linux-files-2/Pictures/weed-grow-23
sdc /run/media/kevin/6339-3234
obs /mnt/linux-files-3/obs
br ~/Documents/fortnite/brainrot
# ]]] personal #

View File

@@ -3,14 +3,16 @@
# sys [[[ #
3 ~/linux-config/dot_config/i3/config.tmpl
3b ~/linux-config/dot_config/i3blocks/i3blocks.conf.tmpl
a ~/linux-config/aliases/key_aliases.tmpl
ak ~/linux-config/dot_ssh/authorized_keys-all
d ~/linux-config/aliases/key_dirs.tmpl
dw ~/dwm/config.def.h
f ~/linux-config/aliases/key_files.tmpl
fh ~/.local/share/fish/fish_history
hc ~/Documents/hevin/cleaning.md
n ~/linux-config/dot_vimrc.tmpl
p ~/linux-config/txt/pacman-pkgs/pacman-pkgs.txt
pkg ~/linux-config/txt/pacman-pkgs/pacman-pkgs.txt
r ~/linux-config/dot_config/ranger/rc.conf.tmpl
sr ~/linux-config/configs/ranger/shortcuts.conf
ss ~/.shortcuts
@@ -31,6 +33,7 @@ ng /etc/nginx/nginx.conf
# cdn [[[ #
ap ~/.task/pending.data
aw ~/Documents/journal/todo/24/aws.md
at ~/.task/to-add.md
bid ~/Documents/journal/todo/blog.md
cc ~/linux-config/private_dot_calcurse/conf
@@ -43,15 +46,17 @@ hh ~/.habitctl/habits
hlg ~/coding/spotify-lib-vis/src/api/management/commands/update-history.log
id ~/Documents/journal/todo/ideas.md
ig ./.gitignore
jn ~/Documents/journal/todo/2.md
jt ~/Documents/journal/todo/todo.md
jt ~/Documents/journal/todo/25/8.md
k ~/linux-config/dot_config/kitty/kitty.conf
lh ~/Documents/listening-history/polarbier.csv
mc ~/coding/mf-site/assets/sass/main.scss
mi ~/coding/mf-site/ideas.md
msr ~/coding/mf-site/content/resume/_index.md
ne ~/linux-config/configs/neofetch/config.conf
re README.md
rda ~/Documents/red-discord-bot/repos/gobcog-kevin/adventure/adventure.py
rdc ~/Documents/red-discord-bot/commands-freq.md
sl ~/Documents/sleep/sleep.md
td todo.md
tg ~/.config/watson/tags_cache
tt txt/todo.md
@@ -60,38 +65,70 @@ tp /tmp/
tw ~/linux-config/dot_taskrc
w ~/.config/watson/state.tmp
wh ~/Documents/journal/todo/work-habit.md
wt ~/.config/watson/state.tmp
# ]]] cdn #
# sch [[[ #
# 309 [[[ #
0c ~/school/309-proj/sass/main.scss
0h ~/school/309-proj/public/js/helpers.js
0i ~/school/309-proj/public/index.html
0m ~/school/309-proj/public/js/main.js
0f ~/school/309-proj/public/js/food.js
0s ~/school/309-proj/server.js
0t ~/school/309-proj/public/js/stores.js
# ]]] 309 #
# 384
8a ~/school/384/a1/searchAgents.py
8s ~/school/384/a1/search.py
4d ~/school/494/design/acanet-voting-design.md
4dme ~/school/494/design/meetings/panos.md
4dmd ~/school/494/design/provotu/modify.md
pvc ~/coding/dao-voting/provotum-v2/contracts/contracts/FiniteField/Ballot.sos
# ]]] sch #
# gaming [[[ #
bn ~/Documents/discord-burners/burners.md
cmr ~/Documents/codm/discord-recruitment.md
cra ~/Documents/red-discord-bot/repos/gobcog-kevin/adventure/data/default/attribs.json
crm ~/Documents/red-discord-bot/repos/gobcog-kevin/adventure/data/default/monsters.json
fn ~/Documents/fortnite/notes/fortnite-notes.md
#fn ~/Documents/fortnite/notes/fortnite-notes.md
fn ~/Documents/fortnite/notes/vods.md
fb ~/Documents/fortnite/notes/building-drills.md
fw ~/Documents/fortnite/notes/warmup.md
fp ~/Documents/fortnite/notes/post.md
fv ~/Documents/fortnite/notes/vods.md
mta ~/.minetest/clientmods/custom_aliases/init.lua
cmr ~/Documents/codm/discord-recruitment.md
nb ~/Documents/chat/discord/pistol.md
pk ~/Downloads/pokecord/pokecord2.md
sdv ~/Documents/stardew-valley-sdv/notes.md
snp ~/Documents/marvel-snap/strats.md
tc /mnt/linux-files/Videos/yt/fortnite/clips/twitch-clip-downloader/clips.txt
tdb ~/Documents/journal/todo/b.md
jop ~/Documents/journal/personal/jop.md
# ]]] gaming #
# pey [[[ #
dv ~/coding/devops-sre-knowledge/devops-sre-learned.md
j Jenkinsfile.
jd Jenkinsfile.deploy
klg ~/coding/kogito/shared-libraries/vars/githubscm.groovy
klm ~/coding/kogito/shared-libraries/vars/maven.groovy
kob ~/coding/kogito-operator-onboarding/README.md
kpr ~/coding/kogito/kogito-pipelines/Jenkinsfile.pr-bdd-tests
krt /home/kevin/coding/kogito/kogito-runtimes/jenkins-spock-tests/src/test/vars/JenkinsfilePromote.groovy
rd ~/Documents/red-hat/dates.md
rm ~/Documents/red-hat/meeting.md
rt ~/Documents/red-hat/todo.md
lip ~/Documents/linkedin/linkedin-profile.md
jhi ~/school/job-hunt/info.md
jhb ~/school/job-hunt/b.md
# ]]] pey #
ej ~/Documents/emojis/emojis.md
nf ~/Documents/twitter/nft-25.md
sg ~/Documents/chat/signal/jay-groups.md
wd ~/Documents/journal/personal/weed.md
wo ~/Documents/workout-logs/7/running.md
str ~/Documents/workout-logs/stretching.md
be ~/Documents/workout-logs/25/4/back-exercises.md
ms ~/Documents/journal/personal/meds-sched.md
mg ~/Documents/journal/personal/meds-gpt.md

View File

@@ -1,7 +1,9 @@
clear Lock
keycode 22 = Caps_Lock
keycode 66 = BackSpace
keycode 78 = End
keycode 9 = Caps_Lock
keycode 66 = Escape
keycode 22 = BackSpace
pointer = 1 10 3 6 7 4 5 2 11 12 8 9
pointer = 1 2 3 6 7 4 5 10 11 12 8 9
! side thumb button as middle click
! pointer = 1 10 3 6 7 4 5 2 11 12 8 9

View File

@@ -1,9 +1,7 @@
clear Lock
keycode 115 = BackSpace
keycode 110 = Delete
keycode 22 = Home
keycode 119 = End
keycode 115 = Escape
keycode 9 = End
keycode 22 = BackSpace
pointer = 1 2 3 4 5 6 7 8 9 10 11 12

9
dot_Xmodmap-laptop-old Normal file
View File

@@ -0,0 +1,9 @@
clear Lock
keycode 115 = BackSpace
keycode 110 = Delete
keycode 22 = Home
keycode 119 = End
pointer = 1 2 3 4 5 6 7 8 9 10 11 12

7
dot_Xmodmap-old Normal file
View File

@@ -0,0 +1,7 @@
clear Lock
keycode 22 = Caps_Lock
keycode 66 = BackSpace
keycode 78 = End
pointer = 1 10 3 6 7 4 5 2 11 12 8 9

8
dot_Xmodmap-ubuntu Normal file
View File

@@ -0,0 +1,8 @@
clear Lock
keycode 66 = Caps_Lock
keycode 9 = Escape
pointer = 1 2 3 6 7 4 5 10 11 12 8 9
! side thumb button as middle click
! pointer = 1 10 3 6 7 4 5 2 11 12 8 9

11
dot_Xmodmap-vm Normal file
View File

@@ -0,0 +1,11 @@
clear Lock
! keycode 9 = Caps_Lock
! keycode 66 = Escape
keycode 9 = Escape
keycode 66 = Caps_Lock
keycode 22 = BackSpace
pointer = 1 2 3 6 7 4 5 10 11 12 8 9
! side thumb button as middle click
! pointer = 1 10 3 6 7 4 5 2 11 12 8 9

View File

@@ -1,9 +1,12 @@
/* dpi [[[ */
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
{{ if eq .chezmoi.hostname "x1-carbon" }}
! Xft.dpi: 230
Xft.dpi: 235
! Xft.dpi: 240
Xft.dpi: 230
{{ else }}
! Xft.dpi: 90
! Xft.dpi: 100
Xft.dpi: 135
! Xft.dpi: 170
{{ end }}
@@ -18,21 +21,25 @@ Xft.rgba: rgb
/* font [[[ */
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
! URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=11
URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=11.5
! URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=12
{{ if eq .chezmoi.hostname "x1-carbon" }}
URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=11
! URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=10
! URxvt*cursorBlink: 0
URxvt*cursorBlink: False
{{ else }}
! URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=15
! URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=14
! URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=13.5
URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=12
! URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=12
! URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=11
URxvt.font: xft:Hack Nerd Font Mono:size=11
{{ end }}
! URxvt.font: xft:Hack:size=18
/* resize [[[ */
URxvt.resize-font.step: 4
! URxvt.resize-font.step: 4
URxvt.resize-font.step: 2
URxvt.keysym.C-S-Down: resize-font:smaller
URxvt.keysym.C-S-Up: resize-font:bigger
URxvt.keysym.C-S-equal: resize-font:reset
@@ -67,9 +74,14 @@ URxvt.scrollBar: false
/* Clickable URLs [[[ */
URxvt.perl-ext-common: default,matcher,resize-font
URxvt.url-launcher: /usr/bin/xdg-open
URxvt.url-launcher: /usr/bin/firefox
! URxvt.url-launcher: firefox
URxvt.matcher.button: 1
/* ]]] Clickable URLs */
Sxiv.background: #000000
Sxiv.foreground: #00C0FF
Sxiv.font: Hack-9
! vim: fdm=marker ft=xdefaults.go-template

View File

@@ -204,4 +204,4 @@ fi
# Both PC/Laptop }}}
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
source ~/aliases/.key_aliases
source /home/kevin/aliases/.key_aliases

327
dot_config/dunst/dunstrc Normal file
View File

@@ -0,0 +1,327 @@
[global]
### Display ###
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = mouse
# The geometry of the window:
# [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window.
# The height is measured in number of notifications everything else
# in pixels. If the width is omitted but the height is given
# ("-geometry x2"), the message window expands over the whole screen
# (dmenu-like). If width is 0, the window expands to the longest
# message displayed. A positive x is measured from the left, a
# negative from the right side of the screen. Y is measured from
# the top and down respectively.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "300x5-30+20"
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = no
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 0
# The height of the entire notification. If the height is smaller
# than the font height and padding combined, it will be raised
# to the font height and padding.
notification_height = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 2
# Padding between text and separator.
padding = 8
# Horizontal padding.
horizontal_padding = 8
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 3
# Defines color of the frame around the notification window.
frame_color = "#aaaaaa"
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Sort messages by urgency.
sort = yes
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
# Transient notifications ignore this setting.
idle_threshold = 120
### Text ###
# font = Monospace 8
font = Hack Nerd Font Mono 8
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<b>%s</b>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# When word_wrap is set to no, specify where to ellipsize long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Merge multiple notifications with the same content
stack_duplicates = true
# Hide the count of merged notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
### Icons ###
# Align icons left/right/off
icon_position = off
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 32
# Paths to default icons.
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/firefox -new-tab
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
[shortcuts]
# Shortcuts are specified as [modifier+][modifier+]...key
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
# Close notification.
close = ctrl+space
# Close all notifications.
close_all = ctrl+shift+space
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1". Make sure this key actually exists on your keyboard layout,
# e.g. check output of 'xmodmap -pke'
history = ctrl+grave
# Context menu.
context = ctrl+shift+period
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#222222"
foreground = "#888888"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#285577"
foreground = "#ffffff"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#900000"
foreground = "#ffffff"
frame_color = "#ff0000"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
# Messages can be matched by "appname", "summary", "body", "icon", "category",
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
# "background", "new_icon" and "format".
# Shell-like globbing will get expanded.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
# vim: ft=cfg

View File

@@ -0,0 +1,137 @@
# fish completion for kogito -*- shell-script -*-
function __kogito_debug
set file "$BASH_COMP_DEBUG_FILE"
if test -n "$file"
echo "$argv" >> $file
end
end
function __kogito_perform_completion
__kogito_debug "Starting __kogito_perform_completion with: $argv"
set args (string split -- " " "$argv")
set lastArg "$args[-1]"
__kogito_debug "args: $args"
__kogito_debug "last arg: $lastArg"
set emptyArg ""
if test -z "$lastArg"
__kogito_debug "Setting emptyArg"
set emptyArg \"\"
end
__kogito_debug "emptyArg: $emptyArg"
set requestComp "$args[1] __complete $args[2..-1] $emptyArg"
__kogito_debug "Calling $requestComp"
set results (eval $requestComp 2> /dev/null)
set comps $results[1..-2]
set directiveLine $results[-1]
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
# completions must be prefixed with the flag
set flagPrefix (string match -r -- '-.*=' "$lastArg")
__kogito_debug "Comps: $comps"
__kogito_debug "DirectiveLine: $directiveLine"
__kogito_debug "flagPrefix: $flagPrefix"
for comp in $comps
printf "%s%s\n" "$flagPrefix" "$comp"
end
printf "%s\n" "$directiveLine"
end
# This function does three things:
# 1- Obtain the completions and store them in the global __kogito_comp_results
# 2- Set the __kogito_comp_do_file_comp flag if file completion should be performed
# and unset it otherwise
# 3- Return true if the completion results are not empty
function __kogito_prepare_completions
# Start fresh
set --erase __kogito_comp_do_file_comp
set --erase __kogito_comp_results
# Check if the command-line is already provided. This is useful for testing.
if not set --query __kogito_comp_commandLine
set __kogito_comp_commandLine (commandline)
end
__kogito_debug "commandLine is: $__kogito_comp_commandLine"
set results (__kogito_perform_completion "$__kogito_comp_commandLine")
set --erase __kogito_comp_commandLine
__kogito_debug "Completion results: $results"
if test -z "$results"
__kogito_debug "No completion, probably due to a failure"
# Might as well do file completion, in case it helps
set --global __kogito_comp_do_file_comp 1
return 0
end
set directive (string sub --start 2 $results[-1])
set --global __kogito_comp_results $results[1..-2]
__kogito_debug "Completions are: $__kogito_comp_results"
__kogito_debug "Directive is: $directive"
if test -z "$directive"
set directive 0
end
set compErr (math (math --scale 0 $directive / 1) % 2)
if test $compErr -eq 1
__kogito_debug "Received error directive: aborting."
# Might as well do file completion, in case it helps
set --global __kogito_comp_do_file_comp 1
return 0
end
set nospace (math (math --scale 0 $directive / 2) % 2)
set nofiles (math (math --scale 0 $directive / 4) % 2)
__kogito_debug "nospace: $nospace, nofiles: $nofiles"
# Important not to quote the variable for count to work
set numComps (count $__kogito_comp_results)
__kogito_debug "numComps: $numComps"
if test $numComps -eq 1; and test $nospace -ne 0
# To support the "nospace" directive we trick the shell
# by outputting an extra, longer completion.
__kogito_debug "Adding second completion to perform nospace directive"
set --append __kogito_comp_results $__kogito_comp_results[1].
end
if test $numComps -eq 0; and test $nofiles -eq 0
__kogito_debug "Requesting file completion"
set --global __kogito_comp_do_file_comp 1
end
# If we don't want file completion, we must return true even if there
# are no completions found. This is because fish will perform the last
# completion command, even if its condition is false, if no other
# completion command was triggered
return (not set --query __kogito_comp_do_file_comp)
end
# Remove any pre-existing completions for the program since we will be handling all of them
# TODO this cleanup is not sufficient. Fish completions are only loaded once the user triggers
# them, so the below deletion will not work as it is run too early. What else can we do?
complete -c kogito -e
# The order in which the below two lines are defined is very important so that __kogito_prepare_completions
# is called first. It is __kogito_prepare_completions that sets up the __kogito_comp_do_file_comp variable.
#
# This completion will be run second as complete commands are added FILO.
# It triggers file completion choices when __kogito_comp_do_file_comp is set.
complete -c kogito -n 'set --query __kogito_comp_do_file_comp'
# This completion will be run first as complete commands are added FILO.
# The call to __kogito_prepare_completions will setup both __kogito_comp_results abd __kogito_comp_do_file_comp.
# It provides the program's completion choices.
complete -c kogito -n '__kogito_prepare_completions' -f -a '$__kogito_comp_results'

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,178 @@
# Copyright 2016 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# fish completion for minikube -*- shell-script -*-
function __minikube_debug
set file "$BASH_COMP_DEBUG_FILE"
if test -n "$file"
echo "$argv" >> $file
end
end
function __minikube_perform_completion
__minikube_debug "Starting __minikube_perform_completion with: $argv"
set args (string split -- " " "$argv")
set lastArg "$args[-1]"
__minikube_debug "args: $args"
__minikube_debug "last arg: $lastArg"
set emptyArg ""
if test -z "$lastArg"
__minikube_debug "Setting emptyArg"
set emptyArg \"\"
end
__minikube_debug "emptyArg: $emptyArg"
if not type -q "$args[1]"
# This can happen when "complete --do-complete minikube" is called when running this script.
__minikube_debug "Cannot find $args[1]. No completions."
return
end
set requestComp "$args[1] __complete $args[2..-1] $emptyArg"
__minikube_debug "Calling $requestComp"
set results (eval $requestComp 2> /dev/null)
set comps $results[1..-2]
set directiveLine $results[-1]
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
# completions must be prefixed with the flag
set flagPrefix (string match -r -- '-.*=' "$lastArg")
__minikube_debug "Comps: $comps"
__minikube_debug "DirectiveLine: $directiveLine"
__minikube_debug "flagPrefix: $flagPrefix"
for comp in $comps
printf "%s%s\n" "$flagPrefix" "$comp"
end
printf "%s\n" "$directiveLine"
end
# This function does three things:
# 1- Obtain the completions and store them in the global __minikube_comp_results
# 2- Set the __minikube_comp_do_file_comp flag if file completion should be performed
# and unset it otherwise
# 3- Return true if the completion results are not empty
function __minikube_prepare_completions
# Start fresh
set --erase __minikube_comp_do_file_comp
set --erase __minikube_comp_results
# Check if the command-line is already provided. This is useful for testing.
if not set --query __minikube_comp_commandLine
# Use the -c flag to allow for completion in the middle of the line
set __minikube_comp_commandLine (commandline -c)
end
__minikube_debug "commandLine is: $__minikube_comp_commandLine"
set results (__minikube_perform_completion "$__minikube_comp_commandLine")
set --erase __minikube_comp_commandLine
__minikube_debug "Completion results: $results"
if test -z "$results"
__minikube_debug "No completion, probably due to a failure"
# Might as well do file completion, in case it helps
set --global __minikube_comp_do_file_comp 1
return 1
end
set directive (string sub --start 2 $results[-1])
set --global __minikube_comp_results $results[1..-2]
__minikube_debug "Completions are: $__minikube_comp_results"
__minikube_debug "Directive is: $directive"
set shellCompDirectiveError 1
set shellCompDirectiveNoSpace 2
set shellCompDirectiveNoFileComp 4
set shellCompDirectiveFilterFileExt 8
set shellCompDirectiveFilterDirs 16
if test -z "$directive"
set directive 0
end
set compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
if test $compErr -eq 1
__minikube_debug "Received error directive: aborting."
# Might as well do file completion, in case it helps
set --global __minikube_comp_do_file_comp 1
return 1
end
set filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
set dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
if test $filefilter -eq 1; or test $dirfilter -eq 1
__minikube_debug "File extension filtering or directory filtering not supported"
# Do full file completion instead
set --global __minikube_comp_do_file_comp 1
return 1
end
set nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
set nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
__minikube_debug "nospace: $nospace, nofiles: $nofiles"
# Important not to quote the variable for count to work
set numComps (count $__minikube_comp_results)
__minikube_debug "numComps: $numComps"
if test $numComps -eq 1; and test $nospace -ne 0
# To support the "nospace" directive we trick the shell
# by outputting an extra, longer completion.
__minikube_debug "Adding second completion to perform nospace directive"
set --append __minikube_comp_results $__minikube_comp_results[1].
end
if test $numComps -eq 0; and test $nofiles -eq 0
__minikube_debug "Requesting file completion"
set --global __minikube_comp_do_file_comp 1
end
# If we don't want file completion, we must return true even if there
# are no completions found. This is because fish will perform the last
# completion command, even if its condition is false, if no other
# completion command was triggered
return (not set --query __minikube_comp_do_file_comp)
end
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
# so we can properly delete any completions provided by another script.
# The space after the the program name is essential to trigger completion for the program
# and not completion of the program name itself.
complete --do-complete "minikube " > /dev/null 2>&1
# Using '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
# Remove any pre-existing completions for the program since we will be handling all of them.
complete -c minikube -e
# The order in which the below two lines are defined is very important so that __minikube_prepare_completions
# is called first. It is __minikube_prepare_completions that sets up the __minikube_comp_do_file_comp variable.
#
# This completion will be run second as complete commands are added FILO.
# It triggers file completion choices when __minikube_comp_do_file_comp is set.
complete -c minikube -n 'set --query __minikube_comp_do_file_comp'
# This completion will be run first as complete commands are added FILO.
# The call to __minikube_prepare_completions will setup both __minikube_comp_results and __minikube_comp_do_file_comp.
# It provides the program's completion choices.
complete -c minikube -n '__minikube_prepare_completions' -f -a '$__minikube_comp_results'

View File

@@ -0,0 +1,115 @@
# Copyright (C) 2012-2014 Dmitry Medvinsky <me@dmedvinsky.name>. All Rights Reserved.
# This file is licensed under the GPLv2+. Please see COPYING for more information.
set -l PROG 'pass'
function __fish_pass_get_prefix
if set -q PASSWORD_STORE_DIR
realpath -- "$PASSWORD_STORE_DIR"
else
echo "$HOME/.password-store"
end
end
function __fish_pass_needs_command
[ (count (commandline -opc)) -eq 1 ]
end
function __fish_pass_uses_command
set -l cmd (commandline -opc)
if [ (count $cmd) -gt 1 ]
if [ $argv[1] = $cmd[2] ]
return 0
end
end
return 1
end
function __fish_pass_print_gpg_keys
gpg2 --list-keys | grep uid | sed 's/.*<\(.*\)>/\1/'
end
function __fish_pass_print
set -l ext $argv[1]
set -l strip $argv[2]
set -l prefix (__fish_pass_get_prefix)
set -l matches $prefix/**$ext
printf '%s\n' $matches | sed "s#$prefix/\(.*\)$strip#\1#"
end
function __fish_pass_print_entry_dirs
__fish_pass_print "/"
end
function __fish_pass_print_entries
__fish_pass_print ".gpg" ".gpg"
end
function __fish_pass_print_entries_and_dirs
__fish_pass_print_entry_dirs
__fish_pass_print_entries
end
function __fish_pass_git_complete
set -l prefix (__fish_pass_get_prefix)
set -l git_cmd (commandline -opc) (commandline -ct)
set -e git_cmd[1 2] # Drop "pass git".
complete -C"git -C $prefix $git_cmd"
end
complete -c $PROG -f -n '__fish_pass_needs_command' -a help -d 'Command: show usage help'
complete -c $PROG -f -n '__fish_pass_needs_command' -a version -d 'Command: show program version'
complete -c $PROG -f -n '__fish_pass_needs_command' -a init -d 'Command: initialize new password storage'
complete -c $PROG -f -n '__fish_pass_uses_command init' -s p -l path -d 'Assign gpg-id for specified sub folder of password store'
complete -c $PROG -f -n '__fish_pass_needs_command' -a ls -d 'Command: list passwords'
complete -c $PROG -f -n '__fish_pass_uses_command ls' -a "(__fish_pass_print_entry_dirs)"
complete -c $PROG -f -n '__fish_pass_needs_command' -a insert -d 'Command: insert new password'
complete -c $PROG -f -n '__fish_pass_uses_command insert' -s e -l echo -d 'Echo the password on console'
complete -c $PROG -f -n '__fish_pass_uses_command insert' -s m -l multiline -d 'Provide multiline password entry'
complete -c $PROG -f -n '__fish_pass_uses_command insert' -s f -l force -d 'Do not prompt before overwritting'
complete -c $PROG -f -n '__fish_pass_uses_command insert' -a "(__fish_pass_print_entry_dirs)"
complete -c $PROG -f -n '__fish_pass_needs_command' -a generate -d 'Command: generate new password'
complete -c $PROG -f -n '__fish_pass_uses_command generate' -s n -l no-symbols -d 'Do not use special symbols'
complete -c $PROG -f -n '__fish_pass_uses_command generate' -s c -l clip -d 'Put the password in clipboard'
complete -c $PROG -f -n '__fish_pass_uses_command generate' -s f -l force -d 'Do not prompt before overwritting'
complete -c $PROG -f -n '__fish_pass_uses_command generate' -s i -l in-place -d 'Replace only the first line with the generated password'
complete -c $PROG -f -n '__fish_pass_uses_command generate' -a "(__fish_pass_print_entry_dirs)"
complete -c $PROG -f -n '__fish_pass_needs_command' -a mv -d 'Command: rename existing password'
complete -c $PROG -f -n '__fish_pass_uses_command mv' -s f -l force -d 'Force rename'
complete -c $PROG -f -n '__fish_pass_uses_command mv' -a "(__fish_pass_print_entries_and_dirs)"
complete -c $PROG -f -n '__fish_pass_needs_command' -a cp -d 'Command: copy existing password'
complete -c $PROG -f -n '__fish_pass_uses_command cp' -s f -l force -d 'Force copy'
complete -c $PROG -f -n '__fish_pass_uses_command cp' -a "(__fish_pass_print_entries_and_dirs)"
complete -c $PROG -f -n '__fish_pass_needs_command' -a rm -d 'Command: remove existing password'
complete -c $PROG -f -n '__fish_pass_uses_command rm' -s r -l recursive -d 'Remove password groups recursively'
complete -c $PROG -f -n '__fish_pass_uses_command rm' -s f -l force -d 'Force removal'
complete -c $PROG -f -n '__fish_pass_uses_command rm' -a "(__fish_pass_print_entries_and_dirs)"
complete -c $PROG -f -n '__fish_pass_needs_command' -a edit -d 'Command: edit password using text editor'
complete -c $PROG -f -n '__fish_pass_uses_command edit' -a "(__fish_pass_print_entries)"
complete -c $PROG -f -n '__fish_pass_needs_command' -a show -d 'Command: show existing password'
complete -c $PROG -f -n '__fish_pass_uses_command show' -s c -l clip -d 'Put password in clipboard'
complete -c $PROG -f -n '__fish_pass_uses_command show' -a "(__fish_pass_print_entries)"
# When no command is given, `show` is defaulted.
complete -c $PROG -f -n '__fish_pass_needs_command' -s c -l clip -d 'Put password in clipboard'
complete -c $PROG -f -n '__fish_pass_needs_command' -a "(__fish_pass_print_entries)"
complete -c $PROG -f -n '__fish_pass_uses_command -c' -a "(__fish_pass_print_entries)"
complete -c $PROG -f -n '__fish_pass_uses_command --clip' -a "(__fish_pass_print_entries)"
complete -c $PROG -f -n '__fish_pass_needs_command' -a git -d 'Command: execute a git command'
complete -c $PROG -f -n '__fish_pass_uses_command git' -a '(__fish_pass_git_complete)'
complete -c $PROG -f -n '__fish_pass_needs_command' -a find -d 'Command: find a password file or directory matching pattern'
complete -c $PROG -f -n '__fish_pass_needs_command' -a grep -d 'Command: search inside of decrypted password files for matching pattern'
complete -c $PROG -f -n '__fish_pass_uses_command grep' -a '(begin
set -l cmd (commandline -opc) (commandline -ct)
set -e cmd[1 2] # Drop "pass grep".
complete -C"grep $cmd"
end)'

View File

@@ -0,0 +1,235 @@
# fish completion for timetrace -*- shell-script -*-
function __timetrace_debug
set -l file "$BASH_COMP_DEBUG_FILE"
if test -n "$file"
echo "$argv" >> $file
end
end
function __timetrace_perform_completion
__timetrace_debug "Starting __timetrace_perform_completion"
# Extract all args except the last one
set -l args (commandline -opc)
# Extract the last arg and escape it in case it is a space
set -l lastArg (string escape -- (commandline -ct))
__timetrace_debug "args: $args"
__timetrace_debug "last arg: $lastArg"
# Disable ActiveHelp which is not supported for fish shell
set -l requestComp "TIMETRACE_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg"
__timetrace_debug "Calling $requestComp"
set -l results (eval $requestComp 2> /dev/null)
# Some programs may output extra empty lines after the directive.
# Let's ignore them or else it will break completion.
# Ref: https://github.com/spf13/cobra/issues/1279
for line in $results[-1..1]
if test (string trim -- $line) = ""
# Found an empty line, remove it
set results $results[1..-2]
else
# Found non-empty line, we have our proper output
break
end
end
set -l comps $results[1..-2]
set -l directiveLine $results[-1]
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
# completions must be prefixed with the flag
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
__timetrace_debug "Comps: $comps"
__timetrace_debug "DirectiveLine: $directiveLine"
__timetrace_debug "flagPrefix: $flagPrefix"
for comp in $comps
printf "%s%s\n" "$flagPrefix" "$comp"
end
printf "%s\n" "$directiveLine"
end
# this function limits calls to __timetrace_perform_completion, by caching the result behind $__timetrace_perform_completion_once_result
function __timetrace_perform_completion_once
__timetrace_debug "Starting __timetrace_perform_completion_once"
if test -n "$__timetrace_perform_completion_once_result"
__timetrace_debug "Seems like a valid result already exists, skipping __timetrace_perform_completion"
return 0
end
set --global __timetrace_perform_completion_once_result (__timetrace_perform_completion)
if test -z "$__timetrace_perform_completion_once_result"
__timetrace_debug "No completions, probably due to a failure"
return 1
end
__timetrace_debug "Performed completions and set __timetrace_perform_completion_once_result"
return 0
end
# this function is used to clear the $__timetrace_perform_completion_once_result variable after completions are run
function __timetrace_clear_perform_completion_once_result
__timetrace_debug ""
__timetrace_debug "========= clearing previously set __timetrace_perform_completion_once_result variable =========="
set --erase __timetrace_perform_completion_once_result
__timetrace_debug "Succesfully erased the variable __timetrace_perform_completion_once_result"
end
function __timetrace_requires_order_preservation
__timetrace_debug ""
__timetrace_debug "========= checking if order preservation is required =========="
__timetrace_perform_completion_once
if test -z "$__timetrace_perform_completion_once_result"
__timetrace_debug "Error determining if order preservation is required"
return 1
end
set -l directive (string sub --start 2 $__timetrace_perform_completion_once_result[-1])
__timetrace_debug "Directive is: $directive"
set -l shellCompDirectiveKeepOrder 32
set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) % 2)
__timetrace_debug "Keeporder is: $keeporder"
if test $keeporder -ne 0
__timetrace_debug "This does require order preservation"
return 0
end
__timetrace_debug "This doesn't require order preservation"
return 1
end
# This function does two things:
# - Obtain the completions and store them in the global __timetrace_comp_results
# - Return false if file completion should be performed
function __timetrace_prepare_completions
__timetrace_debug ""
__timetrace_debug "========= starting completion logic =========="
# Start fresh
set --erase __timetrace_comp_results
__timetrace_perform_completion_once
__timetrace_debug "Completion results: $__timetrace_perform_completion_once_result"
if test -z "$__timetrace_perform_completion_once_result"
__timetrace_debug "No completion, probably due to a failure"
# Might as well do file completion, in case it helps
return 1
end
set -l directive (string sub --start 2 $__timetrace_perform_completion_once_result[-1])
set --global __timetrace_comp_results $__timetrace_perform_completion_once_result[1..-2]
__timetrace_debug "Completions are: $__timetrace_comp_results"
__timetrace_debug "Directive is: $directive"
set -l shellCompDirectiveError 1
set -l shellCompDirectiveNoSpace 2
set -l shellCompDirectiveNoFileComp 4
set -l shellCompDirectiveFilterFileExt 8
set -l shellCompDirectiveFilterDirs 16
if test -z "$directive"
set directive 0
end
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
if test $compErr -eq 1
__timetrace_debug "Received error directive: aborting."
# Might as well do file completion, in case it helps
return 1
end
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
if test $filefilter -eq 1; or test $dirfilter -eq 1
__timetrace_debug "File extension filtering or directory filtering not supported"
# Do full file completion instead
return 1
end
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
__timetrace_debug "nospace: $nospace, nofiles: $nofiles"
# If we want to prevent a space, or if file completion is NOT disabled,
# we need to count the number of valid completions.
# To do so, we will filter on prefix as the completions we have received
# may not already be filtered so as to allow fish to match on different
# criteria than the prefix.
if test $nospace -ne 0; or test $nofiles -eq 0
set -l prefix (commandline -t | string escape --style=regex)
__timetrace_debug "prefix: $prefix"
set -l completions (string match -r -- "^$prefix.*" $__timetrace_comp_results)
set --global __timetrace_comp_results $completions
__timetrace_debug "Filtered completions are: $__timetrace_comp_results"
# Important not to quote the variable for count to work
set -l numComps (count $__timetrace_comp_results)
__timetrace_debug "numComps: $numComps"
if test $numComps -eq 1; and test $nospace -ne 0
# We must first split on \t to get rid of the descriptions to be
# able to check what the actual completion will be.
# We don't need descriptions anyway since there is only a single
# real completion which the shell will expand immediately.
set -l split (string split --max 1 \t $__timetrace_comp_results[1])
# Fish won't add a space if the completion ends with any
# of the following characters: @=/:.,
set -l lastChar (string sub -s -1 -- $split)
if not string match -r -q "[@=/:.,]" -- "$lastChar"
# In other cases, to support the "nospace" directive we trick the shell
# by outputting an extra, longer completion.
__timetrace_debug "Adding second completion to perform nospace directive"
set --global __timetrace_comp_results $split[1] $split[1].
__timetrace_debug "Completions are now: $__timetrace_comp_results"
end
end
if test $numComps -eq 0; and test $nofiles -eq 0
# To be consistent with bash and zsh, we only trigger file
# completion when there are no other completions
__timetrace_debug "Requesting file completion"
return 1
end
end
return 0
end
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
# so we can properly delete any completions provided by another script.
# Only do this if the program can be found, or else fish may print some errors; besides,
# the existing completions will only be loaded if the program can be found.
if type -q "timetrace"
# The space after the program name is essential to trigger completion for the program
# and not completion of the program name itself.
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
complete --do-complete "timetrace " > /dev/null 2>&1
end
# Remove any pre-existing completions for the program since we will be handling all of them.
complete -c timetrace -e
# this will get called after the two calls below and clear the $__timetrace_perform_completion_once_result global
complete -c timetrace -n '__timetrace_clear_perform_completion_once_result'
# The call to __timetrace_prepare_completions will setup __timetrace_comp_results
# which provides the program's completion choices.
# If this doesn't require order preservation, we don't use the -k flag
complete -c timetrace -n 'not __timetrace_requires_order_preservation && __timetrace_prepare_completions' -f -a '$__timetrace_comp_results'
# otherwise we use the -k flag
complete -k -c timetrace -n '__timetrace_requires_order_preservation && __timetrace_prepare_completions' -f -a '$__timetrace_comp_results'

View File

@@ -1,12 +1,51 @@
# vim: fdm=marker ft=fish.go-template
# aliases [[[ #
# personal [[[ #
# dirs [[[ #
abbr cvt "cd ~/Pictures/profile-pics/conviction"
abbr ets "cd /mnt/linux-files-2/Videos/eras-taylor-swift-movie"
abbr hv "cd /mnt/linux-files-2/Pictures/hevin"
abbr hvn "cd ~/coding/hevin-nft"
abbr lon "libreoffice ~/Documents/expenses/net-worth.ods &"
abbr lfs2 "cd /mnt/linux-files-2/Videos/shows"
abbr mj "cd /mnt/linux-files-2/Pictures/midjourney"
abbr pdg "cd ~/Pictures/profile-pics/pudgy-penguins/test"
abbr snp "cd /mnt/linux-files-2/Videos/ipad/marvel-snap"
abbr tr "cd ~/.local/share/Terraria"
abbr da "cd /mnt/ipad/DCIM/102APPLE"
# ]]] dirs #
abbr ncy "nvim ~/Documents/journal/hobbies/courtyard-drop.md"
abbr njt "nvim ~/Documents/journal/todo/24/2.md"
abbr rsn "rsync -e 'ssh -p 399' -r . 165.22.239.234:/home/kevin/hevin/art -acvv"
# ]]] personal #
# school [[[ #
abbr js "cd ~/Documents/job-search"
abbr ssad "ssh -i ~/coding/aws.pem admin@ec2-18-223-241-198.us-east-2.compute.amazonaws.com"
abbr ssa "ssh kevin@ec2-18-223-241-198.us-east-2.compute.amazonaws.com"
# ]]] school #
# abbr nej "nvim ~/Documents/emojis.md"
# ]]] aliases #
# login to X [[[ #
{{ if eq .chezmoi.username "kevin" }}
if status is-login
if test -z "$DISPLAY" -a $XDG_VTNR = 1
exec startx -- -keeptty
end
if test -z "$DISPLAY" -a $XDG_VTNR = 1
exec startx -- -keeptty
end
end
set -x GPG_TTY (tty)
{{ end }}
@@ -17,25 +56,45 @@ set -x GPG_TTY (tty)
set -U fish_greeting
# spv[[[
{{ if eq .chezmoi.fullHostname "nzxt" }}
{{ if eq .chezmoi.hostname "nzxt" }}
set -U spv_dir "/home/kevin/coding/spotify-lib-vis"
set -U mfs_dir "/home/kevin/coding/mf-site"
source /home/kevin/coding/spotify-lib-vis/src/scripts/api-keys-fish.sh
abbr hum "cd $mfs_dir && hugo serve -D --disableFastRender"
{{ end }}#]]]
# system[[[
set -x PATH $PATH ~/.local/bin ~/scripts ~/scripts/colors ~/go/bin ~/.minetest/minetest/bin ~/.gem/ruby/2.6.0/bin
set -x CLASSPATH $CLASSPATH /home/kevin/java/*.jar
set -x LD_LIBRARY_PATH $LD_LIBRARY_PATH /usr/local/lib /usr/local/lib64
set -x PKG_CONFIG_PATH $PKG_CONFIG_PATH /usr/lib/pkgconfig
# system [[[
set -x HASTE_SERVER https://pste.gq
{{ if eq .chezmoi.fullHostname "nzxt" }}
set -x CALCURSE_CALDAV_PASSWORD (pass show technology/linux/baikal | head -n1)
status --is-interactive; and source (pyenv init -|psub)
{{ if eq .chezmoi.hostname "nzxt" }}
# set -x CALCURSE_CALDAV_PASSWORD (pass show technology/linux/baikal | head -n1)
{{ end }}
#]]]
set -x LD_LIBRARY_PATH $LD_LIBRARY_PATH /usr/local/lib /usr/local/lib64
set -x GOPATH ~/go
# set -x PATH $GRAALVM_BIN $PATH ~/.local/bin ~/scripts ~/scripts/colors ~/go/bin ~/.minetest/minetest/bin ~/.gem/ruby/2.6.0/bin
set -x PATH $PATH ~/.local/bin ~/scripts ~/scripts/colors $GOPATH/bin ~/.minetest/minetest/bin ~/.gem/ruby/*/bin ~/.yarn/bin ~/.linuxbrew/bin ~/.fnm/current/bin ~/.nimble/bin ~/miniconda3/bin
set -x PKG_CONFIG_PATH $PKG_CONFIG_PATH /usr/lib/pkgconfig
# Java [[[ #
set -x GRAALVM_HOME /usr/lib/jvm/graalvm-ce-java11-21.1.0
set -x GRAALVM_BIN $GRAALVM_HOME/bin
set -x JAVA_HOME $GRAALVM_HOME
# set -x JAVA_HOME /usr/lib/jvm/java-11-openjdk
# set -x JAVA_HOME /usr/lib/jvm/java-8-openjdk # for shared libs
set -x PATH $JAVA_HOME/bin $PATH
# ]]] Java #
# pnpm
set -gx PNPM_HOME "/home/kevin/.local/share/pnpm"
if not string match -q -- $PNPM_HOME $PATH
set -gx PATH "$PNPM_HOME" $PATH
end
# pnpm end
# system ]]]
# space prompt[[[
# set SPACEFISH_PROMPT_ORDER time user dir host git package node docker ruby golang php rust haskell julia aws conda pyenv kubecontext exec_time line_sep battery jobs exit_code vi_mode char
@@ -53,15 +112,47 @@ set SPACEFISH_VI_MODE_SUFFIX ''
set -x PASSWORD_STORE_CLIP_TIME 120
set -xU XSET_RATE 90
set -xU XSET_DELAY 200
{{ if and (eq .chezmoi.fullHostname "x1-carbon") (not (eq .chezmoi.username "root")) }}
{{ if and (eq .chezmoi.hostname "x1-carbon") (not (eq .chezmoi.username "root")) }}
xset r rate $XSET_DELAY $XSET_RATE
{{ end }}#]]]
# set -U BROWSER "chromium"
# [[[ universal var's #
set -xU BROWSER "firefox"
# set -U BROWSER "chromium"
set -xU FZF_DEFAULT_COMMAND "find ."
set -x LAPTOP_IP "192.168.0.19"
set -x PHONE_IP "192.168.0.241"
set -x PIXEL_IP "192.168.0.18"
set -x WORK_LAPTOP_IP "kmok@192.168.0.11"
{{ if eq .chezmoi.hostname "nzxt" }}
# set -x CALCURSE_CALDAV_PASSWORD (pass show technology/linux/baikal | head -n1)
set -x JENKINS_TOKEN 114a1b2e8693b57fa6f4bce88e2deee8cc
status --is-interactive; and source (pyenv init -|psub)
{{ end }}
set -xU MINIKUBE_IP "http://192.168.49.2"
set -xU LOCAL_KOGITO_SERVICE_PORT "32000"
# set -xU LOCAL_KOGITO_SERVICE_URL "$MINIKUBE_IP:$LOCAL_KOGITO_SERVICE_PORT"
set -x FLASK_DEBUG 1
set -x FULLNODE_API_INFO wss://api.chain.love
set -x IPAD_IMG 55
#source /home/kevin/coding/aws.fish
set -x LIBVIRT_DEFAULT_URI qemu:///system
set --erase DB_NAME
#set -x NODE_OPTIONS '--loader ts-node/esm'
#set NODE_OPTIONS '--loader ts-node/esm'
# ]]] universal var's #
# fish-specific [[[ #
@@ -76,12 +167,12 @@ builtin cd $last_dir && ls > /dev/null
bind \ce edit_command_buffer
bind \cr forward-word
chezmoi apply
# chezmoi apply
{{ if not (eq .linux_os "termux") }}
~/scripts/sync-shortcuts
{{ end }}
# source ~/.config/fish/key_abbr.fish > /dev/null
set -U fish_fxn_dir "{{ .chezmoi.homedir }}/linux-config/dot_config/fish/functions"
set -U fish_fxn_dir "{{ .chezmoi.homeDir }}/linux-config/dot_config/fish/functions"
# set -U fish_fxn_dir "~/.config/fish/functions"
abbr ff "cd $fish_fxn_dir"
for fxn in (find $fish_fxn_dir -name '*.fish')
@@ -106,51 +197,62 @@ abbr xf "fish_config"
abbr ! "sudo !!"
# task [[[ #
abbr aan "task-anno"
abbr ae "task-edit"
abbr aan "task-anno ''"
abbr aed "task-edit"
abbr adl "task-delete"
abbr adn "task-done"
abbr adu "task-due"
abbr adr "task-due-rm"
abbr an "task-next"
abbr anx "task-next"
abbr anr "task-next-rm"
abbr ant "task-notes"
abbr aon "taskopen-new"
abbr apr "task-mod-pri"
abbr aprl "task-mod-pri L"
abbr aprm "task-mod-pri M"
abbr aprn "task-mod-pri ''"
abbr aprh "task-mod-pri H"
abbr apj "task-mod-proj"
abbr asr "task-start"
abbr ar "task-start"
abbr at "task-mod-tag"
abbr atj "task-mod-tag jira"
abbr aw "task-wait"
abbr ax "task-context"
# ]]] task #
abbr ag "grep-aliases"
abbr b "buku-fzf"
abbr bf "buku-fzf fq"
abbr bk "buku-fzf"
abbr bkf "buku-fzf fq"
abbr bq "benq-brightness"
abbr bn "discord-burner"
abbr bun "backup nzxt"
abbr bupp "backup-phone-pics"
#abbr ca "cad-to-us"
abbr cccs "sync-alt-cal class"
abbr cl "clip"
#abbr cli "clip-ipad"
abbr cpc "copy cat"
abbr cpe "copy echo"
abbr cpp "copy echo (pwd)"
abbr cff "create-fish-function"
abbr ctr "systemctl-restart"
abbr def "define"
abbr drs "dump-rarity-check"
abbr fd1 "fd --changed-within 1d"
abbr ens "enable-site"
abbr ev "evince-silent"
abbr ff "fzf-cd"
# abbr fbg "find-bg"
abbr fr "fzf-ranger"
# abbr fr "fzf-ranger"
abbr fv "fzf-vim"
abbr fvft "find-vim-filetype"
abbr gif "video-to-gif"
# git [[[ #
abbr gcamp "git-amend-push"
abbr gclg "git-clone-gitea"
abbr gdf "git-diff-files"
abbr gpsd "git-push-diff-name"
abbr gpsi "git-push-initial"
abbr gpsmt "git-push-multiple"
abbr gpng "git-push-new-gitea"
@@ -163,17 +265,29 @@ abbr gsmb "git-submodule-branch"
# ]]] git #
abbr i "sxiv-silent"
# abbr m "man-vim"
abbr mn "man-vim"
abbr lo "libreoffice-silent"
abbr ma "man-vim task"
abbr mat "math"
abbr mi "mpv-ipad"
abbr mm "mpv-ipad-mov"
abbr mn "man-vim"
abbr mdf "mkdir-cd"
abbr mps "mpv-sub"
abbr mtm "maven-test-method"
abbr pgr "grep-pdf"
abbr pgrf "grep-pdf-file"
abbr pst "pastebin"
abbr q "bc-qalc '"
abbr qh "qalc-history"
abbr qu "qalc-update"
abbr re "reminder ''"
abbr rf "refresh-config"
abbr rs "redshift-set"
abbr rl "readlink-cp"
abbr rds "redshift-set"
abbr rmi "rm-ipad"
abbr rsi "rsync-ipad-vid"
abbr rsm "rsync-ipad-vid-mov"
abbr scf "scp-vid fn"
abbr sma "smol-add"
abbr smd "smol-delete"
abbr sml "smol-slist"
@@ -181,27 +295,63 @@ abbr smr "smol-replace"
abbr shrm "shred-rm"
abbr shs "scan-history"
abbr svp "server-pages"
abbr ta "tmux-attach"
abbr taa "tmux-attach atx"
abbr taf "tmux-attach fn"
abbr tam "tmux-attach misc"
abbr tan "tmux-attach nft"
abbr tan2 "tmux-attach nft-2"
abbr tao "tmux-attach obs"
abbr ttl "timetrace-list"
abbr thes "thesaurus"
abbr usc "us-to-cad"
abbr ubs "ubuntu-start"
abbr umip "unmount-ipad"
# abbr usc "us-to-cad"
#abbr us "us-to-cad"
abbr ut "unix-timestamp"
abbr uzr "unzip-rm"
abbr vsnp "vim-snippet"
abbr waf "watson-add-fortnite"
abbr wga "wget-all"
abbr wag "watson-add-game"
abbr waf "watson-add-game fortnite"
abbr wap "watson-add-game pokemon-go"
abbr wgn "wget-name"
abbr xya "export-pkgs"
# school [[[ #
# 369
abbr grc "grep-c"
abbr grh "grep-headers"
abbr rgh "rg-headers"
abbr jcr "java-compile-run"
abbr jct "java-compile-test"
abbr aw "aws ec2"
abbr awav "aws-attach-volume"
abbr awlv "aws ec2 describe-volumes --query \"sort_by(Volumes, &CreateTime)[*].{ID:VolumeId,Name:Tags[?Key=='Name']|[0].Value,Created:CreateTime}\" --output table"
abbr awdtv "aws ec2 detach-volume --volume-id"
abbr awdlv "aws ec2 delete-volume --volume-id"
abbr awli "aws ec2 describe-instances --query \"sort_by(Reservations[].Instances[], &LaunchTime)[*].[InstanceId, Tags[?Key=='Name'].Value | [0], LaunchTime, InstanceType, State.Name]\" --output table"
abbr awsai "aws ec2 start-instances --instance-ids"
abbr awsti "aws ec2 stop-instances --instance-ids"
# ]]] school #
# ]]] fxn abbr's #
# task sync > /dev/null 2>&1
source /home/kevin/.config/fish/key_abbr.fish > /dev/null
cat /home/kevin/.cache/wal/sequences
# ~/scripts/xmodmap-custom
#ssh-add ~/.ssh/ai16z-test.pem > /dev/null
# keychain --agents ssh id_rsa
#set -Ux SSH_AUTH_SOCK (keychain --eval --agents ssh id_rsa | grep setenv | sed -E 's/setenv (\S+) (\S+);/\2/')
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
#if test -f /home/kevin/miniconda3/bin/conda
#eval /home/kevin/miniconda3/bin/conda "shell.fish" "hook" $argv | source
#else
#if test -f "/home/kevin/miniconda3/etc/fish/conf.d/conda.fish"
#. "/home/kevin/miniconda3/etc/fish/conf.d/conda.fish"
#else
#set -x PATH "/home/kevin/miniconda3/bin" $PATH
#end
#end
# <<< conda initialize <<<

View File

@@ -0,0 +1,3 @@
function aws-attach-volume
aws ec2 attach-volume --volume-id $argv[1] --instance-id $argv[2] --device /dev/sda1
end

View File

@@ -0,0 +1,8 @@
#function bc-qalc
#echo "scale=4; $argv[1]" | bc
#end
function bc-qalc
set -l expression "scale=4; $argv[1]"
set -l result (echo "$expression" | bc -l)
python3 -c "print(f'{float($result):,}')"
end

View File

@@ -1,16 +0,0 @@
function buku-fzf
# buku -p -f 5 | awk -F '\t' 'BEGIN { OFS=FS }; { $2=substr($2, 1, 90); print }' | column -t -s (printf '\t') | fzf --multi | awk '{ print $1 }'
# if test (count $argv) -ge 1 -a "$argv[1]" = "fq"
# set ids (buku -t fq -f4 | awk -F '\t' 'BEGIN { OFS=FS }; { sub(/https?:\/\/(www\.)?/, "", $2); $2=substr($2, 1, 45); $3=substr($3, 1, 50); print }' | column -t -s (printf '\t') | fzf --multi --tiebreak end | awk '{ print $1 }')
if test (count $argv) -eq 1
# TODO: column width? #
set ids (buku -t + "$argv" -f4 | awk -F '\t' 'BEGIN { OFS=FS }; { sub(/https?:\/\/(www\.)?/, "", $2); $2=substr($2, 1, 45); $3=substr($3, 1, 50); print }' | column -t -s (printf '\t') | fzf --multi --tiebreak end | awk '{ print $1 }')
# echo buku -t + "$argv" -f4
else
set ids (buku -p -f4 | awk -F '\t' 'BEGIN { OFS=FS }; { sub(/https?:\/\/(www\.)?/, "", $2); $2=substr($2, 1, 45); $3=substr($3, 1, 50); print }' | column -t -s (printf '\t') | fzf --multi --tiebreak end | awk '{ print $1 }')
end
for id in $ids
buku -o $id
end
end

View File

@@ -0,0 +1,3 @@
function cad-to-us
qalc "$argv[1]CAD to \$"
end

View File

@@ -0,0 +1,3 @@
function conda_activate
source ~/miniconda3/bin/activate $argv
end

View File

@@ -0,0 +1,15 @@
function discord-burner
# echo nordvpn connect ca1$argv[1] && curl ifconfig.me
# nordvpn connect ca1$argv[1] && \
# nordvpn connect ca10$argv[1]
# nordvpn connect
# curl ifconfig.me
if test (count $argv) -gt 1
firefox -P discord-$argv[2] $argv[1] &
else
firefox -P discord-$argv[1] &
end
# for i in (seq $argv[1] $argv[2])
# firefox -P discord-$i $argv[3] &
# end
end

View File

@@ -0,0 +1,3 @@
function dump-rarity-check
pg_dump -U rarity_check rarity_check > $argv[1].sql
end

View File

@@ -0,0 +1,4 @@
function fzf-cd
set dir (fd -td | fzf)
cd $dir
end

View File

@@ -0,0 +1,3 @@
function git-push-diff-name
git push -f origin HEAD:$argv[1]
end

View File

@@ -1,4 +1,4 @@
function git-push-new-gitea
git remote add origin ssh://git@kevin-mok.com:399/Kevin-Mok/$argv[1].git
and git push --set-upstream origin master
and git push --set-upstream origin main
end

View File

@@ -0,0 +1,7 @@
function clip-ipad
if test (count $argv) -eq 3
ffmpeg -ss $argv[1] -i IMG_$IPAD_IMG$argv[2].MP4 -codec copy $argv[3]
else
ffmpeg -ss $argv[1] -to $argv[2] -i IMG_$IPAD_IMG$argv[3].MP4 -codec copy $argv[4]
end
end

View File

@@ -0,0 +1,3 @@
function mpv-ipad-mov
mpv IMG_$IPAD_IMG$argv[1].MOV
end

View File

@@ -0,0 +1,3 @@
function mpv-ipad
mpv IMG_$IPAD_IMG$argv[1].MP4
end

View File

@@ -0,0 +1,3 @@
function rm-ipad
rm IMG_$IPAD_IMG$argv[1].MP4
end

View File

@@ -0,0 +1,3 @@
function rsync-ipad-vid-mov
rsync --ignore-existing -Ptr IMG_$IPAD_IMG$argv[1].MOV ~/Videos/fortnite/
end

View File

@@ -0,0 +1,5 @@
function rsync-ipad-vid
#rsync --ignore-existing -Ptr IMG_$IPAD_IMG$argv[1].MP4 /mnt/linux-files-2/Videos/ipad/fortnite/name
rsync --ignore-existing -Ptr IMG_$IPAD_IMG$argv[1].MP4 /mnt/linux-files-3/fortnite
#rsync --ignore-existing -Ptr IMG_$IPAD_IMG$argv[1].MP4 ~/Videos/fortnite/
end

View File

@@ -0,0 +1,4 @@
function unmount-ipad
fuser -km /mnt/ipad
fusermount -u /mnt/ipad
end

View File

@@ -0,0 +1,3 @@
function libreoffice-silent
libreoffice $argv[1] &
end

View File

@@ -2,7 +2,7 @@ function man-vim
if count $argv > /dev/null
set prog $argv[1]
else
set prog (apropos . | awk '{ print $1 }' | fzf -e)
set prog (apropos . | gawk '{ print $1 }' | fzf -e)
end
nvim -c ":Man $prog" -c "only"

View File

@@ -0,0 +1,4 @@
function maven-test-method
mvn "-Dtest=$argv[1]#*$argv[2]*" clean test
# mvn "-Dtest=$argv[1]#*$argv[2]*" test
end

View File

@@ -0,0 +1,3 @@
function mpv-sub
mpv $argv[1] --sub-file=$argv[2]
end

View File

@@ -0,0 +1,3 @@
function mute-video
ffmpeg -i $argv[1] -c copy -an $argv[2]
end

View File

@@ -0,0 +1,3 @@
function qalc-update
qalc -e "$argv[1]USD to CAD"
end

View File

@@ -0,0 +1,3 @@
function qalc-update
qalc -e "$argv[1]USD to CAD"
end

View File

@@ -0,0 +1,3 @@
function readlink-cp
readlink -f $argv[1] | xclip -selection clipboard
end

View File

@@ -0,0 +1,13 @@
function refresh-config
chezmoi apply
and echo 'Applied chezmoi.'
# and tmux source-file ~/.tmux.conf
# and echo 'Sourced tmux config.'
sync-shortcuts
echo 'Synced shortcuts.'
source ~/.config/fish/key_abbr.fish > /dev/null
and echo 'Sourced shortcuts.'
and echo 'Reloading fish.'
and exec fish
end

View File

@@ -0,0 +1,3 @@
function reminder
termdown $argv[2] && notify-send $argv[1]
end

View File

@@ -2,6 +2,7 @@ function scan-history
sudo systemctl start postgresql.service
# and systemctl status postgresql.service
and source $spv_dir/src/scripts/api-keys.sh
# and $spv_dir/src/scripts/update-history-2.sh
and $spv_dir/src/scripts/update-history.sh
and cat $spv_dir/src/api/management/commands/update-history.log | tail -n 1
end

View File

@@ -0,0 +1,7 @@
function scp-vid
set dest_dir "/mnt/linux-files/Videos/personal-fortnite-games/review"
if test $argv[1] = 'pogo'
set dest_dir "/mnt/linux-files/Videos/pokemon-go"
end
scp -P 8022 192.168.0.18:/data/data/com.termux/files/home/storage/dcim/\'Screen\ recordings\'/$argv[2] $dest_dir
end

View File

@@ -1,4 +1,4 @@
function task-anno
task $argv[1] annotate $argv[2]
task $argv[2] annotate $argv[1]
and task
end

View File

@@ -1,5 +1,4 @@
function task-delete
task $argv[1] delete
and task sync
and task
end

View File

@@ -1,5 +1,4 @@
function task-done
task $argv[1] done
and task sync
and task
end

View File

@@ -0,0 +1,3 @@
function taskopen-new
echo "md" | taskopen -A $argv[1] && taskopen -A $argv[1]
end

View File

@@ -0,0 +1,5 @@
function timetrace-list
timetrace list records today | head -n 6
timetrace list records today | awk 'NR>6 && /^\+/{exit} NR>6' | sort -t '|' -k3,3
timetrace list records today | tail -n 3
end

View File

@@ -1,3 +1,4 @@
function us-to-cad
# qalc -e "$argv[1]\$ to CAD"
qalc "$argv[1]\$ to CAD"
end

View File

@@ -0,0 +1,4 @@
function video-to-gif
# ffmpeg -i $argv[1] -filter_complex "[0:v]setpts=0.5*PTS,fps=24,split [a][b];[a] palettegen [p];[b][p] paletteuse" $argv[2]
ffmpeg -i $argv[1] -filter_complex "[0:v]fps=24,split [a][b];[a] palettegen [p];[b][p] paletteuse" $argv[2]
end

View File

@@ -0,0 +1,10 @@
function vpn-red-hat
if test $argv[1] = 'up'
sudo systemctl start NetworkManager.service
and sleep 3
and nmcli con up id "1 - Red Hat Global VPN" --ask
else if test $argv[1] = 'down'
nmcli con down id "1 - Red Hat Global VPN"
and sudo systemctl stop NetworkManager.service
end
end

View File

@@ -1,7 +1,11 @@
function watson-add-fortnite
set year_month "2020-08"
set start_time "$year_month-$argv[1] $argv[2]"
set end_time "$year_month-$argv[3] $argv[4]"
if test (count $argv) -eq 4
watson add -f "2020-04-$argv[1] $argv[2]" -t "2020-04-$argv[3] $argv[4]" fun +fortnite
watson add -f $start_time -t $end_time fun +fortnite
else
watson add -f "2020-04-$argv[1] $argv[2]" -t "2020-04-$argv[3] $argv[4]" fun +fortnite +$argv[5]
watson add -f $start_time -t $end_time fun +fortnite +$argv[5]
end
end

View File

@@ -0,0 +1,11 @@
function watson-add-game
set year_month (date -u +"%Y-%m")
set start_time "$year_month-$argv[2] $argv[3]"
set end_time "$year_month-$argv[4] $argv[5]"
if test (count $argv) -eq 5
watson add -f $start_time -t $end_time fun +$argv[1]
else
watson add -f $start_time -t $end_time fun +$argv[1] +$argv[6]
end
end

View File

@@ -0,0 +1,5 @@
function wget-all
for url in $argv
wget $url
end
end

View File

@@ -0,0 +1,3 @@
function wget-name
wget $argv[1] -O $argv[2]
end

View File

@@ -1,33 +1,45 @@
# startup [[[ #
# set $term urxvt
# set $term_alt st
set $term kitty
set $term_alt urxvt
#set $term gnome-terminal
# set $term st
# set $term_alt urxvt
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
exec dunst
{{ if eq .chezmoi.hostname "x1-carbon" }}
set $term urxvt
# set $term_alt kitty
set $term_alt st
# set $term_alt urxvt
#exec dunst
exec /usr/lib/notification-daemon-1.0/notification-daemon
exec compton
exec imwheel
exec numlockx on
exec xbacklight -set 10
# exec wal -i "$(/home/kevin/scripts/shuffler \"/home/kevin/Pictures/Backgrounds/dim/non-editing\")"
exec wal -i $(/home/kevin/scripts/shuffler "$HOME/Pictures/Backgrounds/dim/non-editing")
exec wal -i $(/home/kevin/scripts/shuffler "$HOME/Pictures/Backgrounds/dim/editing")
{{ end }}
# exec xrdb ~/.Xresources && grep wallpaper ~/.cache/wal/colors.sh | cut -d\' -f2 | xargs wal -i > /dev/null
exec --no-startup-id i3-msg 'workspace $ws2; exec $term -e fish -c "tmux-attach fortnite"'
# exec --no-startup-id i3-msg 'workspace $ws1; exec $term'
# exec --no-startup-id i3-msg 'workspace $ws2; exec $term -e fish -c "tmux-attach fortnite"'
exec --no-startup-id i3-msg 'workspace $ws3; exec $browser'
exec --no-startup-id i3-msg 'workspace $ws6; exec vesktop'
# exec --no-startup-id i3-msg 'workspace $ws5; exec $term -e twitchy'
# exec --no-startup-id i3-msg 'workspace $ws6; exec discord'
# exec --no-startup-id i3-msg 'workspace $ws5; exec firefox -P nft'
#exec --no-startup-id i3-msg workspace $ws6; exec discord
#exec --no-startup-id i3-msg 'workspace $ws6; exec signal-desktop'
# exec --no-startup-id i3-msg workspace $ws1; exec $term -e fish -c 'tmux-attach school'
# ]]] startup #
# applications [[[ #
set $mod Mod1
set $browser "firefox"
#set $browser "firefox"
set $browser "google-chrome"
#set $browser_secondary "chromium"
#set $browser_secondary "google-chrome-stable"
# set $browser "chromium"
set $browser_secondary "firefox"
set $scripts_path "/home/kevin/scripts"
set $sch_dir "$HOME/Documents/School"
@@ -48,34 +60,45 @@ bindsym Mod4+Return exec /home/kevin/scripts/dmenu-history -nb "$fg" -nf "$bg" -
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# bindsym Mod4+b layout tabbed; exec zathura
bindsym Mod4+c exec $browser
# bindsym Mod4+c exec $browser
# bindsym Mod4+$mod+c exec chatterino
#bindsym Mod4+c exec chatterino
bindsym Mod4+c exec pass -c finances/metamask
bindsym Mod4+$mod+c exec $browser
# bindsym Mod4+e exec notify-send "HPS Word Count" "$(pdftotext /home/kevin/school/latex-notes/hps/essay.pdf - | wc -w)"
# bindsym Mod4+e exec emacs
bindsym Mod4+e exec ~/scripts/twem
# bindsym Mod4+e exec ~/scripts/twem
# bindsym Mod4+f exec firefox
bindsym Mod4+f exec firefox --private-window
# bindsym Mod4+f exec firefox --private-window
# bindsym Mod4+f exec firefox --private-window google.ca
# bindsym Mod4+$mod+f exec printf 'Kevin@fosstodon.org' | xclip -selection clipboard
bindsym Mod4+h exec sleep .2 && xdotool type '.hint'
bindsym Mod4+$mod+h exec $type_delay_cmd && xdotool type 'kevin.mok@live.ca'
# bindsym Mod4+h exec sleep .2 && xdotool type '.hint'
# bindsym Mod4+$mod+h exec $type_delay_cmd && xdotool type 'kevin.mok@live.ca'
bindsym Mod4+h exec $type_delay_cmd && xdotool type 'kevin.mok@live.ca'
# bindsym Mod4+$mod+h exec sleep .2 && xdotool type '.hint'
bindsym Mod4+$mod+i exec sleep .2 && xdotool type '.info latest'
bindsym Mod4+l exec ~/scripts/dmenu-twitch
# bindsym Mod4+m exec $term -e ~/scripts/vim-man
bindsym Mod4+m exec $type_delay_cmd && xdotool type 'me@kevin-mok.com'
# bindsym Mod4+$mod+m exec pass -c uoft/markus
bindsym Mod4+n exec $term -e nvim
# bindsym Mod4+$mod+o exec xset dpms force off
bindsym Mod4+o exec xclip -selection clipboard ~/.password-store/social/gmail && $type_delay_cmd && xdotool key 'Control_L+v'
# bindsym Mod4+o exec $type_delay_cmd && xdotool key 'Control_L+v'
bindsym Mod4+$mod+o exec xset dpms force off
bindsym $mod+Mod4+o workspace $ws11; exec obs
# bindsym Mod4+p workspace $ws4; exec pgadmin3
# bindsym Mod4+p exec pycharm
bindsym Mod4+p exec sleep .2 && xdotool type '.catch '
bindsym Mod4+$mod+p exec passmenu
#bindsym Mod4+p exec passmenu
bindsym Mod4+p exec /home/kevin/scripts/passmenu
# # bindsym Mod4+p exec sleep .2 && xdotool type '.catch '
# bindsym Mod4+$mod+p exec notify-send "ping" "$(ping -c 3 -W 1 8.8.8.8)"
# bindsym Mod4+q exec qdirstat
bindsym Mod4+q exec printf 'emad1 ' | xclip -selection clipboard && $type_delay_cmd && xdotool key 'Control_L+v'
bindsym Mod4+r exec $term -e ranger
bindsym Mod4+$mod+r exec notify-send "watson restart" "$(watson restart)"
bindsym Mod4+r exec $type_delay_cmd && xdotool type 'kmok@redhat.com'
bindsym Mod4+$mod+r exec pass show -c career/redhat && $type_delay_cmd && xdotool key 'Control_L+v'
# bindsym Mod4+$mod+r exec $term -e ranger
# bindsym Mod4+$mod+r exec notify-send "watson restart" "$(watson restart)"
bindsym Mod4+$mod+s exec $type_delay_cmd && xdotool type 'https://smol.gq/'
bindsym Mod4+t exec xclip -selection clipboard ~/.password-store/social/trapbot && $type_delay_cmd && xdotool key 'Control_L+v'
bindsym Mod4+$mod+t exec xclip -selection clipboard ~/.password-store/social/trapbot && $type_delay_cmd && xdotool key 'Control_L+v'
bindsym Mod4+u exec $type_delay_cmd && xdotool type 'kevin.mok@mail.utoronto.ca'
# bindsym Mod4+$mod+u exec pass -c uoft/acorn
# bindsym Mod4+w exec notify-send "watson status" "$(watson status)"
@@ -84,16 +107,28 @@ bindsym Control+Mod4+w exec $term -e nvim /home/kevin/.config/watson/state.tmp
# bindsym Mod4+x exec $swex
bindsym Control+$mod+x exec $type_delay_cmd && xdotool type 'http://codm.ataraxy.tk/'
bindsym Mod4+z exec cliqz
bindsym Pause exec ~/scripts/twem
# screenshot [[[ #
set $screenshot_folder "/home/kevin/Pictures/screenshots/desktop/unsorted"
set $scripts_path "/home/kevin/scripts"
{{ if .ext_kb }}
bindsym Mod4+x exec ~/scripts/xmodmap-custom
bindsym Print --release exec "scrot -s ~/tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
bindsym Control+Print --release exec "scrot -u ~/tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
# bindsym Mod4+x exec ~/scripts/xmodmap-custom
bindsym Mod4+x exec notify-send "xmodmap" "$(~/scripts/xmodmap-custom)"
# bindsym Mod4+e exec notify-send "HPS Word Count" "$(pdftotext /home/kevin/school/latex-notes/hps/essay.pdf - | wc -w)"
#bindsym Print --release exec "scrot -s $screenshot_folder/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
#bindsym Print --release exec --no-startup-id scrot -s "/home/kevin/Pictures/screenshots/desktop/unsorted/screenshot-$(date +%F_%T).png" -e 'xclip -selection c -t image/png < $f'
bindsym Print --release exec "maim -su | tee ~/Pictures/screenshots/desktop/unsorted/screenshot-$(date +%F_%T).png | xclip -selection clipboard -t image/png"
bindsym Control+Print --release exec "scrot -u ~/Pictures/screenshots/desktop/unsorted/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
{{ else }}
bindsym Mod4+x exec xmodmap ~/.Xmodmap-laptop && xset r rate $XSET_DELAY $XSET_RATE
bindsym Control+$mod+p --release exec "scrot -s /tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
bindsym Control+Shift+p --release exec "scrot -u /tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
bindsym Control+p --release exec "scrot -s ~/tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
bindsym Control+$mod+p --release exec "scrot -u ~/tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
{{ end }}
# ]]] screenshot #
# ]]] app shortcuts #
# redshift [[[ #
@@ -109,7 +144,7 @@ bindsym $mod+Mod4+grave exec redshift -x
# backlight [[[ #
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
{{ if eq .chezmoi.hostname "x1-carbon" }}
bindsym Shift+F1 exec xbacklight -set 10
bindsym Shift+F2 exec xbacklight -set 20
bindsym Shift+F3 exec xbacklight -set 30
@@ -119,7 +154,7 @@ bindsym Shift+F6 exec xbacklight -set 60
bindsym Shift+F7 exec xbacklight -set 70
bindsym Shift+F8 exec xbacklight -set 80
bindsym Shift+F9 exec xbacklight -set 90
bindsym Shift+F0 exec xbacklight -set 100
bindsym Shift+F10 exec xbacklight -set 100
bindsym Control+$mod+plus exec xbacklight -inc 2
bindsym Control+$mod+minus exec xbacklight -dec 2
@@ -130,8 +165,11 @@ bindsym Control+$mod+q exec sudo systemctl stop netctl-auto@wlp3s0.service
# ]]] backlight #
for_window [class="chatterino"] floating enable
for_window [class="Peek"] floating enable
for_window [title="Qalculate!"] floating enable
for_window [window_role="alert"] floating enable
no_focus [window_role="alert"]
# ]]] applications #
@@ -177,8 +215,8 @@ for_window [class="^.*"] border pixel 3
# gaps bottom 0
gaps inner 0
gaps outer 0
{{ if eq .chezmoi.fullHostname "nzxt" }}
border_radius $border_radius
{{ if eq .chezmoi.hostname "nzxt" }}
# border_radius $border_radius
{{ end }}
# other gaps [[[ #
@@ -235,7 +273,7 @@ bindsym $mod+minus move workspace to output left
bindsym $mod+plus move workspace to output right
# move focused window
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
{{ if eq .chezmoi.hostname "x1-carbon" }}
bindsym Control+Shift+h move left 50px
bindsym Control+Shift+j move down 50px
bindsym Control+Shift+k move up 50px
@@ -278,7 +316,7 @@ bindsym Control+$mod+a floating enable; resize set 400px 150px; move absolute po
set $make_st_script "/home/kevin/st/make-st.sh"
# test
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
{{ if eq .chezmoi.hostname "x1-carbon" }}
bindsym Control+Shift+q exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/bright/editing") && $make_st_script
bindsym Control+Shift+w exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/dim/non-editing") && $make_st_script
bindsym Control+$mod+z exec feh --bg-fill ~/Pictures/Backgrounds/dim/black.jpg
@@ -293,56 +331,87 @@ bindsym Control+$mod+y exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Back
# ws names [[[ #
set $ws1 "1 "
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
set $ws1 "1  "
{{ if eq .chezmoi.hostname "x1-carbon" }}
set $secondary "HDMI2"
set $main "eDP1"
{{ else if eq .chezmoi.fullHostname "nzxt" }}
{{ else if eq .chezmoi.hostname "nzxt" }}
set $secondary "DVI-I-1"
set $main "HDMI-0"
{{ end }}
workspace $ws1 output $main
bindsym $mod+F1 workspace $ws1; exec $term
set $secondary "DVI-D-0"
set $main "HDMI-0"
set $ws2 "2 "
# workspace $ws1 output $main
workspace $ws1 output $secondary
bindsym $mod+F1 workspace $ws1; exec $term
bindsym Mod4+$mod+F1 workspace $ws1; exec chatterino
bindsym Control+Shift+F1 workspace $ws1; exec $term -e fish -c 'tmux-attach school'
# bindsym Control+Shift+F1 workspace $ws1; exec $term -e fish -c 'tmux-attach nft'
set $ws2 "2  "
set $work_laptop_ip "192.168.0.11"
workspace $ws2 output $secondary
bindsym $mod+F2 workspace $ws2; exec $term
# bindsym Control+Shift+F2 workspace $ws2; exec $term -e fish -c 'tmux-attach codm'
bindsym Control+Shift+F2 workspace $ws2; exec $term -e fish -c 'tmux-attach fortnite'
bindsym Control+$mod+Shift+F2 workspace $ws2; exec $term -e fish -c 'tmux-attach crimson'
# bindsym Control+Shift+F2 workspace $ws2; exec $term -e fish -c 'tmux-attach crimson'
# bindsym Control+$mod+Shift+F2 workspace $ws2; exec $term -e fish -c 'tmux-attach codm'
# bindsym Control+Shift+F2 workspace $ws2; exec $term -e mosh kmok@$work_laptop_ip -- tmux a -t nzxt
# bindsym Control+Shift+F2 workspace $ws2; exec $term -e fish -c 'tmux-attach fortnite'
# bindsym Control+Shift+F2 workspace $ws2; exec $term -e fish -c 'tmux-attach nft-2'
bindsym Control+Shift+F2 workspace $ws2; exec $term -e fish -c 'tmux-attach school-2'
bindsym $mod+Shift+F2 workspace $ws2; exec $term -e mosh kmok@$work_laptop_ip -- tmux a -t nzxt-2
set $ws3 "3 "
# ws3 [[[ #
set $ws3 "3  "
# set $ws3 "3 "
# workspace $ws3 output $main
bindsym $mod+F3 workspace $ws3; exec $browser
# bindsym $mod+F3 workspace $ws3; exec $browser
# bindsym $mod+F3 exec $browser; move container to workspace $ws3; workspace $ws3
bindsym $mod+F3 exec $browser
bindsym Control+Shift+F3 workspace $ws3; exec firefox -P work
# bindsym Mod4+$mod+F3 workspace $ws3; exec $browser_secondary
bindsym Mod4+$mod+F3 workspace $ws3; exec firefox -P default
# bindsym Mod4+$mod+F3 workspace $ws3; exec firefox -P work
# bindsym Mod4+b workspace $ws3; layout stacked; exec $term -e fish -c "buku-fzf"
# bindsym Mod4+$mod+b workspace $ws3; layout stacked; exec $term -e fish -c "buku-fzf fq"
# bindsym Mod4+b layout stacked; exec $term -e fish -c "buku-fzf"
# bindsym Mod4+$mod+b layout stacked; exec $term -e fish -c "buku-fzf fq"
bindsym Mod4+b layout tabbed; exec $term -e fish -c "buku-fzf"
bindsym Mod4+$mod+b layout tabbed; exec $term -e fish -c "buku-fzf fq"
bindsym Mod4+g workspace $ws3; layout tabbed; exec gimp
# bindsym Mod4+g workspace $ws3; layout tabbed; exec gimp
set $ws4 "4 "
# ]]] ws3 #
set $ws4 "4 󱓧 "
workspace $ws4 output $secondary
bindsym $mod+F4 workspace $ws4; exec $term
# bindsym $mod+F4 workspace $ws4; exec $term
# bindsym Control+Shift+F4 workspace $ws4; exec $term -e fish -c 'tmux-attach misc'
bindsym $mod+F4 workspace $ws4; exec $term -e fish -c 'tmux-attach misc'
# bindsym Mod4+$mod+F4 workspace $ws4; exec urxvt -e ranger $screenshot_folder
bindsym Mod4+$mod+F4 workspace $ws4; exec kitty ranger $screenshot_folder
bindsym Mod4+e workspace $ws4; exec libreoffice ~/Documents/expenses/investments.ods
bindsym Mod4+g workspace $ws4; layout tabbed; exec gimp
set $ws5 "5 "
# ws5 [[[ #
set $ws5 "5  "
# workspace $ws5 output $secondary
assign [class="Steam"] $ws5
bindsym $mod+F5 workspace $ws5; exec $browser
bindsym $mod+Mod4+F5 workspace $ws5; exec firefox --private-window
# bindsym $mod+Mod4+F5 workspace $ws5; exec firefox -P work
bindsym $mod+Mod4+F5 workspace $ws5; exec firefox -P nft
# bindsym $mod+Mod4+F5 workspace $ws5; exec firefox --private-window
bindsym Control+Shift+F5 workspace $ws5; exec firefox -P work
bindsym Mod4+f workspace $ws5; exec firefox --private-window google.ca
bindsym $mod+Shift+F5 workspace $ws5; exec $browser_secondary
# bindsym Mod4+g workspace $ws5; layout stacking; exec $term -e steam
# bindsym Mod4+g workspace $ws5; layout tabbed; exec gimp
# bindsym Mod4+g workspace $ws5; exec mgba-qt
bindsym Mod4+i workspace $ws5; exec idea
# bindsym Mod4+i workspace $ws5; exec idea
# bindsym Mod4+m workspace $ws5; layout tabbed; exec $term -e ~/.minetest/minetest/bin/minetest
bindsym Mod4+$mod+t workspace $ws5; exec thunderbird
# bindsym Mod4+$mod+t workspace $ws5; exec thunderbird
# bindsym Mod4+$mod+w workspace $ws5; exec $term -e twitchy
bindsym Mod4+w workspace $ws5; exec $term -e twitchy
# bindsym Mod4+w workspace $ws5; exec $term -e twitchy
bindsym Mod4+5 workspace $ws5; exec godot
bindsym Mod4+F5 workspace $ws5; exec cd ~/coding/ada-mario && godot -e
# for_window [class="Move_mouse_with_head"] floating enable; move absolute position 0 0
@@ -352,40 +421,50 @@ for_window [class="ada-mario"] floating enable
# for_window [class="ada-mario"] move absolute position 930 480
for_window [class="ada-mario"] move absolute position 640 0
set $ws6 "6 "
# ]]] ws5 #
# ws6 [[[ #
set $ws6 "6  "
workspace $ws6 output $secondary
assign [class="Slack"] $ws6
# bindsym Mod4+$mod+d workspace $ws6; exec discord
# bindsym Mod4+d workspace $ws6; exec riot-desktop
bindsym Mod4+d workspace $ws6; exec firefox -new-window https://riot.im/app
bindsym Mod4+$mod+d workspace $ws6; exec discord
# bindsym Mod4+d workspace $ws6; exec discord
# bindsym Mod4+$mod+d workspace $ws6; exec riot-desktop
# bindsym Mod4+d workspace $ws6; exec firefox --new-window https://discordapp.com/channels/430798446723727367/443950744996020228
# bindsym Mod4+i workspace $ws6; exec firefox -new-window https://riot.im/app
bindsym Mod4+d workspace $ws6; exec discord
bindsym Mod4+$mod+d workspace $ws6; exec element-desktop
bindsym Mod4+i workspace $ws6; exec signal-desktop
# bindsym Mod4+d workspace $ws6; exec firefox -new-window https://riot.im/app
bindsym Mod4+k workspace $ws6; exec slack
# bindsym Mod4+i workspace $ws6; exec $term -e fish -c 'mosh kmok@$work_laptop_ip -- tmux a -t weechat'
# bindsym Mod4+i workspace $ws6; exec $term -e fish -c 'mosh kmok@$work_laptop_ip -- tmux a -t weechat'
# bindsym Mod4+i workspace $ws6; exec $term -e fish -c 'tmux-attach weechat'
set $ws7 "7 "
# ]]] ws6 #
set $ws7 "7  "
workspace $ws7 output $secondary
# bindsym $mod+F7 workspace $ws7; exec $term
bindsym $mod+F7 workspace $ws7; exec $term -e mosh --ssh='ssh -p 399' kevin@165.22.239.234 tmux a
# bindsym $mod+F7 workspace $ws7; exec $term -e mosh kmok@$work_laptop_ip -- tmux a -t nzxt
bindsym $mod+F7 workspace $ws7; exec $term
bindsym Mod4+$mod+F7 workspace $ws7; exec $term -e mosh --ssh='ssh -p 399' kevin@165.22.239.234 tmux a
bindsym $mod+Shift+F7 workspace $ws7; exec chromium https://txstreet.com/v/eth
bindsym Mod4+a workspace $ws7; exec android-file-transfer
# bindsym Mod4+v workspace $ws7; exec VBoxManage startvm "369-a1"
set $ws8 "8 "
set $ws8 "8  "
# assign [class="jetbrains-"] $ws8
workspace $ws8 output $secondary
# bindsym $mod+F8 workspace $ws8; exec $term
# bindsym $mod+F8 workspace $ws8; exec $term -e tmux a -t journal
bindsym $mod+F8 workspace $ws8; exec $term -e fish -c 'tmux-attach journal'
bindsym Mod4+$mod+F8 workspace $ws8; exec libreoffice ~/Documents/sit-stand/sit-stand.ods
bindsym $mod+Shift+F8 workspace $ws8; exec libreoffice ~/Documents/red-hat/workday.ods
set $ws9 "9 "
set $ws9 "9  "
workspace $ws9 output $secondary
# bindsym $mod+F9 workspace $ws9; exec $term
# bindsym $mod+F9 workspace $ws9; exec $term -e tmux a -t config
bindsym $mod+F9 workspace $ws9; exec $term -e fish -c 'tmux-attach config'
set $ws10 "10 "
set $ws10 "10  "
# set $ws10 "10 🎵"
assign [class="spotify"] $ws10
workspace $ws10 output $secondary
@@ -394,13 +473,19 @@ set $hp 2
bindsym Mod4+v workspace $ws10; exec $term -e alsamixer -c 1
# bindsym Mod4+$mod+c workspace $ws10; exec $term -e cava
# bindsym Mod4+h workspace $ws10; exec $term -e alsamixer -c $hp
# bindsym Mod4+s workspace $ws10; exec ~/scripts/spotify-clean
bindsym Mod4+s workspace $ws10; exec spotify
set $ws11 "11 "
set $ws11 "11  "
# set $ws11 "11 📊"
# assign [class="Summoners War Exporter"] $ws11
workspace $ws11 output $secondary
bindsym $mod+F11 workspace $ws11; exec $term -e htop -s PERCENT_CPU
# bindsym $mod+F11 workspace $ws11; exec $term -e htop -s PERCENT_CPU
#bindsym $mod+F11 workspace $ws11; exec $term -e htop -s PERCENT_MEM
bindsym $mod+F11 workspace $ws11; exec $term -e btop
# bindsym Mod4+$mod+F11 workspace $ws11; exec $term -e fish -c 'tmux-attach backup'
bindsym Control+Shift+F11 workspace $ws11; exec $term -e fish -c 'tmux-attach backup'
bindsym Mod4+t workspace $ws11; exec nordvpn connect && transmission-gtk
# bindsym $mod+F11 workspace $ws11; exec $term -e gotop -m
# bindsym Mod4+a workspace $ws11; exec antimicro
@@ -476,8 +561,9 @@ bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcu
# bar vars [[[ #
# set $sb_font Hack NF Bold
set $sb_font Hack Nerd Font Mono Bold
# set $sb_font EmojiOne
set $sb_font DejaVuSansMono Nerd Font Mono Bold
# set $sb_font DejaVuSansMono Nerd Font Mono Bold
set $black #000000
set $white #ffffff
for_window [class="Yad"] floating enable
@@ -502,7 +588,7 @@ set $bar_trans 00
set $main_ws_trans aa
bar {
i3bar_command i3bar -t
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
{{ if eq .chezmoi.hostname "x1-carbon" }}
font pango:$sb_font 17
{{ else }}
# font pango:$sb_font 17
@@ -522,6 +608,7 @@ bar {
# status_command i3blocks -c ~/.config/i3blocks/i3blocks.conf
status_command 2>/tmp/i3blocks.err i3blocks -vvv -c ~/.config/i3blocks/i3blocks.conf | tee /tmp/i3blocks.out
output $main
# output $secondary
wheel_up_cmd nop
wheel_down_cmd nop
}
@@ -531,11 +618,14 @@ bar {
# secondary bar [[[ #
bar {
# output $main
output $secondary
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
{{ if eq .chezmoi.hostname "x1-carbon" }}
font pango:$sb_font 18
{{ else }}
font pango:$sb_font 20
# font pango:$sb_font 21
#font pango:$sb_font 20
font pango:$sb_font 18
{{ end }}
# output $main
i3bar_command i3bar -t

View File

@@ -36,7 +36,7 @@ markup=pango
[time]
label=
command=date '+%H:%M.%a-%m-%d'
interval=30
interval=1
color=#acc0cd
[spotify]

View File

@@ -11,19 +11,49 @@ markup=pango
color=#cbe4ff
# ]]] Global properties #
# [ticker]
# label=$
# TICKER=GME
# interval=30
# # interval=10
# sys.monitoring [[[ #
[temperature]
label=
interval=5
[cpu_usage]
label=
interval=5
[memory]
label=
# color=#3da061
interval=2
# ]]] sys.monitoring #
# volume/spotify [[[ #
[spotify]
# command=python ~/linux-config/configs/i3blocks-scripts/spotify.py
#command=python ~/linux-config/configs/i3blocks-scripts/spotify.py
command=/home/kevin/.config/i3blocks/scripts/spotify
# label=
label=
# label=🎧
# green
# color=#198c19
# aqua
# color=#2d7272
# # label=🎧
# # green
# # color=#198c19
# # aqua
# # color=#2d7272
interval=5
# [spotify]
# label=
# LONG_NAME=
# SHORT_NAME=
# interval=5
[volume]
interval=once
signal=1
@@ -34,26 +64,24 @@ interval=60
# time [[[ #
[calendar]
interval=30
interval=1
label=
{{ if eq .chezmoi.fullHostname "nzxt" }}
DATEFMT=+%H:%M.%a-%m-%d
{{ else }}
DATEFMT=+%H:%M
{{ end }}
# DATEFMT=+%H:%M.%a-%m-%d
# DATEFMT=+%H:%M
#DATEFMT=+%H:%M
# SHORTFMT=+%H:%M:%S
SHORTFMT=+%H:%M.%a-%m-%d
HEIGHT=180
WIDTH=220
#SHORTFMT=+%H:%M.%a-%m-%d
#HEIGHT=180
#WIDTH=220
# ]]] time #
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
{{ if eq .chezmoi.hostname "x1-carbon" }}
[temperature]
label=
interval=5
[name]
label=
interval=30
# [name]
# label=
# interval=30
{{ end }}

View File

@@ -13,26 +13,146 @@ color=#cbe4ff
# ]]] global #
# ticker [[[ #
# [ticker]
# label=SOL
# TICKER=SOL-USD
# interval=30
# [kraken]
# label=BLUR
# TICKER=BLURUSD
# interval=30
# [kraken]
# label=ARB
# TICKER=ARBUSD
# interval=30
# [ticker]
# label=ETH
# TICKER=ETH-USD
# interval=30
[dexscreener]
label=HERO
#CHAIN=solana
#PAIR=B4Vwozy1FGtp8SELXSXydWSzavPUGnJ77DURV2k4MhUV
command=/home/kevin/.config/i3blocks/scripts/dexscreener abstract 0x3771b51b5a705338fa19702f249afcaa94b0cd8c
interval=5
#[kraken]
#label=BTC
##TICKER=BTCUSDC
##command=/home/kevin/.config/i3blocks/scripts/kraken BTCUSDC
#command=/home/kevin/.config/i3blocks/scripts/kraken BTCUSDC
#interval=30
#[kraken]
#label=ETH
##TICKER=ETHUSDC
#command=/home/kevin/.config/i3blocks/scripts/kraken ETHUSDC
#interval=30
## [ticker]
## label=btc
## ticker=btc-usd
## interval=30
#[kraken]
#label=SOL
##TICKER=SOLUSD
#command=/home/kevin/.config/i3blocks/scripts/kraken SOLUSD
#interval=30
# [kraken]
# label=SEI
# TICKER=SEIUSD
# interval=30
[dexscreener]
label=PIXL
#CHAIN=ethereum
#PAIR=0x31c0ba10e4e12be6cdceb612e5e829d977532bfc
command=/home/kevin/.config/i3blocks/scripts/dexscreener ethereum 0x31c0ba10e4e12be6cdceb612e5e829d977532bfc
interval=30
#[dexscreener]
#label=PENGU
##CHAIN=solana
##PAIR=B4Vwozy1FGtp8SELXSXydWSzavPUGnJ77DURV2k4MhUV
#command=/home/kevin/.config/i3blocks/scripts/dexscreener solana B4Vwozy1FGtp8SELXSXydWSzavPUGnJ77DURV2k4MhUV
#interval=5
#[dexscreener-fdv]
#label=TRUMP
#command=/home/kevin/.config/i3blocks/scripts/dexscreener-fdv solana a8nphpcjqtqhdquk35uj9hy2ysgxfkczgunwvkd3k7vc
#interval=30
#[dexscreener]
#label=ANIME
#command=/home/kevin/.config/i3blocks/scripts/dexscreener arbitrum 0xbbf3209130df7d19356d72eb8a193e2d9ec5c234
#interval=30
#[dexscreener]
#label=TRUMP
#command=/home/kevin/.config/i3blocks/scripts/dexscreener solana a8nphpcjqtqhdquk35uj9hy2ysgxfkczgunwvkd3k7vc
#interval=30
#[kraken]
#label=AVAX
##TICKER=AVAXUSD
#command=/home/kevin/.config/i3blocks/scripts/kraken AVAXUSD
#interval=30
#[dexscreener]
#label=LOCK
#CHAIN=solana
#PAIR=AtWMAA6T9t8cq8XCccCFPGDNNQYXhScuNuY6WVRi7FKe
#interval=30
# [ticker]
# label=SPY
# TICKER=SPY
# interval=30
# [ticker]
# label=DAQ
# TICKER=^IXIC
# interval=30
# ]]] ticker #
# volume/spotify [[[ #
{{ if eq .chezmoi.fullHostname "nzxt" }}
[volume]
interval=once
signal=1
interval=60
[spotify]
label=
LONG_NAME=
SHORT_NAME=
interval=5
{{ end }}
# [spotify]
# label=
# LONG_NAME=
# SHORT_NAME=
# interval=5
# [spotify]
# # command=python ~/linux-config/configs/i3blocks-scripts/spotify.py
# # label=
# label=
# # label=🎧
# # green
# # color=#198c19
# # aqua
# # color=#2d7272
# interval=5
# ]]] volume/spotify #
# laptop [[[ #
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
{{ if eq .chezmoi.hostname "x1-carbon" }}
[battery]
label=⚡
interval=30
@@ -47,61 +167,48 @@ label=
interval=5
{{ end }}
# ]]] laptop #
# time [[[ #
[calendar]
interval=30
label=
{{ if eq .chezmoi.fullHostname "nzxt" }}
DATEFMT=+%H:%M
{{ else }}
DATEFMT=+%H:%M.%a-%m-%d
{{ end }}
# SHORTFMT=+%H:%M:%S
HEIGHT=180
WIDTH=220
# ]]] time #
# sys.monitoring [[[ #
{{ if eq .chezmoi.fullHostname "nzxt" }}
# [wifi]
# label=
# instance=wlp4s0
# interval=10
[temperature]
label=
interval=5
# ]]] laptop #
# unbold this?
# [load_average]
# label=
# time [[[ #
[calendar]
interval=1
label=
# DATEFMT=+%H:%M
# DATEFMT=+%H:%M.%a-%m-%d
# SHORTFMT=+%H:%M:%S
#HEIGHT=180
#WIDTH=220
# ]]] time #
# sys.monitoring [[[ #
# [temperature]
# label=
# interval=5
# color=#990000
{{ end }}
[cpu_usage]
label=
interval=5
# [cpu_usage]
# label=
# interval=5
{{ if eq .chezmoi.fullHostname "nzxt" }}
[memory]
label=
# color=#3da061
interval=5
# [memory]
# label=
# # color=#3da061
# interval=5
# ]]] sys.monitoring #
# name [[[ #
[name]
label=
interval=30
{{ end }}
# [name]
# label=
# interval=30
# ]]] name #

View File

@@ -24,12 +24,16 @@ my $short_text;
my $bat_number = $ENV{BLOCK_INSTANCE} || 0;
# read the first line of the "acpi" command output
open (ACPI, "acpi -b | grep 'Battery $bat_number' |") or die;
open (ACPI, "acpi -b 2>/dev/null| grep 'Battery $bat_number' |") or die;
$acpi = <ACPI>;
close(ACPI);
# fail on unexpected output
if ($acpi !~ /: (\w+), (\d+)%/) {
if (not defined($acpi)) {
# don't print anything to stderr if there is no battery
exit(0);
}
elsif ($acpi !~ /: ([\w\s]+), (\d+)%/) {
die "$acpi\n";
}

View File

@@ -2,7 +2,8 @@
WIDTH=${WIDTH:-200}
HEIGHT=${HEIGHT:-200}
DATEFMT=${DATEFMT:-"+%a %d.%m.%Y %H:%M:%S"}
#DATEFMT=${DATEFMT:-"+%a %d.%m.%Y %H:%M:%S"}
DATEFMT=${DATEFMT:-"+ %a %-m/%d %H:%M"}
SHORTFMT=${SHORTFMT:-"+%H:%M:%S"}
OPTIND=1

View File

@@ -0,0 +1,6 @@
#!/bin/bash
. "/home/kevin/.cache/wal/colors.sh"
#ticker=$(~/scripts/dexscreener $CHAIN $PAIR)
ticker=$(~/scripts/dexscreener $1 $2)
printf "%s\n\n%s\n" "$ticker" "$color7"

View File

@@ -0,0 +1,6 @@
#!/bin/bash
. "/home/kevin/.cache/wal/colors.sh"
#ticker=$(~/scripts/dexscreener $CHAIN $PAIR)
ticker=$(~/scripts/dexscreener-fdv $1 $2)
printf "%s\n\n%s\n" "$ticker" "$color7"

View File

@@ -0,0 +1,6 @@
#!/bin/bash
. "/home/kevin/.cache/wal/colors.sh"
#ticker=$(~/scripts/dexscreener $CHAIN $PAIR)
ticker=$(~/scripts/dexscreener-mc $1 $2)
printf "%s\n\n%s\n" "$ticker" "$color7"

View File

@@ -0,0 +1,4 @@
#!/bin/bash
. "/home/kevin/.cache/wal/colors.sh"
printf "Kevin\n\n%s\n" "$color7"

View File

@@ -0,0 +1,6 @@
#!/bin/bash
. "/home/kevin/.cache/wal/colors.sh"
#ticker=$(~/scripts/kraken $TICKER)
ticker=$(~/scripts/kraken $1)
printf "%s\n\n%s\n" "$ticker" "$color7"

View File

@@ -9,6 +9,8 @@ case "$BLOCK_BUTTON" in
esac
. "/home/kevin/.cache/wal/colors.sh"
long_title=$(spotify-now -i "$LONG_NAME" -p '' -e '' | sed 's/&/&amp;/g')
short_title=$(spotify-now -i "$SHORT_NAME" -p '' -e '' | sed 's/&/&amp;/g')
#long_title=$(spotify-now -i "$LONG_NAME" -p '' -e '' | sed 's/&/&amp;/g')
#short_title=$(spotify-now -i "$SHORT_NAME" -p '' -e '' | sed 's/&/&amp;/g')
long_title=$(spotify-now)
short_title=$(spotify-now)
printf "$long_title\n$short_title\n%s\n" "$color7"

View File

@@ -2,6 +2,6 @@
. "/home/kevin/.cache/wal/colors.sh"
temps="$(sensors | rg 'temp1:.*' | awk '{ print $2 }' | rg -o '\d{2}' | \
sort -r | sed 's/$/°C/' | tr '\n' ' ' | xargs)"
printf "%s\n\n%s\n" "$temps" "$color7"
# Read from k10temp's Tctl sensor for AMD CPU temperature
temp="$(sensors | rg 'Tctl:' | awk '{ print $2 }' | rg -o '\d{2}' | sed 's/$/°C/')"
printf "%s\n\n%s\n" "$temp" "$color7"

View File

@@ -0,0 +1,5 @@
#!/bin/bash
. "/home/kevin/.cache/wal/colors.sh"
ticker=$(~/scripts/ticker $TICKER)
printf "%s\n\n%s\n" "$ticker" "$color7"

View File

@@ -32,12 +32,14 @@ SCONTROL=${SCONTROL:-""}
# }}} default vars #
AUDIO_DELTA=${AUDIO_DELTA:-5}
AUDIO_DELTA=${AUDIO_DELTA:-3}
# AUDIO_DELTA=${AUDIO_DELTA:-2}
# AUDIO_DELTA=${AUDIO_DELTA:-1}
# LONG_FORMAT=${LONG_FORMAT:-'${SYMB} ${VOL}% [${INDEX}:${NAME}]'}
LONG_FORMAT=${SHORT_FORMAT:-'${SINK_SYMB} ${VOL}%'}
LONG_FORMAT=${SHORT_FORMAT:-'${SINK_SYMB} ${VOL}%'}
# SHORT_FORMAT=${SHORT_FORMAT:-'${SYMB} ${VOL}%[${INDEX}]'}
SHORT_FORMAT=${SHORT_FORMAT:-'${SINK_SYMB} ${VOL}%'}
SHORT_FORMAT=${SHORT_FORMAT:-'${SINK_SYMB} ${VOL}%'}
# flags {{{ #
@@ -90,14 +92,13 @@ done
# functions {{{ #
if [[ -z "$MIXER" ]] ; then
# Use the default ALSA mixer
MIXER="default"
if amixer -D pulse info >/dev/null 2>&1 ; then
MIXER="pulse"
fi
fi
if [[ -z "$SCONTROL" ]] ; then
SCONTROL=$(amixer -D "$MIXER" scontrols | sed -n "s/Simple mixer control '\([^']*\)',0/\1/p" | head -n1)
# Use the 'Master' control
SCONTROL="Master"
fi
CAPABILITY=$(amixer -D $MIXER get $SCONTROL | sed -n "s/ Capabilities:.*cvolume.*/Capture/p")
@@ -140,20 +141,18 @@ esac
# print_format {{{ #
function print_format {
# echo $NAME
case $NAME in
*"USB"*)
SINK_SYMB=""
;;
*"hdmi"*)
SINK_SYMB=""
;;
*"pci"*)
SINK_SYMB=""
;;
esac
# echo "$1" | envsubst '${SYMB}${VOL}${INDEX}${NAME}'
echo "$1" | envsubst '${SINK_SYMB}${VOL}${INDEX}${NAME}'
case $NAME in
*"Fiio"*)
SINK_SYMB=""
;;
*"hdmi"*)
SINK_SYMB=""
;;
*"pci"*)
SINK_SYMB=" "
;;
esac
eval "echo \"$1\""
}
# }}} print_format #
@@ -161,38 +160,25 @@ function print_format {
# print_block {{{ #
function print_block {
for name in INDEX NAME VOL MUTED; do
read $name
done < <(pacmd list-sinks | grep "index:\|name:\|volume: front\|muted:" | grep -A3 '*')
INDEX=$(echo "$INDEX" | grep -o '[0-9]\+')
VOL=$(echo "$VOL" | grep -o "[0-9]*%" | head -1 )
# Use amixer to get volume and mute status
VOL_INFO=$(amixer -D $MIXER get $SCONTROL | grep -m1 -oE '[0-9]+%|\[on\]|\[off\]')
VOL=$(echo "$VOL_INFO" | grep -oE '[0-9]+%' | head -1)
VOL="${VOL%?}"
MUTED=$(echo "$VOL_INFO" | grep -oE '\[on\]|\[off\]')
NAME=$(echo "$NAME")
# NAME=$(echo "$NAME" | sed \
# 's/.*<.*\.\(.*\)>.*/\1/; t;'\
# 's/.*<\(.*\)>.*/\1/; t;'\
# 's/.*/unknown/')
# NAME=$(echo "$NAME" | sed \
# 's/.*<.*\.\(.*\)\..*>.*/\1/; t;')
# Default name for ALSA
NAME=$(amixer -D $MIXER scontrols | sed -n "s/Simple mixer control '\([^']*\)',0/\1/p" | head -n1)
if [[ $USE_ALSA_NAME == 1 ]] ; then
ALSA_NAME=$(pacmd list-sinks |\
awk '/^\s*\*/{f=1}/^\s*index:/{f=0}f' |\
grep "alsa.name\|alsa.mixer_name" |\
head -n1 |\
sed 's/.*= "\(.*\)".*/\1/')
ALSA_NAME=$(amixer -D $MIXER scontrols | sed -n "s/Simple mixer control '\([^']*\)',0/\1/p" | head -n1)
NAME=${ALSA_NAME:-$NAME}
elif [[ $USE_DESCRIPTION == 1 ]] ; then
DESCRIPTION=$(pacmd list-sinks |\
awk '/^\s*\*/{f=1}/^\s*index:/{f=0}f' |\
grep "device.description" |\
head -n1 |\
sed 's/.*= "\(.*\)".*/\1/')
DESCRIPTION=$(amixer -D $MIXER scontrols | sed -n "s/Simple mixer control '\([^']*\)',0/\1/p" | head -n1)
NAME=${DESCRIPTION:-$NAME}
fi
if [[ $MUTED =~ "no" ]] ; then
# Fix mute status check
if [[ $MUTED == "[on]" ]] ; then
SYMB=$AUDIO_HIGH_SYMBOL
[[ $VOL -le $AUDIO_MED_THRESH ]] && SYMB=$AUDIO_MED_SYMBOL
[[ $VOL -le $AUDIO_LOW_THRESH ]] && SYMB=$AUDIO_LOW_SYMBOL
@@ -219,3 +205,141 @@ if [[ $SUBSCRIBE == 1 ]] ; then
print_block
done < <(pactl subscribe | stdbuf -oL grep change)
fi
# Hardware Configuration
#CARD=2
#SINK="alsa_output.pci-0000_30_00.6.analog-stereo"
#FRONT="Front Playback Switch"
#REAR="Surround Playback Switch"
#FRONT_VOL="Front Playback Volume"
#REAR_VOL="Surround Playback Volume"
## Debugging output
#LOG_FILE=~/.audio-toggle.log
#echo "=== $(date) ===" >> $LOG_FILE
## Get current active output (PulseAudio fallback)
#get_active_output() {
## Get full sink info for debugging
#SINK_INFO=$(pacmd list-sinks)
#echo "Full sink info:" >> $LOG_FILE
#echo "$SINK_INFO" >> $LOG_FILE
## Try alternative port detection method
#PORT=$(echo "$SINK_INFO" | awk -v sink="$SINK" '
#$1 == "name:" && $2 == "<"sink">" {active=1}
#active && /active port:/ {
## Extract port name between angle brackets
#match($0, /<[^>]+>/)
#port = substr($0, RSTART+1, RLENGTH-2)
#print port
#exit
#}
#')
#echo "Raw port detection: $PORT" >> $LOG_FILE
#if [[ "$PORT" == "analog-output-headphones" ]]; then
#echo "front"
#elif [[ "$PORT" == "analog-output-lineout" ]]; then
#echo "rear"
#else
#echo "unknown"
#fi
#}
## Switch outputs with hardware-level control
#switch_output() {
#echo "Starting switch to $1" >> $LOG_FILE
## First disable both outputs
#echo "Disabling both outputs" >> $LOG_FILE
## ALSA controls
#amixer -c $CARD set "$FRONT" mute >/dev/null
#amixer -c $CARD set "$FRONT_VOL" 0% >/dev/null
#amixer -c $CARD set "$REAR" mute >/dev/null
#amixer -c $CARD set "$REAR_VOL" 0% >/dev/null
## PulseAudio controls
#pactl set-sink-mute "$SINK" 1 >/dev/null
#sleep 0.2
#if [[ "$1" == "front" ]]; then
#echo "Enabling front output" >> $LOG_FILE
## Check if headphones port exists
#if echo "$SINK_INFO" | grep -q "analog-output-headphones"; then
#echo "Attempting to set port to analog-output-headphones" >> $LOG_FILE
#if ! pacmd set-sink-port "$SINK" "analog-output-headphones" 2>>$LOG_FILE; then
#echo "Port switch failed, trying alternative method" >> $LOG_FILE
#pactl set-sink-port "$SINK" "analog-output-headphones" 2>>$LOG_FILE || true
#fi
#else
#echo "Headphones port not available, using hardware controls only" >> $LOG_FILE
#fi
## Additional hardware control
#amixer -c $CARD set 'Headphone' unmute >/dev/null
#amixer -c $CARD set 'Speaker' mute >/dev/null
#pactl set-sink-mute "$SINK" 0 >/dev/null
## ALSA controls
#amixer -c $CARD set "$FRONT" unmute >/dev/null
#amixer -c $CARD set "$FRONT_VOL" 100% >/dev/null
#OUTPUT=" FRONT"
#else
#echo "Enabling rear output" >> $LOG_FILE
## PulseAudio controls
#echo "Attempting to set port to analog-output-lineout" >> $LOG_FILE
#if ! pacmd set-sink-port "$SINK" "analog-output-lineout" 2>>$LOG_FILE; then
#echo "Port switch failed, trying alternative method" >> $LOG_FILE
#pactl set-sink-port "$SINK" "analog-output-lineout" 2>>$LOG_FILE || true
#fi
## Additional hardware control
#amixer -c $CARD set 'Speaker' unmute >/dev/null
#amixer -c $CARD set 'Headphone' mute >/dev/null
#pactl set-sink-mute "$SINK" 0 >/dev/null
## ALSA controls
#amixer -c $CARD set "$REAR" unmute >/dev/null
#amixer -c $CARD set "$REAR_VOL" 100% >/dev/null
#OUTPUT=" REAR"
#fi
## Reset audio pipeline
#echo "Resetting audio pipeline" >> $LOG_FILE
#{ pactl suspend-sink "$SINK" 1 && sleep 0.2 && pactl suspend-sink "$SINK" 0; } >/dev/null 2>&1
## Verify switch
#echo "Verifying switch..." >> $LOG_FILE
#CURRENT=$(get_active_output)
#echo "Current output: $CURRENT" >> $LOG_FILE
#if [[ "$CURRENT" != "$1" ]]; then
#echo "Switch verification failed!" >> $LOG_FILE
## Force hardware-level switch
#echo "Forcing hardware-level switch..." >> $LOG_FILE
#if [[ "$1" == "front" ]]; then
#amixer -c $CARD set 'Headphone' unmute >/dev/null
#amixer -c $CARD set 'Speaker' mute >/dev/null
#else
#amixer -c $CARD set 'Speaker' unmute >/dev/null
#amixer -c $CARD set 'Headphone' mute >/dev/null
#fi
#fi
#echo "Switch complete" >> $LOG_FILE
#echo "$OUTPUT" # Output to i3blocks
#}
## Main execution
#case "${BLOCK_BUTTON:-}" in
#1)
#CURRENT=$(get_active_output)
#if [[ "$CURRENT" == "front" ]]; then
#switch_output "rear"
#else
#switch_output "front"
#fi
#;;
#*)
#CURRENT=$(get_active_output)
#[[ "$CURRENT" == "front" ]] && echo " FRONT" || echo " REAR"
#;;
#esac
#exit 0

View File

@@ -18,7 +18,6 @@
INTERFACE="${BLOCK_INSTANCE:-wlan0}"
# echo $INTERFACE
# INTERFACE="${INSTANCE}"
#------------------------------------------------------------------------
@@ -29,10 +28,10 @@ INTERFACE="${BLOCK_INSTANCE:-wlan0}"
#------------------------------------------------------------------------
QUALITY=$(grep $INTERFACE /proc/net/wireless | awk '{ print int($3 * 100 / 70) }')
QUALITY=$(sudo grep $INTERFACE /proc/net/wireless | awk '{ print int($3 * 100 / 70) }')
# echo $QUALITY
W_inter=$(ip link | grep "[1-9]: wlp" | cut -d " " -f2 | tr -d ':')
W_name=$(nmcli d | grep "$W_inter" | awk '{print $4}')
# W_name=$(nmcli d | grep "$W_inter" | awk '{print $4}')
#------------------------------------------------------------------------

View File

@@ -1,7 +1,20 @@
confirm_os_window_close 0
include ~/.cache/wal/colors-kitty.conf
background_opacity .8
# background_opacity .7
# background_opacity .8
# background_opacity .85
background_opacity .9
# background_opacity .95
# background_opacity .97
clipboard_control write-clipboard write-primary
enable_audio_bell no
# font
cursor_blink_interval 0
# font_size 12.5
font_size 12
map ctrl+alt+up change_font_size all +1.0
map ctrl+alt+down change_font_size all -1.0
font_family Hack Nerd Font Mono

View File

@@ -0,0 +1,36 @@
[Default Applications]
text/html=firefox_firefox.desktop
x-scheme-handler/http=firefox_firefox.desktop
x-scheme-handler/https=firefox_firefox.desktop
x-scheme-handler/about=firefox_firefox.desktop
x-scheme-handler/unknown=firefox_firefox.desktop
x-scheme-handler/ftp=firefox.desktop
x-scheme-handler/chrome=firefox.desktop
application/x-extension-htm=firefox.desktop
application/x-extension-html=firefox.desktop
application/x-extension-shtml=firefox.desktop
application/xhtml+xml=firefox.desktop
application/x-extension-xhtml=firefox.desktop
application/x-extension-xht=firefox.desktop
x-scheme-handler/mailto=userapp-Thunderbird-DQE3YZ.desktop
message/rfc822=userapp-Thunderbird-DQE3YZ.desktop
image/jpeg=sxiv.desktop
image/png=sxiv.desktop
x-scheme-handler/discord-409416265891971072=discord-409416265891971072.desktop
x-scheme-handler/eclipse+command=_usr_lib_dbeaver_.desktop
video/mp4=mpv.desktop
[Added Associations]
x-scheme-handler/http=firefox.desktop;
x-scheme-handler/https=firefox.desktop;
text/html=firefox.desktop;
application/pdf=org.gnome.Evince.desktop;org.pwmt.zathura-pdf-mupdf.desktop;
text/plain=nvim.desktop;
x-scheme-handler/mailto=userapp-Thunderbird-DQE3YZ.desktop;
message/rfc822=userapp-Thunderbird-DQE3YZ.desktop;
text/x-python=nvim.desktop;gvim.desktop;
application/json=firefox.desktop;
image/jpeg=gimp.desktop;imv.desktop;
text/markdown=nvim.desktop;
image/png=imv.desktop;
video/mp4=mpv.desktop;

37
dot_config/mimeapps.list Normal file
View File

@@ -0,0 +1,37 @@
[Default Applications]
text/html=google-chrome.desktop
x-scheme-handler/http=google-chrome.desktop
x-scheme-handler/https=google-chrome.desktop
x-scheme-handler/about=google-chrome.desktop
x-scheme-handler/unknown=google-chrome.desktop
x-scheme-handler/ftp=firefox.desktop
x-scheme-handler/chrome=firefox.desktop
application/x-extension-htm=firefox.desktop
application/x-extension-html=firefox.desktop
application/x-extension-shtml=firefox.desktop
application/xhtml+xml=firefox.desktop
application/x-extension-xhtml=firefox.desktop
application/x-extension-xht=firefox.desktop
x-scheme-handler/mailto=userapp-Thunderbird-DQE3YZ.desktop
message/rfc822=userapp-Thunderbird-DQE3YZ.desktop
image/jpeg=sxiv.desktop
image/png=sxiv.desktop
x-scheme-handler/discord-409416265891971072=discord-409416265891971072.desktop
x-scheme-handler/eclipse+command=_usr_lib_dbeaver_.desktop
video/mp4=mpv.desktop
x-scheme-handler/discord=vesktop.desktop
[Added Associations]
x-scheme-handler/http=firefox.desktop;
x-scheme-handler/https=firefox.desktop;
text/html=firefox.desktop;
application/pdf=org.gnome.Evince.desktop;org.pwmt.zathura-pdf-mupdf.desktop;
text/plain=nvim.desktop;
x-scheme-handler/mailto=userapp-Thunderbird-DQE3YZ.desktop;
message/rfc822=userapp-Thunderbird-DQE3YZ.desktop;
text/x-python=nvim.desktop;gvim.desktop;
application/json=firefox.desktop;
image/jpeg=gimp.desktop;imv.desktop;
text/markdown=nvim.desktop;
image/png=imv.desktop;
video/mp4=mpv.desktop;

View File

@@ -7,23 +7,33 @@ v cycle mute
r set speed 1.0
g set speed 1.6
h set speed 2.4
a add speed -.2
s add speed .2
w add speed -.2
e add speed .2
# seek
Shift+RIGHT seek 1
Shift+LEFT seek -1
RIGHT seek 3
LEFT seek -3
UP seek 10
DOWN seek -10
Shift+UP seek 60
Shift+DOWN seek -60
Ctrl+RIGHT no-osd seek 0.2 exact
Ctrl+LEFT no-osd seek -0.2 exact
Shift+RIGHT no-osd seek 1 exact
Shift+LEFT no-osd seek -1 exact
RIGHT seek 5 exact
LEFT seek -5 exact
UP seek 10 exact
DOWN seek -10 exact
Shift+UP seek 60 exact
Shift+DOWN seek -60 exact
# zoom
Ctrl+- add video-zoom -0.25
Ctrl+= add video-zoom 0.25
# mark
m revert-seek mark # mark position for revert-seek
Shift+m revert-seek
# subtitle delay
z add sub-delay +0.25
Z add sub-delay -0.25
# z add sub-delay +0.25
# Z add sub-delay -0.25
u add sub-delay -0.25
i add sub-delay +0.25
ctrl+r cycle_values video-rotate "90" "180" "270" "0"

View File

@@ -1,3 +1,5 @@
sub-auto=fuzzy
# volume=25
# volume=75
ytdl-format=best
ytdl-raw-options=sub-format=en,write-srt=

16
dot_config/msmtp/config Normal file
View File

@@ -0,0 +1,16 @@
defaults
logfile ~/.config/msmtp/msmtp.log
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account firemail
host mail.cock.li
port 465
auth on
user vole@firemail.cc
password iavli3JYQT0bmuJlvL82ShQ
tls_starttls off
from vole@firemail.cc
account default : firemail

View File

@@ -336,8 +336,8 @@ public_ip_host="http://ident.me"
# disk_show=('/'):
# 'Disk (/): 74G / 118G (66%)'
#
# disk_show=('/' '/home' '/mnt/linux-files' )
disk_show=('/dev/sda1' '/dev/sda3' '/dev/sdc2' )
disk_show=('/' '/home' '/mnt/linux-files-2' )
#disk_show=('/dev/sda1' '/dev/sdaf' '/dev/sdd1' )
# Disk subtitle.
# What to append to the Disk subtitle.

View File

@@ -0,0 +1,18 @@
set from = "vole@firemail.cc"
set realname = "Vole"
set mbox_type = Maildir
set folder = "~/mail/firemail"
set spoolfile = "+INBOX"
set record = "+Sent"
set postponed = "+Drafts"
set trash = "+Trash"
set sendmail = "/usr/bin/msmtp"
set sendmail_wait = 0
set editor = "nano"
set charset = "utf-8"
auto_view text/html
alternative_order text/plain text/html
macro index <F5> "<shell-escape>mbsync firemail<enter><enter>" "Sync mail"

425
dot_config/picom/picom.conf Normal file
View File

@@ -0,0 +1,425 @@
# shadows {{{ #
# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
# shadow = false
shadow = true;
# The blur radius for shadows, in pixels. (defaults to 12)
# shadow-radius = 12
shadow-radius = 7;
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
# shadow-opacity = .75
# The left offset for shadows, in pixels. (defaults to -15)
# shadow-offset-x = -15
shadow-offset-x = -7;
# The top offset for shadows, in pixels. (defaults to -15)
# shadow-offset-y = -15
shadow-offset-y = -7;
# Avoid drawing shadows on dock/panel windows. This option is deprecated,
# you should use the *wintypes* option in your config file instead.
#
# no-dock-shadow = false
# Don't draw shadows on drag-and-drop windows. This option is deprecated,
# you should use the *wintypes* option in your config file instead.
#
# no-dnd-shadow = false
# Red color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-red = 0
# Green color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-green = 0
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-blue = 0
# Do not paint shadows on shaped windows. Note shaped windows
# here means windows setting its shape through X Shape extension.
# Those using ARGB background is beyond our control.
# Deprecated, use
# shadow-exclude = 'bounding_shaped'
# or
# shadow-exclude = 'bounding_shaped && !rounded_corners'
# instead.
#
# shadow-ignore-shaped = ''
# Specify a list of conditions of windows that should have no shadow.
#
# examples:
# shadow-exclude = "n:e:Notification";
#
# shadow-exclude = []
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# Specify a X geometry that describes the region in which shadow should not
# be painted in, such as a dock window region. Use
# shadow-exclude-reg = "x10+0+0"
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
#
# shadow-exclude-reg = ""
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
# xinerama-shadow-crop = false
# }}} shadows #
# fading {{{ #
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used.
fading = false
# fading = true
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
# fade-in-step = 0.028
fade-in-step = 0.03;
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
# fade-out-step = 0.03
fade-out-step = 0.03;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
# fade-delta = 10
# Specify a list of conditions of windows that should not be faded.
# fade-exclude = []
# Do not fade on window open/close.
# no-fading-openclose = true
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
# no-fading-destroyed-argb = false
# }}} fading #
# transparency/opacity {{{ #
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
inactive-opacity = 1
# inactive-opacity = 0.9;
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
# frame-opacity = 1.0
frame-opacity = 0.7;
# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
# menu-opacity = 1.0
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
# inactive-opacity-override = true
inactive-opacity-override = false;
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
# active-opacity = 1.0
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
# inactive-dim = 0.0
# Specify a list of conditions of windows that should always be considered focused.
# focus-exclude = []
focus-exclude = [ "class_g = 'Cairo-clock'" ];
# Use fixed inactive dim value, instead of adjusting according to window opacity.
# inactive-dim-fixed = 1.0
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
# Note we don't make any guarantee about possible conflicts with other
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
# example:
# opacity-rule = [ "80:class_g = 'URxvt'" ];
#
#
opacity-rule = ["90:class_g = 'kitty'"]
# opacity-rule = []
# }}} transparency/opacity #
# bg blurring {{{ #
# Parameters for background blurring, see the *BLUR* section for more information.
# blur-method =
# blur-size = 12
#
# blur-deviation = false
# Blur background of semi-transparent / ARGB windows.
# Bad in performance, with driver-dependent behavior.
# The name of the switch may change without prior notifications.
#
# blur-background = false
# Blur background of windows when the window frame is not opaque.
# Implies:
# blur-background
# Bad in performance, with driver-dependent behavior. The name may change.
#
# blur-background-frame = false
# Use fixed blur strength rather than adjusting according to window opacity.
# blur-background-fixed = false
# Specify the blur convolution kernel, with the following format:
# example:
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
#
# blur-kern = ''
blur-kern = "3x3box";
# Exclude conditions for background blur.
# blur-background-exclude = []
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
# }}} bg blurring #
# general {{{ #
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
# `xrender` is the default one.
#
# backend = 'glx'
backend = "xrender";
# Enable/disable VSync.
# vsync = false
vsync = true
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
# dbus = false
# Try to detect WM windows (a non-override-redirect window with no
# child that has 'WM_STATE') and mark them as active.
#
# mark-wmwin-focused = false
mark-wmwin-focused = true;
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
# mark-ovredir-focused = false
mark-ovredir-focused = true;
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# detect-rounded-corners = false
detect-rounded-corners = true;
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
#
# detect-client-opacity = false
detect-client-opacity = true;
# Specify refresh rate of the screen. If not specified or 0, picom will
# try detecting this with X RandR extension.
#
# refresh-rate = 60
refresh-rate = 0
# Limit picom to repaint at most once every 1 / 'refresh_rate' second to
# boost performance. This should not be used with
# vsync drm/opengl/opengl-oml
# as they essentially does sw-opti's job already,
# unless you wish to specify a lower refresh rate than the actual value.
#
# sw-opti =
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
# provided that the WM supports it.
#
# use-ewmh-active-win = false
# Unredirect all windows if a full-screen opaque window is detected,
# to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows.
#
# unredir-if-possible = false
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
# unredir-if-possible-delay = 0
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
# unredir-if-possible-exclude = []
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# detect-transient = false
detect-transient = true
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
# detect-transient is enabled, too.
#
# detect-client-leader = false
detect-client-leader = true
# Resize damaged region by a specific number of pixels.
# A positive value enlarges it while a negative one shrinks it.
# If the value is positive, those additional pixels will not be actually painted
# to screen, only used in blur calculation, and such. (Due to technical limitations,
# with use-damage, those pixels will still be incorrectly painted to screen.)
# Primarily used to fix the line corruption issues of blur,
# in which case you should use the blur radius value here
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
# with a 5x5 one you use `--resize-damage 2`, and so on).
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
#
# resize-damage = 1
# Specify a list of conditions of windows that should be painted with inverted color.
# Resource-hogging, and is not well tested.
#
# invert-color-include = []
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
# Might cause incorrect opacity when rendering transparent content (but never
# practically happened) and may not work with blur-background.
# My tests show a 15% performance boost. Recommended.
#
# glx-no-stencil = false
# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes,
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
# Recommended if it works.
#
# glx-no-rebind-pixmap = false
# Disable the use of damage information.
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
# The opposing option is use-damage
#
# no-use-damage = false
use-damage = true
# Use X Sync fence to sync clients' draw calls, to make sure all draw
# calls are finished before picom starts drawing. Needed on nvidia-drivers
# with GLX backend for some users.
#
# xrender-sync-fence = false
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
# in the source tree for examples.
#
# glx-fshader-win = ''
# Force all windows to be painted with blending. Useful if you
# have a glx-fshader-win that could turn opaque pixels transparent.
#
# force-win-blend = false
# Do not use EWMH to detect fullscreen windows.
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
#
# no-ewmh-fullscreen = false
# Dimming bright windows so their brightness doesn't exceed this set value.
# Brightness of a window is estimated by averaging all pixels in the window,
# so this could comes with a performance hit.
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
#
# max-brightness = 1.0
# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them.
#
# transparent-clipping = false
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case doesn't matter.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# log-level = "debug"
log-level = "warn";
# Set the log file.
# If *--log-file* is never specified, logs will be written to stderr.
# Otherwise, logs will to written to the given file, though some of the early
# logs might still be written to the stderr.
# When setting this option from the config file, it is recommended to use an absolute path.
#
# log-file = '/path/to/your/log/file'
# Show all X errors (for debugging)
# show-all-xerrors = false
# Write process ID to a file.
# write-pid-path = '/path/to/your/log/file'
# }}} general #
# window settings {{{ #
# Window type settings
#
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
# "tooltip", "notification", "combo", and "dnd".
#
# Following per window-type options are available: ::
#
# fade, shadow:::
# Controls window-type-specific shadow and fade settings.
#
# opacity:::
# Controls default opacity of the window type.
#
# focus:::
# Controls whether the window of this type is to be always considered focused.
# (By default, all window types except "normal" and "dialog" has this on.)
#
# full-shadow:::
# Controls whether shadow is drawn under the parts of the window that you
# normally won't be able to see. Useful when the window has parts of it
# transparent, and you want shadows in those areas.
#
# redir-ignore:::
# Controls whether this type of windows should cause screen to become
# redirected again after been unredirected. If you have unredir-if-possible
# set, and doesn't want certain window to cause unnecessary screen redirection,
# you can set this to `true`.
#
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
dock = { shadow = false; }
dnd = { shadow = false; }
# popup_menu = { opacity = 1; }
popup_menu = { opacity = .95; }
# dropdown_menu = { opacity = 1; }
dropdown_menu = { opacity = .9; }
};
# }}} window settings #

View File

@@ -96,8 +96,11 @@ handle_extension() {
jq --color-output '.' "${FILE_PATH}" && exit 5
python -m json.tool -- "${FILE_PATH}" && exit 5
# txt)
# cat "${FILE_PATH}" && exit 5
js)
bat "${FILE_PATH}" && exit 5
txt)
bat "${FILE_PATH}" && exit 5
esac
}
@@ -231,3 +234,9 @@ handle_mime "${MIMETYPE}"
handle_fallback
exit 1
#if [ "$KITTY_WINDOW_ID" ]; then
#kitty +kitten icat --transfer-mode file --stdin yes
#exit 1
#fi
preview_images_method="ueberzug"

View File

@@ -1 +0,0 @@

View File

@@ -166,8 +166,9 @@ set autoupdate_cumulative_size false
set show_cursor false
# One of: size, natural, basename, atime, ctime, mtime, type, random
set sort natural
# set sort natural
# set sort extension
set sort mtime
# Additional sorting options
set sort_reverse false
@@ -272,7 +273,7 @@ map <C-c> abort
map <esc> change_mode normal
map ~ set viewmode!
map i display_file
# map id display_file
map ? help
map W display_log
# map w taskview_open
@@ -331,6 +332,7 @@ map <PAGEDOWN> move down=1 pages=True
map <PAGEUP> move up=1 pages=True
map <CR> move right=1
map <DELETE> console delete
map i console touch%space
map <INSERT> console touch%space
# VIM-like
@@ -665,8 +667,9 @@ set preview_images true
# * urxvt-full:
# The same as urxvt but utilizing not only the preview pane but the
# whole terminal window.
set preview_images_method w3m
# set preview_images_method ueberzug
# set preview_images_method w3m
#set preview_images_method ueberzug
set preview_images_method kitty
# set preview_images_method urxvt
# set preview_images_method urxvt-full
@@ -700,12 +703,19 @@ map zr shell unzip %f && rm %f
map e. open_with evince f
map v. shell $EDITOR %f
source {{ .chezmoi.homedir }}/.config/ranger/key_mappings.conf
source {{ .chezmoi.homeDir }}/.config/ranger/key_mappings.conf
map dg shell dragon-drag-and-drop -a -x %p
#map dg shell dragon-drop -a -x %p
map dg shell dragon -x %p
# map <C-d> shell dragon-drag-and-drop -a -x %p
# a plugin that adds file glyphs / icon support to Ranger:
# https://github.com/alexanderjeurissen/ranger_devicons
default_linemode devicons
set clipboard_program xclip
set clipboard_cmd xclip -selection clipboard
map tsx set editor nvim
set editor nvim
# ]]] custom #

View File

@@ -110,6 +110,7 @@ ext pl = perl -- "$1"
ext rb = ruby -- "$1"
ext js = node -- "$1"
ext sh = sh -- "$1"
ext tsx = nvim "$@"
ext php = php -- "$1"
#--------------------------------------------

View File

@@ -1,11 +0,0 @@
audio.crossfade_v2=true
audio.sync_bitrate_enumeration=4
ui.track_notifications_enabled=false
ui.show_friend_feed=false
audio.play_bitrate_enumeration=4
app.player.volume=40000
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
app.browser.zoom-level=300
{{ else }}
app.browser.zoom-level=75
{{ end }}

View File

@@ -7,7 +7,7 @@
*
* font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
*/
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
{{ if eq .chezmoi.hostname "x1-carbon" }}
static char *font = "DejaVuSansMono Nerd Font Mono:pixelsize=33:antialias=true:autohint=true";
{{ else }}
static char *font = "DejaVuSansMono Nerd Font Mono:pixelsize=20:antialias=true:autohint=true";

View File

@@ -1,4 +1,4 @@
# set recolor true
set recolor true
# black
set recolor-darkcolor "#ffffff"
set recolor-lightcolor "#000000"

View File

@@ -1,7 +1,7 @@
[user]
email = me@kevin-mok.com
name = Kevin Mok
signingkey = 6E920656BBAD3E6C
signingkey = FB0DA56BEB5D98F3
[color]
ui = auto
[core]
@@ -9,6 +9,7 @@
autocrlf = input
[push]
default = simple
autoSetupRemote = true
[merge]
tool = vimdiff
conflictstyle = diff3
@@ -18,7 +19,7 @@
[diff]
tool = vimdiff
[commit]
gpgsign = true
gpgsign = false
[alias]
a = add
c = commit
@@ -32,3 +33,10 @@
s = status
st = stash
r = remote
[init]
defaultBranch = main
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true

View File

@@ -1,3 +1,3 @@
".*"
None, Up, Button4, 5
None, Down, Button5, 5
"^.*"
None, Up, Button4, 7
None, Down, Button5, 7

View File

@@ -0,0 +1,3 @@
{
"driver": "docker"
}

1
dot_qalcrc Normal file
View File

@@ -0,0 +1 @@
decimal comma 1

View File

@@ -1,72 +1,83 @@
[General]
EDITOR = nvim # Use your preferred editor
path_ext = /usr/share/taskopen/scripts
taskbin = task
# BROWSER='xdg-open $FILE &>/dev/null'
BROWSER='firefox'
EDITOR='nvim'
#FILE_CMD='xdg-open'
TASKBIN='task'
[Actions]
notes.regex = "Notes" # Match tasks with the "Notes" annotation
notes.command = "$EDITOR $HOME/.task/notes/$UUID.md" # Custom notes directory
#notes.modes = any
notes.modes = normal
# If you sync tasks NOTES_FOLDER should be a location that syncs and is available to
# other computers, i.e. /users/dropbox/tasknotes
# NOTES_FOLDER to store notes in, must already exist!
NOTES_FOLDER="$HOME/.task/notes/"
# Preferred extension for tasknotes
NOTES_EXT=".md"
# Path to notes file. UUID will be replaced with the actual uuid of
# the task. If NOTES_CMD
# Default is: ${NOTES_FOLDER}UUID${NOTES_EXT}
#NOTES_FILE="$HOME/tasknotes/UUID.txt"
# Command that opens notes. UUID will be replaced with the actual uuid of
# the task.
# Default is: $EDITOR $NOTES_FILE
#NOTES_CMD="vim "$HOME/tasknotes/$UUID.txt""
# Specify the default sorting.
# Default is taskwarrior's default sorting, i.e. sorting by task IDs.
#DEFAULT_SORT="urgency-,label,annot"
# Apply a default taskwarrior filter in order to exclude certain tasks.
# Default is: status.is:pending
#DEFAULT_FILTER=
# Default command for '-i'
# Default is: ls -la
#DEFAULT-i="ls -la"
# Add some paths to the taskopen's PATH variable
#PATH_EXT=/path/to/taskopen/scripts
PATH_EXT=/usr/share/taskopen/scripts
# Regular expression that referes to the NOTES_FILE.
# Default is: Notes
#NOTES_REGEX="Notes"
# Regular expression that identifies annotations openable by BROWSER.
# Default is: www|http
#BROWSER_REGEX="www|http"
# Regular expression that identifies file paths in annotations. Will be opened by xdg-open.
# Default is: \.|\/|~
#FILE_REGEX="\.|\/|~"
# Regular expression that identifies a text annotation. Automatically triggers raw edit mode like '-r'.
#TEXT_REGEX=".*"
# Custom regular expression that specifies annotations passed to CUSTOM1_CMD, e.g:
#CUSTOM1_REGEX="Message-[Ii][Dd]:|message:"
#CUSTOM1_CMD="muttjumpwrapper"
# Custom regular expression that specifies annotations passed to CUSTOM2_CMD.
#CUSTOM2_REGEX=""
#CUSTOM2_CMD=""
# Execute an arbitrary command if there is no annotation available. The corresponding taskwarrior IDs will
# be passed as arguments, e.g. "addnote 21 42"
#NO_ANNOTATION_HOOK=addnote
# Make additional taskwarrior attributes available as sort keys and environment variables.
# E.g. TASK_ATTRIBUTES="project,tags" allows to sort by "task_project" or "task_tags" and to use
# "$TASK_PROJECT" or "$TASK_TAGS" within your (custom) commands.
#TASK_ATTRIBUTES=""
# # BROWSER='xdg-open $FILE &>/dev/null'
# BROWSER='firefox'
# EDITOR='nvim'
# #FILE_CMD='xdg-open'
# TASKBIN='task'
#
# # If you sync tasks NOTES_FOLDER should be a location that syncs and is available to
# # other computers, i.e. /users/dropbox/tasknotes
# # NOTES_FOLDER to store notes in, must already exist!
# NOTES_FOLDER="$HOME/.task/notes/"
# data_location="$HOME/.task/notes/"
#
# # Preferred extension for tasknotes
# NOTES_EXT=".md"
#
# # Path to notes file. UUID will be replaced with the actual uuid of
# # the task. If NOTES_CMD
# # Default is: ${NOTES_FOLDER}UUID${NOTES_EXT}
# #NOTES_FILE="$HOME/tasknotes/UUID.txt"
#
# # Command that opens notes. UUID will be replaced with the actual uuid of
# # the task.
# # Default is: $EDITOR $NOTES_FILE
# #NOTES_CMD="vim "$HOME/tasknotes/$UUID.txt""
#
# # Specify the default sorting.
# # Default is taskwarrior's default sorting, i.e. sorting by task IDs.
# #DEFAULT_SORT="urgency-,label,annot"
#
# # Apply a default taskwarrior filter in order to exclude certain tasks.
# # Default is: status.is:pending
# #DEFAULT_FILTER=
#
# # Default command for '-i'
# # Default is: ls -la
# #DEFAULT-i="ls -la"
#
# # Add some paths to the taskopen's PATH variable
# #PATH_EXT=/path/to/taskopen/scripts
# PATH_EXT=/usr/share/taskopen/scripts
#
# # Regular expression that referes to the NOTES_FILE.
# # Default is: Notes
# #NOTES_REGEX="Notes"
#
# # Regular expression that identifies annotations openable by BROWSER.
# # Default is: www|http
# #BROWSER_REGEX="www|http"
#
# # Regular expression that identifies file paths in annotations. Will be opened by xdg-open.
# # Default is: \.|\/|~
# #FILE_REGEX="\.|\/|~"
#
# # Regular expression that identifies a text annotation. Automatically triggers raw edit mode like '-r'.
# #TEXT_REGEX=".*"
#
# # Custom regular expression that specifies annotations passed to CUSTOM1_CMD, e.g:
# #CUSTOM1_REGEX="Message-[Ii][Dd]:|message:"
# #CUSTOM1_CMD="muttjumpwrapper"
#
# # Custom regular expression that specifies annotations passed to CUSTOM2_CMD.
# #CUSTOM2_REGEX=""
# #CUSTOM2_CMD=""
#
# # Execute an arbitrary command if there is no annotation available. The corresponding taskwarrior IDs will
# # be passed as arguments, e.g. "addnote 21 42"
# #NO_ANNOTATION_HOOK=addnote
#
# # Make additional taskwarrior attributes available as sort keys and environment variables.
# # E.g. TASK_ATTRIBUTES="project,tags" allows to sort by "task_project" or "task_tags" and to use
# # "$TASK_PROJECT" or "$TASK_TAGS" within your (custom) commands.
# #TASK_ATTRIBUTES=""

View File

@@ -20,7 +20,7 @@ data.location=~/.task
# Color theme (uncomment one to use){{{
#include /usr/share/doc/task/rc/light-16.theme
#include /usr/share/doc/task/rc/light-256.theme
include /usr/share/doc/task/rc/dark-16.theme
# include /usr/share/doc/task/rc/dark-16.theme
# include /usr/share/doc/task/rc/dark-256.theme
#include /usr/share/doc/task/rc/dark-red-256.theme
#include /usr/share/doc/task/rc/dark-green-256.theme
@@ -42,7 +42,7 @@ include /usr/share/doc/task/rc/dark-16.theme
taskd.certificate=\/home\/kevin\/.task\/do.cert.pem
taskd.key=\/home\/kevin\/.task\/do.key.pem
taskd.ca=\/home\/kevin\/.task\/ca.cert.pem
taskd.server=taskd.khkm.tk:53589
taskd.server=taskd.khkm.gq:53589
taskd.credentials=Hevin\/Kevin\/eb6225dc-80fb-4721-8b03-9114c6c4423d
# }}} server #
@@ -51,15 +51,23 @@ taskd.credentials=Hevin\/Kevin\/eb6225dc-80fb-4721-8b03-9114c6c4423d
urgency.due.coefficient=18
urgency.user.project.codm.coefficient=2
urgency.user.project.crim.coefficient=5
urgency.user.project.mny.coefficient=7
urgency.user.project.crim.coefficient=1
urgency.user.project.fn.coefficient=5
urgency.user.project.mny.coefficient=10
urgency.user.project.ms.coefficient=3
urgency.user.project.pey.coefficient=7
urgency.user.project.sch.coefficient=10
urgency.user.project.pey.coefficient=10
urgency.user.project.pogo.coefficient=0
urgency.user.project.sch.coefficient=7
urgency.uda.priority.H.coefficient=10
urgency.uda.priority.M.coefficient=4
urgency.uda.priority.L.coefficient=-7
urgency.uda.priority..coefficient=1
urgency.user.tag.nx.coefficient=15
urgency.user.tag.helm.coefficient=5
urgency.user.tag.jira.coefficient=5
# urgency.user.tag.nx.coefficient=15
urgency.user.tag.nexus.coefficient=3
report.ready.sort=urgency-
# }}} urgency #
@@ -68,13 +76,23 @@ urgency.user.tag.nx.coefficient=15
# context.home=project.not:ieas project.not:out project.not:sch tag.not:amn
context.home=project.not:ieas project.not:out
context.ieas=project:ieas
context.not-pey=project.not:pey project.not:sch
context.out=project:out
context.mny=project:mny
context.pey=project:pey
context.sch=project:sch
#context.sniper=project:sniper project:job
context.sniper=project:sniper
#context.sniper=(project:sniper or project:job)
context.linux=project:linux
context=home
#context=none
context=sniper
#context=linux
# context=home
# context=out
# context=sch
#context=sch
#context=mny
# context=pey
# context=not-pey
# }}} context #
report.ready.sort=urgency-

View File

@@ -19,6 +19,7 @@ set linebreak
set linespace=5
set mouse=a
" set mouse=c
set nofixendofline
" set noswapfile
set relativenumber
set shiftwidth=4
@@ -26,8 +27,8 @@ set smartcase
set tabstop=4
" set t_Co=256
" set termguicolors
" set timeoutlen=350
set timeoutlen=200
set timeoutlen=350
" set timeoutlen=200
" set tw=75
" set tw=70
set tw=60
@@ -56,22 +57,27 @@ autocmd CursorHold * if !bufexists("[Command Line]") | checktime | endif
" commands for file types [[[ "
filetype plugin indent on
autocmd BufNewFile,BufRead .* set syntax=sh
autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown
autocmd FileType *css,gitcommit,haskell,htmldjango,html,javascript,json,lisp,markdown,
\racket,tex,text,yaml set tabstop=2 shiftwidth=2
autocmd FileType *css,gitcommit,haskell,htmldjango,html,graphql,javascript,javascriptreact,json,lisp,markdown,
\racket,tex,text,typescript,typescriptreact,yaml set tabstop=2 shiftwidth=2
" autocmd BufNewFile,BufRead *.md set filetype=markdown
" autocmd Filetype markdown set textwidth=0
autocmd Filetype markdown set textwidth=55
" autocmd Filetype html set foldmarker=0
autocmd BufNewFile,BufRead *.gd set expandtab!
autocmd Filetype go set expandtab! sw=4
autocmd FileType html,javascript,python,lua set fdm=indent
autocmd Filetype go set noexpandtab sw=4
" autocmd FileType go,html,java,javascript,python,lua set fdm=indent
" autocmd FileType go,html,java,javascript,javascriptreact,Jenkinsfile,python,lua set fdm=indent
autocmd FileType go,html,java,Jenkinsfile,python,lua set fdm=indent
" autocmd FileType html,javascript,Jenkinsfile,python,lua set fdm=indent
autocmd BufNewFile,BufRead *.gql setfiletype graphql
autocmd Filetype markdown let g:AutoPairs = {'(':')', '[':']', '{':'}','"':'"', "`":"`", '```':'```', '"""':'"""', "'''":"'''", "*":"*"}
" autocmd Filetype markdown map <F8> :LivedownToggle<CR>
autocmd Filetype markdown let g:AutoPairs={'(':')', '[':']', '{':'}','"':'"', "`":"`", '```':'```', '"""':'"""', "'''":"'''","*":"*"}
autocmd Filetype markdown map <F8> :InstantMarkdownPreview<CR>
autocmd Filetype markdown map <F9> :InstantMarkdownStop<CR>:InstantMarkdownPreview<CR>
autocmd Filetype markdown nnoremap <Tab> <Esc>>>A
autocmd Filetype markdown inoremap <S-Tab> <Esc><<A
autocmd Filetype markdown inoremap < <Esc><<A
autocmd Filetype markdown inoremap << <
autocmd Filetype markdown inoremap > <Esc>>>A
@@ -90,12 +96,12 @@ autocmd Filetype markdown inoremap >> >
" ]]] format options "
" autocmd FileType markdown,tex,text set spell spelllang=en_us formatoptions=acjMqtvw
autocmd FileType markdown,tex,text set spell spelllang=en_us formatoptions=cjMqtvw
autocmd Filetype groovy,Jenkinsfile,taskdata set tw=0
autocmd Filetype json nnoremap <leader>j :%!python -m json.tool<CR>
autocmd Filetype json set foldmethod=marker
autocmd Filetype racket set commentstring=;%s;
autocmd Filetype racket let g:AutoPairs = {'(':')', '[':']', '{':'}','"':'"', "`":"`", '```':'```', '"""':'"""', "'''":"'''"}
autocmd FileType sh map <F8> :!clear && shellcheck %<CR>
autocmd Filetype taskdata set tw=0
autocmd FileType tex set updatetime=1000 timeoutlen=300
autocmd FileType tex map <F8> :VimtexCompile<CR>
autocmd VimEnter *.tex VimtexCompile
@@ -171,25 +177,31 @@ Plug 'lervag/vimtex'
" au BufWritePost *.tex silent call Tex_RunLaTeX()
au BufWritePost *.tex silent !pkill -USR1 xdvi.bin
let g:Tex_MultipleCompileFormats = 'dvi,pdf'
let g:vimtex_view_general_viewer = 'evince'
let g:vimtex_quickfix_latexlog = {
\ 'overfull' : 0,
\ 'underfull' : 0,
\ 'global' : 0,
\ 'packages' : {
\ 'biblatex' : 0,
\ 'gensymb' : 0,
\ },
\ 'references' : 0,
\ 'unused' : 0,
\}
" let g:vimtex_view_general_viewer = 'evince'
let g:vimtex_view_general_viewer = 'zathura'
" let g:vimtex_quickfix_latexlog = {
" \ 'overfull' : 0,
" \ 'underfull' : 0,
" \ 'global' : 0,
" \ 'packages' : {
" \ 'biblatex' : 0,
" \ 'gensymb' : 0,
" \ },
" \ 'references' : 0,
" \ 'unused' : 0,
" \}
let g:vimtex_quickfix_ignore_filters = [
\'Overfull',
\]
let g:vimtex_quickfix_autoclose_after_keystrokes = 5
" let g:vimtex_compiler_latexmk = {
let g:vimtex_compiler_latexmk = {
\ 'continuous' : 1,
\}
" \ 'continuous' : 0,
" \}
{{ if not (eq .chezmoi.username "root") }}
" auto-completion for various languages
" arc
Plug 'Valloric/YouCompleteMe'
let g:ycm_filetype_blacklist = {
\ 'tagbar': 1,
@@ -223,33 +235,17 @@ Plug 'Kevin-Mok/vim-snippets'
Plug 'ervandew/supertab'
" make YCM compatible with UltiSnips (using supertab)
let g:ycm_key_list_select_completion = ['<C-n>', '<Down>']
let g:ycm_key_list_previous_completion = ['<C-p>', '<Up>']
let g:SuperTabDefaultCompletionType = '<C-n>'
" easily comment/uncomment lines
Plug 'scrooloose/nerdcommenter'
let g:NERDTrimTrailingWhitespace = 1
let g:NERDSpaceDelims = 1
" add quotes/brackets around chunks of text easily
Plug 'tpope/vim-surround'
nmap S ys
" navigate around file easily and precisely
Plug 'easymotion/vim-easymotion'
map <Space> <Plug>(easymotion-prefix)
" status bar displaying various info about the current buffer
Plug 'vim-airline/vim-airline'
let g:airline_section_c = '%F'
Plug 'vim-airline/vim-airline-themes'
let g:airline_powerline_fonts = 1
let g:airline_powerline_fonts = 1
let g:airline_theme='supernova'
" continue Markdown lists when started
" arc
Plug 'dkarter/bullets.vim'
" coordinate Vim color scheme with terminal color scheme
Plug 'dylanaraps/wal.vim'
" Plug 'morhetz/gruvbox'
Plug 'bluz71/vim-nightfly-colors', { 'as': 'nightfly' }
" repeat plugin commands
Plug 'tpope/vim-repeat'
@@ -270,9 +266,13 @@ Plug 'terryma/vim-multiple-cursors'
let g:multi_cursor_exit_from_insert_mode=0
Plug 'dag/vim-fish'
" live preview Markdown"
" Plug 'shime/vim-livedown'
Plug 'suan/vim-instant-markdown', {'for': 'markdown'}
let g:instant_markdown_autostart = 0
let g:instant_markdown_port = 8888
" Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install' }
" let g:mkdp_auto_start = 1
" let g:mkdp_browser = 'firefox'
" let g:mkdp_echo_preview_url = 1
" git helper
Plug 'tpope/vim-fugitive'
" auto reload file
@@ -325,10 +325,30 @@ Plug 'junegunn/vim-easy-align'
nmap ga <Plug>(EasyAlign)
Plug 'wlangstroth/vim-racket'
Plug 'neovimhaskell/haskell-vim'
Plug 'masukomi/vim-markdown-folding'
" Plug 'masukomi/vim-markdown-folding'
Plug 'mikeboiko/vim-markdown-folding'
autocmd FileType markdown set foldexpr=NestedMarkdownFolds()
Plug 'cespare/vim-toml'
Plug 'dpelle/vim-LanguageTool'
" increment dates with C-a
Plug 'tpope/vim-speeddating'
Plug 'martinda/Jenkinsfile-vim-syntax'
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
let g:go_fmt_command = ""
Plug 'buoto/gotests-vim'
Plug 'tomlion/vim-solidity'
Plug 'jparise/vim-graphql'
Plug 'maxmellon/vim-jsx-pretty'
Plug 'mlaursen/vim-react-snippets', { 'branch': 'main' }
Plug 'cristianoliveira/vim-react-html-snippets'
Plug 'jidn/vim-dbml'
" Plug 'FuDesign2008/emoji-snippets.vim'
Plug 'tpope/vim-surround'
" Plug 'tpope/vim-commentary'
Plug 'preservim/nerdcommenter'
"Plug 'vimwiki/vimwiki'
"let g:vimwiki_list = [{'path': '~/vimwiki/', 'syntax': 'markdown', 'ext': '.md'}]
"Plug 'tools-life/taskwiki'
" ]]] vim-plug "
" Mappings [[[ "
@@ -336,7 +356,9 @@ Plug 'dpelle/vim-LanguageTool'
call plug#end()
{{ if .gui }}
colorscheme wal
" autocmd vimenter * ++nested colorscheme gruvbox
" colorscheme wal
colorscheme nightfly
{{ else }}
colorscheme gotham256
{{ end }}
@@ -345,6 +367,7 @@ colorscheme gotham256
nnoremap <ScrollWheelUp> <C-U>
nnoremap <ScrollWheelDown> <C-D>
nnoremap Y yy
" visual select across lines by default "
nnoremap v <C-V>
@@ -377,7 +400,8 @@ nnoremap <leader>dg ggdG
" delete entire line
nnoremap <leader>dl 0d$
" delete lines matching pattern
nnoremap <leader>dls :g//d<left><left>
" nnoremap <leader>dls :g//d<left><left>
nnoremap <leader>dls q:ig//d<left><left>
" show docstring for cur word
nnoremap <leader>do :YcmCompleter GetDoc<CR>
" delete line into system clipboard
@@ -397,11 +421,15 @@ nnoremap <leader>fi :YcmCompleter FixIt<CR>
nnoremap <leader>ft :se ft?<CR>
" check todo's
nnoremap <leader>ftd /TODO<CR>
nnoremap <leader>g :YcmCompleter GoTo<CR>
" nnoremap <leader>g :YcmCompleter GoTo<CR>
nnoremap <leader>g :vs \| YcmCompleter GoTo<CR>
" nnoremap <leader>gb <C-O>
nnoremap <leader>gb :Git blame<CR>
" vimdiff split
nnoremap <leader>gd :Gvdiff
nnoremap <leader>gdh :Gvdiff HEAD^
nnoremap <leader>gdm :Gvdiff master<CR>
nnoremap <leader>gdo :Gvdiff orig/master<CR>
" toggle search highlighting
nnoremap <leader>h :set hlsearch! hlsearch?<CR>
" help
@@ -409,9 +437,13 @@ nnoremap <leader>he :vert help
nnoremap <leader>ht :set tabstop=2 shiftwidth=2 expandtab<CR>
nnoremap <leader>vhe :vert help
" don't add space when joining lines "
nnoremap <leader>j gJ
" nnoremap <leader>j gJ
" jump forward
nnoremap <leader>j <C-I>
" join all paragraphs into single line "
nnoremap <leader>jl :set tw=9999999<CR>gggqG
" jump back
nnoremap <leader>k <C-O>
" format current line
nnoremap <leader>l Vgq
" format this and next line
@@ -422,7 +454,7 @@ nnoremap <leader>m :vert Man
" apply normal command to selection
vnoremap <leader>n q:anorm
" turn off autoformat"
nnoremap <leader>na :set spell spelllang=en_us formatoptions=cjMqtvw<CR>
" nnoremap <leader>na :set spell spelllang=en_us formatoptions=cjMqtvw<CR>
nnoremap <leader>nt :NERDTree<CR>
" check if in neovim
nnoremap <leader>nv :echo has('nvim')<CR>
@@ -451,6 +483,7 @@ vnoremap <leader>r q:is///g<ESC>3ha
nnoremap <leader>ra q:i%s///g<ESC>2F/i
" remove italics tags
nnoremap <leader>rmi :%s/<\/\?i>//g<CR>
nnoremap <leader>rn :YcmCompleter RefactorRename
nnoremap <leader>rs :res
" reload vim config
nnoremap <leader>rv :source $MYVIMRC<CR>
@@ -529,9 +562,14 @@ let maplocalleader="\\"
" tex [[[ "
autocmd Filetype tex noremap i$ :<C-u>normal! T$vt$<CR>
autocmd Filetype tex noremap i$ :normal vi$<CR>
autocmd Filetype tex xnoremap a$ :<C-u> normal!F$vf$<CR>
autocmd Filetype tex onoremap a$ :normal va$<CR>
autocmd Filetype tex inoremap <localleader>bt \bowtie
autocmd Filetype tex inoremap <localleader>c \checkmark
autocmd Filetype tex inoremap <localleader>d \delta
autocmd Filetype tex inoremap <localleader>d \div
autocmd Filetype tex inoremap <localleader>D \Delta
autocmd Filetype tex inoremap <localleader>e \exists
autocmd Filetype tex inoremap <localleader>ep \epsilon
@@ -542,6 +580,7 @@ autocmd Filetype tex inoremap <localleader>la \leftarrow
autocmd Filetype tex inoremap <localleader>le \leq
autocmd Filetype tex inoremap <localleader>ln \log n
autocmd Filetype tex inoremap <localleader>lr \Leftrightarrow
autocmd Filetype tex inoremap <localleader>m \mu
" autocmd Filetype tex inoremap <localleader>n \neg
autocmd Filetype tex inoremap <localleader>n \neq
autocmd Filetype tex inoremap <localleader>N \mathbb{N}
@@ -550,7 +589,8 @@ autocmd Filetype tex inoremap <localleader>ph [,phantom]
autocmd Filetype tex inoremap <localleader>q \qquad
autocmd Filetype tex inoremap <localleader>r \rightarrow
autocmd Filetype tex inoremap <localleader>R \Rightarrow
autocmd Filetype tex inoremap <localleader>s \subset
" autocmd Filetype tex inoremap <localleader>s \subset
autocmd Filetype tex inoremap <localleader>s \text{s}
autocmd Filetype tex inoremap <localleader>st such that
autocmd Filetype tex inoremap <localleader>S \Sigma
autocmd Filetype tex inoremap <localleader>t \times
@@ -583,14 +623,28 @@ autocmd Filetype fish inoremap <localleader>2 $argv[2]
autocmd Filetype javascript inoremap <localleader>x process.exit()
autocmd Filetype markdown inoremap <localleader>c - [ ]
autocmd Filetype markdown nnoremap <localleader>e 0f[lr<Space>
autocmd Filetype markdown inoremap <localleader>t TODO:
autocmd Filetype markdown vnoremap <localleader>r q:is/\[x/[ /g<Esc><CR>:set nohlsearch<CR>
autocmd Filetype markdown vnoremap <localleader>x q:is/\[ /[x/g<Esc><CR>:set nohlsearch<CR>
autocmd Filetype markdown nnoremap <localleader>x 0f[lrx
" nnoremap <localleader>x 0f[lrx
autocmd Filetype go nnoremap <localleader>f :GoTestFunc<CR>
autocmd Filetype go nnoremap <localleader>l :GoLint<CR>
autocmd Filetype go nnoremap <localleader>m :GoTests<CR>
autocmd Filetype go nnoremap <localleader>r yawq:iGoRename <Esc>p
autocmd Filetype go nnoremap <localleader>t :GoTest<CR>
autocmd Filetype go-template inoremap <localleader>e {{"{{ else }}"}}
autocmd Filetype go-template inoremap <localleader>hd {{"{{ .chezmoi.homedir }}"}}
autocmd Filetype go-template inoremap <localleader>hd {{"{{ .chezmoi.homeDir }}"}}
autocmd Filetype go-template nnoremap <localleader>fp :%s/{{"{{{"}}/[[[/g<CR>:%s/}}}/]]]/g<CR>
autocmd Filetype Jenkinsfile nnoremap <localleader>q :.s/"/'/g<CR>
autocmd Filetype Jenkinsfile vnoremap <localleader>q :s/"/'/g<CR>
autocmd Filetype python inoremap <localleader>bp breakpoint()
autocmd Filetype python inoremap <localleader>ip from pprint import pprint
autocmd Filetype python inoremap <localleader>s self.
" ]]] Local Mappings "

Some files were not shown because too many files have changed in this diff Show More