rewrote the hlwm setup, improved fish one, added a bunch of shit, learned fish
This commit is contained in:
		
							parent
							
								
									69a5ebf098
								
							
						
					
					
						commit
						502d5ff636
					
				| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					helix/runtime
 | 
				
			||||||
| 
						 | 
					@ -854,4 +854,3 @@ key_bindings:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Print all received window events.
 | 
					  # Print all received window events.
 | 
				
			||||||
  #print_events: false
 | 
					  #print_events: false
 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
					@ -0,0 +1,27 @@
 | 
				
			||||||
 | 
					# Vertical Candidate List
 | 
				
			||||||
 | 
					Vertical Candidate List=False
 | 
				
			||||||
 | 
					# Use Per Screen DPI
 | 
				
			||||||
 | 
					PerScreenDPI=True
 | 
				
			||||||
 | 
					# Use mouse wheel to go to prev or next page
 | 
				
			||||||
 | 
					WheelForPaging=True
 | 
				
			||||||
 | 
					# Font
 | 
				
			||||||
 | 
					Font="Sans 14"
 | 
				
			||||||
 | 
					# Menu Font
 | 
				
			||||||
 | 
					MenuFont="Sans 14"
 | 
				
			||||||
 | 
					# Tray Font
 | 
				
			||||||
 | 
					TrayFont="Sans Bold 14"
 | 
				
			||||||
 | 
					# Tray Label Outline Color
 | 
				
			||||||
 | 
					TrayOutlineColor=#000000
 | 
				
			||||||
 | 
					# Tray Label Text Color
 | 
				
			||||||
 | 
					TrayTextColor=#ffffff
 | 
				
			||||||
 | 
					# Prefer Text Icon
 | 
				
			||||||
 | 
					PreferTextIcon=False
 | 
				
			||||||
 | 
					# Show Layout Name In Icon
 | 
				
			||||||
 | 
					ShowLayoutNameInIcon=True
 | 
				
			||||||
 | 
					# Use input method language to display text
 | 
				
			||||||
 | 
					UseInputMethodLangaugeToDisplayText=True
 | 
				
			||||||
 | 
					# Theme
 | 
				
			||||||
 | 
					Theme=default
 | 
				
			||||||
 | 
					# Force font DPI on Wayland
 | 
				
			||||||
 | 
					ForceWaylandDPI=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,6 +10,8 @@ SpellEnabled=True
 | 
				
			||||||
EmojiEnabled=True
 | 
					EmojiEnabled=True
 | 
				
			||||||
# Enable Chaizi
 | 
					# Enable Chaizi
 | 
				
			||||||
ChaiziEnabled=True
 | 
					ChaiziEnabled=True
 | 
				
			||||||
 | 
					# Enable Characters in Unicode CJK Extension B
 | 
				
			||||||
 | 
					ExtBEnabled=True
 | 
				
			||||||
# Enable Cloud Pinyin
 | 
					# Enable Cloud Pinyin
 | 
				
			||||||
CloudPinyinEnabled=False
 | 
					CloudPinyinEnabled=False
 | 
				
			||||||
# Cloud Pinyin Index
 | 
					# Cloud Pinyin Index
 | 
				
			||||||
| 
						 | 
					@ -24,10 +26,16 @@ PinyinInPreedit=False
 | 
				
			||||||
Prediction=False
 | 
					Prediction=False
 | 
				
			||||||
# Prediction Size
 | 
					# Prediction Size
 | 
				
			||||||
PredictionSize=10
 | 
					PredictionSize=10
 | 
				
			||||||
 | 
					# Action when switching input method
 | 
				
			||||||
 | 
					SwitchInputMethodBehavior="Commit current preedit"
 | 
				
			||||||
# Select 2nd Candidate
 | 
					# Select 2nd Candidate
 | 
				
			||||||
SecondCandidate=
 | 
					SecondCandidate=
 | 
				
			||||||
# Select 3rd Candidate
 | 
					# Select 3rd Candidate
 | 
				
			||||||
ThirdCandidate=
 | 
					ThirdCandidate=
 | 
				
			||||||
 | 
					# Use Keypad as Selection key
 | 
				
			||||||
 | 
					UseKeypadAsSelection=False
 | 
				
			||||||
 | 
					# Use BackSpace to cancel the selection
 | 
				
			||||||
 | 
					BackSpaceToUnselect=True
 | 
				
			||||||
# Number of Sentences
 | 
					# Number of Sentences
 | 
				
			||||||
Number of sentence=2
 | 
					Number of sentence=2
 | 
				
			||||||
# Prompt long word length when input length over (0 for disable)
 | 
					# Prompt long word length when input length over (0 for disable)
 | 
				
			||||||
| 
						 | 
					@ -80,7 +88,7 @@ FirstRun=False
 | 
				
			||||||
[Fuzzy]
 | 
					[Fuzzy]
 | 
				
			||||||
# ue -> ve
 | 
					# ue -> ve
 | 
				
			||||||
VE_UE=True
 | 
					VE_UE=True
 | 
				
			||||||
# gn -> ng
 | 
					# Common Typo
 | 
				
			||||||
NG_GN=True
 | 
					NG_GN=True
 | 
				
			||||||
# Inner Segment (xian -> xi'an)
 | 
					# Inner Segment (xian -> xi'an)
 | 
				
			||||||
Inner=True
 | 
					Inner=True
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					set -x BROWSER (which firefox)
 | 
				
			||||||
 | 
					set -x TERM "xterm-256color"
 | 
				
			||||||
 | 
					alias hc=herbstclient
 | 
				
			||||||
 | 
					set fish_greeting ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Local per-machine changes
 | 
				
			||||||
 | 
					source $HOME/.fishrc
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,43 @@
 | 
				
			||||||
 | 
					# This file contains fish universal variable definitions.
 | 
				
			||||||
 | 
					# VERSION: 3.0
 | 
				
			||||||
 | 
					SETUVAR __fish_initialized:3400
 | 
				
			||||||
 | 
					SETUVAR _flag_secs:1
 | 
				
			||||||
 | 
					SETUVAR fish_color_autosuggestion:555\x1ebrblack
 | 
				
			||||||
 | 
					SETUVAR fish_color_cancel:\x2dr
 | 
				
			||||||
 | 
					SETUVAR fish_color_command:blue
 | 
				
			||||||
 | 
					SETUVAR fish_color_comment:red
 | 
				
			||||||
 | 
					SETUVAR fish_color_cwd:green
 | 
				
			||||||
 | 
					SETUVAR fish_color_cwd_root:red
 | 
				
			||||||
 | 
					SETUVAR fish_color_end:green
 | 
				
			||||||
 | 
					SETUVAR fish_color_error:brred
 | 
				
			||||||
 | 
					SETUVAR fish_color_escape:brcyan
 | 
				
			||||||
 | 
					SETUVAR fish_color_history_current:\x2d\x2dbold
 | 
				
			||||||
 | 
					SETUVAR fish_color_host:normal
 | 
				
			||||||
 | 
					SETUVAR fish_color_host_remote:yellow
 | 
				
			||||||
 | 
					SETUVAR fish_color_normal:normal
 | 
				
			||||||
 | 
					SETUVAR fish_color_operator:brcyan
 | 
				
			||||||
 | 
					SETUVAR fish_color_param:cyan
 | 
				
			||||||
 | 
					SETUVAR fish_color_quote:yellow
 | 
				
			||||||
 | 
					SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
 | 
				
			||||||
 | 
					SETUVAR fish_color_search_match:\x2d\x2dbackground\x3d111
 | 
				
			||||||
 | 
					SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
 | 
				
			||||||
 | 
					SETUVAR fish_color_status:red
 | 
				
			||||||
 | 
					SETUVAR fish_color_user:brgreen
 | 
				
			||||||
 | 
					SETUVAR fish_color_valid_path:\x2d\x2dunderline
 | 
				
			||||||
 | 
					SETUVAR fish_key_bindings:fish_default_key_bindings
 | 
				
			||||||
 | 
					SETUVAR fish_pager_color_completion:normal
 | 
				
			||||||
 | 
					SETUVAR fish_pager_color_description:B3A06D\x1eyellow\x1e\x2di
 | 
				
			||||||
 | 
					SETUVAR fish_pager_color_prefix:cyan\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
 | 
				
			||||||
 | 
					SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
 | 
				
			||||||
 | 
					SETUVAR fish_pager_color_selected_background:\x2dr
 | 
				
			||||||
 | 
					SETUVAR fish_user_paths:/home/emilis/\x2ebin\x1e/home/emilis/\x2ecargo/bin\x1e/usr/local/jdk\x2d17/bin/
 | 
				
			||||||
 | 
					SETUVAR hlwm_group_active:1
 | 
				
			||||||
 | 
					SETUVAR hlwm_group_count:3
 | 
				
			||||||
 | 
					SETUVAR hlwm_mod:Mod4
 | 
				
			||||||
 | 
					SETUVAR hlwm_tags_per_group:5
 | 
				
			||||||
 | 
					SETUVAR notify_bg:\x23330033
 | 
				
			||||||
 | 
					SETUVAR notify_fg:\x23898989
 | 
				
			||||||
 | 
					SETUVAR notify_font:\x2dmisc\x2dterminessttf\x20nerd\x20font\x20mono\x2dmedium\x2d\x2a\x2d\x2a\x2d\x2a\x2d12\x2d\x2a\x2d\x2a\x2d\x2a\x2d\x2a\x2d\x2a\x2d\x2a\x2d\x2a
 | 
				
			||||||
 | 
					SETUVAR notify_padding:30
 | 
				
			||||||
 | 
					SETUVAR notify_secs:1
 | 
				
			||||||
 | 
					SETUVAR spawn_log_color:0000ff
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,35 @@
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_show_informative_status 1
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_hide_untrackedfiles 1
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_color_branch -o blue
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_showupstream "informative"
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_char_upstream_ahead "↑"
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_char_upstream_behind "↓"
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_char_upstream_prefix ""
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_char_stagedstate "●"
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_char_dirtystate "✚"
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_char_untrackedfiles "…"
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_char_conflictedstate "✖"
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_char_cleanstate "✔"
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_color_dirtystate blue
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_color_stagedstate yellow
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_color_invalidstate red
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_color_untrackedfiles $fish_color_normal
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_color_cleanstate -o green
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_color_prefix -o blue
 | 
				
			||||||
 | 
					set -g __fish_git_prompt_color_suffix -o blue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function fish_prompt
 | 
				
			||||||
 | 
					    set_color $fish_color_cwd
 | 
				
			||||||
 | 
					    echo -n \(
 | 
				
			||||||
 | 
					    set_color magenta
 | 
				
			||||||
 | 
					    echo -n \[(echo -n $USER)\] 
 | 
				
			||||||
 | 
					    set_color $fish_color_cwd
 | 
				
			||||||
 | 
					    echo -n (hostname):
 | 
				
			||||||
 | 
					    set_color cyan
 | 
				
			||||||
 | 
					    echo -n (prompt_pwd)
 | 
				
			||||||
 | 
					    set_color $fish_color_cwd
 | 
				
			||||||
 | 
					    echo -n (fish_git_prompt)
 | 
				
			||||||
 | 
					    echo -n \)
 | 
				
			||||||
 | 
					    set_color normal
 | 
				
			||||||
 | 
					    echo -n ' > '
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,33 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function parent_dir
 | 
				
			||||||
 | 
					    set -f trace (status stack-trace)
 | 
				
			||||||
 | 
					    # By index:
 | 
				
			||||||
 | 
					    # 1: in command substitution
 | 
				
			||||||
 | 
					    # 2: parent.fish line
 | 
				
			||||||
 | 
					    # 3: in function 'parent'
 | 
				
			||||||
 | 
					    # 4: caller import line
 | 
				
			||||||
 | 
					    # 5: in command substitution
 | 
				
			||||||
 | 
					    # 6: caller "parent" invokation line
 | 
				
			||||||
 | 
					    # 7: in function calling parent
 | 
				
			||||||
 | 
					    # 8: jackpot! here's the parent of the caller
 | 
				
			||||||
 | 
					    set -f parent_line $trace[8]
 | 
				
			||||||
 | 
					    set -f parent_split (string split 'of file' $parent_line)
 | 
				
			||||||
 | 
					    set -f parent (string trim $parent_split[2])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # qualify ~
 | 
				
			||||||
 | 
					    set -f parent (string replace '~' "$HOME" $parent)
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    # Qualify the path to absolute and remove the filename
 | 
				
			||||||
 | 
					    set -f parent_dir (realpath $parent)
 | 
				
			||||||
 | 
					    set -f parent (string join '/' (string split '/' $parent_dir)[1..-2])
 | 
				
			||||||
 | 
					    echo $parent
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function import
 | 
				
			||||||
 | 
					    set -f self_directory (parent_dir)
 | 
				
			||||||
 | 
					    if set -q debug;
 | 
				
			||||||
 | 
					        echo "importing $argv.fish from [$self_directory]"
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					    source $self_directory/"$argv.fish"
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Helper script to initialize fish scripts
 | 
				
			||||||
 | 
					function initscript
 | 
				
			||||||
 | 
					    set -f file "$argv.fish"
 | 
				
			||||||
 | 
					    echo "#!/usr/bin/env fish" >> "$file"
 | 
				
			||||||
 | 
					    chmod +x "$file"
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					function mkcd
 | 
				
			||||||
 | 
						mkdir $argv; and cd $argv
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					function prompt_pwd --description 'Print the current working directory, NOT shortened to fit the prompt'
 | 
				
			||||||
 | 
					    if test "$PWD" != "$HOME"
 | 
				
			||||||
 | 
					        printf "%s" (echo $PWD|sed -e 's|/private||' -e "s|^$HOME|~|")
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        echo '~'
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					[editor]
 | 
				
			||||||
 | 
					auto-save = true
 | 
				
			||||||
 | 
					auto-completion = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[editor.statusline]
 | 
				
			||||||
 | 
					#left = ["mode", "spinner"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[editor.lsp]
 | 
				
			||||||
 | 
					display-messages = true
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,5 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pushd /home/emilis/.config/herbstluftwm
 | 
					pushd /home/emilis/.config/herbstluftwm
 | 
				
			||||||
echo starting fish script
 | 
					echo starting fish script
 | 
				
			||||||
echo (pwd)
 | 
					fish ./autostart.fish
 | 
				
			||||||
./autostart.fish
 | 
					 | 
				
			||||||
popd
 | 
					popd
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,19 +1,41 @@
 | 
				
			||||||
#!/usr/local/bin/fish
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					import fish_functions/log
 | 
				
			||||||
 | 
					import fish_functions/set_default
 | 
				
			||||||
 | 
					import fish_functions/notify
 | 
				
			||||||
 | 
					import fish_functions/restart_svcs
 | 
				
			||||||
 | 
					import fish_functions/group
 | 
				
			||||||
 | 
					
 | 
				
			||||||
alias hc=herbstclient
 | 
					alias hc=herbstclient
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -g THIS_PATH (pwd)
 | 
				
			||||||
 | 
					log "starting in $THIS_PATH"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# default font if not set
 | 
				
			||||||
 | 
					set_default hlwm_font "-*-fixed-medium-*-*-*-12-*-*-*-*-*-*-*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
hc emit_hook reload
 | 
					hc emit_hook reload
 | 
				
			||||||
xsetroot -solid black
 | 
					if command -sq "xsetroot";
 | 
				
			||||||
 | 
						xsetroot -solid black
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
hc keyunbind --all
 | 
					hc keyunbind --all
 | 
				
			||||||
 | 
					groups_reset
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# set -l Mod Mod1 # alt
 | 
					# set -l Mod Mod1 # alt
 | 
				
			||||||
set -g Mod Mod4
 | 
					set -g Mod Mod4
 | 
				
			||||||
set -g AltMod Mod1
 | 
					set -g AltMod Mod1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -u hlwm_mod $Mod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function key
 | 
				
			||||||
 | 
						log "Registering $Mod-$argv[1] to [$argv[2..]]"
 | 
				
			||||||
 | 
						hc keybind $Mod-$argv[1] $argv[2..]
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
hc keybind $Mod-Shift-r reload
 | 
					hc keybind $Mod-Shift-r reload
 | 
				
			||||||
hc keybind $Mod-Shift-c close
 | 
					hc keybind $Mod-Shift-c close
 | 
				
			||||||
hc keybind $Mod-s spawn "flameshot" gui
 | 
					hc keybind $Mod-s spawn "flameshot" gui
 | 
				
			||||||
hc keybind $Mod-Return spawn "dmenu_run"
 | 
					hc keybind $Mod-Return spawn "dmenu_run"
 | 
				
			||||||
hc keybind $Mod-Delete spawn "alacritty"
 | 
					hc keybind $Mod-Home spawn "alacritty"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# basic movement in tiling and floating mode
 | 
					# basic movement in tiling and floating mode
 | 
				
			||||||
# focusing clients
 | 
					# focusing clients
 | 
				
			||||||
| 
						 | 
					@ -21,17 +43,15 @@ hc keybind $Mod-Left  focus left
 | 
				
			||||||
hc keybind $Mod-Down  focus down
 | 
					hc keybind $Mod-Down  focus down
 | 
				
			||||||
hc keybind $Mod-Up    focus up
 | 
					hc keybind $Mod-Up    focus up
 | 
				
			||||||
hc keybind $Mod-Right focus right
 | 
					hc keybind $Mod-Right focus right
 | 
				
			||||||
hc keybind $Mod-h     focus left
 | 
					 | 
				
			||||||
hc keybind $Mod-j     focus down
 | 
					 | 
				
			||||||
hc keybind $Mod-k     focus up
 | 
					 | 
				
			||||||
hc keybind $Mod-l     focus right
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Move frames
 | 
					# Move frames
 | 
				
			||||||
hc keybind $Mod-Shift-Right shift right
 | 
					hc keybind $Mod-Shift-Right shift right
 | 
				
			||||||
hc keybind $Mod-Shift-Left shift left
 | 
					hc keybind $Mod-Shift-Left shift left
 | 
				
			||||||
 | 
					hc keybind $Mod-Shift-Up shift up
 | 
				
			||||||
 | 
					hc keybind $Mod-Shift-Down shift down
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# frames
 | 
					# frames
 | 
				
			||||||
#hc keybind $Mod-u       split   bottom  0.5
 | 
					hc keybind $Mod-u       split   bottom  0.5
 | 
				
			||||||
hc keybind $Mod-o       split   right   0.5
 | 
					hc keybind $Mod-o       split   right   0.5
 | 
				
			||||||
hc keybind $Mod-r	remove
 | 
					hc keybind $Mod-r	remove
 | 
				
			||||||
hc keybind $Mod-f	fullscreen toggle
 | 
					hc keybind $Mod-f	fullscreen toggle
 | 
				
			||||||
| 
						 | 
					@ -44,24 +64,37 @@ hc keybind $Mod-Control-Down    resize down +$resize_step
 | 
				
			||||||
hc keybind $Mod-Control-Up      resize up +$resize_step
 | 
					hc keybind $Mod-Control-Up      resize up +$resize_step
 | 
				
			||||||
hc keybind $Mod-Control-Right   resize right +$resize_step
 | 
					hc keybind $Mod-Control-Right   resize right +$resize_step
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set -l tag_names 1 2 3 4
 | 
					set_default -u hlwm_tags_per_group 5
 | 
				
			||||||
set -l secondary_tags 1 2 3 4
 | 
					set_default -u hlwm_group_count 3
 | 
				
			||||||
hc rename default "$tag_names[1]" || true
 | 
					log "registering $hlwm_group_count groups, with $hlwm_tags_per_group tags per"
 | 
				
			||||||
for tag in $tag_names
 | 
					set -l tag_indexes (seq $hlwm_tags_per_group)
 | 
				
			||||||
	hc add "$tag"
 | 
					
 | 
				
			||||||
	hc keybind $Mod-$tag use_index (math $tag-1)
 | 
					hc silent rename default $tag_indexes[1]
 | 
				
			||||||
	hc keybind $Mod-Shift-$tag move_index (math $tag-1)
 | 
					for group_num in (seq $hlwm_group_count)
 | 
				
			||||||
end
 | 
						for tag_index in $tag_indexes
 | 
				
			||||||
for tag in $secondary_tags
 | 
							set -l tag (math $tag_index + '(('$group_num -1')' x $hlwm_tags_per_group ')')
 | 
				
			||||||
	set -l actual_tag (math $tag+$tag_names[-1])
 | 
							log "adding tag <$tag>"
 | 
				
			||||||
	set -l actual_index (math $actual_tag-1)
 | 
							hc add "$tag"
 | 
				
			||||||
	hc add "$actual_tag"
 | 
						end
 | 
				
			||||||
	hc keybind $AltMod-$tag use_index $actual_index
 | 
					 | 
				
			||||||
	hc keybind $AltMod-Shift-$tag move_index $actual_index
 | 
					 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					group_set_keybinds
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# set -l rename_result (hc rename default "$tag_names[1]")
 | 
				
			||||||
 | 
					# for tag in $tag_names
 | 
				
			||||||
 | 
					# 	hc add "$tag"
 | 
				
			||||||
 | 
					# 	hc keybind $Mod-$tag use_index (math $tag-1)
 | 
				
			||||||
 | 
					# 	hc keybind $Mod-Shift-$tag move_index (math $tag-1)
 | 
				
			||||||
 | 
					# end
 | 
				
			||||||
 | 
					# for tag in $secondary_tags
 | 
				
			||||||
 | 
					# 	set -l actual_tag (math $tag+$tag_names[-1])
 | 
				
			||||||
 | 
					# 	set -l actual_index (math $actual_tag-1)
 | 
				
			||||||
 | 
					# 	hc add "$actual_tag"
 | 
				
			||||||
 | 
					# 	hc keybind $AltMod-$tag use_index $actual_index
 | 
				
			||||||
 | 
					# 	hc keybind $AltMod-Shift-$tag move_index $actual_index
 | 
				
			||||||
 | 
					# end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# focus
 | 
					# focus
 | 
				
			||||||
hc keybind $Mod-Tab cycle_all +1
 | 
					hc keybind $Mod-Tab cycle
 | 
				
			||||||
hc keybind $Mod-i jumpto urgent
 | 
					hc keybind $Mod-i jumpto urgent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# mus
 | 
					# mus
 | 
				
			||||||
| 
						 | 
					@ -74,6 +107,7 @@ hc mousebind $Mod-Button3 resize
 | 
				
			||||||
#          Theming          #
 | 
					#          Theming          #
 | 
				
			||||||
#############################
 | 
					#############################
 | 
				
			||||||
set -l ACTIVE "#800080"
 | 
					set -l ACTIVE "#800080"
 | 
				
			||||||
 | 
					# TODO: Consider 6600ff for active
 | 
				
			||||||
set -l NORMAL "#330033"
 | 
					set -l NORMAL "#330033"
 | 
				
			||||||
set -l URGENT "#7811A1"
 | 
					set -l URGENT "#7811A1"
 | 
				
			||||||
alias hcs="hc set"
 | 
					alias hcs="hc set"
 | 
				
			||||||
| 
						 | 
					@ -165,11 +199,35 @@ hc unlock
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Start services
 | 
					# Start services
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo 'Starting services'
 | 
					log 'Starting services'
 | 
				
			||||||
./start_svcs.fish
 | 
					restart_svcs "fcitx5"
 | 
				
			||||||
echo 'Services start script complete'
 | 
					log 'Services start done'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# For now, still use bash panel.sh
 | 
					function keybind_fn
 | 
				
			||||||
for monitor in (hc list_monitors | cut -d: -f1)
 | 
						argparse -i 'direct=' -- $argv
 | 
				
			||||||
	bash ./panel.sh "$monitor" &
 | 
						set -f script_name "fn_caller"
 | 
				
			||||||
 | 
						if set -q _flag_direct
 | 
				
			||||||
 | 
							set -f script_name $_flag_direct
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
						key $argv[1] try spawn (printf "fish\n%s" "$THIS_PATH/fish_cmds/$script_name.fish") $argv[2]
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					log "Registering custom command binds"
 | 
				
			||||||
 | 
					keybind_fn i "toggle_idle_screen"
 | 
				
			||||||
 | 
					keybind_fn --direct="toggle_group" "Shift-Tab"
 | 
				
			||||||
 | 
					log "Custom commands bound"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -l monitors (hc list_monitors | cut -d: -f1)
 | 
				
			||||||
 | 
					if not set -q hlwm_skip_panel
 | 
				
			||||||
 | 
						# For now, still use bash panel.sh
 | 
				
			||||||
 | 
						for monitor in $monitors
 | 
				
			||||||
 | 
							bash ./panel.sh "$monitor" &
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						# undo all the padding
 | 
				
			||||||
 | 
						for monitor in $monitors;
 | 
				
			||||||
 | 
							hc pad $monitor 0
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
						notify skipping panel
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					import ../fish_functions/log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set_default spawn_log_color "0000ff"
 | 
				
			||||||
 | 
					log -c $spawn_log_color "trying to spawn $argv[1] with args: <$argv[2..]>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import ../fish_functions/$argv[1]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$argv[1] $argv[2..]
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					import ../fish_functions/group
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					group_switch
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					set -g FISH_CMDS_PATH $HOME/.config/herbstluftwm/fish_cmds
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# cmd_string returns the shell command to invoke
 | 
				
			||||||
 | 
					# the fish_cmds file title given to it as an argument
 | 
				
			||||||
 | 
					function cmd_string
 | 
				
			||||||
 | 
					    set -f FISH_PATH (status fish-path)
 | 
				
			||||||
 | 
					    printf "$FISH_PATH\n$FISH_CMDS_PATH/$argv.fish"
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,13 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function hlwm_active
 | 
				
			||||||
 | 
					    echo (herbstclient attr theme.active.color)
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function hlwm_normal
 | 
				
			||||||
 | 
					    echo (herbstclient attr theme.normal.color)
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function hlwm_text
 | 
				
			||||||
 | 
					    echo (herbstclient attr theme.normal.title_color)
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,41 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env
 | 
				
			||||||
 | 
					import notify
 | 
				
			||||||
 | 
					import log
 | 
				
			||||||
 | 
					import set_default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias hc=herbstclient
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -g tag_color "ff99cc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function groups_reset
 | 
				
			||||||
 | 
					    set -e hlwm_group_active
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function group_switch
 | 
				
			||||||
 | 
					    set -f current $hlwm_group_active
 | 
				
			||||||
 | 
					    if not set -q hlwm_group_active
 | 
				
			||||||
 | 
					        set -U hlwm_group_active 2 
 | 
				
			||||||
 | 
					    else if test $hlwm_group_active -eq $hlwm_group_count
 | 
				
			||||||
 | 
					        set -U hlwm_group_active 1
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        set -U hlwm_group_active (math $hlwm_group_active + 1)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					    log -c $tag_color "group $current -> $hlwm_group_active" 
 | 
				
			||||||
 | 
					    group_set_keybinds
 | 
				
			||||||
 | 
					    notify "Group $hlwm_group_active"
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# group_set_keybinds sets the keybinds to the given tab group
 | 
				
			||||||
 | 
					function group_set_keybinds 
 | 
				
			||||||
 | 
					    set_default hlwm_mod Mod4
 | 
				
			||||||
 | 
					    log "group_set_keybinds: $hlwm_group_active"
 | 
				
			||||||
 | 
					    if not set -q hlwm_group_active;
 | 
				
			||||||
 | 
					        set -U hlwm_group_active 1
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					    set -l offset (math (math $hlwm_group_active-1) x $hlwm_tags_per_group)
 | 
				
			||||||
 | 
					    for tag in (seq $hlwm_tags_per_group)
 | 
				
			||||||
 | 
					        set -l actual_tag (math $tag + $offset)
 | 
				
			||||||
 | 
					        hc keybind $hlwm_mod-$tag use_index (math $actual_tag-1)
 | 
				
			||||||
 | 
					        hc keybind $hlwm_mod-Shift-$tag move_index (math $actual_tag-1)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,20 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					import parent
 | 
				
			||||||
 | 
					import set_default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# calls logger with a specific color
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# examples:
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# log "hello there"
 | 
				
			||||||
 | 
					# log -c magenta "im berry"
 | 
				
			||||||
 | 
					# log --color cc00cc "just like the blueberries"
 | 
				
			||||||
 | 
					function log
 | 
				
			||||||
 | 
					    set -f log_name (parent)
 | 
				
			||||||
 | 
					    argparse 'c/color=' -- $argv
 | 
				
			||||||
 | 
					    if not set -q _flag_color;
 | 
				
			||||||
 | 
					        set -g _flag_color green
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    echo -s "[ " (set_color $_flag_color) $log_name (set_color normal) " ]: $argv" 1>&2
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					import colors
 | 
				
			||||||
 | 
					import set_default
 | 
				
			||||||
 | 
					import log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set_default notify_fg (hlwm_text)
 | 
				
			||||||
 | 
					set_default notify_bg (hlwm_normal)
 | 
				
			||||||
 | 
					set_default notify_font $hlwm_font
 | 
				
			||||||
 | 
					set_default notify_padding 30
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function notify
 | 
				
			||||||
 | 
					    argparse -i 'secs=!_validate_int --min 1' -- $argv
 | 
				
			||||||
 | 
					    set_default _flag_secs 1
 | 
				
			||||||
 | 
					    set -f text_width (textwidth "$notify_font" "$argv")
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    echo "$argv" |                                  \
 | 
				
			||||||
 | 
					        dzen2                                       \
 | 
				
			||||||
 | 
					            -p $_flag_secs                          \
 | 
				
			||||||
 | 
					            -fg $notify_fg                          \
 | 
				
			||||||
 | 
					            -bg $notify_bg                          \
 | 
				
			||||||
 | 
					            -fn $notify_font                        \
 | 
				
			||||||
 | 
					            -ta 'c'                                 \
 | 
				
			||||||
 | 
					            -w (math $text_width + $notify_padding) \
 | 
				
			||||||
 | 
					            -h 16
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,27 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# parent prints the parent script's filename
 | 
				
			||||||
 | 
					function parent
 | 
				
			||||||
 | 
					    set -f trace (status stack-trace)
 | 
				
			||||||
 | 
					    # By index:
 | 
				
			||||||
 | 
					    # 1: in command substitution
 | 
				
			||||||
 | 
					    # 2: parent.fish line
 | 
				
			||||||
 | 
					    # 3: in function 'parent'
 | 
				
			||||||
 | 
					    # 4: caller import line
 | 
				
			||||||
 | 
					    # 5: in command substitution
 | 
				
			||||||
 | 
					    # 6: caller "parent" invokation line
 | 
				
			||||||
 | 
					    # 7: in function calling parent
 | 
				
			||||||
 | 
					    # 8: jackpot! here's the parent of the caller
 | 
				
			||||||
 | 
					    set -f parent_line $trace[8]
 | 
				
			||||||
 | 
					    set -f parent_split (string split 'of file' $parent_line)
 | 
				
			||||||
 | 
					    set -f parent (string trim $parent_split[2])
 | 
				
			||||||
 | 
					    # Clean up the parent a lil bit
 | 
				
			||||||
 | 
					    set -f parent (realpath (string replace '~' "$HOME" $parent))
 | 
				
			||||||
 | 
					    set -f parent_parts (string split '/' $parent)
 | 
				
			||||||
 | 
					    set -f parent (string join '/' $parent_parts[-1])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # remove .fish suffix
 | 
				
			||||||
 | 
					    set -f parent (string replace '.fish' '' $parent)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo $parent
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,17 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					import log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias hc=herbstclient
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function restart_svcs
 | 
				
			||||||
 | 
						for cmd in $argv
 | 
				
			||||||
 | 
							if not command -sq "$cmd"; 
 | 
				
			||||||
 | 
								log -c yellow "command [$cmd] not found, skipping..."
 | 
				
			||||||
 | 
								continue
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
							log -c red "killing [$cmd]"
 | 
				
			||||||
 | 
							pkill -9 $cmd
 | 
				
			||||||
 | 
							log -c magenta "starting [$cmd]"
 | 
				
			||||||
 | 
							hc silent spawn "$cmd"
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# set_default sets a variable with
 | 
				
			||||||
 | 
					# global scope (-g), if it is not already set
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Examples:
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# set EXAMPLE_1 "hello"
 | 
				
			||||||
 | 
					# set_default EXAMPLE_1 "world"
 | 
				
			||||||
 | 
					# echo $EXAMPLE_1 # "hello"
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# set_default EXAMPLE_2 "world"
 | 
				
			||||||
 | 
					# echo $EXAMPLE_2 # "world"
 | 
				
			||||||
 | 
					function set_default
 | 
				
			||||||
 | 
					    argparse -i 'u/universal' -- $argv
 | 
				
			||||||
 | 
					    if not set -q $argv[1];
 | 
				
			||||||
 | 
					        if set _flag_universal
 | 
				
			||||||
 | 
					            echo "set -U $argv[1] $argv[2..]"
 | 
				
			||||||
 | 
					            set -U $argv[1] $argv[2..]
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					            echo "set -g $argv[1] $argv[2..]"
 | 
				
			||||||
 | 
					            set -g $argv[1] $argv[2..]
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					import notify
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function toggle_idle_screen
 | 
				
			||||||
 | 
						if xset q | rg "DPMS is Enabled"
 | 
				
			||||||
 | 
							# Disable
 | 
				
			||||||
 | 
							xset -dpms
 | 
				
			||||||
 | 
							notify "screen idle off"
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							# Enable
 | 
				
			||||||
 | 
						 	xset +dpms
 | 
				
			||||||
 | 
							notify "screen idle on"
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -24,7 +24,7 @@ x=${geometry[0]}
 | 
				
			||||||
y=${geometry[1]}
 | 
					y=${geometry[1]}
 | 
				
			||||||
panel_width=${geometry[2]}
 | 
					panel_width=${geometry[2]}
 | 
				
			||||||
panel_height=16
 | 
					panel_height=16
 | 
				
			||||||
font="-*-fixed-medium-*-*-*-12-*-*-*-*-*-*-*"
 | 
					font="${hlwm_font:=-*-fixed-medium-*-*-*-12-*-*-*-*-*-*-*}"
 | 
				
			||||||
# extract colors from hlwm and omit alpha-value
 | 
					# extract colors from hlwm and omit alpha-value
 | 
				
			||||||
bgcolor=$(hc get frame_border_normal_color|sed 's,^\(\#[0-9a-f]\{6\}\)[0-9a-f]\{2\}$,\1,')
 | 
					bgcolor=$(hc get frame_border_normal_color|sed 's,^\(\#[0-9a-f]\{6\}\)[0-9a-f]\{2\}$,\1,')
 | 
				
			||||||
selbg=$(hc get window_border_active_color|sed 's,^\(\#[0-9a-f]\{6\}\)[0-9a-f]\{2\}$,\1,')
 | 
					selbg=$(hc get window_border_active_color|sed 's,^\(\#[0-9a-f]\{6\}\)[0-9a-f]\{2\}$,\1,')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,16 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					installdir=/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
 | 
				
			||||||
 | 
					defaultpanel="$XDG_CONFIG_HOME/herbstluftwm/panel.sh"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ -x "$defaultpanel" ] || defaultpanel="$installdir/etc/xdg/herbstluftwm/panel.sh"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					panelcmd="${1:-$defaultpanel}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					herbstclient emit_hook quit_panel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for i in $(herbstclient list_monitors | cut -d':' -f1) ; do
 | 
				
			||||||
 | 
					    "$panelcmd" $i &
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
| 
						 | 
					@ -1,9 +0,0 @@
 | 
				
			||||||
#!/usr/local/bin/fish
 | 
					 | 
				
			||||||
set -l cmds "fcitx5"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
for cmd in $cmds
 | 
					 | 
				
			||||||
	echo "[ $cmd ] killing existing"
 | 
					 | 
				
			||||||
	pkill -9 $cmd
 | 
					 | 
				
			||||||
	echo "[ $cmd ] starting..."
 | 
					 | 
				
			||||||
	$cmd &
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env fish
 | 
				
			||||||
 | 
					set -l me (status dirname)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -l config_dir "$HOME/.config"
 | 
				
			||||||
 | 
					if not test -e $config_dir
 | 
				
			||||||
 | 
					    mkdir $HOME/.config
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					    # Move over helix/runtime here first (before deletion)
 | 
				
			||||||
 | 
					    if test -e $config_dir/helix/runtime
 | 
				
			||||||
 | 
					        if not test -e $config_dir/helix/runtime
 | 
				
			||||||
 | 
					            mv "$config_dir/helix/runtime" "$me/helix/"
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					for directory in */
 | 
				
			||||||
 | 
					    if test -L (string sub -e -1 $config_dir/$directory)
 | 
				
			||||||
 | 
					        echo "already have a simlink for <$(string sub -e -1 $directory)>"
 | 
				
			||||||
 | 
					        continue
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        echo "removing <$directory>"
 | 
				
			||||||
 | 
					        rm -rf "$config_dir/$directory"
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					    ln -s "$(pwd)/$directory" "$HOME/.config/"
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue