84 changed files with 4267 additions and 372 deletions
			
			
		- 
					642aliases/key_aliases.tmpl
 - 
					198aliases/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
 - 
					155dot_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
 
						
							
						
						
							642
	
						
						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 | 
				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 | 
				function fzf-vim | 
			
		||||
    fzf | xargs $EDITOR | 
				 | 
			
		||||
 | 
				    set file (fzf) | 
			
		||||
 | 
				    if test ! -z "$file" | 
			
		||||
 | 
				        $EDITOR $file | 
			
		||||
 | 
				    end | 
			
		||||
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 | 
				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 | 
				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 | 
				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 | 
				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 | 
				function pastebin | 
			
		||||
    # cat $argv[1] | curl -F 'sprunge=<-' http://sprunge.us | 
				    # cat $argv[1] | curl -F 'sprunge=<-' http://sprunge.us | 
			
		||||
    # set -x HASTE_SERVER https://pste.gq | 
				    # set -x HASTE_SERVER https://pste.gq | 
			
		||||
    cat $argv[1] | haste --raw | 
				 | 
			
		||||
 | 
				    # cat $argv[1] | haste --raw | 
			
		||||
 | 
				    cat $argv[1] | haste | 
			
		||||
end | 
				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 | 
				function task-anno | 
			
		||||
    task $argv[1] annotate $argv[2] | 
				 | 
			
		||||
 | 
				    task $argv[2] annotate $argv[1] | 
			
		||||
    and task | 
				    and task | 
			
		||||
end | 
				end | 
			
		||||
@ -1,5 +1,4 @@ | 
			
		|||||
function task-delete | 
				function task-delete | 
			
		||||
    task $argv[1] delete | 
				    task $argv[1] delete | 
			
		||||
    and task sync | 
				 | 
			
		||||
    and task | 
				    and task | 
			
		||||
end | 
				end | 
			
		||||
@ -1,5 +1,4 @@ | 
			
		|||||
function task-done | 
				function task-done | 
			
		||||
    task $argv[1] done | 
				    task $argv[1] done | 
			
		||||
    and task sync | 
				 | 
			
		||||
    and task | 
				    and task | 
			
		||||
end | 
				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 | 
				function task-mod-pri | 
			
		||||
    task $argv[1] modify pri:$argv[2] | 
				 | 
			
		||||
 | 
				    task $argv[2] modify pri:$argv[1] | 
			
		||||
    and task | 
				    and task | 
			
		||||
end | 
				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 | 
				sub-auto=fuzzy | 
			
		||||
 | 
				# volume=25 | 
			
		||||
 | 
				# volume=75 | 
			
		||||
ytdl-format=best | 
				ytdl-format=best | 
			
		||||
ytdl-raw-options=sub-format=en,write-srt= | 
				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 | 
				sleep .3 | 
			
		||||
xdotool type 'https://twem.gq/.png' | 
				xdotool type 'https://twem.gq/.png' | 
			
		||||
for i in {1..4} ; do | 
				 | 
			
		||||
 | 
				i=0 | 
			
		||||
 | 
				while [ "$i" -ne 4 ] | 
			
		||||
 | 
				do | 
			
		||||
    xdotool key Left | 
				    xdotool key Left | 
			
		||||
 | 
				    i=$((i + 1)) | 
			
		||||
done | 
				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