mirror of
				https://github.com/frebib/dotfiles.git
				synced 2024-06-14 12:57:23 +00:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			fea0831c13
			...
			7edc0c5789
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						7edc0c5789
	
				 | 
					
					
						
							
								
								
									
										24
									
								
								.config/X11/xprofile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								.config/X11/xprofile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Graphical-specific environment variables
 | 
				
			||||||
 | 
					export TERMINAL="alacritty"
 | 
				
			||||||
 | 
					export BROWSER="chromium"
 | 
				
			||||||
 | 
					export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"
 | 
				
			||||||
 | 
					export QT_QPA_PLATFORMTHEME=gtk2
 | 
				
			||||||
 | 
					export QT_STYLE_OVERRIDE=gtk2
 | 
				
			||||||
 | 
					export XDG_CURRENT_DESKTOP="GNOME" # Fixes xdg-open
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load Xorg resources and set the DPI
 | 
				
			||||||
 | 
					xrdb -merge $XDG_CONFIG_HOME/X11/xresources
 | 
				
			||||||
 | 
					xrandr --dpi $(xrdb -query | grep -i xft.dpi | cut -d: -f2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					setxkbmap -option caps:none
 | 
				
			||||||
 | 
					xset r rate 200 18
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Merge system clipboards
 | 
				
			||||||
 | 
					if [ -n "$DISPLAY" ] && exists autocutsel && ! pidof autocutsel 1>/dev/null; then
 | 
				
			||||||
 | 
					    autocutsel -fork
 | 
				
			||||||
 | 
					    autocutsel -selection PRIMARY -fork
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										89
									
								
								.config/X11/xresources
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								.config/X11/xresources
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,89 @@
 | 
				
			|||||||
 | 
					! Colour order:
 | 
				
			||||||
 | 
					!   black
 | 
				
			||||||
 | 
					!   red
 | 
				
			||||||
 | 
					!   green
 | 
				
			||||||
 | 
					!   yellow
 | 
				
			||||||
 | 
					!   blue
 | 
				
			||||||
 | 
					!   magenta
 | 
				
			||||||
 | 
					!   cyan
 | 
				
			||||||
 | 
					!   white/gray
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					! Normal colours
 | 
				
			||||||
 | 
					*.color0:       #333638
 | 
				
			||||||
 | 
					*.color1:       #f41f1c
 | 
				
			||||||
 | 
					*.color2:       #8bc34a
 | 
				
			||||||
 | 
					*.color3:       #ffc107
 | 
				
			||||||
 | 
					*.color4:       #0266f4
 | 
				
			||||||
 | 
					*.color5:       #cc17cc
 | 
				
			||||||
 | 
					*.color6:       #10aeba
 | 
				
			||||||
 | 
					*.color7:       #8b9396
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					! Bright colours
 | 
				
			||||||
 | 
					*.color8:       #475760
 | 
				
			||||||
 | 
					*.color9:       #e53727
 | 
				
			||||||
 | 
					*.color10:      #9ccc65
 | 
				
			||||||
 | 
					*.color11:      #ffa000
 | 
				
			||||||
 | 
					*.color12:      #81b3f9
 | 
				
			||||||
 | 
					*.color13:      #a56ecc
 | 
				
			||||||
 | 
					*.color14:      #5ddae2
 | 
				
			||||||
 | 
					*.color15:      #eceff1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Xft.dpi:        96
 | 
				
			||||||
 | 
					Xft.antialias:  true
 | 
				
			||||||
 | 
					Xft.rgba:       rgb
 | 
				
			||||||
 | 
					Xft.hinting:    true
 | 
				
			||||||
 | 
					Xft.hintstyle:  hintfull
 | 
				
			||||||
 | 
					Xft.lcdfilter:  lcddefault
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Xcursor.theme: Breeze_Obsidian
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					!!======================!!
 | 
				
			||||||
 | 
					!! RXVT-unicode setting !!
 | 
				
			||||||
 | 
					!!======================!!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					urxvt.depth:                32
 | 
				
			||||||
 | 
					urxvt.internalBorder:       16
 | 
				
			||||||
 | 
					urxvt.blurRadius:           25
 | 
				
			||||||
 | 
					urxvt.saveLines:            10000
 | 
				
			||||||
 | 
					urxvt.preeditType:          Root
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					urxvt.scrollBar:            false
 | 
				
			||||||
 | 
					urxvt.jumpScroll:           false
 | 
				
			||||||
 | 
					urxvt.scrollTtyOutput:      false
 | 
				
			||||||
 | 
					urxvt.scrollWithBuffer:     true
 | 
				
			||||||
 | 
					urxvt.scrollTtyKeypress:    true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					urxvt.altSendsEscape:       true
 | 
				
			||||||
 | 
					xterm.metaSendsEscape:      true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					urxvt.termName:             xterm-256color
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					urxvt.font:                 xft:Source Code Pro:style=regular:size=9
 | 
				
			||||||
 | 
					urxvt.imFont:               xft:Source Code Pro:style=regular:size=9
 | 
				
			||||||
 | 
					urxvt.boldFont:             xft:Source Code Pro:style=bold:size=9
 | 
				
			||||||
 | 
					urxvt.italicFont:           xft:Source Code Pro:style=italic:size=9
 | 
				
			||||||
 | 
					urxvt.boldItalicFont:       xft:Source Code Pro:style=bold,italic:size=9
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					urxvt.iso14755:             false
 | 
				
			||||||
 | 
					urxvt.iso14755_52:          false
 | 
				
			||||||
 | 
					urxvt.perl-ext-common:      default,vtwheel,font-size
 | 
				
			||||||
 | 
					urxvt.url-launcher:         /usr/bin/chromium
 | 
				
			||||||
 | 
					urxvt.matcher.button:       1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					urxvt.keysym.C-Up:          font-size:increase
 | 
				
			||||||
 | 
					urxvt.keysym.C-Down:        font-size:decrease
 | 
				
			||||||
 | 
					urxvt.keysym.C-equal:       font-size:reset
 | 
				
			||||||
 | 
					urxvt.keysym.C-slash:       font-size:show
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					! special
 | 
				
			||||||
 | 
					*.foreground:               #ECEFF1
 | 
				
			||||||
 | 
					*.background:               #002B36
 | 
				
			||||||
 | 
					*.cursorColor:              #5294E2
 | 
				
			||||||
 | 
					*.highlightColor:           #5294E2
 | 
				
			||||||
 | 
					urxvt.background:           [95]#383C4A
 | 
				
			||||||
 | 
					urxvt.scrollColor:          #767B87
 | 
				
			||||||
 | 
					urxvt.dynamicColors:        on
 | 
				
			||||||
 | 
					urxvt.highlightSelection:   true
 | 
				
			||||||
 | 
					urxvt.colorMode:            on
 | 
				
			||||||
							
								
								
									
										483
									
								
								.config/alacritty/alacritty.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										483
									
								
								.config/alacritty/alacritty.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,483 @@
 | 
				
			|||||||
 | 
					# Configuration for Alacritty, the GPU enhanced terminal emulator.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 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: xterm-256color
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					window:
 | 
				
			||||||
 | 
					  # Window dimensions (changes require restart)
 | 
				
			||||||
 | 
					  #
 | 
				
			||||||
 | 
					  # Specified in number of columns/lines, not pixels.
 | 
				
			||||||
 | 
					  # If both are `0`, this setting is ignored.
 | 
				
			||||||
 | 
					  dimensions:
 | 
				
			||||||
 | 
					    columns: 80
 | 
				
			||||||
 | 
					    lines: 24
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Window padding (changes require restart)
 | 
				
			||||||
 | 
					  #
 | 
				
			||||||
 | 
					  # Blank space added around the window in pixels. This padding is scaled
 | 
				
			||||||
 | 
					  # by DPI and the specified value is always added at both opposing sides.
 | 
				
			||||||
 | 
					  padding:
 | 
				
			||||||
 | 
					    x: 22
 | 
				
			||||||
 | 
					    y: 22
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Spread additional padding evenly around the terminal content.
 | 
				
			||||||
 | 
					  dynamic_padding: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Window decorations
 | 
				
			||||||
 | 
					  #
 | 
				
			||||||
 | 
					  # Values for `decorations`:
 | 
				
			||||||
 | 
					  #     - full: Borders and title bar
 | 
				
			||||||
 | 
					  #     - none: Neither borders nor title bar
 | 
				
			||||||
 | 
					  decorations: full
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Startup Mode (changes require restart)
 | 
				
			||||||
 | 
					  #
 | 
				
			||||||
 | 
					  # Values for `startup_mode`:
 | 
				
			||||||
 | 
					  #   - Windowed
 | 
				
			||||||
 | 
					  #   - Maximized
 | 
				
			||||||
 | 
					  #   - Fullscreen
 | 
				
			||||||
 | 
					  #
 | 
				
			||||||
 | 
					  # Values for `startup_mode` (macOS only):
 | 
				
			||||||
 | 
					  #   - SimpleFullscreen
 | 
				
			||||||
 | 
					  startup_mode: Windowed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					scrolling:
 | 
				
			||||||
 | 
					  # Maximum number of lines in the scrollback buffer.
 | 
				
			||||||
 | 
					  # Specifying '0' will disable scrolling.
 | 
				
			||||||
 | 
					  history: 10000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Number of lines the viewport will move for every line scrolled when
 | 
				
			||||||
 | 
					  # scrollback is enabled (history > 0).
 | 
				
			||||||
 | 
					  multiplier: 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Scroll to the bottom when new text is written to the terminal.
 | 
				
			||||||
 | 
					  auto_scroll: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Spaces per Tab (changes require restart)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This setting defines the width of a tab in cells.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Some applications, like Emacs, rely on knowing about the width of a tab.
 | 
				
			||||||
 | 
					# To prevent unexpected behavior in these applications, it's also required to
 | 
				
			||||||
 | 
					# change the `it` value in terminfo when altering this setting.
 | 
				
			||||||
 | 
					tabspaces: 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Font configuration (changes require restart)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Important font attributes like antialiasing, subpixel aa, and hinting can be
 | 
				
			||||||
 | 
					# controlled through fontconfig. Specifically, the following attributes should
 | 
				
			||||||
 | 
					# have an effect:
 | 
				
			||||||
 | 
					#   - hintstyle
 | 
				
			||||||
 | 
					#   - antialias
 | 
				
			||||||
 | 
					#   - lcdfilter
 | 
				
			||||||
 | 
					#   - rgba
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# For instance, if you wish to disable subpixel antialiasing, you might set the
 | 
				
			||||||
 | 
					# rgba property to `none`. If you wish to completely disable antialiasing, you
 | 
				
			||||||
 | 
					# can set antialias to `false`.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Please see these resources for more information on how to use fontconfig:
 | 
				
			||||||
 | 
					#   - https://wiki.archlinux.org/index.php/font_configuration#Fontconfig_configuration
 | 
				
			||||||
 | 
					#   - file:///usr/share/doc/fontconfig/fontconfig-user.html
 | 
				
			||||||
 | 
					font:
 | 
				
			||||||
 | 
					  # Normal (roman) font face
 | 
				
			||||||
 | 
					  normal:
 | 
				
			||||||
 | 
					    family: monospace
 | 
				
			||||||
 | 
					    # The `style` can be specified to pick a specific face.
 | 
				
			||||||
 | 
					    # style: Regular
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Bold font face
 | 
				
			||||||
 | 
					  bold:
 | 
				
			||||||
 | 
					    family: monospace
 | 
				
			||||||
 | 
					    # The `style` can be specified to pick a specific face.
 | 
				
			||||||
 | 
					    # style: Bold
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Italic font face
 | 
				
			||||||
 | 
					  italic:
 | 
				
			||||||
 | 
					    family: monospace
 | 
				
			||||||
 | 
					    # The `style` can be specified to pick a specific face.
 | 
				
			||||||
 | 
					    # style: Italic
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Point size
 | 
				
			||||||
 | 
					  size: 9.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 upwards.
 | 
				
			||||||
 | 
					  glyph_offset:
 | 
				
			||||||
 | 
					    x: 0
 | 
				
			||||||
 | 
					    y: 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					debug:
 | 
				
			||||||
 | 
					  # Display the time it takes to redraw each frame.
 | 
				
			||||||
 | 
					  render_timer: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# If `true`, bold text is drawn using the bright color variants.
 | 
				
			||||||
 | 
					draw_bold_text_with_bright_colors: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					colors:
 | 
				
			||||||
 | 
					  # Default colors
 | 
				
			||||||
 | 
					  primary:
 | 
				
			||||||
 | 
					    foreground: '0xeceff1'
 | 
				
			||||||
 | 
					    background: '0x383c4a'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # 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: '0x9a9a9a'
 | 
				
			||||||
 | 
					    #bright_foreground: '0xffffff'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Cursor colors
 | 
				
			||||||
 | 
					  #
 | 
				
			||||||
 | 
					  # These will only be used when the `custom_cursor_colors` field is set to `true`.
 | 
				
			||||||
 | 
					  cursor:
 | 
				
			||||||
 | 
					    text:       '0xeceff1'
 | 
				
			||||||
 | 
					    cursor:     '0x5294e2'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Selection colors
 | 
				
			||||||
 | 
					  #
 | 
				
			||||||
 | 
					  # Colors which should be used to draw the selection area. If selection
 | 
				
			||||||
 | 
					  # background is unset, selection color will be the inverse of the cell colors.
 | 
				
			||||||
 | 
					  # If only text is unset the cell text color will remain the same.
 | 
				
			||||||
 | 
					  selection:
 | 
				
			||||||
 | 
					    background: '0x5294e2'
 | 
				
			||||||
 | 
					  #  text: '0xeaeaea'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Normal colors
 | 
				
			||||||
 | 
					  normal:
 | 
				
			||||||
 | 
					    black:      '0x333638'
 | 
				
			||||||
 | 
					    red:        '0xf41f1c'
 | 
				
			||||||
 | 
					    green:      '0x8bc34a'
 | 
				
			||||||
 | 
					    yellow:     '0xffc107'
 | 
				
			||||||
 | 
					    blue:       '0x0266f4'
 | 
				
			||||||
 | 
					    magenta:    '0xcc17cc'
 | 
				
			||||||
 | 
					    cyan:       '0x10aeba'
 | 
				
			||||||
 | 
					    white:      '0x8b9396'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Bright colors
 | 
				
			||||||
 | 
					  bright:
 | 
				
			||||||
 | 
					    black:      '0x475760'
 | 
				
			||||||
 | 
					    red:        '0xe53727'
 | 
				
			||||||
 | 
					    green:      '0x9ccc65'
 | 
				
			||||||
 | 
					    yellow:     '0xffa000'
 | 
				
			||||||
 | 
					    blue:       '0x81b3f9'
 | 
				
			||||||
 | 
					    magenta:    '0xa56ecc'
 | 
				
			||||||
 | 
					    cyan:       '0x5ddae2'
 | 
				
			||||||
 | 
					    white:      '0xeceff1'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Indexed Colors
 | 
				
			||||||
 | 
					  #
 | 
				
			||||||
 | 
					  # The indexed colors include all colors from 16 to 256.
 | 
				
			||||||
 | 
					  # When these are not set, they're filled with sensible defaults.
 | 
				
			||||||
 | 
					  #
 | 
				
			||||||
 | 
					  #indexed_colors:
 | 
				
			||||||
 | 
					  #  - { index: 16, color: '0x000000' }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Bell
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
 | 
				
			||||||
 | 
					# rung, the terminal background will be set to white and transition back to the
 | 
				
			||||||
 | 
					# default background color. You can control the rate of this transition by
 | 
				
			||||||
 | 
					# setting the `duration` property (represented in milliseconds). You can also
 | 
				
			||||||
 | 
					# configure the transition function by setting the `animation` property.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Values for `animation`:
 | 
				
			||||||
 | 
					#   - Ease
 | 
				
			||||||
 | 
					#   - EaseOut
 | 
				
			||||||
 | 
					#   - EaseOutSine
 | 
				
			||||||
 | 
					#   - EaseOutQuad
 | 
				
			||||||
 | 
					#   - EaseOutCubic
 | 
				
			||||||
 | 
					#   - EaseOutQuart
 | 
				
			||||||
 | 
					#   - EaseOutQuint
 | 
				
			||||||
 | 
					#   - EaseOutExpo
 | 
				
			||||||
 | 
					#   - EaseOutCirc
 | 
				
			||||||
 | 
					#   - Linear
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Specifying a `duration` of `0` will disable the visual bell.
 | 
				
			||||||
 | 
					visual_bell:
 | 
				
			||||||
 | 
					  animation: EaseOutExpo
 | 
				
			||||||
 | 
					  duration: 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 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.
 | 
				
			||||||
 | 
					background_opacity: 0.85
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Mouse bindings
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Available fields:
 | 
				
			||||||
 | 
					#   - mouse
 | 
				
			||||||
 | 
					#   - action
 | 
				
			||||||
 | 
					#   - mods (optional)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Values for `mouse`:
 | 
				
			||||||
 | 
					#   - Middle
 | 
				
			||||||
 | 
					#   - Left
 | 
				
			||||||
 | 
					#   - Right
 | 
				
			||||||
 | 
					#   - Numeric identifier such as `5`
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# All available `mods` and `action` values are documented in the key binding
 | 
				
			||||||
 | 
					# section.
 | 
				
			||||||
 | 
					mouse_bindings:
 | 
				
			||||||
 | 
					  - { mouse: Middle, action: PasteSelection }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  url:
 | 
				
			||||||
 | 
					    # URL launcher
 | 
				
			||||||
 | 
					    #
 | 
				
			||||||
 | 
					    # This program is executed when clicking on a text which is recognized as a URL.
 | 
				
			||||||
 | 
					    # The URL is always added to the command as the last parameter.
 | 
				
			||||||
 | 
					    launcher: xdg-open
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # URL modifiers
 | 
				
			||||||
 | 
					    #
 | 
				
			||||||
 | 
					    # These are the modifiers that need to be held down for opening URLs when clicking
 | 
				
			||||||
 | 
					    # on them. The available modifiers are documented in the key binding section.
 | 
				
			||||||
 | 
					    #modifiers: Control|Shift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					selection:
 | 
				
			||||||
 | 
					  semantic_escape_chars: ",│`|:\"' ()[]{}<>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # When set to `true`, selected text will be copied to both the primary and
 | 
				
			||||||
 | 
					  # the selection clipboard. Otherwise, it will only be copied to the selection
 | 
				
			||||||
 | 
					  # clipboard.
 | 
				
			||||||
 | 
					  save_to_clipboard: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dynamic_title: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cursor:
 | 
				
			||||||
 | 
					  # Cursor style
 | 
				
			||||||
 | 
					  #
 | 
				
			||||||
 | 
					  # Values for 'style':
 | 
				
			||||||
 | 
					  #   - ▇ Block
 | 
				
			||||||
 | 
					  #   - _ Underline
 | 
				
			||||||
 | 
					  #   - | Beam
 | 
				
			||||||
 | 
					  style: Block
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # If this is `true`, the cursor will be rendered as a hollow box when the
 | 
				
			||||||
 | 
					  # window is not focused.
 | 
				
			||||||
 | 
					  unfocused_hollow: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 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.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#shell:
 | 
				
			||||||
 | 
					#  program: /bin/bash
 | 
				
			||||||
 | 
					#  args:
 | 
				
			||||||
 | 
					#    - --login
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Key bindings
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Key bindings are specified as a list of objects. Each binding will specify
 | 
				
			||||||
 | 
					# a key and modifiers required to trigger it, terminal modes where the binding
 | 
				
			||||||
 | 
					# is applicable, and what should be done when the key binding fires. It can
 | 
				
			||||||
 | 
					# either send a byte sequnce to the running application (`chars`), execute
 | 
				
			||||||
 | 
					# a predefined action (`action`) or fork and execute a specified command plus
 | 
				
			||||||
 | 
					# arguments (`command`).
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Example:
 | 
				
			||||||
 | 
					#   `- { key: V, mods: Command, action: Paste }`
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Available fields:
 | 
				
			||||||
 | 
					#   - key
 | 
				
			||||||
 | 
					#   - mods (optional)
 | 
				
			||||||
 | 
					#   - chars | action | command (exactly one required)
 | 
				
			||||||
 | 
					#   - mode (optional)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Values for `key`:
 | 
				
			||||||
 | 
					#   - `A` -> `Z`
 | 
				
			||||||
 | 
					#   - `F1` -> `F12`
 | 
				
			||||||
 | 
					#   - `Key1` -> `Key0`
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#   A full list with available key codes can be found here:
 | 
				
			||||||
 | 
					#   https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Values for `mods`:
 | 
				
			||||||
 | 
					#   - Command
 | 
				
			||||||
 | 
					#   - Control
 | 
				
			||||||
 | 
					#   - Shift
 | 
				
			||||||
 | 
					#   - Alt
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#   Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`.
 | 
				
			||||||
 | 
					#   Whitespace and capitalization is relevant and must match the example.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Values for `chars`:
 | 
				
			||||||
 | 
					#   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.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Values for `action`:
 | 
				
			||||||
 | 
					#   - Paste
 | 
				
			||||||
 | 
					#   - PasteSelection
 | 
				
			||||||
 | 
					#   - Copy
 | 
				
			||||||
 | 
					#   - IncreaseFontSize
 | 
				
			||||||
 | 
					#   - DecreaseFontSize
 | 
				
			||||||
 | 
					#   - ResetFontSize
 | 
				
			||||||
 | 
					#   - ScrollPageUp
 | 
				
			||||||
 | 
					#   - ScrollPageDown
 | 
				
			||||||
 | 
					#   - ScrollToTop
 | 
				
			||||||
 | 
					#   - ScrollToBottom
 | 
				
			||||||
 | 
					#   - ClearHistory
 | 
				
			||||||
 | 
					#   - Hide
 | 
				
			||||||
 | 
					#   - Quit
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Values for `command`:
 | 
				
			||||||
 | 
					#   The `command` field must be a map containing a `program` string and
 | 
				
			||||||
 | 
					#   an `args` array of command line parameter strings.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#   Example:
 | 
				
			||||||
 | 
					#       `command: { program: "alacritty", args: ["-e", "vttest"] }`
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Values for `mode`:
 | 
				
			||||||
 | 
					#   - ~AppCursor
 | 
				
			||||||
 | 
					#   - AppCursor
 | 
				
			||||||
 | 
					#   - ~AppKeypad
 | 
				
			||||||
 | 
					#   - AppKeypad
 | 
				
			||||||
 | 
					key_bindings:
 | 
				
			||||||
 | 
					  - { key: V,        mods: Control|Shift,    action: Paste               }
 | 
				
			||||||
 | 
					  - { key: C,        mods: Control|Shift,    action: Copy                }
 | 
				
			||||||
 | 
					  - { key: Paste,                   action: Paste                        }
 | 
				
			||||||
 | 
					  - { key: Copy,                    action: Copy                         }
 | 
				
			||||||
 | 
					  - { key: Q,        mods: Command, action: Quit                         }
 | 
				
			||||||
 | 
					  - { key: W,        mods: Command, action: Quit                         }
 | 
				
			||||||
 | 
					  - { key: Insert,   mods: Shift,   action: PasteSelection               }
 | 
				
			||||||
 | 
					  - { key: Equals,   mods: Control, action: ResetFontSize                }
 | 
				
			||||||
 | 
					  - { key: Add,      mods: Control|Shift,    action: IncreaseFontSize    }
 | 
				
			||||||
 | 
					  - { key: Subtract, mods: Control|Shift,    action: DecreaseFontSize    }
 | 
				
			||||||
 | 
					  - { key: Home,                    chars: "\x1bOH",   mode: AppCursor   }
 | 
				
			||||||
 | 
					  - { key: Home,                    chars: "\x1b[H",   mode: ~AppCursor  }
 | 
				
			||||||
 | 
					  - { key: End,                     chars: "\x1bOF",   mode: AppCursor   }
 | 
				
			||||||
 | 
					  - { key: End,                     chars: "\x1b[F",   mode: ~AppCursor  }
 | 
				
			||||||
 | 
					  - { key: PageUp,   mods: Shift,   chars: "\x1b[5;2~"                   }
 | 
				
			||||||
 | 
					  - { key: PageUp,   mods: Control, chars: "\x1b[5;5~"                   }
 | 
				
			||||||
 | 
					  - { key: PageUp,                  chars: "\x1b[5~"                     }
 | 
				
			||||||
 | 
					  - { key: PageDown, mods: Shift,   chars: "\x1b[6;2~"                   }
 | 
				
			||||||
 | 
					  - { key: PageDown, mods: Control, chars: "\x1b[6;5~"                   }
 | 
				
			||||||
 | 
					  - { key: PageDown,                chars: "\x1b[6~"                     }
 | 
				
			||||||
 | 
					  - { key: Tab,      mods: Shift,   chars: "\x1b[Z"                      }
 | 
				
			||||||
 | 
					  - { key: Back,                    chars: "\x7f"                        }
 | 
				
			||||||
 | 
					  - { key: Back,     mods: Alt,     chars: "\x1b\x7f"                    }
 | 
				
			||||||
 | 
					  - { key: Insert,                  chars: "\x1b[2~"                     }
 | 
				
			||||||
 | 
					  - { key: Delete,                  chars: "\x1b[3~"                     }
 | 
				
			||||||
 | 
					  - { key: Left,     mods: Shift,   chars: "\x1b[1;2D"                   }
 | 
				
			||||||
 | 
					  - { key: Left,     mods: Control, chars: "\x1b[1;5D"                   }
 | 
				
			||||||
 | 
					  - { key: Left,     mods: Alt,     chars: "\x1b[1;3D"                   }
 | 
				
			||||||
 | 
					  - { key: Left,                    chars: "\x1b[D",   mode: ~AppCursor  }
 | 
				
			||||||
 | 
					  - { key: Left,                    chars: "\x1bOD",   mode: AppCursor   }
 | 
				
			||||||
 | 
					  - { key: Right,    mods: Shift,   chars: "\x1b[1;2C"                   }
 | 
				
			||||||
 | 
					  - { key: Right,    mods: Control, chars: "\x1b[1;5C"                   }
 | 
				
			||||||
 | 
					  - { key: Right,    mods: Alt,     chars: "\x1b[1;3C"                   }
 | 
				
			||||||
 | 
					  - { key: Right,                   chars: "\x1b[C",   mode: ~AppCursor  }
 | 
				
			||||||
 | 
					  - { key: Right,                   chars: "\x1bOC",   mode: AppCursor   }
 | 
				
			||||||
 | 
					  - { key: Up,       mods: Shift,   chars: "\x1b[1;2A"                   }
 | 
				
			||||||
 | 
					  - { key: Up,       mods: Control, chars: "\x1b[1;5A"                   }
 | 
				
			||||||
 | 
					  - { key: Up,       mods: Alt,     chars: "\x1b[1;3A"                   }
 | 
				
			||||||
 | 
					  - { key: Up,                      chars: "\x1b[A",   mode: ~AppCursor  }
 | 
				
			||||||
 | 
					  - { key: Up,                      chars: "\x1bOA",   mode: AppCursor   }
 | 
				
			||||||
 | 
					  - { key: Down,     mods: Shift,   chars: "\x1b[1;2B"                   }
 | 
				
			||||||
 | 
					  - { key: Down,     mods: Control, chars: "\x1b[1;5B"                   }
 | 
				
			||||||
 | 
					  - { key: Down,     mods: Alt,     chars: "\x1b[1;3B"                   }
 | 
				
			||||||
 | 
					  - { key: Down,                    chars: "\x1b[B",   mode: ~AppCursor  }
 | 
				
			||||||
 | 
					  - { key: Down,                    chars: "\x1bOB",   mode: AppCursor   }
 | 
				
			||||||
 | 
					  - { key: F1,                      chars: "\x1bOP"                      }
 | 
				
			||||||
 | 
					  - { key: F2,                      chars: "\x1bOQ"                      }
 | 
				
			||||||
 | 
					  - { key: F3,                      chars: "\x1bOR"                      }
 | 
				
			||||||
 | 
					  - { key: F4,                      chars: "\x1bOS"                      }
 | 
				
			||||||
 | 
					  - { key: F5,                      chars: "\x1b[15~"                    }
 | 
				
			||||||
 | 
					  - { key: F6,                      chars: "\x1b[17~"                    }
 | 
				
			||||||
 | 
					  - { key: F7,                      chars: "\x1b[18~"                    }
 | 
				
			||||||
 | 
					  - { key: F8,                      chars: "\x1b[19~"                    }
 | 
				
			||||||
 | 
					  - { key: F9,                      chars: "\x1b[20~"                    }
 | 
				
			||||||
 | 
					  - { key: F10,                     chars: "\x1b[21~"                    }
 | 
				
			||||||
 | 
					  - { key: F11,                     chars: "\x1b[23~"                    }
 | 
				
			||||||
 | 
					  - { key: F12,                     chars: "\x1b[24~"                    }
 | 
				
			||||||
 | 
					  - { key: F1,       mods: Shift,   chars: "\x1b[1;2P"                   }
 | 
				
			||||||
 | 
					  - { key: F2,       mods: Shift,   chars: "\x1b[1;2Q"                   }
 | 
				
			||||||
 | 
					  - { key: F3,       mods: Shift,   chars: "\x1b[1;2R"                   }
 | 
				
			||||||
 | 
					  - { key: F4,       mods: Shift,   chars: "\x1b[1;2S"                   }
 | 
				
			||||||
 | 
					  - { key: F5,       mods: Shift,   chars: "\x1b[15;2~"                  }
 | 
				
			||||||
 | 
					  - { key: F6,       mods: Shift,   chars: "\x1b[17;2~"                  }
 | 
				
			||||||
 | 
					  - { key: F7,       mods: Shift,   chars: "\x1b[18;2~"                  }
 | 
				
			||||||
 | 
					  - { key: F8,       mods: Shift,   chars: "\x1b[19;2~"                  }
 | 
				
			||||||
 | 
					  - { key: F9,       mods: Shift,   chars: "\x1b[20;2~"                  }
 | 
				
			||||||
 | 
					  - { key: F10,      mods: Shift,   chars: "\x1b[21;2~"                  }
 | 
				
			||||||
 | 
					  - { key: F11,      mods: Shift,   chars: "\x1b[23;2~"                  }
 | 
				
			||||||
 | 
					  - { key: F12,      mods: Shift,   chars: "\x1b[24;2~"                  }
 | 
				
			||||||
 | 
					  - { key: F1,       mods: Control, chars: "\x1b[1;5P"                   }
 | 
				
			||||||
 | 
					  - { key: F2,       mods: Control, chars: "\x1b[1;5Q"                   }
 | 
				
			||||||
 | 
					  - { key: F3,       mods: Control, chars: "\x1b[1;5R"                   }
 | 
				
			||||||
 | 
					  - { key: F4,       mods: Control, chars: "\x1b[1;5S"                   }
 | 
				
			||||||
 | 
					  - { key: F5,       mods: Control, chars: "\x1b[15;5~"                  }
 | 
				
			||||||
 | 
					  - { key: F6,       mods: Control, chars: "\x1b[17;5~"                  }
 | 
				
			||||||
 | 
					  - { key: F7,       mods: Control, chars: "\x1b[18;5~"                  }
 | 
				
			||||||
 | 
					  - { key: F8,       mods: Control, chars: "\x1b[19;5~"                  }
 | 
				
			||||||
 | 
					  - { key: F9,       mods: Control, chars: "\x1b[20;5~"                  }
 | 
				
			||||||
 | 
					  - { key: F10,      mods: Control, chars: "\x1b[21;5~"                  }
 | 
				
			||||||
 | 
					  - { key: F11,      mods: Control, chars: "\x1b[23;5~"                  }
 | 
				
			||||||
 | 
					  - { key: F12,      mods: Control, chars: "\x1b[24;5~"                  }
 | 
				
			||||||
 | 
					  - { key: F1,       mods: Alt,     chars: "\x1b[1;6P"                   }
 | 
				
			||||||
 | 
					  - { key: F2,       mods: Alt,     chars: "\x1b[1;6Q"                   }
 | 
				
			||||||
 | 
					  - { key: F3,       mods: Alt,     chars: "\x1b[1;6R"                   }
 | 
				
			||||||
 | 
					  - { key: F4,       mods: Alt,     chars: "\x1b[1;6S"                   }
 | 
				
			||||||
 | 
					  - { key: F5,       mods: Alt,     chars: "\x1b[15;6~"                  }
 | 
				
			||||||
 | 
					  - { key: F6,       mods: Alt,     chars: "\x1b[17;6~"                  }
 | 
				
			||||||
 | 
					  - { key: F7,       mods: Alt,     chars: "\x1b[18;6~"                  }
 | 
				
			||||||
 | 
					  - { key: F8,       mods: Alt,     chars: "\x1b[19;6~"                  }
 | 
				
			||||||
 | 
					  - { key: F9,       mods: Alt,     chars: "\x1b[20;6~"                  }
 | 
				
			||||||
 | 
					  - { key: F10,      mods: Alt,     chars: "\x1b[21;6~"                  }
 | 
				
			||||||
 | 
					  - { key: F11,      mods: Alt,     chars: "\x1b[23;6~"                  }
 | 
				
			||||||
 | 
					  - { key: F12,      mods: Alt,     chars: "\x1b[24;6~"                  }
 | 
				
			||||||
 | 
					  - { key: F1,       mods: Super,   chars: "\x1b[1;3P"                   }
 | 
				
			||||||
 | 
					  - { key: F2,       mods: Super,   chars: "\x1b[1;3Q"                   }
 | 
				
			||||||
 | 
					  - { key: F3,       mods: Super,   chars: "\x1b[1;3R"                   }
 | 
				
			||||||
 | 
					  - { key: F4,       mods: Super,   chars: "\x1b[1;3S"                   }
 | 
				
			||||||
 | 
					  - { key: F5,       mods: Super,   chars: "\x1b[15;3~"                  }
 | 
				
			||||||
 | 
					  - { key: F6,       mods: Super,   chars: "\x1b[17;3~"                  }
 | 
				
			||||||
 | 
					  - { key: F7,       mods: Super,   chars: "\x1b[18;3~"                  }
 | 
				
			||||||
 | 
					  - { key: F8,       mods: Super,   chars: "\x1b[19;3~"                  }
 | 
				
			||||||
 | 
					  - { key: F9,       mods: Super,   chars: "\x1b[20;3~"                  }
 | 
				
			||||||
 | 
					  - { key: F10,      mods: Super,   chars: "\x1b[21;3~"                  }
 | 
				
			||||||
 | 
					  - { key: F11,      mods: Super,   chars: "\x1b[23;3~"                  }
 | 
				
			||||||
 | 
					  - { key: F12,      mods: Super,   chars: "\x1b[24;3~"                  }
 | 
				
			||||||
@@ -11,7 +11,7 @@
 | 
				
			|||||||
    # <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
 | 
					    # <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
 | 
				
			||||||
    # If markup is not allowed, those tags will be stripped out of the
 | 
					    # If markup is not allowed, those tags will be stripped out of the
 | 
				
			||||||
    # message.
 | 
					    # message.
 | 
				
			||||||
    markup = full
 | 
					    markup = yes
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    # The format of the message.  Possible variables are:
 | 
					    # The format of the message.  Possible variables are:
 | 
				
			||||||
    #   %a  appname
 | 
					    #   %a  appname
 | 
				
			||||||
@@ -51,16 +51,21 @@
 | 
				
			|||||||
    # Ignore newlines '\n' in notifications.
 | 
					    # Ignore newlines '\n' in notifications.
 | 
				
			||||||
    ignore_newline = no
 | 
					    ignore_newline = no
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    # dynamic width from 0 to 400
 | 
					    # The geometry of the window:
 | 
				
			||||||
    # width = (0, 400)
 | 
					    #   [{width}]x{height}[+/-{x}+/-{y}]
 | 
				
			||||||
    # constant width of 400
 | 
					    # The geometry of the message window.
 | 
				
			||||||
    width = (320, 360)
 | 
					    # The height is measured in number of notifications everything else
 | 
				
			||||||
 | 
					    # in pixels.  If the width is omitted but the height is given
 | 
				
			||||||
 | 
					    # ("-geometry x2"), the message window expands over the whole screen
 | 
				
			||||||
 | 
					    # (dmenu-like).  If width is 0, the window expands to the longest
 | 
				
			||||||
 | 
					    # message displayed.  A positive x is measured from the left, a
 | 
				
			||||||
 | 
					    # negative from the right side of the screen.  Y is measured from
 | 
				
			||||||
 | 
					    # the top and down respectevly.
 | 
				
			||||||
 | 
					    # The width can be negative.  In this case the actual width is the
 | 
				
			||||||
 | 
					    # screen width minus the width defined in within the geometry option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Position the notification in the top right corner
 | 
					    # 53 = 30 + 23 (bar-height)
 | 
				
			||||||
    origin = top-right
 | 
					    geometry = "360x5-30+30"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Offset from the origin
 | 
					 | 
				
			||||||
    offset = 30x30
 | 
					 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    # Shrink window if it's smaller than the width.  Will be ignored if
 | 
					    # Shrink window if it's smaller than the width.  Will be ignored if
 | 
				
			||||||
    # width is 0.
 | 
					    # width is 0.
 | 
				
			||||||
@@ -69,7 +74,7 @@
 | 
				
			|||||||
    # The transparency of the window.  Range: [0; 100].
 | 
					    # The transparency of the window.  Range: [0; 100].
 | 
				
			||||||
    # This option will only work if a compositing windowmanager is
 | 
					    # This option will only work if a compositing windowmanager is
 | 
				
			||||||
    # present (e.g. xcompmgr, compiz, etc.).
 | 
					    # present (e.g. xcompmgr, compiz, etc.).
 | 
				
			||||||
    transparency = 20
 | 
					    transparency = 15
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    # Don't remove messages, if the user is idle (no mouse or keyboard input)
 | 
					    # Don't remove messages, if the user is idle (no mouse or keyboard input)
 | 
				
			||||||
    # for longer than idle_threshold seconds.
 | 
					    # for longer than idle_threshold seconds.
 | 
				
			||||||
@@ -135,7 +140,7 @@
 | 
				
			|||||||
    dmenu = /usr/bin/rofi -dmenu -i -p '' -config ~/.config/dunst/dunst-xresources
 | 
					    dmenu = /usr/bin/rofi -dmenu -i -p '' -config ~/.config/dunst/dunst-xresources
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    # Browser for opening urls in context menu.
 | 
					    # Browser for opening urls in context menu.
 | 
				
			||||||
    browser = /usr/bin/firefox
 | 
					    browser = /usr/bin/chromium
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Align icons left/right/off
 | 
					    # Align icons left/right/off
 | 
				
			||||||
    icon_position = left
 | 
					    icon_position = left
 | 
				
			||||||
@@ -6,53 +6,33 @@
 | 
				
			|||||||
        <edit name="family" mode="prepend" binding="strong">
 | 
					        <edit name="family" mode="prepend" binding="strong">
 | 
				
			||||||
            <string>Noto Sans</string>
 | 
					            <string>Noto Sans</string>
 | 
				
			||||||
            <string>Noto Color Emoji</string>
 | 
					            <string>Noto Color Emoji</string>
 | 
				
			||||||
            <string>FontAwesome 6 Pro Light</string>
 | 
					            <string>FontAwesome 5 Pro Light</string>
 | 
				
			||||||
        </edit>
 | 
					        </edit>
 | 
				
			||||||
 | 
					 | 
				
			||||||
        <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
 | 
					 | 
				
			||||||
        <edit mode="assign" name="hinting"><bool>false</bool></edit>
 | 
					 | 
				
			||||||
    </match>
 | 
					    </match>
 | 
				
			||||||
 | 
					 | 
				
			||||||
    <match>
 | 
					    <match>
 | 
				
			||||||
        <test qual="any" name="family"><string>serif</string></test>
 | 
					        <test qual="any" name="family"><string>serif</string></test>
 | 
				
			||||||
        <edit name="family" mode="prepend" binding="strong">
 | 
					        <edit name="family" mode="prepend" binding="strong">
 | 
				
			||||||
            <string>Noto Serif</string>
 | 
					            <string>Noto Serif</string>
 | 
				
			||||||
            <string>Noto Color Emoji</string>
 | 
					            <string>Noto Color Emoji</string>
 | 
				
			||||||
            <string>FontAwesome 6 Pro Light</string>
 | 
					            <string>FontAwesome 5 Pro Light</string>
 | 
				
			||||||
        </edit>
 | 
					        </edit>
 | 
				
			||||||
    </match>
 | 
					    </match>
 | 
				
			||||||
 | 
					 | 
				
			||||||
    <match>
 | 
					    <match>
 | 
				
			||||||
        <test qual="any" name="family"><string>monospace</string></test>
 | 
					        <test qual="any" name="family"><string>monospace</string></test>
 | 
				
			||||||
        <edit name="family" mode="prepend" binding="strong">
 | 
					        <edit name="family" mode="prepend" binding="strong">
 | 
				
			||||||
            <string>Source Code Pro</string>
 | 
					            <string>Source Code Pro</string>
 | 
				
			||||||
            <string>Noto Color Emoji</string>
 | 
					            <string>Noto Color Emoji</string>
 | 
				
			||||||
            <string>FontAwesome 6 Pro Light</string>
 | 
					            <string>FontAwesome 5 Pro Light</string>
 | 
				
			||||||
        </edit>
 | 
					        </edit>
 | 
				
			||||||
    </match>
 | 
					    </match>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <match>
 | 
					    <match target="font">
 | 
				
			||||||
        <test qual="all" name="family" compare="eq"><string>Noto Sans</string></test>
 | 
					        <test qual="all" name="family" compare="eq"><string>Noto Sans</string></test>
 | 
				
			||||||
        <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
 | 
					        <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
 | 
				
			||||||
    </match>
 | 
					    </match>
 | 
				
			||||||
 | 
					    <match target="font">
 | 
				
			||||||
    <match>
 | 
					 | 
				
			||||||
        <test qual="all" name="family" compare="eq"><string>Source Code Pro</string></test>
 | 
					        <test qual="all" name="family" compare="eq"><string>Source Code Pro</string></test>
 | 
				
			||||||
        <edit name="antialias" mode="assign_replace"><bool>false</bool></edit>
 | 
					        <edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
 | 
				
			||||||
        <edit name="hintstyle" mode="assign_replace"><const>hintfull</const></edit>
 | 
					 | 
				
			||||||
        <edit name="lcdfilter" mode="assign_replace"><const>lcddefault</const></edit>
 | 
					 | 
				
			||||||
        <edit name="rgba" mode="assign_replace"><const>rgb</const></edit>
 | 
					 | 
				
			||||||
    </match>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <alias>
 | 
					 | 
				
			||||||
        <family>SF Mono</family>
 | 
					 | 
				
			||||||
        <accept>
 | 
					 | 
				
			||||||
            <family>monospace</family>
 | 
					 | 
				
			||||||
        </accept>
 | 
					 | 
				
			||||||
    </alias>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <match>
 | 
					 | 
				
			||||||
        <edit name="antialias" mode="assign"><bool>true</bool></edit>
 | 
					 | 
				
			||||||
        <edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
 | 
					        <edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
 | 
				
			||||||
        <edit name="rgba" mode="assign"><const>rgb</const></edit>
 | 
					        <edit name="rgba" mode="assign"><const>rgb</const></edit>
 | 
				
			||||||
    </match>
 | 
					    </match>
 | 
				
			||||||
@@ -5,30 +5,19 @@
 | 
				
			|||||||
[core]
 | 
					[core]
 | 
				
			||||||
	autocrlf = input
 | 
						autocrlf = input
 | 
				
			||||||
	excludesfile = /home/frebib/.config/git/gitignore
 | 
						excludesfile = /home/frebib/.config/git/gitignore
 | 
				
			||||||
	pager = delta --diff-so-fancy --color-only
 | 
						pager = diff-highlight | $PAGER
 | 
				
			||||||
[init]
 | 
					 | 
				
			||||||
	defaultBranch = master
 | 
					 | 
				
			||||||
[interactive]
 | 
					[interactive]
 | 
				
			||||||
	diffFilter = delta --diff-so-fancy --color-only
 | 
						diffFilter = diff-highlight
 | 
				
			||||||
[commit]
 | 
					[commit]
 | 
				
			||||||
	gpgsign = true
 | 
						gpgsign = true
 | 
				
			||||||
[fetch]
 | 
					 | 
				
			||||||
	prune = true
 | 
					 | 
				
			||||||
[push]
 | 
					[push]
 | 
				
			||||||
	default = upstream
 | 
						default = upstream
 | 
				
			||||||
[pull]
 | 
					[pull]
 | 
				
			||||||
	rebase = true
 | 
						rebase = true
 | 
				
			||||||
	prune = true
 | 
					 | 
				
			||||||
[merge]
 | 
					 | 
				
			||||||
	ff = only
 | 
					 | 
				
			||||||
[rebase]
 | 
					[rebase]
 | 
				
			||||||
	autoStash = true
 | 
						autoStash = true
 | 
				
			||||||
[remote "origin"]
 | 
					 | 
				
			||||||
	fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
 | 
					 | 
				
			||||||
[remote "upstream"]
 | 
					 | 
				
			||||||
	fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*
 | 
					 | 
				
			||||||
[log]
 | 
					[log]
 | 
				
			||||||
	date = iso8601-local
 | 
						date = relative
 | 
				
			||||||
[format]
 | 
					[format]
 | 
				
			||||||
	pretty = format:%h %Cblue%ad%Creset %ae %Cgreen%s%Creset
 | 
						pretty = format:%h %Cblue%ad%Creset %ae %Cgreen%s%Creset
 | 
				
			||||||
[alias]
 | 
					[alias]
 | 
				
			||||||
@@ -36,13 +25,9 @@
 | 
				
			|||||||
	pushall = !git remote | xargs -L1 git push
 | 
						pushall = !git remote | xargs -L1 git push
 | 
				
			||||||
	count = !echo $(pwd) && git rev-list HEAD --count
 | 
						count = !echo $(pwd) && git rev-list HEAD --count
 | 
				
			||||||
	unpushed = !git log --oneline @{u}..HEAD
 | 
						unpushed = !git log --oneline @{u}..HEAD
 | 
				
			||||||
	leaders = !git shortlog -s -n --all --no-merges
 | 
					 | 
				
			||||||
	defbranch = !git symbolic-ref refs/remotes/origin/HEAD | sed \"s@^refs/remotes/origin/@@\"
 | 
					 | 
				
			||||||
	rbranch = for-each-ref --sort='committerdate' --format="%20%20%(refname:short)" refs/heads/
 | 
					 | 
				
			||||||
[advice]
 | 
					[advice]
 | 
				
			||||||
	statusHints = false
 | 
						statusHints = false
 | 
				
			||||||
	pushUpdateRejected = false
 | 
						pushUpdateRejected = false
 | 
				
			||||||
	detachedHead = false
 | 
					 | 
				
			||||||
[sendemail]
 | 
					[sendemail]
 | 
				
			||||||
	from = Joe Groocock <me@frebib.net>
 | 
						from = Joe Groocock <me@frebib.net>
 | 
				
			||||||
	smtpserver = smtp.zoho.com
 | 
						smtpserver = smtp.zoho.com
 | 
				
			||||||
@@ -1,8 +1,12 @@
 | 
				
			|||||||
 | 
					# DO NOT EDIT! This file will be overwritten by LXAppearance.
 | 
				
			||||||
 | 
					# Any customization should be done in ~/.gtkrc-2.0.mine instead.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include "/home/frebib/.gtkrc-2.0.mine"
 | 
				
			||||||
gtk-theme-name="Arc-Dark"
 | 
					gtk-theme-name="Arc-Dark"
 | 
				
			||||||
gtk-icon-theme-name="Xenlism-Wildfire"
 | 
					gtk-icon-theme-name="Xenlism-Wildfire"
 | 
				
			||||||
gtk-font-name="sans 9"
 | 
					gtk-font-name="Noto Sans 9"
 | 
				
			||||||
gtk-cursor-theme-name="BreezeX-Black"
 | 
					gtk-cursor-theme-name="Breeze_Obsidian"
 | 
				
			||||||
gtk-cursor-theme-size=28
 | 
					gtk-cursor-theme-size=0
 | 
				
			||||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
 | 
					gtk-toolbar-style=GTK_TOOLBAR_BOTH
 | 
				
			||||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
 | 
					gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
 | 
				
			||||||
gtk-button-images=1
 | 
					gtk-button-images=1
 | 
				
			||||||
@@ -2,9 +2,9 @@
 | 
				
			|||||||
gtk-theme-name=Arc-Dark
 | 
					gtk-theme-name=Arc-Dark
 | 
				
			||||||
gtk-icon-theme-name=Xenlism-Wildfire
 | 
					gtk-icon-theme-name=Xenlism-Wildfire
 | 
				
			||||||
gtk-application-prefer-dark-theme=true
 | 
					gtk-application-prefer-dark-theme=true
 | 
				
			||||||
gtk-font-name=sans 9
 | 
					gtk-font-name=Noto Sans 9
 | 
				
			||||||
gtk-cursor-theme-name=BreezeX-Black
 | 
					gtk-cursor-theme-name=Breeze_Obsidian
 | 
				
			||||||
gtk-cursor-theme-size=28
 | 
					gtk-cursor-theme-size=0
 | 
				
			||||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
 | 
					gtk-toolbar-style=GTK_TOOLBAR_BOTH
 | 
				
			||||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
 | 
					gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
 | 
				
			||||||
gtk-button-images=1
 | 
					gtk-button-images=1
 | 
				
			||||||
@@ -6,6 +6,8 @@ set $mod Mod4
 | 
				
			|||||||
set $alt Mod1
 | 
					set $alt Mod1
 | 
				
			||||||
floating_modifier $mod
 | 
					floating_modifier $mod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bindsym $mod+Shift+l debuglog toggle; shmlog on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
font pango:sans 9
 | 
					font pango:sans 9
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# kill focused window
 | 
					# kill focused window
 | 
				
			||||||
@@ -107,52 +109,49 @@ client.unfocused        $inactive-bg-color  $inactive-bg-color $inactive-text-co
 | 
				
			|||||||
client.focused_inactive $inactive-bg-color  $inactive-bg-color $inactive-text-color $bg-color
 | 
					client.focused_inactive $inactive-bg-color  $inactive-bg-color $inactive-text-color $bg-color
 | 
				
			||||||
client.urgent           $urgent-bg-color    $urgent-bg-color   $text-color          $bg-color
 | 
					client.urgent           $urgent-bg-color    $urgent-bg-color   $text-color          $bg-color
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exec_always --no-startup-id killall -q polybar; while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done; exec polybar -r i3bar
 | 
				
			||||||
 | 
					exec_always --no-startup-id feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Window rules
 | 
					# Window rules
 | 
				
			||||||
for_window [class="Pinentry"] floating enable
 | 
					for_window [class="Pinentry"] floating enable
 | 
				
			||||||
for_window [class="Pavucontrol"] floating enable
 | 
					for_window [class="Pavucontrol"] floating enable
 | 
				
			||||||
for_window [class="Blueman-manager"] floating enable
 | 
					for_window [class="Blueman-manager"] floating enable
 | 
				
			||||||
for_window [class="floating-term" instance="termite"] floating enable
 | 
					for_window [class="floating-term" instance="termite"] floating enable
 | 
				
			||||||
for_window [class="Alacritty" instance="floating-term"] floating enable
 | 
					for_window [class="Alacritty" instance="floating-term"] floating enable
 | 
				
			||||||
for_window [class="^jetbrains-.+$" title="win0"] floating enable
 | 
					 | 
				
			||||||
for_window [window_role="floating-term"] floating enable
 | 
					for_window [window_role="floating-term"] floating enable
 | 
				
			||||||
for_window [class="^Rofi$"] floating enable
 | 
					for_window [title="^rofi$"] floating enable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
new_window none
 | 
					new_window none
 | 
				
			||||||
new_float none
 | 
					new_float none
 | 
				
			||||||
 | 
					
 | 
				
			||||||
gaps inner 24
 | 
					gaps inner 20
 | 
				
			||||||
gaps outer 4
 | 
					gaps outer 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mouse_warping none
 | 
				
			||||||
focus_follows_mouse yes
 | 
					focus_follows_mouse yes
 | 
				
			||||||
popup_during_fullscreen smart
 | 
					popup_during_fullscreen smart
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# keybindings
 | 
					# keybindings
 | 
				
			||||||
bindsym $mod+Shift+j            reload
 | 
					bindsym $mod+Shift+j            reload
 | 
				
			||||||
bindsym --release $mod+x        exec xkill
 | 
					bindsym $mod+c                  exec chromium
 | 
				
			||||||
bindsym $mod+c                  exec notify-send "Try again" "You meant \\\$mod+b"
 | 
					bindsym $mod+v                  exec "i3-sensible-terminal -e sh -c \\"($SHELL -c $EDITOR || :) && $SHELL\\"
 | 
				
			||||||
bindsym $mod+b                  exec systemd-run-i3 -n firefox
 | 
					bindsym $mod+Ctrl+v             exec "i3-sensible-terminal --class floating-term -e sh -c \\"($SHELL -c $EDITOR || : ) && $SHELL\\"
 | 
				
			||||||
bindsym $mod+Return             exec systemd-run-i3 -n alacritty
 | 
					bindsym $mod+Return             exec i3-sensible-terminal
 | 
				
			||||||
bindsym $mod+Ctrl+Return        exec systemd-run-i3 -n alacritty --class floating
 | 
					bindsym $mod+Ctrl+Return        exec i3-sensible-terminal --class floating-term
 | 
				
			||||||
bindsym $mod+Shift+Return       exec systemd-run-i3 -n alacritty --working-directory "$(xcwd)"
 | 
					bindsym $mod+Shift+Return       exec i3-sensible-terminal --working-directory "$(xcwd)"
 | 
				
			||||||
bindsym $mod+Ctrl+Shift+Return  exec systemd-run-i3 -n alacritty --class floating --working-directory "$(xcwd)"
 | 
					bindsym $mod+Ctrl+Shift+Return  exec i3-sensible-terminal --class floating-term --working-directory "$(xcwd)"
 | 
				
			||||||
bindsym $mod+v                  exec systemd-run-i3 -n alacritty -e sh -c "($SHELL -c $EDITOR || :) && $SHELL"
 | 
					 | 
				
			||||||
bindsym $mod+Ctrl+v             exec systemd-run-i3 -n alacritty --class floating -e sh -c "($SHELL -c $EDITOR || : ) && $SHELL"
 | 
					 | 
				
			||||||
bindsym $mod+l                  exec dm-tool switch-to-greeter
 | 
					bindsym $mod+l                  exec dm-tool switch-to-greeter
 | 
				
			||||||
bindsym $mod+space              exec "pkill rofi; rofi -show run -sidebar-mode -terminal i3-sensible-terminal -normal-window -run-command 'systemd-run-i3 -n {cmd}'"
 | 
					bindsym $mod+space              exec "pkill rofi; rofi -show run -sidebar-mode -terminal i3-sensible-terminal -normal-window"
 | 
				
			||||||
bindsym $mod+Shift+p            exec systemd-run-i3 -n rofi-rbw
 | 
					bindsym $mod+Shift+p            exec rofi-pass --root $(grep path ~/.config/gopass/config.yml | sed -E 's|^.*fs\+file://||g' | tr '\n' ':') | sed 's/:$//g'
 | 
				
			||||||
bindsym $mod+Shift+e            exec "pkill rofi; rofi -show emoji -modi emoji -normal-window"
 | 
					bindsym $mod+Shift+e            exec rofi-emoji
 | 
				
			||||||
bindsym $mod+Shift+i            exec rofi-fontawesome
 | 
					bindsym $mod+Shift+i            exec rofi-fontawesome
 | 
				
			||||||
bindsym --release Print         exec screenshot --clip
 | 
					bindsym --release Print         exec screenshot
 | 
				
			||||||
bindsym --release $mod+Print    exec screenshot
 | 
					bindsym --release $mod+Print    exec imgur-screenshot
 | 
				
			||||||
bindsym --release Shift+Print   exec screenshot --active
 | 
					bindsym $mod+$alt+space         exec --no-startup-id ~/.config/i3/cycleaudio.py && pkill -RTMIN+10 i3blocks
 | 
				
			||||||
bindsym --release $mod+Shift+Print exec screenshot --active --clip
 | 
					bindsym $mod+numbersign         exec "i3-sensible-terminal -e 'sh -c xclip\ -o\ |\ gpg\ --decrypt\ 2>&1\ \;\ $SHELL'"
 | 
				
			||||||
bindsym $mod+Shift+x            exec systemd-run-i3 -n i3-sensible-terminal --class floating-term --hold -e /bin/echo "$(xprop -id $(xdotool getactivewindow))"
 | 
					bindsym $mod+r                  exec "bash -c 'pwgen -nc 32 1 | tee >(xargs notify-send Generated\ password\:) | xclip -i'"
 | 
				
			||||||
bindsym $mod+$alt+space         exec systemd-run-i3 -s background -n ~/.config/i3/cycleaudio.py
 | 
					bindsym $mod+g                  exec "LINK=$(gist -PRpc); notify-send -c transfer \\"<a href=\\\\"$LINK\\\\">$LINK</a>\\""
 | 
				
			||||||
bindsym $mod+numbersign         exec systemd-run-i3 -n i3-sensible-terminal --hold -e sh -c 'xclip -o | gpg --decrypt 2>&1'
 | 
					bindsym --release $mod+i        exec sh -c 'sleep 0.5 && xdotool type --delay 400 "$(xclip -o -selection clipboard)"'
 | 
				
			||||||
bindsym $mod+r                  exec bash -c 'pwgen -snc 32 1 | tee >(xargs notify-send Generated\ password\:) | xclip -i -r'
 | 
					 | 
				
			||||||
bindsym $mod+g                  exec systemd-run-i3 -n bash -xc 'xclip -o | gh gist create -d Paste - 2>&1 | grep -vE "^[-✓] Creat(ing|ed) gist" | tee >(xclip -i >&2 >/dev/null) | xargs -I% --null -r notify-send -c transfer -- %'
 | 
					 | 
				
			||||||
bindsym --release $mod+i        exec systemd-run-i3 -s background -n sh -c 'sleep 0.5 && xdotool getactivewindow type --delay 10 -- "$(xclip -o -selection clipboard)"'
 | 
					 | 
				
			||||||
bindsym $mod+z                  exec otp | rofi -dmenu -p otp | xargs otp
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Media player controls
 | 
					# Media player controls
 | 
				
			||||||
bindsym XF86AudioPlay           exec --no-startup-id playerctl -a play-pause
 | 
					bindsym XF86AudioPlay           exec --no-startup-id playerctl -a play-pause
 | 
				
			||||||
@@ -163,7 +162,24 @@ bindsym XF86AudioPrev           exec --no-startup-id playerctl -a previous
 | 
				
			|||||||
bindsym XF86AudioRaiseVolume    exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@  +1000
 | 
					bindsym XF86AudioRaiseVolume    exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@  +1000
 | 
				
			||||||
bindsym XF86AudioLowerVolume    exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@  -1000
 | 
					bindsym XF86AudioLowerVolume    exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@  -1000
 | 
				
			||||||
bindsym XF86AudioMute           exec --no-startup-id pactl set-sink-mute   @DEFAULT_SINK@ toggle
 | 
					bindsym XF86AudioMute           exec --no-startup-id pactl set-sink-mute   @DEFAULT_SINK@ toggle
 | 
				
			||||||
bindsym XF86MonBrightnessUp     exec light -A 5
 | 
					bindsym XF86MonBrightnessUp     exec xbacklight -inc 5 && pkill -RTMIN+12 i3blocks
 | 
				
			||||||
bindsym XF86MonBrightnessDown   exec light -U 5
 | 
					bindsym XF86MonBrightnessDown   exec xbacklight -dec 5 && pkill -RTMIN+12 i3blocks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# app launch shortcuts
 | 
				
			||||||
 | 
					exec --no-startup-id ~/.config/i3/disable-standby-fs.py
 | 
				
			||||||
 | 
					exec --no-startup-id feh --no-fehbg --no-xinerama --bg-fill ~/pictures/lakesidesunrise.jpg
 | 
				
			||||||
 | 
					exec --no-startup-id xautolock -time 5 -locker 'dm-tool switch-to-greeter' -nocloseout -nocloseerr
 | 
				
			||||||
 | 
					exec --no-startup-id xss-lock dm-tool switch-to-greeter
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# startup programs
 | 
				
			||||||
 | 
					exec --no-startup-id nextcloud
 | 
				
			||||||
 | 
					exec --no-startup-id blueman-applet
 | 
				
			||||||
 | 
					exec --no-startup-id redshift
 | 
				
			||||||
 | 
					exec --no-startup-id xbindkeys
 | 
				
			||||||
 | 
					exec --no-startup-id solaar
 | 
				
			||||||
 | 
					exec --no-startup-id pullover
 | 
				
			||||||
 | 
					exec --no-startup-id mailnag
 | 
				
			||||||
 | 
					exec --no-startup-id picom -b --experimental-backends
 | 
				
			||||||
 | 
					exec --no-startup-id chromium --no-startup-window
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# vim:ft=i3
 | 
					# vim:ft=i3
 | 
				
			||||||
							
								
								
									
										18
									
								
								.config/i3/powermenu.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18
									
								
								.config/i3/powermenu.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					option=$(echo "lock|logout|sleep|hibernate|power off|reboot|windows" | rofi -sep "|" -dmenu -i -p "" -auto-select -hide-scrollbar -monitor 0 -width 10 -lines 7 -location 3 -tokenize false -matching normal | xargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case $option in
 | 
				
			||||||
 | 
					    lock) dm-tool switch-to-greeter;;
 | 
				
			||||||
 | 
					    logout) i3-msg exit;;
 | 
				
			||||||
 | 
					    sleep) systemctl suspend;;
 | 
				
			||||||
 | 
					    hibernate) systemctl hibernate;;
 | 
				
			||||||
 | 
					    power\ off) systemctl poweroff;;
 | 
				
			||||||
 | 
					    reboot) systemctl reboot;;
 | 
				
			||||||
 | 
					    windows)
 | 
				
			||||||
 | 
					        windows=`efibootmgr | grep -Po -m1 'Boot\K(\d{4}).*Windows.*' | head -c4`
 | 
				
			||||||
 | 
					        sudo efibootmgr -n $windows
 | 
				
			||||||
 | 
					        sudo hibereboot;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exit 0
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								.config/imgur-screenshot/imgur.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.config/imgur-screenshot/imgur.ico
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.1 KiB  | 
							
								
								
									
										20
									
								
								.config/imgur-screenshot/settings.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								.config/imgur-screenshot/settings.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					imgur_icon_path="$HOME/.config/imgur-screenshot/imgur.ico"
 | 
				
			||||||
 | 
					imgur_acct_key=""
 | 
				
			||||||
 | 
					imgur_secret=""
 | 
				
			||||||
 | 
					login="false"
 | 
				
			||||||
 | 
					log_file="$HOME/.config/imgur-screenshot/imgur-screenshot.log"
 | 
				
			||||||
 | 
					credentials_file="$HOME/.config/imgur-screenshot/credentials.conf"
 | 
				
			||||||
 | 
					file_name_format="screenshot-%Y-%m-%d-%H%M%S.png" # when using scrot, must end with .png!
 | 
				
			||||||
 | 
					file_dir="$HOME/pictures/screenshots"
 | 
				
			||||||
 | 
					screenshot_select_command="maim -m 10 -us %img"
 | 
				
			||||||
 | 
					screenshot_window_command="maim -m 10 -uw %img"
 | 
				
			||||||
 | 
					edit_command="gimp %img"
 | 
				
			||||||
 | 
					edit="false"
 | 
				
			||||||
 | 
					exit_on_selection_fail="true"
 | 
				
			||||||
 | 
					edit_on_selection_fail="false"
 | 
				
			||||||
 | 
					exit_on_album_creation_fail="true"
 | 
				
			||||||
 | 
					open_command="xdg-open %url"
 | 
				
			||||||
 | 
					open="false"
 | 
				
			||||||
 | 
					copy_url="true"
 | 
				
			||||||
 | 
					keep_file="true"
 | 
				
			||||||
 | 
					check_update="true"
 | 
				
			||||||
							
								
								
									
										33
									
								
								.config/mailnag/mailnag.cfg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								.config/mailnag/mailnag.cfg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					[spamfilterplugin]
 | 
				
			||||||
 | 
					filter_text = viagra
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[core]
 | 
				
			||||||
 | 
					imap_idle_timeout = 10
 | 
				
			||||||
 | 
					enabled_plugins = dbusplugin, libnotifyplugin, soundplugin
 | 
				
			||||||
 | 
					poll_interval = 10
 | 
				
			||||||
 | 
					credentialstore = auto
 | 
				
			||||||
 | 
					connectivity_test = auto
 | 
				
			||||||
 | 
					autostart = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[soundplugin]
 | 
				
			||||||
 | 
					soundfile = mailnag.ogg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[libnotifyplugin]
 | 
				
			||||||
 | 
					notification_mode = 2
 | 
				
			||||||
 | 
					max_visible_mails = 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[account1]
 | 
				
			||||||
 | 
					enabled = 1
 | 
				
			||||||
 | 
					name = frebib.net
 | 
				
			||||||
 | 
					user = me@frebib.net
 | 
				
			||||||
 | 
					password = 
 | 
				
			||||||
 | 
					server = imappro.zoho.com
 | 
				
			||||||
 | 
					port = 993
 | 
				
			||||||
 | 
					ssl = 1
 | 
				
			||||||
 | 
					imap = 1
 | 
				
			||||||
 | 
					idle = 0
 | 
				
			||||||
 | 
					folder = INBOX, Spam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[userscriptplugin]
 | 
				
			||||||
 | 
					script_file = 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										42
									
								
								.config/mimeapps.list
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								.config/mimeapps.list
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					[Default Applications]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# eog for images
 | 
				
			||||||
 | 
					image/bmp=eog.desktop
 | 
				
			||||||
 | 
					image/gif=eog.desktop
 | 
				
			||||||
 | 
					image/jpeg=eog.desktop
 | 
				
			||||||
 | 
					image/jpg=eog.desktop
 | 
				
			||||||
 | 
					image/pjpeg=eog.desktop
 | 
				
			||||||
 | 
					image/png=eog.desktop
 | 
				
			||||||
 | 
					image/svg+xml-compressed=eog.desktop
 | 
				
			||||||
 | 
					image/svg+xml=eog.desktop
 | 
				
			||||||
 | 
					image/tiff=eog.desktop
 | 
				
			||||||
 | 
					image/x-bmp=eog.desktop
 | 
				
			||||||
 | 
					image/x-gray=eog.desktop
 | 
				
			||||||
 | 
					image/x-icb=eog.desktop
 | 
				
			||||||
 | 
					image/x-ico=eog.desktop
 | 
				
			||||||
 | 
					image/x-png=eog.desktop
 | 
				
			||||||
 | 
					image/x-portable-anymap=eog.desktop
 | 
				
			||||||
 | 
					image/x-portable-bitmap=eog.desktop
 | 
				
			||||||
 | 
					image/x-portable-graymap=eog.desktop
 | 
				
			||||||
 | 
					image/x-portable-pixmap=eog.desktop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# evince for pdfs
 | 
				
			||||||
 | 
					application/pdf=evince.desktop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# vim for textual files
 | 
				
			||||||
 | 
					application/x-shellscript=vim.desktop
 | 
				
			||||||
 | 
					text/english=vim.desktop
 | 
				
			||||||
 | 
					text/plain=vim.desktop
 | 
				
			||||||
 | 
					text/x-makefile=vim.desktop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Chromium for web/html
 | 
				
			||||||
 | 
					text/html=chromium.desktop
 | 
				
			||||||
 | 
					x-scheme-handler/about=chromium.desktop
 | 
				
			||||||
 | 
					x-scheme-handler/http=chromium.desktop
 | 
				
			||||||
 | 
					x-scheme-handler/https=chromium.desktop
 | 
				
			||||||
 | 
					x-scheme-handler/unknown=chromium.desktop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Various desktop applications
 | 
				
			||||||
 | 
					inode/directory=nautilus.desktop
 | 
				
			||||||
 | 
					x-scheme-handler/magnet=deluge.desktop
 | 
				
			||||||
 | 
					x-scheme-handler/tg=telegramdesktop.desktop
 | 
				
			||||||
							
								
								
									
										101
									
								
								.config/picom.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								.config/picom.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,101 @@
 | 
				
			|||||||
 | 
					# Logging
 | 
				
			||||||
 | 
					log-level = "debug";
 | 
				
			||||||
 | 
					log-file = "/home/frebib/.local/share/picom.log";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Shadow
 | 
				
			||||||
 | 
					shadow = true;
 | 
				
			||||||
 | 
					shadow-radius = 24;
 | 
				
			||||||
 | 
					shadow-offset-x = -24;
 | 
				
			||||||
 | 
					shadow-offset-y = -24;
 | 
				
			||||||
 | 
					shadow-opacity = 0.6;
 | 
				
			||||||
 | 
					# shadow-red = 0.0;
 | 
				
			||||||
 | 
					# shadow-green = 0.0;
 | 
				
			||||||
 | 
					# shadow-blue = 0.0;
 | 
				
			||||||
 | 
					shadow-exclude = [
 | 
				
			||||||
 | 
						"class_g = 'slop'",
 | 
				
			||||||
 | 
						"class_g = 'Conky'",
 | 
				
			||||||
 | 
						"class_g ?= 'Notify-osd'",
 | 
				
			||||||
 | 
						"class_g = 'Cairo-clock'",
 | 
				
			||||||
 | 
						"name = 'Notification'",
 | 
				
			||||||
 | 
						"_GTK_FRAME_EXTENTS@:c"
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					# shadow-exclude = "n:e:Notification";
 | 
				
			||||||
 | 
					# shadow-exclude-reg = "x10+0+0";
 | 
				
			||||||
 | 
					xinerama-shadow-crop = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Opacity
 | 
				
			||||||
 | 
					frame-opacity = 1.0;
 | 
				
			||||||
 | 
					# active-opacity = 0.8;
 | 
				
			||||||
 | 
					inactive-opacity = 0.6;
 | 
				
			||||||
 | 
					inactive-opacity-override = true;
 | 
				
			||||||
 | 
					# inactive-dim = 0.2;
 | 
				
			||||||
 | 
					# inactive-dim-fixed = true;
 | 
				
			||||||
 | 
					opacity-rule = [
 | 
				
			||||||
 | 
						"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Blurring
 | 
				
			||||||
 | 
					blur:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						method = "gaussian";
 | 
				
			||||||
 | 
						size = 47;
 | 
				
			||||||
 | 
						deviation = 25.0;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					blur-background-frame = true;
 | 
				
			||||||
 | 
					blur-background-fixed = true;
 | 
				
			||||||
 | 
					blur-background-exclude = [
 | 
				
			||||||
 | 
						"class_g = 'Peek'",
 | 
				
			||||||
 | 
						"class_g = 'Onboard'",
 | 
				
			||||||
 | 
						"class_g = 'slop'",
 | 
				
			||||||
 | 
						"class_g = 'Polybar'",
 | 
				
			||||||
 | 
						"window_type = 'dock'",
 | 
				
			||||||
 | 
						"window_type = 'desktop'",
 | 
				
			||||||
 | 
						"_GTK_FRAME_EXTENTS@:c"
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Fading
 | 
				
			||||||
 | 
					fading = true;
 | 
				
			||||||
 | 
					fade-delta = 10;
 | 
				
			||||||
 | 
					fade-in-step = 0.03;
 | 
				
			||||||
 | 
					fade-out-step = 0.03;
 | 
				
			||||||
 | 
					no-fading-openclose = false;
 | 
				
			||||||
 | 
					no-fading-destroyed-argb = false;
 | 
				
			||||||
 | 
					# fade-exclude = [ ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Other
 | 
				
			||||||
 | 
					backend = "glx";
 | 
				
			||||||
 | 
					mark-wmwin-focused = true;
 | 
				
			||||||
 | 
					mark-ovredir-focused = true;
 | 
				
			||||||
 | 
					use-ewmh-active-win = false;
 | 
				
			||||||
 | 
					detect-rounded-corners = true;
 | 
				
			||||||
 | 
					detect-client-opacity = true;
 | 
				
			||||||
 | 
					refresh-rate = 0;
 | 
				
			||||||
 | 
					vsync = true;
 | 
				
			||||||
 | 
					# sw-opti = true;
 | 
				
			||||||
 | 
					# unredir-if-possible = true;
 | 
				
			||||||
 | 
					# unredir-if-possible-delay = 5000;
 | 
				
			||||||
 | 
					# unredir-if-possible-exclude = [ ];
 | 
				
			||||||
 | 
					focus-exclude = [
 | 
				
			||||||
 | 
						"i:ai:chromium",
 | 
				
			||||||
 | 
						"class_g = 'Firefox'",
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					detect-transient = true;
 | 
				
			||||||
 | 
					detect-client-leader = true;
 | 
				
			||||||
 | 
					invert-color-include = [ ];
 | 
				
			||||||
 | 
					# resize-damage = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# GLX backend
 | 
				
			||||||
 | 
					glx-no-stencil = true;
 | 
				
			||||||
 | 
					glx-no-rebind-pixmap = true;
 | 
				
			||||||
 | 
					xrender-sync-fence = true;
 | 
				
			||||||
 | 
					#use-damage = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Window type settings
 | 
				
			||||||
 | 
					wintypes:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
 | 
				
			||||||
 | 
					  dock = { shadow = false; }
 | 
				
			||||||
 | 
					  dnd = { shadow = false; }
 | 
				
			||||||
 | 
					  popup_menu = { opacity = 0.8; }
 | 
				
			||||||
 | 
					  dropdown_menu = { opacity = 0.8; }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
[colours]
 | 
					[colours]
 | 
				
			||||||
background = #0000
 | 
					background = transparent
 | 
				
			||||||
text = #eceff1
 | 
					text = #eceff1
 | 
				
			||||||
icon = #147a82
 | 
					icon = #147a82
 | 
				
			||||||
warning = #ffcb00
 | 
					warning = #ffcb00
 | 
				
			||||||
@@ -10,7 +10,7 @@ urgent = #e53935
 | 
				
			|||||||
format-foreground = ${colours.text}
 | 
					format-foreground = ${colours.text}
 | 
				
			||||||
format-background = ${colours.background}
 | 
					format-background = ${colours.background}
 | 
				
			||||||
format-spacing = 0
 | 
					format-spacing = 0
 | 
				
			||||||
format-margin  = 3
 | 
					format-margin  = 2.5
 | 
				
			||||||
format-offset  = 0
 | 
					format-offset  = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
screenchange-reload = true
 | 
					screenchange-reload = true
 | 
				
			||||||
@@ -21,12 +21,13 @@ fixed-center = false
 | 
				
			|||||||
enable-ipc = true
 | 
					enable-ipc = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
width = 100%
 | 
					width = 100%
 | 
				
			||||||
 | 
					#offset-x = 18px
 | 
				
			||||||
height = 16pt
 | 
					height = 16pt
 | 
				
			||||||
bottom = true
 | 
					bottom = true
 | 
				
			||||||
radius = 0
 | 
					radius = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
font-0 = sans:pixelsize=9;2pt
 | 
					font-0 = sans:pixelsize=9;2
 | 
				
			||||||
font-1 = FontAwesome6ProLight:pixelsize=10;2pt
 | 
					font-1 = FontAwesome5ProLight:pixelsize=10;2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
foreground = ${colours.text}
 | 
					foreground = ${colours.text}
 | 
				
			||||||
background = ${colours.background}
 | 
					background = ${colours.background}
 | 
				
			||||||
@@ -37,22 +38,22 @@ padding-right = 2pt
 | 
				
			|||||||
border-size = 0
 | 
					border-size = 0
 | 
				
			||||||
border-left-size = 16pt
 | 
					border-left-size = 16pt
 | 
				
			||||||
border-right-size = 16pt
 | 
					border-right-size = 16pt
 | 
				
			||||||
border-bottom-size = 10pt
 | 
					border-bottom-size = 8pt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
line-size = 0
 | 
					line-size = 0
 | 
				
			||||||
line-colour = #f00
 | 
					line-colour = #f00
 | 
				
			||||||
 | 
					
 | 
				
			||||||
modules-left = i3
 | 
					modules-left = i3
 | 
				
			||||||
modules-center =
 | 
					modules-center =
 | 
				
			||||||
# modules-right = volume updates weather xkeyboard wlan gateway eth memory cpu xbacklight battery cputemp gputemp date
 | 
					# modules-right = volume updates weather xkeyboard wlan eth memory cpu xbacklight battery temperature date
 | 
				
			||||||
modules-right = volume updates weather wlan eth memory cpu xbacklight battery cputemp gputemp date
 | 
					modules-right = volume updates weather wlan eth memory cpu xbacklight battery temperature date
 | 
				
			||||||
 | 
					
 | 
				
			||||||
tray-position = right
 | 
					tray-position = right
 | 
				
			||||||
tray-detached = false
 | 
					tray-detached = false
 | 
				
			||||||
tray-background = ${colours.background}
 | 
					tray-background = ${colours.background}
 | 
				
			||||||
#tray-offset-x = -20
 | 
					#tray-offset-x = -20
 | 
				
			||||||
#tray-offset-y = 0
 | 
					#tray-offset-y = 0
 | 
				
			||||||
tray-maxsize = 16pt
 | 
					tray-maxsize = 16
 | 
				
			||||||
tray-padding = 8pt
 | 
					tray-padding = 8pt
 | 
				
			||||||
tray-scale = 1.0
 | 
					tray-scale = 1.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -66,20 +67,13 @@ exec = $XDG_CONFIG_HOME/polybar/update.sh
 | 
				
			|||||||
tail = true
 | 
					tail = true
 | 
				
			||||||
format-prefix = "  "
 | 
					format-prefix = "  "
 | 
				
			||||||
format-prefix-foreground = ${colours.icon}
 | 
					format-prefix-foreground = ${colours.icon}
 | 
				
			||||||
click-left = systemd-run --user --no-block -- i3-sensible-terminal --class floating-term -e sh -c "yay; kill -USR1 %pid%; sleep 1"
 | 
					click-left = i3-msg exec "i3-sensible-terminal --class floating-term -e sh -c \"(yay || :) && kill -USR1 %pid%\""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[module/weather]
 | 
					[module/weather]
 | 
				
			||||||
type = custom/script
 | 
					type = custom/script
 | 
				
			||||||
exec = $XDG_CONFIG_HOME/polybar/weather.sh
 | 
					exec = $XDG_CONFIG_HOME/polybar/weather.sh
 | 
				
			||||||
interval = 120
 | 
					interval = 120
 | 
				
			||||||
click-left = systemd-run --user --no-block -- i3-sensible-terminal --class floating-term -d 125 40 --hold -e sh -c "curl wttr.in"
 | 
					click-left = i3-msg exec "i3-sensible-terminal --class floating-term -d 125 40 -e sh -c \"(curl wttr.in || :) && stty -echo && read\""
 | 
				
			||||||
 | 
					 | 
				
			||||||
[module/gateway]
 | 
					 | 
				
			||||||
type = custom/script
 | 
					 | 
				
			||||||
exec = for v in 4 6; do ip -$v r show default | xargs -rL1 sh -c 'fping --retry=1 --quiet --iface "$4" "$2"'; done && echo  || echo '%{F#f41f1c}%{F-}'
 | 
					 | 
				
			||||||
interval = 2
 | 
					 | 
				
			||||||
format-prefix = "  "
 | 
					 | 
				
			||||||
format-prefix-foreground = ${colours.icon}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[module/xkeyboard]
 | 
					[module/xkeyboard]
 | 
				
			||||||
type = internal/xkeyboard
 | 
					type = internal/xkeyboard
 | 
				
			||||||
@@ -187,8 +181,8 @@ ramp-signal-foreground = ${colours.icon}
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[module/eth]
 | 
					[module/eth]
 | 
				
			||||||
type = internal/network
 | 
					type = internal/network
 | 
				
			||||||
interface = lan
 | 
					interface = eth0
 | 
				
			||||||
interval = 10.0
 | 
					interval = 3.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
label-connected = %local_ip% & %local_ip6%
 | 
					label-connected = %local_ip% & %local_ip6%
 | 
				
			||||||
format-connected-prefix = "  "
 | 
					format-connected-prefix = "  "
 | 
				
			||||||
@@ -206,7 +200,7 @@ label-disconnected-foreground = ${colours.critical}
 | 
				
			|||||||
type = internal/date
 | 
					type = internal/date
 | 
				
			||||||
interval = 1
 | 
					interval = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
label = %{A3:systemd-run --user --no-block -- i3-sensible-terminal --class floating-term -d 66 35 -qq --hold -e sh -c "cal -y $(date +%Y)":}%date% %time%%{A}
 | 
					label = %{A3:i3-msg exec "i3-sensible-terminal --class floating-term -d 66 35 -qq -e sh -c \"cal -y $(date +%Y) && read\"":}%date% %time%%{A}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
time = %H:%M
 | 
					time = %H:%M
 | 
				
			||||||
time-alt = %a %e %b %Y %H:%M:%S
 | 
					time-alt = %a %e %b %Y %H:%M:%S
 | 
				
			||||||
@@ -219,8 +213,8 @@ format-prefix-foreground = ${colours.icon}
 | 
				
			|||||||
type = internal/pulseaudio
 | 
					type = internal/pulseaudio
 | 
				
			||||||
 | 
					
 | 
				
			||||||
label-volume = %percentage%
 | 
					label-volume = %percentage%
 | 
				
			||||||
format-volume = %{A3:systemd-run --user --no-block -- pavucontrol:}<ramp-volume>  <label-volume>%{A}
 | 
					format-volume = %{A3:i3-msg exec pavucontrol:}<ramp-volume>  <label-volume>%{A
 | 
				
			||||||
format-muted = %{A3:systemd-run --user --no-block -- pavucontrol:}<label-muted>%{A}
 | 
					format-muted = %{A3:i3-msg exec pavucontrol:}<label-muted>%{A}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
label-volume-foreground = ${root.foreground}
 | 
					label-volume-foreground = ${root.foreground}
 | 
				
			||||||
format-muted-foreground = ${colours.icon}
 | 
					format-muted-foreground = ${colours.icon}
 | 
				
			||||||
@@ -265,10 +259,10 @@ ramp-capacity-0-foreground = ${colours.critical}
 | 
				
			|||||||
ramp-capacity-1-foreground = ${colours.warning}
 | 
					ramp-capacity-1-foreground = ${colours.warning}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[module/cputemp]
 | 
					[module/temperature]
 | 
				
			||||||
type = internal/temperature
 | 
					type = internal/temperature
 | 
				
			||||||
hwmon-path = /sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon1/temp2_input
 | 
					thermal-zone = 2
 | 
				
			||||||
base-temperature = 25
 | 
					warn-temperature = 70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
format = <ramp>  <label>
 | 
					format = <ramp>  <label>
 | 
				
			||||||
format-warn = <ramp>  <label-warn>
 | 
					format-warn = <ramp>  <label-warn>
 | 
				
			||||||
@@ -285,15 +279,6 @@ ramp-4 = 
 | 
				
			|||||||
ramp-5 = 
 | 
					ramp-5 = 
 | 
				
			||||||
ramp-foreground = ${colours.icon}
 | 
					ramp-foreground = ${colours.icon}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[module/gputemp]
 | 
					 | 
				
			||||||
type = custom/script
 | 
					 | 
				
			||||||
exec = nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits
 | 
					 | 
				
			||||||
interval = 10
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
label = %output%°C
 | 
					 | 
				
			||||||
format-prefix = "  "
 | 
					 | 
				
			||||||
format-prefix-foreground = ${colours.icon}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[module/powermenu]
 | 
					[module/powermenu]
 | 
				
			||||||
type = custom/menu
 | 
					type = custom/menu
 | 
				
			||||||
							
								
								
									
										37
									
								
								.config/polybar/interface.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										37
									
								
								.config/polybar/interface.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Use the provided interface, otherwise the device used for the default route.
 | 
				
			||||||
 | 
					if [[ -n $BLOCK_INSTANCE ]]; then
 | 
				
			||||||
 | 
					    IF=$BLOCK_INSTANCE
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					    IF=$(ip route | awk '/^default/ { print $5 ; exit }')
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ -e /sys/class/net/${IF} ] || exit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -z "$IF" ] || [ "$(cat /sys/class/net/$IF/operstate)" = 'down' ]; then
 | 
				
			||||||
 | 
					    echo down
 | 
				
			||||||
 | 
					    echo \#FF0000 # color
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case $1 in
 | 
				
			||||||
 | 
					    -4) AF=inet ;;
 | 
				
			||||||
 | 
					    -6) AF=inet6 ;;
 | 
				
			||||||
 | 
					    *) AF=inet6? ;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# if no interface is found, use the first device with a global scope
 | 
				
			||||||
 | 
					ip addr show $IF | sed -nE "s/.*$AF ([^\\/]+).* scope global.*/\\1/p"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# case $BLOCK_BUTTON in
 | 
				
			||||||
 | 
					#     1)  curl -s https://api.ipify.org;
 | 
				
			||||||
 | 
					#         break;;
 | 
				
			||||||
 | 
					#     2)  curl -s https://api.ipify.org | tee >(xclip -i);
 | 
				
			||||||
 | 
					#         break;;
 | 
				
			||||||
 | 
					#     0|3)  echo "$LOCIP" | tee >(xclip -i);
 | 
				
			||||||
 | 
					#         break;;
 | 
				
			||||||
 | 
					# esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
top's Config File (Linux processes with windows)
 | 
					top's Config File (Linux processes with windows)
 | 
				
			||||||
Id:i, Mode_altscr=0, Mode_irixps=0, Delay_time=0.500, Curwin=0
 | 
					Id:i, Mode_altscr=0, Mode_irixps=0, Delay_time=0.100, Curwin=0
 | 
				
			||||||
Def	fieldscur=¥&K¨³´»½@·º¹56ÄFÅ')*+,-./0128<>?ABCGHIJLMNOPQRSTUVWXYZ[\]^_`abcdefghij
 | 
					Def	fieldscur=¥&K¨³´»½@·º¹56ÄFÅ')*+,-./0128<>?ABCGHIJLMNOPQRSTUVWXYZ[\]^_`abcdefghij
 | 
				
			||||||
	winflags=163638, sortindx=21, maxtasks=0, graph_cpus=1, graph_mems=1
 | 
						winflags=163638, sortindx=21, maxtasks=0, graph_cpus=1, graph_mems=1
 | 
				
			||||||
	summclr=1, msgsclr=1, headclr=3, taskclr=1
 | 
						summclr=1, msgsclr=1, headclr=3, taskclr=1
 | 
				
			||||||
@@ -8,7 +8,7 @@ window {
 | 
				
			|||||||
  border:           0.3em;
 | 
					  border:           0.3em;
 | 
				
			||||||
  border-color:     #2f343f;
 | 
					  border-color:     #2f343f;
 | 
				
			||||||
  padding:          0.8em;
 | 
					  padding:          0.8em;
 | 
				
			||||||
  background-color: rgba(56, 60, 74, 0.9);
 | 
					  background-color: rgba(56, 60, 74, 0.95);
 | 
				
			||||||
  transparency:     "real";
 | 
					  transparency:     "real";
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1,12 +1,15 @@
 | 
				
			|||||||
configuration {
 | 
					configuration {
 | 
				
			||||||
 | 
					  theme: "arc-dark";
 | 
				
			||||||
  font: "sans 14";
 | 
					  font: "sans 14";
 | 
				
			||||||
  dpi: 0;
 | 
					  dpi: 0;
 | 
				
			||||||
 | 
					  width: 35;
 | 
				
			||||||
 | 
					  lines: 10;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* show-icons: true; */
 | 
					  /* show-icons: true; */
 | 
				
			||||||
  separator-style: "solid";
 | 
					  separator-style: "solid";
 | 
				
			||||||
  modi: "window,run,ssh";
 | 
					  modi: "window,run,ssh";
 | 
				
			||||||
/*  kb-row-tab: "Shift-Tab"; */
 | 
					  kb-row-tab: "Shift-Tab";
 | 
				
			||||||
/*  kb-row-select: "Tab"; */
 | 
					  kb-row-select: "Tab";
 | 
				
			||||||
  terminal: "i3-sensible-terminal";
 | 
					  terminal: "i3-sensible-terminal";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  matching: "glob";
 | 
					  matching: "glob";
 | 
				
			||||||
@@ -139,15 +142,4 @@ configuration {
 | 
				
			|||||||
/*  me-accept-custom: "Control+MouseDPrimary";*/
 | 
					/*  me-accept-custom: "Control+MouseDPrimary";*/
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@theme "arc-dark"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
window {
 | 
					 | 
				
			||||||
	width: 700;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
listview {
 | 
					 | 
				
			||||||
	lines: 10;
 | 
					 | 
				
			||||||
	columns: 1;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* vim: ft=css sw=2 */
 | 
					/* vim: ft=css sw=2 */
 | 
				
			||||||
@@ -1,6 +1,5 @@
 | 
				
			|||||||
[Unit]
 | 
					[Unit]
 | 
				
			||||||
Description=Lock X LightDM session before sleeping
 | 
					Description=Lock X LightDM session before sleeping
 | 
				
			||||||
Requires=graphical-session.target
 | 
					 | 
				
			||||||
Before=sleep.target
 | 
					Before=sleep.target
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Service]
 | 
					[Service]
 | 
				
			||||||
@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					../sleep-lock-lightdm.service
 | 
				
			||||||
							
								
								
									
										1
									
								
								.config/systemd/user/sockets.target.wants/pulseaudio.socket
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								.config/systemd/user/sockets.target.wants/pulseaudio.socket
									
									
									
									
									
										Symbolic link
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					/usr/lib/systemd/user/pulseaudio.socket
 | 
				
			||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
# This file is written by xdg-user-dirs-update
 | 
					# This file is written by xdg-user-dirs-update
 | 
				
			||||||
# If you want to change or add directories, just edit the line you're
 | 
					# If you want to change or add directories, just edit the line you're
 | 
				
			||||||
# interested in. All local changes will be retained on the next run.
 | 
					# interested in. All local changes will be retained on the next run
 | 
				
			||||||
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
 | 
					# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
 | 
				
			||||||
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
 | 
					# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
 | 
				
			||||||
# absolute path. No other format is supported.
 | 
					# absolute path. No other format is supported.
 | 
				
			||||||
							
								
								
									
										0
									
								
								vim/.gitignore → .config/vim/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										0
									
								
								vim/.gitignore → .config/vim/.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -39,23 +39,18 @@ set updatetime=500  " reduce delay from 4s default
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
let mapleader="\<space>"
 | 
					let mapleader="\<space>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" ALE config
 | 
					 | 
				
			||||||
let g:ale_completion_enabled = 1
 | 
					 | 
				
			||||||
let g:ale_open_list = 1
 | 
					 | 
				
			||||||
augroup CloseLoclistWindowGroup
 | 
					 | 
				
			||||||
    autocmd!
 | 
					 | 
				
			||||||
    autocmd QuitPre * if empty(&buftype) | lclose | endif
 | 
					 | 
				
			||||||
augroup END
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Autosave settings
 | 
					" Autosave settings
 | 
				
			||||||
function! SaveIfExist()
 | 
					function! SaveIfExist()
 | 
				
			||||||
    if @% != "" && filereadable(@%) && !&readonly && &modified
 | 
					    if @% != "" && filereadable(@%) && !&readonly && &modified
 | 
				
			||||||
 | 
					        SyntasticCheck
 | 
				
			||||||
        write
 | 
					        write
 | 
				
			||||||
    endif
 | 
					    endif
 | 
				
			||||||
endfunction
 | 
					endfunction
 | 
				
			||||||
 | 
					 | 
				
			||||||
set autowrite
 | 
					set autowrite
 | 
				
			||||||
autocmd InsertLeave <buffer> :write
 | 
					autocmd CursorHold,CursorHoldI,InsertLeave,FocusGained,FocusLost * call SaveIfExist()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Auto-resize split on window resize
 | 
				
			||||||
 | 
					autocmd VimResized * wincmd =
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Search options
 | 
					" Search options
 | 
				
			||||||
set hlsearch
 | 
					set hlsearch
 | 
				
			||||||
@@ -63,19 +58,24 @@ set ignorecase
 | 
				
			|||||||
set smartcase
 | 
					set smartcase
 | 
				
			||||||
set magic
 | 
					set magic
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Auto-resize split on window resize
 | 
					 | 
				
			||||||
autocmd VimResized * wincmd =
 | 
					 | 
				
			||||||
" More natural splits
 | 
					" More natural splits
 | 
				
			||||||
set splitbelow          " Horizontal split below current.
 | 
					set splitbelow          " Horizontal split below current.
 | 
				
			||||||
set splitright          " Vertical split to right of current.
 | 
					set splitright          " Vertical split to right of current.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" GVim settings
 | 
				
			||||||
 | 
					set guifont=Sauce\ Code\ Pro\ 9
 | 
				
			||||||
 | 
					set guioptions=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Whitespace highlight settings
 | 
					" Whitespace highlight settings
 | 
				
			||||||
set list
 | 
					set list
 | 
				
			||||||
set listchars=space:·,tab:>-,trail:◦,extends:▶,precedes:◀
 | 
					set listchars=eol:$,space:·,tab:>-,trail:◦,extends:▶,precedes:◀
 | 
				
			||||||
highlight SpecialKey ctermfg=8
 | 
					highlight SpecialKey ctermfg=8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set cc=+1
 | 
					if exists('+colorcolumn')
 | 
				
			||||||
highlight ColorColumn ctermbg=8
 | 
					    highlight ColorColumn ctermbg=8
 | 
				
			||||||
 | 
					    autocmd filetype c,h,cpp,hpp set colorcolumn=81
 | 
				
			||||||
 | 
					    autocmd filetype c,h,cpp,hpp match ErrorMsg '\%>80v.\+'
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Highlight line and column of cursor
 | 
					" Highlight line and column of cursor
 | 
				
			||||||
set cul cuc
 | 
					set cul cuc
 | 
				
			||||||
@@ -90,6 +90,9 @@ endif
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
call plug#begin('$XDG_CONFIG_HOME/vim/plug')
 | 
					call plug#begin('$XDG_CONFIG_HOME/vim/plug')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Plug 'Valloric/YouCompleteMe'
 | 
				
			||||||
 | 
					Plug 'scrooloose/syntastic'
 | 
				
			||||||
 | 
					Plug 'scrooloose/nerdtree', { 'on':  'NERTreeToggle' }
 | 
				
			||||||
Plug 'tpope/vim-sensible'
 | 
					Plug 'tpope/vim-sensible'
 | 
				
			||||||
Plug 'tpope/vim-fugitive'
 | 
					Plug 'tpope/vim-fugitive'
 | 
				
			||||||
Plug 'tpope/vim-rhubarb'
 | 
					Plug 'tpope/vim-rhubarb'
 | 
				
			||||||
@@ -105,56 +108,26 @@ Plug 'vim-airline/vim-airline-themes'
 | 
				
			|||||||
Plug 'lervag/vimtex'
 | 
					Plug 'lervag/vimtex'
 | 
				
			||||||
Plug 'JamshedVesuna/vim-markdown-preview'
 | 
					Plug 'JamshedVesuna/vim-markdown-preview'
 | 
				
			||||||
Plug 'junegunn/fzf.vim'
 | 
					Plug 'junegunn/fzf.vim'
 | 
				
			||||||
 | 
					Plug 'junegunn/vim-easy-align'
 | 
				
			||||||
" Completion and linting
 | 
					 | 
				
			||||||
Plug 'dense-analysis/ale'
 | 
					 | 
				
			||||||
Plug 'Shougo/deoplete.nvim'
 | 
					 | 
				
			||||||
Plug 'roxma/nvim-yarp'
 | 
					 | 
				
			||||||
Plug 'roxma/vim-hug-neovim-rpc'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
 | 
					Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Syntax Highlighting
 | 
					" Syntax Highlighting
 | 
				
			||||||
Plug 'chr4/nginx.vim'
 | 
					Plug 'chr4/nginx.vim'
 | 
				
			||||||
Plug 'PotatoesMaster/i3-vim-syntax'
 | 
					Plug 'PotatoesMaster/i3-vim-syntax'
 | 
				
			||||||
Plug 'puppetlabs/puppet-syntax-vim'
 | 
					Plug 'puppetlabs/puppet-syntax-vim'
 | 
				
			||||||
Plug 'saltstack/salt-vim'
 | 
					 | 
				
			||||||
Plug 'arrufat/vala.vim'
 | 
					Plug 'arrufat/vala.vim'
 | 
				
			||||||
Plug 'Glench/Vim-Jinja2-Syntax'
 | 
					 | 
				
			||||||
Plug 'pearofducks/ansible-vim'
 | 
					 | 
				
			||||||
Plug 'jvirtanen/vim-hcl'
 | 
					 | 
				
			||||||
Plug 'hashivim/vim-terraform'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
call plug#end()
 | 
					call plug#end()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Change to dvorak-mapped keys
 | 
					" Change to dvorak-mapped keys
 | 
				
			||||||
let g:use_dvorak = 1
 | 
					let g:use_dvorak = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Deoplete config
 | 
					" YouCompleteMe config
 | 
				
			||||||
call deoplete#custom#option({
 | 
					let g:ycm_confirm_extra_conf = 0
 | 
				
			||||||
\ 'camel_case': v:true,
 | 
					if !exists('g:ycm_semantic_triggers')
 | 
				
			||||||
\ })
 | 
					    let g:ycm_semantic_triggers = {}
 | 
				
			||||||
" Use ALE as completion sources for all code.
 | 
					endif
 | 
				
			||||||
"call deoplete#custom#option('sources', {
 | 
					let g:ycm_semantic_triggers.tex = g:vimtex#re#youcompleteme
 | 
				
			||||||
"\ '_': ['ale'],
 | 
					 | 
				
			||||||
"\})
 | 
					 | 
				
			||||||
call deoplete#enable()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Vim-Airline config
 | 
					 | 
				
			||||||
let g:Powerline_symbols = 'fancy'
 | 
					 | 
				
			||||||
let g:airline_powerline_fonts = 1
 | 
					 | 
				
			||||||
let g:airline_theme='solarized'
 | 
					 | 
				
			||||||
let g:airline#extensions#tabline#enabled = 1
 | 
					 | 
				
			||||||
" ALE integration
 | 
					 | 
				
			||||||
let g:airline#extensions#ale#enabled = 1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" vim-markdown plugin
 | 
					 | 
				
			||||||
let vim_markdown_preview_toggle=0
 | 
					 | 
				
			||||||
let vim_markdown_preview_browser='Chromium'
 | 
					 | 
				
			||||||
let vim_markdown_preview_use_xdg_open=1
 | 
					 | 
				
			||||||
let vim_markdown_preview_github=1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" LaTeX config
 | 
					 | 
				
			||||||
"let g:vimtex_view_method='zathura'
 | 
					"let g:vimtex_view_method='zathura'
 | 
				
			||||||
let g:tex_flavor='xelatex'
 | 
					let g:tex_flavor='xelatex'
 | 
				
			||||||
let g:vimtex_indent_enabled = 0     " auto-indentation is wrong and annoying
 | 
					let g:vimtex_indent_enabled = 0     " auto-indentation is wrong and annoying
 | 
				
			||||||
@@ -168,6 +141,35 @@ augroup vimtex
 | 
				
			|||||||
    autocmd BufWritePost tex silent VimtexCompile
 | 
					    autocmd BufWritePost tex silent VimtexCompile
 | 
				
			||||||
augroup END
 | 
					augroup END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Vim-Airline config
 | 
				
			||||||
 | 
					let g:Powerline_symbols = 'fancy'
 | 
				
			||||||
 | 
					let g:airline_powerline_fonts = 1
 | 
				
			||||||
 | 
					let g:airline_theme='solarized'
 | 
				
			||||||
 | 
					let g:airline#extensions#tabline#enabled = 1
 | 
				
			||||||
 | 
					let g:syntastic_always_populate_loc_list = 1
 | 
				
			||||||
 | 
					let g:syntastic_auto_loc_list = 1
 | 
				
			||||||
 | 
					let g:syntastic_check_on_open = 1
 | 
				
			||||||
 | 
					let g:syntastic_check_on_wq = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set statusline+=%#warningmsg#
 | 
				
			||||||
 | 
					set statusline+=%{SyntasticStatuslineFlag()}
 | 
				
			||||||
 | 
					set statusline+=%*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" vim-markdown plugin
 | 
				
			||||||
 | 
					let vim_markdown_preview_toggle=0
 | 
				
			||||||
 | 
					let vim_markdown_preview_browser='Chromium'
 | 
				
			||||||
 | 
					let vim_markdown_preview_use_xdg_open=1
 | 
				
			||||||
 | 
					let vim_markdown_preview_github=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Syntastic configuration
 | 
				
			||||||
 | 
					let g:syntastic_enable_highlighting = 1
 | 
				
			||||||
 | 
					let g:syntastic_enable_signs=1
 | 
				
			||||||
 | 
					let g:syntastic_always_populate_loc_list = 1
 | 
				
			||||||
 | 
					let g:syntastic_auto_loc_list = 1
 | 
				
			||||||
 | 
					let g:syntastic_check_on_open = 1
 | 
				
			||||||
 | 
					let g:syntastic_check_on_wq = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Tagbar configuration
 | 
					" Tagbar configuration
 | 
				
			||||||
let g:tagbar_width = 50
 | 
					let g:tagbar_width = 50
 | 
				
			||||||
let g:tagbar_compact = 1
 | 
					let g:tagbar_compact = 1
 | 
				
			||||||
@@ -306,12 +308,5 @@ cmap w!! w !sudo tee > /dev/null %
 | 
				
			|||||||
" Unmap ex-mode
 | 
					" Unmap ex-mode
 | 
				
			||||||
map Q <nop>
 | 
					map Q <nop>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					autocmd FileType markdown setlocal ts=2 sts=2 sw=2 et
 | 
				
			||||||
autocmd FileType c setlocal noet
 | 
					autocmd FileType yaml setlocal ts=2 sts=2 sw=2 et
 | 
				
			||||||
autocmd filetype c,h,cpp,hpp set colorcolumn=81
 | 
					 | 
				
			||||||
autocmd filetype c,h,cpp,hpp match ErrorMsg '\%>80v.\+'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
autocmd FileType jinja setlocal sts=2 sw=2 et
 | 
					 | 
				
			||||||
autocmd FileType markdown setlocal sts=2 sw=2 et
 | 
					 | 
				
			||||||
autocmd FileType yaml setlocal sts=2 sw=2 et indentkeys-=<:>
 | 
					 | 
				
			||||||
autocmd FileType gitcommit setlocal tw=72 et sw=4
 | 
					 | 
				
			||||||
							
								
								
									
										4
									
								
								.config/zsh/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.config/zsh/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					/antigen/
 | 
				
			||||||
 | 
					/log/
 | 
				
			||||||
 | 
					/histfile
 | 
				
			||||||
 | 
					/.zcompdump*
 | 
				
			||||||
							
								
								
									
										158
									
								
								.config/zsh/.zshrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										158
									
								
								.config/zsh/.zshrc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,158 @@
 | 
				
			|||||||
 | 
					unsetopt MULTIBYTE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Config and cache directory paths
 | 
				
			||||||
 | 
					CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
 | 
				
			||||||
 | 
					ZSH_DIR="$CONFIG_DIR/zsh"
 | 
				
			||||||
 | 
					LOG_DIR="$ZSH_DIR/log"
 | 
				
			||||||
 | 
					mkdir -p "$LOG_DIR"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					HISTFILE="$ZSH_DIR/histfile"
 | 
				
			||||||
 | 
					HISTSIZE=999999
 | 
				
			||||||
 | 
					SAVEHIST=999999
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exists() { which $@ 0<&- 1>/dev/null 2>/dev/null; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Only set tty if running interactively
 | 
				
			||||||
 | 
					if exists tty && tty -s 1>/dev/null 2>/dev/null; then
 | 
				
			||||||
 | 
					    # Resolve at shell runtime
 | 
				
			||||||
 | 
					    export GPG_TTY="$(tty)"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set some useful ZSH/Bash options
 | 
				
			||||||
 | 
					setopt sharehistory histignorealldups histignorespace histreduceblanks
 | 
				
			||||||
 | 
					setopt pathdirs autocd autopushd extendedglob nullglob alwaystoend interactivecomments dvorak
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Completion initialisation
 | 
				
			||||||
 | 
					autoload -U compinit ; compinit
 | 
				
			||||||
 | 
					autoload -U bashcompinit ; bashcompinit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# gopass completion
 | 
				
			||||||
 | 
					if exists gopass; then
 | 
				
			||||||
 | 
					    source <(gopass completion bash)
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					zstyle ':completion:*:sudo|_::' environ PATH="/sbin:/usr/sbin:$PATH" HOME="/root"
 | 
				
			||||||
 | 
					zstyle ':completion:*' matcher-list '' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'r:|[._-]=** r:|=**' 'l:|=* r:|=*'
 | 
				
			||||||
 | 
					zstyle ':completion:*' rehash true
 | 
				
			||||||
 | 
					zstyle ':completion:*' menu select
 | 
				
			||||||
 | 
					zstyle ':completion:*' list-colors "${(@s.:.)LS_COLORS}"
 | 
				
			||||||
 | 
					zstyle ':compinstall'  filename "${ZDOTDIR:-~}/.zshrc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Pre-load vi-mode edit-command-line before antigen plugins are loaded
 | 
				
			||||||
 | 
					autoload -z edit-command-line
 | 
				
			||||||
 | 
					zle -N edit-command-line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export WORDCHARS='*?_[]~=&;!#$%^(){}'
 | 
				
			||||||
 | 
					x-bash-backward-kill-word(){ WORDCHARS='' zle kill-word; }
 | 
				
			||||||
 | 
					zle -N x-bash-backward-kill-word
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load antigen & plugins
 | 
				
			||||||
 | 
					ADOTDIR="$ZSH_DIR/antigen" # Antigen directory
 | 
				
			||||||
 | 
					ANTIGEN_LOG="$LOG_DIR/antigen-$(date +"%Y_%m_%d_%I_%M_%p").log"
 | 
				
			||||||
 | 
					antigen_src="$ADOTDIR/antigen.zsh"
 | 
				
			||||||
 | 
					if [ ! -f "$antigen_src" ]; then
 | 
				
			||||||
 | 
					    git clone https://github.com/zsh-users/antigen.git "$ADOTDIR"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					source "$antigen_src"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					antigen bundle zsh-users/zsh-completions
 | 
				
			||||||
 | 
					antigen bundle zsh-users/zsh-autosuggestions
 | 
				
			||||||
 | 
					antigen bundle zsh-users/zsh-history-substring-search
 | 
				
			||||||
 | 
					antigen bundle zsh-users/zsh-syntax-highlighting@feature/redrawhook
 | 
				
			||||||
 | 
					antigen bundle mafredri/zsh-async
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					antigen apply
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Vim mode!
 | 
				
			||||||
 | 
					bindkey -v
 | 
				
			||||||
 | 
					export KEYTIMEOUT=25
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set some key-binds
 | 
				
			||||||
 | 
					bindkey "^[[1;3C" forward-word
 | 
				
			||||||
 | 
					bindkey "^[[1;5C" forward-word
 | 
				
			||||||
 | 
					bindkey "^[[1;3D" backward-word
 | 
				
			||||||
 | 
					bindkey "^[[1;5D" backward-word
 | 
				
			||||||
 | 
					bindkey "^[[7~" beginning-of-line
 | 
				
			||||||
 | 
					bindkey "^[[8~" end-of-line
 | 
				
			||||||
 | 
					bindkey "^[[3~" delete-char
 | 
				
			||||||
 | 
					bindkey "^[[3;3~" delete-word
 | 
				
			||||||
 | 
					bindkey '^[^[[3~' x-bash-backward-kill-word
 | 
				
			||||||
 | 
					bindkey '^[^[[3^' x-bash-backward-kill-word
 | 
				
			||||||
 | 
					bindkey '^[[A' fzf-history-widget                   # Up (fzf)
 | 
				
			||||||
 | 
					bindkey '^[[B' fzf-history-widget                   # Down (fzf)
 | 
				
			||||||
 | 
					bindkey '^F'   fzf-file-widget                      # Ctrl+F file search (fzf)
 | 
				
			||||||
 | 
					bindkey '^[[1;3A' history-substring-search-up       # Alt+Up (hsh)
 | 
				
			||||||
 | 
					bindkey '^[[1;3B' history-substring-search-down     # Alt+Down (hsh)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bindkey "^V" edit-command-line
 | 
				
			||||||
 | 
					bindkey -M vicmd "^V" edit-command-line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bindkey -M vicmd d vi-backward-char
 | 
				
			||||||
 | 
					bindkey -M vicmd h vi-down-line-or-history
 | 
				
			||||||
 | 
					bindkey -M vicmd t vi-up-line-or-history
 | 
				
			||||||
 | 
					bindkey -M vicmd n vi-forward-char
 | 
				
			||||||
 | 
					bindkey -M vicmd k vi-delete
 | 
				
			||||||
 | 
					bindkey -M vicmd K vi-kill-eol
 | 
				
			||||||
 | 
					bindkey -M vicmd j vi-find-next-char-skip
 | 
				
			||||||
 | 
					bindkey -M vicmd l vi-repeat-search
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ZSH_AUTOSUGGEST_USE_ASYNC=true
 | 
				
			||||||
 | 
					ZSH_AUTOSUGGEST_CLEAR_WIDGETS=("${(@)ZSH_AUTOSUGGEST_CLEAR_WIDGETS:#(up|down)-line-or-history}")
 | 
				
			||||||
 | 
					ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(history-substring-search-up history-substring-search-down)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					HISTORY_SUBSTRING_SEARCH_FUZZY=true
 | 
				
			||||||
 | 
					HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=true
 | 
				
			||||||
 | 
					HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='underline'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					default='fg=12'
 | 
				
			||||||
 | 
					prog='fg=blue'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES=()
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets root line)
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[root]='bg=red'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[default]=$default
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[arg0]=$prog
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=red,bold'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=yellow'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[alias]=$prog
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[suffix-alias]='fg=green'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[builtin]='fg=4'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[function]=$prog
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[command]=$prog
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[precommand]='fg=4'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[commandseparator]='fg=cyan'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=green'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[path]='fg=cyan'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[path_separator]='fg=cyan'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[path_prefix]='fg=208'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[globbing]='fg=red'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[comment]='fg=7'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[history-expansion]=$default
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[single-hyphen-option]=$default
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[double-hyphen-option]=$default
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=magenta'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=yellow'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=yellow'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]='fg=yellow'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]='fg=cyan'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]='fg=cyan'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]='fg=cyan'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[assign]='fg=green'
 | 
				
			||||||
 | 
					ZSH_HIGHLIGHT_STYLES[redirection]='fg=cyan,bold'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source "$DOTFILES/aliases"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Source secret keys and values into environment
 | 
				
			||||||
 | 
					if [ -f "$XDG_CONFIG_HOME/secrets" ]; then
 | 
				
			||||||
 | 
					    set -o allexport
 | 
				
			||||||
 | 
					    source $XDG_CONFIG_HOME/secrets
 | 
				
			||||||
 | 
					    set +o allexport
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load some manual plugins
 | 
				
			||||||
 | 
					source "$ZSH_DIR/plugins/sudo.zsh"
 | 
				
			||||||
 | 
					source "$ZSH_DIR/plugins/fish-theme.zsh"
 | 
				
			||||||
 | 
					source "$ZSH_DIR/plugins/git-rprompt.zsh"
 | 
				
			||||||
 | 
					[ -f '/usr/share/fzf/key-bindings.zsh' ] && source /usr/share/fzf/key-bindings.zsh
 | 
				
			||||||
 | 
					[ -f '/usr/share/doc/pkgfile/command-not-found.zsh' ] && source /usr/share/doc/pkgfile/command-not-found.zsh
 | 
				
			||||||
 | 
					[ -r '/usr/share/z/z.sh' ] && source /usr/share/z/z.sh
 | 
				
			||||||
							
								
								
									
										14
									
								
								.config/zsh/plugins/fish-theme.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								.config/zsh/plugins/fish-theme.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					# ZSH Theme emulating the Fish shell's default prompt.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_fishy_collapsed_wd() {
 | 
				
			||||||
 | 
					    pwd | sed -E 's|^'$HOME'|~|;s|(.*)/|\1%|;s|((^\|/)\.?[^/%]{1})[^/%]*|\1|g;s|(.*)%|\1/|'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Required for dynamic prompt
 | 
				
			||||||
 | 
					setopt prompt_subst
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local user_color='green'; [ $UID -eq 0 ] && user_color='red'
 | 
				
			||||||
 | 
					PROMPT="%n@%m %F{$user_color}\$(_fishy_collapsed_wd)%f%(!.#.>) "
 | 
				
			||||||
 | 
					PROMPT2='%F{red}\ %f'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RPROMPT='%F{red}%(?.. %?)%f'
 | 
				
			||||||
@@ -57,7 +57,7 @@ git_prompt_status() {
 | 
				
			|||||||
# Required for dynamic prompt
 | 
					# Required for dynamic prompt
 | 
				
			||||||
setopt prompt_subst
 | 
					setopt prompt_subst
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ZSH_THEME_GIT_PROMPT_PREFIX=""
 | 
					ZSH_THEME_GIT_PROMPT_PREFIX=" "
 | 
				
			||||||
ZSH_THEME_GIT_PROMPT_SUFFIX=""
 | 
					ZSH_THEME_GIT_PROMPT_SUFFIX=""
 | 
				
			||||||
ZSH_THEME_GIT_PROMPT_DIRTY=""
 | 
					ZSH_THEME_GIT_PROMPT_DIRTY=""
 | 
				
			||||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
 | 
					ZSH_THEME_GIT_PROMPT_CLEAN=""
 | 
				
			||||||
							
								
								
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,12 +1,8 @@
 | 
				
			|||||||
bookmarks
 | 
					bookmarks
 | 
				
			||||||
.config/secrets
 | 
					.config/secrets
 | 
				
			||||||
 | 
					 | 
				
			||||||
.config/gopass/gopass-logo-small.png
 | 
					 | 
				
			||||||
.config/gtk-2.0/gtkfilechooser.ini
 | 
					 | 
				
			||||||
.config/imgur-screenshot/credentials.conf
 | 
					.config/imgur-screenshot/credentials.conf
 | 
				
			||||||
.config/mailnag/mailnag.dat
 | 
					 | 
				
			||||||
.config/zsh/.zshrc.zwc
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
*.log
 | 
					*.log
 | 
				
			||||||
 | 
					.xournal/recent-files
 | 
				
			||||||
.vim/bundle
 | 
					.vim/bundle
 | 
				
			||||||
.vim/swapfiles
 | 
					.vim/swapfiles
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										83
									
								
								.profile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								.profile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,83 @@
 | 
				
			|||||||
 | 
					export LC_ALL=en_GB.UTF-8
 | 
				
			||||||
 | 
					export LANG=en_GB.UTF-8
 | 
				
			||||||
 | 
					export LC_NUMERIC=en_GB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
 | 
				
			||||||
 | 
					export XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
 | 
				
			||||||
 | 
					export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
 | 
				
			||||||
 | 
					export XDG_LOCAL_HOME="$HOME/.local"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mkdir -p "$XDG_CONFIG_HOME" "$XDG_CACHE_HOME" "$XDG_DATA_HOME" "$XDG_LOCAL_HOME"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "$(basename "$(readlink -f /proc/$$/exe)")" in
 | 
				
			||||||
 | 
					    zsh)  thisfile="$(readlink -f "${(%):-%N}")";;
 | 
				
			||||||
 | 
					    bash) thisfile="$(readlink -f "${BASH_SOURCE[0]}")";;
 | 
				
			||||||
 | 
					    *)   thisfile="$(find /proc/$$/fd/ | xargs -n1 -r readlink -f | grep profile | head -n1)";;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export EDITOR="vim"
 | 
				
			||||||
 | 
					export VISUAL="vim"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Override paths for non-compliant programs
 | 
				
			||||||
 | 
					# https://wiki.archlinux.org/index.php/XDG_Base_Directory_support
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export CARGO_HOME="$XDG_DATA_HOME/cargo"
 | 
				
			||||||
 | 
					export GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
 | 
				
			||||||
 | 
					export GOPATH="$XDG_DATA_HOME/go"
 | 
				
			||||||
 | 
					export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/settings.ini"
 | 
				
			||||||
 | 
					export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc
 | 
				
			||||||
 | 
					export PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass"
 | 
				
			||||||
 | 
					export PYTHONHISTFILE="$XDG_DATA_HOME/python/histfile"
 | 
				
			||||||
 | 
					export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
 | 
				
			||||||
 | 
					export TERMINFO="$XDG_DATA_HOME/terminfo"
 | 
				
			||||||
 | 
					export TERMINFO_DIRS="$XDG_DATA_HOME/terminfo:/usr/share/terminfo"
 | 
				
			||||||
 | 
					export VIMDIR="$XDG_CONFIG_HOME/vim"
 | 
				
			||||||
 | 
					export VIMRC="$VIMDIR/vimrc"
 | 
				
			||||||
 | 
					export VIMINIT=":so $VIMRC"
 | 
				
			||||||
 | 
					export WEECHAT_HOME="$XDG_CONFIG_HOME/weechat"
 | 
				
			||||||
 | 
					export XINITRC="$XDG_CONFIG_HOME/X11/xinitrc"
 | 
				
			||||||
 | 
					export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export DOTFILES="$(dirname "${thisfile:-$XDG_CONFIG_HOME/dotfiles/.profile}")"
 | 
				
			||||||
 | 
					export PATH="${PATH}:/sbin:/usr/sbin:$DOTFILES/scripts:$GOPATH/bin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exists() { which $@ 0<&- 1>/dev/null 2>/dev/null; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Configure less and add colours
 | 
				
			||||||
 | 
					export LESS="-RI"
 | 
				
			||||||
 | 
					export PAGER="less"
 | 
				
			||||||
 | 
					export MANPAGER="less -+N"
 | 
				
			||||||
 | 
					# Disable histfile
 | 
				
			||||||
 | 
					export LESSHISTFILE=-
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if exists tput; then
 | 
				
			||||||
 | 
					    export LESS_TERMCAP_mb=$(tput bold; tput setaf 2) # green
 | 
				
			||||||
 | 
					    export LESS_TERMCAP_md=$(tput bold; tput setaf 6) # cyan
 | 
				
			||||||
 | 
					    export LESS_TERMCAP_me=$(tput sgr0)
 | 
				
			||||||
 | 
					    export LESS_TERMCAP_so=$(tput bold; tput setaf 4) # blue
 | 
				
			||||||
 | 
					    export LESS_TERMCAP_se=$(tput rmso; tput sgr0)
 | 
				
			||||||
 | 
					    export LESS_TERMCAP_us=$(tput smul; tput bold; tput setaf 7) # white
 | 
				
			||||||
 | 
					    export LESS_TERMCAP_ue=$(tput rmul; tput sgr0)
 | 
				
			||||||
 | 
					    export LESS_TERMCAP_mr=$(tput rev)
 | 
				
			||||||
 | 
					    export LESS_TERMCAP_mh=$(tput dim)
 | 
				
			||||||
 | 
					    export LESS_TERMCAP_ZN=$(tput ssubm)
 | 
				
			||||||
 | 
					    export LESS_TERMCAP_ZV=$(tput rsubm)
 | 
				
			||||||
 | 
					    export LESS_TERMCAP_ZO=$(tput ssupm)
 | 
				
			||||||
 | 
					    export LESS_TERMCAP_ZW=$(tput rsupm)
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Source secret keys and values into environment
 | 
				
			||||||
 | 
					if [ -f "$XDG_CONFIG_HOME/secrets" ]; then
 | 
				
			||||||
 | 
					    set -o allexport
 | 
				
			||||||
 | 
					    source $XDG_CONFIG_HOME/secrets
 | 
				
			||||||
 | 
					    set +o allexport
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Start a dbus session daemon for programs that require it
 | 
				
			||||||
 | 
					if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && exists dbus-launch; then
 | 
				
			||||||
 | 
					    eval $(dbus-launch --sh-syntax --exit-with-session)
 | 
				
			||||||
 | 
					    dbus-update-activation-environment --systemd \
 | 
				
			||||||
 | 
					        DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY \
 | 
				
			||||||
 | 
					        XDG_SEAT_PATH
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										171
									
								
								.xournal/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										171
									
								
								.xournal/config
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,171 @@
 | 
				
			|||||||
 | 
					# Xournal configuration file.
 | 
				
			||||||
 | 
					# This file is generated automatically upon saving preferences.
 | 
				
			||||||
 | 
					# Use caution when editing this file manually.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[general]
 | 
				
			||||||
 | 
					# the display resolution, in pixels per inch
 | 
				
			||||||
 | 
					display_dpi=96.00
 | 
				
			||||||
 | 
					# the initial zoom level, in percent
 | 
				
			||||||
 | 
					initial_zoom=169.98
 | 
				
			||||||
 | 
					# maximize the window at startup (true/false)
 | 
				
			||||||
 | 
					window_maximize=false
 | 
				
			||||||
 | 
					# start in full screen mode (true/false)
 | 
				
			||||||
 | 
					window_fullscreen=false
 | 
				
			||||||
 | 
					# the window width in pixels (when not maximized)
 | 
				
			||||||
 | 
					window_width=2120
 | 
				
			||||||
 | 
					# the window height in pixels
 | 
				
			||||||
 | 
					window_height=1374
 | 
				
			||||||
 | 
					# scrollbar step increment (in pixels)
 | 
				
			||||||
 | 
					scrollbar_speed=30
 | 
				
			||||||
 | 
					# the step increment in the zoom dialog box
 | 
				
			||||||
 | 
					zoom_dialog_increment=1
 | 
				
			||||||
 | 
					# the multiplicative factor for zoom in/out
 | 
				
			||||||
 | 
					zoom_step_factor=1.500
 | 
				
			||||||
 | 
					# continuous view (false = one page, true = continuous, horiz = horizontal)
 | 
				
			||||||
 | 
					view_continuous=true
 | 
				
			||||||
 | 
					# use XInput extensions (true/false)
 | 
				
			||||||
 | 
					use_xinput=true
 | 
				
			||||||
 | 
					# discard Core Pointer events in XInput mode (true/false)
 | 
				
			||||||
 | 
					discard_corepointer=false
 | 
				
			||||||
 | 
					# ignore events from other devices while drawing (true/false)
 | 
				
			||||||
 | 
					ignore_other_devices=true
 | 
				
			||||||
 | 
					# do not worry if device reports button isn't pressed while drawing (true/false)
 | 
				
			||||||
 | 
					ignore_btn_reported_up=true
 | 
				
			||||||
 | 
					# always map eraser tip to eraser (true/false)
 | 
				
			||||||
 | 
					use_erasertip=true
 | 
				
			||||||
 | 
					# always map touchscreen device to hand tool (true/false) (requires separate pen and touch devices)
 | 
				
			||||||
 | 
					touchscreen_as_hand_tool=true
 | 
				
			||||||
 | 
					# disable touchscreen device when pen is in proximity (true/false) (requires separate pen and touch devices)
 | 
				
			||||||
 | 
					pen_disables_touch=true
 | 
				
			||||||
 | 
					# name of touchscreen device for touchscreen_as_hand_tool
 | 
				
			||||||
 | 
					touchscreen_device_name=NTRG0001:01 1B96:1B05
 | 
				
			||||||
 | 
					# buttons 2 and 3 switch mappings instead of drawing (useful for some tablets) (true/false)
 | 
				
			||||||
 | 
					buttons_switch_mappings=false
 | 
				
			||||||
 | 
					# automatically load filename.pdf.xoj instead of filename.pdf (true/false)
 | 
				
			||||||
 | 
					autoload_pdf_xoj=false
 | 
				
			||||||
 | 
					# enable periodic autosaves (true/false)
 | 
				
			||||||
 | 
					autosave_enabled=true
 | 
				
			||||||
 | 
					# delay for periodic autosaves (in seconds)
 | 
				
			||||||
 | 
					autosave_delay=5
 | 
				
			||||||
 | 
					# default path for open/save (leave blank for current directory)
 | 
				
			||||||
 | 
					default_path=
 | 
				
			||||||
 | 
					# use pressure sensitivity to control pen stroke width (true/false)
 | 
				
			||||||
 | 
					pressure_sensitivity=true
 | 
				
			||||||
 | 
					# minimum width multiplier
 | 
				
			||||||
 | 
					width_minimum_multiplier=0.00
 | 
				
			||||||
 | 
					# maximum width multiplier
 | 
				
			||||||
 | 
					width_maximum_multiplier=1.25
 | 
				
			||||||
 | 
					# interface components from top to bottom
 | 
				
			||||||
 | 
					# valid values: drawarea menu main_toolbar pen_toolbar statusbar
 | 
				
			||||||
 | 
					interface_order=menu main_toolbar pen_toolbar drawarea statusbar
 | 
				
			||||||
 | 
					# interface components in fullscreen mode, from top to bottom
 | 
				
			||||||
 | 
					interface_fullscreen=main_toolbar pen_toolbar drawarea
 | 
				
			||||||
 | 
					# interface has left-handed scrollbar (true/false)
 | 
				
			||||||
 | 
					interface_lefthanded=false
 | 
				
			||||||
 | 
					# hide some unwanted menu or toolbar items (true/false)
 | 
				
			||||||
 | 
					shorten_menus=false
 | 
				
			||||||
 | 
					# interface items to hide (customize at your own risk!)
 | 
				
			||||||
 | 
					# see source file xo-interface.c for a list of item names
 | 
				
			||||||
 | 
					shorten_menu_items=optionsProgressiveBG optionsLeftHanded optionsButtonSwitchMapping
 | 
				
			||||||
 | 
					# highlighter opacity (0 to 1, default 0.5)
 | 
				
			||||||
 | 
					# warning: opacity level is not saved in xoj files!
 | 
				
			||||||
 | 
					highlighter_opacity=0.50
 | 
				
			||||||
 | 
					# auto-save preferences on exit (true/false)
 | 
				
			||||||
 | 
					autosave_prefs=true
 | 
				
			||||||
 | 
					# force PDF rendering through cairo (slower but nicer) (true/false)
 | 
				
			||||||
 | 
					poppler_force_cairo=false
 | 
				
			||||||
 | 
					# prefer xournal's own PDF code for exporting PDFs (true/false)
 | 
				
			||||||
 | 
					exportpdf_prefer_legacy=false
 | 
				
			||||||
 | 
					# export successive layers on separate pages in PDFs (true/false)
 | 
				
			||||||
 | 
					exportpdf_layers=false
 | 
				
			||||||
 | 
					# when attempting to open a non-existent file, treat it as a new file (true/false)
 | 
				
			||||||
 | 
					autocreate_new_xoj=false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[paper]
 | 
				
			||||||
 | 
					# the default page width, in points (1/72 in)
 | 
				
			||||||
 | 
					width=595.27
 | 
				
			||||||
 | 
					# the default page height, in points (1/72 in)
 | 
				
			||||||
 | 
					height=841.89
 | 
				
			||||||
 | 
					# the default paper color
 | 
				
			||||||
 | 
					color=white
 | 
				
			||||||
 | 
					# the default paper style (plain, lined, ruled, or graph)
 | 
				
			||||||
 | 
					style=lined
 | 
				
			||||||
 | 
					# apply paper style changes to all pages (true/false)
 | 
				
			||||||
 | 
					apply_all=false
 | 
				
			||||||
 | 
					# preferred unit (cm, in, px, pt)
 | 
				
			||||||
 | 
					default_unit=cm
 | 
				
			||||||
 | 
					# include paper ruling when printing or exporting to PDF (true/false)
 | 
				
			||||||
 | 
					print_ruling=true
 | 
				
			||||||
 | 
					# when creating a new page, duplicate a PDF or image background instead of using default paper (true/false)
 | 
				
			||||||
 | 
					new_page_duplicates_bg=true
 | 
				
			||||||
 | 
					# just-in-time update of page backgrounds (true/false)
 | 
				
			||||||
 | 
					progressive_bg=true
 | 
				
			||||||
 | 
					# bitmap resolution of PS/PDF backgrounds rendered using ghostscript (dpi)
 | 
				
			||||||
 | 
					gs_bitmap_dpi=144
 | 
				
			||||||
 | 
					# bitmap resolution of PDF backgrounds when printing with libgnomeprint (dpi)
 | 
				
			||||||
 | 
					pdftoppm_printing_dpi=150
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[tools]
 | 
				
			||||||
 | 
					# selected tool at startup (pen, eraser, highlighter, selectregion, selectrect, vertspace, hand, image)
 | 
				
			||||||
 | 
					startup_tool=pen
 | 
				
			||||||
 | 
					# Use the pencil from cursor theme instead of a color dot (true/false)
 | 
				
			||||||
 | 
					pen_cursor=false
 | 
				
			||||||
 | 
					# default pen color
 | 
				
			||||||
 | 
					pen_color=black
 | 
				
			||||||
 | 
					# default pen thickness (fine = 1, medium = 2, thick = 3)
 | 
				
			||||||
 | 
					pen_thickness=2
 | 
				
			||||||
 | 
					# default pen is in ruler mode (true/false)
 | 
				
			||||||
 | 
					pen_ruler=false
 | 
				
			||||||
 | 
					# default pen is in shape recognizer mode (true/false)
 | 
				
			||||||
 | 
					pen_recognizer=false
 | 
				
			||||||
 | 
					# default eraser thickness (fine = 1, medium = 2, thick = 3)
 | 
				
			||||||
 | 
					eraser_thickness=2
 | 
				
			||||||
 | 
					# default eraser mode (standard = 0, whiteout = 1, strokes = 2)
 | 
				
			||||||
 | 
					eraser_mode=2
 | 
				
			||||||
 | 
					# default highlighter color
 | 
				
			||||||
 | 
					highlighter_color=yellow
 | 
				
			||||||
 | 
					# default highlighter thickness (fine = 1, medium = 2, thick = 3)
 | 
				
			||||||
 | 
					highlighter_thickness=2
 | 
				
			||||||
 | 
					# default highlighter is in ruler mode (true/false)
 | 
				
			||||||
 | 
					highlighter_ruler=false
 | 
				
			||||||
 | 
					# default highlighter is in shape recognizer mode (true/false)
 | 
				
			||||||
 | 
					highlighter_recognizer=false
 | 
				
			||||||
 | 
					# button 2 tool (pen, eraser, highlighter, text, selectregion, selectrect, vertspace, hand, image)
 | 
				
			||||||
 | 
					btn2_tool=eraser
 | 
				
			||||||
 | 
					# button 2 brush linked to primary brush (true/false) (overrides all other settings)
 | 
				
			||||||
 | 
					btn2_linked=true
 | 
				
			||||||
 | 
					# button 2 brush color (for pen or highlighter only)
 | 
				
			||||||
 | 
					btn2_color=white
 | 
				
			||||||
 | 
					# button 2 brush thickness (pen, eraser, or highlighter only)
 | 
				
			||||||
 | 
					btn2_thickness=2
 | 
				
			||||||
 | 
					# button 2 ruler mode (true/false) (for pen or highlighter only)
 | 
				
			||||||
 | 
					btn2_ruler=false
 | 
				
			||||||
 | 
					# button 2 shape recognizer mode (true/false) (pen or highlighter only)
 | 
				
			||||||
 | 
					btn2_recognizer=false
 | 
				
			||||||
 | 
					# button 2 eraser mode (eraser only)
 | 
				
			||||||
 | 
					btn2_erasermode=2
 | 
				
			||||||
 | 
					# button 3 tool (pen, eraser, highlighter, text, selectregion, selectrect, vertspace, hand, image)
 | 
				
			||||||
 | 
					btn3_tool=selectregion
 | 
				
			||||||
 | 
					# button 3 brush linked to primary brush (true/false) (overrides all other settings)
 | 
				
			||||||
 | 
					btn3_linked=true
 | 
				
			||||||
 | 
					# button 3 brush color (for pen or highlighter only)
 | 
				
			||||||
 | 
					btn3_color=white
 | 
				
			||||||
 | 
					# button 3 brush thickness (pen, eraser, or highlighter only)
 | 
				
			||||||
 | 
					btn3_thickness=0
 | 
				
			||||||
 | 
					# button 3 ruler mode (true/false) (for pen or highlighter only)
 | 
				
			||||||
 | 
					btn3_ruler=false
 | 
				
			||||||
 | 
					# button 3 shape recognizer mode (true/false) (pen or highlighter only)
 | 
				
			||||||
 | 
					btn3_recognizer=false
 | 
				
			||||||
 | 
					# button 3 eraser mode (eraser only)
 | 
				
			||||||
 | 
					btn3_erasermode=2
 | 
				
			||||||
 | 
					# thickness of the various pens (in points, 1 pt = 1/72 in)
 | 
				
			||||||
 | 
					pen_thicknesses=0.42;0.85;1.41;2.26;5.67
 | 
				
			||||||
 | 
					# thickness of the various erasers (in points, 1 pt = 1/72 in)
 | 
				
			||||||
 | 
					eraser_thicknesses=2.83;8.50;19.84
 | 
				
			||||||
 | 
					# thickness of the various highlighters (in points, 1 pt = 1/72 in)
 | 
				
			||||||
 | 
					highlighter_thicknesses=2.83;8.50;19.84
 | 
				
			||||||
 | 
					# name of the default font
 | 
				
			||||||
 | 
					default_font=Sans
 | 
				
			||||||
 | 
					# default font size
 | 
				
			||||||
 | 
					default_font_size=12.0
 | 
				
			||||||
							
								
								
									
										3
									
								
								Element/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								Element/.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,3 +0,0 @@
 | 
				
			|||||||
*
 | 
					 | 
				
			||||||
!.gitignore
 | 
					 | 
				
			||||||
!config.json
 | 
					 | 
				
			||||||
@@ -1,88 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
    "default_server_config": {
 | 
					 | 
				
			||||||
        "m.homeserver": {
 | 
					 | 
				
			||||||
            "base_url": "https://chat.nerdhouse.io/",
 | 
					 | 
				
			||||||
            "server_name": "chat.nerdhouse.io"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "m.identity_server": {
 | 
					 | 
				
			||||||
            "base_url": "https://chat.nerdhouse.io/"
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "disable_custom_urls": false,
 | 
					 | 
				
			||||||
    "disable_guests": false,
 | 
					 | 
				
			||||||
    "disable_login_language_selector": false,
 | 
					 | 
				
			||||||
    "disable_3pid_login": false,
 | 
					 | 
				
			||||||
    "brand": "NerdChat",
 | 
					 | 
				
			||||||
    "integrations_ui_url": "https://scalar.vector.im/",
 | 
					 | 
				
			||||||
    "integrations_rest_url": "https://scalar.vector.im/api",
 | 
					 | 
				
			||||||
    "integrations_widgets_urls": [
 | 
					 | 
				
			||||||
        "https://scalar.vector.im/_matrix/integrations/v1",
 | 
					 | 
				
			||||||
        "https://scalar.vector.im/api",
 | 
					 | 
				
			||||||
        "https://scalar-staging.vector.im/_matrix/integrations/v1",
 | 
					 | 
				
			||||||
        "https://scalar-staging.vector.im/api",
 | 
					 | 
				
			||||||
        "https://scalar-staging.riot.im/scalar/api"
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
    "bug_report_endpoint_url": "https://riot.im/bugreports/submit",
 | 
					 | 
				
			||||||
    "defaultCountryCode": "GB",
 | 
					 | 
				
			||||||
    "showLabsSettings": true,
 | 
					 | 
				
			||||||
    "features": {
 | 
					 | 
				
			||||||
        "feature_font_scaling": "labs",
 | 
					 | 
				
			||||||
        "feature_pinning": "labs",
 | 
					 | 
				
			||||||
        "feature_custom_status": "labs",
 | 
					 | 
				
			||||||
        "feature_custom_tags": "labs",
 | 
					 | 
				
			||||||
        "feature_state_counters": "labs",
 | 
					 | 
				
			||||||
        "feature_irc_ui": "labs"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "default_federate": true,
 | 
					 | 
				
			||||||
    "default_theme": "dark",
 | 
					 | 
				
			||||||
    "roomDirectory": {
 | 
					 | 
				
			||||||
        "servers": [
 | 
					 | 
				
			||||||
            "matrix.org"
 | 
					 | 
				
			||||||
        ]
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "welcomeUserId": "@riot-bot:matrix.org",
 | 
					 | 
				
			||||||
    "piwik": {
 | 
					 | 
				
			||||||
        "url": "https://piwik.riot.im/",
 | 
					 | 
				
			||||||
        "whitelistedHSUrls": ["https://matrix.org"],
 | 
					 | 
				
			||||||
        "whitelistedISUrls": ["https://vector.im", "https://matrix.org"],
 | 
					 | 
				
			||||||
        "siteId": 1
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "enable_presence_by_hs_url": {
 | 
					 | 
				
			||||||
        "https://matrix.org": false,
 | 
					 | 
				
			||||||
        "https://matrix-client.matrix.org": false
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "settingDefaults": {
 | 
					 | 
				
			||||||
        "breadcrumbs": true,
 | 
					 | 
				
			||||||
        "custom_themes": [
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                "name": "Arc Dark",
 | 
					 | 
				
			||||||
                "is_dark": true,
 | 
					 | 
				
			||||||
                "fonts": {
 | 
					 | 
				
			||||||
                    "general": "sans",
 | 
					 | 
				
			||||||
                    "monospace": "monospace"
 | 
					 | 
				
			||||||
                },
 | 
					 | 
				
			||||||
                "colors": {
 | 
					 | 
				
			||||||
                    "accent-color": "#5294e2",
 | 
					 | 
				
			||||||
                    "primary-color": "#d3dae3",
 | 
					 | 
				
			||||||
                    "warning-color": "#bf616a",
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    "sidebar-color": "#313742",
 | 
					 | 
				
			||||||
                    "roomlist-background-color": "#383c4a",
 | 
					 | 
				
			||||||
                    "roomlist-text-color": "#afb8c5",
 | 
					 | 
				
			||||||
                    "roomlist-text-secondary-color": "#7c818c",
 | 
					 | 
				
			||||||
                    "roomlist-highlights-color": "#404552",
 | 
					 | 
				
			||||||
                    "roomlist-separator-color": "#2F343F",
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    "timeline-background-color": "#404552",
 | 
					 | 
				
			||||||
                    "timeline-text-color": "#afb8c5",
 | 
					 | 
				
			||||||
                    "timeline-text-secondary-color": "#7c818c",
 | 
					 | 
				
			||||||
                    "timeline-highlights-color": "#404552",
 | 
					 | 
				
			||||||
                    "reaction-row-button-selected-bg-color": "#bf616a"
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        ]
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "jitsi": {
 | 
					 | 
				
			||||||
        "preferredDomain": "jitsi.riot.im"
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -4,8 +4,7 @@
 | 
				
			|||||||
To get started, clone this repo and link the relevant files/directories
 | 
					To get started, clone this repo and link the relevant files/directories
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```shell
 | 
					```shell
 | 
				
			||||||
git clone https://github.com/frebib/dotfiles.git ~/.config
 | 
					git clone https://github.com/frebib/dotfiles.git ~/.config/dotfiles
 | 
				
			||||||
ln -sfv .config/zsh/.zshenv ~
 | 
					ln -sfv .config/dotfiles/.config/* .config/
 | 
				
			||||||
# if it is not already "enabled", make sure the systemd-environment.d generator is active
 | 
					ln -sfv .config/dotfiles/.profile .zprofile
 | 
				
			||||||
sudo ln -sfv /lib/systemd/user-environment-generators/30-systemd-environment-d-generator /lib/systemd/user-generators/
 | 
					 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										26
									
								
								X11/xprofile
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								X11/xprofile
									
									
									
									
									
								
							@@ -1,26 +0,0 @@
 | 
				
			|||||||
#!/bin/sh -u
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Graphical-specific environment variables
 | 
					 | 
				
			||||||
export TERMINAL="alacritty"
 | 
					 | 
				
			||||||
export BROWSER="firefox"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export GTK_THEME="$(grep gtk-theme-name "${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini" | sed 's/.*\s*=\s*//')"
 | 
					 | 
				
			||||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/settings.ini"
 | 
					 | 
				
			||||||
export QT_QPA_PLATFORMTHEME=qt5ct
 | 
					 | 
				
			||||||
export XDG_CURRENT_DESKTOP="GNOME" # Fixes xdg-open
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# https://www.reddit.com/r/linux/comments/72mfv8/psa_for_firefox_users_set_moz_use_xinput21_to/
 | 
					 | 
				
			||||||
export MOZ_USE_XINPUT2=1 # enable pixel-accurate scrolling in firefox
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Load Xorg resources and set the DPI
 | 
					 | 
				
			||||||
xrdb -merge "$XDG_CONFIG_HOME/X11/xresources"
 | 
					 | 
				
			||||||
#"$XDG_CONFIG_HOME/scripts/dpi" "$(xrdb -query | grep -i xft.dpi | cut -d: -f2 | xargs)"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
setxkbmap -option caps:none
 | 
					 | 
				
			||||||
xset r rate 200 18
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
test -f "$XDG_CONFIG_HOME"/X11/xmodmap && \
 | 
					 | 
				
			||||||
    xmodmap "$XDG_CONFIG_HOME"/X11/xmodmap
 | 
					 | 
				
			||||||
@@ -1,40 +0,0 @@
 | 
				
			|||||||
! Colour order:
 | 
					 | 
				
			||||||
!   black
 | 
					 | 
				
			||||||
!   red
 | 
					 | 
				
			||||||
!   green
 | 
					 | 
				
			||||||
!   yellow
 | 
					 | 
				
			||||||
!   blue
 | 
					 | 
				
			||||||
!   magenta
 | 
					 | 
				
			||||||
!   cyan
 | 
					 | 
				
			||||||
!   white/gray
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
! Normal colours
 | 
					 | 
				
			||||||
*.color0:       #333638
 | 
					 | 
				
			||||||
*.color1:       #f41f1c
 | 
					 | 
				
			||||||
*.color2:       #8bc34a
 | 
					 | 
				
			||||||
*.color3:       #ffc107
 | 
					 | 
				
			||||||
*.color4:       #0266f4
 | 
					 | 
				
			||||||
*.color5:       #cc17cc
 | 
					 | 
				
			||||||
*.color6:       #10aeba
 | 
					 | 
				
			||||||
*.color7:       #8b9396
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
! Bright colours
 | 
					 | 
				
			||||||
*.color8:       #475760
 | 
					 | 
				
			||||||
*.color9:       #e53727
 | 
					 | 
				
			||||||
*.color10:      #9ccc65
 | 
					 | 
				
			||||||
*.color11:      #ffa000
 | 
					 | 
				
			||||||
*.color12:      #81b3f9
 | 
					 | 
				
			||||||
*.color13:      #a56ecc
 | 
					 | 
				
			||||||
*.color14:      #5ddae2
 | 
					 | 
				
			||||||
*.color15:      #eceff1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Xft.dpi:        96
 | 
					 | 
				
			||||||
Xft.antialias:  true
 | 
					 | 
				
			||||||
Xft.rgba:       rgb
 | 
					 | 
				
			||||||
Xft.hinting:    true
 | 
					 | 
				
			||||||
Xft.hintstyle:  hintfull
 | 
					 | 
				
			||||||
Xft.lcdfilter:  lcddefault
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Xcursor.size: 28
 | 
					 | 
				
			||||||
Xcursor.theme: BreezeX-Black
 | 
					 | 
				
			||||||
@@ -1,617 +0,0 @@
 | 
				
			|||||||
# Configuration for Alacritty, the GPU enhanced terminal emulator.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# 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: xterm-256color
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
window:
 | 
					 | 
				
			||||||
  # Window dimensions (changes require restart)
 | 
					 | 
				
			||||||
  #
 | 
					 | 
				
			||||||
  # Specified in number of columns/lines, not pixels.
 | 
					 | 
				
			||||||
  # If both are `0`, this setting is ignored.
 | 
					 | 
				
			||||||
  dimensions:
 | 
					 | 
				
			||||||
    columns: 120
 | 
					 | 
				
			||||||
    lines: 40
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # 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)
 | 
					 | 
				
			||||||
  #
 | 
					 | 
				
			||||||
  # Blank space added around the window in pixels. This padding is scaled
 | 
					 | 
				
			||||||
  # by DPI and the specified value is always added at both opposing sides.
 | 
					 | 
				
			||||||
  padding:
 | 
					 | 
				
			||||||
    x: 22
 | 
					 | 
				
			||||||
    y: 22
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Spread additional padding evenly around the terminal content.
 | 
					 | 
				
			||||||
  dynamic_padding: false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # 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, but 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.8
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # 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.
 | 
					 | 
				
			||||||
  #gtk_theme_variant: None
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
scrolling:
 | 
					 | 
				
			||||||
  # Maximum number of lines in the scrollback buffer.
 | 
					 | 
				
			||||||
  # Specifying '0' will disable scrolling.
 | 
					 | 
				
			||||||
  history: 100000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Number of lines the viewport will move for every line scrolled when
 | 
					 | 
				
			||||||
  # scrollback is enabled (history > 0).
 | 
					 | 
				
			||||||
  multiplier: 3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Font configuration
 | 
					 | 
				
			||||||
font:
 | 
					 | 
				
			||||||
  # Normal (roman) font face
 | 
					 | 
				
			||||||
  #normal:
 | 
					 | 
				
			||||||
    # Font family
 | 
					 | 
				
			||||||
    #
 | 
					 | 
				
			||||||
    # Default:
 | 
					 | 
				
			||||||
    #   - (macOS) Menlo
 | 
					 | 
				
			||||||
    #   - (Linux/BSD) monospace
 | 
					 | 
				
			||||||
    #   - (Windows) Consolas
 | 
					 | 
				
			||||||
    #family: monospace
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # The `style` can be specified to pick a specific face.
 | 
					 | 
				
			||||||
    #style: Regular
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # 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: monospace
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # The `style` can be specified to pick a specific face.
 | 
					 | 
				
			||||||
    #style: Bold
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # 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: monospace
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # The `style` can be specified to pick a specific face.
 | 
					 | 
				
			||||||
    #style: Italic
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # 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: 9.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 upwards.
 | 
					 | 
				
			||||||
  #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`
 | 
					 | 
				
			||||||
  #
 | 
					 | 
				
			||||||
  # macOS >= 10.14.x:
 | 
					 | 
				
			||||||
  #
 | 
					 | 
				
			||||||
  # If the font quality on non-retina display looks bad then set
 | 
					 | 
				
			||||||
  # `use_thin_strokes` to `true` and enable font smoothing by running the
 | 
					 | 
				
			||||||
  # following command:
 | 
					 | 
				
			||||||
  #   `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
 | 
					 | 
				
			||||||
  #
 | 
					 | 
				
			||||||
  # This is a global setting and will require a log out or restart to take
 | 
					 | 
				
			||||||
  # effect.
 | 
					 | 
				
			||||||
  #use_thin_strokes: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# If `true`, bold text is drawn using the bright color variants.
 | 
					 | 
				
			||||||
draw_bold_text_with_bright_colors: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Colors (Tomorrow Night Bright)
 | 
					 | 
				
			||||||
colors:
 | 
					 | 
				
			||||||
  # Default colors
 | 
					 | 
				
			||||||
  primary:
 | 
					 | 
				
			||||||
    foreground: '#eceff1'
 | 
					 | 
				
			||||||
    background: '#383c4a'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # 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: '#9a9a9a'
 | 
					 | 
				
			||||||
    #bright_foreground: '#ffffff'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Cursor colors
 | 
					 | 
				
			||||||
  #
 | 
					 | 
				
			||||||
  # Colors which should be used to draw the terminal cursor. If these are
 | 
					 | 
				
			||||||
  # unset, the cursor color will be the inverse of the cell color.
 | 
					 | 
				
			||||||
  cursor:
 | 
					 | 
				
			||||||
    text:       '#eceff1'
 | 
					 | 
				
			||||||
    cursor:     '#5294e2'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Vi mode cursor colors
 | 
					 | 
				
			||||||
  #
 | 
					 | 
				
			||||||
  # Colors for the cursor when the vi mode is active. If these are unset, the
 | 
					 | 
				
			||||||
  # cursor color will be the inverse of the cell color.
 | 
					 | 
				
			||||||
  #vi_mode_cursor:
 | 
					 | 
				
			||||||
  #  text: '#000000'
 | 
					 | 
				
			||||||
  #  cursor: '#ffffff'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Selection colors
 | 
					 | 
				
			||||||
  #
 | 
					 | 
				
			||||||
  # Colors which should be used to draw the selection area. If selection
 | 
					 | 
				
			||||||
  # background is unset, selection color will be the inverse of the cell colors.
 | 
					 | 
				
			||||||
  # If only text is unset the cell text color will remain the same.
 | 
					 | 
				
			||||||
  selection:
 | 
					 | 
				
			||||||
    text: CellForeground
 | 
					 | 
				
			||||||
    background: '#5294e2'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Normal colors
 | 
					 | 
				
			||||||
  normal:
 | 
					 | 
				
			||||||
    black:      '#333638'
 | 
					 | 
				
			||||||
    red:        '#f41f1c'
 | 
					 | 
				
			||||||
    green:      '#8bc34a'
 | 
					 | 
				
			||||||
    yellow:     '#ffc107'
 | 
					 | 
				
			||||||
    blue:       '#0266f4'
 | 
					 | 
				
			||||||
    magenta:    '#cc17cc'
 | 
					 | 
				
			||||||
    cyan:       '#10aeba'
 | 
					 | 
				
			||||||
    white:      '#8b9396'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Bright colors
 | 
					 | 
				
			||||||
  bright:
 | 
					 | 
				
			||||||
    black:      '#475760'
 | 
					 | 
				
			||||||
    red:        '#e53727'
 | 
					 | 
				
			||||||
    green:      '#9ccc65'
 | 
					 | 
				
			||||||
    yellow:     '#ffa000'
 | 
					 | 
				
			||||||
    blue:       '#81b3f9'
 | 
					 | 
				
			||||||
    magenta:    '#a56ecc'
 | 
					 | 
				
			||||||
    cyan:       '#5ddae2'
 | 
					 | 
				
			||||||
    white:      '#eceff1'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Dim colors
 | 
					 | 
				
			||||||
  #
 | 
					 | 
				
			||||||
  # If the dim colors are not set, they will be calculated automatically based
 | 
					 | 
				
			||||||
  # on the `normal` colors.
 | 
					 | 
				
			||||||
  #dim:
 | 
					 | 
				
			||||||
  #  black:   '#000000'
 | 
					 | 
				
			||||||
  #  red:     '#8c3336'
 | 
					 | 
				
			||||||
  #  green:   '#7a8530'
 | 
					 | 
				
			||||||
  #  yellow:  '#97822e'
 | 
					 | 
				
			||||||
  #  blue:    '#506d8f'
 | 
					 | 
				
			||||||
  #  magenta: '#80638e'
 | 
					 | 
				
			||||||
  #  cyan:    '#497e7a'
 | 
					 | 
				
			||||||
  #  white:   '#9a9a9a'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # 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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Visual Bell
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
 | 
					 | 
				
			||||||
# rung, the terminal background will be set to white and transition back to the
 | 
					 | 
				
			||||||
# default background color. You can control the rate of this transition by
 | 
					 | 
				
			||||||
# setting the `duration` property (represented in milliseconds). You can also
 | 
					 | 
				
			||||||
# configure the transition function by setting the `animation` property.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Values for `animation`:
 | 
					 | 
				
			||||||
#   - Ease
 | 
					 | 
				
			||||||
#   - EaseOut
 | 
					 | 
				
			||||||
#   - EaseOutSine
 | 
					 | 
				
			||||||
#   - EaseOutQuad
 | 
					 | 
				
			||||||
#   - EaseOutCubic
 | 
					 | 
				
			||||||
#   - EaseOutQuart
 | 
					 | 
				
			||||||
#   - EaseOutQuint
 | 
					 | 
				
			||||||
#   - EaseOutExpo
 | 
					 | 
				
			||||||
#   - EaseOutCirc
 | 
					 | 
				
			||||||
#   - Linear
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Specifying a `duration` of `0` will disable the visual bell.
 | 
					 | 
				
			||||||
#visual_bell:
 | 
					 | 
				
			||||||
#  animation: EaseOutExpo
 | 
					 | 
				
			||||||
#  duration: 0
 | 
					 | 
				
			||||||
#  color: '#ffffff'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
selection:
 | 
					 | 
				
			||||||
  #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # When set to `true`, selected text will be copied to the primary clipboard.
 | 
					 | 
				
			||||||
  save_to_clipboard: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
cursor:
 | 
					 | 
				
			||||||
  # Cursor style
 | 
					 | 
				
			||||||
  #
 | 
					 | 
				
			||||||
  # Values for `style`:
 | 
					 | 
				
			||||||
  #   - ▇ Block
 | 
					 | 
				
			||||||
  #   - _ Underline
 | 
					 | 
				
			||||||
  #   - | Beam
 | 
					 | 
				
			||||||
  style: Block
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # 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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # If this is `true`, the cursor will be rendered as a hollow box when the
 | 
					 | 
				
			||||||
  # window is not focused.
 | 
					 | 
				
			||||||
  unfocused_hollow: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# 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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# 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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# WinPTY backend (Windows only)
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Alacritty defaults to using the newer ConPTY backend if it is available,
 | 
					 | 
				
			||||||
# since it resolves a lot of bugs and is quite a bit faster. If it is not
 | 
					 | 
				
			||||||
# available, the the WinPTY backend will be used instead.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
 | 
					 | 
				
			||||||
# even if the ConPTY backend is available.
 | 
					 | 
				
			||||||
#winpty_backend: false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Send ESC (\x1b) before characters when alt is pressed.
 | 
					 | 
				
			||||||
#alt_send_esc: 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: false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# 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)
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# And optionally:
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# - `mods` (see key bindings)
 | 
					 | 
				
			||||||
mouse_bindings:
 | 
					 | 
				
			||||||
  - { mouse: Middle, 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
 | 
					 | 
				
			||||||
#   - Copy
 | 
					 | 
				
			||||||
#   - Paste
 | 
					 | 
				
			||||||
#   - PasteSelection
 | 
					 | 
				
			||||||
#   - IncreaseFontSize
 | 
					 | 
				
			||||||
#   - DecreaseFontSize
 | 
					 | 
				
			||||||
#   - ResetFontSize
 | 
					 | 
				
			||||||
#   - ScrollPageUp
 | 
					 | 
				
			||||||
#   - ScrollPageDown
 | 
					 | 
				
			||||||
#   - ScrollLineUp
 | 
					 | 
				
			||||||
#   - ScrollLineDown
 | 
					 | 
				
			||||||
#   - ScrollToTop
 | 
					 | 
				
			||||||
#   - ScrollToBottom
 | 
					 | 
				
			||||||
#   - ClearHistory
 | 
					 | 
				
			||||||
#   - Hide
 | 
					 | 
				
			||||||
#   - Minimize
 | 
					 | 
				
			||||||
#   - Quit
 | 
					 | 
				
			||||||
#   - ToggleFullscreen
 | 
					 | 
				
			||||||
#   - SpawnNewInstance
 | 
					 | 
				
			||||||
#   - ClearLogNotice
 | 
					 | 
				
			||||||
#   - ClearSelection
 | 
					 | 
				
			||||||
#   - ReceiveChar
 | 
					 | 
				
			||||||
#   - None
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
#   (`mode: Vi` only):
 | 
					 | 
				
			||||||
#   - Open
 | 
					 | 
				
			||||||
#   - Up
 | 
					 | 
				
			||||||
#   - Down
 | 
					 | 
				
			||||||
#   - Left
 | 
					 | 
				
			||||||
#   - Right
 | 
					 | 
				
			||||||
#   - First
 | 
					 | 
				
			||||||
#   - Last
 | 
					 | 
				
			||||||
#   - FirstOccupied
 | 
					 | 
				
			||||||
#   - High
 | 
					 | 
				
			||||||
#   - Middle
 | 
					 | 
				
			||||||
#   - Low
 | 
					 | 
				
			||||||
#   - SemanticLeft
 | 
					 | 
				
			||||||
#   - SemanticRight
 | 
					 | 
				
			||||||
#   - SemanticLeftEnd
 | 
					 | 
				
			||||||
#   - SemanticRightEnd
 | 
					 | 
				
			||||||
#   - WordRight
 | 
					 | 
				
			||||||
#   - WordLeft
 | 
					 | 
				
			||||||
#   - WordRightEnd
 | 
					 | 
				
			||||||
#   - WordLeftEnd
 | 
					 | 
				
			||||||
#   - Bracket
 | 
					 | 
				
			||||||
#   - ToggleNormalSelection
 | 
					 | 
				
			||||||
#   - ToggleLineSelection
 | 
					 | 
				
			||||||
#   - ToggleBlockSelection
 | 
					 | 
				
			||||||
#   - ToggleSemanticSelection
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
#   (macOS only):
 | 
					 | 
				
			||||||
#   - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# - `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
 | 
					 | 
				
			||||||
#    - Alt
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
#    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
 | 
					 | 
				
			||||||
# at once.
 | 
					 | 
				
			||||||
key_bindings:
 | 
					 | 
				
			||||||
  - { key: Paste,                                action: Paste          }
 | 
					 | 
				
			||||||
  - { key: Copy,                                 action: Copy           }
 | 
					 | 
				
			||||||
  #- { key: L,         mods: Control,             action: ClearLogNotice }
 | 
					 | 
				
			||||||
  #- { key: L,         mods: Control, mode: ~Vi,  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: Vi, action: ScrollToBottom          }
 | 
					 | 
				
			||||||
  #- { key: Space,  mods: Shift|Control,           action: ToggleViMode            }
 | 
					 | 
				
			||||||
  #- { key: Escape,                      mode: Vi, action: ClearSelection          }
 | 
					 | 
				
			||||||
  #- { key: I,                           mode: Vi, action: ScrollToBottom          }
 | 
					 | 
				
			||||||
  #- { key: I,                           mode: Vi, action: ToggleViMode            }
 | 
					 | 
				
			||||||
  #- { key: Y,      mods: Control,       mode: Vi, action: ScrollLineUp            }
 | 
					 | 
				
			||||||
  #- { key: E,      mods: Control,       mode: Vi, action: ScrollLineDown          }
 | 
					 | 
				
			||||||
  #- { key: G,                           mode: Vi, action: ScrollToTop             }
 | 
					 | 
				
			||||||
  #- { key: G,      mods: Shift,         mode: Vi, action: ScrollToBottom          }
 | 
					 | 
				
			||||||
  #- { key: B,      mods: Control,       mode: Vi, action: ScrollPageUp            }
 | 
					 | 
				
			||||||
  #- { key: F,      mods: Control,       mode: Vi, action: ScrollPageDown          }
 | 
					 | 
				
			||||||
  #- { key: U,      mods: Control,       mode: Vi, action: ScrollHalfPageUp        }
 | 
					 | 
				
			||||||
  #- { key: D,      mods: Control,       mode: Vi, action: ScrollHalfPageDown      }
 | 
					 | 
				
			||||||
  #- { key: Y,                           mode: Vi, action: Copy                    }
 | 
					 | 
				
			||||||
  #- { key: V,                           mode: Vi, action: ToggleNormalSelection   }
 | 
					 | 
				
			||||||
  #- { key: V,      mods: Shift,         mode: Vi, action: ToggleLineSelection     }
 | 
					 | 
				
			||||||
  #- { key: V,      mods: Control,       mode: Vi, action: ToggleBlockSelection    }
 | 
					 | 
				
			||||||
  #- { key: V,      mods: Alt,           mode: Vi, action: ToggleSemanticSelection }
 | 
					 | 
				
			||||||
  #- { key: Return,                      mode: Vi, action: Open                    }
 | 
					 | 
				
			||||||
  #- { key: K,                           mode: Vi, action: Up                      }
 | 
					 | 
				
			||||||
  #- { key: J,                           mode: Vi, action: Down                    }
 | 
					 | 
				
			||||||
  #- { key: H,                           mode: Vi, action: Left                    }
 | 
					 | 
				
			||||||
  #- { key: L,                           mode: Vi, action: Right                   }
 | 
					 | 
				
			||||||
  #- { key: Up,                          mode: Vi, action: Up                      }
 | 
					 | 
				
			||||||
  #- { key: Down,                        mode: Vi, action: Down                    }
 | 
					 | 
				
			||||||
  #- { key: Left,                        mode: Vi, action: Left                    }
 | 
					 | 
				
			||||||
  #- { key: Right,                       mode: Vi, action: Right                   }
 | 
					 | 
				
			||||||
  #- { key: Key0,                        mode: Vi, action: First                   }
 | 
					 | 
				
			||||||
  #- { key: Key4,   mods: Shift,         mode: Vi, action: Last                    }
 | 
					 | 
				
			||||||
  #- { key: Key6,   mods: Shift,         mode: Vi, action: FirstOccupied           }
 | 
					 | 
				
			||||||
  #- { key: H,      mods: Shift,         mode: Vi, action: High                    }
 | 
					 | 
				
			||||||
  #- { key: M,      mods: Shift,         mode: Vi, action: Middle                  }
 | 
					 | 
				
			||||||
  #- { key: L,      mods: Shift,         mode: Vi, action: Low                     }
 | 
					 | 
				
			||||||
  #- { key: B,                           mode: Vi, action: SemanticLeft            }
 | 
					 | 
				
			||||||
  #- { key: W,                           mode: Vi, action: SemanticRight           }
 | 
					 | 
				
			||||||
  #- { key: E,                           mode: Vi, action: SemanticRightEnd        }
 | 
					 | 
				
			||||||
  #- { key: B,      mods: Shift,         mode: Vi, action: WordLeft                }
 | 
					 | 
				
			||||||
  #- { key: W,      mods: Shift,         mode: Vi, action: WordRight               }
 | 
					 | 
				
			||||||
  #- { key: E,      mods: Shift,         mode: Vi, action: WordRightEnd            }
 | 
					 | 
				
			||||||
  #- { key: Key5,   mods: Shift,         mode: Vi, action: Bracket                 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # (Windows, Linux, and BSD only)
 | 
					 | 
				
			||||||
  - { key: V,              mods: Control|Shift,           action: Paste            }
 | 
					 | 
				
			||||||
  - { key: C,              mods: Control|Shift,           action: Copy             }
 | 
					 | 
				
			||||||
  - { key: F,              mods: Control|Shift,           action: SearchForward    }
 | 
					 | 
				
			||||||
  - { key: B,              mods: Control|Shift,           action: SearchBackward   }
 | 
					 | 
				
			||||||
  - { key: C,              mods: Control|Shift, mode: Vi, 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 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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`:
 | 
					 | 
				
			||||||
  #   - None
 | 
					 | 
				
			||||||
  #   - Error
 | 
					 | 
				
			||||||
  #   - Warn
 | 
					 | 
				
			||||||
  #   - Info
 | 
					 | 
				
			||||||
  #   - Debug
 | 
					 | 
				
			||||||
  #   - Trace
 | 
					 | 
				
			||||||
  log_level: Warn
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Print all received window events.
 | 
					 | 
				
			||||||
  #print_events: false
 | 
					 | 
				
			||||||
							
								
								
									
										210
									
								
								aliases
									
									
									
									
									
								
							
							
						
						
									
										210
									
								
								aliases
									
									
									
									
									
								
							@@ -1,41 +1,52 @@
 | 
				
			|||||||
case "$(basename "$(readlink -f /proc/$$/exe)")" in
 | 
					 | 
				
			||||||
    zsh)  thisfile="$(readlink -f "${(%):-%N}")";;
 | 
					 | 
				
			||||||
    bash) thisfile="$(readlink -f "${BASH_SOURCE[0]}")";;
 | 
					 | 
				
			||||||
    *)   thisfile="$(find /proc/$$/fd/ -print0 | xargs -0 -n1 -r readlink -f | grep aliases | head -n1)";;
 | 
					 | 
				
			||||||
esac
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Global aliases for ZSH
 | 
					# Global aliases for ZSH
 | 
				
			||||||
if alias -g 2>/dev/null; then
 | 
					if alias -g 2>/dev/null; then
 | 
				
			||||||
    alias -g ...=../..
 | 
					    alias -g ...=../..
 | 
				
			||||||
    alias -g ....=../../..
 | 
					    alias -g ....=../../..
 | 
				
			||||||
    alias -g .....=../../../..
 | 
					    alias -g .....=../../../..
 | 
				
			||||||
    alias -g ......=../../../../..
 | 
					    alias -g ......=../../../../..
 | 
				
			||||||
 | 
					    alias -g H='| head'
 | 
				
			||||||
 | 
					    alias -g T='| tail'
 | 
				
			||||||
 | 
					    alias -g G='| grep'
 | 
				
			||||||
 | 
					    alias -g L="| less"
 | 
				
			||||||
 | 
					    alias -g C="| wc -l"
 | 
				
			||||||
 | 
					    alias -g S="| sort"
 | 
				
			||||||
 | 
					    alias -g U="| uniq"
 | 
				
			||||||
 | 
					    alias -g count="| wc -l"
 | 
				
			||||||
    alias -g NO="1> /dev/null"
 | 
					    alias -g NO="1> /dev/null"
 | 
				
			||||||
    alias -g NE="2> /dev/null"
 | 
					    alias -g NE="2> /dev/null"
 | 
				
			||||||
    alias -g NUL="&> /dev/null"
 | 
					    alias -g NUL="&> /dev/null"
 | 
				
			||||||
    alias -g BG="&;disown"
 | 
					    alias -g BG="&;disown"
 | 
				
			||||||
 | 
					    alias -g COL="| column -t"
 | 
				
			||||||
 | 
					    alias -g CLIP="| xclip -i -selection primary -f | xclip -i -selection clipboard"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# File default aliases
 | 
					# File default aliases
 | 
				
			||||||
if alias -s 2>/dev/null; then
 | 
					if alias -s 2>/dev/null; then
 | 
				
			||||||
    alias -s pdf="open"
 | 
					    alias -s pdf="open"
 | 
				
			||||||
 | 
					    alias -s zip="unzip -l"
 | 
				
			||||||
 | 
					    alias -s rar="unrar l"
 | 
				
			||||||
 | 
					    alias -s tar="tar tf"
 | 
				
			||||||
 | 
					    alias -s gz="tar tf"
 | 
				
			||||||
    alias -s jar="java -jar"
 | 
					    alias -s jar="java -jar"
 | 
				
			||||||
    alias -s git="git clone --recursive"
 | 
					    alias -s git="git clone --recursive"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias ..la="cd ..;la"
 | 
				
			||||||
 | 
					alias ..ll="cd..;ll"
 | 
				
			||||||
 | 
					alias ..l="..ll"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
alias l=ll
 | 
					alias l=ll
 | 
				
			||||||
alias ls='ls --color=auto'
 | 
					alias ls='ls --color=auto'
 | 
				
			||||||
alias ll='ls -lFh  --group-directories-first'
 | 
					alias ll="ls -lFh  --group-directories-first"
 | 
				
			||||||
alias la='ls -lAFh --group-directories-first'
 | 
					alias la="ls -lAFh --group-directories-first"
 | 
				
			||||||
alias lt='ls -lFh  --sort=time'
 | 
					alias lt='ls -lAFh --sort=time'
 | 
				
			||||||
alias lat='ls -lAFh --sort=time'
 | 
					 | 
				
			||||||
alias lsz='ls -lAFh --sort=size'
 | 
					alias lsz='ls -lAFh --sort=size'
 | 
				
			||||||
alias al=la # No, I don't need the Mono Assembly Linker
 | 
					alias al=la # No, I don't need the Mono Assembly Linker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
alias md='mkdir -p'
 | 
					alias md="mkdir -p"
 | 
				
			||||||
alias rd='rmdir -p'
 | 
					alias rd="rmdir -p"
 | 
				
			||||||
alias -- -='cd -'
 | 
					alias -- -='cd -'
 | 
				
			||||||
cdt() { cd "$(mktemp -d -t "${1:-tmp}.XXXXXXXX")"; }
 | 
					alias cdt='cd `mktemp -d`'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
alias svi=sudoedit
 | 
					alias svi=sudoedit
 | 
				
			||||||
alias svim=sudoedit
 | 
					alias svim=sudoedit
 | 
				
			||||||
@@ -46,26 +57,27 @@ alias sudo='sudo '
 | 
				
			|||||||
alias open=xdg-open
 | 
					alias open=xdg-open
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Command rewrites
 | 
					# Command rewrites
 | 
				
			||||||
alias rm='rm -iv'
 | 
					alias rm='rm -i'
 | 
				
			||||||
alias mv='mv -i'
 | 
					alias mv='mv -i'
 | 
				
			||||||
alias cp='cp -ir'
 | 
					alias cp='cp -ir'
 | 
				
			||||||
alias scp='scp -r'
 | 
					alias scp='scp -r'
 | 
				
			||||||
alias dd='dd status=progress'
 | 
					alias dd='dd status=progress'
 | 
				
			||||||
alias wget='wget --hsts-file=$XDG_DATA_HOME/wget/hsts-file'
 | 
					alias ssh="ssh -tt"
 | 
				
			||||||
 | 
					alias wget="wget --hsts-file=$XDG_DATA_HOME/wget/hsts-file"
 | 
				
			||||||
alias vi=vim
 | 
					alias vi=vim
 | 
				
			||||||
alias grip='grip --pass=$GRIP_API_KEY'
 | 
					alias grip='grip --user=frebib --pass=$GRIP_API_KEY'
 | 
				
			||||||
alias acme.sh='$XDG_CONFIG_HOME/acme.sh/acme.sh --home $XDG_CONFIG_HOME/acme.sh --config-home $XDG_CONFIG_HOME/acme.sh --log $XDG_CONFIG_HOME/acme.sh/acme.sh.log'
 | 
					alias acme.sh='$XDG_CONFIG_HOME/acme.sh/acme.sh --home $XDG_CONFIG_HOME/acme.sh --config-home $XDG_CONFIG_HOME/acme.sh --log $XDG_CONFIG_HOME/acme.sh/acme.sh.log'
 | 
				
			||||||
alias acmesh='$XDG_CONFIG_HOME/acme.sh/acme.sh --home $XDG_CONFIG_HOME/acme.sh --config-home $XDG_CONFIG_HOME/acme.sh --log $XDG_CONFIG_HOME/acme.sh/acme.sh.log'
 | 
					alias acmesh='$XDG_CONFIG_HOME/acme.sh/acme.sh --home $XDG_CONFIG_HOME/acme.sh --config-home $XDG_CONFIG_HOME/acme.sh --log $XDG_CONFIG_HOME/acme.sh/acme.sh.log'
 | 
				
			||||||
alias alpine-sdk="docker run -ti --rm \
 | 
					alias alpine-sdk='docker run -ti --rm \
 | 
				
			||||||
    -e USER \
 | 
					    -e USER \
 | 
				
			||||||
    -e UID=\"\$(id -u)\" \
 | 
					    -e UID="$(id -u)" \
 | 
				
			||||||
    -e PWD \
 | 
					    -e PWD \
 | 
				
			||||||
    -e HOME \
 | 
					    -e HOME \
 | 
				
			||||||
    -w \$PWD \
 | 
					    -w $PWD \
 | 
				
			||||||
    -v \$PWD:\$PWD \
 | 
					    -v $PWD:$PWD \
 | 
				
			||||||
    -v ~/.abuild:\$HOME/.abuild \
 | 
					    -v ~/.abuild:$HOME/.abuild \
 | 
				
			||||||
    -v ~/.abuild/distfiles:/var/cache/distfiles \
 | 
					    -v ~/.abuild/distfiles:/var/cache/distfiles \
 | 
				
			||||||
    frebib/alpine-sdk:edge"
 | 
					    frebib/alpine-sdk:edge'
 | 
				
			||||||
alias abuild='alpine-sdk abuild'
 | 
					alias abuild='alpine-sdk abuild'
 | 
				
			||||||
alias abuild-sign='alpine-sdk abuild-sign'
 | 
					alias abuild-sign='alpine-sdk abuild-sign'
 | 
				
			||||||
alias apk='alpine-sdk apk'
 | 
					alias apk='alpine-sdk apk'
 | 
				
			||||||
@@ -89,14 +101,12 @@ vim --version 2>/dev/null | command grep -q +clientserver && \
 | 
				
			|||||||
    alias vim="vim --servername vim -p"
 | 
					    alias vim="vim --servername vim -p"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Function aliases
 | 
					# Function aliases
 | 
				
			||||||
env() { command env "$@" | stripansi | sort; }
 | 
					env() { command env $@ | stripansi | sort; }
 | 
				
			||||||
mcd(){ mkdir -p -- "$@" && cd -- "$@"; }
 | 
					mcd(){ mkdir -p -- $@ && cd -- $@; }
 | 
				
			||||||
randstr() { tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w "$1" | head -n 1; }
 | 
					randstr() { tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w $1 | head -n 1; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# System aliases
 | 
					# System aliases
 | 
				
			||||||
alias sc="systemctl"
 | 
					alias s="sudo systemctl"
 | 
				
			||||||
alias ssc="sudo systemctl"
 | 
					 | 
				
			||||||
alias scu="systemctl --user"
 | 
					 | 
				
			||||||
alias j=journalctl
 | 
					alias j=journalctl
 | 
				
			||||||
alias ps='ps aux'
 | 
					alias ps='ps aux'
 | 
				
			||||||
alias catn='tail -n +1 --'
 | 
					alias catn='tail -n +1 --'
 | 
				
			||||||
@@ -104,7 +114,6 @@ alias kl='killall -s 9'
 | 
				
			|||||||
alias chx='chmod +x'
 | 
					alias chx='chmod +x'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Git Aliases
 | 
					# Git Aliases
 | 
				
			||||||
alias git='TZ=UTC git'
 | 
					 | 
				
			||||||
alias g=git
 | 
					alias g=git
 | 
				
			||||||
alias ginit='git init'
 | 
					alias ginit='git init'
 | 
				
			||||||
alias gignore='$EDITOR .gitignore'
 | 
					alias gignore='$EDITOR .gitignore'
 | 
				
			||||||
@@ -112,74 +121,53 @@ alias gitc='$EDITOR $XDG_CONFIG_HOME/git/config'
 | 
				
			|||||||
alias ggignore='$EDITOR $XDG_CONFIG_HOME/git/gitignore'
 | 
					alias ggignore='$EDITOR $XDG_CONFIG_HOME/git/gitignore'
 | 
				
			||||||
alias gcl="git clone --recursive"
 | 
					alias gcl="git clone --recursive"
 | 
				
			||||||
alias gco="git checkout"
 | 
					alias gco="git checkout"
 | 
				
			||||||
alias gcom="git checkout \"\$(git defbranch)\""
 | 
					alias gcom="git checkout master"
 | 
				
			||||||
alias ga="git add"
 | 
					alias ga="git add"
 | 
				
			||||||
alias gap="git add -p"
 | 
					alias gap="git add -p"
 | 
				
			||||||
alias gau="git add -u"
 | 
					alias gau="git add -u"
 | 
				
			||||||
alias gaN="git add -N"
 | 
					alias gaN="git add -N"
 | 
				
			||||||
alias gaa="ga -A"
 | 
					alias gaa="ga -A"
 | 
				
			||||||
alias grm="git rm"
 | 
					alias grm="git rm"
 | 
				
			||||||
alias gc="git commit -s"
 | 
					alias gc="git commit"
 | 
				
			||||||
alias gcm="git commit -s -em"
 | 
					alias gcm="gc -m"
 | 
				
			||||||
alias gca="git commit -s --amend --date=\"\$(date -R)\""
 | 
					gcmst() { git stash -u -k && git commit -m "$1" && git stash pop; }
 | 
				
			||||||
alias gcn="git commit -s --no-edit"
 | 
					alias gca="git commit --amend --date=\"$(date -R)\""
 | 
				
			||||||
alias gcan="gca -s --no-edit"
 | 
					alias gcn="git commit --no-edit"
 | 
				
			||||||
alias gcam="gca -s -m"
 | 
					alias gcan="gca --no-edit"
 | 
				
			||||||
 | 
					alias gcam="gca -m"
 | 
				
			||||||
alias gst="git status"
 | 
					alias gst="git status"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
alias gm="git merge"
 | 
					alias gm="git merge"
 | 
				
			||||||
alias gma="git merge --abort"
 | 
					alias gma="git merge --abort"
 | 
				
			||||||
 | 
					 | 
				
			||||||
alias grb="git rebase"
 | 
					alias grb="git rebase"
 | 
				
			||||||
alias grbi="grb -i"
 | 
					 | 
				
			||||||
alias grba="grb --abort"
 | 
					alias grba="grb --abort"
 | 
				
			||||||
alias grbc="grb --continue"
 | 
					alias grbc="grb --continue"
 | 
				
			||||||
alias grbsk="grb --skip"
 | 
					alias grbsk="grb --skip"
 | 
				
			||||||
alias grbsh="grb --show-current"
 | 
					alias grbsh="grb --show-current"
 | 
				
			||||||
alias grbom="git rebase \"origin/\$(git defbranch)\""
 | 
					alias grbom="git rebase origin/master"
 | 
				
			||||||
gfrb() { remote="${1%/*}"; git fetch "$remote" && git rebase "$@"; }
 | 
					 | 
				
			||||||
gfrbi() { remote="${1%/*}"; git fetch "$remote" && git rebase -i "$@"; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
alias gam="git am"
 | 
					 | 
				
			||||||
alias gama="git am --abort"
 | 
					 | 
				
			||||||
alias gamc="git am --continue"
 | 
					 | 
				
			||||||
alias gamsk="git am --skip"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
alias gcp="git cherry-pick"
 | 
					 | 
				
			||||||
alias gcpa="git cherry-pick --abort"
 | 
					 | 
				
			||||||
alias gcpc="git cherry-pick --continue"
 | 
					 | 
				
			||||||
alias gcpsk="git cherry-pick --skip"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
alias grv="git revert"
 | 
					 | 
				
			||||||
alias grva="git revert --abort"
 | 
					 | 
				
			||||||
alias grvc="git revert --continue"
 | 
					 | 
				
			||||||
alias grvsk="git revert --skip"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
alias gf="git fetch"
 | 
					alias gf="git fetch"
 | 
				
			||||||
alias gp="git push"
 | 
					alias gp="git push"
 | 
				
			||||||
alias gpf="gp --force"
 | 
					alias gpf="gp --force"
 | 
				
			||||||
alias gpsu="git push --set-upstream"
 | 
					alias gpsu="git push --set-upstream"
 | 
				
			||||||
alias gpoH="git push origin HEAD"
 | 
					alias gpoH="git push origin HEAD"
 | 
				
			||||||
alias gpsuom="git push --set-upstream origin \"\$(git defbranch)\""
 | 
					alias gpsuom="git push --set-upstream origin master"
 | 
				
			||||||
alias gpall="git remote | xargs -L1 git push"
 | 
					alias gpall="git remote | xargs -L1 git push"
 | 
				
			||||||
alias gl="git pull --rebase"
 | 
					alias gl="git pull --rebase"
 | 
				
			||||||
alias glp="gl && gp"
 | 
					alias glp="gl && gp"
 | 
				
			||||||
alias gd="git diff --patch-with-stat"
 | 
					alias gd="git diff --patch-with-stat"
 | 
				
			||||||
alias gdni="gd --no-index"
 | 
					 | 
				
			||||||
alias gds="gd --staged"
 | 
					alias gds="gd --staged"
 | 
				
			||||||
alias gsh="git show --format=fuller --patch-with-stat"
 | 
					alias gsh="git show --format=full --patch-with-stat"
 | 
				
			||||||
alias glg="git log --color --format=fuller --stat --no-merges --graph"
 | 
					alias glg="git log --format=full --stat --color"
 | 
				
			||||||
alias glgp="git log --color --format=fuller --patch-with-stat --no-merges --graph"
 | 
					alias glog="git log --oneline --decorate --color --graph"
 | 
				
			||||||
alias glog="git log --color --oneline --decorate --graph"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
alias grst="git reset"
 | 
					alias grst="git reset"
 | 
				
			||||||
alias gundo="git reset --keep @~1"
 | 
					alias gundo="git reset @~1"
 | 
				
			||||||
alias gclean="git clean"
 | 
					alias gclean="git clean"
 | 
				
			||||||
alias gbr="git branch"
 | 
					alias gbr="git branch"
 | 
				
			||||||
alias gbrl="git for-each-ref --sort=committerdate refs/heads/ --format=\"%(refname:short)\" | fzf -x --ansi --multi --preview-window=right:70% --preview=\"git log --format=fuller --stat --color=always {} | head -n\$((\$(tput lines)*10))\""
 | 
					 | 
				
			||||||
alias gtg="git tag"
 | 
					alias gtg="git tag"
 | 
				
			||||||
alias gbl="git blame"
 | 
					 | 
				
			||||||
alias gr="git remote"
 | 
					alias gr="git remote"
 | 
				
			||||||
 | 
					alias grv="git remote -v"
 | 
				
			||||||
alias gra="gr add"
 | 
					alias gra="gr add"
 | 
				
			||||||
alias grr="gr rm"
 | 
					alias grr="gr rm"
 | 
				
			||||||
alias grao="gra origin"
 | 
					alias grao="gra origin"
 | 
				
			||||||
@@ -196,7 +184,7 @@ alias d=docker
 | 
				
			|||||||
alias dps="docker ps --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
 | 
					alias dps="docker ps --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
 | 
				
			||||||
alias dpsa="docker ps -a --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
 | 
					alias dpsa="docker ps -a --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
 | 
				
			||||||
alias dnets="docker network ls -q | xargs docker inspect | jq '.[] | select(.Name != \"host\" and .Name != \"none\") | [.] | map(.Name + \"\t\" + (.IPAM.Config | map(.Subnet) | join(\"\t\")))[]' -r | sort -V -k2,3 | column -t"
 | 
					alias dnets="docker network ls -q | xargs docker inspect | jq '.[] | select(.Name != \"host\" and .Name != \"none\") | [.] | map(.Name + \"\t\" + (.IPAM.Config | map(.Subnet) | join(\"\t\")))[]' -r | sort -V -k2,3 | column -t"
 | 
				
			||||||
daddrs() { docker inspect "${1:-bridge}" | jq '.[0].Containers | map(.Name + "\t" + .IPv4Address + "\t" + .IPv6Address)[]' -r | sort -V -k2,3 | column -t; }
 | 
					daddrs() { docker inspect ${1:-bridge} | jq '.[0].Containers | map(.Name + "\t" + .IPv4Address + "\t" + .IPv6Address)[]' -r | sort -V -k2,3 | column -t; }
 | 
				
			||||||
alias din='docker inspect'
 | 
					alias din='docker inspect'
 | 
				
			||||||
alias drm='docker rm'
 | 
					alias drm='docker rm'
 | 
				
			||||||
alias drmi='docker rmi'
 | 
					alias drmi='docker rmi'
 | 
				
			||||||
@@ -205,32 +193,30 @@ alias dbl='docker build --pull'
 | 
				
			|||||||
alias dbl.='docker build --pull .'
 | 
					alias dbl.='docker build --pull .'
 | 
				
			||||||
alias drun='docker run -ti'
 | 
					alias drun='docker run -ti'
 | 
				
			||||||
alias dkl='docker kill'
 | 
					alias dkl='docker kill'
 | 
				
			||||||
alias drmf='docker rm -f'
 | 
					dklrm() { docker kill $@ ; docker rm $@; }
 | 
				
			||||||
alias dst='docker stop'
 | 
					alias dst='docker stop'
 | 
				
			||||||
alias drst='docker restart'
 | 
					alias drst='docker restart'
 | 
				
			||||||
alias dnet='docker network'
 | 
					alias dnet='docker network'
 | 
				
			||||||
alias dvol='docker volume'
 | 
					alias dvol='docker volume'
 | 
				
			||||||
alias dc='docker compose'
 | 
					alias dlg='docker logs -f'
 | 
				
			||||||
alias dlg='docker logs --tail=1000 -f'
 | 
					 | 
				
			||||||
alias dalpine='docker run -ti --rm spritsail/alpine /bin/sh'
 | 
					alias dalpine='docker run -ti --rm spritsail/alpine /bin/sh'
 | 
				
			||||||
alias drm-stopped='docker container prune'
 | 
					alias drm-stopped='docker container prune'
 | 
				
			||||||
alias drmi-untag='docker image prune'
 | 
					alias drmi-untag='docker image prune'
 | 
				
			||||||
alias dprune='docker system prune -f'
 | 
					alias dprune='docker system prune -f'
 | 
				
			||||||
dsh() { do_dsh 2 exec "$@"; return $?; }
 | 
					dsh() { do_dsh 2 exec $@; return $?; }
 | 
				
			||||||
_dsh() { __docker_complete_running_containers "$@"; }
 | 
					_dsh() { __docker_complete_running_containers $@; }
 | 
				
			||||||
drsh() { do_dsh 4 run --rm --entrypoint= "$@"; return $?; }
 | 
					drsh() { do_dsh 4 run --rm --entrypoint= $@; return $?; }
 | 
				
			||||||
_drsh() { __docker_container_subcommand "$@"; }
 | 
					_drsh() { __docker_container_subcommand $@; }
 | 
				
			||||||
do_dsh() {
 | 
					do_dsh() {
 | 
				
			||||||
    local minargs=$1
 | 
					    local minargs=$1
 | 
				
			||||||
    shift
 | 
					    shift
 | 
				
			||||||
    if [ $# -lt "$minargs" ]; then
 | 
					    if [ $# -lt $minargs ]; then
 | 
				
			||||||
        # shellcheck disable=SC2154
 | 
					 | 
				
			||||||
        echo "Usage: ${funcstack[2]} [user@]container [program [args]]" >&2
 | 
					        echo "Usage: ${funcstack[2]} [user@]container [program [args]]" >&2
 | 
				
			||||||
        return 64
 | 
					        return 64
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local dowhat="$1"
 | 
					    local dowhat="$1"
 | 
				
			||||||
    local docker_args=("$dowhat" -ti)
 | 
					    local docker_args=()
 | 
				
			||||||
    shift
 | 
					    shift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    while [ "${1:0:1}" = '-' ]; do
 | 
					    while [ "${1:0:1}" = '-' ]; do
 | 
				
			||||||
@@ -242,84 +228,76 @@ do_dsh() {
 | 
				
			|||||||
        shift
 | 
					        shift
 | 
				
			||||||
    done
 | 
					    done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local user
 | 
					    local user="$(echo "$1" | cut -d'@' -f1 -s)"
 | 
				
			||||||
    user="$(echo "$1" | cut -d@ -f1 -s)"
 | 
					    local prog="${@:2:$#}"
 | 
				
			||||||
 | 
					    local usercmd=""
 | 
				
			||||||
    declare -a prog
 | 
					 | 
				
			||||||
    prog=("${@:2:$#}")
 | 
					 | 
				
			||||||
    if [ -z "$user" ]; then
 | 
					    if [ -z "$user" ]; then
 | 
				
			||||||
        host="$1"
 | 
					        host="$1"
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        host="$(cut -d@ -f2 -s <<< "$1")"
 | 
					        host=`echo $1 | cut -d'@' -f2 -s`
 | 
				
			||||||
        docker_args+=("--user=$user")
 | 
					        usercmd="--user=$user"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [ "$dowhat" = exec ] && [ -z "$(docker ps -q -f name="$host" <&-)" ]; then
 | 
					    if [ "$dowhat" = 'exec' -a -z "$(docker ps -q -f name="$host")" <&- ]; then
 | 
				
			||||||
        echo "No such container $host" >&2
 | 
					        echo "No such container $host" >&2
 | 
				
			||||||
        return 5
 | 
					        return 5
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    if [ "$dowhat" = run ]; then
 | 
					 | 
				
			||||||
        docker image pull "$host"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [ ${#prog[@]} = 0 ]; then
 | 
					    if [ -z "$prog" ]; then
 | 
				
			||||||
        shell_args=("$dowhat")
 | 
					        shell_args=()
 | 
				
			||||||
        if [ "$dowhat" = 'run' ]; then
 | 
					        if [ "$dowhat" = 'run' ]; then
 | 
				
			||||||
            shell_args+=(--rm --entrypoint=)
 | 
					            shell_args=(--rm --entrypoint=)
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
        for shell in bash sh; do
 | 
					        for shell in bash sh; do
 | 
				
			||||||
            shell_path="$(set -o pipefail; docker "${shell_args[@]}" "$host" which "$shell" <&- | sed 's|[\r\n]||g')"
 | 
					            shell_path="$(set -o pipefail; docker $dowhat ${shell_args[@]} "$host" which "$shell" <&- | sed 's|[\r\n]||g')"
 | 
				
			||||||
            retval=$?
 | 
					            retval=$?
 | 
				
			||||||
            if [ $retval -eq 0 ]; then
 | 
					            if [ $retval -eq 0 ]; then
 | 
				
			||||||
                prog=("$shell_path")
 | 
					                prog="$shell_path"
 | 
				
			||||||
                break
 | 
					                break
 | 
				
			||||||
            elif [ $retval -ge 125 ]; then
 | 
					            elif [ $retval -ge 125 ]; then
 | 
				
			||||||
                return
 | 
					                return
 | 
				
			||||||
            fi
 | 
					            fi
 | 
				
			||||||
        done
 | 
					        done
 | 
				
			||||||
        if [ ${#prog[@]} = 0 ]; then
 | 
					        if [ -z "$prog" ]; then
 | 
				
			||||||
            echo "Warning: No shell found in path.. trying /bin/sh" >&2
 | 
					            echo "Warning: No shell found in path.. trying /bin/sh" >&2
 | 
				
			||||||
            prog=(/bin/sh)
 | 
					            prog=/bin/sh
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    docker "${docker_args[@]}" "$host" "${prog[@]}"
 | 
					    docker $dowhat ${docker_args[@]} -ti $usercmd $host $(xargs <<< $prog)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias dc='docker-compose'
 | 
				
			||||||
alias dm='docker-machine'
 | 
					alias dm='docker-machine'
 | 
				
			||||||
dmc() { eval "$(docker-machine env "$1")"; }
 | 
					dmc() { eval $(docker-machine env $1); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ZFS aliases
 | 
					# ZFS aliases
 | 
				
			||||||
alias zfs='sudo zfs'
 | 
					alias zfs='sudo zfs'
 | 
				
			||||||
alias zpool='sudo zpool'
 | 
					alias zpool='sudo zpool'
 | 
				
			||||||
 | 
					alias z=zfs
 | 
				
			||||||
alias zp=zpool
 | 
					alias zp=zpool
 | 
				
			||||||
zl() { (set -o pipefail; command zfs list "$@" | grep -Ev 'docker/[0-9a-f]{64}' | column -t -R 2,3,4); return $?; }
 | 
					zl() { (set -o pipefail; command zfs list $@ | grep -Ev 'docker/[0-9a-f]{64}' | column -t -R 2,3,4); return $?; }
 | 
				
			||||||
_zl() { _zfs "list $*"; }
 | 
					_zl() { _zfs "list $@"; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# General Aliases
 | 
					# General Aliases
 | 
				
			||||||
alias ssha="eval \"\$(ssh-agent)\"; ssh-add"
 | 
					alias ssha='eval `ssh-agent` ; ssh-add'
 | 
				
			||||||
# shellcheck disable=SC2139
 | 
					alias aliases="$EDITOR $DOTFILES/aliases ; exec zsh"
 | 
				
			||||||
alias aliases="\$EDITOR $thisfile ; exec zsh"
 | 
					alias vimrc="$EDITOR $VIMRC"
 | 
				
			||||||
alias vimrc="\$EDITOR \$VIMRC"
 | 
					alias zshrc="$EDITOR ${ZDOTDIR:-$HOME}/.zshrc ; exec zsh"
 | 
				
			||||||
alias zshrc="\$EDITOR \${ZDOTDIR:-\$HOME}/.zshrc ; exec zsh"
 | 
					alias gitrc="$EDITOR $XDG_CONFIG_HOME/git/config"
 | 
				
			||||||
alias gitrc="\$EDITOR \$XDG_CONFIG_HOME/git/config"
 | 
					alias xinitrc="$EDITOR $XDG_CONFIG_HOME/X11/xinitrc"
 | 
				
			||||||
alias xinitrc="\$EDITOR \$XDG_CONFIG_HOME/X11/xinitrc"
 | 
					alias xresources="$EDITOR $XDG_CONFIG_HOME/X11/xresources ; xrdb merge $XDG_CONFIG_HOME/X11/xresources"
 | 
				
			||||||
alias xresources="\$EDITOR \$XDG_CONFIG_HOME/X11/xresources ; xrdb merge \$XDG_CONFIG_HOME/X11/xresources"
 | 
					alias sshc="$EDITOR ~/.ssh/config"
 | 
				
			||||||
alias sshc="\$EDITOR ~/.ssh/config"
 | 
					alias dotfiles="cd $DOTFILES"
 | 
				
			||||||
alias dotfiles="cd \$XDG_CONFIG_HOME"
 | 
					alias i3c="$EDITOR $XDG_CONFIG_HOME/i3/config ; i3-msg restart"
 | 
				
			||||||
alias i3c="\$EDITOR \$XDG_CONFIG_HOME/i3/config; systemctl --user reload i3"
 | 
					alias polybarc="$EDITOR $XDG_CONFIG_HOME/polybar/config; killall -q polybar; while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done; nohup polybar -r i3bar <&- 2>&1 1>/dev/null & disown"
 | 
				
			||||||
alias polybarc="\$EDITOR \$XDG_CONFIG_HOME/polybar/config.ini; systemctl --user reload polybar@i3bar"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias sf=screenfetch
 | 
				
			||||||
 | 
					alias nf=neofetch
 | 
				
			||||||
alias rot13="tr '[A-Za-z]' '[N-ZA-Mn-za-m]'"
 | 
					alias rot13="tr '[A-Za-z]' '[N-ZA-Mn-za-m]'"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Networking aliases
 | 
					# Networking aliases
 | 
				
			||||||
alias ipa="ip a"
 | 
					alias ipa="ip a"
 | 
				
			||||||
alias addrs="ip a | grep inet | grep -ve fe80 -e '127\\.0\\.0\\.1/8' -e '::1/128' | sort -n | sed 's/^\\s*//'"
 | 
					alias addrs="ip a | grep inet | grep -ve fe80 -e '127\\.0\\.0\\.1/8' -e '::1/128' | sort -n | sed 's/^\\s*//'"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# alertmanager
 | 
					 | 
				
			||||||
alias alert='amtool alert'
 | 
					 | 
				
			||||||
alias silence='amtool silence'
 | 
					 | 
				
			||||||
alias expire='amtool silence expire'
 | 
					 | 
				
			||||||
unsilence() { { for inst in "$@"; do amtool silence query instance=$inst | grep -Po '^([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})' | tee /dev/stderr | xargs -r amtool silence expire & done; wait; } | cat }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# vim: ft=sh
 | 
					# vim: ft=sh
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
--enable-features=NativeNotifications,OverlayScrollbar
 | 
					 | 
				
			||||||
@@ -1,14 +0,0 @@
 | 
				
			|||||||
LC_ALL="en_GB.UTF-8"
 | 
					 | 
				
			||||||
LANG="en_GB.UTF-8"
 | 
					 | 
				
			||||||
LC_NUMERIC="en_GB"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
 | 
					 | 
				
			||||||
XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
 | 
					 | 
				
			||||||
XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EDITOR="vim"
 | 
					 | 
				
			||||||
VISUAL="vim"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PATH="${PATH}:/sbin:/usr/sbin:${HOME}/.local/bin:${XDG_CONFIG_HOME}/scripts"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# vim: ft=sh
 | 
					 | 
				
			||||||
@@ -1,27 +0,0 @@
 | 
				
			|||||||
# Override paths for non-compliant programs
 | 
					 | 
				
			||||||
# https://wiki.archlinux.org/index.php/XDG_Base_Directory_support
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ASPELL_CONF="per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_CONFIG_HOME/aspell/en.pws; repl $XDG_CONFIG_HOME/aspell/en.prepl"
 | 
					 | 
				
			||||||
CARGO_HOME="$XDG_DATA_HOME/cargo"
 | 
					 | 
				
			||||||
GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
 | 
					 | 
				
			||||||
GEM_HOME="$XDG_DATA_HOME/gem"
 | 
					 | 
				
			||||||
GEM_SPEC_CACHE="$XDG_CACHE_HOME/gem"
 | 
					 | 
				
			||||||
GOPATH="$XDG_DATA_HOME/go"
 | 
					 | 
				
			||||||
ICEAUTHORITY="$XDG_CACHE_HOME/ICEauthority"
 | 
					 | 
				
			||||||
NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
 | 
					 | 
				
			||||||
PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass"
 | 
					 | 
				
			||||||
PYTHONSTARTUP="$XDG_CONFIG_HOME/python/startup"
 | 
					 | 
				
			||||||
RUSTUP_HOME="$XDG_DATA_HOME/rustup"
 | 
					 | 
				
			||||||
TERMINFO="$XDG_DATA_HOME/terminfo"
 | 
					 | 
				
			||||||
TERMINFO_DIRS="$XDG_DATA_HOME/terminfo:/usr/share/terminfo"
 | 
					 | 
				
			||||||
TS3_CONFIG_DIR="$XDG_CONFIG_HOME/teamspeak3"
 | 
					 | 
				
			||||||
VIMDIR="$XDG_CONFIG_HOME/vim"
 | 
					 | 
				
			||||||
VIMRC="$VIMDIR/vimrc"
 | 
					 | 
				
			||||||
VIMINIT=":so $VIMRC"
 | 
					 | 
				
			||||||
WEECHAT_HOME="$XDG_CONFIG_HOME/weechat"
 | 
					 | 
				
			||||||
XINITRC="$XDG_CONFIG_HOME/X11/xinitrc"
 | 
					 | 
				
			||||||
ZDOTDIR="$XDG_CONFIG_HOME/zsh"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PATH="${PATH}:${GOPATH}/bin:${GEM_HOME}/ruby/3.0.0/bin"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# vim: ft=sh
 | 
					 | 
				
			||||||
							
								
								
									
										82
									
								
								fsh/fish.ini
									
									
									
									
									
								
							
							
						
						
									
										82
									
								
								fsh/fish.ini
									
									
									
									
									
								
							@@ -1,82 +0,0 @@
 | 
				
			|||||||
[base]
 | 
					 | 
				
			||||||
default          = 12
 | 
					 | 
				
			||||||
unknown-token    = red,bold
 | 
					 | 
				
			||||||
commandseparator = cyan
 | 
					 | 
				
			||||||
redirection      = cyan,bold
 | 
					 | 
				
			||||||
here-string-tri  = yellow
 | 
					 | 
				
			||||||
here-string-text = 18
 | 
					 | 
				
			||||||
here-string-var  = cyan,bg:18
 | 
					 | 
				
			||||||
exec-descriptor  = yellow,bold
 | 
					 | 
				
			||||||
comment          = 7
 | 
					 | 
				
			||||||
correct-subtle   = 12
 | 
					 | 
				
			||||||
incorrect-subtle = red
 | 
					 | 
				
			||||||
subtle-separator = green
 | 
					 | 
				
			||||||
subtle-bg        = bg:18
 | 
					 | 
				
			||||||
secondary        =
 | 
					 | 
				
			||||||
recursive-base   =
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[command-point]
 | 
					 | 
				
			||||||
reserved-word  = yellow
 | 
					 | 
				
			||||||
subcommand     = yellow
 | 
					 | 
				
			||||||
alias          = blue
 | 
					 | 
				
			||||||
suffix-alias   = green
 | 
					 | 
				
			||||||
global-alias   = blue,bold
 | 
					 | 
				
			||||||
builtin        = blue
 | 
					 | 
				
			||||||
function       = blue
 | 
					 | 
				
			||||||
command        = blue
 | 
					 | 
				
			||||||
precommand     = blue
 | 
					 | 
				
			||||||
hashed-command = green
 | 
					 | 
				
			||||||
single-sq-bracket = green
 | 
					 | 
				
			||||||
double-sq-bracket = green
 | 
					 | 
				
			||||||
double-paren   = yellow
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[paths]
 | 
					 | 
				
			||||||
path          = cyan
 | 
					 | 
				
			||||||
pathseparator = cyan
 | 
					 | 
				
			||||||
path-to-dir   = magenta,underline
 | 
					 | 
				
			||||||
globbing      = red
 | 
					 | 
				
			||||||
globbing-ext  = 13
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[brackets]
 | 
					 | 
				
			||||||
paired-bracket = bg:blue
 | 
					 | 
				
			||||||
bracket-level-1 = green,bold
 | 
					 | 
				
			||||||
bracket-level-2 = yellow,bold
 | 
					 | 
				
			||||||
bracket-level-3 = cyan,bold
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[arguments]
 | 
					 | 
				
			||||||
single-hyphen-option   = 12
 | 
					 | 
				
			||||||
double-hyphen-option   = 12
 | 
					 | 
				
			||||||
back-quoted-argument   = none
 | 
					 | 
				
			||||||
single-quoted-argument = yellow
 | 
					 | 
				
			||||||
double-quoted-argument = yellow
 | 
					 | 
				
			||||||
dollar-quoted-argument = yellow
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[in-string]
 | 
					 | 
				
			||||||
; backslash in $'...'
 | 
					 | 
				
			||||||
back-dollar-quoted-argument           = cyan
 | 
					 | 
				
			||||||
; backslash or $... in "..."
 | 
					 | 
				
			||||||
back-or-dollar-double-quoted-argument = cyan
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[other]
 | 
					 | 
				
			||||||
variable             = 113
 | 
					 | 
				
			||||||
assign               = green
 | 
					 | 
				
			||||||
assign-array-bracket = green
 | 
					 | 
				
			||||||
history-expansion    = blue,bold
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[math]
 | 
					 | 
				
			||||||
mathvar = blue,bold
 | 
					 | 
				
			||||||
mathnum = magenta
 | 
					 | 
				
			||||||
matherr = red
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[for-loop]
 | 
					 | 
				
			||||||
forvar = none
 | 
					 | 
				
			||||||
fornum = magenta
 | 
					 | 
				
			||||||
; operator
 | 
					 | 
				
			||||||
foroper = yellow
 | 
					 | 
				
			||||||
; separator
 | 
					 | 
				
			||||||
forsep = yellow,bold
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[case]
 | 
					 | 
				
			||||||
case-input       = green
 | 
					 | 
				
			||||||
case-parentheses = yellow
 | 
					 | 
				
			||||||
case-condition   = bg:blue
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
../gtk-3.0/settings.ini
 | 
					 | 
				
			||||||
@@ -1,17 +0,0 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
option="$(echo "  lock|  logout|  sleep|  hibernate|  power off|  reboot|  windows" | \
 | 
					 | 
				
			||||||
    rofi -sep "|" -dmenu -i -p "" -auto-select -hide-scrollbar -monitor 0 -width 10 -lines 7 -location 3 -tokenize false -matching normal | cut -d' ' -f2- | xargs)"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
case $option in
 | 
					 | 
				
			||||||
    lock) dm-tool switch-to-greeter;;
 | 
					 | 
				
			||||||
    logout) systemctl --user exit;;
 | 
					 | 
				
			||||||
    sleep) systemctl suspend;;
 | 
					 | 
				
			||||||
    hibernate) systemctl hibernate;;
 | 
					 | 
				
			||||||
    power\ off) systemctl poweroff;;
 | 
					 | 
				
			||||||
    reboot) systemctl reboot;;
 | 
					 | 
				
			||||||
    windows)
 | 
					 | 
				
			||||||
        windows="$(efibootmgr | grep -Po -m1 'Boot\K(\d{4}).*Windows.*' | head -c4)"
 | 
					 | 
				
			||||||
        sudo efibootmgr -n $windows
 | 
					 | 
				
			||||||
        systemctl reboot;;
 | 
					 | 
				
			||||||
esac
 | 
					 | 
				
			||||||
@@ -1,55 +0,0 @@
 | 
				
			|||||||
noremap d h
 | 
					 | 
				
			||||||
noremap h j
 | 
					 | 
				
			||||||
noremap t k
 | 
					 | 
				
			||||||
noremap n l
 | 
					 | 
				
			||||||
noremap D H
 | 
					 | 
				
			||||||
noremap H J
 | 
					 | 
				
			||||||
noremap T K
 | 
					 | 
				
			||||||
noremap N L
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
noremap gh gj
 | 
					 | 
				
			||||||
noremap gt gk
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" I work with tabs every now and then. No, I don't have a mnemonic, so
 | 
					 | 
				
			||||||
" stfu.
 | 
					 | 
				
			||||||
noremap gj gt
 | 
					 | 
				
			||||||
noremap gJ gT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Window movement, equally important
 | 
					 | 
				
			||||||
noremap <C-w>d <C-w>h
 | 
					 | 
				
			||||||
noremap <C-w>h <C-w>j
 | 
					 | 
				
			||||||
noremap <C-w>t <C-w>k
 | 
					 | 
				
			||||||
noremap <C-w>n <C-w>l
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
nnoremap <C-w><C-d> <C-w><C-h>
 | 
					 | 
				
			||||||
nnoremap <C-w><C-h> <C-w><C-j>
 | 
					 | 
				
			||||||
nnoremap <C-w><C-t> <C-w><C-k>
 | 
					 | 
				
			||||||
nnoremap <C-w><C-n> <C-w><C-l>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
nnoremap <C-d> <C-w>h
 | 
					 | 
				
			||||||
nnoremap <C-h> <C-w>j
 | 
					 | 
				
			||||||
nnoremap <C-t> <C-w>k
 | 
					 | 
				
			||||||
nnoremap <C-n> <C-w>l
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Account for tag jumping
 | 
					 | 
				
			||||||
nnoremap <C-j> <C-t>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Remappings for the D key
 | 
					 | 
				
			||||||
noremap k d
 | 
					 | 
				
			||||||
noremap K D
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Remappings for the T key
 | 
					 | 
				
			||||||
noremap j t
 | 
					 | 
				
			||||||
"noremap J T
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Remapping for the L key
 | 
					 | 
				
			||||||
noremap l n
 | 
					 | 
				
			||||||
noremap L N
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" General purpose help; the originals remain for convenience
 | 
					 | 
				
			||||||
noremap - 0
 | 
					 | 
				
			||||||
noremap _ $
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Fold-related keybindings
 | 
					 | 
				
			||||||
noremap zh zj
 | 
					 | 
				
			||||||
noremap zt zk
 | 
					 | 
				
			||||||
@@ -1,42 +0,0 @@
 | 
				
			|||||||
[Default Applications]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# eog for images
 | 
					 | 
				
			||||||
image/bmp=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/gif=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/jpeg=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/jpg=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/pjpeg=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/png=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/svg+xml-compressed=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/svg+xml=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/tiff=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/x-bmp=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/x-gray=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/x-icb=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/x-ico=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/x-png=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/x-portable-anymap=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/x-portable-bitmap=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/x-portable-graymap=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
image/x-portable-pixmap=org.gnome.eog.desktop
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# evince for pdfs
 | 
					 | 
				
			||||||
application/pdf=org.gnome.Evince.desktop
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# vim for textual files
 | 
					 | 
				
			||||||
application/x-shellscript=vim.desktop
 | 
					 | 
				
			||||||
text/english=vim.desktop
 | 
					 | 
				
			||||||
text/plain=vim.desktop
 | 
					 | 
				
			||||||
text/x-makefile=vim.desktop
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Firefox for web/html
 | 
					 | 
				
			||||||
text/html=firefox.desktop
 | 
					 | 
				
			||||||
x-scheme-handler/about=firefox.desktop
 | 
					 | 
				
			||||||
x-scheme-handler/http=firefox.desktop
 | 
					 | 
				
			||||||
x-scheme-handler/https=firefox.desktop
 | 
					 | 
				
			||||||
x-scheme-handler/unknown=firefox.desktop
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Various desktop applications
 | 
					 | 
				
			||||||
inode/directory=nautilus.desktop
 | 
					 | 
				
			||||||
x-scheme-handler/magnet=deluge.desktop
 | 
					 | 
				
			||||||
x-scheme-handler/tg=telegramdesktop.desktop
 | 
					 | 
				
			||||||
@@ -1,41 +0,0 @@
 | 
				
			|||||||
[rc]
 | 
					 | 
				
			||||||
RCVersion=1
 | 
					 | 
				
			||||||
use_copy=true
 | 
					 | 
				
			||||||
use_primary=true
 | 
					 | 
				
			||||||
synchronize=true
 | 
					 | 
				
			||||||
save_history=true
 | 
					 | 
				
			||||||
history_pos=false
 | 
					 | 
				
			||||||
history_x=1
 | 
					 | 
				
			||||||
history_y=1
 | 
					 | 
				
			||||||
history_limit=25
 | 
					 | 
				
			||||||
data_size=0
 | 
					 | 
				
			||||||
item_size=5
 | 
					 | 
				
			||||||
automatic_paste=true
 | 
					 | 
				
			||||||
auto_key=false
 | 
					 | 
				
			||||||
auto_mouse=true
 | 
					 | 
				
			||||||
key_input=true
 | 
					 | 
				
			||||||
restore_empty=true
 | 
					 | 
				
			||||||
rc_edit=false
 | 
					 | 
				
			||||||
type_search=false
 | 
					 | 
				
			||||||
case_search=false
 | 
					 | 
				
			||||||
ignore_whiteonly=false
 | 
					 | 
				
			||||||
trim_wspace_begend=false
 | 
					 | 
				
			||||||
trim_newline=false
 | 
					 | 
				
			||||||
hyperlinks_only=false
 | 
					 | 
				
			||||||
confirm_clear=true
 | 
					 | 
				
			||||||
current_on_top=true
 | 
					 | 
				
			||||||
single_line=true
 | 
					 | 
				
			||||||
reverse_history=false
 | 
					 | 
				
			||||||
item_length=50
 | 
					 | 
				
			||||||
persistent_history=false
 | 
					 | 
				
			||||||
persistent_separate=false
 | 
					 | 
				
			||||||
persistent_on_top=false
 | 
					 | 
				
			||||||
persistent_delim=\\n
 | 
					 | 
				
			||||||
nonprint_disp=false
 | 
					 | 
				
			||||||
ellipsize=2
 | 
					 | 
				
			||||||
multi_user=false
 | 
					 | 
				
			||||||
icon_name=parcellite
 | 
					 | 
				
			||||||
menu_key=<Ctrl><Alt>P
 | 
					 | 
				
			||||||
history_key=<Ctrl><Alt>H
 | 
					 | 
				
			||||||
phistory_key=<Ctrl><Alt>X
 | 
					 | 
				
			||||||
actions_key=<Ctrl><Alt>A
 | 
					 | 
				
			||||||
							
								
								
									
										152
									
								
								picom/picom.conf
									
									
									
									
									
								
							
							
						
						
									
										152
									
								
								picom/picom.conf
									
									
									
									
									
								
							@@ -1,152 +0,0 @@
 | 
				
			|||||||
# Logging
 | 
					 | 
				
			||||||
log-level = "info";
 | 
					 | 
				
			||||||
#log-file = "/home/frebib/.local/share/picom.log";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Shadow
 | 
					 | 
				
			||||||
shadow = true;
 | 
					 | 
				
			||||||
shadow-radius = 30;
 | 
					 | 
				
			||||||
shadow-offset-x = -30;
 | 
					 | 
				
			||||||
shadow-offset-y = -24;
 | 
					 | 
				
			||||||
shadow-opacity = 0.4;
 | 
					 | 
				
			||||||
shadow-color = "#000000";
 | 
					 | 
				
			||||||
shadow-exclude = [
 | 
					 | 
				
			||||||
	"class_g = 'slop'",
 | 
					 | 
				
			||||||
	"class_g = 'Conky'",
 | 
					 | 
				
			||||||
	"class_g ?= 'Notify-osd'",
 | 
					 | 
				
			||||||
	"class_g = 'firefox' && argb && (window_type = 'utility' || window_type = 'popup_menu')",
 | 
					 | 
				
			||||||
	"name = 'Notification'",
 | 
					 | 
				
			||||||
	"name = 'cpt_frame_window'",
 | 
					 | 
				
			||||||
	"_GTK_FRAME_EXTENTS@:c"
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
# shadow-exclude = "n:e:Notification";
 | 
					 | 
				
			||||||
# shadow-exclude-reg = "x10+0+0";
 | 
					 | 
				
			||||||
# shadow-ignore-shaped = true;
 | 
					 | 
				
			||||||
xinerama-shadow-crop = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Opacity
 | 
					 | 
				
			||||||
frame-opacity = 1.0;
 | 
					 | 
				
			||||||
active-opacity = 1.0;
 | 
					 | 
				
			||||||
inactive-opacity = 0.5;
 | 
					 | 
				
			||||||
inactive-opacity-override = true;
 | 
					 | 
				
			||||||
# inactive-dim = 0.2;
 | 
					 | 
				
			||||||
# inactive-dim-fixed = true;
 | 
					 | 
				
			||||||
opacity-rule = [
 | 
					 | 
				
			||||||
	"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Blurring
 | 
					 | 
				
			||||||
blur:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	method = "dual_kawase";
 | 
					 | 
				
			||||||
	strength = 12;
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
blur-background-frame = true;
 | 
					 | 
				
			||||||
blur-background-fixed = true;
 | 
					 | 
				
			||||||
blur-background-exclude = [
 | 
					 | 
				
			||||||
	"class_g = 'Peek'",
 | 
					 | 
				
			||||||
	"class_g = 'Onboard'",
 | 
					 | 
				
			||||||
	"class_g = 'slop'",
 | 
					 | 
				
			||||||
	"class_g = 'Polybar'",
 | 
					 | 
				
			||||||
	"class_g = 'firefox' && argb && (window_type = 'utility' || window_type = 'popup_menu')",
 | 
					 | 
				
			||||||
	"window_type = 'dock'",
 | 
					 | 
				
			||||||
	"window_type = 'desktop'",
 | 
					 | 
				
			||||||
	"_GTK_FRAME_EXTENTS@:c",
 | 
					 | 
				
			||||||
	"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Corners
 | 
					 | 
				
			||||||
corner-radius = 9;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Fading
 | 
					 | 
				
			||||||
fading = true;
 | 
					 | 
				
			||||||
fade-delta = 10;
 | 
					 | 
				
			||||||
fade-in-step = 0.035;
 | 
					 | 
				
			||||||
fade-out-step = 0.06;
 | 
					 | 
				
			||||||
no-fading-openclose = false;
 | 
					 | 
				
			||||||
no-fading-destroyed-argb = false;
 | 
					 | 
				
			||||||
# fade-exclude = [ ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Focus
 | 
					 | 
				
			||||||
focus-exclude = [
 | 
					 | 
				
			||||||
	"i:ai:chromium",
 | 
					 | 
				
			||||||
	"class_g = 'firefox'",
 | 
					 | 
				
			||||||
	"class_g = 'zoom'",
 | 
					 | 
				
			||||||
	"class_g = 'guvcview'",
 | 
					 | 
				
			||||||
	"class_g = 'Entangle'",
 | 
					 | 
				
			||||||
	"class_g = 'obs'",
 | 
					 | 
				
			||||||
	"class_g = 'parsecd'",
 | 
					 | 
				
			||||||
	"class_g = 'discord'",
 | 
					 | 
				
			||||||
	"class_g = 'steam_app_271590'"
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
transition-length = 350;
 | 
					 | 
				
			||||||
transition-pow-x = 0.3;
 | 
					 | 
				
			||||||
transition-pow-y = 0.3;
 | 
					 | 
				
			||||||
size-transition = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Other
 | 
					 | 
				
			||||||
# https://github.com/yshui/picom/blob/next/picom.sample.conf#L203
 | 
					 | 
				
			||||||
backend = "glx";
 | 
					 | 
				
			||||||
vsync = true;
 | 
					 | 
				
			||||||
mark-wmwin-focused = true;
 | 
					 | 
				
			||||||
mark-ovredir-focused = true;
 | 
					 | 
				
			||||||
detect-rounded-corners = true;
 | 
					 | 
				
			||||||
detect-client-opacity = true;
 | 
					 | 
				
			||||||
use-ewmh-active-win = true;
 | 
					 | 
				
			||||||
# unredir-if-possible = true;
 | 
					 | 
				
			||||||
# unredir-if-possible-delay = 5000;
 | 
					 | 
				
			||||||
# unredir-if-possible-exclude = [ ];
 | 
					 | 
				
			||||||
detect-transient = true;
 | 
					 | 
				
			||||||
detect-client-leader = true;
 | 
					 | 
				
			||||||
invert-color-include = [ ];
 | 
					 | 
				
			||||||
resize-damage = 1;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# GLX backend
 | 
					 | 
				
			||||||
glx-no-stencil = true;
 | 
					 | 
				
			||||||
glx-no-rebind-pixmap = true;
 | 
					 | 
				
			||||||
# xrender-sync-fence = true;
 | 
					 | 
				
			||||||
# no-use-damage = false;
 | 
					 | 
				
			||||||
use-damage = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Window type settings
 | 
					 | 
				
			||||||
wintypes: {
 | 
					 | 
				
			||||||
	tooltip = {
 | 
					 | 
				
			||||||
		opacity = 0.75;
 | 
					 | 
				
			||||||
		full-shadow = false;
 | 
					 | 
				
			||||||
		blur-background = false;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	dock = {
 | 
					 | 
				
			||||||
		# Prevents polybar getting a forehead-shadow
 | 
					 | 
				
			||||||
		shadow = false;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	dnd = {
 | 
					 | 
				
			||||||
		# Prevents dragged text in a browser getting blur/shadow
 | 
					 | 
				
			||||||
		shadow = false;
 | 
					 | 
				
			||||||
		blur-background = false;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	popup_menu = {
 | 
					 | 
				
			||||||
		opacity = 0.8;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	dropdown_menu = {
 | 
					 | 
				
			||||||
		opacity = 0.8;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#animations = true;
 | 
					 | 
				
			||||||
#animation-clamping = false;
 | 
					 | 
				
			||||||
#animation-dampening = 1.0;
 | 
					 | 
				
			||||||
#animation-window-mass = 0.125;
 | 
					 | 
				
			||||||
#animation-unmap = "fade-out";
 | 
					 | 
				
			||||||
#animation-for-unmap-window = "zoom";
 | 
					 | 
				
			||||||
#animation-for-open-window = "auto";
 | 
					 | 
				
			||||||
#animation-workspace-in = "slide-left";
 | 
					 | 
				
			||||||
#animation-workspace-out = "slide-left";
 | 
					 | 
				
			||||||
#animation-for-workspace-switch-in = "auto";
 | 
					 | 
				
			||||||
#animation-for-workspace-switch-out = "auto";
 | 
					 | 
				
			||||||
#animation-for-transient-window = "zoom";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# vim: ft=conf noet
 | 
					 | 
				
			||||||
@@ -1,24 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/env python
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import atexit
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
import readline
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
xdg_cache_home = os.environ['XDG_CACHE_HOME']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if xdg_cache_home is None or xdg_cache_home == "":
 | 
					 | 
				
			||||||
    xdg_cache_home = os.path.join(os.path.expanduser("~"), ".cache")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
python_cache_dir = os.path.join(xdg_cache_home, "python")
 | 
					 | 
				
			||||||
if not os.path.isdir(python_cache_dir):
 | 
					 | 
				
			||||||
    os.mkdir(python_cache_dir)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
histfile = os.path.join(python_cache_dir, "history")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    readline.read_history_file(histfile)
 | 
					 | 
				
			||||||
    readline.set_history_length(10000)
 | 
					 | 
				
			||||||
except FileNotFoundError:
 | 
					 | 
				
			||||||
    pass
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
atexit.register(readline.write_history_file, histfile)
 | 
					 | 
				
			||||||
@@ -1,27 +0,0 @@
 | 
				
			|||||||
[Appearance]
 | 
					 | 
				
			||||||
color_scheme_path=/usr/share/qt5ct/colors/airy.conf
 | 
					 | 
				
			||||||
custom_palette=false
 | 
					 | 
				
			||||||
standard_dialogs=gtk2
 | 
					 | 
				
			||||||
style=gtk2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Fonts]
 | 
					 | 
				
			||||||
fixed=@Variant(\0\0\0@\0\0\0\x12\0M\0o\0n\0o\0s\0p\0\x61\0\x63\0\x65@\"\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
 | 
					 | 
				
			||||||
general=@Variant(\0\0\0@\0\0\0\x14\0S\0\x61\0n\0s\0 \0S\0\x65\0r\0i\0\x66@\"\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Interface]
 | 
					 | 
				
			||||||
activate_item_on_single_click=1
 | 
					 | 
				
			||||||
buttonbox_layout=3
 | 
					 | 
				
			||||||
cursor_flash_time=1000
 | 
					 | 
				
			||||||
dialog_buttons_have_icons=1
 | 
					 | 
				
			||||||
double_click_interval=400
 | 
					 | 
				
			||||||
gui_effects=@Invalid()
 | 
					 | 
				
			||||||
keyboard_scheme=2
 | 
					 | 
				
			||||||
menus_have_icons=true
 | 
					 | 
				
			||||||
show_shortcuts_in_context_menus=true
 | 
					 | 
				
			||||||
stylesheets=@Invalid()
 | 
					 | 
				
			||||||
toolbutton_style=4
 | 
					 | 
				
			||||||
underline_shortcut=1
 | 
					 | 
				
			||||||
wheel_scroll_lines=3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[SettingsWindow]
 | 
					 | 
				
			||||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\a\x98\0\0\x6\xfd\0\0\v5\0\0\b8\0\0\a\x98\0\0\x6\xfd\0\0\v5\0\0\b8\0\0\0\x1\0\0\0\0\a\x80\0\0\a\x98\0\0\x6\xfd\0\0\v5\0\0\b8)
 | 
					 | 
				
			||||||
							
								
								
									
										16
									
								
								scripts/3screens
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										16
									
								
								scripts/3screens
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TOP_LEFT="DP-0.1"
 | 
				
			||||||
 | 
					TOP_RIGHT="DP-0.2.1"
 | 
				
			||||||
 | 
					BOTTOM_LEFT="HDMI-0"
 | 
				
			||||||
 | 
					BOTTOM_RIGHT="DP-0.2.2.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       #--output $BOTTOM_LEFT --primary --mode 1920x1080 --pos 0x1080 --rotate normal \
 | 
				
			||||||
 | 
					xrandr \
 | 
				
			||||||
 | 
					       --output $BOTTOM_LEFT --off \
 | 
				
			||||||
 | 
					       --output $TOP_LEFT --mode 1920x1080 --pos 0x0 --rotate inverted \
 | 
				
			||||||
 | 
					       --output $TOP_RIGHT --mode 1920x1080 --pos 1920x0 --rotate inverted \
 | 
				
			||||||
 | 
					       --output $BOTTOM_RIGHT --mode 1920x1080 --pos 1920x1080 --rotate normal --primary
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ -e ~/.fehbg ] && ~/.fehbg
 | 
				
			||||||
@@ -10,3 +10,5 @@ xrandr --output $BOTTOM_LEFT --primary --mode 1920x1080 --pos 0x1080 --rotate no
 | 
				
			|||||||
       --output $TOP_LEFT --mode 1920x1080 --pos 0x0 --rotate inverted \
 | 
					       --output $TOP_LEFT --mode 1920x1080 --pos 0x0 --rotate inverted \
 | 
				
			||||||
       --output $TOP_RIGHT --mode 1920x1080 --pos 1920x0 --rotate inverted \
 | 
					       --output $TOP_RIGHT --mode 1920x1080 --pos 1920x0 --rotate inverted \
 | 
				
			||||||
       --output $BOTTOM_RIGHT --mode 1920x1080 --pos 1920x1080 --rotate normal
 | 
					       --output $BOTTOM_RIGHT --mode 1920x1080 --pos 1920x1080 --rotate normal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,3 +15,5 @@ MODENAME=${MODELINE%% *}
 | 
				
			|||||||
xrandr --newmode $MODELINE 2>/dev/null || true
 | 
					xrandr --newmode $MODELINE 2>/dev/null || true
 | 
				
			||||||
xrandr --addmode $OUTPUT $MODENAME 2>/dev/null || true
 | 
					xrandr --addmode $OUTPUT $MODENAME 2>/dev/null || true
 | 
				
			||||||
xrandr --output  $OUTPUT --mode $MODENAME
 | 
					xrandr --output  $OUTPUT --mode $MODENAME
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										80
									
								
								scripts/dpi
									
									
									
									
									
								
							
							
						
						
									
										80
									
								
								scripts/dpi
									
									
									
									
									
								
							@@ -1,69 +1,33 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/sh
 | 
				
			||||||
set -eu
 | 
					set -ex
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Based on https://github.com/vincentbernat/awesome-configuration/blob/master/bin/xsettingsd-setup
 | 
					# Based on https://github.com/vincentbernat/awesome-configuration/blob/master/bin/xsettingsd-setup
 | 
				
			||||||
CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
BLUR_STRENGTH=12
 | 
					dpi=$1
 | 
				
			||||||
CURSOR_SIZE=28
 | 
					 | 
				
			||||||
CORNER_RADIUS=9
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
xrdbget() {
 | 
					if [ -z "$1" ]; then
 | 
				
			||||||
    set -o pipefail
 | 
					    >&2 printf "Usage\n\t%s: <dpi>" "$(basename "$0")"
 | 
				
			||||||
    xrdb -query | grep -i -m1 "$1" | sed 's/^.*:\s//g' || echo "$2"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
xsetting_bool() {
 | 
					 | 
				
			||||||
    case "$1" in
 | 
					 | 
				
			||||||
        true) echo 1;;
 | 
					 | 
				
			||||||
        false) echo 0;;
 | 
					 | 
				
			||||||
        default) echo -1;;
 | 
					 | 
				
			||||||
        *) echo -1;;
 | 
					 | 
				
			||||||
    esac
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ -z "$1" ] || [ "$1" -gt 200 ] || [ "$1" -lt 96 ]; then
 | 
					 | 
				
			||||||
    >&2 printf "Usage\n\t%s: value\n\n  value\t Value must be within 96-200 inclusive\n" "$(basename "$0")"
 | 
					 | 
				
			||||||
    exit 1
 | 
					    exit 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dpi=$1
 | 
					CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/xsettingsd"
 | 
				
			||||||
scale=$(( dpi/96 ))
 | 
					mkdir -p "$CONF_DIR"
 | 
				
			||||||
cursor=$(( (dpi*CURSOR_SIZE)/96 ))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Update picom scale
 | 
					# Build xsettingsd.local
 | 
				
			||||||
sed -i -e "s/strength =.*$/strength = $(( (dpi*BLUR_STRENGTH)/96 ));/" \
 | 
					 | 
				
			||||||
    -e "s/corner-radius =.*$/corner-radius = $(( (dpi*CORNER_RADIUS)/96 ));/" \
 | 
					 | 
				
			||||||
    "$CONF_DIR/picom/picom.conf" &
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Build xsettingsd.conf
 | 
					 | 
				
			||||||
mkdir -p "$CONF_DIR/xsettingsd"
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    cat "$CONF_DIR/xsettingsd.local" 2>/dev/null || :
 | 
					    # echo Gdk/WindowScalingFactor $(echo "$dpi/96" | bc -l | xargs printf '%.f')
 | 
				
			||||||
    echo "Xcursor/size $cursor"
 | 
					    # echo Gdk/UnscaledDPI $(echo "($dpi*1024)/($dpi/96)" | bc -l | xargs printf '%.f')
 | 
				
			||||||
    echo "Gtk/CursorThemeSize $cursor"
 | 
					    cat $CONF_DIR/xsettingsd.conf 2>/dev/null || true
 | 
				
			||||||
    echo "Gtk/CursorThemeName \"$(xrdbget Xcursor.theme Adwaita)\""
 | 
					    echo Xft/DPI $(( $dpi*1024 ))
 | 
				
			||||||
    echo "Xft/HintStyle \"$(xrdbget Xft.hintstyle hintfull)\""
 | 
					    echo Gdk/WindowScalingFactor $(( $dpi/96 ))
 | 
				
			||||||
    echo "Xft/Hinting $(xsetting_bool "$(xrdbget Xft.hinting default)")"
 | 
					    echo Gdk/UnscaledDPI $(( $dpi*1024/($dpi/96) ))
 | 
				
			||||||
    echo "Xft/RGBA \"$(xrdbget Xft.rgba rgb)\""
 | 
					} > $CONF_DIR/xsettingsd.local
 | 
				
			||||||
    echo "Xft/DPI $(( dpi*1024 ))"
 | 
					 | 
				
			||||||
    echo "Gdk/WindowScalingFactor $scale"
 | 
					 | 
				
			||||||
    echo "Gdk/UnscaledDPI $(( dpi*1024/scale ))"
 | 
					 | 
				
			||||||
} > "$CONF_DIR/xsettingsd/xsettingsd.conf"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
xrdb -merge <<EOF &
 | 
					pid=$(xprop -name xsettingsd _NET_WM_PID 2> /dev/null | awk '{print $NF}')
 | 
				
			||||||
Xft.dpi: $dpi
 | 
					if [ -z "$pid" ]; then
 | 
				
			||||||
Xcursor.size: $cursor
 | 
					    xsettingsd -c $CONF_DIR/xsettingsd.local &
 | 
				
			||||||
EOF
 | 
					else
 | 
				
			||||||
xrandr --dpi "$dpi" &
 | 
					    kill -HUP $pid
 | 
				
			||||||
systemctl --user reload-or-restart xsettingsd &
 | 
					fi
 | 
				
			||||||
wait
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
systemctl --user reload \
 | 
					echo Xft.dpi: $dpi | xrdb -merge
 | 
				
			||||||
    i3 \
 | 
					 | 
				
			||||||
    polybar@i3bar &
 | 
					 | 
				
			||||||
systemctl --user restart \
 | 
					 | 
				
			||||||
    dunst &
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
wait
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +0,0 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PID="$(pidof GTA5.exe)"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
kill -s STOP $PID
 | 
					 | 
				
			||||||
sleep 30
 | 
					 | 
				
			||||||
kill -s CONT $PID
 | 
					 | 
				
			||||||
							
								
								
									
										42
									
								
								scripts/otp
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								scripts/otp
									
									
									
									
									
								
							@@ -1,42 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
while getopts "on:" o; do
 | 
					 | 
				
			||||||
    case "${o}" in
 | 
					 | 
				
			||||||
        o)
 | 
					 | 
				
			||||||
            stdout=1;;
 | 
					 | 
				
			||||||
        n)
 | 
					 | 
				
			||||||
            caller="${OPTARG}"
 | 
					 | 
				
			||||||
            ;;
 | 
					 | 
				
			||||||
        *)
 | 
					 | 
				
			||||||
            exec ykman oath accounts list
 | 
					 | 
				
			||||||
            ;;
 | 
					 | 
				
			||||||
    esac
 | 
					 | 
				
			||||||
done
 | 
					 | 
				
			||||||
shift $((OPTIND-1))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ $# -lt 1 ]; then
 | 
					 | 
				
			||||||
    exec ykman oath accounts list
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ -n "$caller" ]; then
 | 
					 | 
				
			||||||
    notif="$(notify-send -p "Touch your Yubikey" "$caller is requesting otp for $1")"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ykman oath accounts code -s "$1" 2>&1 |
 | 
					 | 
				
			||||||
    while read -r x; do
 | 
					 | 
				
			||||||
        if grep -Pqw '[0-9]{6}' <<< "$x"; then
 | 
					 | 
				
			||||||
            if [ -z "$stdout" ]; then
 | 
					 | 
				
			||||||
                echo "$x" | tee >(xclip -i)
 | 
					 | 
				
			||||||
                xdotool type "$x"
 | 
					 | 
				
			||||||
            else
 | 
					 | 
				
			||||||
                echo "$x"
 | 
					 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
        if [ -z "$stdout" ]; then
 | 
					 | 
				
			||||||
            notify-send "$x";
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ -n "$notif" ]; then
 | 
					 | 
				
			||||||
    notify-send -r "$notif" -t 1000 "Touch your Yubikey" "otp generated for $caller"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
							
								
								
									
										120
									
								
								scripts/rofi-emoji
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										120
									
								
								scripts/rofi-emoji
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,120 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#   Use rofi to pick emoji because that's what this
 | 
				
			||||||
 | 
					#   century is about apparently...
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#   Requirements:
 | 
				
			||||||
 | 
					#     rofi, xclip, xdotool, curl, xmllint
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#   Usage:
 | 
				
			||||||
 | 
					#     1. Download all emoji
 | 
				
			||||||
 | 
					#        $ rofi-emoji --download
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#     2. Run it!
 | 
				
			||||||
 | 
					#        $ rofi-emoji
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#   Notes:
 | 
				
			||||||
 | 
					#     * You'll need a emoji font like "Noto Emoji" or "EmojiOne".
 | 
				
			||||||
 | 
					#     * Confirming an item will automatically paste it WITHOUT
 | 
				
			||||||
 | 
					#       writing it to your clipboard.
 | 
				
			||||||
 | 
					#     * Ctrl+C will copy it to your clipboard WITHOUT pasting it.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Where to save the emojis file.
 | 
				
			||||||
 | 
					EMOJI_FILE="${XDG_CACHE_DIR:-$HOME/.cache}/emojis.txt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Urls of emoji to download.
 | 
				
			||||||
 | 
					URLS=(
 | 
				
			||||||
 | 
					    'https://emojipedia.org/people/'
 | 
				
			||||||
 | 
					    'https://emojipedia.org/nature/'
 | 
				
			||||||
 | 
					    'https://emojipedia.org/food-drink/'
 | 
				
			||||||
 | 
					    'https://emojipedia.org/activity/'
 | 
				
			||||||
 | 
					    'https://emojipedia.org/travel-places/'
 | 
				
			||||||
 | 
					    'https://emojipedia.org/objects/'
 | 
				
			||||||
 | 
					    'https://emojipedia.org/symbols/'
 | 
				
			||||||
 | 
					    'https://emojipedia.org/flags/'
 | 
				
			||||||
 | 
					    'https://emojipedia.org/modifiers/'
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function download() {
 | 
				
			||||||
 | 
					    notify "$(basename "$0")" 'Downloading all emoji for your pleasure'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo -n > "$EMOJI_FILE"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for url in "${URLS[@]}"; do
 | 
				
			||||||
 | 
					        echo "Downloading: $url"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Download the list of emoji and remove all the junk around it
 | 
				
			||||||
 | 
					        emojis=$(curl -s "$url" | \
 | 
				
			||||||
 | 
					                 xmllint --html \
 | 
				
			||||||
 | 
					                         --xpath '//ul[@class="emoji-list"]' - 2>/dev/null)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Get rid of starting/closing ul tags
 | 
				
			||||||
 | 
					        emojis=$(echo "$emojis" | head -n -1 | tail -n +1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Extract the emoji and its description
 | 
				
			||||||
 | 
					        emojis=$(echo "$emojis" | \
 | 
				
			||||||
 | 
					                 sed -rn 's/.*<span class="emoji">(.*)<\/span> (.*)<\/a><\/li>/\1 \2/p')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        echo "$emojis" >> "$EMOJI_FILE"
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    notify "$(basename "$0")" "We're all set!"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function toclip() {
 | 
				
			||||||
 | 
					    xclip -i -selection primary
 | 
				
			||||||
 | 
					    xclip -o -selection primary | xclip -i -selection clipboard
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function repeat() {
 | 
				
			||||||
 | 
					    local rplc str="$1" count="$2"
 | 
				
			||||||
 | 
					    rplc="$(printf "%${count}s")"
 | 
				
			||||||
 | 
					    echo "${rplc// /"$str"}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function notify() {
 | 
				
			||||||
 | 
					   if which notify-send 1>/dev/null 2>/dev/null; then
 | 
				
			||||||
 | 
					        notify-send "$1" "$2"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function display() {
 | 
				
			||||||
 | 
					    emoji=$(cat "$EMOJI_FILE" | grep -v '#' | grep -v '^[[:space:]]*$')
 | 
				
			||||||
 | 
					    update="⏫ Update emoji cache"
 | 
				
			||||||
 | 
					    emoji=$(printf "$emoji\n$update")
 | 
				
			||||||
 | 
					    line=$(echo "$emoji" | rofi -dmenu -i -p emoji -normal-window -kb-custom-1 Ctrl+c -kb-row-tab '' -kb-row-select Tab $@)
 | 
				
			||||||
 | 
					    exit_code=$?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [ "${line[@]}" == "$update" ]; then
 | 
				
			||||||
 | 
					        download
 | 
				
			||||||
 | 
					        display
 | 
				
			||||||
 | 
					        return
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    line=($line)
 | 
				
			||||||
 | 
					    last=${line[${#line[@]}-1]}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    quantifier="${last:${#last}-1:1}"
 | 
				
			||||||
 | 
					    echo "$quantifier" | egrep -q '^[0-9]+$' || quantifier=1
 | 
				
			||||||
 | 
					    emojis="$(repeat "${line[0]}" "$quantifier")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [ $exit_code == 0 ]; then
 | 
				
			||||||
 | 
					        xdotool type --clearmodifiers "$emojis"
 | 
				
			||||||
 | 
					        echo -n "$emojis" | xclip -i
 | 
				
			||||||
 | 
					    elif [ $exit_code == 10 ]; then
 | 
				
			||||||
 | 
					        echo -n "$emojis" | xclip -i
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ "$1" =~ -D|--download ]]; then
 | 
				
			||||||
 | 
					    download
 | 
				
			||||||
 | 
					    exit 0
 | 
				
			||||||
 | 
					elif [[ "$1" =~ -h|--help ]]; then
 | 
				
			||||||
 | 
					    echo "usage: $0 [-D|--download]"
 | 
				
			||||||
 | 
					    exit 0
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					display
 | 
				
			||||||
@@ -59,7 +59,7 @@ function notify() {
 | 
				
			|||||||
function display() {
 | 
					function display() {
 | 
				
			||||||
    update=$'\tUpdate Font Awesome cache'
 | 
					    update=$'\tUpdate Font Awesome cache'
 | 
				
			||||||
    fontawesome=$(grep -v '#\|^[[:space:]]*$' "$FONTAWESOME_FILE"; printf "$update\n")
 | 
					    fontawesome=$(grep -v '#\|^[[:space:]]*$' "$FONTAWESOME_FILE"; printf "$update\n")
 | 
				
			||||||
    line=$(echo "$fontawesome" | rofi -dmenu -i -p fontawesome -normal-window -kb-custom-1 Ctrl+c -kb-row-tab '' $@)
 | 
					    line=$(echo "$fontawesome" | rofi -dmenu -i -p fontawesome -normal-window -kb-custom-1 Ctrl+c -kb-row-tab '' -kb-row-select Tab $@)
 | 
				
			||||||
    exit_code=$?
 | 
					    exit_code=$?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [ "${line[@]}" == "$update" ]; then
 | 
					    if [ "${line[@]}" == "$update" ]; then
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,10 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/sh
 | 
				
			||||||
set -e
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NOTIFY_APPNAME="$(basename "$0")"
 | 
					NOTIFY_APPNAME="$(basename "$0")"
 | 
				
			||||||
NOTIFY_ICONPATH="/usr/share/icons/Xenlism-Wildfire/Apps/screenshot.svg"
 | 
					NOTIFY_ICONPATH="/usr/share/icons/Xenlism-Wildfire/Apps/screenshot.svg"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SCROT_CMD="maim -m 10 -us %"
 | 
				
			||||||
FILENAME="$(date '+%s%N' | sha256sum | head -c7).png"
 | 
					FILENAME="$(date '+%s%N' | sha256sum | head -c7).png"
 | 
				
			||||||
DIRECTORY="$HOME/pictures/screenshots"
 | 
					DIRECTORY="$HOME/pictures/screenshots"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -13,29 +14,6 @@ URL_PATH=https://frebib.net/s
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
					# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
params=$(getopt -o ac -l active,clip -n screenshot -- "$@")
 | 
					 | 
				
			||||||
eval set -- "$params"
 | 
					 | 
				
			||||||
unset params
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
while true; do
 | 
					 | 
				
			||||||
    case "$1" in
 | 
					 | 
				
			||||||
        '-a'|'--active')
 | 
					 | 
				
			||||||
            active=1
 | 
					 | 
				
			||||||
            shift
 | 
					 | 
				
			||||||
            continue;;
 | 
					 | 
				
			||||||
        '-c'|'--clip')
 | 
					 | 
				
			||||||
            clip=1
 | 
					 | 
				
			||||||
            shift
 | 
					 | 
				
			||||||
            continue;;
 | 
					 | 
				
			||||||
		'--')
 | 
					 | 
				
			||||||
			shift
 | 
					 | 
				
			||||||
			break;;
 | 
					 | 
				
			||||||
		*)
 | 
					 | 
				
			||||||
			echo 'getopt error' >&2
 | 
					 | 
				
			||||||
			exit 1;;
 | 
					 | 
				
			||||||
	esac
 | 
					 | 
				
			||||||
done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
send_notification() {
 | 
					send_notification() {
 | 
				
			||||||
    title="$1"
 | 
					    title="$1"
 | 
				
			||||||
    body="$2"
 | 
					    body="$2"
 | 
				
			||||||
@@ -51,47 +29,18 @@ send_notification() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Make the screenshot directory
 | 
					# Make the screenshot directory
 | 
				
			||||||
mkdir -p "$DIRECTORY"
 | 
					mkdir -p "$DIRECTORY"
 | 
				
			||||||
out_path="$DIRECTORY/$FILENAME"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ "$active" = '1' ]; then
 | 
					 | 
				
			||||||
    args+=(-i "$(xdotool getactivewindow)")
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
    # Take screenshot geometry
 | 
					 | 
				
			||||||
    read -r winid geom < <(slop -f "%i %g") || :
 | 
					 | 
				
			||||||
    if [ -z "$geom" -o -z "$winid" ]; then
 | 
					 | 
				
			||||||
        send_notification "Screenshot error" "Failed to capture screenshot area" > /dev/null
 | 
					 | 
				
			||||||
        exit 1
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    args=(-g "$geom")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # If selection is the root window
 | 
					 | 
				
			||||||
    if xwininfo -id "$winid" | grep -qw root; then
 | 
					 | 
				
			||||||
        isroot=1
 | 
					 | 
				
			||||||
        args+=(-i "$winid")
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Take the screenshot and save it
 | 
					# Take the screenshot and save it
 | 
				
			||||||
if ! error=$(maim -m 10 -u -f png ${args[@]} "$out_path" 2>&1); then
 | 
					out_path="$DIRECTORY/$FILENAME"
 | 
				
			||||||
 | 
					if ! error=$(eval ${SCROT_CMD//\%/$out_path} 2>&1); then
 | 
				
			||||||
    send_notification "Screenshot error" "Failed to take a screenshot:<br><br>$error" >/dev/null
 | 
					    send_notification "Screenshot error" "Failed to take a screenshot:<br><br>$error" >/dev/null
 | 
				
			||||||
    exit 1
 | 
					    exit 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# If the screenshot is a complete window, add a shadow
 | 
					notif_id=$(send_notification "Screenshot uploading" "$FILENAME<br><br>The image is available in the clipboard immediately" || true)
 | 
				
			||||||
if [ "$isroot" != "1" ]; then
 | 
					 | 
				
			||||||
    # but don't worry if it fails
 | 
					 | 
				
			||||||
    convert "$out_path" \( +clone -background black -alpha set -channel Alpha -evaluate set 60% -shadow 100x16+0+0 \) +swap -background none -layers merge +repage "$out_path" || :
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ "$clip" = '1' ]; then
 | 
					# Add image to clipboard
 | 
				
			||||||
    # Add image to clipboard
 | 
					xclip -i "$out_path" -selection clipboard -t image/png
 | 
				
			||||||
    xclip -i "$out_path" -selection clipboard -t image/png
 | 
					 | 
				
			||||||
    send_notification "Screenshot captured" "$FILENAME<br><br>The image is available in the clipboard" >/dev/null
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    exit 0
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
notif_id=$(send_notification "Screenshot uploading" "$FILENAME" || true)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 'Upload' the screenshot
 | 
					# 'Upload' the screenshot
 | 
				
			||||||
if ! error=$(scp -C $out_path $SCP_HOST:$SCP_PATH 2>&1); then
 | 
					if ! error=$(scp -C $out_path $SCP_HOST:$SCP_PATH 2>&1); then
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,27 +0,0 @@
 | 
				
			|||||||
#!/bin/bash -e
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
slice=app
 | 
					 | 
				
			||||||
rand=$(tr -dc 'a-f0-9' < /dev/urandom | head -c 8)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
args=()
 | 
					 | 
				
			||||||
while getopts "s:e:d:cnw" opt
 | 
					 | 
				
			||||||
do case "$opt" in
 | 
					 | 
				
			||||||
    s) slice="$OPTARG";;
 | 
					 | 
				
			||||||
    e) args+=("--setenv=$OPTARG");;
 | 
					 | 
				
			||||||
    d) args+=("--working-directory=$OPTARG");;
 | 
					 | 
				
			||||||
    c) args+=("--scope");;
 | 
					 | 
				
			||||||
    n) args+=("--no-block");;
 | 
					 | 
				
			||||||
    w) args+=("--wait");;
 | 
					 | 
				
			||||||
    *) shift;;
 | 
					 | 
				
			||||||
    esac
 | 
					 | 
				
			||||||
done
 | 
					 | 
				
			||||||
shift $((OPTIND-1))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
exec systemd-run \
 | 
					 | 
				
			||||||
    --user \
 | 
					 | 
				
			||||||
    --collect \
 | 
					 | 
				
			||||||
    --slice="$slice" \
 | 
					 | 
				
			||||||
    --unit="$slice-$1-$rand" \
 | 
					 | 
				
			||||||
    --property=BindsTo=graphical-session.target \
 | 
					 | 
				
			||||||
    --property=ExitType=cgroup \
 | 
					 | 
				
			||||||
    "${args[@]}" -- "$@"
 | 
					 | 
				
			||||||
							
								
								
									
										13
									
								
								ssh/askpass
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								ssh/askpass
									
									
									
									
									
								
							@@ -1,13 +0,0 @@
 | 
				
			|||||||
#!/bin/sh -e
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ -z "$SSH_HOST" ]; then
 | 
					 | 
				
			||||||
    >&2 echo 'Missing SSH_HOST variable'
 | 
					 | 
				
			||||||
    exit 1
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
case "$SSH_HOST" in
 | 
					 | 
				
			||||||
    *)
 | 
					 | 
				
			||||||
        echo 'Unknown SSH host'
 | 
					 | 
				
			||||||
        exit 1
 | 
					 | 
				
			||||||
        ;;
 | 
					 | 
				
			||||||
esac
 | 
					 | 
				
			||||||
@@ -1,13 +0,0 @@
 | 
				
			|||||||
[Unit]
 | 
					 | 
				
			||||||
Description=Bluetooth Applet
 | 
					 | 
				
			||||||
After=graphical-session.target
 | 
					 | 
				
			||||||
Requires=graphical-session.target
 | 
					 | 
				
			||||||
ConditionPathExists=/sys/class/bluetooth
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Service]
 | 
					 | 
				
			||||||
ExecStart=/usr/bin/blueman-applet
 | 
					 | 
				
			||||||
Restart=on-failure
 | 
					 | 
				
			||||||
Slice=background.slice
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Install]
 | 
					 | 
				
			||||||
WantedBy=desktop.target
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/usr/lib/systemd/user/basic.target
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/usr/lib/systemd/user/pipewire.service
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/usr/lib/systemd/user/xdg-user-dirs-update.service
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/home/frebib/.config/systemd/user/blueman-applet.service
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/usr/lib/systemd/user/dunst.service
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/home/frebib/.config/systemd/user/networkmanager-applet.service
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/home/frebib/.config/systemd/user/nextcloud.service
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/home/frebib/.config/systemd/user/picom.service
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/home/frebib/.config/systemd/user/polybar@.service
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/home/frebib/.config/systemd/user/solaar.service
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/home/frebib/.config/systemd/user/wallpaper.service
 | 
					 | 
				
			||||||
@@ -1,5 +0,0 @@
 | 
				
			|||||||
[Service]
 | 
					 | 
				
			||||||
Slice=session.slice
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Install]
 | 
					 | 
				
			||||||
WantedBy=graphical-session.target
 | 
					 | 
				
			||||||
@@ -1,16 +0,0 @@
 | 
				
			|||||||
[Unit]
 | 
					 | 
				
			||||||
Description=GPhoto2 capture with ffmpeg encoding
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Service]
 | 
					 | 
				
			||||||
Type=simple
 | 
					 | 
				
			||||||
ExecStartPre=gphoto2 --abilities
 | 
					 | 
				
			||||||
ExecStart=/bin/sh -c 'exec gphoto2 --set-config /main/capturesettings/continuousaf=1 --set-config /main/capturesettings/focusmode="AI Servo" --set-config /main/imgsettings/whitesbalance=Tungsten --capture-movie --stdout --set-config viewfinder=0 | ffmpeg -i - -f rawvideo -vf "crop=iw:iw*9/16" -pix_fmt yuv420p -threads 0 -s:v 1280x720 -r 25 -f v4l2 /dev/video%i'
 | 
					 | 
				
			||||||
ExecStop=/bin/kill $MAINPID
 | 
					 | 
				
			||||||
ExecStop=-/usr/bin/gphoto2 --set-config viewfinder=0
 | 
					 | 
				
			||||||
Restart=always
 | 
					 | 
				
			||||||
RestartSec=5
 | 
					 | 
				
			||||||
SyslogIdentifier=gphoto-ffmpeg
 | 
					 | 
				
			||||||
Slice=app.slice
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Install]
 | 
					 | 
				
			||||||
WantedBy=default.target
 | 
					 | 
				
			||||||
@@ -1,15 +0,0 @@
 | 
				
			|||||||
#  SPDX-License-Identifier: LGPL-2.1-or-later
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
#  This file is part of systemd.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
#  systemd is free software; you can redistribute it and/or modify it
 | 
					 | 
				
			||||||
#  under the terms of the GNU Lesser General Public License as published by
 | 
					 | 
				
			||||||
#  the Free Software Foundation; either version 2.1 of the License, or
 | 
					 | 
				
			||||||
#  (at your option) any later version.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Unit]
 | 
					 | 
				
			||||||
Description=Current graphical user session
 | 
					 | 
				
			||||||
Documentation=man:systemd.special(7)
 | 
					 | 
				
			||||||
Requires=basic.target xorg.target
 | 
					 | 
				
			||||||
RefuseManualStart=yes
 | 
					 | 
				
			||||||
StopWhenUnneeded=yes
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/usr/lib/systemd/user/dunst.service
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/home/frebib/.config/systemd/user/i3.service
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
/home/frebib/.config/systemd/user/parcellite.service
 | 
					 | 
				
			||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user