Moved arch to its own subdirectory
This commit is contained in:
		
							parent
							
								
									7cefa8efec
								
							
						
					
					
						commit
						f47802351e
					
				
					 70 changed files with 0 additions and 0 deletions
				
			
		
							
								
								
									
										26
									
								
								arch/stow/_scripts/.scripts/cleandependencies.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										26
									
								
								arch/stow/_scripts/.scripts/cleandependencies.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| #!/usr/bin/env bash | ||||
| # Remove unused dependencies that are not explicitly installed | ||||
| # Usage: [sudo] cleandependencies | ||||
| 
 | ||||
| # Retrieve a list of all packages that are not explicitly installed and are not needed by anything else. | ||||
| # Note that optional dependencies also do not get removed. | ||||
| # function getList () { | ||||
| # grep "Name\|Required By\|Optional For\|Install Reason" <<< $(pacman -Qi) |  | ||||
| # 	tr '\n' ';' | sed "s/$/\n/" | | ||||
| # 	sed "s/  */ /g" |  | ||||
| # 	sed "s/Name/\nName/g" |  | ||||
| # 	sed "s/\(Name\|Required By\|Optional For\|Install Reason\) : //g" |  | ||||
| #	grep "Installed as a dependency for another package" | | ||||
| #	grep "^[^;]*;None;None" |  | ||||
| #	cut -f 1 -d ';' | ||||
| # } ; export -f getList | ||||
| 
 | ||||
| current_amount=$(pacman -Qdtq | wc -l) | ||||
| # Keep looping while there are unusded dependencies.  | ||||
| # Stop when the next amount is the same, probably because the action was canceled. | ||||
| while [[ ${current_amount} -ne 0 && ${current_amount} -ne ${previous_amount:=0} ]] ; do | ||||
| 	previous_amount=${current_amount} | ||||
| 	pacman -R $(pacman -Qdtq) | ||||
| 	current_amount=$(pacman -Qdtq | wc -l) | ||||
| done | ||||
| 
 | ||||
							
								
								
									
										22
									
								
								arch/stow/_scripts/.scripts/dnd.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								arch/stow/_scripts/.scripts/dnd.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,22 @@ | |||
| #!/usr/bin/env bash | ||||
| # Script to toggle Do not disturb mode for mako and dunst | ||||
| 
 | ||||
| # Permanent memory | ||||
| saved_state=0 | ||||
| 
 | ||||
| # Toggle | ||||
| if [[ ${saved_state} -eq 0 ]] ; then  | ||||
|     ~/.scripts/notify.sh 'Hiding notifications' | ||||
|     sleep 5 | ||||
|     makoctl set-mode do-not-disturb | ||||
|     dunstctl set-paused true | ||||
| else  | ||||
|     makoctl set-mode default | ||||
|     dunstctl set-paused false | ||||
|     ~/.scripts/notify.sh 'Showing notifications' | ||||
| fi | ||||
| 
 | ||||
| # Update status in file | ||||
| new_state=$(( (${saved_state} + 1) % 2 )) | ||||
| sed -i "s/^saved_state=.*$/saved_state=${new_state}/" "${0}" | ||||
| 
 | ||||
							
								
								
									
										16
									
								
								arch/stow/_scripts/.scripts/focus.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										16
									
								
								arch/stow/_scripts/.scripts/focus.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| #!/usr/bin/env bash | ||||
| # Script to toggle black background to focus on sway | ||||
| 
 | ||||
| # Get instances of swaybg, except for the 'standard' one. | ||||
| list=$( pgrep swaybg | head -n -1 ) | ||||
| 
 | ||||
| if [ -z "${list}" ] ; then  | ||||
|     swaybg --mode=solid_color --color=#000000 & | ||||
|     # Give the previous command some time to execute | ||||
|     sleep .1 | ||||
|     swaymsg reload | ||||
| else | ||||
|     # Clean up if already running | ||||
|     kill $( tr ' ' '\n' <<< ${list} ) | ||||
| fi | ||||
| 
 | ||||
							
								
								
									
										19
									
								
								arch/stow/_scripts/.scripts/idle.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										19
									
								
								arch/stow/_scripts/.scripts/idle.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| #!/usr/bin/env bash | ||||
| # Configuration of swayidle | ||||
| # Just run the script | ||||
| 
 | ||||
| # Kill previous instances to avoid clashing | ||||
| pkill swayidle | ||||
| 
 | ||||
| swayidle -w \ | ||||
|     timeout 600 \ | ||||
|         'swaymsg "output * dpms off"' \ | ||||
|         resume 'swaymsg "output * dpms on"' \ | ||||
|     timeout 1200 \ | ||||
|         'systemctl suspend' \ | ||||
|     before-sleep 'swaymsg "output * dpms on"; swaylock' | ||||
|     # Screen needs to be turned back on or you will get a black screen after waking up again.  | ||||
| 
 | ||||
| #    timeout 300 \ | ||||
| #        "~/.scripts/wander.sh" \ | ||||
| #        resume 'brightnessctl -r' \ | ||||
							
								
								
									
										71
									
								
								arch/stow/_scripts/.scripts/notify.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										71
									
								
								arch/stow/_scripts/.scripts/notify.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,71 @@ | |||
| #!/usr/bin/env bash | ||||
| # Show system status in notification, or your own message | ||||
| # Syntaxis: notify [-vb] [-t <timeout>] [-p <value>] [<title> <message>] | ||||
| 
 | ||||
| # Requirements:  | ||||
| # - brightnessctl | ||||
| 
 | ||||
| panic () { | ||||
|     >&2 echo "Syntaxis: notify [-vb] [-t <timeout>] [-p <value>] [<title> <message>]" | ||||
|     exit 1 | ||||
| } | ||||
| 
 | ||||
| # Get options | ||||
| while getopts ":bvt:p:" options; do | ||||
| 	case "${options}" in  | ||||
| 		b) 	 | ||||
| 			value=$( brightnessctl | grep -o "[0-9]*%" | tr -d '%' ) | ||||
| 			title="Brightness: ${value}%" | ||||
|             category='sysinfo' | ||||
| 			;; | ||||
| 		v) | ||||
|             # Get volume (don't use pamixer because that is way slower) | ||||
|             value=$( pactl get-sink-volume @DEFAULT_SINK@ \ | ||||
|                 | cut -d '/' -f2 \ | ||||
|                 | grep -o '[0-9]*%' \ | ||||
|                 | tr -d '%' ) | ||||
|             title="Volume: ${value}%" | ||||
|             category='sysinfo' | ||||
| 
 | ||||
|             # If audio disabled, set value to zero. | ||||
|             if [ "$( pactl get-sink-mute @DEFAULT_SINK@ )" == "Mute: yes" ] ; then  | ||||
|                 title="Volume: ${value}% (Disabled)" | ||||
|                 value=0 | ||||
|             fi | ||||
| 			;; | ||||
|         t)   | ||||
|             timeout="${OPTARG}" | ||||
|             ;; | ||||
|         p) | ||||
|             value="${OPTARG}" | ||||
|             ;; | ||||
| 		*)	 | ||||
|             panic | ||||
| 			;; | ||||
| 	esac | ||||
| done | ||||
| 
 | ||||
| shift $((OPTIND - 1)) | ||||
| 
 | ||||
| # Check arguments | ||||
| if [ $# -gt 2 ] ; then  | ||||
|     panic | ||||
| elif [ $# -gt 0 ] ; then | ||||
|     title="${1}" | ||||
|     message="${2:-}" | ||||
| fi | ||||
| 
 | ||||
| # Build command string | ||||
| arguments="" | ||||
| if [[ ! -z "${category}" ]] ; then  | ||||
|     arguments+=" -c ${category}" | ||||
| fi | ||||
| if [[ ! -z "${timeout}" ]] ; then  | ||||
|     arguments+=" -t ${timeout}" | ||||
| fi | ||||
| if [[ ! -z "${value}" ]] ; then  | ||||
|     arguments+=" -h int:value:${value}" | ||||
| fi | ||||
| 
 | ||||
| notify-send "${title}" "${message}" ${arguments} | ||||
| 
 | ||||
							
								
								
									
										9
									
								
								arch/stow/_scripts/.scripts/wander.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								arch/stow/_scripts/.scripts/wander.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,9 @@ | |||
| #!/usr/bin/env bash | ||||
| # Toggle brightness to 'sleep' or 'awake', since brightnessctl does not support  | ||||
| # percentages of current amount. | ||||
| # Just run the script | ||||
| 
 | ||||
| current=$( brightnessctl get ) | ||||
| # Doesn't have to be accurate so we can use built-in calculator. | ||||
| brightnessctl -sq set $(( current / 10 * 3 )) | ||||
| 
 | ||||
							
								
								
									
										15
									
								
								arch/stow/_scripts/.scripts/wlsunset.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								arch/stow/_scripts/.scripts/wlsunset.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| #!/usr/bin/env bash | ||||
| # Script to disable for an hour or immediately continue wlsunset. 'Toggle' | ||||
| 
 | ||||
| # Check if wlsunset is still running | ||||
| pid=$(pgrep wlsunset) | ||||
| 
 | ||||
| if [[ -z ${pid} ]] ; then  | ||||
|         # Start wlsunset right away. | ||||
|         wlsunset -l 50 -L 4 -t 2500 & | ||||
| else | ||||
|         # Currently stop wlsunset but restart in an hour.  | ||||
|         kill ${pid} | ||||
|         ~/.scripts/notify.sh 'Stopping sunset' 'Restarting in an hour' | ||||
|         at now +1 hours -f ~/.scripts/wlsunset.sh | ||||
| fi | ||||
							
								
								
									
										929
									
								
								arch/stow/alacritty/.config/alacritty/alacritty.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										929
									
								
								arch/stow/alacritty/.config/alacritty/alacritty.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,929 @@ | |||
| # | ||||
| # ~/.config/alacritty/alacritty.yml | ||||
| # edited | ||||
| # | ||||
| 
 | ||||
| # Configuration for Alacritty, the GPU enhanced terminal emulator. | ||||
| 
 | ||||
| # Import additional configuration files | ||||
| #  - /path/to/alacritty.yml | ||||
| 
 | ||||
| # Any items in the `env` entry below will be added as | ||||
| # environment variables. Some entries may override variables | ||||
| # set by alacritty itself. | ||||
| #env: | ||||
|   # TERM variable | ||||
|   # | ||||
|   # This value is used to set the `$TERM` environment variable for | ||||
|   # each instance of Alacritty. If it is not present, alacritty will | ||||
|   # check the local terminfo database and use `alacritty` if it is | ||||
|   # available, otherwise `xterm-256color` is used. | ||||
|   #TERM: alacritty | ||||
| 
 | ||||
| window: | ||||
|   # Window dimensions (changes require restart) | ||||
|   # | ||||
|   # Number of lines/columns (not pixels) in the terminal. The number of columns | ||||
|   # must be at least `2`, while using a value of `0` for columns and lines will | ||||
|   # fall back to the window manager's recommended size. | ||||
|   #dimensions: | ||||
|   #  columns: 0 | ||||
|   #  lines: 0 | ||||
| 
 | ||||
|   # Window position (changes require restart) | ||||
|   # | ||||
|   # Specified in number of pixels. | ||||
|   # If the position is not set, the window manager will handle the placement. | ||||
|   #position: | ||||
|   #  x: 0 | ||||
|   #  y: 0 | ||||
| 
 | ||||
|   # Window padding (changes require restart) | ||||
|   padding: | ||||
|     x: 5 | ||||
|     y: 5 | ||||
| 
 | ||||
|   # Spread additional padding evenly around the terminal content. | ||||
|   dynamic_padding: true | ||||
| 
 | ||||
|   # Window decorations | ||||
|   # | ||||
|   # Values for `decorations`: | ||||
|   #     - full: Borders and title bar | ||||
|   #     - none: Neither borders nor title bar | ||||
|   # | ||||
|   # Values for `decorations` (macOS only): | ||||
|   #     - transparent: Title bar, transparent background and title bar buttons | ||||
|   #     - buttonless: Title bar, transparent background and no title bar buttons | ||||
|   #decorations: full | ||||
| 
 | ||||
|   # Background opacity | ||||
|   # | ||||
|   # Window opacity as a floating point number from `0.0` to `1.0`. | ||||
|   # The value `0.0` is completely transparent and `1.0` is opaque. | ||||
|   opacity: 0.9 | ||||
| 
 | ||||
|   # Startup Mode (changes require restart) | ||||
|   # | ||||
|   # Values for `startup_mode`: | ||||
|   #   - Windowed | ||||
|   #   - Maximized | ||||
|   #   - Fullscreen | ||||
|   # | ||||
|   # Values for `startup_mode` (macOS only): | ||||
|   #   - SimpleFullscreen | ||||
|   #startup_mode: Windowed | ||||
| 
 | ||||
|   # Window title | ||||
|   #title: Alacritty | ||||
| 
 | ||||
|   # Allow terminal applications to change Alacritty's window title. | ||||
|   dynamic_title: true | ||||
| 
 | ||||
|   # Window class (Linux/BSD only): | ||||
|   class: | ||||
|     # Application instance name | ||||
|     instance: Alacritty | ||||
|     # General application class | ||||
|     general: Alacritty | ||||
| 
 | ||||
|   # GTK theme variant (Linux/BSD only) | ||||
|   # | ||||
|   # Override the variant of the GTK theme. Commonly supported values are `dark` | ||||
|   # and `light`. Set this to `None` to use the default theme variant. | ||||
|   decorations_theme_variant: dark | ||||
| 
 | ||||
| #scrolling: | ||||
|   # Maximum number of lines in the scrollback buffer. | ||||
|   # Specifying '0' will disable scrolling. | ||||
|   #history: 10000 | ||||
| 
 | ||||
|   # Scrolling distance multiplier. | ||||
|   #multiplier: 3 | ||||
| 
 | ||||
| # Font configuration | ||||
| font: | ||||
|   # Normal (roman) font face | ||||
|   normal: | ||||
|     # Font family | ||||
|     # | ||||
|     # Default: | ||||
|     #   - (macOS) Menlo | ||||
|     #   - (Linux/BSD) monospace | ||||
|     #   - (Windows) Consolas | ||||
|     family: Letter | ||||
| 
 | ||||
|     # The `style` can be specified to pick a specific face. | ||||
|     style: Extended | ||||
| 
 | ||||
|   # Bold font face | ||||
|   bold: | ||||
|     # Font family | ||||
|     # | ||||
|     # If the bold family is not specified, it will fall back to the | ||||
|     # value specified for the normal font. | ||||
|     family: Letter | ||||
| 
 | ||||
|     # The `style` can be specified to pick a specific face. | ||||
|     style: Heavy | ||||
| 
 | ||||
|   # Italic font face | ||||
|   italic: | ||||
|     # Font family | ||||
|     # | ||||
|     # If the italic family is not specified, it will fall back to the | ||||
|     # value specified for the normal font. | ||||
|     family: Letter | ||||
| 
 | ||||
|     # The `style` can be specified to pick a specific face. | ||||
|     style: Oblique | ||||
| 
 | ||||
|   # Bold italic font face | ||||
|   #bold_italic: | ||||
|     # Font family | ||||
|     # | ||||
|     # If the bold italic family is not specified, it will fall back to the | ||||
|     # value specified for the normal font. | ||||
|     #family: monospace | ||||
| 
 | ||||
|     # The `style` can be specified to pick a specific face. | ||||
|     #style: Bold Italic | ||||
| 
 | ||||
|   # Point size | ||||
|   #size: 11.0 | ||||
| 
 | ||||
|   # Offset is the extra space around each character. `offset.y` can be thought | ||||
|   # of as modifying the line spacing, and `offset.x` as modifying the letter | ||||
|   # spacing. | ||||
|   #offset: | ||||
|   #  x: 0 | ||||
|   #  y: 0 | ||||
| 
 | ||||
|   # Glyph offset determines the locations of the glyphs within their cells with | ||||
|   # the default being at the bottom. Increasing `x` moves the glyph to the | ||||
|   # right, increasing `y` moves the glyph upward. | ||||
|   #glyph_offset: | ||||
|   #  x: 0 | ||||
|   #  y: 0 | ||||
| 
 | ||||
|   # Thin stroke font rendering (macOS only) | ||||
|   # | ||||
|   # Thin strokes are suitable for retina displays, but for non-retina screens | ||||
|   # it is recommended to set `use_thin_strokes` to `false`. | ||||
|   #use_thin_strokes: true | ||||
| 
 | ||||
|   # Use built-in font for box drawing characters. | ||||
|   # | ||||
|   # If `true`, Alacritty will use a custom built-in font for box drawing | ||||
|   # characters (Unicode points 2500 - 259f). | ||||
|   # | ||||
|   #builtin_box_drawing: true | ||||
| 
 | ||||
| # If `true`, bold text is drawn using the bright color variants. | ||||
| #draw_bold_text_with_bright_colors: false | ||||
| 
 | ||||
| colors: | ||||
|   primary: | ||||
|     background: '#171717' | ||||
|     # foreground: '#f8f8f2' | ||||
|     foreground: '#ffffff' | ||||
|     bright_foreground: '#ffffff' | ||||
|   cursor: | ||||
|     text: CellBackground | ||||
|     cursor: CellForeground | ||||
|   vi_mode_cursor: | ||||
|     text: CellBackground | ||||
|     cursor: CellForeground | ||||
|   search: | ||||
|     matches: | ||||
|       foreground: '#44475a' | ||||
|       background: '#50fa7b' | ||||
|     focused_match: | ||||
|       foreground: '#44475a' | ||||
|       background: '#ffb86c' | ||||
|     footer_bar: | ||||
|       background: '#282a36' | ||||
|       foreground: '#f8f8f2' | ||||
|     hints: | ||||
|       start: | ||||
|         foreground: '#282a36' | ||||
|         background: '#f1fa8c' | ||||
|       end: | ||||
|         foreground: '#f1fa8c' | ||||
|         background: '#282a36' | ||||
|     line_indicator: | ||||
|       foreground: None | ||||
|       background: None | ||||
|     selection: | ||||
|       text: CellForeground | ||||
|       background: '#44475a' | ||||
|     normal: | ||||
|       black: '#21222c' | ||||
|       red: '#ff5555' | ||||
|       green: '#50fa7b' | ||||
|       yellow: '#f1fa8c' | ||||
|       blue: '#bd93f9' | ||||
|       magenta: '#ff79c6' | ||||
|       cyan: '#8be9fd' | ||||
|       # white: '#f8f8f8' | ||||
|       white: '#ffffff' | ||||
|     bright: | ||||
|       black: '#6272a4' | ||||
|       red: '#ff6e6e' | ||||
|       green: '#69ff94' | ||||
|       yellow: '#ffffa5' | ||||
|       blue: '#d6acff' | ||||
|       magenta: '#ff92df' | ||||
|       cyan: '#a4ffff' | ||||
|       white: '#ffffff' | ||||
| 
 | ||||
| # Colors (Tomorrow Night) | ||||
| #colors: | ||||
|   # Default colors | ||||
|   #primary: | ||||
|   #  background: '#1d1f21' | ||||
|   #  foreground: '#c5c8c6' | ||||
| 
 | ||||
|     # Bright and dim foreground colors | ||||
|     # | ||||
|     # The dimmed foreground color is calculated automatically if it is not | ||||
|     # present. If the bright foreground color is not set, or | ||||
|     # `draw_bold_text_with_bright_colors` is `false`, the normal foreground | ||||
|     # color will be used. | ||||
|     #dim_foreground: '#828482' | ||||
|     #bright_foreground: '#eaeaea' | ||||
| 
 | ||||
|   # Cursor colors | ||||
|   # | ||||
|   # Colors which should be used to draw the terminal cursor. | ||||
|   # | ||||
|   # Allowed values are CellForeground/CellBackground, which reference the | ||||
|   # affected cell, or hexadecimal colors like #ff00ff. | ||||
|   #cursor: | ||||
|   #  text: CellBackground | ||||
|   #  cursor: CellForeground | ||||
| 
 | ||||
|   # Vi mode cursor colors | ||||
|   # | ||||
|   # Colors for the cursor when the vi mode is active. | ||||
|   # | ||||
|   # Allowed values are CellForeground/CellBackground, which reference the | ||||
|   # affected cell, or hexadecimal colors like #ff00ff. | ||||
|   #vi_mode_cursor: | ||||
|   #  text: CellBackground | ||||
|   #  cursor: CellForeground | ||||
| 
 | ||||
|   # Search colors | ||||
|   # | ||||
|   # Colors used for the search bar and match highlighting. | ||||
|   #search: | ||||
|     # Allowed values are CellForeground/CellBackground, which reference the | ||||
|     # affected cell, or hexadecimal colors like #ff00ff. | ||||
|     #matches: | ||||
|     #  foreground: '#000000' | ||||
|     #  background: '#ffffff' | ||||
|     #focused_match: | ||||
|     #  foreground: '#ffffff' | ||||
|     #  background: '#000000' | ||||
| 
 | ||||
|     #bar: | ||||
|     #  background: '#c5c8c6' | ||||
|     #  foreground: '#1d1f21' | ||||
| 
 | ||||
|   # Keyboard regex hints | ||||
|   #hints: | ||||
|     # First character in the hint label | ||||
|     # | ||||
|     # Allowed values are CellForeground/CellBackground, which reference the | ||||
|     # affected cell, or hexadecimal colors like #ff00ff. | ||||
|     #start: | ||||
|     #  foreground: '#1d1f21' | ||||
|     #  background: '#e9ff5e' | ||||
| 
 | ||||
|     # All characters after the first one in the hint label | ||||
|     # | ||||
|     # Allowed values are CellForeground/CellBackground, which reference the | ||||
|     # affected cell, or hexadecimal colors like #ff00ff. | ||||
|     #end: | ||||
|     #  foreground: '#e9ff5e' | ||||
|     #  background: '#1d1f21' | ||||
| 
 | ||||
|   # Line indicator | ||||
|   # | ||||
|   # Color used for the indicator displaying the position in history during | ||||
|   # search and vi mode. | ||||
|   # | ||||
|   # By default, these will use the opposing primary color. | ||||
|   #line_indicator: | ||||
|   #  foreground: None | ||||
|   #  background: None | ||||
| 
 | ||||
|   # Selection colors | ||||
|   # | ||||
|   # Colors which should be used to draw the selection area. | ||||
|   # | ||||
|   # Allowed values are CellForeground/CellBackground, which reference the | ||||
|   # affected cell, or hexadecimal colors like #ff00ff. | ||||
|   #selection: | ||||
|   #  text: CellBackground | ||||
|   #  background: CellForeground | ||||
| 
 | ||||
|   # Normal colors | ||||
|   #normal: | ||||
|   #  black:   '#1d1f21' | ||||
|   #  red:     '#cc6666' | ||||
|   #  green:   '#b5bd68' | ||||
|   #  yellow:  '#f0c674' | ||||
|   #  blue:    '#81a2be' | ||||
|   #  magenta: '#b294bb' | ||||
|   #  cyan:    '#8abeb7' | ||||
|   #  white:   '#c5c8c6' | ||||
| 
 | ||||
|   # Bright colors | ||||
|   #bright: | ||||
|   #  black:   '#666666' | ||||
|   #  red:     '#d54e53' | ||||
|   #  green:   '#b9ca4a' | ||||
|   #  yellow:  '#e7c547' | ||||
|   #  blue:    '#7aa6da' | ||||
|   #  magenta: '#c397d8' | ||||
|   #  cyan:    '#70c0b1' | ||||
|   #  white:   '#eaeaea' | ||||
| 
 | ||||
|   # Dim colors | ||||
|   # | ||||
|   # If the dim colors are not set, they will be calculated automatically based | ||||
|   # on the `normal` colors. | ||||
|   #dim: | ||||
|   #  black:   '#131415' | ||||
|   #  red:     '#864343' | ||||
|   #  green:   '#777c44' | ||||
|   #  yellow:  '#9e824c' | ||||
|   #  blue:    '#556a7d' | ||||
|   #  magenta: '#75617b' | ||||
|   #  cyan:    '#5b7d78' | ||||
|   #  white:   '#828482' | ||||
| 
 | ||||
|   # Indexed Colors | ||||
|   # | ||||
|   # The indexed colors include all colors from 16 to 256. | ||||
|   # When these are not set, they're filled with sensible defaults. | ||||
|   # | ||||
|   # Example: | ||||
|   #   `- { index: 16, color: '#ff00ff' }` | ||||
|   # | ||||
|   #indexed_colors: [] | ||||
| 
 | ||||
|   # Transparent cell backgrounds | ||||
|   # | ||||
|   # Whether or not `window.opacity` applies to all cell backgrounds or only to | ||||
|   # the default background. When set to `true` all cells will be transparent | ||||
|   # regardless of their background color. | ||||
|   transparent_background_colors: false | ||||
| 
 | ||||
| # Bell | ||||
| # | ||||
| # The bell is rung every time the BEL control character is received. | ||||
| bell: | ||||
|   # Visual Bell Animation | ||||
|   # | ||||
|   # Animation effect for flashing the screen when the visual bell is rung. | ||||
|   # | ||||
|   # Values for `animation`: | ||||
|   #   - Ease | ||||
|   #   - EaseOut | ||||
|   #   - EaseOutSine | ||||
|   #   - EaseOutQuad | ||||
|   #   - EaseOutCubic | ||||
|   #   - EaseOutQuart | ||||
|   #   - EaseOutQuint | ||||
|   #   - EaseOutExpo | ||||
|   #   - EaseOutCirc | ||||
|   #   - Linear | ||||
|   animation: EaseOutExpo | ||||
| 
 | ||||
|   # Duration of the visual bell flash in milliseconds. A `duration` of `0` will | ||||
|   # disable the visual bell animation. | ||||
|   #duration: 0 | ||||
| 
 | ||||
|   # Visual bell animation color. | ||||
|   #color: '#ffffff' | ||||
| 
 | ||||
|   # Bell Command | ||||
|   # | ||||
|   # This program is executed whenever the bell is rung. | ||||
|   # | ||||
|   # When set to `command: None`, no command will be executed. | ||||
|   # | ||||
|   # Example: | ||||
|   #   command: | ||||
|   #     program: notify-send | ||||
|   #     args: ["Hello, World!"] | ||||
|   # | ||||
|   #command: None | ||||
| 
 | ||||
| #selection: | ||||
|   # This string contains all characters that are used as separators for | ||||
|   # "semantic words" in Alacritty. | ||||
|   #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" | ||||
| 
 | ||||
|   # When set to `true`, selected text will be copied to the primary clipboard. | ||||
|   #save_to_clipboard: false | ||||
| 
 | ||||
| #cursor: | ||||
|   # Cursor style | ||||
|   #style: | ||||
|     # Cursor shape | ||||
|     # | ||||
|     # Values for `shape`: | ||||
|     #   - ▇ Block | ||||
|     #   - _ Underline | ||||
|     #   - | Beam | ||||
|     #shape: Block | ||||
| 
 | ||||
|     # Cursor blinking state | ||||
|     # | ||||
|     # Values for `blinking`: | ||||
|     #   - Never: Prevent the cursor from ever blinking | ||||
|     #   - Off: Disable blinking by default | ||||
|     #   - On: Enable blinking by default | ||||
|     #   - Always: Force the cursor to always blink | ||||
|     #blinking: Off | ||||
| 
 | ||||
|   # Vi mode cursor style | ||||
|   # | ||||
|   # If the vi mode cursor style is `None` or not specified, it will fall back to | ||||
|   # the style of the active value of the normal cursor. | ||||
|   # | ||||
|   # See `cursor.style` for available options. | ||||
|   #vi_mode_style: None | ||||
| 
 | ||||
|   # Cursor blinking interval in milliseconds. | ||||
|   #blink_interval: 750 | ||||
| 
 | ||||
|   # If this is `true`, the cursor will be rendered as a hollow box when the | ||||
|   # window is not focused. | ||||
|   #unfocused_hollow: true | ||||
| 
 | ||||
|   # Thickness of the cursor relative to the cell width as floating point number | ||||
|   # from `0.0` to `1.0`. | ||||
|   #thickness: 0.15 | ||||
| 
 | ||||
| # Live config reload (changes require restart) | ||||
| #live_config_reload: true | ||||
| 
 | ||||
| # Shell | ||||
| # | ||||
| # You can set `shell.program` to the path of your favorite shell, e.g. | ||||
| # `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the | ||||
| # shell. | ||||
| # | ||||
| # Default: | ||||
| #   - (macOS) /bin/bash --login | ||||
| #   - (Linux/BSD) user login shell | ||||
| #   - (Windows) powershell | ||||
| #shell: | ||||
| #  program: /bin/bash | ||||
| #  args: | ||||
| #    - --login | ||||
| #      # - -c | ||||
| #      #    - "zellij --layout=compact attach || zellij --layout=compact" | ||||
| 
 | ||||
| # Startup directory | ||||
| # | ||||
| # Directory the shell is started in. If this is unset, or `None`, the working | ||||
| # directory of the parent process will be used. | ||||
| #working_directory: None | ||||
| 
 | ||||
| # Send ESC (\x1b) before characters when alt is pressed. | ||||
| #alt_send_esc: true | ||||
| 
 | ||||
| # Offer IPC using `alacritty msg` (unix only) | ||||
| #ipc_socket: true | ||||
| 
 | ||||
| mouse: | ||||
|   # Click settings | ||||
|   # | ||||
|   # The `double_click` and `triple_click` settings control the time | ||||
|   # alacritty should wait for accepting multiple clicks as one double | ||||
|   # or triple click. | ||||
|   #double_click: { threshold: 300 } | ||||
|   #triple_click: { threshold: 300 } | ||||
| 
 | ||||
|   # If this is `true`, the cursor is temporarily hidden when typing. | ||||
|   hide_when_typing: true | ||||
| 
 | ||||
| # Regex hints | ||||
| # | ||||
| # Terminal hints can be used to find text in the visible part of the terminal | ||||
| # and pipe it to other applications. | ||||
| #hints: | ||||
|   # Keys used for the hint labels. | ||||
|   #alphabet: "jfkdls;ahgurieowpq" | ||||
| 
 | ||||
|   # List with all available hints | ||||
|   # | ||||
|   # Each hint must have a `regex` and either an `action` or a `command` field. | ||||
|   # The fields `mouse`, `binding` and `post_processing` are optional. | ||||
|   # | ||||
|   # The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and | ||||
|   # `mouse.mods` accept the same values as they do in the `key_bindings` section. | ||||
|   # | ||||
|   # The `mouse.enabled` field controls if the hint should be underlined while | ||||
|   # the mouse with all `mouse.mods` keys held or the vi mode cursor is above it. | ||||
|   # | ||||
|   # If the `post_processing` field is set to `true`, heuristics will be used to | ||||
|   # shorten the match if there are characters likely not to be part of the hint | ||||
|   # (e.g. a trailing `.`). This is most useful for URIs. | ||||
|   # | ||||
|   # Values for `action`: | ||||
|   #   - Copy | ||||
|   #       Copy the hint's text to the clipboard. | ||||
|   #   - Paste | ||||
|   #       Paste the hint's text to the terminal or search. | ||||
|   #   - Select | ||||
|   #       Select the hint's text. | ||||
|   #   - MoveViModeCursor | ||||
|   #       Move the vi mode cursor to the beginning of the hint. | ||||
|   #enabled: | ||||
|   # - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\ | ||||
|   #           [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+" | ||||
|   #   command: xdg-open | ||||
|   #   post_processing: true | ||||
|   #   mouse: | ||||
|   #     enabled: true | ||||
|   #     mods: None | ||||
|   #   binding: | ||||
|   #     key: U | ||||
|   #     mods: Control|Shift | ||||
| 
 | ||||
| # Mouse bindings | ||||
| # | ||||
| # Mouse bindings are specified as a list of objects, much like the key | ||||
| # bindings further below. | ||||
| # | ||||
| # To trigger mouse bindings when an application running within Alacritty | ||||
| # captures the mouse, the `Shift` modifier is automatically added as a | ||||
| # requirement. | ||||
| # | ||||
| # Each mouse binding will specify a: | ||||
| # | ||||
| # - `mouse`: | ||||
| # | ||||
| #   - Middle | ||||
| #   - Left | ||||
| #   - Right | ||||
| #   - Numeric identifier such as `5` | ||||
| # | ||||
| # - `action` (see key bindings for actions not exclusive to mouse mode) | ||||
| # | ||||
| # - Mouse exclusive actions: | ||||
| # | ||||
| #   - ExpandSelection | ||||
| #       Expand the selection to the current mouse cursor location. | ||||
| # | ||||
| # And optionally: | ||||
| # | ||||
| # - `mods` (see key bindings) | ||||
| #mouse_bindings: | ||||
| #  - { mouse: Right,                 action: ExpandSelection } | ||||
| #  - { mouse: Right,  mods: Control, action: ExpandSelection } | ||||
| #  - { mouse: Middle, mode: ~Vi,     action: PasteSelection  } | ||||
| 
 | ||||
| # Key bindings | ||||
| # | ||||
| # Key bindings are specified as a list of objects. For example, this is the | ||||
| # default paste binding: | ||||
| # | ||||
| # `- { key: V, mods: Control|Shift, action: Paste }` | ||||
| # | ||||
| # Each key binding will specify a: | ||||
| # | ||||
| # - `key`: Identifier of the key pressed | ||||
| # | ||||
| #    - A-Z | ||||
| #    - F1-F24 | ||||
| #    - Key0-Key9 | ||||
| # | ||||
| #    A full list with available key codes can be found here: | ||||
| #    https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants | ||||
| # | ||||
| #    Instead of using the name of the keys, the `key` field also supports using | ||||
| #    the scancode of the desired key. Scancodes have to be specified as a | ||||
| #    decimal number. This command will allow you to display the hex scancodes | ||||
| #    for certain keys: | ||||
| # | ||||
| #       `showkey --scancodes`. | ||||
| # | ||||
| # Then exactly one of: | ||||
| # | ||||
| # - `chars`: Send a byte sequence to the running application | ||||
| # | ||||
| #    The `chars` field writes the specified string to the terminal. This makes | ||||
| #    it possible to pass escape sequences. To find escape codes for bindings | ||||
| #    like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside | ||||
| #    of tmux. Note that applications use terminfo to map escape sequences back | ||||
| #    to keys. It is therefore required to update the terminfo when changing an | ||||
| #    escape sequence. | ||||
| # | ||||
| # - `action`: Execute a predefined action | ||||
| # | ||||
| #   - ToggleViMode | ||||
| #   - SearchForward | ||||
| #       Start searching toward the right of the search origin. | ||||
| #   - SearchBackward | ||||
| #       Start searching toward the left of the search origin. | ||||
| #   - Copy | ||||
| #   - Paste | ||||
| #   - IncreaseFontSize | ||||
| #   - DecreaseFontSize | ||||
| #   - ResetFontSize | ||||
| #   - ScrollPageUp | ||||
| #   - ScrollPageDown | ||||
| #   - ScrollHalfPageUp | ||||
| #   - ScrollHalfPageDown | ||||
| #   - ScrollLineUp | ||||
| #   - ScrollLineDown | ||||
| #   - ScrollToTop | ||||
| #   - ScrollToBottom | ||||
| #   - ClearHistory | ||||
| #       Remove the terminal's scrollback history. | ||||
| #   - Hide | ||||
| #       Hide the Alacritty window. | ||||
| #   - Minimize | ||||
| #       Minimize the Alacritty window. | ||||
| #   - Quit | ||||
| #       Quit Alacritty. | ||||
| #   - ToggleFullscreen | ||||
| #   - SpawnNewInstance | ||||
| #       Spawn a new instance of Alacritty. | ||||
| #   - CreateNewWindow | ||||
| #       Create a new Alacritty window from the current process. | ||||
| #   - ClearLogNotice | ||||
| #       Clear Alacritty's UI warning and error notice. | ||||
| #   - ClearSelection | ||||
| #       Remove the active selection. | ||||
| #   - ReceiveChar | ||||
| #   - None | ||||
| # | ||||
| # - Vi mode exclusive actions: | ||||
| # | ||||
| #   - Open | ||||
| #       Perform the action of the first matching hint under the vi mode cursor | ||||
| #       with `mouse.enabled` set to `true`. | ||||
| #   - ToggleNormalSelection | ||||
| #   - ToggleLineSelection | ||||
| #   - ToggleBlockSelection | ||||
| #   - ToggleSemanticSelection | ||||
| #       Toggle semantic selection based on `selection.semantic_escape_chars`. | ||||
| # | ||||
| # - Vi mode exclusive cursor motion actions: | ||||
| # | ||||
| #   - Up | ||||
| #       One line up. | ||||
| #   - Down | ||||
| #       One line down. | ||||
| #   - Left | ||||
| #       One character left. | ||||
| #   - Right | ||||
| #       One character right. | ||||
| #   - First | ||||
| #       First column, or beginning of the line when already at the first column. | ||||
| #   - Last | ||||
| #       Last column, or beginning of the line when already at the last column. | ||||
| #   - FirstOccupied | ||||
| #       First non-empty cell in this terminal row, or first non-empty cell of | ||||
| #       the line when already at the first cell of the row. | ||||
| #   - High | ||||
| #       Top of the screen. | ||||
| #   - Middle | ||||
| #       Center of the screen. | ||||
| #   - Low | ||||
| #       Bottom of the screen. | ||||
| #   - SemanticLeft | ||||
| #       Start of the previous semantically separated word. | ||||
| #   - SemanticRight | ||||
| #       Start of the next semantically separated word. | ||||
| #   - SemanticLeftEnd | ||||
| #       End of the previous semantically separated word. | ||||
| #   - SemanticRightEnd | ||||
| #       End of the next semantically separated word. | ||||
| #   - WordLeft | ||||
| #       Start of the previous whitespace separated word. | ||||
| #   - WordRight | ||||
| #       Start of the next whitespace separated word. | ||||
| #   - WordLeftEnd | ||||
| #       End of the previous whitespace separated word. | ||||
| #   - WordRightEnd | ||||
| #       End of the next whitespace separated word. | ||||
| #   - Bracket | ||||
| #       Character matching the bracket at the cursor's location. | ||||
| #   - SearchNext | ||||
| #       Beginning of the next match. | ||||
| #   - SearchPrevious | ||||
| #       Beginning of the previous match. | ||||
| #   - SearchStart | ||||
| #       Start of the match to the left of the vi mode cursor. | ||||
| #   - SearchEnd | ||||
| #       End of the match to the right of the vi mode cursor. | ||||
| # | ||||
| # - Search mode exclusive actions: | ||||
| #   - SearchFocusNext | ||||
| #       Move the focus to the next search match. | ||||
| #   - SearchFocusPrevious | ||||
| #       Move the focus to the previous search match. | ||||
| #   - SearchConfirm | ||||
| #   - SearchCancel | ||||
| #   - SearchClear | ||||
| #       Reset the search regex. | ||||
| #   - SearchDeleteWord | ||||
| #       Delete the last word in the search regex. | ||||
| #   - SearchHistoryPrevious | ||||
| #       Go to the previous regex in the search history. | ||||
| #   - SearchHistoryNext | ||||
| #       Go to the next regex in the search history. | ||||
| # | ||||
| # - macOS exclusive actions: | ||||
| #   - ToggleSimpleFullscreen | ||||
| #       Enter fullscreen without occupying another space. | ||||
| # | ||||
| # - Linux/BSD exclusive actions: | ||||
| # | ||||
| #   - CopySelection | ||||
| #       Copy from the selection buffer. | ||||
| #   - PasteSelection | ||||
| #       Paste from the selection buffer. | ||||
| # | ||||
| # - `command`: Fork and execute a specified command plus arguments | ||||
| # | ||||
| #    The `command` field must be a map containing a `program` string and an | ||||
| #    `args` array of command line parameter strings. For example: | ||||
| #       `{ program: "alacritty", args: ["-e", "vttest"] }` | ||||
| # | ||||
| # And optionally: | ||||
| # | ||||
| # - `mods`: Key modifiers to filter binding actions | ||||
| # | ||||
| #    - Command | ||||
| #    - Control | ||||
| #    - Option | ||||
| #    - Super | ||||
| #    - Shift | ||||
| #    - Alt | ||||
| # | ||||
| #    Multiple `mods` can be combined using `|` like this: | ||||
| #       `mods: Control|Shift`. | ||||
| #    Whitespace and capitalization are relevant and must match the example. | ||||
| # | ||||
| # - `mode`: Indicate a binding for only specific terminal reported modes | ||||
| # | ||||
| #    This is mainly used to send applications the correct escape sequences | ||||
| #    when in different modes. | ||||
| # | ||||
| #    - AppCursor | ||||
| #    - AppKeypad | ||||
| #    - Search | ||||
| #    - Alt | ||||
| #    - Vi | ||||
| # | ||||
| #    A `~` operator can be used before a mode to apply the binding whenever | ||||
| #    the mode is *not* active, e.g. `~Alt`. | ||||
| # | ||||
| # Bindings are always filled by default, but will be replaced when a new | ||||
| # binding with the same triggers is defined. To unset a default binding, it can | ||||
| # be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for | ||||
| # a no-op if you do not wish to receive input characters for that binding. | ||||
| # | ||||
| # If the same trigger is assigned to multiple actions, all of them are executed | ||||
| # in the order they were defined in. | ||||
| #key_bindings: | ||||
|   #- { key: Paste,                                       action: Paste          } | ||||
|   #- { key: Copy,                                        action: Copy           } | ||||
|   #- { key: L,         mods: Control,                    action: ClearLogNotice } | ||||
|   #- { key: L,         mods: Control, mode: ~Vi|~Search, chars: "\x0c"          } | ||||
|   #- { key: PageUp,    mods: Shift,   mode: ~Alt,        action: ScrollPageUp,  } | ||||
|   #- { key: PageDown,  mods: Shift,   mode: ~Alt,        action: ScrollPageDown } | ||||
|   #- { key: Home,      mods: Shift,   mode: ~Alt,        action: ScrollToTop,   } | ||||
|   #- { key: End,       mods: Shift,   mode: ~Alt,        action: ScrollToBottom } | ||||
| 
 | ||||
|   # Vi Mode | ||||
|   #- { key: Space,  mods: Shift|Control, mode: ~Search,    action: ToggleViMode            } | ||||
|   #- { key: Space,  mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom          } | ||||
|   #- { key: Escape,                      mode: Vi|~Search, action: ClearSelection          } | ||||
|   #- { key: I,                           mode: Vi|~Search, action: ToggleViMode            } | ||||
|   #- { key: I,                           mode: Vi|~Search, action: ScrollToBottom          } | ||||
|   #- { key: C,      mods: Control,       mode: Vi|~Search, action: ToggleViMode            } | ||||
|   #- { key: Y,      mods: Control,       mode: Vi|~Search, action: ScrollLineUp            } | ||||
|   #- { key: E,      mods: Control,       mode: Vi|~Search, action: ScrollLineDown          } | ||||
|   #- { key: G,                           mode: Vi|~Search, action: ScrollToTop             } | ||||
|   #- { key: G,      mods: Shift,         mode: Vi|~Search, action: ScrollToBottom          } | ||||
|   #- { key: B,      mods: Control,       mode: Vi|~Search, action: ScrollPageUp            } | ||||
|   #- { key: F,      mods: Control,       mode: Vi|~Search, action: ScrollPageDown          } | ||||
|   #- { key: U,      mods: Control,       mode: Vi|~Search, action: ScrollHalfPageUp        } | ||||
|   #- { key: D,      mods: Control,       mode: Vi|~Search, action: ScrollHalfPageDown      } | ||||
|   #- { key: Y,                           mode: Vi|~Search, action: Copy                    } | ||||
|   #- { key: Y,                           mode: Vi|~Search, action: ClearSelection          } | ||||
|   #- { key: Copy,                        mode: Vi|~Search, action: ClearSelection          } | ||||
|   #- { key: V,                           mode: Vi|~Search, action: ToggleNormalSelection   } | ||||
|   #- { key: V,      mods: Shift,         mode: Vi|~Search, action: ToggleLineSelection     } | ||||
|   #- { key: V,      mods: Control,       mode: Vi|~Search, action: ToggleBlockSelection    } | ||||
|   #- { key: V,      mods: Alt,           mode: Vi|~Search, action: ToggleSemanticSelection } | ||||
|   #- { key: Return,                      mode: Vi|~Search, action: Open                    } | ||||
|   #- { key: K,                           mode: Vi|~Search, action: Up                      } | ||||
|   #- { key: J,                           mode: Vi|~Search, action: Down                    } | ||||
|   #- { key: H,                           mode: Vi|~Search, action: Left                    } | ||||
|   #- { key: L,                           mode: Vi|~Search, action: Right                   } | ||||
|   #- { key: Up,                          mode: Vi|~Search, action: Up                      } | ||||
|   #- { key: Down,                        mode: Vi|~Search, action: Down                    } | ||||
|   #- { key: Left,                        mode: Vi|~Search, action: Left                    } | ||||
|   #- { key: Right,                       mode: Vi|~Search, action: Right                   } | ||||
|   #- { key: Key0,                        mode: Vi|~Search, action: First                   } | ||||
|   #- { key: Key4,   mods: Shift,         mode: Vi|~Search, action: Last                    } | ||||
|   #- { key: Key6,   mods: Shift,         mode: Vi|~Search, action: FirstOccupied           } | ||||
|   #- { key: H,      mods: Shift,         mode: Vi|~Search, action: High                    } | ||||
|   #- { key: M,      mods: Shift,         mode: Vi|~Search, action: Middle                  } | ||||
|   #- { key: L,      mods: Shift,         mode: Vi|~Search, action: Low                     } | ||||
|   #- { key: B,                           mode: Vi|~Search, action: SemanticLeft            } | ||||
|   #- { key: W,                           mode: Vi|~Search, action: SemanticRight           } | ||||
|   #- { key: E,                           mode: Vi|~Search, action: SemanticRightEnd        } | ||||
|   #- { key: B,      mods: Shift,         mode: Vi|~Search, action: WordLeft                } | ||||
|   #- { key: W,      mods: Shift,         mode: Vi|~Search, action: WordRight               } | ||||
|   #- { key: E,      mods: Shift,         mode: Vi|~Search, action: WordRightEnd            } | ||||
|   #- { key: Key5,   mods: Shift,         mode: Vi|~Search, action: Bracket                 } | ||||
|   #- { key: Slash,                       mode: Vi|~Search, action: SearchForward           } | ||||
|   #- { key: Slash,  mods: Shift,         mode: Vi|~Search, action: SearchBackward          } | ||||
|   #- { key: N,                           mode: Vi|~Search, action: SearchNext              } | ||||
|   #- { key: N,      mods: Shift,         mode: Vi|~Search, action: SearchPrevious          } | ||||
| 
 | ||||
|   # Search Mode | ||||
|   #- { key: Return,                mode: Search|Vi,  action: SearchConfirm         } | ||||
|   #- { key: Escape,                mode: Search,     action: SearchCancel          } | ||||
|   #- { key: C,      mods: Control, mode: Search,     action: SearchCancel          } | ||||
|   #- { key: U,      mods: Control, mode: Search,     action: SearchClear           } | ||||
|   #- { key: W,      mods: Control, mode: Search,     action: SearchDeleteWord      } | ||||
|   #- { key: P,      mods: Control, mode: Search,     action: SearchHistoryPrevious } | ||||
|   #- { key: N,      mods: Control, mode: Search,     action: SearchHistoryNext     } | ||||
|   #- { key: Up,                    mode: Search,     action: SearchHistoryPrevious } | ||||
|   #- { key: Down,                  mode: Search,     action: SearchHistoryNext     } | ||||
|   #- { key: Return,                mode: Search|~Vi, action: SearchFocusNext       } | ||||
|   #- { key: Return, mods: Shift,   mode: Search|~Vi, action: SearchFocusPrevious   } | ||||
| 
 | ||||
|   # (Windows, Linux, and BSD only) | ||||
|   #- { key: V,              mods: Control|Shift, mode: ~Vi,        action: Paste            } | ||||
|   #- { key: C,              mods: Control|Shift,                   action: Copy             } | ||||
|   #- { key: F,              mods: Control|Shift, mode: ~Search,    action: SearchForward    } | ||||
|   #- { key: B,              mods: Control|Shift, mode: ~Search,    action: SearchBackward   } | ||||
|   #- { key: C,              mods: Control|Shift, mode: Vi|~Search, action: ClearSelection   } | ||||
|   #- { key: Insert,         mods: Shift,                           action: PasteSelection   } | ||||
|   #- { key: Key0,           mods: Control,                         action: ResetFontSize    } | ||||
|   #- { key: Equals,         mods: Control,                         action: IncreaseFontSize } | ||||
|   #- { key: Plus,           mods: Control,                         action: IncreaseFontSize } | ||||
|   #- { key: NumpadAdd,      mods: Control,                         action: IncreaseFontSize } | ||||
|   #- { key: Minus,          mods: Control,                         action: DecreaseFontSize } | ||||
|   #- { key: NumpadSubtract, mods: Control,                         action: DecreaseFontSize } | ||||
| 
 | ||||
|   # (Windows only) | ||||
|   #- { key: Return,   mods: Alt,           action: ToggleFullscreen } | ||||
| 
 | ||||
|   # (macOS only) | ||||
|   #- { key: K,              mods: Command, mode: ~Vi|~Search, chars: "\x0c"                 } | ||||
|   #- { key: K,              mods: Command, mode: ~Vi|~Search, action: ClearHistory          } | ||||
|   #- { key: Key0,           mods: Command,                    action: ResetFontSize         } | ||||
|   #- { key: Equals,         mods: Command,                    action: IncreaseFontSize      } | ||||
|   #- { key: Plus,           mods: Command,                    action: IncreaseFontSize      } | ||||
|   #- { key: NumpadAdd,      mods: Command,                    action: IncreaseFontSize      } | ||||
|   #- { key: Minus,          mods: Command,                    action: DecreaseFontSize      } | ||||
|   #- { key: NumpadSubtract, mods: Command,                    action: DecreaseFontSize      } | ||||
|   #- { key: V,              mods: Command,                    action: Paste                 } | ||||
|   #- { key: C,              mods: Command,                    action: Copy                  } | ||||
|   #- { key: C,              mods: Command, mode: Vi|~Search,  action: ClearSelection        } | ||||
|   #- { key: H,              mods: Command,                    action: Hide                  } | ||||
|   #- { key: H,              mods: Command|Alt,                action: HideOtherApplications } | ||||
|   #- { key: M,              mods: Command,                    action: Minimize              } | ||||
|   #- { key: Q,              mods: Command,                    action: Quit                  } | ||||
|   #- { key: W,              mods: Command,                    action: Quit                  } | ||||
|   #- { key: N,              mods: Command,                    action: SpawnNewInstance      } | ||||
|   #- { key: F,              mods: Command|Control,            action: ToggleFullscreen      } | ||||
|   #- { key: F,              mods: Command, mode: ~Search,     action: SearchForward         } | ||||
|   #- { key: B,              mods: Command, mode: ~Search,     action: SearchBackward        } | ||||
| 
 | ||||
| #debug: | ||||
|   # Display the time it takes to redraw each frame. | ||||
|   #render_timer: false | ||||
| 
 | ||||
|   # Keep the log file after quitting Alacritty. | ||||
|   #persistent_logging: false | ||||
| 
 | ||||
|   # Log level | ||||
|   # | ||||
|   # Values for `log_level`: | ||||
|   #   - Off | ||||
|   #   - Error | ||||
|   #   - Warn | ||||
|   #   - Info | ||||
|   #   - Debug | ||||
|   #   - Trace | ||||
|   #log_level: Warn | ||||
| 
 | ||||
|   # Print all received window events. | ||||
|   #print_events: false | ||||
							
								
								
									
										11
									
								
								arch/stow/bash/.bashrc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								arch/stow/bash/.bashrc
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| # | ||||
| # ~/.bashrc | ||||
| # | ||||
| 
 | ||||
| # If not running interactively, don't do anything | ||||
| [[ $- != *i* ]] && return | ||||
| 
 | ||||
| alias ls='ls --color=auto' | ||||
| PS1='[\u@\h \W]\$ ' | ||||
| 
 | ||||
| eval $( keychain --eval --quiet ~/.ssh/id_ed25519 ) | ||||
							
								
								
									
										157
									
								
								arch/stow/dunst/.config/dunst/dunstrc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										157
									
								
								arch/stow/dunst/.config/dunst/dunstrc
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,157 @@ | |||
| #  | ||||
| # ~/.config/dunst/dunstrc | ||||
| # | ||||
| 
 | ||||
| [global] | ||||
| 
 | ||||
|     ### Display ### | ||||
|     monitor = 0 | ||||
|     follow = keyboard | ||||
|     layer = overlay | ||||
| 
 | ||||
|     ### Geometry ### | ||||
|     width = (350, 350) # So I can remember this later | ||||
|     height = 86 | ||||
|     origin = bottom-right | ||||
|     offset = 15x15 | ||||
|     scale = 0 | ||||
|     padding = 8 | ||||
|     horizontal_padding = 8 | ||||
| 
 | ||||
|     ### Progress bar ### | ||||
|     progress_bar = true | ||||
|     progress_bar_horizontal_alignment = center | ||||
|     progress_bar_height = 22 | ||||
|     progress_bar_min_width = 150 | ||||
|     progress_bar_max_width = 300 | ||||
| 
 | ||||
|     ### Handling ### | ||||
|     notification_limit = 0 | ||||
|     indicate_hidden = yes | ||||
|     idle_threshold = 3600 | ||||
|     stack_duplicates = no | ||||
|     hide_duplicate_count = false | ||||
|     show_indicators = yes | ||||
|     sort = yes | ||||
| 
 | ||||
|     ### Styling ### | ||||
|     transparency = 100 | ||||
|     text_icon_padding = 0 | ||||
|     frame_width = 1 | ||||
|     frame_color = "#aaaaaa" | ||||
|     separator_height = 1 | ||||
|     separator_color = frame # auto/foreground/frame/X color | ||||
|     corner_radius = 5 | ||||
| 
 | ||||
|     ### Text ### | ||||
|     font = Letter 12 | ||||
|     line_height = 0 | ||||
| 
 | ||||
|     markup = full | ||||
|     #   %a  appname | ||||
|     #   %s  summary | ||||
|     #   %b  body | ||||
|     #   %i  iconname (including its path) | ||||
|     #   %I  iconname (without its path) | ||||
|     #   %p  progress value if set ([  0%] to [100%]) or nothing | ||||
|     #   %n  progress value if set without any extra characters | ||||
|     #   %%  Literal % | ||||
|     format = "<b>%s</b><span size='small'> (%a)</span>\n%b" | ||||
|     alignment = left | ||||
|     vertical_alignment = bottom | ||||
|     show_age_threshold = 60 | ||||
|     ellipsize = middle | ||||
|     ignore_newline = no | ||||
| 
 | ||||
|     ### Icons ### | ||||
|     icon_position = left | ||||
|     min_icon_size = 0 | ||||
|     max_icon_size = 65 | ||||
|     icon_theme = Win11-black | ||||
| 
 | ||||
|     ### History ### | ||||
|     sticky_history = no | ||||
|     history_length = 50 | ||||
| 
 | ||||
|     ### Advanced ### | ||||
|     dmenu = /usr/bin/fzf | ||||
| 
 | ||||
|     browser = /usr/bin/xdg-open | ||||
|     always_run_script = true | ||||
|     title = Dunst | ||||
|     class = Dunst | ||||
|     ignore_dbusclose = false | ||||
| 
 | ||||
|     ### Wayland ### | ||||
|     force_xwayland = false | ||||
|      | ||||
|     ### Legacy ### | ||||
|     force_xinerama = false | ||||
| 
 | ||||
|     ### Mouse ### | ||||
|     mouse_left_click = close_current | ||||
|     mouse_middle_click = close_all | ||||
|     mouse_right_click = do_action, close_current | ||||
| 
 | ||||
| [experimental] | ||||
|     per_monitor_dpi = false | ||||
|     enable_recursive_icon_lookup = true | ||||
| 
 | ||||
| ### Filters ### | ||||
| # and you can override the | ||||
| #    background | ||||
| #    foreground | ||||
| #    format | ||||
| #    frame_color | ||||
| #    fullscreen | ||||
| #    new_icon | ||||
| #    set_stack_tag | ||||
| #    set_transient | ||||
| #    set_category | ||||
| #    timeout | ||||
| #    urgency | ||||
| #    icon_position | ||||
| #    skip_display | ||||
| #    history_ignore | ||||
| #    action_name | ||||
| #    word_wrap | ||||
| #    ellipsize | ||||
| #    alignment | ||||
| #    hide_text | ||||
| [urgency_low] | ||||
|     background = "#171717d3" | ||||
|     foreground = "#ffffff" | ||||
|     fullscreen = pushback | ||||
|     timeout = 5 | ||||
| 
 | ||||
| [urgency_normal] | ||||
|     background = "#171717d3" | ||||
|     foreground = "#ffffff" | ||||
|     fullscreen = pushback | ||||
|     timeout = 5 | ||||
| 
 | ||||
| [urgency_critical] | ||||
|     background = "#900000" | ||||
|     foreground = "#ffffff" | ||||
|     frame_color = "#ff0000" | ||||
|     fullscreen = pushback | ||||
|     timeout = 0 | ||||
| 
 | ||||
| [sysinfo] # Brightness and volume etc. | ||||
|     category = "sysinfo" | ||||
|      | ||||
|     alignment = center | ||||
|     fullscreen = show | ||||
|     history_ignore = true | ||||
|     highlight = "#ffffff" | ||||
|     urgency = low | ||||
|     timeout = 1 | ||||
|     set_stack_tag = 'sysinfo' # Replace the previous notification if it still exists. | ||||
|     format = "<b>%s</b>" | ||||
| 
 | ||||
| [Spotify] | ||||
|     appname = "Spotify" | ||||
| 
 | ||||
|     format = "<b>%s</b>\n%b" | ||||
|     frame_color = "#1db954" | ||||
|     urgency = low | ||||
							
								
								
									
										16
									
								
								arch/stow/fuzzel/.config/fuzzel/fuzzel.ini
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								arch/stow/fuzzel/.config/fuzzel/fuzzel.ini
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| # | ||||
| # ~/.config/fuzzel/fuzzel.ini | ||||
| # | ||||
| 
 | ||||
| font=letter:size=10 | ||||
| dpi-aware=yes | ||||
| icon-theme=Win11-black | ||||
| terminal=alacritty -e | ||||
| output=eDP-1 | ||||
| 
 | ||||
| lines=10 | ||||
| width=50 | ||||
| 
 | ||||
| [colors] | ||||
| background=262626dd | ||||
| text=ffffffff | ||||
							
								
								
									
										35
									
								
								arch/stow/mako/.config/mako/config
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								arch/stow/mako/.config/mako/config
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,35 @@ | |||
| # | ||||
| # ~/.config/mako/config | ||||
| #  | ||||
| 
 | ||||
| # Default | ||||
| 
 | ||||
| anchor=bottom-right | ||||
| background-color=#171717c3 | ||||
| default-timeout=4000 | ||||
| font=Letter | ||||
| 
 | ||||
| # Ugency | ||||
| 
 | ||||
| [urgency=low] | ||||
| border-color=#e3e3e3 | ||||
| 
 | ||||
| [urgency=normal] | ||||
| border-color=#cccccc | ||||
| 
 | ||||
| [urgency=high] | ||||
| border-color=#bf616a | ||||
| default-timeout=0 | ||||
| 
 | ||||
| [mode=do-not-disturb] | ||||
| invisible=1 | ||||
| 
 | ||||
| # Overwrite invisibilty if it is sysinfo | ||||
| [category=sysinfo] | ||||
| invisible=0 | ||||
| 
 | ||||
| # Positional | ||||
| 
 | ||||
| [category=sysinfo] | ||||
| anchor=top-center | ||||
| 
 | ||||
							
								
								
									
										310
									
								
								arch/stow/matterhorn/.config/matterhorn/matterhorn.ini
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										310
									
								
								arch/stow/matterhorn/.config/matterhorn/matterhorn.ini
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,310 @@ | |||
| # | ||||
| # ~/.config/matterhorn/config.ini | ||||
| #  | ||||
| 
 | ||||
| [mattermost] | ||||
| # Username. Optional. If missing, you'll be asked to provide one on | ||||
| # startup. | ||||
| # user: username | ||||
| # | ||||
| # Hostname: Optional. If missing, you'll be asked to provide one on | ||||
| # startup. Note that this is just the IP address or hostname of the | ||||
| # server; it should not include anything else such as URL scheme, path, | ||||
| # etc. | ||||
| host: mattermost.zeus.gent | ||||
| 
 | ||||
| # If the team setting is set, it must be the name of a team of which | ||||
| # the user is a member. This is the team you'll automatically use when | ||||
| # connecting and you'll bypass the team selection. If the setting is | ||||
| # absent or isn't one of your teams, you'll be prompted for a choice of | ||||
| # your teams. | ||||
| # | ||||
| # team: <team name> | ||||
| 
 | ||||
| # Server port. Optional; defaults to 443. NOTE: If you are not using TLS | ||||
| # and intend to use another port, you MUST set the port accordingly and | ||||
| # then set unsafeUseUnauthenticatedConnection to disable TLS. Matterhorn | ||||
| # uses TLS by default regardless of the port value. | ||||
| # | ||||
| # port: 443 | ||||
| 
 | ||||
| # Server URL path. If the Mattermost server is located at | ||||
| # https://example.com/mattermost then this would be set to | ||||
| # /mattermost. Optional. Defaults to empty string. | ||||
| # | ||||
| # urlPath: /path/to/server | ||||
| 
 | ||||
| # Access token token command. Optional. If this is specified, the | ||||
| # $ secret-tool store --label='matterhorn' matterhorn token | ||||
| # you can use it like this: | ||||
| # | ||||
| tokencmd: secret-tool lookup matterhorn token | ||||
| 
 | ||||
| # This optional setting controls how the client displays times. If it's | ||||
| # absent, you get the default behavior ("%R"). If it's present but | ||||
| # empty, that turns timestamps off. Otherwise its value is used as the | ||||
| # time format string. | ||||
| # | ||||
| # The format string is that accepted by 'formatTime': | ||||
| # https://hackage.haskell.org/package/time-1.6.0.1/docs/Data-Time-Format.html#v:formatTime | ||||
| # | ||||
| # timeFormat: %R | ||||
| 
 | ||||
| # This optional setting controls how the client displays dates. If it's | ||||
| # absent, you get the default behavior ("%Y-%m-%d"). Otherwise its value | ||||
| # is used as the time format string. | ||||
| # | ||||
| # The format string is that accepted by 'formatTime': | ||||
| # https://hackage.haskell.org/package/time-1.6.0.1/docs/Data-Time-Format.html#v:formatTime | ||||
| # | ||||
| dateFormat: %d-%m-%Y | ||||
| 
 | ||||
| # Whether to show timestamps on messages. | ||||
| # | ||||
| # Default: True | ||||
| # | ||||
| showMessageTimestamps: True | ||||
| 
 | ||||
| # Theme name | ||||
| # | ||||
| # For now, the choices are | ||||
| # | ||||
| #   builtin:dark (default) | ||||
| #   builtin:light | ||||
| # | ||||
| # theme: builtin:dark | ||||
| 
 | ||||
| # Theme customization file | ||||
| # | ||||
| # This setting is optional. If present, it must either be: | ||||
| # | ||||
| # * A relative path to a theme customization file. In this case | ||||
| #   the relative path is treated as relative to the location of the | ||||
| #   configuration file. For example, if the Matterhorn configuration | ||||
| #   file is at $HOME/.config/matterhorn/config.ini and this setting has | ||||
| #   the value "theme.ini", then Matterhorn will look for this file at | ||||
| #   $HOME/.config/matterhorn/theme.ini. | ||||
| # * An absolute path to a theme customization file. | ||||
| # | ||||
| # themeCustomizationFile: /path/to/file | ||||
| 
 | ||||
| # Smart character pair insertion for "``", "**", and "__". | ||||
| # | ||||
| # Allowed values are True and False (case sensitive). Invalid values are | ||||
| # ignored. Default is True. | ||||
| # | ||||
| smartbacktick = True | ||||
| 
 | ||||
| # Terminal bell control: ring the terminal bell whenever a new message | ||||
| # arrives (for use with e.g. terminal multiplexers). | ||||
| # | ||||
| # Allowed values are True and False (case sensitive) | ||||
| # Default is False | ||||
| # activityBell = False | ||||
| 
 | ||||
| # How to truncate long verbatim and code blocks. When set to zero | ||||
| # (0), no truncation occurs and verbatim and code blocks are | ||||
| # rendered as-is. When set to any value greater than zero (say N), | ||||
| # Matterhorn will display only up to N lines of each verbatim or code | ||||
| # block and will indicates that the block has been truncated. The | ||||
| # /toggle-truncate-verbatim-blocks command can be used to toggle this | ||||
| # behavior at runtime. | ||||
| # | ||||
| # Allowed values are integers 0 and up | ||||
| # Default is 0 (no truncation) | ||||
| # truncateVerbatimBlockHeight = 0 | ||||
| 
 | ||||
| # Notification script control: run a notification script whenever a new | ||||
| # message arrives. See the "notify" script in notification-scripts/ for | ||||
| # an example Linux notification script for version 1 notifications (note | ||||
| # activityNotifyVersion, below). See the "notifyV2" script for an example | ||||
| # Linux notification script for version 2 notifications. | ||||
| # | ||||
| # See docs/notification-scripts.md for details on the notification script API. | ||||
| # | ||||
| activityNotifyCommand = /usr/bin/notify-send | ||||
| 
 | ||||
| # Notification script control: select the notifier payload version. | ||||
| # This affects how the activityNotifyCommand is invoked. | ||||
| # | ||||
| # Allowed values are 1 and 2. The default is 1. | ||||
| # | ||||
| # Version 1 notifications pass details to the notification script on | ||||
| # the command line. | ||||
| # Version 2 notifications invoke the notification script without | ||||
| # command line parameters; the details are provided as a JSON value | ||||
| # on standard input. | ||||
| # | ||||
| # activityNotifyVersion = 1 | ||||
| 
 | ||||
| # Background activity display: Matterhorn communicates with the | ||||
| # Mattermost server using asynchronous background thread processing. | ||||
| # This parameter can be used to enable a visual display of when and | ||||
| # how much background activity is occurring. The 'ActiveCount' value | ||||
| # displays the number of queued work requests to the background thread; | ||||
| # there may be multiple server messages performed for each work request, | ||||
| # so this value is just a relative indicator of the amount of work | ||||
| # pending for processing by this thread. | ||||
| # | ||||
| # Allowed values are: Disabled, Active, ActiveCount | ||||
| # Default is Disabled | ||||
| # showBackgroundActivity = Disabled | ||||
| 
 | ||||
| # The command to use to open attachments and URLs found in chat | ||||
| # messages. | ||||
| # | ||||
| # Matterhorn invokes this command with the URL as a command | ||||
| # argument. Matterhorn assumes the command will perform the opening | ||||
| # asynchronously, i.e., Matterhorn assumes the command will return | ||||
| # immediately after invoking a background process to open the URL. This | ||||
| # is how OS X's "open" command behaves and is also true for Linux's | ||||
| # "xdg-open". Matterhorn will also only ever invoke this command for one | ||||
| # URL at a time. If, for example, the "open all URLs" action is invoked | ||||
| # on a message with more than one URL, this command will be invoked | ||||
| # repeatedly, once per URL. The same is true for message attachments. | ||||
| # | ||||
| # If the program exits with a non-zero exit status, Matterhorn will | ||||
| # treat that as a URL opener failure and will report it to you as an | ||||
| # application error message. | ||||
| # | ||||
| # A typical value for this on OS X is: | ||||
| # urlOpenCommand = open | ||||
| # A typical value for this on Linux is: | ||||
| # urlOpenCommand = xdg-open | ||||
| 
 | ||||
| # This setting indicates whether the URL-opening command is interactive | ||||
| # in the terminal. Set this to True if your urlOpenCommand is a terminal | ||||
| # web browser or other program that needs to control the terminal while | ||||
| # viewing a URL. Set this to False otherwise. | ||||
| # Default: False | ||||
| # | ||||
| # urlOpenCommandIsInteractive = False | ||||
| 
 | ||||
| # Whether to show a message rendering preview | ||||
| # Default: False | ||||
| # | ||||
| showMessagePreview = True | ||||
| 
 | ||||
| # Whether to show the channel list | ||||
| # Default: True | ||||
| # | ||||
| # showChannelList = True | ||||
| 
 | ||||
| # Whether to show more than the first line of the current channel's | ||||
| # topic if it has multiple lines | ||||
| # Default: True | ||||
| # | ||||
| # showExpandedChannelTopics = True | ||||
| 
 | ||||
| # How many days to keep a direct channel in the channel list after the | ||||
| # last message. | ||||
| # | ||||
| # Default: 7 | ||||
| # directChannelExpirationDays = 7 | ||||
| 
 | ||||
| # Whether to enable the spell checker if "aspell" is present on the | ||||
| # system. | ||||
| # Default: False | ||||
| # | ||||
| # enableAspell = False | ||||
| 
 | ||||
| # Name a specific Aspell dictionary to use. See "aspell dicts" for a | ||||
| # list of available dictionaries on your system. | ||||
| # Default: fall back to environment / locale | ||||
| # | ||||
| # aspellDictionary = "..." | ||||
| 
 | ||||
| # Force Matterhorn to use HTTP instead of HTTPS. This is mostly included | ||||
| # for testing purposes; you really should not use this unless you're | ||||
| # absolutely sure it's what you want, i.e., you run an HTTP server and | ||||
| # you are aware that doing so means you have no transport security. | ||||
| # | ||||
| # unsafeUseUnauthenticatedConnection = False | ||||
| 
 | ||||
| # Whether to validate the server's TLS certificate. It is STRONGLY | ||||
| # RECOMMENDED to keep this set to its default value of True. Only | ||||
| # disable this if your server certificate is self-signed or is not | ||||
| # part of your keychain, and if you are okay with the risk of using an | ||||
| # untrusted certificate. | ||||
| # | ||||
| # Default: True | ||||
| # | ||||
| # validateServerCertificate = True | ||||
| 
 | ||||
| # The width of the channel list (in columns). | ||||
| # | ||||
| # channelListWidth = 20 | ||||
| 
 | ||||
| # The orientation of the channel list. Valid values are "left" (the left | ||||
| # side of the screen) and "right" (the right side of the screen). | ||||
| # | ||||
| # Default: left | ||||
| # | ||||
| # channelListOrientation = left | ||||
| 
 | ||||
| # The maximum size of the internal log buffer, in log entries. This | ||||
| # buffer is initially flushed to the log file when logging starts. | ||||
| # Matterhorn keeps these log entries around, discarding old entries to | ||||
| # keep the buffer from exceeding this size. | ||||
| # | ||||
| # logMaxBufferSize = 200 | ||||
| 
 | ||||
| # Whether to show indicators on edited messages that have not been | ||||
| # edited recently. | ||||
| # Default: True | ||||
| # | ||||
| # showOlderEdits = True | ||||
| 
 | ||||
| # Whether to show the indicator for users typing and to send the typing | ||||
| # notifications to the server. | ||||
| # Default: False | ||||
| # | ||||
| # showTypingIndicator = False | ||||
| 
 | ||||
| # Whether to hyperlink URLs in the terminal. When enabled, this means | ||||
| # Matterhorn will emit special escape sequences to make URLs clickable. | ||||
| # Some terminal emulators do not support this feature, and in some of | ||||
| # those cases the program's output can be garbled so this setting is | ||||
| # provided for that case. | ||||
| # Default: True | ||||
| # | ||||
| # hyperlinkURLs = True | ||||
| 
 | ||||
| # The list of directories from which to load Kate XML syntax definitions | ||||
| # for code block syntax highlighting. The syntax is a colon-separated | ||||
| # list of paths, with the highest-precedence path appearing first. | ||||
| # | ||||
| # Optional. If omitted, this defaults to: | ||||
| # | ||||
| #   USER_SYNTAX:BUNDLED_SYNTAX | ||||
| # | ||||
| # where USER_SYNTAX is a special path alias for | ||||
| # ~/.config/matterhorn/syntax/ and BUNDLED_SYNTAX is a special path | ||||
| # alias that refers to the path to XML files in the Matterhorn | ||||
| # distribution relative to the 'matterhorn' binary. | ||||
| # | ||||
| # syntaxDirectories = /path1:/path2:/path3:... | ||||
| 
 | ||||
| # The CPU usage policy for Matterhorn. | ||||
| # | ||||
| # Valid values are "single" and "multiple". The default is "multiple". | ||||
| # If set to "single", the application will be constrained to a single | ||||
| # CPU. This mode can sometimes result in interface input latency. If set | ||||
| # to "multiple", the application will use more than one CPU up to an | ||||
| # application-defined reasonable maximum, or the number of CPUs on the | ||||
| # host, whichever is smaller. | ||||
| # | ||||
| # cpuUsagePolicy = multiple | ||||
| 
 | ||||
| # The default attachment browser path. Optional. | ||||
| # | ||||
| # If this is specified and the directory at this path exists, the | ||||
| # path will be used as the starting path of the attachment browser. | ||||
| # If not specified or if the path does not exist, the current working | ||||
| # directory of matterhorn process will be used as the starting path of | ||||
| # the attachment browser. | ||||
| # | ||||
| # defaultAttachmentPath = /path/to/folder | ||||
| 
 | ||||
| # Whether to enable mouse support for matterhorn | ||||
| enableMouseMode = True | ||||
							
								
								
									
										49
									
								
								arch/stow/newsboat/.config/newsboat/config
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								arch/stow/newsboat/.config/newsboat/config
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,49 @@ | |||
| #  | ||||
| # ~/.config/newsboat/config | ||||
| #  | ||||
| 
 | ||||
| auto-reload yes | ||||
| reload-time 60 | ||||
| browser xdg-open | ||||
| 
 | ||||
| # ======= | ||||
| # Syncing | ||||
| # ======= | ||||
| 
 | ||||
| urls-source "freshrss" | ||||
| freshrss-url "https://rss.depeuter.tk/api/greader.php" | ||||
| freshrss-login "tdpeuter" | ||||
| freshrss-password "ibSp#n!UF265vwAdFP" | ||||
| 
 | ||||
| # ====== | ||||
| # Macros | ||||
| # ====== | ||||
| 
 | ||||
| macro v set browser "setsid --fork $SHELL -c \"yt-dlp -qo - %u | mpv -\" &> /dev/null" ; open-in-browser-and-mark-read ; set browser xdg-open | ||||
| macro a set browser "setsid --fork $SHELL -c \"yt-dlp -qo - %u | mpv --no-video -\"" ; open-in-browser-and-mark-read ; set browser xdg-open | ||||
| 
 | ||||
| # ================= | ||||
| # Vim-like keybinds | ||||
| # ================= | ||||
| 
 | ||||
| bind-key j down | ||||
| bind-key k up | ||||
| bind-key j next articlelist | ||||
| bind-key k prev articlelist | ||||
| bind-key J next-feed articlelist | ||||
| bind-key K prev-feed articlelist | ||||
| bind-key h quit | ||||
| bind-key G end | ||||
| bind-key g home | ||||
| bind-key u pageup | ||||
| bind-key d pagedown | ||||
| bind-key l open | ||||
| 
 | ||||
| # ======= | ||||
| # Styling | ||||
| # ======= | ||||
| 
 | ||||
| # Custom styling of subheadings | ||||
| highlight feedlist "---.*---" color156 default bold | ||||
| highlight feedlist ".*0/0.." default default invis | ||||
| 
 | ||||
							
								
								
									
										101
									
								
								arch/stow/newsboat/.config/newsboat/urls
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								arch/stow/newsboat/.config/newsboat/urls
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,101 @@ | |||
| # | ||||
| # ~/.config/newsboat/urls | ||||
| # | ||||
| 
 | ||||
| ---News--- | ||||
| https://feeds.bbci.co.uk/news/rss.xml | ||||
| 
 | ||||
| ---Blogs--- | ||||
| https://マリウス.com/index.xml "tech" "programming" | ||||
| 
 | ||||
| 0/0-- | ||||
| 
 | ||||
| ---Music_(YouTube)--- | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCXAhoI7XO2kafTMjocm0jCg "yt" "music" "flume" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UClU-JRXNukej7RdQGSGzALw "yt" "music" "lofi offon" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC-7RDShJHg-QfxLkcNXG-nQ "yt" "music" "smooth sounds" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC4X7J9D6VbTIwnFDFNkfQ1A "yt" "music" "ambition" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCOZdVirxtKdtDDywL0DINGw "yt" "music" "nightmareowl music" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UChuVypW5xGRq8GfLqZJhMFw "yt" "music" "fourat xu" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCoZmOvi8C-XL4PyLyd9daqw "yt" "music" "broken kid club" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC5c8xw-NuFFfwjAtGKCjMuQ "yt" "music" "macroblank" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCA9Um7XFYxqQK8r726Yc3xQ "yt" "music" "haircuts for men" | ||||
| 
 | ||||
| 0/0-- | ||||
| 
 | ||||
| ---Science_(YouTube)--- | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCUK0HBIBWgM2c4vsPhkYY4w "yt" "science" "the slow mo guys" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC6nSFpj9HTCZ5t-N3Rm3-HA "yt" "science" "vsauce" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCdp4_l1vPmpN-gDbUwhaRUQ "yt" "science" "branch education" | ||||
| 
 | ||||
| ---Coding_(YouTube)--- | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC0e3QhIYukixgh5VVpKHH9Q "yt" "coding" "code bullet" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCtHaxi4GTYDpJgMSGy7AeSw "yt" "coding" "michael reeves" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCUmLRMERmJrmUtgnbFfknAg "yt" "coding" "randy" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCUzQJ3JBuQ9w-po4TXRJHiA "yt" "coding" "jdh" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCG2IoSJBUhrGL8fb5stMCWw "yt" "coding" "gonkee" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCsBjURrPoezykLs9EqgamOA "yt" "coding" "fireship" | ||||
| 
 | ||||
| ---Essays_(YouTube)--- | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCFrIWascjv4rUUzJyAcB4EQ "yt" "essays" "pinkas" "music" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC2wNnyb3vWhOt0K6LpBrtGg "yt" "essays" "mental checkpoint" "gaming" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCIWEHR8n8GiLMWY8v7IP0Gg "yt" "essays" "mikasacus" "internet" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCjksxmAxJUlGuXUO1ndt5GA "yt" "essays" "averagepixel" "gaming" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCEfjmm_hKTlES1I3WAUfdJg "yt" "essays" "averagepixel the sequel" "gaming" | ||||
| 
 | ||||
| ---Video&art_(YouTube)--- | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC6me-RzbQFQ-kRyr6BlGZWg "yt" "video" "paul et" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCUAnGpw6HlZw_4ua8EqI1MQ "yt" "art" "angela he" | ||||
| 
 | ||||
| ---Vlog_(YouTube)--- | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCGHfNdzi6_e4tYuoaqbdQpA "yt" "vlog" "arpi park" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC11OPzwn5Wt0-LN3rARunmg "yt" "vlog" "mumbo" | ||||
| 
 | ||||
| 0/0-- | ||||
| 
 | ||||
| ---Comedy_(YouTube)--- | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCpIafFPGutTAKOBHMtGen7g "yt" "comedy" "gus johnson" "sketches" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCakAg8hC_RFJm4RI3DlD7SA "yt" "comedy" "brian david gilbert" "sketches" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCDyqjn-9rKdcAe0gTMAkqyg "yt" "comedy" "matt colbo" "sketches" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC3HjOlfXBQJO12-YhumbJCg "yt" "comedy" "aztrosist" "internet" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCAG1ABZP-c7wuNt0fziHtsA "yt" "comedy" "caroline konstnar" "sketches" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCTUHzVzRwN_2x13IWQ9QVNg "yt" "comedy" "senzawa" "meme" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCU4dU07ZfRopBQroeYdpWIA "yt" "comedy" "soothouse" "conversation" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC_6mq_P6cTVUXFqkCLqJVtQ "yt" "comedy" "kurkdroog" "public" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC39KF9j7hucS2xncTO8d5CQ "yt" "comedy" "kud" "animations" | ||||
| 
 | ||||
| 0/0-- | ||||
| 
 | ||||
| ---Tech_(YouTube)--- | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCsnGwSIHyoYN0kiINAGUKxg "yt" "tech" "wolfgang's channel" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC5UAwBUum7CPN5buc-_N1Fw "yt" "tech" "the linux experiment" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCxrqVfm7FUHSkboVbp1dr7w "yt" "tech" "reluctant anarchist" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCXuqSBlHAE6Xw-yeJA0Tunw "yt" "tech" "linus tech tips" | ||||
| 
 | ||||
| ---Gaming_(YouTube)--- | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCQMjMW-9PhWoH6TWwmnVWvA "yt" "gaming" "callmecarson" "comedy" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCmbP0Q_L9NzAQDz8voa4ZTw "yt" "gaming" "callmecarsonlive" "comedy" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UClzRWsHWFjb6vGG_dPP3VJg "yt" "gaming" "callmecarsonplus" "comedy" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC2mP7il3YV7TxM_3m6U0bwA "yt" "gaming" "jschlattlive" "comedy" | ||||
| 
 | ||||
| ---Minecraft_(YouTube)--- | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC4O9HKe9Jt5yAhKuNv3LXpQ "yt" "gaming" "minecraft" "docm" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCHSI8erNrN6hs3sUK6oONLA "yt" "gaming" "minecraft" "ilmango" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UChFur_NwVSbUozOcF_F2kMg "yt" "gaming" "minecraft" "mumbo jumbo"  | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCsrxrOtjmWnH5FJhJnkTRBg "yt" "gaming" "minecraft" "cubicmetre" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UClj74snrgG-4OaPU4vpX0NQ "yt" "gaming" "minecraft" "kdender" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCwSX6JULi7q_Y3NV0sxpvtA "yt" "gaming" "minecraft" "vesko" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC32w6uX5qtmUtF4QQQ2PKaQ "yt" "gaming" "minecraft" "hermitcraft recap" | ||||
| 
 | ||||
| 0/0-- | ||||
| 
 | ||||
| ---Podcasts--- | ||||
| https://highdrag.wordpress.com/category/podcast/feed/ "gaming" "high drag" "eve online" | ||||
| 
 | ||||
| ---Friends_(YouTube)--- | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCNAd935S3kzAD6_kQLTCDrQ "yt" "gaming" "aloaargh" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC859xq1jBzFozrXCT8SgMTA "yt" "gaming" "epictrepic" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCW_WpFbjbduo7v9p38HJy0w "yt" "gaming" "snapperu" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCcv82ywZupad4wQl97uYy9A "yt" "gaming" "contact" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCZmnbn7OVNPiEY2s0D-AY-g "yt" "gaming" "loonytix" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCMeiofvXK_2z-rD0kzG0zxg "yt" "joetz" | ||||
							
								
								
									
										35
									
								
								arch/stow/sway/.config/sway/autostart.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										35
									
								
								arch/stow/sway/.config/sway/autostart.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,35 @@ | |||
| #!/bin/bash | ||||
| #  | ||||
| # ~/.config/sway/autostart.sh | ||||
| # List of applications to autostart | ||||
| # | ||||
| 
 | ||||
| function execute () { | ||||
|     setsid --fork $SHELL -c "${1}" &> /dev/null | ||||
| } | ||||
| 
 | ||||
| # Idle script | ||||
| execute "~/.scripts/idle.sh" | ||||
| 
 | ||||
| # Gamma and brightness | ||||
| execute "clight" | ||||
| 
 | ||||
| # Notification manager | ||||
| execute "dunst -verbosity crit" | ||||
| 
 | ||||
| # Fix [Slow launch for some GTK apps](https://github.com/swaywm/sway/issues/5732) | ||||
| dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK | ||||
| 
 | ||||
| # Fix JetBrain IDE's showing properly | ||||
| wmname LG3 | ||||
| 
 | ||||
| 
 | ||||
| sleep 3 | ||||
| # --- Everything that requires tray to be active --- | ||||
| 
 | ||||
| # Nextcloud client | ||||
| execute "nextcloud --background" | ||||
| 
 | ||||
| # Activity watch server & client | ||||
| execute "aw-qt" | ||||
| 
 | ||||
							
								
								
									
										174
									
								
								arch/stow/sway/.config/sway/commands
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										174
									
								
								arch/stow/sway/.config/sway/commands
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,174 @@ | |||
| #  | ||||
| # ~/.config/sway/commands | ||||
| # Keybinds for sway | ||||
| #  | ||||
| 
 | ||||
| # Variables | ||||
| set { | ||||
|     $alt    Mod1 | ||||
|     $flag   Mod4 | ||||
|     $term   alacritty | ||||
|     $notify ~/.scripts/notify.sh | ||||
| } | ||||
| 
 | ||||
| # Focus | ||||
| bindsym { | ||||
| 	$flag+h     focus left | ||||
| 		$flag+j     focus down | ||||
| 		$flag+k     focus up | ||||
| 		$flag+l     focus right | ||||
| 
 | ||||
| 		$flag+Left  focus left | ||||
| 		$flag+Down  focus down | ||||
| 		$flag+Up    focus up | ||||
| 		$flag+Right focus right | ||||
| 
 | ||||
| 		$flag+m     focus mode_toggle | ||||
| 		$flag+p     focus parent | ||||
| } | ||||
| 
 | ||||
| # Move windows | ||||
| bindsym { | ||||
| 	$flag+Shift+h       move left | ||||
| 		$flag+Shift+j       move down | ||||
| 		$flag+Shift+k       move up | ||||
| 		$flag+Shift+l       move right | ||||
| 
 | ||||
| 		$flag+Shift+Left    move left | ||||
| 		$flag+Shift+Down    move down | ||||
| 		$flag+Shift+Up      move up | ||||
| 		$flag+Shift+Right   move right | ||||
| 
 | ||||
| 		$flag+Next          move scratchpad | ||||
| 		$flag+Prior         scratchpad show | ||||
| } | ||||
| 
 | ||||
| # Layouts | ||||
| bindsym { | ||||
| 	$flag+w layout toggle split | ||||
| 		$flag+x layout tabbed | ||||
| 		$flag+c split h | ||||
| 		$flag+v split v | ||||
| 
 | ||||
| 		$flag+f         floating enable, border normal 1 | ||||
| 		$flag+Shift+f   floating disable, border pixel 1 | ||||
| 
 | ||||
| 		$alt+Next       border pixel 1      # Show window title | ||||
| 		$alt+Prior      border normal 1     # Hide window title | ||||
| 
 | ||||
| 		$flag+s         sticky toggle | ||||
| } | ||||
| 
 | ||||
| # Workspaces | ||||
| set { | ||||
| 	$ws1 "1:1" | ||||
| 		$ws2 "2:2" | ||||
| 		$ws3 "3:3" | ||||
| 		$ws4 "4:4" | ||||
| 		$ws5 "5:5" | ||||
| 		$ws6 "6:6" | ||||
| 		$ws7 "7:7" | ||||
| 		$ws8 "8:8" | ||||
| 		$ws9 "9:9" | ||||
| 		$ws10 "10:10" | ||||
| 		$ws11 "11:Soc" | ||||
| 		$ws12 "12:Ent" | ||||
| } | ||||
| 
 | ||||
| bindsym { | ||||
| 	$flag+ampersand     workspace $ws1 | ||||
| 		$flag+eacute        workspace $ws2 | ||||
| 		$flag+quotedbl      workspace $ws3 | ||||
| 		$flag+apostrophe    workspace $ws4 | ||||
| 		$flag+parenleft     workspace $ws5 | ||||
| 		$flag+section       workspace $ws6 | ||||
| 		$flag+egrave        workspace $ws7 | ||||
| 		$flag+exclam        workspace $ws8 | ||||
| 		$flag+ccedilla      workspace $ws9 | ||||
| 		$flag+agrave        workspace $ws10 | ||||
| 		$flag+parenright    workspace $ws11 | ||||
| 		$flag+minus         workspace $ws12 | ||||
| 
 | ||||
| 		$flag+Shift+ampersand   move container to workspace $ws1, workspace $ws1 | ||||
| 		$flag+Shift+eacute      move container to workspace $ws2, workspace $ws2 | ||||
| 		$flag+Shift+quotedbl    move container to workspace $ws3, workspace $ws3 | ||||
| 		$flag+Shift+apostrophe  move container to workspace $ws4, workspace $ws4 | ||||
| 		$flag+Shift+parenleft   move container to workspace $ws5, workspace $ws5 | ||||
| 		$flag+Shift+section     move container to workspace $ws6, workspace $ws6 | ||||
| 		$flag+Shift+egrave      move container to workspace $ws7, workspace $ws7 | ||||
| 		$flag+Shift+exclam      move container to workspace $ws8, workspace $ws8 | ||||
| 		$flag+Shift+ccedilla    move container to workspace $ws9, workspace $ws9 | ||||
| 		$flag+Shift+agrave      move container to workspace $ws10, workspace $ws10 | ||||
| 		$flag+Shift+parenright  move container to workspace $ws11, workspace $ws11 | ||||
| 		$flag+Shift+minus       move container to workspace $ws12, workspace $ws12 | ||||
| 
 | ||||
| 		$flag+Control+j focus output 'eDP-1' | ||||
| 		$flag+Control+h workspace prev_on_output | ||||
| 		$flag+Control+l workspace next_on_output | ||||
| 		$flag+Control+k focus output 'HDMI-A-1' | ||||
| 
 | ||||
| 		$flag+Control+Down  focus output 'eDP-1' | ||||
| 		$flag+Control+Left  workspace prev_on_output | ||||
| 		$flag+Control+Right workspace next_on_output | ||||
| 		$flag+Control+Up    focus output 'HDMI-A-1' | ||||
| 
 | ||||
| 		$flag+Control+Shift+j   \ | ||||
| 		move container to output 'eDP-1', focus output 'eDP-1' | ||||
| 		$flag+Control+Shift+h   \ | ||||
| 		move container to workspace prev_on_output, workspace prev_on_output | ||||
| 		$flag+Control+Shift+l   \ | ||||
| 		move container to workspace next_on_output, workspace next_on_output | ||||
| 		$flag+Control+Shift+k   \ | ||||
| 		move container to output 'HDMI-A-1', focus output 'HDMI-A-1' | ||||
| 
 | ||||
| 		$flag+Control+Shift+Down    \ | ||||
| 		move container to output 'eDP-1', focus output 'eDP-1' | ||||
| 		$flag+Control+Shift+Left    \ | ||||
| 		move container to workspace prev_on_output, workspace prev_on_output | ||||
| 		$flag+Control+Shift+Right   \ | ||||
| 		move container to workspace next_on_output, workspace next_on_output | ||||
| 		$flag+Control+Shift+Up      \ | ||||
| 		move container to output 'HDMI-A-1', focus output 'HDMI-A-1' | ||||
| } | ||||
| 
 | ||||
| # System | ||||
| bindsym --locked { | ||||
| # Brightness | ||||
| 	XF86MonBrightnessDown       exec brightnessctl -e s 5%- && $notify -b | ||||
| 		XF86MonBrightnessUp         exec brightnessctl -e s +5% && $notify -b | ||||
| 
 | ||||
| # Volume control (Pulsemixer is slow!) | ||||
| 		XF86AudioRaiseVolume        exec pamixer -i 2 --set-limit 100 && $notify -v | ||||
| 		XF86AudioLowerVolume        exec pamixer -d 2 && $notify -v | ||||
| 		XF86AudioMute               exec pamixer -t && $notify -v | ||||
| 		XF86AudioMicMute            exec pactl set-source-mute @DEFAULT_SOURCE@ toggle | ||||
| 
 | ||||
| # Media control | ||||
| 		F7                          exec playerctl play-pause | ||||
| 		Shift+XF86AudioLowerVolume  exec playerctl previous | ||||
| 		Shift+XF86AudioRaiseVolume  exec playerctl next | ||||
| } | ||||
| 
 | ||||
| # Special commands | ||||
| set $fzf ~/.scripts/fzf-jump | ||||
| bindsym { | ||||
| # Reload sway | ||||
| 	$alt+Shift+r    reload | ||||
| # Dialog to exit sway | ||||
| 		$alt+Shift+e    exec swaynag -t warning -m 'Do you really want to exit sway?' \ | ||||
| 		-B 'Yes, exit sway' 'swaymsg exit'   | ||||
| 
 | ||||
| 		$flag+q kill                    # Kill focused window | ||||
| 		$flag+Return exec $term -e bash -c "zellij attach || zellij"         # Start a terminal | ||||
|     $flag+Delete exec swaylock      # Lockscreen | ||||
| 
 | ||||
|     # Start application launcher | ||||
|     $alt+space  exec $term --title 'FZF-Jump' -e $fzf/launcher.sh | ||||
|     # Window switcher | ||||
|     $alt+Tab    exec $term --title 'FZF-Jump' -e $fzf/standalone.sh $fzf/modules/windows.sh $fzf/modules/workspaces.sh | ||||
| 
 | ||||
|     # File explorer | ||||
|     $flag+e     exec $term -e vifm | ||||
|     # Internet explorer | ||||
|     $flag+i     exec firefox | ||||
| } | ||||
							
								
								
									
										59
									
								
								arch/stow/sway/.config/sway/config
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								arch/stow/sway/.config/sway/config
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,59 @@ | |||
| # | ||||
| # .config/sway/config | ||||
| # Personal config for sway | ||||
| # Requires noto-fonts-cjk | ||||
| # | ||||
| 
 | ||||
| # Import other config files | ||||
| include { | ||||
|     commands | ||||
|     modes | ||||
|     style | ||||
| } | ||||
| 
 | ||||
| # Input | ||||
| input type:keyboard { | ||||
|     xkb_layout  "be" | ||||
| } | ||||
| 
 | ||||
| input 2:7:SynPS/2_Synaptics_TouchPad { | ||||
|     natural_scroll      enabled | ||||
|     scroll_factor       0.6 | ||||
|     middle_emulation    enabled | ||||
|     tap                 enabled | ||||
| } | ||||
| 
 | ||||
| seat seat0 hide_cursor when-typing enable | ||||
| 
 | ||||
| # Output | ||||
| output * { | ||||
|     bg "~/Pictures/wallpapers/bg.*" fill | ||||
| } | ||||
| 
 | ||||
| output 'Dell Inc. DELL P2214H 29C2937M4YTL' { | ||||
|     # Vertical monitor | ||||
|     transform   270  | ||||
| } | ||||
| 
 | ||||
| output 'Samsung Electric Company SAMSUNG 0x00000001' { | ||||
|     # Zoom in because long distance | ||||
|     scale 2 | ||||
| } | ||||
| 
 | ||||
| # Focus | ||||
| focus_follows_mouse no | ||||
| floating_modifier   Mod4 normal | ||||
| 
 | ||||
| # Window rules | ||||
| for_window [window_role="pop-up"] floating enable | ||||
| for_window [window_role="task_dialog"] floating enable | ||||
| for_window [window_role="splash"] floating enable | ||||
| 
 | ||||
| for_window [class="Qalculate"] floating enable | ||||
| for_window [class="Caprine"] floating enable, border normal 2 | ||||
| for_window [title="^FZF-Jump$"] floating enable, border pixel 0, resize set 600 350 | ||||
| 
 | ||||
| for_window [class="^Betterbird$"] move container to workspace "11:Soc" | ||||
| 
 | ||||
| exec "~/.config/sway/autostart.sh" | ||||
| 
 | ||||
							
								
								
									
										93
									
								
								arch/stow/sway/.config/sway/modes
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								arch/stow/sway/.config/sway/modes
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,93 @@ | |||
| #  | ||||
| # ~/.config/sway/modes | ||||
| # Modes for sway | ||||
| #  | ||||
| 
 | ||||
| set { | ||||
|     $alt    Mod1 | ||||
|     $flag   Mod4 | ||||
| } | ||||
| 
 | ||||
| # Resizing | ||||
| bindsym $flag+r mode "resize" | ||||
| mode "resize" bindsym { | ||||
|     l resize grow width 10 px or 10 ppt | ||||
|     k resize grow height 10 px or 10 ppt | ||||
|     h resize shrink width 10 px or 10 ppt | ||||
|     j resize shrink height 10 px or 10 ppt | ||||
| 
 | ||||
| 	Shift+l resize grow width 50 px or 50 ppt | ||||
| 	Shift+k resize grow height 50 px or 50 ppt | ||||
| 	Shift+h resize shrink width 50 px or 50 ppt | ||||
| 	Shift+j resize shrink height 50 px or 50 ppt | ||||
| 
 | ||||
|     Right   resize grow width 10 px or 10 ppt | ||||
|     Up      resize grow height 10 px or 10 ppt | ||||
|     Left    resize shrink width 10 px or 10 ppt | ||||
|     Down    resize shrink height 10 px or 10 ppt | ||||
| 
 | ||||
| 	Shift+Right resize grow width 50 px or 50 ppt | ||||
| 	Shift+Up    resize grow height 50 px or 50 ppt | ||||
| 	Shift+Left  resize shrink width 50 px or 50 ppt | ||||
| 	Shift+Down  resize shrink height 50 px or 50 ppt | ||||
| 
 | ||||
| 	$flag+h     move left | ||||
| 	$flag+j     move down | ||||
| 	$flag+k     move up | ||||
| 	$flag+l     move right | ||||
| 
 | ||||
| 	$flag+Left  move left | ||||
| 	$flag+Down  move down | ||||
| 	$flag+Up    move up | ||||
| 	$flag+Right move right | ||||
| 
 | ||||
|     Return      mode "default" | ||||
|     Escape      mode "default" | ||||
|     $flag+r     mode "default" | ||||
| } | ||||
| 
 | ||||
| # System actions | ||||
| set $mode_system System (l)ock, (s)leep, (h)ibernate, (r)eboot, (Shift+s)hutdown | ||||
| bindsym Control+$alt+Delete mode "$mode_system" | ||||
| mode "$mode_system" bindsym { | ||||
|     l       exec swaylock, mode "default" | ||||
|     s       exec systemctl suspend, mode "default" | ||||
|     h       exec systemctl hibernate, mode "default" | ||||
|     r       exec systemctl reboot, mode "default" | ||||
|     Shift+s exec systemctl poweroff -i, mode "default" | ||||
| 
 | ||||
|     Return              mode "default" | ||||
|     Escape              mode "default" | ||||
|     Control+$alt+Delete mode "default" | ||||
| } | ||||
| 
 | ||||
| # Screenshots | ||||
| set $mode_screenshot Screenshot of (a)rea, current (w)indow, (s)creen - Shift to save | ||||
| set $save_format ~/Pictures/Screenshots/$(date +%F-%H-%M-%S).png | ||||
| bindsym Print mode "$mode_screenshot" | ||||
| mode "$mode_screenshot" bindsym { | ||||
|     a exec grimshot copy area, mode "default" | ||||
|     w exec grimshot --notify copy active, mode "default" | ||||
|     s exec grimshot --notify copy screen, mode "default" | ||||
| 
 | ||||
|     Print   exec grimshot --notify save screen $save_format mode "default" # Super fast screens! | ||||
|     Shift+a exec grimshot --notify save area $save_format, mode "default" | ||||
|     Shift+w exec grimshot --notify save active $save_format, mode "default" | ||||
|     Shift+s exec grimshot --notify save screen $save_format, mode "default" | ||||
| 
 | ||||
|     Return mode "default" | ||||
|     Escape mode "default" | ||||
| } | ||||
| 
 | ||||
| # Some preferences | ||||
| set $mode_preferences Toggle (s)unset, (n)otifications, (f)ocus | ||||
| bindsym $alt+end mode "$mode_preferences" | ||||
| mode "$mode_preferences" bindsym { | ||||
|     s exec "~/.scripts/wlsunset.sh", mode "default" | ||||
|     n exec "~/.scripts/dnd.sh", mode "default" | ||||
|     f exec "~/.scripts/focus.sh", mode "default" | ||||
| 
 | ||||
|     Return      mode "default" | ||||
|     Escape      mode "default" | ||||
|     $alt+end    mode "default" | ||||
| } | ||||
							
								
								
									
										27
									
								
								arch/stow/sway/.config/sway/style
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								arch/stow/sway/.config/sway/style
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | |||
| # | ||||
| # ~/.config/sway/style  | ||||
| # Styling for sway | ||||
| # | ||||
| 
 | ||||
| # Decrease the height of the window bar thing.  | ||||
| font pango:monospace 1 | ||||
| 
 | ||||
| bar { | ||||
|     swaybar_command /usr/bin/waybar | ||||
|     mode hide | ||||
| } | ||||
| 
 | ||||
| default_border pixel 1 | ||||
| default_floating_border normal 1 | ||||
| hide_edge_borders both | ||||
| smart_borders on | ||||
| 
 | ||||
| # Mimic no titles | ||||
| #                       border  backgr. text    indic.  child_border | ||||
| client.focused          #000000 #00897b #00897b #00897b #000000 | ||||
| client.focused_inactive #000000 #222222 #222222 #222222 #000000 | ||||
| client.unfocused        #000000 #222222 #222222 #222222 #000000 | ||||
| client.urgent           #ff0000 #ff0000 #ff0000 #ff0000 #ff0000 | ||||
| 
 | ||||
| exec gsettings set org.gnome.desktop.interface icon-theme 'IcoSystem' | ||||
| exec gsettings set org.gnome.desktop.interface gtk-theme 'Nordic' | ||||
							
								
								
									
										36
									
								
								arch/stow/vifm/.config/vifm/colors/Personal.vifm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								arch/stow/vifm/.config/vifm/colors/Personal.vifm
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,36 @@ | |||
| " | ||||
| " ~/.config/vifm/colors/Personal.vifm | ||||
| " | ||||
| 
 | ||||
| " The standard ncurses colors are: | ||||
| " Default = -1 = None, can be used for transparency or default color | ||||
| " Black = 0 | ||||
| " Red = 1 | ||||
| " Green = 2 | ||||
| " Yellow = 3 | ||||
| " Blue = 4 | ||||
| " Magenta = 5 | ||||
| " Cyan = 6 | ||||
| " White = 7 | ||||
| 
 | ||||
| " Light versions of colors are also available (set bold attribute): | ||||
| " LightBlack | ||||
| " LightRed | ||||
| " LightGreen | ||||
| " LightYellow | ||||
| " LightBlue | ||||
| " LightMagenta | ||||
| " LightCyan | ||||
| " LightWhite | ||||
| 
 | ||||
| " Available attributes (some of them can be combined): | ||||
| " bold | ||||
| " underline | ||||
| " reverse or inverse | ||||
| " standout | ||||
| " none | ||||
| 
 | ||||
| " Make background and vertical borders transparent. | ||||
| highlight Win       ctermfg=12 ctermbg=-1 cterm=none | ||||
| 
 | ||||
| highlight Border    ctermfg=-1 ctermbg=-1 cterm=none | ||||
							
								
								
									
										72
									
								
								arch/stow/vifm/.config/vifm/colors/nord-light.vifm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								arch/stow/vifm/.config/vifm/colors/nord-light.vifm
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,72 @@ | |||
| " automatically converted from Vim color scheme nord-light | ||||
| 
 | ||||
| highlight clear | ||||
| 
 | ||||
| highlight Win ctermfg=7 ctermbg=0 cterm=none | ||||
| highlight OtherWin ctermfg=8 ctermbg=-1 cterm=none | ||||
| " no conversion defined for AuxWin | ||||
| " no conversion defined for OddLine | ||||
| 
 | ||||
| highlight TopLine ctermfg=7 ctermbg=0 cterm=none | ||||
| highlight TopLineSel ctermfg=6 ctermbg=8 cterm=none | ||||
| 
 | ||||
| highlight TabLine ctermfg=0 ctermbg=0 cterm=none | ||||
| highlight TabLineSel ctermfg=6 ctermbg=8 cterm=none | ||||
| 
 | ||||
| highlight JobLine ctermfg=6 ctermbg=0 cterm=none | ||||
| highlight StatusLine ctermfg=6 ctermbg=8 cterm=none | ||||
| highlight Border ctermfg=8 ctermbg=17 cterm=none | ||||
| 
 | ||||
| highlight CurrLine ctermfg=0 ctermbg=12 cterm=none | ||||
| highlight OtherLine ctermfg=0 ctermbg=4 cterm=none | ||||
| highlight LineNr ctermfg=8 ctermbg=-1 cterm=none | ||||
| 
 | ||||
| highlight Selected ctermfg=0 ctermbg=6 cterm=none | ||||
| highlight CmpMismatch ctermfg=3 ctermbg=225 cterm=reverse | ||||
| 
 | ||||
| highlight SuggestBox ctermfg=0 ctermbg=14 cterm=none | ||||
| highlight WildMenu ctermfg=0 ctermbg=0 cterm=none | ||||
| 
 | ||||
| highlight CmdLine ctermfg=7 ctermbg=0 cterm=none | ||||
| highlight ErrorMsg ctermfg=15 ctermbg=1 cterm=none | ||||
| 
 | ||||
| highlight Directory ctermfg=4 ctermbg=-1 cterm=none | ||||
| highlight Executable ctermfg=4 ctermbg=-1 cterm=none | ||||
| highlight Socket ctermfg=5 ctermbg=-1 cterm=none | ||||
| highlight Device ctermfg=15 ctermbg=-1 cterm=none | ||||
| highlight Fifo ctermfg=2 ctermbg=-1 cterm=none | ||||
| highlight Link ctermfg=5 ctermbg=-1 cterm=none | ||||
| highlight BrokenLink ctermfg=3 ctermbg=11 cterm=none | ||||
| " no conversion defined for HardLink | ||||
| 
 | ||||
| " no conversion defined for User1..User9 | ||||
| 
 | ||||
| " warnings: | ||||
| " - incomplete source color scheme: missing fg of Normal | ||||
| " - incomplete source color scheme: missing bg of Normal | ||||
| " - incomplete source color scheme: missing bg of NonText | ||||
| " - incomplete source color scheme: missing fg of StatusLineNC | ||||
| " - incomplete source color scheme: missing fg of TabLine | ||||
| " - incomplete source color scheme: missing fg of MsgSeparator | ||||
| " - incomplete source color scheme: missing bg of MsgSeparator | ||||
| " - incomplete source color scheme: missing bg of VertSplit | ||||
| " - incomplete source color scheme: missing fg of Cursor | ||||
| " - incomplete source color scheme: missing bg of Cursor | ||||
| " - incomplete source color scheme: missing fg of lCursor | ||||
| " - incomplete source color scheme: missing bg of lCursor | ||||
| " - incomplete source color scheme: missing bg of LineNr | ||||
| " - incomplete source color scheme: missing bg of DiffChange | ||||
| " - incomplete source color scheme: missing fg of Normal | ||||
| " - incomplete source color scheme: missing bg of Normal | ||||
| " - incomplete source color scheme: missing fg of Pmenu | ||||
| " - incomplete source color scheme: missing fg of Normal | ||||
| " - incomplete source color scheme: missing bg of Normal | ||||
| " - incomplete source color scheme: missing fg of ErrorMsg | ||||
| " - incomplete source color scheme: missing bg of Keyword | ||||
| " - incomplete source color scheme: missing bg of Macro | ||||
| " - incomplete source color scheme: missing fg of Debug | ||||
| " - incomplete source color scheme: missing bg of Debug | ||||
| " - incomplete source color scheme: missing bg of Delimiter | ||||
| " - incomplete source color scheme: missing bg of String | ||||
| " - incomplete source color scheme: missing bg of Number | ||||
| " - incomplete source color scheme: missing bg of Todo | ||||
							
								
								
									
										76
									
								
								arch/stow/vifm/.config/vifm/scripts/favicons.vifm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								arch/stow/vifm/.config/vifm/scripts/favicons.vifm
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,76 @@ | |||
| "  | ||||
| " ~/.config/vifm/scrips/favicons.vifm | ||||
| " | ||||
| " Requires Awesome-terminal-fonts | ||||
| 
 | ||||
| " Filetypes/directories | ||||
| set classify='  :dir:/,  :exe:,  :reg:,  :link:,?  :?:,  ::../::' | ||||
| 
 | ||||
| " File extensions | ||||
| set classify+='  ::*.txt::' | ||||
| set classify+='  ::*.bmp,,*.gif,,*.ico,,*.jpeg,,*.jpg,,*.png,,*.svg,,*.svgz,,*.tga,,*.tiff,,*.xmb,,*.xcf,,*.xpm,,*.xspf,,*.xwd,,*.cr2,,*.dng,,*.3fr,,*.ari,,*.arw,,*.bay,,*.crw,,*.cr3,,*.cap,,*.data,,*.dcs,,*.dcr,,*.drf,,*.eip,,*.erf,,*.fff,,*.gpr,,*.iiq,,*.k25,,*.kdc,,*.mdc,,*.mef,,*.mos,,*.mrw,,*.obm,,*.orf,,*.pef,,*.ptx,,*.pxn,,*.r3d,,*.raf,,*.raw,,*.rwl,,*.rw2,,*.rwz,,*.sr2,,*.srf,,*.srw,,*.tif,,*.x3f::' | ||||
| set classify+='  ::*.aac,,*.anx,,*.asf,,*.au,,*.axa,,*.flac,,*.m2a,,*.m4a,,*.mid,,*.midi,,*.mp3,,*.mpc,,*.oga,,*.ogg,,*.ogx,,*.ra,,*.ram,,*.rm,,*.spx,,*.wav,,*.wma,,*.ac3::' | ||||
| set classify+='  ::*:avi,,*.flv,,*.mkv,,*.mov,,*.mp4,,*.mpeg,,*.mpg,,*.webm::' | ||||
| set classify+='  ::*.epub,,*.pdf,,*.fb2,,*.djvu::' | ||||
| set classify+='  ::*.7z,,*.apk,,*.bz2,,*.cab,,*.cpio,,*.deb,,*.gem,,*.gz,,*.gzip,,*.lh,,*.lzh,,*.lzma,,*.rar,,*.rpm,,*.tar,,*.tgz,,*.xz,,*.zip::' | ||||
| set classify+='  ::*.cbr,,*.cbz::' | ||||
| set classify+='  ::*.log::' | ||||
| set classify+='  ::*.doc,,*.docx,,*.adoc::' | ||||
| set classify+='  ::*.xls,,*.xlsmx,,*.xlsx,,*.ods::' | ||||
| set classify+='  ::*.pptx,,*.ppt::' | ||||
| 
 | ||||
| " Specific files | ||||
| set classify+='  ::dropbox::' | ||||
| set classify+='  ::favicon.*,,README,,readme,,README.md,,readme.md::' | ||||
| set classify+='  ::.vim,,.vimrc,,.gvimrc,,.vifm::' | ||||
| set classify+='  ::gruntfile.coffee,,gruntfile.js,,gruntfile.ls::' | ||||
| set classify+='  ::gulpfile.coffee,,gulpfile.js,,gulpfile.ls::' | ||||
| set classify+='  ::ledger::' | ||||
| set classify+='  ::license,,copyright,,copying,,LICENSE,,COPYRIGHT,,COPYING::' | ||||
| set classify+='  ::node_modules::' | ||||
| set classify+='  ::react.jsx::' | ||||
| 
 | ||||
| " Programming languages | ||||
| set classify+='  ::*.py,,*.pyc,,*.pyd,,*.pyo::' | ||||
| set classify+='  ::*.php::' | ||||
| set classify+='  ::*.markdown,,*.md::' | ||||
| set classify+='{} ::*.json,,*.mcmeta::' | ||||
| set classify+='  ::*.js::' | ||||
| set classify+='  ::*.htm,,*.html::"' | ||||
| set classify+='#  ::*.css,,*.less,,*.bat,,*.conf,,*.ini,,*.rc,,*.yml,,*.cfg::' | ||||
| set classify+='  ::*.rss::' | ||||
| set classify+='  ::*.go::' | ||||
| set classify+='  ::*.ts::' | ||||
| set classify+='  ::*.db,,*.dump,,*.sql::' | ||||
| set classify+='  ::*.exe,,*.sln,,*.suo::' | ||||
| set classify+='  ::*.java,,*.jar::' | ||||
| set classify+='  ::*.fish,,*.sh,,*.bash::' | ||||
| set classify+='  ::*.ejs,,*.slim,,*.xml::' | ||||
| set classify+='C  ::*.c++,,*.cpp,,*.cxx,,*.h,,*.cc,,*.c::' | ||||
| set classify+='  ::*.coffee::' | ||||
| 
 | ||||
| " Unsorted and unconverted | ||||
| set classify+='λ  ::*.ml,,*.mli::' | ||||
| set classify+='  ::*.styl::' | ||||
| set classify+='  ::*.scss::' | ||||
| set classify+='  ::*.mustasche::' | ||||
| set classify+='  ::*.twig::' | ||||
| set classify+='  ::*.hs,,*.lhs::' | ||||
| set classify+='  ::*.lua::' | ||||
| set classify+='  ::*.jl::' | ||||
| set classify+='  ::*.diff,,*.sum,,*.md5,,*.sha512::' | ||||
| set classify+='  ::*.scala::' | ||||
| set classify+='  ::*.xul::' | ||||
| set classify+='  ::*.clj,,*.cljc::' | ||||
| set classify+='  ::*.pl,,*.pm,,*.t::' | ||||
| set classify+='  ::*.cljs,,*.edn::' | ||||
| set classify+='  ::*.rb::' | ||||
| set classify+='  ::*.dart::' | ||||
| set classify+='  ::*.f#,,*.fs,,*.fsi,,*.fsscript,,*.fsx::' | ||||
| set classify+='  ::*.rlib,,*.rs::' | ||||
| set classify+='  ::*.d::' | ||||
| set classify+='  ::*.erl,,*.hrl::' | ||||
| set classify+='  ::*.ai::' | ||||
| set classify+='  ::*.psb,,*.psd::' | ||||
| set classify+='  ::*.jsx::' | ||||
| 
 | ||||
							
								
								
									
										529
									
								
								arch/stow/vifm/.config/vifm/vifmrc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										529
									
								
								arch/stow/vifm/.config/vifm/vifmrc
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,529 @@ | |||
| " | ||||
| " ~/.config/vifm/vifmrc | ||||
| " | ||||
| 
 | ||||
| " vim: filetype=vifm : | ||||
| " Sample configuration file for vifm (last updated: 31 August, 2021) | ||||
| " You can edit this file by hand. | ||||
| " The " character at the beginning of a line comments out the line. | ||||
| " Blank lines are ignored. | ||||
| " The basic format for each item is shown with an example. | ||||
| 
 | ||||
| " ------------------------------------------------------------------------------ | ||||
| 
 | ||||
| " Command used to edit files in various contexts.  The default is vim. | ||||
| " If you would like to use another vi clone such as Elvis or Vile | ||||
| " you will need to change this setting. | ||||
| 
 | ||||
| " ------------------------------------------------------------------------------ | ||||
| 
 | ||||
| " Command used to edit files in various contexts.  The default is vim. | ||||
| " If you would like to use another vi clone such as Elvis or Vile | ||||
| " you will need to change this setting. | ||||
| 
 | ||||
| if executable('vim') | ||||
|     set vicmd=vim | ||||
| elseif executable('nvim') | ||||
|     set vicmd=nvim | ||||
| elseif executable('elvis') | ||||
|     set vicmd=elvis\ -G\ termcap | ||||
| elseif executable('vile') | ||||
|     set vicmd=vile | ||||
| elseif $EDITOR != '' | ||||
|     echo 'Note: using `'.$EDITOR.'` as an editor' | ||||
|     let &vicmd = $EDITOR | ||||
| endif | ||||
| 
 | ||||
| " This makes vifm perform file operations on its own instead of relying on | ||||
| " standard utilities like `cp`.  While using `cp` and alike is a more universal | ||||
| " solution, it's also much slower when processing large amounts of files and | ||||
| " doesn't support progress measuring. | ||||
| 
 | ||||
| set syscalls | ||||
| 
 | ||||
| " Trash Directory | ||||
| " The default is to move files that are deleted with dd or :d to | ||||
| " the trash directory.  If you change this you will not be able to move | ||||
| " files by deleting them and then using p to put the file in the new location. | ||||
| " I recommend not changing this until you are familiar with vifm. | ||||
| " This probably shouldn't be an option. | ||||
| 
 | ||||
| set trash | ||||
| 
 | ||||
| " This is how many directories to store in the directory history. | ||||
| 
 | ||||
| set history=100 | ||||
| 
 | ||||
| " Automatically resolve symbolic links on l or Enter. | ||||
| 
 | ||||
| set nofollowlinks | ||||
| 
 | ||||
| " Natural sort of (version) numbers within text. | ||||
| 
 | ||||
| set sortnumbers | ||||
| 
 | ||||
| " Maximum number of changes that can be undone. | ||||
| 
 | ||||
| set undolevels=100 | ||||
| 
 | ||||
| " Use Vim's format of help file (has highlighting and "hyperlinks"). | ||||
| " If you would rather use a plain text help file set novimhelp. | ||||
| 
 | ||||
| set vimhelp | ||||
| 
 | ||||
| " If you would like to run an executable file when you | ||||
| " press Enter, l or Right Arrow, set this. | ||||
| 
 | ||||
| set norunexec | ||||
| 
 | ||||
| " List of color schemes to try (picks the first one supported by the terminal) | ||||
| 
 | ||||
| colorscheme Personal Default-256 Default | ||||
| 
 | ||||
| " Format for displaying time in file list. For example: | ||||
| " TIME_STAMP_FORMAT=%m/%d-%H:%M | ||||
| " See man date or man strftime for details. | ||||
| 
 | ||||
| set timefmt=%m/%d\ %H:%M | ||||
| 
 | ||||
| " Show list of matches on tab completion in command-line mode | ||||
| 
 | ||||
| set wildmenu | ||||
| 
 | ||||
| " Display completions in a form of popup with descriptions of the matches | ||||
| 
 | ||||
| set wildstyle=popup | ||||
| 
 | ||||
| " Display suggestions in normal, visual and view modes for keys, marks and | ||||
| " registers (at most 5 files).  In other view, when available. | ||||
| 
 | ||||
| set suggestoptions=normal,visual,view,otherpane,keys,marks,registers | ||||
| 
 | ||||
| " Ignore case in search patterns unless it contains at least one uppercase | ||||
| " letter | ||||
| 
 | ||||
| set ignorecase | ||||
| set smartcase | ||||
| 
 | ||||
| " Don't highlight search results automatically | ||||
| 
 | ||||
| set nohlsearch | ||||
| 
 | ||||
| " Use increment searching (search while typing) | ||||
| set incsearch | ||||
| 
 | ||||
| " Try to leave some space from cursor to upper/lower border in lists | ||||
| 
 | ||||
| set scrolloff=4 | ||||
| 
 | ||||
| " Don't do too many requests to slow file systems | ||||
| 
 | ||||
| if !has('win') | ||||
|     set slowfs=curlftpfs | ||||
| endif | ||||
| 
 | ||||
| " Set custom status line look | ||||
| 
 | ||||
| set statusline="  Hint: %z%= %A %10u:%-7g %15E %20d  " | ||||
| 
 | ||||
| " ------------------------------------------------------------------------------ | ||||
| 
 | ||||
| " :mark mark /full/directory/path [filename] | ||||
| 
 | ||||
| mark b ~/bin/ | ||||
| mark h ~/ | ||||
| 
 | ||||
| " ------------------------------------------------------------------------------ | ||||
| 
 | ||||
| " :com[mand][!] command_name action | ||||
| " The following macros can be used in a command | ||||
| " %a is replaced with the user arguments. | ||||
| " %c the current file under the cursor. | ||||
| " %C the current file under the cursor in the other directory. | ||||
| " %f the current selected file, or files. | ||||
| " %F the current selected file, or files in the other directory. | ||||
| " %b same as %f %F. | ||||
| " %d the current directory name. | ||||
| " %D the other window directory name. | ||||
| " %m run the command in a menu window | ||||
| 
 | ||||
| command! df df -h %m 2> /dev/null | ||||
| command! diff vim -d %f %F | ||||
| command! zip zip -r %c.zip %f | ||||
| command! run !! ./%f | ||||
| command! make !!make %a | ||||
| command! mkcd :mkdir %a | cd %a | ||||
| command! vgrep vim "+grep %a" | ||||
| command! reload :write | restart full | ||||
| 
 | ||||
| " ------------------------------------------------------------------------------ | ||||
| 
 | ||||
| " The file type is for the default programs to be used with | ||||
| " a file extension. | ||||
| " :filetype pattern1,pattern2 defaultprogram,program2 | ||||
| " :fileviewer pattern1,pattern2 consoleviewer | ||||
| " The other programs for the file type can be accessed with the :file command | ||||
| " The command macros like %f, %F, %d, %D may be used in the commands. | ||||
| " The %a macro is ignored.  To use a % you must put %%. | ||||
| 
 | ||||
| " For automated FUSE mounts, you must register an extension with :file[x]type | ||||
| " in one of following formats: | ||||
| " | ||||
| " :filetype extensions FUSE_MOUNT|some_mount_command using %SOURCE_FILE and %DESTINATION_DIR variables | ||||
| " %SOURCE_FILE and %DESTINATION_DIR are filled in by vifm at runtime. | ||||
| " A sample line might look like this: | ||||
| " :filetype *.zip,*.jar,*.war,*.ear FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR | ||||
| " | ||||
| " :filetype extensions FUSE_MOUNT2|some_mount_command using %PARAM and %DESTINATION_DIR variables | ||||
| " %PARAM and %DESTINATION_DIR are filled in by vifm at runtime. | ||||
| " A sample line might look like this: | ||||
| " :filetype *.ssh FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR | ||||
| " %PARAM value is filled from the first line of file (whole line). | ||||
| " Example first line for SshMount filetype: root@127.0.0.1:/ | ||||
| " | ||||
| " You can also add %CLEAR if you want to clear screen before running FUSE | ||||
| " program. | ||||
| 
 | ||||
| " Pdf | ||||
| filextype {*.pdf},<application/pdf> zathura %c %i &, apvlv %c, xpdf %c, evince & | ||||
| fileviewer {*.pdf},<application/pdf> pdftotext -nopgbrk %c - | ||||
| 
 | ||||
| " PostScript | ||||
| filextype {*.ps,*.eps,*.ps.gz},<application/postscript> | ||||
|         \ {View in zathura} | ||||
|         \ zathura %f, | ||||
|         \ {View in gv} | ||||
|         \ gv %c %i &, | ||||
| 
 | ||||
| " Djvu | ||||
| filextype {*.djvu},<image/vnd.djvu> | ||||
|         \ {View in zathura} | ||||
|         \ zathura %f, | ||||
|         \ {View in apvlv} | ||||
|         \ apvlv %f, | ||||
| 
 | ||||
| " Audio | ||||
| filetype {*.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus}, | ||||
|         \<audio/*> | ||||
|         \ {Play using ffplay} | ||||
|         \ ffplay -nodisp -autoexit %c, | ||||
|         \ {Play using MPlayer} | ||||
|         \ mplayer %f, | ||||
| fileviewer {*.mp3},<audio/mpeg> mp3info | ||||
| fileviewer {*.flac},<audio/flac> soxi | ||||
| 
 | ||||
| " Video | ||||
| filextype {*.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob, | ||||
|           \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx, | ||||
|           \*.as[fx]}, | ||||
|          \<video/*> | ||||
|         \ vlc %f &, | ||||
|         \ {View using ffplay} | ||||
|         \ ffplay -fs -autoexit %f, | ||||
|         \ {View using Dragon} | ||||
|         \ dragon %f:p, | ||||
|         \ {View using mplayer} | ||||
|         \ mplayer %f, | ||||
| fileviewer {*.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob, | ||||
|            \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx, | ||||
|            \*.as[fx]}, | ||||
|           \<video/*> | ||||
|          \ ffprobe -pretty %c 2>&1 | ||||
| 
 | ||||
| " Web | ||||
| filextype {*.html,*.htm},<text/html> | ||||
|         \ {Open with dwb} | ||||
|         \ dwb %f %i &, | ||||
|         \ {Open with firefox} | ||||
|         \ firefox %f &, | ||||
|         \ {Open with uzbl} | ||||
|         \ uzbl-browser %f %i &, | ||||
| filetype {*.html,*.htm},<text/html> links, lynx | ||||
| 
 | ||||
| " Object | ||||
| filetype {*.o},<application/x-object> nm %f | less | ||||
| 
 | ||||
| " Man page | ||||
| filetype {*.[1-8]},<text/troff> man ./%c | ||||
| fileviewer {*.[1-8]},<text/troff> man ./%c | col -b | ||||
| 
 | ||||
| " Images | ||||
| filextype {*.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm},<image/*> | ||||
|         \ {View in sxiv} | ||||
|         \ sxiv %f, | ||||
|         \ {View in gpicview} | ||||
|         \ gpicview %c, | ||||
|         \ {View in shotwell} | ||||
|         \ shotwell, | ||||
|         \ gwenview &, | ||||
| fileviewer {*.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm},<image/*> | ||||
|          \ chafa, | ||||
|          \ identify %f, | ||||
| 
 | ||||
| " OpenRaster | ||||
| filextype *.ora | ||||
|         \ {Edit in MyPaint} | ||||
|         \ mypaint %f, | ||||
| 
 | ||||
| " Mindmap | ||||
| filextype *.vym | ||||
|         \ {Open with VYM} | ||||
|         \ vym %f &, | ||||
| 
 | ||||
| " Markdown | ||||
| filextype {*.md} | ||||
|     \ typora, | ||||
| fileviewer {*.md} | ||||
|     \ glow, | ||||
| 
 | ||||
| " MD5 | ||||
| filetype *.md5 | ||||
|        \ {Check MD5 hash sum} | ||||
|        \ md5sum -c %f %S, | ||||
| 
 | ||||
| " SHA1 | ||||
| filetype *.sha1 | ||||
|        \ {Check SHA1 hash sum} | ||||
|        \ sha1sum -c %f %S, | ||||
| 
 | ||||
| " SHA256 | ||||
| filetype *.sha256 | ||||
|        \ {Check SHA256 hash sum} | ||||
|        \ sha256sum -c %f %S, | ||||
| 
 | ||||
| " SHA512 | ||||
| filetype *.sha512 | ||||
|        \ {Check SHA512 hash sum} | ||||
|        \ sha512sum -c %f %S, | ||||
| 
 | ||||
| " GPG signature | ||||
| filetype {*.asc},<application/pgp-signature> | ||||
|        \ {Check signature} | ||||
|        \ !!gpg --verify %c, | ||||
| 
 | ||||
| " Torrent | ||||
| filetype {*.torrent},<application/x-bittorrent> ktorrent %f & | ||||
| fileviewer {*.torrent},<application/x-bittorrent> dumptorrent -v %c | ||||
| 
 | ||||
| " FuseZipMount | ||||
| filetype {*.zip,*.jar,*.war,*.ear,*.oxt,*.apkg}, | ||||
|         \<application/zip,application/java-archive> | ||||
|        \ {Mount with fuse-zip} | ||||
|        \ FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR, | ||||
|        \ {View contents} | ||||
|        \ zip -sf %c | less, | ||||
|        \ {Extract here} | ||||
|        \ tar -xf %c, | ||||
| fileviewer *.zip,*.jar,*.war,*.ear,*.oxt zip -sf %c | ||||
| 
 | ||||
| " ArchiveMount | ||||
| filetype {*.tar,*.tar.bz2,*.tbz2,*.tgz,*.tar.gz,*.tar.xz,*.txz,*.tar.zst,*.tzst}, | ||||
|         \<application/x-tar> | ||||
|        \ {Mount with archivemount} | ||||
|        \ FUSE_MOUNT|archivemount %SOURCE_FILE %DESTINATION_DIR, | ||||
| fileviewer *.tgz,*.tar.gz tar -tzf %c | ||||
| fileviewer *.tar.bz2,*.tbz2 tar -tjf %c | ||||
| fileviewer *.tar.xz,*.txz tar -tJf %c | ||||
| fileviewer *.tar.zst,*.tzst tar -t --zstd -f %c | ||||
| fileviewer {*.tar},<application/x-tar> tar -tf %c | ||||
| 
 | ||||
| " Rar2FsMount and rar archives | ||||
| filetype {*.rar},<application/x-rar> | ||||
|        \ {Mount with rar2fs} | ||||
|        \ FUSE_MOUNT|rar2fs %SOURCE_FILE %DESTINATION_DIR, | ||||
| fileviewer {*.rar},<application/x-rar> unrar v %c | ||||
| 
 | ||||
| " IsoMount | ||||
| filetype {*.iso},<application/x-iso9660-image> | ||||
|        \ {Mount with fuseiso} | ||||
|        \ FUSE_MOUNT|fuseiso %SOURCE_FILE %DESTINATION_DIR, | ||||
| 
 | ||||
| " SshMount | ||||
| filetype *.ssh | ||||
|        \ {Mount with sshfs} | ||||
|        \ FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR %FOREGROUND, | ||||
| 
 | ||||
| " FtpMount | ||||
| filetype *.ftp | ||||
|        \ {Mount with curlftpfs} | ||||
|        \ FUSE_MOUNT2|curlftpfs -o ftp_port=-,,disable_eprt %PARAM %DESTINATION_DIR %FOREGROUND, | ||||
| 
 | ||||
| " Fuse7z and 7z archives | ||||
| filetype {*.7z},<application/x-7z-compressed> | ||||
|        \ {Mount with fuse-7z} | ||||
|        \ FUSE_MOUNT|fuse-7z %SOURCE_FILE %DESTINATION_DIR, | ||||
| fileviewer {*.7z},<application/x-7z-compressed> 7z l %c | ||||
| 
 | ||||
| " Office files | ||||
| filextype {*.odt,*.doc,*.docx,*.xls,*.xlsx,*.odp,*.pptx,*.ppt}, | ||||
|          \<application/vnd.openxmlformats-officedocument.*, | ||||
|           \application/msword, | ||||
|           \application/vnd.ms-excel> | ||||
|         \ libreoffice %f & | ||||
| fileviewer {*.doc},<application/msword> catdoc %c | ||||
| fileviewer {*.docx}, | ||||
|           \<application/ | ||||
|            \vnd.openxmlformats-officedocument.wordprocessingml.document> | ||||
|          \ docx2txt.pl %f - | ||||
| 
 | ||||
| " TuDu files | ||||
| filetype *.tudu tudu -f %c | ||||
| 
 | ||||
| " Qt projects | ||||
| filextype *.pro qtcreator %f & | ||||
| 
 | ||||
| " Directories | ||||
| filextype */ | ||||
|         \ {View in thunar} | ||||
|         \ Thunar %f &, | ||||
| 
 | ||||
| " Syntax highlighting in preview | ||||
| " | ||||
| " Explicitly set highlight type for some extensions | ||||
| " | ||||
| " 256-color terminal | ||||
| " fileviewer *.[ch],*.[ch]pp highlight -O xterm256 -s dante --syntax c %c | ||||
| " fileviewer Makefile,Makefile.* highlight -O xterm256 -s dante --syntax make %c | ||||
| " | ||||
| " 16-color terminal | ||||
| " fileviewer *.c,*.h highlight -O ansi -s dante %c | ||||
| " | ||||
| " Or leave it for automatic detection | ||||
| " | ||||
| " fileviewer *[^/] pygmentize -O style=monokai -f console256 -g | ||||
| 
 | ||||
| " Displaying pictures in terminal | ||||
| " | ||||
| " fileviewer *.jpg,*.png shellpic %c | ||||
| 
 | ||||
| " Open all other files with default system programs (you can also remove all | ||||
| " :file[x]type commands above to ensure they don't interfere with system-wide | ||||
| " settings).  By default all unknown files are opened with 'vi[x]cmd' | ||||
| " uncommenting one of lines below will result in ignoring 'vi[x]cmd' option | ||||
| " for unknown file types. | ||||
| " For *nix: | ||||
| " filetype * xdg-open | ||||
| " For OS X: | ||||
| " filetype * open | ||||
| " For Windows: | ||||
| " filetype * start, explorer %"f & | ||||
| 
 | ||||
| " ------------------------------------------------------------------------------ | ||||
| 
 | ||||
| " What should be saved automatically between vifm sessions.  Drop "savedirs" | ||||
| " value if you don't want vifm to remember last visited directories for you. | ||||
| set vifminfo=dhistory,savedirs,chistory,state,tui,shistory, | ||||
|     \phistory,fhistory,dirstack,registers,bookmarks,bmarks | ||||
| 
 | ||||
| " ------------------------------------------------------------------------------ | ||||
| 
 | ||||
| " Examples of configuring both panels | ||||
| 
 | ||||
| " Customize view columns a bit (enable ellipsis for truncated file names) | ||||
| " | ||||
| " set viewcolumns=-{name}..,6{}. | ||||
| 
 | ||||
| " Filter-out build and temporary files | ||||
| " | ||||
| " filter! {*.lo,*.o,*.d,*.class,*.pyc,*.pyo,.*~} | ||||
| 
 | ||||
| " ------------------------------------------------------------------------------ | ||||
| 
 | ||||
| " Sample mappings | ||||
| 
 | ||||
| " Start shell in current directory | ||||
| nnoremap s :shell<cr> | ||||
| 
 | ||||
| " Display sorting dialog | ||||
| nnoremap S :sort<cr> | ||||
| 
 | ||||
| " Toggle visibility of preview window | ||||
| nnoremap w :view<cr> | ||||
| vnoremap w :view<cr>gv | ||||
| 
 | ||||
| " Open file in existing instance of gvim | ||||
| nnoremap o :!gvim --remote-tab-silent %f<cr> | ||||
| " Open file in new instance of gvim | ||||
| nnoremap O :!gvim %f<cr> | ||||
| 
 | ||||
| " Open file in the background using its default program | ||||
| nnoremap gb :file &<cr>l | ||||
| 
 | ||||
| " Interaction with system clipboard | ||||
| if has('win') | ||||
|     " Yank current directory path to Windows clipboard with forward slashes | ||||
|     nnoremap yp :!echo %"d:gs!\!/! %i | clip<cr> | ||||
|     " Yank path to current file to Windows clipboard with forward slashes | ||||
|     nnoremap yf :!echo %"c:gs!\!/! %i | clip<cr> | ||||
| elseif executable('xclip') | ||||
|     " Yank current directory path into the clipboard | ||||
|     nnoremap yd :!echo %d | xclip %i<cr> | ||||
|     " Yank current file path into the clipboard | ||||
|     nnoremap yf :!echo %c:p | xclip %i<cr> | ||||
| elseif executable('xsel') | ||||
|     " Yank current directory path into primary and selection clipboards | ||||
|     nnoremap yd :!echo -n %d | xsel --input --primary %i && | ||||
|                 \ echo -n %d | xsel --clipboard --input %i<cr> | ||||
|     " Yank current file path into into primary and selection clipboards | ||||
|     nnoremap yf :!echo -n %c:p | xsel --input --primary %i && | ||||
|                 \ echo -n %c:p | xsel --clipboard --input %i<cr> | ||||
| endif | ||||
| 
 | ||||
| " Mappings for faster renaming | ||||
| nnoremap I cw<c-a> | ||||
| nnoremap cc cw<c-u> | ||||
| nnoremap A cw | ||||
| 
 | ||||
| " Open console in current directory | ||||
| nnoremap ,t :!xterm &<cr> | ||||
| 
 | ||||
| " Open editor to edit vifmrc and apply settings after returning to vifm | ||||
| nnoremap ,c :write | edit $MYVIFMRC | restart full<cr> | ||||
| " Open gvim to edit vifmrc | ||||
| nnoremap ,C :!gvim --remote-tab-silent $MYVIFMRC &<cr> | ||||
| 
 | ||||
| " Toggle wrap setting on ,w key | ||||
| nnoremap ,w :set wrap!<cr> | ||||
| 
 | ||||
| " Example of standard two-panel file managers mappings | ||||
| nnoremap <f3> :!less %f<cr> | ||||
| nnoremap <f4> :edit<cr> | ||||
| nnoremap <f5> :copy<cr> | ||||
| nnoremap <f6> :move<cr> | ||||
| nnoremap <f7> :mkdir<space> | ||||
| nnoremap <f8> :delete<cr> | ||||
| 
 | ||||
| " Midnight commander alike mappings | ||||
| " Open current directory in the other pane | ||||
| nnoremap <a-i> :sync<cr> | ||||
| " Open directory under cursor in the other pane | ||||
| nnoremap <a-o> :sync %c<cr> | ||||
| " Swap panes | ||||
| nnoremap <c-u> <c-w>x | ||||
| 
 | ||||
| " ------------------------------------------------------------------------------ | ||||
| 
 | ||||
| " Various customization examples | ||||
| 
 | ||||
| " Use ag (the silver searcher) instead of grep | ||||
| " | ||||
| " set grepprg='ag --line-numbers %i %a %s' | ||||
| 
 | ||||
| " Add additional place to look for executables | ||||
| " | ||||
| " let $PATH = $HOME.'/bin/fuse:'.$PATH | ||||
| 
 | ||||
| " Block particular shortcut | ||||
| " | ||||
| " nnoremap <left> <nop> | ||||
| 
 | ||||
| " Export IPC name of current instance as environment variable and use it to | ||||
| " communicate with the instance later. | ||||
| " | ||||
| " It can be used in some shell script that gets run from inside vifm, for | ||||
| " example, like this: | ||||
| "     vifm --server-name "$VIFM_SERVER_NAME" --remote +"cd '$PWD'" | ||||
| " | ||||
| " let $VIFM_SERVER_NAME = v:servername | ||||
| 
 | ||||
| source /home/tdpeuter/.config/vifm/scripts/favicons.vifm | ||||
							
								
								
									
										2812
									
								
								arch/stow/vim/.vim/autoload/plug.vim
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2812
									
								
								arch/stow/vim/.vim/autoload/plug.vim
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										133
									
								
								arch/stow/vim/.vim/colors/catppuccin_mocha_mod.vim
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								arch/stow/vim/.vim/colors/catppuccin_mocha_mod.vim
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,133 @@ | |||
| " Name: catppuccin_mocha.vim | ||||
| 
 | ||||
| set background=dark | ||||
| hi clear | ||||
| 
 | ||||
| if exists('syntax on') | ||||
|     syntax reset | ||||
| endif | ||||
| 
 | ||||
| let g:colors_name='catppuccin_mocha_mod' | ||||
| set t_Co=256 | ||||
| set cursorline | ||||
| 
 | ||||
| " rosewater = "#F5E0DC" | ||||
| " flamingo = "#F2CDCD" | ||||
| " pink = "#F5C2E7" | ||||
| " mauve = "#CBA6F7" | ||||
| " red = "#F38BA8" | ||||
| " maroon = "#EBA0AC" | ||||
| " peach = "#FAB387" | ||||
| " yellow = "#F9E2AF" | ||||
| " green = "#A6E3A1" | ||||
| " teal = "#94E2D5" | ||||
| " sky = "#89DCEB" | ||||
| " sapphire = "#74C7EC" | ||||
| " blue = "#89B4FA" | ||||
| " lavender = "#B4BEFE" | ||||
| 
 | ||||
| " text = "#CDD6F4" | ||||
| " subtext1 = "#BAC2DE" | ||||
| " subtext0 = "#A6ADC8" | ||||
| " overlay2 = "#9399B2" | ||||
| " overlay1 = "#7F849C" | ||||
| " overlay0 = "#6C7086" | ||||
| " surface2 = "#585B70" | ||||
| " surface1 = "#45475A" | ||||
| " surface0 = "#313244" | ||||
| 
 | ||||
| " base = "#1E1E2E" | ||||
| " mantle = "#181825" | ||||
| " crust = "#11111B" | ||||
| 
 | ||||
| hi Normal           guisp=NONE      guifg=#CDD6F4   guibg=#1E1E2E   ctermfg=254     ctermbg=None  gui=NONE           cterm=NONE | ||||
| hi Visual           guisp=NONE      guifg=NONE      guibg=#45475A   ctermfg=NONE    ctermbg=240  gui=bold           cterm=bold | ||||
| 
 | ||||
| hi Conceal          guisp=NONE      guifg=#7F849C   guibg=NONE      ctermfg=246     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi ColorColumn      guisp=NONE      guifg=NONE      guibg=#313244   ctermfg=NONE    ctermbg=236  gui=NONE           cterm=NONE | ||||
| hi Cursor           guisp=NONE      guifg=#1E1E2E   guibg=#CDD6F4   ctermfg=235     ctermbg=254  gui=NONE           cterm=NONE | ||||
| hi lCursor          guisp=NONE      guifg=#1E1E2E   guibg=#CDD6F4   ctermfg=235     ctermbg=254  gui=NONE           cterm=NONE | ||||
| hi CursorIM         guisp=NONE      guifg=#1E1E2E   guibg=#CDD6F4   ctermfg=235     ctermbg=254  gui=NONE           cterm=NONE | ||||
| hi CursorColumn     guisp=NONE      guifg=NONE      guibg=#181825   ctermfg=NONE    ctermbg=234  gui=NONE           cterm=NONE | ||||
| hi CursorLine       guisp=NONE      guifg=NONE      guibg=#313244   ctermfg=NONE    ctermbg=None gui=NONE           cterm=underline | ||||
| hi Directory        guisp=NONE      guifg=#89B4FA   guibg=NONE      ctermfg=117     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi DiffAdd          guisp=NONE      guifg=#1E1E2E   guibg=#A6E3A1   ctermfg=235     ctermbg=151  gui=NONE           cterm=NONE | ||||
| hi DiffChange       guisp=NONE      guifg=#1E1E2E   guibg=#F9E2AF   ctermfg=235     ctermbg=223  gui=NONE           cterm=NONE | ||||
| hi DiffDelete       guisp=NONE      guifg=#1E1E2E   guibg=#F38BA8   ctermfg=235     ctermbg=211  gui=NONE           cterm=NONE | ||||
| hi DiffText         guisp=NONE      guifg=#1E1E2E   guibg=#89B4FA   ctermfg=235     ctermbg=117  gui=NONE           cterm=NONE | ||||
| hi EndOfBuffer      guisp=NONE      guifg=NONE      guibg=NONE      ctermfg=NONE    ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi ErrorMsg         guisp=NONE      guifg=#F38BA8   guibg=NONE      ctermfg=211     ctermbg=NONE gui=bold,italic    cterm=bold,italic | ||||
| hi VertSplit        guisp=NONE      guifg=#11111B   guibg=NONE      ctermfg=234     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Folded           guisp=NONE      guifg=#89B4FA   guibg=#45475A   ctermfg=117     ctermbg=240  gui=NONE           cterm=NONE | ||||
| hi FoldColumn       guisp=NONE      guifg=#6C7086   guibg=#1E1E2E   ctermfg=243     ctermbg=235  gui=NONE           cterm=NONE | ||||
| hi SignColumn       guisp=NONE      guifg=#45475A   guibg=#1E1E2E   ctermfg=240     ctermbg=235  gui=NONE           cterm=NONE | ||||
| hi IncSearch        guisp=NONE      guifg=#45475A   guibg=#F5C2E7   ctermfg=240     ctermbg=218  gui=NONE           cterm=NONE | ||||
| hi CursorLineNR     guisp=NONE      guifg=#B4BEFE   guibg=NONE      ctermfg=NONE    ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi LineNr           guisp=NONE      guifg=#45475A   guibg=NONE      ctermfg=240     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi MatchParen       guisp=NONE      guifg=#FAB387   guibg=NONE      ctermfg=216     ctermbg=NONE gui=bold           cterm=bold | ||||
| hi ModeMsg          guisp=NONE      guifg=#CDD6F4   guibg=NONE      ctermfg=254     ctermbg=NONE gui=bold           cterm=bold | ||||
| hi MoreMsg          guisp=NONE      guifg=#89B4FA   guibg=NONE      ctermfg=117     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi NonText          guisp=NONE      guifg=#6C7086   guibg=NONE      ctermfg=243     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Pmenu            guisp=NONE      guifg=#9399B2   guibg=#313244   ctermfg=251     ctermbg=236  gui=NONE           cterm=NONE | ||||
| hi PmenuSel         guisp=NONE      guifg=#CDD6F4   guibg=#45475A   ctermfg=254     ctermbg=240  gui=bold           cterm=bold | ||||
| hi PmenuSbar        guisp=NONE      guifg=NONE      guibg=#45475A   ctermfg=NONE    ctermbg=240  gui=NONE           cterm=NONE | ||||
| hi PmenuThumb       guisp=NONE      guifg=NONE      guibg=#6C7086   ctermfg=NONE    ctermbg=243  gui=NONE           cterm=NONE | ||||
| hi Question         guisp=NONE      guifg=#89B4FA   guibg=NONE      ctermfg=117     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi QuickFixLine     guisp=NONE      guifg=NONE      guibg=#45475A   ctermfg=NONE    ctermbg=240  gui=bold           cterm=bold | ||||
| hi Search           guisp=NONE      guifg=#F5C2E7   guibg=#45475A   ctermfg=218     ctermbg=240  gui=bold           cterm=bold | ||||
| hi SpecialKey       guisp=NONE      guifg=#A6ADC8   guibg=NONE      ctermfg=254     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi SpellBad         guisp=#F38BA8   guifg=NONE      guibg=NONE      ctermfg=211     ctermbg=NONE gui=underline      cterm=underline | ||||
| hi SpellCap         guisp=#F9E2AF   guifg=NONE      guibg=NONE      ctermfg=223     ctermbg=NONE gui=underline      cterm=underline | ||||
| hi SpellLocal       guisp=#89B4FA   guifg=NONE      guibg=NONE      ctermfg=117     ctermbg=NONE gui=underline      cterm=underline | ||||
| hi SpellRare        guisp=#A6E3A1   guifg=NONE      guibg=NONE      ctermfg=151     ctermbg=NONE gui=underline      cterm=underline | ||||
| hi StatusLine       guisp=NONE      guifg=#CDD6F4   guibg=#181825   ctermfg=254     ctermbg=234  gui=NONE           cterm=NONE | ||||
| hi StatusLineNC     guisp=NONE      guifg=#45475A   guibg=#181825   ctermfg=240     ctermbg=234  gui=NONE           cterm=NONE | ||||
| hi TabLine          guisp=NONE      guifg=#45475A   guibg=#181825   ctermfg=240     ctermbg=234  gui=NONE           cterm=NONE | ||||
| hi TabLineFill      guisp=NONE      guifg=NONE      guibg=#181825   ctermfg=NONE    ctermbg=234  gui=NONE           cterm=NONE | ||||
| hi TabLineSel       guisp=NONE      guifg=#A6E3A1   guibg=#45475A   ctermfg=151     ctermbg=240  gui=NONE           cterm=NONE | ||||
| hi Title            guisp=NONE      guifg=#89B4FA   guibg=NONE      ctermfg=117     ctermbg=NONE gui=bold           cterm=bold | ||||
| hi VisualNOS        guisp=NONE      guifg=NONE      guibg=#45475A   ctermfg=NONE    ctermbg=240  gui=bold           cterm=bold | ||||
| hi WarningMsg       guisp=NONE      guifg=#F9E2AF   guibg=NONE      ctermfg=223     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi WildMenu         guisp=NONE      guifg=NONE      guibg=#6C7086   ctermfg=NONE    ctermbg=243  gui=NONE           cterm=NONE | ||||
| hi Comment          guisp=NONE      guifg=#585B70   guibg=NONE      ctermfg=243     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Constant         guisp=NONE      guifg=#FAB387   guibg=NONE      ctermfg=216     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Identifier       guisp=NONE      guifg=#F2CDCD   guibg=NONE      ctermfg=224     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Statement        guisp=NONE      guifg=#CBA6F7   guibg=NONE      ctermfg=183     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi PreProc          guisp=NONE      guifg=#F5C2E7   guibg=NONE      ctermfg=218     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Type             guisp=NONE      guifg=#89B4FA   guibg=NONE      ctermfg=117     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Special          guisp=NONE      guifg=#F5C2E7   guibg=NONE      ctermfg=218     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Underlined       guisp=NONE      guifg=#CDD6F4   guibg=#1E1E2E   ctermfg=254     ctermbg=235  gui=underline      cterm=underline | ||||
| hi Error            guisp=NONE      guifg=#F38BA8   guibg=NONE      ctermfg=211     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Todo             guisp=NONE      guifg=#1E1E2E   guibg=#F9E2AF   ctermfg=235     ctermbg=223  gui=bold           cterm=bold | ||||
| 
 | ||||
| hi String           guisp=NONE      guifg=#A6E3A1   guibg=NONE      ctermfg=151     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Character        guisp=NONE      guifg=#94E2D5   guibg=NONE      ctermfg=152     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Number           guisp=NONE      guifg=#FAB387   guibg=NONE      ctermfg=216     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Boolean          guisp=NONE      guifg=#FAB387   guibg=NONE      ctermfg=216     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Float            guisp=NONE      guifg=#FAB387   guibg=NONE      ctermfg=216     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Function         guisp=NONE      guifg=#89B4FA   guibg=NONE      ctermfg=117     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Conditional      guisp=NONE      guifg=#F38BA8   guibg=NONE      ctermfg=211     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Repeat           guisp=NONE      guifg=#F38BA8   guibg=NONE      ctermfg=211     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Label            guisp=NONE      guifg=#FAB387   guibg=NONE      ctermfg=216     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Operator         guisp=NONE      guifg=#89DCEB   guibg=NONE      ctermfg=117     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Keyword          guisp=NONE      guifg=#F5C2E7   guibg=NONE      ctermfg=218     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Include          guisp=NONE      guifg=#F5C2E7   guibg=NONE      ctermfg=218     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi StorageClass     guisp=NONE      guifg=#F9E2AF   guibg=NONE      ctermfg=223     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Structure        guisp=NONE      guifg=#F9E2AF   guibg=NONE      ctermfg=223     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi Typedef          guisp=NONE      guifg=#F9E2AF   guibg=NONE      ctermfg=223     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi debugPC          guisp=NONE      guifg=NONE      guibg=#11111B   ctermfg=223     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| hi debugBreakpoint  guisp=NONE      guifg=#6C7086   guibg=#1E1E2E   ctermfg=223     ctermbg=NONE gui=NONE           cterm=NONE | ||||
| 
 | ||||
| hi link Define PreProc | ||||
| hi link Macro PreProc | ||||
| hi link PreCondit PreProc | ||||
| hi link SpecialChar Special | ||||
| hi link Tag Special | ||||
| hi link Delimiter Special | ||||
| hi link SpecialComment Special | ||||
| hi link Debug Special | ||||
| hi link Exception Error | ||||
| hi link StatusLineTerm StatusLine | ||||
| hi link StatusLineTermNC StatusLineNC | ||||
| hi link Terminal Normal | ||||
| hi link Ignore Comment | ||||
							
								
								
									
										99
									
								
								arch/stow/vim/.vimrc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								arch/stow/vim/.vimrc
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,99 @@ | |||
| " | ||||
| " ~/.vimrc | ||||
| " | ||||
| 
 | ||||
| filetype on | ||||
| filetype plugin on | ||||
| filetype indent on | ||||
| set expandtab | ||||
| set smarttab | ||||
| set smartindent | ||||
| set incsearch | ||||
| set showmatch | ||||
| set title | ||||
| set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx | ||||
| syntax enable | ||||
| 
 | ||||
| " -- | ||||
| 
 | ||||
| set scrolloff=3 | ||||
| set showcmd | ||||
| 
 | ||||
| set autoindent | ||||
| set linebreak | ||||
| set shiftwidth=4 | ||||
| set tabstop=4 | ||||
| 
 | ||||
| set number | ||||
| set relativenumber | ||||
| 
 | ||||
| set conceallevel=2 | ||||
| 
 | ||||
| " Add mouse support | ||||
| set mouse=a | ||||
| if $TERM == 'alacritty' | ||||
|     set ttymouse=sgr " Alacritty specific | ||||
| endif | ||||
| 
 | ||||
| " PLUGINS --------------------------------------------------------------- {{{ | ||||
| 
 | ||||
| call plug#begin('~/.vim/plugged') | ||||
| 
 | ||||
| Plug 'dense-analysis/ale' | ||||
| Plug 'https://github.com/vifm/vifm.vim.git' | ||||
| Plug 'catppuccin/vim', { 'as': 'catppuccin' } | ||||
| 
 | ||||
| call plug#end()  | ||||
| 
 | ||||
| " }}} | ||||
| 
 | ||||
| colorscheme catppuccin_mocha_mod | ||||
| 
 | ||||
| " AUTOMATIC STUFF ------------------------------------------------------- {{{ | ||||
| 
 | ||||
| if has("autocmd") | ||||
|            | ||||
|     au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif | ||||
| 
 | ||||
|     " https://stackoverflow.com/a/37558470/19044747 | ||||
|     augroup remember_folds | ||||
|         autocmd! | ||||
|         autocmd BufWinLeave * silent! mkview | ||||
|         autocmd BufWinEnter * silent! loadview | ||||
|     augroup END | ||||
| 
 | ||||
| endif | ||||
| 
 | ||||
| " }}} | ||||
| 
 | ||||
| " TALK ------------------------------------------------------------------ {{{ | ||||
| " https://youtu.be/XA2WjJbmmoM ---------------------------------------------- | ||||
| 
 | ||||
| set nocompatible | ||||
| 
 | ||||
| " Finding files using :find <name> | ||||
| set path+=** | ||||
| " Also use :b to select files in buffer | ||||
| 
 | ||||
| " Show suggestions on another line instead of inplace | ||||
| set wildmenu | ||||
| 
 | ||||
| " Tags | ||||
| " pacman -S ctags | ||||
| command! MakeTags !ctags -R . & | ||||
| " Move to defintion using ^] | ||||
| " Move to ambigious using g^] | ||||
| " Move back using ^t | ||||
| 
 | ||||
| " File browsing | ||||
| let g:netrw_browse_split=4  " open in the previous window | ||||
| let g:netrw_altv=1          " split new windows to the right | ||||
| let g:netrw_liststyle=3     " treeview | ||||
| 
 | ||||
| " Autocomplete | ||||
| " Also see https://vimhelp.org/options.txt.html#%27complete%27 | ||||
| " ^n next | ||||
| " ^p previous | ||||
| " ^x^f filename completion | ||||
| 
 | ||||
| " }}} | ||||
							
								
								
									
										45
									
								
								arch/stow/waybar/.config/waybar/config
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								arch/stow/waybar/.config/waybar/config
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | |||
| // | ||||
| // ~/.config/waybar/config | ||||
| // | ||||
| 
 | ||||
| [{ | ||||
| 
 | ||||
|     "name": "toggle", | ||||
| 
 | ||||
|     "mode": "hide", | ||||
| 	"ipc": true, | ||||
| 
 | ||||
|     "position": "top", | ||||
| 	"height": 25, | ||||
| 	"spacing": 4,  | ||||
|     "margin": "-25px 0 0 0", // Show this bar on top of the other one, seemingly the "same" one. | ||||
| 
 | ||||
|     "custom/sep": { | ||||
|         "format": "\uf142" | ||||
|     }, | ||||
| 
 | ||||
|     "include": [ | ||||
|         // Import modules (!) | ||||
|         "~/.config/waybar/modules.json",  | ||||
| //      "~/.config/waybar/default.json" | ||||
|         "~/.config/waybar/left.json" | ||||
|     ], | ||||
| 
 | ||||
| },  | ||||
| 
 | ||||
| { | ||||
|      | ||||
|     "name": "keep", | ||||
|     "position": "top", | ||||
|     "height": 25, | ||||
| 	"modules-left": ["sway/mode", "custom/browser"], | ||||
|     "modules-center": ["sway/window"], | ||||
|     "modules-right": ["clock"], | ||||
| 
 | ||||
|     "include": [ | ||||
|         // Import modules (!) | ||||
|         "~/.config/waybar/modules.json" | ||||
|     ], | ||||
| 
 | ||||
| }] | ||||
| 
 | ||||
							
								
								
									
										24
									
								
								arch/stow/waybar/.config/waybar/default.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								arch/stow/waybar/.config/waybar/default.json
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | |||
| 
 | ||||
| { | ||||
| 	"modules-left": [ | ||||
|         "idle_inhibitor", | ||||
|         "custom/media" | ||||
|     ], | ||||
|     "modules-center": [ | ||||
|         "sway/workspaces" | ||||
|     ], | ||||
| 	"modules-right": [ | ||||
|         "disk",  | ||||
|         "memory",  | ||||
|         "cpu",  | ||||
|         "temperature",  | ||||
|         "custom/sep", | ||||
|         "bluetooth",  | ||||
|         "network",  | ||||
|         "pulseaudio",  | ||||
|         "battery",  | ||||
|         "custom/sep", | ||||
|         "tray" | ||||
|     ] | ||||
| } | ||||
| 
 | ||||
							
								
								
									
										19
									
								
								arch/stow/waybar/.config/waybar/left.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								arch/stow/waybar/.config/waybar/left.json
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| { | ||||
| 	"modules-left": [ | ||||
|         "sway/workspaces", | ||||
|         "idle_inhibitor", | ||||
|         "custom/media" | ||||
|     ], | ||||
| 	"modules-right": [ | ||||
|         "memory",  | ||||
|         "cpu",  | ||||
|         "temperature",  | ||||
|         "custom/sep", | ||||
|         "bluetooth",  | ||||
|         "network",  | ||||
|         "pulseaudio",  | ||||
|         "battery",  | ||||
|         "custom/sep", | ||||
|         "tray" | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										131
									
								
								arch/stow/waybar/.config/waybar/mediaplayer.py
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										131
									
								
								arch/stow/waybar/.config/waybar/mediaplayer.py
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,131 @@ | |||
| #!/usr/bin/env python3 | ||||
| # From:  | ||||
| # https://github.com/Alexays/Waybar/blob/master/resources/custom_modules/mediaplayer.py | ||||
| 
 | ||||
| import argparse | ||||
| import logging | ||||
| import sys | ||||
| import signal | ||||
| import gi | ||||
| import json | ||||
| gi.require_version('Playerctl', '2.0') | ||||
| from gi.repository import Playerctl, GLib | ||||
| 
 | ||||
| logger = logging.getLogger(__name__) | ||||
| 
 | ||||
| 
 | ||||
| def write_output(text, player): | ||||
|     logger.info('Writing output') | ||||
| 
 | ||||
|     output = {'text': text, | ||||
|               'class': 'custom-' + player.props.player_name, | ||||
|               'alt': player.props.player_name} | ||||
| 
 | ||||
|     sys.stdout.write(json.dumps(output) + '\n') | ||||
|     sys.stdout.flush() | ||||
| 
 | ||||
| 
 | ||||
| def on_play(player, status, manager): | ||||
|     logger.info('Received new playback status') | ||||
|     on_metadata(player, player.props.metadata, manager) | ||||
| 
 | ||||
| 
 | ||||
| def on_metadata(player, metadata, manager): | ||||
|     logger.info('Received new metadata') | ||||
|     track_info = '' | ||||
| 
 | ||||
|     if player.props.player_name == 'spotify' and \ | ||||
|             'mpris:trackid' in metadata.keys() and \ | ||||
|             ':ad:' in player.props.metadata['mpris:trackid']: | ||||
|         track_info = 'AD PLAYING' | ||||
|     elif player.get_artist() != '' and player.get_title() != '': | ||||
|         track_info = '{artist} - {title}'.format(artist=player.get_artist(), | ||||
|                                                  title=player.get_title()) | ||||
|     else: | ||||
|         track_info = player.get_title() | ||||
| 
 | ||||
|     if player.props.status != 'Playing' and track_info: | ||||
|         track_info = ' ' + track_info | ||||
|     write_output(track_info, player) | ||||
| 
 | ||||
| 
 | ||||
| def on_player_appeared(manager, player, selected_player=None): | ||||
|     if player is not None and (selected_player is None or player.name == selected_player): | ||||
|         init_player(manager, player) | ||||
|     else: | ||||
|         logger.debug("New player appeared, but it's not the selected player, skipping") | ||||
| 
 | ||||
| 
 | ||||
| def on_player_vanished(manager, player): | ||||
|     logger.info('Player has vanished') | ||||
|     sys.stdout.write('\n') | ||||
|     sys.stdout.flush() | ||||
| 
 | ||||
| 
 | ||||
| def init_player(manager, name): | ||||
|     logger.debug('Initialize player: {player}'.format(player=name.name)) | ||||
|     player = Playerctl.Player.new_from_name(name) | ||||
|     player.connect('playback-status', on_play, manager) | ||||
|     player.connect('metadata', on_metadata, manager) | ||||
|     manager.manage_player(player) | ||||
|     on_metadata(player, player.props.metadata, manager) | ||||
| 
 | ||||
| 
 | ||||
| def signal_handler(sig, frame): | ||||
|     logger.debug('Received signal to stop, exiting') | ||||
|     sys.stdout.write('\n') | ||||
|     sys.stdout.flush() | ||||
|     # loop.quit() | ||||
|     sys.exit(0) | ||||
| 
 | ||||
| 
 | ||||
| def parse_arguments(): | ||||
|     parser = argparse.ArgumentParser() | ||||
| 
 | ||||
|     # Increase verbosity with every occurrence of -v | ||||
|     parser.add_argument('-v', '--verbose', action='count', default=0) | ||||
| 
 | ||||
|     # Define for which player we're listening | ||||
|     parser.add_argument('--player') | ||||
| 
 | ||||
|     return parser.parse_args() | ||||
| 
 | ||||
| 
 | ||||
| def main(): | ||||
|     arguments = parse_arguments() | ||||
| 
 | ||||
|     # Initialize logging | ||||
|     logging.basicConfig(stream=sys.stderr, level=logging.DEBUG, | ||||
|                         format='%(name)s %(levelname)s %(message)s') | ||||
| 
 | ||||
|     # Logging is set by default to WARN and higher. | ||||
|     # With every occurrence of -v it's lowered by one | ||||
|     logger.setLevel(max((3 - arguments.verbose) * 10, 0)) | ||||
| 
 | ||||
|     # Log the sent command line arguments | ||||
|     logger.debug('Arguments received {}'.format(vars(arguments))) | ||||
| 
 | ||||
|     manager = Playerctl.PlayerManager() | ||||
|     loop = GLib.MainLoop() | ||||
| 
 | ||||
|     manager.connect('name-appeared', lambda *args: on_player_appeared(*args, arguments.player)) | ||||
|     manager.connect('player-vanished', on_player_vanished) | ||||
| 
 | ||||
|     signal.signal(signal.SIGINT, signal_handler) | ||||
|     signal.signal(signal.SIGTERM, signal_handler) | ||||
|     signal.signal(signal.SIGPIPE, signal.SIG_DFL) | ||||
| 
 | ||||
|     for player in manager.props.player_names: | ||||
|         if arguments.player is not None and arguments.player != player.name: | ||||
|             logger.debug('{player} is not the filtered player, skipping it' | ||||
|                          .format(player=player.name) | ||||
|                          ) | ||||
|             continue | ||||
| 
 | ||||
|         init_player(manager, player) | ||||
| 
 | ||||
|     loop.run() | ||||
| 
 | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|     main() | ||||
							
								
								
									
										156
									
								
								arch/stow/waybar/.config/waybar/modules.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										156
									
								
								arch/stow/waybar/.config/waybar/modules.json
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,156 @@ | |||
| { | ||||
| 
 | ||||
| 	"battery": { | ||||
| 	    "format": "{capacity}% {icon}", | ||||
| 	    "format-alt": "{time} {icon}", | ||||
| 	    "format-charging": "{capacity}% \uf0e7 {icon}", | ||||
| 	    "format-icons": ["\uf244", "\uf243", "\uf242", "\uf241", "\uf240"], | ||||
| 	    "format-plugged": "{capacity}% \ue55c", | ||||
|        	"states": { | ||||
| 	    	"warning": 30, | ||||
| 		    "critical": 15 | ||||
|     	} | ||||
| 	}, | ||||
| 
 | ||||
| 
 | ||||
| 	"disk": { | ||||
|         "interval": 30,  | ||||
|         "format": "{percentage_used}% \uf0a0",  | ||||
|         "on-click": "alacritty -e ncdu /", | ||||
|         "path": "/", | ||||
|         "tooltip-format": "{used} used out of {total} on {path} ({percentage_free}% or {free} free)" | ||||
|     }, | ||||
| 
 | ||||
| 
 | ||||
|     "bluetooth": { | ||||
|         "format-disabled": "<big>\uf294</big>", | ||||
|         "format-off": "\uf294", | ||||
|         "format-on": "<big>\uf294</big>", | ||||
|         "format-connected": "<big>\uf294</big>c", | ||||
|         "max-length": 10.3, | ||||
|         "on-click": "alacritty --title 'FZF-Jump' -e ~/.scripts/fzf-jump/standalone.sh ~/.scripts/fzf-jump/modules/bluetooth.sh", | ||||
|         "tooltip-format": "{status}", | ||||
|         "tooltip-format-on": "{status}, no devices connected", | ||||
|         "tooltip-format-connected": "{status} ({num_connections}):\n{device_enumerate}",  | ||||
|         "tooltip-format-enumerate-connected": "{device_alias} ({device_address})", | ||||
|         "tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}" | ||||
|     }, | ||||
|      | ||||
| 
 | ||||
|     "clock": { | ||||
| 	    "format": "{:%H:%M}", | ||||
| 		"format-alt": "{:%d/%m/%Y %H:%M}", | ||||
|         // "timezone": "Europe/Brussels", | ||||
| 	    "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>" | ||||
| 	}, | ||||
| 
 | ||||
| 
 | ||||
|     "custom/browser": { | ||||
|         "format": "\uf120", | ||||
|         "on-click": "alacritty -t 'FZF-Jump' -e ~/.scripts/fzf-jump/launcher.sh", | ||||
|         "tooltip-format": "Launch an application" | ||||
|     }, | ||||
| 
 | ||||
| 
 | ||||
|     "custom/media": { | ||||
|         "escape": true, | ||||
|         "exec": "~/.config/waybar/mediaplayer.py 2> /dev/null", | ||||
|         "format": "{icon} {}",  | ||||
|         "format-icons": { | ||||
|             "default": "\uf51f", | ||||
|             "spotify": "\uf1bc" | ||||
|         }, | ||||
|         "max-length": 40, | ||||
|         "on-click": "playerctl play-pause", | ||||
|         "return-type": "json" | ||||
|     }, | ||||
|     | ||||
| 
 | ||||
|     "cpu": { | ||||
|         "format": "{usage}% \uf2db", | ||||
|         "on-click": "alacritty -e htop", | ||||
| 	    "tooltip": true | ||||
| 	}, | ||||
| 
 | ||||
| 
 | ||||
| 	"idle_inhibitor": { | ||||
|         "format": "{icon}", | ||||
| 	    "format-icons": { | ||||
|             "activated": "\uf06e", | ||||
| 		    "deactivated": "\uf070" | ||||
| 		},  | ||||
| 		"tooltip": false | ||||
| 	}, | ||||
| 
 | ||||
| 
 | ||||
| 	"memory": { | ||||
|         "format": "{}% \uf1c0", | ||||
|         "on-click": "alacritty -e htop" | ||||
| 	}, | ||||
| 
 | ||||
| 
 | ||||
|     "network": { | ||||
|         "format-disconnected": "\uf127",  | ||||
|         "format-ethernet": "\uf6ff {ifname}: {ipadds}/{cidr}", | ||||
|         "format-wifi": "\uf1eb", | ||||
|         "interval": 5, | ||||
|         "on-click-right": "alacritty -e nmtui", | ||||
|         "tooltip-format": "{ifname}: {ipaddr}", | ||||
|         "tooltip-format-disconnected": "Disconnected", | ||||
|         "tooltip-format-wifi": "{essid} ({signalStrength}%)\n{ifname}: {ipaddr}" | ||||
|     }, | ||||
| 
 | ||||
| 
 | ||||
|     "sway/window": { | ||||
|         "max-length": 85 | ||||
|     }, | ||||
| 
 | ||||
| 
 | ||||
|     "sway/workspaces": { | ||||
|         "all-outputs": false, | ||||
|         "disable-scroll": true, | ||||
|         "format": "{icon}{name}",  | ||||
|         "format-icons": { | ||||
|             "default": "", // Prevent showing workspace name literal. | ||||
|             "urgent": "\uf071 " | ||||
|         }, | ||||
|         // "persistent_workspaces": { | ||||
|         //     "0:¯\\_(ツ)_/¯": [] | ||||
|         // } | ||||
|     },  | ||||
| 	 | ||||
| 
 | ||||
|     "pulseaudio": { | ||||
| 	    "format": "{volume}% {icon}{format_source}", | ||||
| 	    "format-bluetooth": "{volume}% {icon}\uf294{format_source}", | ||||
| 	    "format-bluetooth-muted": "\uf6a9 {icon}\uf294{format_source}", | ||||
| 	    "format-muted": "\uf6a9{format_source}", | ||||
| 	    "format-source": " {volume}% \uf130", | ||||
| 	    "format-source-muted": "", | ||||
| 	    "format-icons": { | ||||
| 		    "headphone": "\uf58f", | ||||
|     		"hands-free": "\uf590", | ||||
|     		"headset": "\uf590", | ||||
|     		"phone": "\uf3ce", | ||||
|     		"portable": "\uf3ce", | ||||
|     		"car": "\uf1b9", | ||||
| 			"default": ["\uf026", "\uf027", "\uf028 "] | ||||
| 		}, | ||||
|         "on-click": "pamixer --toggle-mute", | ||||
|         "on-click-right": "pavucontrol", | ||||
|         "scroll-step": 2 | ||||
| 	}, | ||||
| 
 | ||||
| 
 | ||||
| 	"temperature": { | ||||
| 	    "critical-threshold": 70, | ||||
| 	    "format": "{temperatureC}°C {icon}", | ||||
| 	    "format-icons": ["\uf2cb", "\uf2c9", "\uf2c7"] | ||||
| 	},  | ||||
| 
 | ||||
| 
 | ||||
| 	"tray": { | ||||
| 	    "spacing": 10 | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										50
									
								
								arch/stow/waybar/.config/waybar/round.css
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								arch/stow/waybar/.config/waybar/round.css
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,50 @@ | |||
| /*  | ||||
|  * ~/.config/waybar/round.css | ||||
|  * | ||||
|  * This stylesheet has round modules and titles.  | ||||
|  */ | ||||
| 
 | ||||
| window#waybar { | ||||
|     color: @white;  | ||||
|     background-color: transparent; | ||||
| } | ||||
| 
 | ||||
| .modules-left { | ||||
|     background-color: @transparent-black;  | ||||
|     border-radius: 0 20px 20px 0; | ||||
|     /* Coloured modules must hit the border! */ | ||||
|     padding-right: 0;  | ||||
| } | ||||
| 
 | ||||
| .modules-center { | ||||
|     background-color: @transparent-black; | ||||
|     border-radius: 20px; | ||||
| } | ||||
| 
 | ||||
| .keep .modules-center { | ||||
|     background-color: transparent; | ||||
|     padding: 0 10px; | ||||
| } | ||||
| 
 | ||||
| .modules-right { | ||||
|     background-color: @transparent-black; | ||||
|     border-radius: 20px 0 0 20px; | ||||
|     padding-left: 10px; | ||||
| } | ||||
| 
 | ||||
| #workspaces button { | ||||
|     border-radius: 20px; | ||||
| } | ||||
| 
 | ||||
| #workspaces button:hover, | ||||
| #workspaces button.focused { | ||||
|     background-color: @accent; | ||||
|     border-radius: 20px; | ||||
|     color: @white; | ||||
| } | ||||
| 
 | ||||
| #custom-media { | ||||
|     border-radius: 0 20px 20px 0; | ||||
|     padding-right: 10px; | ||||
| } | ||||
| 
 | ||||
							
								
								
									
										23
									
								
								arch/stow/waybar/.config/waybar/sharp.css
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								arch/stow/waybar/.config/waybar/sharp.css
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | |||
| /*  | ||||
|  * ~/.config/waybar/sharp.css | ||||
|  * | ||||
|  * This stylesheet is a take on a minimal layout. | ||||
|  */ | ||||
| 
 | ||||
| window#waybar { | ||||
|     color: @white; | ||||
|     background-color: transparent;  | ||||
| } | ||||
| 
 | ||||
| #mode, | ||||
| .toggle .modules-left,  | ||||
| .toggle .modules-right { | ||||
|     background-color: @transparent-black; | ||||
| } | ||||
| 
 | ||||
| #mode, | ||||
| #workspaces button.focused,  | ||||
| #workspaces button:hover { | ||||
|     box-shadow: inset 0 2px #ffffff; | ||||
| } | ||||
|      | ||||
							
								
								
									
										132
									
								
								arch/stow/waybar/.config/waybar/style.css
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								arch/stow/waybar/.config/waybar/style.css
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,132 @@ | |||
| /* | ||||
|  * ~/.config/waybar/style.css | ||||
|  * | ||||
|  * `otf-font-awesome` is required to be installed for icons. | ||||
|  * | ||||
|  * Pick your stylesheet:  | ||||
|  * - sharp.css | ||||
|  * - transparent.css | ||||
|  * - round.css | ||||
|  */ | ||||
| 
 | ||||
| @define-color transparent-black rgba(23, 23, 23, 0.9);  | ||||
| @define-color white #ecf0f1; | ||||
| @define-color warning-red #eb4d4b; | ||||
| @define-color accent #00897b; | ||||
| 
 | ||||
| window#waybar { | ||||
|     font-family: Letter; /* This is my personal font. */ | ||||
|     font-size: 13px; | ||||
|     transition-property: background-color; | ||||
|     transition-duration: .5s; | ||||
| } | ||||
| 
 | ||||
| #window, #workspaces { | ||||
|     margin: 0 5px; | ||||
| } | ||||
| 
 | ||||
| #workspaces button { | ||||
|     border: none; | ||||
|     border-radius: 0; | ||||
|     min-width: 30px;  | ||||
|     padding: 0 5px; | ||||
| } | ||||
| 
 | ||||
| #workspaces button:hover,  | ||||
| #workspaces button.focused { | ||||
|     background-color: transparent; | ||||
|     color: @white; | ||||
| } | ||||
| 
 | ||||
| #workspaces button.urgent { | ||||
|     color: @white;  | ||||
|     background-color: @warning-red; | ||||
| } | ||||
| 
 | ||||
| /* All modules individually. */ | ||||
| #backlight, #battery, #bluetooth, #clock, #cpu,  | ||||
| #custom-browser, #custom-media, #disk, #idle_inhibitor,  | ||||
| #memory, #mode, #mpd, #network, #pulseaudio,  | ||||
| #temperature, #tray { | ||||
|     padding: 0 5px; | ||||
| } | ||||
| 
 | ||||
| /* If workspaces is the leftmost module, omit left margin */ | ||||
| .modules-left > widget:first-child > #workspaces { | ||||
|     margin-left: 0; | ||||
| } | ||||
| 
 | ||||
| /* If workspaces is the rightmost module, omit right margin */ | ||||
| .modules-right > widget:last-child > #workspaces { | ||||
|     margin-right: 0; | ||||
| } | ||||
| 
 | ||||
| @keyframes blink { | ||||
|     to { | ||||
|         background-color: #ffffff; | ||||
|         color: #000000; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| label:focus { | ||||
|     background-color: #000000; | ||||
| } | ||||
| 
 | ||||
| /* Module specific colours */ | ||||
| 
 | ||||
| #battery.charging, #battery.plugged { | ||||
|     color: #ffffff; | ||||
|     background-color: #26A65B; | ||||
| } | ||||
| 
 | ||||
| #battery.critical:not(.charging) { | ||||
|     background-color: #f53c3c; | ||||
|     color: #ffffff; | ||||
|     animation-name: blink; | ||||
|     animation-duration: 0.5s; | ||||
|     animation-timing-function: linear; | ||||
|     animation-iteration-count: infinite; | ||||
|     animation-direction: alternate; | ||||
| } | ||||
| 
 | ||||
| #bluetooth.disabled, | ||||
| #bluetooth.off, | ||||
| #network.disconnected, | ||||
| #pulseaudio.muted { | ||||
|     opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| #custom-media { | ||||
|     color: #2a5c45; | ||||
|     background-color: #66cc99; | ||||
|     min-width: 100px; | ||||
| } | ||||
| 
 | ||||
| #custom-media.custom-spotify { | ||||
|     background-color: #66cc99; | ||||
| } | ||||
| 
 | ||||
| #custom-media.custom-vlc { | ||||
|     background-color: #ffa000; | ||||
| } | ||||
| 
 | ||||
| #temperature.critical { | ||||
|     background-color: #eb4d4b; | ||||
| } | ||||
| 
 | ||||
| #idle_inhibitor.activated { | ||||
|     background-color: #ecf0f1; | ||||
|     color: #2d3436; | ||||
| } | ||||
| 
 | ||||
| #tray > .passive { | ||||
|     -gtk-icon-effect: dim; | ||||
| } | ||||
| 
 | ||||
| #tray > .needs-attention { | ||||
|     -gtk-icon-effect: highlight; | ||||
|     background-color: #eb4d4b; | ||||
| } | ||||
| 
 | ||||
| @import "sharp.css"; | ||||
| 
 | ||||
							
								
								
									
										24
									
								
								arch/stow/waybar/.config/waybar/transparent.css
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								arch/stow/waybar/.config/waybar/transparent.css
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | |||
| /* | ||||
|  * ~/.config/waybar/transparent.css | ||||
|  * | ||||
|  * This stylesheet is a minimalistic, transparent style. | ||||
|  */ | ||||
| 
 | ||||
| @define-color transparent-black-light rgba(23, 23, 23, 0.7); | ||||
| 
 | ||||
| window#waybar { | ||||
|     color: @white;  | ||||
|     background-color: transparent; | ||||
| } | ||||
| 
 | ||||
| .toggle .modules-right, | ||||
| .toggle .modules-left { | ||||
|     background-color: @transparent-black-light; | ||||
| } | ||||
| 
 | ||||
| #workspaces button:hover,  | ||||
| #workspaces button.focused,  | ||||
| #mode { | ||||
|     box-shadow: inset 0 2px #ffffff; | ||||
| } | ||||
| 
 | ||||
							
								
								
									
										309
									
								
								arch/stow/zellij/.config/zellij/config.kdl
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										309
									
								
								arch/stow/zellij/.config/zellij/config.kdl
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,309 @@ | |||
| // If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true" | ||||
| keybinds { | ||||
|     normal { | ||||
|         // uncomment this and adjust key if using copy_on_select=false | ||||
|         // bind "Alt c" { Copy; } | ||||
|     } | ||||
|     locked { | ||||
|         bind "Ctrl g" { SwitchToMode "Normal"; } | ||||
|     } | ||||
|     resize { | ||||
|         bind "Ctrl n" { SwitchToMode "Normal"; } | ||||
|         bind "h" "Left" { Resize "Left"; } | ||||
|         bind "j" "Down" { Resize "Down"; } | ||||
|         bind "k" "Up" { Resize "Up"; } | ||||
|         bind "l" "Right" { Resize "Right"; } | ||||
|         bind "=" "+" { Resize "Increase"; } | ||||
|         bind "-" { Resize "Decrease"; } | ||||
|     } | ||||
|     pane { | ||||
|         bind "Ctrl p" { SwitchToMode "Normal"; } | ||||
|         bind "h" "Left" { MoveFocus "Left"; } | ||||
|         bind "l" "Right" { MoveFocus "Right"; } | ||||
|         bind "j" "Down" { MoveFocus "Down"; } | ||||
|         bind "k" "Up" { MoveFocus "Up"; } | ||||
|         bind "p" { SwitchFocus; } | ||||
|         bind "n" { NewPane; SwitchToMode "Normal"; } | ||||
|         bind "d" { NewPane "Down"; SwitchToMode "Normal"; } | ||||
|         bind "r" { NewPane "Right"; SwitchToMode "Normal"; } | ||||
|         bind "x" { CloseFocus; SwitchToMode "Normal"; } | ||||
|         bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; } | ||||
|         bind "z" { TogglePaneFrames; SwitchToMode "Normal"; } | ||||
|         bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; } | ||||
|         bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; } | ||||
|         bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;} | ||||
|     } | ||||
|     move { | ||||
|         bind "Ctrl h" { SwitchToMode "Normal"; } | ||||
|         bind "n" "Tab" { MovePane; } | ||||
|         bind "h" "Left" { MovePane "Left"; } | ||||
|         bind "j" "Down" { MovePane "Down"; } | ||||
|         bind "k" "Up" { MovePane "Up"; } | ||||
|         bind "l" "Right" { MovePane "Right"; } | ||||
|     } | ||||
|     tab { | ||||
|         bind "Ctrl t" { SwitchToMode "Normal"; } | ||||
|         bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; } | ||||
|         bind "h" "Left" "Up" "k" { GoToPreviousTab; } | ||||
|         bind "l" "Right" "Down" "j" { GoToNextTab; } | ||||
|         bind "n" { NewTab; SwitchToMode "Normal"; } | ||||
|         bind "x" { CloseTab; SwitchToMode "Normal"; } | ||||
|         bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; } | ||||
|         bind "1" { GoToTab 1; SwitchToMode "Normal"; } | ||||
|         bind "2" { GoToTab 2; SwitchToMode "Normal"; } | ||||
|         bind "3" { GoToTab 3; SwitchToMode "Normal"; } | ||||
|         bind "4" { GoToTab 4; SwitchToMode "Normal"; } | ||||
|         bind "5" { GoToTab 5; SwitchToMode "Normal"; } | ||||
|         bind "6" { GoToTab 6; SwitchToMode "Normal"; } | ||||
|         bind "7" { GoToTab 7; SwitchToMode "Normal"; } | ||||
|         bind "8" { GoToTab 8; SwitchToMode "Normal"; } | ||||
|         bind "9" { GoToTab 9; SwitchToMode "Normal"; } | ||||
|         bind "Tab" { ToggleTab; } | ||||
|     } | ||||
|     scroll { | ||||
|         bind "Ctrl s" { SwitchToMode "Normal"; } | ||||
|         bind "e" { EditScrollback; SwitchToMode "Normal"; } | ||||
|         bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; } | ||||
|         bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } | ||||
|         bind "j" "Down" { ScrollDown; } | ||||
|         bind "k" "Up" { ScrollUp; } | ||||
|         bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } | ||||
|         bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } | ||||
|         bind "d" { HalfPageScrollDown; } | ||||
|         bind "u" { HalfPageScrollUp; } | ||||
|         // uncomment this and adjust key if using copy_on_select=false | ||||
|         // bind "Alt c" { Copy; } | ||||
|     } | ||||
|     search { | ||||
|         bind "Ctrl s" { SwitchToMode "Normal"; } | ||||
|         bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } | ||||
|         bind "j" "Down" { ScrollDown; } | ||||
|         bind "k" "Up" { ScrollUp; } | ||||
|         bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } | ||||
|         bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } | ||||
|         bind "d" { HalfPageScrollDown; } | ||||
|         bind "u" { HalfPageScrollUp; } | ||||
|         bind "n" { Search "down"; } | ||||
|         bind "p" { Search "up"; } | ||||
|         bind "c" { SearchToggleOption "CaseSensitivity"; } | ||||
|         bind "w" { SearchToggleOption "Wrap"; } | ||||
|         bind "o" { SearchToggleOption "WholeWord"; } | ||||
|     } | ||||
|     entersearch { | ||||
|         bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; } | ||||
|         bind "Enter" { SwitchToMode "Search"; } | ||||
|     } | ||||
|     renametab { | ||||
|         bind "Ctrl c" { SwitchToMode "Normal"; } | ||||
|         bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; } | ||||
|     } | ||||
|     renamepane { | ||||
|         bind "Ctrl c" { SwitchToMode "Normal"; } | ||||
|         bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; } | ||||
|     } | ||||
|     session { | ||||
|         bind "Ctrl o" { SwitchToMode "Normal"; } | ||||
|         bind "Ctrl s" { SwitchToMode "Scroll"; } | ||||
|         bind "d" { Detach; } | ||||
|     } | ||||
|     tmux { | ||||
|         bind "[" { SwitchToMode "Scroll"; } | ||||
|         bind "Ctrl b" { Write 2; SwitchToMode "Normal"; } | ||||
|         bind "\"" { NewPane "Down"; SwitchToMode "Normal"; } | ||||
|         bind "%" { NewPane "Right"; SwitchToMode "Normal"; } | ||||
|         bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; } | ||||
|         bind "c" { NewTab; SwitchToMode "Normal"; } | ||||
|         bind "," { SwitchToMode "RenameTab"; } | ||||
|         bind "p" { GoToPreviousTab; SwitchToMode "Normal"; } | ||||
|         bind "n" { GoToNextTab; SwitchToMode "Normal"; } | ||||
|         bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; } | ||||
|         bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; } | ||||
|         bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; } | ||||
|         bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; } | ||||
|         bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; } | ||||
|         bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; } | ||||
|         bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; } | ||||
|         bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; } | ||||
|         bind "o" { FocusNextPane; } | ||||
|         bind "d" { Detach; } | ||||
|     } | ||||
|     shared_except "locked" { | ||||
|         bind "Ctrl g" { SwitchToMode "Locked"; } | ||||
|         bind "Ctrl q" { Quit; } | ||||
|         bind "Alt n" { NewPane; } | ||||
|         bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; } | ||||
|         bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; } | ||||
|         bind "Alt j" "Alt Down" { MoveFocus "Down"; } | ||||
|         bind "Alt k" "Alt Up" { MoveFocus "Up"; } | ||||
|         bind "Alt =" "Alt +" { Resize "Increase"; } | ||||
|         bind "Alt -" { Resize "Decrease"; } | ||||
|     } | ||||
|     shared_except "normal" "locked" { | ||||
|         bind "Enter" "Space" "Esc" { SwitchToMode "Normal"; } | ||||
|     } | ||||
|     shared_except "pane" "locked" { | ||||
|         bind "Ctrl p" { SwitchToMode "Pane"; } | ||||
|     } | ||||
|     shared_except "resize" "locked" { | ||||
|         bind "Ctrl n" { SwitchToMode "Resize"; } | ||||
|     } | ||||
|     shared_except "scroll" "locked" { | ||||
|         bind "Ctrl s" { SwitchToMode "Scroll"; } | ||||
|     } | ||||
|     shared_except "session" "locked" { | ||||
|         bind "Ctrl o" { SwitchToMode "Session"; } | ||||
|     } | ||||
|     shared_except "tab" "locked" { | ||||
|         bind "Ctrl t" { SwitchToMode "Tab"; } | ||||
|     } | ||||
|     shared_except "move" "locked" { | ||||
|         bind "Ctrl h" { SwitchToMode "Move"; } | ||||
|     } | ||||
|     shared_except "tmux" "locked" { | ||||
|         bind "Ctrl b" { SwitchToMode "Tmux"; } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| plugins { | ||||
|     tab-bar { path "tab-bar"; } | ||||
|     status-bar { path "status-bar"; } | ||||
|     strider { path "strider"; } | ||||
|     compact-bar { path "compact-bar"; } | ||||
| } | ||||
| 
 | ||||
| // Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP | ||||
| // eg. when terminal window with an active zellij session is closed | ||||
| // Options: | ||||
| //   - detach (Default) | ||||
| //   - quit | ||||
| // | ||||
| // on_force_close "quit" | ||||
| 
 | ||||
| //  Send a request for a simplified ui (without arrow fonts) to plugins | ||||
| //  Options: | ||||
| //    - true | ||||
| //    - false (Default) | ||||
| // | ||||
| // simplified_ui true | ||||
| 
 | ||||
| // Choose the path to the default shell that zellij will use for opening new panes | ||||
| // Default: $SHELL | ||||
| // | ||||
| // default_shell "fish" | ||||
| 
 | ||||
| // Toggle between having pane frames around the panes | ||||
| // Options: | ||||
| //   - true (default) | ||||
| //   - false | ||||
| // | ||||
| pane_frames false | ||||
| 
 | ||||
| // Define color themes for Zellij | ||||
| // For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes | ||||
| // Once these themes are defined, one of them should to be selected in the "theme" section of this file | ||||
| 
 | ||||
| themes { | ||||
|     dracula { | ||||
|         fg 248 248 242 | ||||
|         bg 40 42 54 | ||||
|         red 255 85 85 | ||||
|         green 80 250 123 | ||||
|         yellow 241 250 140 | ||||
|         blue 98 114 164 | ||||
|         magenta 255 121 198 | ||||
|         orange 255 184 108 | ||||
|         cyan 139 233 253 | ||||
|         black 0 0 0 | ||||
|         white 255 255 255 | ||||
|     } | ||||
|     tokyo-night-storm { | ||||
|         fg 169 177 214 | ||||
|         bg 36 40 59 | ||||
|         black 56 62 90 | ||||
|         red 249 51 87 | ||||
|         green 158 206 106 | ||||
|         yellow 224 175 104 | ||||
|         blue 122 162 247 | ||||
|         magenta 187 154 247 | ||||
|         cyan 42 195 222 | ||||
|         white 192 202 245 | ||||
|         orange 255 158 100 | ||||
|     } | ||||
| } | ||||
| // } | ||||
| 
 | ||||
| // Choose the theme that is specified in the themes section. | ||||
| // Default: default | ||||
| 
 | ||||
| theme "tokyo-night-storm" | ||||
| 
 | ||||
| // The name of the default layout to load on startup | ||||
| // Default: "default" | ||||
| 
 | ||||
| default_layout "/home/tdpeuter/.config/zellij/layouts/my-layout.kdl" | ||||
| 
 | ||||
| // Choose the mode that zellij uses when starting up. | ||||
| // Default: normal | ||||
| 
 | ||||
| // default_mode "locked" | ||||
| 
 | ||||
| // Toggle enabling the mouse mode. | ||||
| // On certain configurations, or terminals this could | ||||
| // potentially interfere with copying text. | ||||
| // Options: | ||||
| //   - true (default) | ||||
| //   - false | ||||
| // | ||||
| // mouse_mode false | ||||
| 
 | ||||
| // Configure the scroll back buffer size | ||||
| // This is the number of lines zellij stores for each pane in the scroll back | ||||
| // buffer. Excess number of lines are discarded in a FIFO fashion. | ||||
| // Valid values: positive integers | ||||
| // Default value: 10000 | ||||
| // | ||||
| // scroll_buffer_size 10000 | ||||
| 
 | ||||
| // Provide a command to execute when copying text. The text will be piped to | ||||
| // the stdin of the program to perform the copy. This can be used with | ||||
| // terminal emulators which do not support the OSC 52 ANSI control sequence | ||||
| // that will be used by default if this option is not set. | ||||
| // Examples: | ||||
| // | ||||
| // copy_command "xclip -selection clipboard" // x11 | ||||
| // copy_command "wl-copy"                    // wayland | ||||
| // copy_command "pbcopy"                     // osx | ||||
| 
 | ||||
| // Choose the destination for copied text | ||||
| // Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard. | ||||
| // Does not apply when using copy_command. | ||||
| // Options: | ||||
| //   - system (default) | ||||
| //   - primary | ||||
| // | ||||
| // copy_clipboard "primary" | ||||
| 
 | ||||
| // Enable or disable automatic copy (and clear) of selection when releasing mouse | ||||
| // Default: true | ||||
| // | ||||
| // copy_on_select false | ||||
| 
 | ||||
| // Path to the default editor to use to edit pane scrollbuffer | ||||
| // Default: $EDITOR or $VISUAL | ||||
| // | ||||
| // scrollback_editor "/usr/bin/vim" | ||||
| 
 | ||||
| // When attaching to an existing session with other users, | ||||
| // should the session be mirrored (true) | ||||
| // or should each user have their own cursor (false) | ||||
| // Default: false | ||||
| // | ||||
| // mirror_session true | ||||
| 
 | ||||
| // The folder in which Zellij will look for layouts | ||||
| 
 | ||||
| layout_dir "~/.config/zellij/layouts/" | ||||
| 
 | ||||
| // The folder in which Zellij will look for themes | ||||
| // | ||||
| // theme_dir "/path/to/my/theme_dir" | ||||
|  | @ -0,0 +1,6 @@ | |||
| layout { | ||||
|     pane | ||||
|     pane size=1 borderless=true { | ||||
|         plugin location="zellij:compact-bar" | ||||
|     } | ||||
| } | ||||
							
								
								
									
										9
									
								
								arch/stow/zellij/.config/zellij/layouts/my-layout.kdl
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								arch/stow/zellij/.config/zellij/layouts/my-layout.kdl
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,9 @@ | |||
| layout { | ||||
|     pane { | ||||
|         borderless true; | ||||
|     } | ||||
|     pane size=1 { | ||||
|         borderless true; | ||||
|         plugin location="zellij:compact-bar"; | ||||
|     } | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue