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'
|
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
Loading…
Reference in New Issue
Block a user