84 changed files with 4267 additions and 372 deletions
-
640aliases/key_aliases.tmpl
-
196aliases/key_dirs.tmpl
-
68aliases/key_files.tmpl
-
10dot_Xmodmap
-
7dot_Xmodmap-old
-
9dot_Xresources.tmpl
-
137dot_config/fish/completions/kogito.fish
-
1728dot_config/fish/completions/kubectl.fish
-
178dot_config/fish/completions/minikube.fish
-
133dot_config/fish/config.fish.tmpl
-
3dot_config/fish/functions/cad-to-us.fish
-
7dot_config/fish/functions/clip.fish
-
15dot_config/fish/functions/discord-burner.fish
-
3dot_config/fish/functions/dump-rarity-check.fish
-
0dot_config/fish/functions/fish_mode_prompt.fish
-
4dot_config/fish/functions/fzf-cd.fish
-
6dot_config/fish/functions/fzf-ranger.fish
-
5dot_config/fish/functions/fzf-vim.fish
-
3dot_config/fish/functions/git-log-short.fish
-
3dot_config/fish/functions/git-submodule-branch.fish
-
2dot_config/fish/functions/git/git-clone-gitea.fish
-
3dot_config/fish/functions/git/git-push-diff-name.fish
-
4dot_config/fish/functions/git/git-push-new-gitea.fish
-
6dot_config/fish/functions/git/git-replace-origin-gitea.fish
-
3dot_config/fish/functions/libreoffice-silent.fish
-
4dot_config/fish/functions/maven-test-method.fish
-
3dot_config/fish/functions/mkdir-cd.fish
-
3dot_config/fish/functions/mute-video.fish
-
3dot_config/fish/functions/pastebin.fish
-
3dot_config/fish/functions/qalc-history.fish
-
3dot_config/fish/functions/qalc-update.fish
-
3dot_config/fish/functions/readlink-cp.fish
-
13dot_config/fish/functions/refresh-config-task.fish
-
3dot_config/fish/functions/reminder.fish
-
1dot_config/fish/functions/scan-history.fish
-
7dot_config/fish/functions/scp-vid.fish
-
8dot_config/fish/functions/server-pages.fish
-
3dot_config/fish/functions/sxiv-silent.fish
-
2dot_config/fish/functions/task/task-anno.fish
-
1dot_config/fish/functions/task/task-delete.fish
-
1dot_config/fish/functions/task/task-done.fish
-
4dot_config/fish/functions/task/task-due-rm.fish
-
4dot_config/fish/functions/task/task-due.fish
-
2dot_config/fish/functions/task/task-mod-pri.fish
-
4dot_config/fish/functions/task/task-next-rm.fish
-
4dot_config/fish/functions/task/task-wait.fish
-
4dot_config/fish/functions/us-to-cad.fish
-
10dot_config/fish/functions/vpn-red-hat.fish
-
11dot_config/fish/functions/watson-add-fortnite.fish
-
11dot_config/fish/functions/watson-add-game.fish
-
161dot_config/i3/config.tmpl
-
62dot_config/i3blocks/i3blocks-secondary.conf.tmpl
-
81dot_config/i3blocks/i3blocks.conf.tmpl
-
5dot_config/i3blocks/scripts/executable_ticker
-
4dot_config/i3blocks/scripts/executable_volume
-
3dot_config/i3blocks/scripts/executable_wifi
-
14dot_config/kitty/kitty.conf
-
33dot_config/mimeapps-ffox.list
-
34dot_config/mimeapps.list
-
21dot_config/mpv/input.conf
-
2dot_config/mpv/mpv.conf
-
423dot_config/picom/picom.conf
-
1dot_config/ranger/plugins/__init__.py
-
11dot_config/ranger/rc.conf.tmpl
-
9dot_config/spotify/Users/polarbier-user/prefs.tmpl
-
11dot_gitconfig.tmpl
-
6dot_imwheelrc
-
3dot_minikube/config/config.json
-
33dot_taskrc
-
8dot_tmux.conf
-
151dot_vimrc.tmpl
-
9dot_xinitrc.tmpl
-
2private_dot_calcurse/conf
-
9scripts/executable_backup
-
3scripts/executable_dmenu-twitch
-
3scripts/executable_spotify-clean
-
101scripts/executable_ticker
-
10scripts/executable_twem
-
8scripts/executable_twitchy-game
-
1txt/exclude-dirs-backup-full.txt
-
3txt/exclude-dirs-backup.txt.tmpl
-
54txt/nzxt-all.txt
-
31txt/nzxt-aur.txt
-
33txt/nzxt-pkgs.txt
640
aliases/key_aliases.tmpl
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,7 +1,9 @@ |
|||
clear Lock |
|||
|
|||
keycode 22 = Caps_Lock |
|||
keycode 66 = BackSpace |
|||
keycode 78 = End |
|||
keycode 9 = Caps_Lock |
|||
keycode 22 = BackSpace |
|||
keycode 66 = Escape |
|||
|
|||
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 |
@ -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 |
@ -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' |
|||
|
1728
dot_config/fish/completions/kubectl.fish
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
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' |
|||
|
@ -0,0 +1,3 @@ |
|||
function cad-to-us |
|||
qalc "$argv[1]CAD to \$" |
|||
end |
@ -0,0 +1,7 @@ |
|||
function clip |
|||
if test (count $argv) -eq 3 |
|||
ffmpeg -ss $argv[1] -i $argv[2] -codec copy $argv[3] |
|||
else |
|||
ffmpeg -ss $argv[1] -to $argv[2] -i $argv[3] -codec copy $argv[4] |
|||
end |
|||
end |
@ -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 |
@ -0,0 +1,3 @@ |
|||
function dump-rarity-check |
|||
pg_dump -U rarity_check rarity_check > $argv[1].sql |
|||
end |
@ -0,0 +1,4 @@ |
|||
function fzf-cd |
|||
set dir (fd -td | fzf) |
|||
cd $dir |
|||
end |
@ -0,0 +1,6 @@ |
|||
function fzf-ranger |
|||
set dir (fd -td | fzf) |
|||
if test ! -z "$dir" |
|||
ranger $dir |
|||
end |
|||
end |
@ -1,3 +1,6 @@ |
|||
function fzf-vim |
|||
fzf | xargs $EDITOR |
|||
set file (fzf) |
|||
if test ! -z "$file" |
|||
$EDITOR $file |
|||
end |
|||
end |
@ -0,0 +1,3 @@ |
|||
function git-log-short |
|||
git log --pretty="%C(Yellow)%h %C(reset)%ad (%C(Green)%cr%C(reset))%x09 %C(Cyan)%an: %C(reset)%s" |
|||
end |
@ -0,0 +1,3 @@ |
|||
function git-submodule-branch |
|||
git submodule set-branch --branch $argv[2] -- $argv[1] |
|||
end |
@ -1,3 +1,3 @@ |
|||
function git-clone-gitea |
|||
git clone ssh://git@ataraxy.tk:399/Kevin-Mok/$argv[1].git |
|||
git clone ssh://git@kevin-mok.com:399/Kevin-Mok/$argv[1].git |
|||
end |
@ -0,0 +1,3 @@ |
|||
function git-push-diff-name |
|||
git push -f origin HEAD:$argv[1] |
|||
end |
@ -1,4 +1,4 @@ |
|||
function git-push-new-gitea |
|||
git remote add $argv[1] ssh://git@ataraxy.tk:399/Kevin-Mok/$argv[2].git |
|||
and git push --set-upstream $argv[1] master |
|||
git remote add origin ssh://git@kevin-mok.com:399/Kevin-Mok/$argv[1].git |
|||
and git push --set-upstream origin main |
|||
end |
@ -0,0 +1,6 @@ |
|||
function git-replace-origin-gitea |
|||
git remote remove origin |
|||
and git remote add origin ssh://git@kevin-mok.com:399/Kevin-Mok/$argv[1].git |
|||
and git branch --set-upstream-to=origin/master master |
|||
and git push |
|||
end |
@ -0,0 +1,3 @@ |
|||
function libreoffice-silent |
|||
libreoffice $argv[1] & |
|||
end |
@ -0,0 +1,4 @@ |
|||
function maven-test-method |
|||
mvn "-Dtest=$argv[1]#*$argv[2]*" clean test |
|||
# mvn "-Dtest=$argv[1]#*$argv[2]*" test |
|||
end |
@ -0,0 +1,3 @@ |
|||
function mkdir-cd |
|||
mkdir -p $argv[1] && cd $argv[1] |
|||
end |
@ -0,0 +1,3 @@ |
|||
function mute-video |
|||
ffmpeg -i $argv[1] -c copy -an $argv[2] |
|||
end |
@ -1,5 +1,6 @@ |
|||
function pastebin |
|||
# cat $argv[1] | curl -F 'sprunge=<-' http://sprunge.us |
|||
# set -x HASTE_SERVER https://pste.gq |
|||
cat $argv[1] | haste --raw |
|||
# cat $argv[1] | haste --raw |
|||
cat $argv[1] | haste |
|||
end |
@ -0,0 +1,3 @@ |
|||
function qalc-history |
|||
qalc $argv[1] | tee -a /home/kevin/Documents/journal/personal/calc-history.md |
|||
end |
@ -0,0 +1,3 @@ |
|||
function qalc-update |
|||
qalc -e "$argv[1]USD to CAD" |
|||
end |
@ -0,0 +1,3 @@ |
|||
function readlink-cp |
|||
readlink -f $argv[1] | xclip -selection clipboard |
|||
end |
@ -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 |
@ -0,0 +1,3 @@ |
|||
function reminder |
|||
termdown $argv[2] && notify-send $argv[1] |
|||
end |
@ -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 |
@ -0,0 +1,3 @@ |
|||
function sxiv-silent |
|||
sxiv $argv[1] & |
|||
end |
@ -1,4 +1,4 @@ |
|||
function task-anno |
|||
task $argv[1] annotate $argv[2] |
|||
task $argv[2] annotate $argv[1] |
|||
and task |
|||
end |
@ -1,5 +1,4 @@ |
|||
function task-delete |
|||
task $argv[1] delete |
|||
and task sync |
|||
and task |
|||
end |
@ -1,5 +1,4 @@ |
|||
function task-done |
|||
task $argv[1] done |
|||
and task sync |
|||
and task |
|||
end |
@ -0,0 +1,4 @@ |
|||
function task-due-rm |
|||
task $argv[1] mod due: |
|||
and task |
|||
end |
@ -0,0 +1,4 @@ |
|||
function task-due |
|||
task $argv[1] mod due:+$argv[2] |
|||
and task |
|||
end |
@ -1,4 +1,4 @@ |
|||
function task-mod-pri |
|||
task $argv[1] modify pri:$argv[2] |
|||
task $argv[2] modify pri:$argv[1] |
|||
and task |
|||
end |
@ -0,0 +1,4 @@ |
|||
function task-next-rm |
|||
task $argv[1] modify -next |
|||
and task |
|||
end |
@ -0,0 +1,4 @@ |
|||
function task-wait |
|||
task $argv[1] mod wait:+$argv[2] |
|||
and task |
|||
end |
@ -0,0 +1,4 @@ |
|||
function us-to-cad |
|||
# qalc -e "$argv[1]\$ to CAD" |
|||
qalc "$argv[1]\$ to CAD" |
|||
end |
@ -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 |
@ -0,0 +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 $start_time -t $end_time fun +fortnite |
|||
else |
|||
watson add -f $start_time -t $end_time fun +fortnite +$argv[5] |
|||
end |
|||
end |
@ -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 |
@ -0,0 +1,5 @@ |
|||
#!/bin/bash |
|||
|
|||
. "/home/kevin/.cache/wal/colors.sh" |
|||
ticker=$(~/scripts/ticker $TICKER) |
|||
printf "%s\n\n%s\n" "$ticker" "$color7" |
@ -0,0 +1,14 @@ |
|||
include ~/.cache/wal/colors-kitty.conf |
|||
# background_opacity .7 |
|||
# background_opacity .8 |
|||
# background_opacity .85 |
|||
background_opacity .9 |
|||
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 |
@ -0,0 +1,33 @@ |
|||
[Default Applications] |
|||
text/html=firefox.desktop |
|||
x-scheme-handler/http=firefox.desktop |
|||
x-scheme-handler/https=firefox.desktop |
|||
x-scheme-handler/about=chromium.desktop |
|||
x-scheme-handler/unknown=chromium.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 |
|||
|
|||
[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; |
@ -0,0 +1,34 @@ |
|||
[Default Applications] |
|||
text/html=firefox.desktop |
|||
x-scheme-handler/http=firefox.desktop |
|||
x-scheme-handler/https=firefox.desktop |
|||
x-scheme-handler/about=firefox.desktop |
|||
x-scheme-handler/unknown=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 |
|||
|
|||
[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; |
@ -1,3 +1,5 @@ |
|||
sub-auto=fuzzy |
|||
# volume=25 |
|||
# volume=75 |
|||
ytdl-format=best |
|||
ytdl-raw-options=sub-format=en,write-srt= |
@ -0,0 +1,423 @@ |
|||
# 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 = [] |
|||
|
|||
# }}} 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 # |
@ -1 +0,0 @@ |
|||
|
@ -1,3 +1,5 @@ |
|||
".*" |
|||
None, Up, Button4, 3 |
|||
None, Down, Button5, 3 |
|||
/* None, Up, Button4, 3 */ |
|||
/* None, Down, Button5, 3 */ |
|||
None, Up, Button4, 1 |
|||
None, Down, Button5, 1 |
@ -0,0 +1,3 @@ |
|||
{ |
|||
"driver": "docker" |
|||
} |
@ -0,0 +1,3 @@ |
|||
#!/bin/bash |
|||
|
|||
cat ~/Documents/twitch-emotes.md | dmenu -i | sed -z 's/\n/ /' | xclip -selection clipboard |
@ -0,0 +1,3 @@ |
|||
#!/bin/dash |
|||
|
|||
sqlite3 ~/.cache/spotify/mercury.db 'VACUUM;' && spotify |
@ -0,0 +1,101 @@ |
|||
#!/usr/bin/env bash |
|||
set -e |
|||
|
|||
LANG=C |
|||
LC_NUMERIC=C |
|||
|
|||
SYMBOLS=("$@") |
|||
|
|||
if ! $(type jq > /dev/null 2>&1); then |
|||
echo "'jq' is not in the PATH. (See: https://stedolan.github.io/jq/)" |
|||
exit 1 |
|||
fi |
|||
|
|||
if [ -z "$SYMBOLS" ]; then |
|||
echo "Usage: ./ticker.sh AAPL MSFT GOOG BTC-USD" |
|||
exit |
|||
fi |
|||
|
|||
FIELDS=(symbol marketState regularMarketPrice regularMarketChange regularMarketChangePercent \ |
|||
preMarketPrice preMarketChange preMarketChangePercent postMarketPrice postMarketChange postMarketChangePercent) |
|||
API_ENDPOINT="https://query1.finance.yahoo.com/v7/finance/quote?lang=en-US®ion=US&corsDomain=finance.yahoo.com" |
|||
|
|||
if [ -z "$NO_COLOR" ]; then |
|||
: "${COLOR_BOLD:=\e[1;37m}" |
|||
: "${COLOR_GREEN:=\e[32m}" |
|||
: "${COLOR_RED:=\e[31m}" |
|||
: "${COLOR_RESET:=\e[00m}" |
|||
fi |
|||
|
|||
symbols=$(IFS=,; echo "${SYMBOLS[*]}") |
|||
fields=$(IFS=,; echo "${FIELDS[*]}") |
|||
|
|||
results=$(curl --silent "$API_ENDPOINT&fields=$fields&symbols=$symbols" \ |
|||
| jq '.quoteResponse .result') |
|||
|
|||
query () { |
|||
echo $results | jq -r ".[] | select(.symbol == \"$1\") | .$2" |
|||
} |
|||
|
|||
for symbol in $(IFS=' '; echo "${SYMBOLS[*]}" | tr '[:lower:]' '[:upper:]'); do |
|||
marketState="$(query $symbol 'marketState')" |
|||
|
|||
if [ -z $marketState ]; then |
|||
printf 'No results for symbol "%s"\n' $symbol |
|||
continue |
|||
fi |
|||
|
|||
preMarketChange="$(query $symbol 'preMarketChange')" |
|||
postMarketChange="$(query $symbol 'postMarketChange')" |
|||
|
|||
if [ $marketState == "PRE" ] \ |
|||
&& [ $preMarketChange != "0" ] \ |
|||
&& [ $preMarketChange != "null" ]; then |
|||
nonRegularMarketSign='*' |
|||
price=$(query $symbol 'preMarketPrice') |
|||
diff=$preMarketChange |
|||
percent=$(query $symbol 'preMarketChangePercent') |
|||
elif [ $marketState != "REGULAR" ] \ |
|||
&& [ $postMarketChange != "0" ] \ |
|||
&& [ $postMarketChange != "null" ]; then |
|||
nonRegularMarketSign='*' |
|||
price=$(query $symbol 'postMarketPrice') |
|||
diff=$postMarketChange |
|||
percent=$(query $symbol 'postMarketChangePercent') |
|||
else |
|||
nonRegularMarketSign='' |
|||
price=$(query $symbol 'regularMarketPrice') |
|||
diff=$(query $symbol 'regularMarketChange') |
|||
percent=$(query $symbol 'regularMarketChangePercent') |
|||
fi |
|||
|
|||
if [ "$diff" == "0" ]; then |
|||
color= |
|||
elif ( echo "$diff" | grep -q ^- ); then |
|||
color=$COLOR_RED |
|||
else |
|||
color=$COLOR_GREEN |
|||
fi |
|||
|
|||
if [ "$price" != "null" ]; then |
|||
# printf "%-10s$COLOR_BOLD%8.2f$COLOR_RESET" $symbol $price |
|||
# printf "$color%10.2f%12s$COLOR_RESET" $diff $(printf "(%.2f%%)" $percent) |
|||
# printf " %s\n" "$nonRegularMarketSign" |
|||
# echo \$$price |
|||
# echo $price |
|||
hour=$(date +"%H") |
|||
if [[ "$symbol" == "USDCAD=X" ]]; then |
|||
printf "%0.4f\n" "$price" |
|||
elif [[ "$symbol" == "BTC-USD" || "$symbol" == "ETH-USD" ]]; then |
|||
# echo "$price" | cut -c 2-3 |
|||
echo "$price" | cut -c -3 |
|||
elif (( $(echo "$price > 10000" | bc -l) )); then |
|||
printf "%'0.0f\n" "$price" | cut -c 2-4 |
|||
# elif (( $(echo "$price < 1" | bc -l) )); then |
|||
# printf "%0.3f\n" "$price" |
|||
else |
|||
printf "%0.2f\n" "$price" | cut -c 3- |
|||
# printf "%0.2f\n" "$price" |
|||
fi |
|||
fi |
|||
done |
@ -1,7 +1,13 @@ |
|||
#!/bin/bash |
|||
#!/bin/dash |
|||
|
|||
# for i in {1..4} ; do |
|||
# xdotool key Left |
|||
# done |
|||
sleep .3 |
|||
xdotool type 'https://twem.gq/.png' |
|||
for i in {1..4} ; do |
|||
i=0 |
|||
while [ "$i" -ne 4 ] |
|||
do |
|||
xdotool key Left |
|||
i=$((i + 1)) |
|||
done |
@ -0,0 +1,8 @@ |
|||
#!/usr/bin/fish |
|||
|
|||
set TEMP_CSV /tmp/twitchy-fortnite.csv |
|||
set HEADER "Game,Channel,Viewers,Uptime,Title" |
|||
|
|||
echo $HEADER > $TEMP_CSV |
|||
twitchy --non-interactive >> $TEMP_CSV |
|||
xsv search -is1 $argv[1] $TEMP_CSV | xsv sort -NRs3 | xsv table |
Write
Preview
Loading…
Cancel
Save
Reference in new issue