mirror of
https://github.com/frebib/dotfiles.git
synced 2024-06-14 12:57:23 +00:00
Compare commits
40 Commits
ce595c81b6
...
surface
Author | SHA1 | Date | |
---|---|---|---|
7ec8be00be
|
|||
732a366b30
|
|||
d8b36c48bb
|
|||
677fce1907
|
|||
83b006c9d5
|
|||
015fffbbd4
|
|||
22fa8c810f
|
|||
ae67b62ebe
|
|||
ea51f79785
|
|||
f03b3ee8df
|
|||
f17927e0ee
|
|||
fd63032392
|
|||
9ee742294d
|
|||
e7baaf0a80 | |||
5d90dda3f5
|
|||
82ad05ca0a
|
|||
d52ece0b12
|
|||
52cb279f3b
|
|||
618b78e62e
|
|||
20e01667f9
|
|||
e3b276aecf
|
|||
3dfed805f9
|
|||
61ab086664
|
|||
7bbd52d4d8
|
|||
b0267c548a
|
|||
46c01329cf
|
|||
9433c26d62
|
|||
c1480498c1
|
|||
809104c10f
|
|||
45192635af
|
|||
8b95f13919
|
|||
e15c8d4ed7
|
|||
f942d3ee31
|
|||
5084da39a5
|
|||
12f5f2bdc9
|
|||
0921b3c91c
|
|||
e31edd3980
|
|||
9d9035a8ad
|
|||
4246ccac86
|
|||
24161b8a4a
|
3
.config/Element/.gitignore
vendored
3
.config/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": false,
|
||||
"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"
|
||||
}
|
||||
}
|
@ -1,23 +1,28 @@
|
||||
#!/bin/sh -u
|
||||
#!/bin/sh
|
||||
|
||||
# Graphical-specific environment variables
|
||||
export TERMINAL="alacritty"
|
||||
export BROWSER="firefox"
|
||||
|
||||
export TERMINAL="termite"
|
||||
export BROWSER="chromium"
|
||||
export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"
|
||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/settings.ini"
|
||||
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||
# 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
|
||||
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)
|
||||
xrandr --output eDP1 --primary
|
||||
|
||||
setxkbmap -option caps:none
|
||||
xset r rate 200 18
|
||||
|
||||
test -f "$XDG_CONFIG_HOME"/X11/xmodmap && \
|
||||
xmodmap "$XDG_CONFIG_HOME"/X11/xmodmap
|
||||
|
||||
# Merge system clipboards
|
||||
if [ -n "$DISPLAY" ] && exists autocutsel && ! pidof autocutsel 1>/dev/null; then
|
||||
autocutsel -fork
|
||||
autocutsel -selection PRIMARY -fork
|
||||
fi
|
||||
|
||||
~/.local/share/surface-scripts/pend &
|
||||
~/.local/share/surface-scripts/rotationd &
|
||||
|
@ -29,7 +29,7 @@
|
||||
*.color15: #eceff1
|
||||
|
||||
|
||||
Xft.dpi: 96
|
||||
Xft.dpi: 140
|
||||
Xft.antialias: true
|
||||
Xft.rgba: rgb
|
||||
Xft.hinting: true
|
||||
@ -59,17 +59,17 @@ 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.font: xft:Source Code Pro:style=regular:size=9.8
|
||||
urxvt.imFont: xft:Source Code Pro:style=regular:size=9.8
|
||||
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.italicFont: xft:Source Code Pro:style=italic:size=9.8
|
||||
urxvt.boldItalicFont: xft:Source Code Pro:style=bold,italic:size=9.8
|
||||
|
||||
|
||||
urxvt.iso14755: false
|
||||
urxvt.iso14755_52: false
|
||||
urxvt.perl-ext-common: default,vtwheel,font-size
|
||||
urxvt.url-launcher: /usr/bin/firefox
|
||||
urxvt.url-launcher: /usr/bin/chromium
|
||||
urxvt.matcher.button: 1
|
||||
|
||||
urxvt.keysym.C-Up: font-size:increase
|
||||
|
@ -1,5 +1,6 @@
|
||||
# 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.
|
||||
@ -8,8 +9,9 @@ env:
|
||||
#
|
||||
# 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.
|
||||
# check the local terminfo database and use 'alacritty' if it is
|
||||
# available, otherwise 'xterm-256color' is used.
|
||||
#
|
||||
TERM: xterm-256color
|
||||
|
||||
window:
|
||||
@ -18,246 +20,163 @@ window:
|
||||
# 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
|
||||
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
|
||||
x: 15
|
||||
y: 15
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
history: 10000
|
||||
|
||||
# Number of lines the viewport will move for every line scrolled when
|
||||
# scrollback is enabled (history > 0).
|
||||
multiplier: 3
|
||||
|
||||
# Font configuration
|
||||
# Faux Scrolling
|
||||
#
|
||||
# The `faux_multiplier` setting controls the number of lines the terminal
|
||||
# should scroll when the alternate screen buffer is active. This is used
|
||||
# to allow mouse scrolling for applications like `man`.
|
||||
#
|
||||
# Specifying `0` will disable faux scrolling.
|
||||
faux_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: 8
|
||||
|
||||
# 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:
|
||||
# Font family
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) Menlo
|
||||
# - (Linux/BSD) monospace
|
||||
# - (Windows) Consolas
|
||||
#family: monospace
|
||||
|
||||
normal:
|
||||
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
|
||||
|
||||
bold:
|
||||
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
|
||||
|
||||
italic:
|
||||
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
|
||||
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
|
||||
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
|
||||
# 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 (Tomorrow Night Bright)
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
foreground: '#eceff1'
|
||||
background: '#383c4a'
|
||||
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: '#9a9a9a'
|
||||
#bright_foreground: '#ffffff'
|
||||
#
|
||||
#dim_foreground: '0x9a9a9a'
|
||||
#bright_foreground: '0xffffff'
|
||||
|
||||
# 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.
|
||||
# These will only be used when the `custom_cursor_colors` field is set to `true`.
|
||||
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'
|
||||
text: '0xeceff1'
|
||||
cursor: '0x5294e2'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#333638'
|
||||
red: '#f41f1c'
|
||||
green: '#8bc34a'
|
||||
yellow: '#ffc107'
|
||||
blue: '#0266f4'
|
||||
magenta: '#cc17cc'
|
||||
cyan: '#10aeba'
|
||||
white: '#8b9396'
|
||||
black: '0x333638'
|
||||
red: '0xf41f1c'
|
||||
green: '0x8bc34a'
|
||||
yellow: '0xffc107'
|
||||
blue: '0x0266f4'
|
||||
magenta: '0xcc17cc'
|
||||
cyan: '0x10aeba'
|
||||
white: '0x8b9396'
|
||||
|
||||
# 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'
|
||||
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.
|
||||
#
|
||||
# Example:
|
||||
# `- { index: 16, color: '#ff00ff' }`
|
||||
#
|
||||
#indexed_colors: []
|
||||
#indexed_colors:
|
||||
# - { index: 16, color: '0x000000' }
|
||||
|
||||
# Visual Bell
|
||||
#
|
||||
@ -280,40 +199,78 @@ colors:
|
||||
# - Linear
|
||||
#
|
||||
# Specifying a `duration` of `0` will disable the visual bell.
|
||||
#visual_bell:
|
||||
# animation: EaseOutExpo
|
||||
# duration: 0
|
||||
# color: '#ffffff'
|
||||
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.80
|
||||
background_opacity: 0.95
|
||||
|
||||
# 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: ",│`|:\"' ()[]{}<>\t"
|
||||
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
|
||||
|
||||
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||
save_to_clipboard: true
|
||||
# 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`:
|
||||
# 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
|
||||
@ -326,322 +283,185 @@ live_config_reload: true
|
||||
# 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
|
||||
|
||||
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.
|
||||
#
|
||||
# When set to `None`, URL launching will be disabled completely.
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) open
|
||||
# - (Linux/BSD) xdg-open
|
||||
# - (Windows) explorer
|
||||
launcher:
|
||||
program: xdg-open
|
||||
args: []
|
||||
|
||||
# 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: None
|
||||
|
||||
# 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 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`).
|
||||
#
|
||||
# `- { key: V, mods: Control|Shift, action: Paste }`
|
||||
# Example:
|
||||
# `- { key: V, mods: Command, action: Paste }`
|
||||
#
|
||||
# Each key binding will specify a:
|
||||
# Available fields:
|
||||
# - key
|
||||
# - mods (optional)
|
||||
# - chars | action | command (exactly one required)
|
||||
# - mode (optional)
|
||||
#
|
||||
# - `key`: Identifier of the key pressed
|
||||
#
|
||||
# - A-Z
|
||||
# - F1-F24
|
||||
# - Key0-Key9
|
||||
# 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/event/enum.VirtualKeyCode.html#variants
|
||||
# https://docs.rs/glutin/*/glutin/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:
|
||||
# Values for `mods`:
|
||||
# - Command
|
||||
# - Control
|
||||
# - Shift
|
||||
# - Alt
|
||||
#
|
||||
# `showkey --scancodes`.
|
||||
#
|
||||
# Then exactly one of:
|
||||
#
|
||||
# - `chars`: Send a byte sequence to the running application
|
||||
# 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.
|
||||
# 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
|
||||
# Values for `action`:
|
||||
# - Paste
|
||||
# - PasteSelection
|
||||
# - Copy
|
||||
# - 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
|
||||
# Values for `command`:
|
||||
# The `command` field must be a map containing a `program` string and
|
||||
# an `args` array of command line parameter strings.
|
||||
#
|
||||
# (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.
|
||||
# Example:
|
||||
# `command: { program: "alacritty", args: ["-e", "vttest"] }`
|
||||
#
|
||||
# Values for `mode`:
|
||||
# - ~AppCursor
|
||||
# - AppCursor
|
||||
# - ~AppKeypad
|
||||
# - 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: 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: Key0, mods: Control, action: ResetFontSize }
|
||||
- { key: Equals, mods: Control, action: ResetFontSize }
|
||||
- { key: Add, mods: Control|Shift, action: IncreaseFontSize }
|
||||
- { key: Subtract, mods: Control|Shift, action: DecreaseFontSize }
|
||||
- { key: Minus, mods: Control|Shift, action: DecreaseFontSize }
|
||||
|
||||
# (Windows only)
|
||||
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
||||
|
||||
# (macOS only)
|
||||
#- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" }
|
||||
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Add, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||
#- { key: K, mods: Command, action: ClearHistory }
|
||||
#- { key: V, mods: Command, action: Paste }
|
||||
#- { key: C, mods: Command, action: Copy }
|
||||
#- { key: H, mods: Command, action: Hide }
|
||||
#- { key: M, mods: Command, action: Minimize }
|
||||
#- { key: Q, mods: Command, action: Quit }
|
||||
#- { key: W, mods: Command, action: Quit }
|
||||
#- { key: N, mods: Command, action: SpawnNewInstance }
|
||||
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||
|
||||
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: Info
|
||||
|
||||
# Print all received window events.
|
||||
#print_events: false
|
||||
- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||
- { key: Subtract, mods: Control, 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~" }
|
||||
|
1
.config/chrome-flags.conf
Normal file
1
.config/chrome-flags.conf
Normal file
@ -0,0 +1 @@
|
||||
--force-device-scale-factor=1.2
|
@ -1 +0,0 @@
|
||||
--enable-features=NativeNotifications,OverlayScrollbar
|
91
.config/compton.conf
Normal file
91
.config/compton.conf
Normal file
@ -0,0 +1,91 @@
|
||||
# Shadow
|
||||
shadow = true; # Enabled client-side shadows on windows.
|
||||
no-dock-shadow = true; # Avoid drawing shadows on dock/panel windows.
|
||||
no-dnd-shadow = false; # Don't draw shadows on DND windows.
|
||||
clear-shadow = true; # Zero the part of the shadow's mask behind the
|
||||
# window. Fix some weirdness with ARGB windows.
|
||||
shadow-radius = 12; # The blur radius for shadows. (default 12)
|
||||
shadow-offset-x = -16; # The left offset for shadows. (default -15)
|
||||
shadow-offset-y = -16; # The top offset for shadows. (default -15)
|
||||
shadow-opacity = 0.65; # The translucency for shadows. (default .75)
|
||||
# shadow-red = 0.0; # Red color value of shadow. (0.0 - 1.0, defaults to 0)
|
||||
# shadow-green = 0.0; # Green color value of shadow. (0.0 - 1.0, defaults to 0)
|
||||
# shadow-blue = 0.0; # Blue color value of shadow. (0.0 - 1.0, defaults to 0)
|
||||
shadow-exclude = [ "class_g = 'slop'" ]; # Exclude conditions for shadows.
|
||||
shadow-ignore-shaped = false; # Avoid drawing shadow on all shaped windows
|
||||
# (see also: --detect-rounded-corners)
|
||||
|
||||
# Opacity
|
||||
menu-opacity = 0.9; # The opacity for menus. (default 1.0)
|
||||
inactive-opacity = 0.7; # Default opacity of inactive windows. (0.0 - 1.0)
|
||||
active-opacity = 1.0; # Default opacity for active windows. (0.0 - 1.0)
|
||||
frame-opacity = 1.0; # Opacity of window titlebars and borders. (0.1 - 1.0)
|
||||
inactive-opacity-override = true; # Let inactive opacity set by 'inactive-opacity' overrides
|
||||
# value of _NET_WM_OPACITY. Bad choice.
|
||||
opacity-rule = [
|
||||
"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||
];
|
||||
alpha-step = 0.02; # XRender backend: Step size for alpha pictures. Increasing
|
||||
# it may result in less X resource usage,
|
||||
# Yet f ading may look bad.
|
||||
|
||||
# Blurring
|
||||
blur-method = "dual_kawase";
|
||||
blur-strength = 6;
|
||||
blur-background = true; # Blur background of transparent windows.
|
||||
blur-background-exclude = [ "class_g = 'Peek'", "class_g = 'Onboard'", "class_g = 'slop'", "class_g = 'Polybar'" ];
|
||||
blur-background-frame = true; # Blur background of opaque windows with transparent
|
||||
# frames as well.
|
||||
blur-background-fixed = false; # Do not let blur radius adjust based on window opacity.
|
||||
# Exclude conditions for background blur.
|
||||
|
||||
# Fading
|
||||
fading = true; # Fade windows during opacity changes.
|
||||
# fade-delta = 16; # The time between steps in a fade in milliseconds. (default 10).
|
||||
fade-in-step = 0.022; # Opacity change between steps while fading in. (default 0.028).
|
||||
fade-out-step = 0.02; # Opacity change between steps while fading out. (default 0.03).
|
||||
# no-fading-openclose = true; # Avoid fade windows in/out when opening/closing.
|
||||
# fade-exclude = [ ]; # Exclude conditions for fading.
|
||||
|
||||
# Other
|
||||
backend = "glx" # Backend to use: "xrender" or "glx". GLX backend is typically
|
||||
# much faster but depends on a sane driver.
|
||||
mark-wmwin-focused = true; # Try to detect WM windows and mark them as active.
|
||||
mark-ovredir-focused = true; # Mark all non-WM but override-redirect windows active (e.g. menus).
|
||||
use-ewmh-active-win = true; # Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused
|
||||
# instead of using FocusIn/Out events. Usually more reliable but
|
||||
# depends on a EWMH-compliant WM.
|
||||
detect-rounded-corners = true; # Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
|
||||
detect-client-opacity = true; # Detect _NET_WM_OPACITY on client windows, useful for window
|
||||
# managers not passing _NET_WM_OPACITY of client windows to frame windows.
|
||||
refresh-rate = 0; # For --sw-opti: Specify refresh rate of the screen. 0 for auto.
|
||||
vsync = "none"; # "none", "drm", "opengl", "opengl-oml", "opengl-swc", "opengl-mswc"
|
||||
# See man page for more details.
|
||||
dbe = false; # Enable DBE painting mode. Rarely needed.
|
||||
paint-on-overlay = true; # Painting on X Composite overlay window. Recommended.
|
||||
sw-opti = false; # Limit compton to repaint at most once every 1 / refresh_rate.
|
||||
# Incompatible with certain VSync methods.
|
||||
unredir-if-possible = false; # Unredirect all windows if a full-screen opaque window is
|
||||
# detected, to maximize performance for full-screen windows.
|
||||
focus-exclude = [ "i:ai:chromium" ]; # A list of conditions of windows that should always be considered focused.
|
||||
detect-transient = true; # Use WM_TRANSIENT_FOR to group windows, and consider windows in
|
||||
# the same group focused at the same time.
|
||||
detect-client-leader = true; # Use WM_CLIENT_LEADER to group windows.
|
||||
invert-color-include = [ ]; # Conditions for windows to be painted with inverted color.
|
||||
|
||||
# GLX backend # GLX backend fine-tune options. See man page for more info.
|
||||
glx-no-stencil = true; # Recommended.
|
||||
glx-copy-from-front = false; # Useful with --glx-swap-method,
|
||||
# glx-use-copysubbuffermesa = true; # Recommended if it works. Breaks VSync.
|
||||
glx-no-rebind-pixmap = true; # Recommended if it works.
|
||||
glx-swap-method = "undefined"; # See man page.
|
||||
|
||||
# Window type settings
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = true; shadow = false; opacity = 1; focus = true; };
|
||||
# fade: Fade the particular type of windows.
|
||||
# shadow: Give those windows shadow
|
||||
# opacity: Default opacity for the type of windows.
|
||||
# focus: Whether to always consider windows of this type focused.
|
||||
};
|
@ -1,5 +1,5 @@
|
||||
[global]
|
||||
font = sans 9.5
|
||||
font = sans 9
|
||||
|
||||
# Allow a small subset of html markup:
|
||||
# <b>bold</b>
|
||||
@ -11,7 +11,7 @@
|
||||
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
|
||||
# If markup is not allowed, those tags will be stripped out of the
|
||||
# message.
|
||||
markup = full
|
||||
markup = yes
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
# %a appname
|
||||
@ -65,7 +65,7 @@
|
||||
# screen width minus the width defined in within the geometry option.
|
||||
|
||||
# 53 = 30 + 23 (bar-height)
|
||||
geometry = "360x5-30+30"
|
||||
geometry = "560x5-30+30"
|
||||
|
||||
# Shrink window if it's smaller than the width. Will be ignored if
|
||||
# width is 0.
|
||||
@ -140,13 +140,13 @@
|
||||
dmenu = /usr/bin/rofi -dmenu -i -p '' -config ~/.config/dunst/dunst-xresources
|
||||
|
||||
# Browser for opening urls in context menu.
|
||||
browser = /usr/bin/firefox
|
||||
browser = /usr/bin/chromium
|
||||
|
||||
# Align icons left/right/off
|
||||
icon_position = left
|
||||
|
||||
# Scale larger icons down to this size, set to 0 to disable
|
||||
max_icon_size = 44
|
||||
max_icon_size = 72
|
||||
|
||||
# Paths to default icons.
|
||||
icon_path = /usr/share/icons/Xenlism-Wildfire/Status/:/usr/share/icons/Xenlism-Wildfire/Devices/:/usr/share/icons/Adwaita/32x32/status:/usr/share/icons/Adwaita/32x32/devices
|
||||
|
@ -25,12 +25,6 @@
|
||||
<string>FontAwesome 5 Pro Light</string>
|
||||
</edit>
|
||||
</match>
|
||||
<alias>
|
||||
<family>SF Mono</family>
|
||||
<accept>
|
||||
<family>monospace</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<match target="font">
|
||||
<test qual="all" name="family" compare="eq"><string>Noto Sans</string></test>
|
||||
|
@ -10,15 +10,14 @@
|
||||
diffFilter = diff-highlight
|
||||
[commit]
|
||||
gpgsign = true
|
||||
[fetch]
|
||||
prune = true
|
||||
[push]
|
||||
default = upstream
|
||||
[pull]
|
||||
rebase = true
|
||||
prune = true
|
||||
[rebase]
|
||||
autoStash = true
|
||||
[log]
|
||||
date = relative
|
||||
[format]
|
||||
pretty = format:%h %Cblue%ad%Creset %ae %Cgreen%s%Creset
|
||||
[alias]
|
||||
@ -26,7 +25,6 @@
|
||||
pushall = !git remote | xargs -L1 git push
|
||||
count = !echo $(pwd) && git rev-list HEAD --count
|
||||
unpushed = !git log --oneline @{u}..HEAD
|
||||
leaders = !git shortlog -s -n --all --no-merges
|
||||
[advice]
|
||||
statusHints = false
|
||||
pushUpdateRejected = false
|
||||
|
@ -1,6 +1,7 @@
|
||||
# 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-icon-theme-name="Xenlism-Wildfire"
|
||||
gtk-font-name="Noto Sans 9"
|
||||
|
@ -1,7 +1,7 @@
|
||||
VteTerminal,
|
||||
TerminalScreen,
|
||||
vte-terminal {
|
||||
padding: 1.8em;
|
||||
padding: 1.3em;
|
||||
}
|
||||
|
||||
.window-frame, .window-frame:backdrop {
|
||||
|
19
.config/i3/alt-tab.sh
Executable file
19
.config/i3/alt-tab.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
# ================================================================================== #
|
||||
# Focus the next window on the current workspace in i3, e.g. for binding to Alt+Tab #
|
||||
# Depends: jq, awk, i3wm (obviously) #
|
||||
# Author: Nervengift <dev@nerven.gift> #
|
||||
# License: Don't think this deserves a license, Public Domain #
|
||||
# Known bugs: doesn't work with non-window container focused #
|
||||
# ================================================================================== #
|
||||
|
||||
ws=$(i3-msg -t get_workspaces|jq "map(select(.focused))[]|.name")
|
||||
echo $ws
|
||||
windows=$(i3-msg -t get_tree|jq ".nodes|map(.nodes[])|map(.nodes[])|map(select(.type==\"workspace\" and .name==$ws))[0].nodes|map(recurse(.nodes[]))|map(.window)|.[]|values")
|
||||
echo $windows
|
||||
current=$(i3-msg -t get_tree|jq "recurse(.nodes[])|select(.focused)|.window")
|
||||
echo $current
|
||||
if [ "x$current" != "xnull" ]; then
|
||||
next=$(echo $windows | awk "BEGIN {RS=\" \";FS=\" \"};NR == 1 {w=\$1};{if (f == 1){w=\$1;f=0}else if (\$1 == \"$current\") f=1};END {print w}")
|
||||
i3-msg [id=$next] focus > /dev/null
|
||||
fi
|
@ -31,6 +31,7 @@ bindsym $mod+w split v
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+Shift+f fullscreen toggle global
|
||||
bindsym $mod+f fullscreen toggle
|
||||
popup_during_fullscreen leave_fullscreen
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+p layout stacking
|
||||
@ -45,21 +46,7 @@ bindsym $mod+e sticky toggle
|
||||
bindsym $mod+a focus parent
|
||||
bindsym $mod+o focus child
|
||||
|
||||
# Screen configs #
|
||||
set $bl "DP-5"
|
||||
set $tl "DP-1"
|
||||
set $br "HDMI-0"
|
||||
set $tr "DP-3"
|
||||
|
||||
# Workspace -> Screen
|
||||
workspace 1 output $bl
|
||||
workspace 2 output $br
|
||||
workspace 3 output $tl
|
||||
workspace 4 output $tr
|
||||
workspace 5 output $bl
|
||||
workspace 6 output $br
|
||||
workspace 7 output $tl
|
||||
workspace 8 output $tr
|
||||
set $10 "10:"
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace 1
|
||||
@ -71,7 +58,7 @@ bindsym $mod+6 workspace 6
|
||||
bindsym $mod+7 workspace 7
|
||||
bindsym $mod+8 workspace 8
|
||||
bindsym $mod+9 workspace 9
|
||||
bindsym $mod+0 workspace 10
|
||||
bindsym $mod+0 workspace $10
|
||||
|
||||
# move workspaces across screens
|
||||
bindsym $mod+$alt+d move workspace to output left
|
||||
@ -89,7 +76,7 @@ bindsym $mod+Shift+6 move container to workspace 6
|
||||
bindsym $mod+Shift+7 move container to workspace 7
|
||||
bindsym $mod+Shift+8 move container to workspace 8
|
||||
bindsym $mod+Shift+9 move container to workspace 9
|
||||
bindsym $mod+Shift+0 move container to workspace 10
|
||||
bindsym $mod+Shift+0 move container to workspace $10
|
||||
|
||||
# opens logout/shutdown menu
|
||||
bindsym $mod+Shift+Escape exec --no-startup-id ~/.config/i3/powermenu.sh
|
||||
@ -107,62 +94,80 @@ 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.urgent $urgent-bg-color $urgent-bg-color $text-color $bg-color
|
||||
|
||||
exec_always --no-startup-id feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
||||
exec_always --no-startup-id killall -q polybar; while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done; exec polybar -r i3bar
|
||||
|
||||
# Window rules
|
||||
for_window [class="Pinentry"] floating enable
|
||||
for_window [class="Pavucontrol"] floating enable
|
||||
for_window [class="Blueman-manager"] floating enable
|
||||
for_window [class="floating-term" instance="termite"] 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="pop-up"] floating enable
|
||||
for_window [window_role="i3blocks-update-term"] floating enable
|
||||
for_window [window_role="i3blocks-clock-term"] floating enable
|
||||
for_window [title="^rofi$"] floating enable
|
||||
|
||||
new_window none
|
||||
new_float none
|
||||
|
||||
gaps inner 24
|
||||
gaps inner 12
|
||||
gaps outer 4
|
||||
|
||||
focus_follows_mouse yes
|
||||
popup_during_fullscreen smart
|
||||
|
||||
# keybindings
|
||||
bindsym $mod+Shift+j reload
|
||||
bindsym --release $mod+x exec xkill
|
||||
bindsym $mod+c exec notify-send "Try again" "You meant \\\$mod+b"
|
||||
bindsym $mod+b exec systemd-run-i3 -c -s firefox firefox
|
||||
bindsym $mod+Return exec systemd-run-i3 -n alacritty
|
||||
bindsym $mod+Ctrl+Return exec systemd-run-i3 -n alacritty --class floating
|
||||
bindsym $mod+Shift+Return exec systemd-run-i3 -n alacritty --working-directory "$(xcwd)"
|
||||
bindsym $mod+Ctrl+Shift+Return exec systemd-run-i3 -n alacritty --class floating --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+space exec "pkill rofi; rofi -show run -sidebar-mode -terminal i3-sensible-terminal -normal-window -run-command 'systemd-run-i3 -n {cmd}'"
|
||||
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+c exec chromium
|
||||
bindsym $mod+v exec "i3-sensible-terminal -e \\"$SHELL -c vim;$SHELL\\"
|
||||
bindsym $mod+Ctrl+v exec "i3-sensible-terminal -r floating-term -e \\"$SHELL -c vim;$SHELL\\"
|
||||
bindsym Mod1+Tab exec ~/.config/i3/alt-tab.sh
|
||||
bindsym $mod+Return exec i3-sensible-terminal
|
||||
bindsym $mod+Ctrl+Return exec i3-sensible-terminal -r floating-term
|
||||
bindsym $mod+Shift+Return exec i3-sensible-terminal -d "`xcwd`"
|
||||
bindsym $mod+Ctrl+Shift+Return exec i3-sensible-terminal -r floating-term -d "`xcwd`"
|
||||
bindsym $mod+l exec ~/.config/i3/lock.sh
|
||||
bindsym $mod+space exec "pkill rofi; rofi -show run -sidebar-mode -terminal i3-sensible-terminal -normal-window"
|
||||
bindsym $mod+Shift+p exec rofi-pass
|
||||
bindsym $mod+Shift+e exec rofi-emoji
|
||||
bindsym $mod+Shift+i exec rofi-fontawesome
|
||||
bindsym --release Print exec screenshot
|
||||
bindsym --release $mod+Print exec imgur-screenshot
|
||||
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+$alt+space exec systemd-run-i3 -n ~/.config/i3/cycleaudio.py && pkill -RTMIN+10 i3blocks
|
||||
bindsym $mod+numbersign exec systemd-run-i3 -n i3-sensible-terminal --hold -e sh -c 'xclip -o | gpg --decrypt 2>&1'
|
||||
bindsym $mod+r exec systemd-run-i3 -n bash -c 'pwgen -nc 32 1 | tee >(xargs notify-send Generated\ password\:) | xclip -i'
|
||||
bindsym $mod+g exec systemd-run-i3 -n notify-send -c transfer "$(gist -PRpc)"
|
||||
bindsym --release $mod+i exec systemd-run-i3 -n sh -c 'sleep 0.5 && xdotool type --delay 400 "$(xclip -o -selection clipboard)"'
|
||||
bindsym $mod+$alt+space exec --no-startup-id ~/.config/i3/cycleaudio.py && pkill -RTMIN+10 i3blocks
|
||||
bindsym $mod+numbersign exec "i3-sensible-terminal -e 'sh -c xclip\ -o\ |\ gpg\ --decrypt\ 2>&1\ \;\ $SHELL'"
|
||||
bindsym $mod+r exec "bash -c 'pwgen -nc 32 1 | tee >(xargs notify-send Generated\ password\:) | xclip -i'"
|
||||
bindsym $mod+g exec "LINK=$(gist -PRpc); notify-send -c transfer \\"<a href=\\\\"$LINK\\\\">$LINK</a>\\""
|
||||
|
||||
# Media player controls
|
||||
bindsym XF86AudioPlay exec --no-startup-id playerctl -a play-pause
|
||||
bindsym XF86AudioPause exec --no-startup-id playerctl -a pause
|
||||
bindsym XF86AudioStop exec --no-startup-id playerctl -a stop
|
||||
bindsym XF86AudioNext exec --no-startup-id playerctl -a next
|
||||
bindsym XF86AudioPrev exec --no-startup-id playerctl -a previous
|
||||
bindsym XF86AudioPlay exec --no-startup-id mpc toggle
|
||||
bindsym XF86AudioPause exec --no-startup-id mpc pause
|
||||
bindsym XF86AudioStop exec --no-startup-id mpc stop
|
||||
bindsym XF86AudioNext exec --no-startup-id mpc next
|
||||
bindsym XF86AudioPrev exec --no-startup-id mpc previous
|
||||
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 XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
bindsym XF86MonBrightnessUp exec light -A 5 && pkill -RTMIN+12 i3blocks
|
||||
bindsym XF86MonBrightnessDown exec light -U 5 && pkill -RTMIN+12 i3blocks
|
||||
bindsym XF86MonBrightnessUp exec xbacklight -inc 5 && pkill -RTMIN+12 i3blocks
|
||||
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 lock' -nocloseout -nocloseerr
|
||||
|
||||
# startup programs
|
||||
exec --no-startup-id nextcloud
|
||||
exec --no-startup-id nm-applet
|
||||
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 onboard
|
||||
exec --no-startup-id touchegg
|
||||
exec --no-startup-id mailnag
|
||||
exec --no-startup-id compton -b --config ~/.config/compton.conf
|
||||
exec --no-startup-id chromium --no-startup-window
|
||||
exec --no-startup-id thunderbird
|
||||
|
||||
exec i3-msg 'workspace 1; exec chromium'
|
||||
|
||||
# vim:ft=i3
|
||||
|
@ -1,11 +1,10 @@
|
||||
#!/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)"
|
||||
option=$(echo "lock|logout|sleep|hibernate|power off|reboot|windows" | rofi -sep "|" -dmenu -i -p "" -auto-select -hide-scrollbar -monitor 0 -width 8 -lines 7 -location 3 -tokenize false -matching normal | xargs)
|
||||
|
||||
case $option in
|
||||
lock) dm-tool switch-to-greeter;;
|
||||
logout) systemctl --user exit;;
|
||||
lock) ./lock.sh;;
|
||||
logout) i3-msg exit;;
|
||||
sleep) systemctl suspend;;
|
||||
hibernate) systemctl hibernate;;
|
||||
power\ off) systemctl poweroff;;
|
||||
@ -13,5 +12,7 @@ case $option in
|
||||
windows)
|
||||
windows=`efibootmgr | grep -Po -m1 'Boot\K(\d{4}).*Windows.*' | head -c4`
|
||||
sudo efibootmgr -n $windows
|
||||
reboot;;
|
||||
sudo hibereboot;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
29
.config/mailnag/mailnag.cfg
Normal file
29
.config/mailnag/mailnag.cfg
Normal file
@ -0,0 +1,29 @@
|
||||
[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
|
@ -30,11 +30,11 @@ text/plain=vim.desktop
|
||||
text/x-makefile=vim.desktop
|
||||
|
||||
# Chromium 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
|
||||
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
|
||||
|
@ -1,3 +0,0 @@
|
||||
prefix=${XDG_DATA_HOME}/npm
|
||||
cache=${XDG_CACHE_HOME}/npm
|
||||
tmp=${XDG_RUNTIME_DIR}/npm
|
@ -1,104 +0,0 @@
|
||||
# Logging
|
||||
log-level = "info";
|
||||
#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'",
|
||||
"class_g = 'firefox' && argb",
|
||||
"name = 'Notification'",
|
||||
"name = 'cpt_frame_window'",
|
||||
"_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 = "dual_kawase";
|
||||
strength = 8;
|
||||
};
|
||||
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 = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
# Fading
|
||||
fading = true;
|
||||
fade-delta = 10;
|
||||
fade-in-step = 0.04
|
||||
fade-out-step = 0.06;
|
||||
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 = true;
|
||||
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'",
|
||||
"class_g = 'zoom'"
|
||||
];
|
||||
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; }
|
||||
};
|
@ -2,9 +2,8 @@
|
||||
background = transparent
|
||||
text = #eceff1
|
||||
icon = #147a82
|
||||
warning = #ffcb00
|
||||
warning = #bd2c40
|
||||
critical = #bd2c40
|
||||
urgent = #e53935
|
||||
|
||||
[settings]
|
||||
format-foreground = ${colours.text}
|
||||
@ -13,49 +12,42 @@ format-spacing = 0
|
||||
format-margin = 2.5
|
||||
format-offset = 0
|
||||
|
||||
screenchange-reload = true
|
||||
|
||||
[bar/i3bar]
|
||||
monitor = ${env:MONITOR:HDMI-0}
|
||||
dpi = ${xrdb:Xft.dpi:96}
|
||||
monitor = ${env:MONITOR:eDP1}
|
||||
dpi = ${xrdb:Xft.dpi:-1}
|
||||
fixed-center = false
|
||||
enable-ipc = true
|
||||
|
||||
width = 100%
|
||||
#offset-x = 18px
|
||||
height = 16pt
|
||||
height = 44
|
||||
bottom = true
|
||||
radius = 0
|
||||
|
||||
font-0 = sans:pixelsize=9;2
|
||||
font-1 = FontAwesome5ProLight:pixelsize=10;2
|
||||
|
||||
foreground = ${colours.text}
|
||||
background = ${colours.background}
|
||||
|
||||
padding-left = 0
|
||||
padding-right = 2pt
|
||||
|
||||
border-size = 0
|
||||
border-left-size = 16pt
|
||||
border-right-size = 16pt
|
||||
border-bottom-size = 8pt
|
||||
|
||||
line-size = 0
|
||||
line-colour = #f00
|
||||
padding-left = 2
|
||||
padding-right = 2
|
||||
module-margin-left = 0
|
||||
module-margin-right = 1
|
||||
|
||||
font-0 = sans:pixelsize=9;1
|
||||
font-1 = FontAwesome5Pro:pixelsize=10;2
|
||||
|
||||
modules-left = i3
|
||||
modules-center =
|
||||
# modules-right = volume updates weather xkeyboard wlan gateway eth memory cpu xbacklight battery cputemp gputemp date
|
||||
modules-right = volume updates weather 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 temperature date
|
||||
|
||||
tray-position = right
|
||||
tray-detached = false
|
||||
tray-background = ${colours.background}
|
||||
#tray-offset-x = -20
|
||||
#tray-offset-y = 0
|
||||
tray-maxsize = 16
|
||||
tray-padding = 8pt
|
||||
tray-background = ${root.background}
|
||||
tray-offset-x = -6
|
||||
tray-offset-y = -2
|
||||
tray-maxsize = 24
|
||||
tray-padding = 2
|
||||
tray-scale = 1.0
|
||||
|
||||
cursor-click = pointer
|
||||
@ -68,20 +60,13 @@ exec = $XDG_CONFIG_HOME/polybar/update.sh
|
||||
tail = true
|
||||
format-prefix = " "
|
||||
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 -r i3blocks-update-term -e "yay && kill -USR1 %pid% || kill --USR1 %pid%"
|
||||
|
||||
[module/weather]
|
||||
type = custom/script
|
||||
exec = $XDG_CONFIG_HOME/polybar/weather.sh
|
||||
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"
|
||||
|
||||
[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}
|
||||
click-left = i3-msg exec "i3-sensible-terminal -r floating-term -e 'sh -c \"xdotool getactivewindow windowsize 910 680 && curl wttr.in && sleep infinity\"'"
|
||||
|
||||
[module/xkeyboard]
|
||||
type = internal/xkeyboard
|
||||
@ -104,7 +89,7 @@ wrapping-scroll = false
|
||||
; Only show workspaces on the same output as the bar
|
||||
; pin-workspaces = true
|
||||
|
||||
label-mode-padding = 2
|
||||
label-mode-padding = 3
|
||||
label-mode-foreground = ${colours.text}
|
||||
label-mode-background = ${colours.background}
|
||||
|
||||
@ -130,7 +115,7 @@ label-visible-underline = ${self.label-focused-underline}
|
||||
|
||||
; urgent = Workspace with urgency hint set
|
||||
label-urgent = ${self.label-focused}
|
||||
label-urgent-foreground = ${colours.urgent}
|
||||
label-urgent-foreground = ${colours.warning}
|
||||
label-urgent-padding = ${self.label-focused-padding}
|
||||
|
||||
|
||||
@ -208,7 +193,7 @@ label-disconnected-foreground = ${colours.critical}
|
||||
type = internal/date
|
||||
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-sensible-terminal -r i3blocks-clock-term -e "sh -c \"xdotool getactivewindow windowsize 500 600; cal -y $(date +%Y); stty -echo; exec sleep infinity\"" &:}%date% %time%%{A}
|
||||
|
||||
time = %H:%M
|
||||
time-alt = %a %e %b %Y %H:%M:%S
|
||||
@ -221,8 +206,8 @@ format-prefix-foreground = ${colours.icon}
|
||||
type = internal/pulseaudio
|
||||
|
||||
label-volume = %percentage%
|
||||
format-volume = %{A3:systemd-run --user --no-block -- pavucontrol:}<ramp-volume> <label-volume>%{A}
|
||||
format-muted = %{A3:systemd-run --user --no-block -- pavucontrol:}<label-muted>%{A}
|
||||
format-volume = %{A3:pavucontrol:}<ramp-volume> <label-volume>%{A}
|
||||
format-muted = %{A3:pavucontrol:}<label-muted>%{A}
|
||||
|
||||
label-volume-foreground = ${root.foreground}
|
||||
format-muted-foreground = ${colours.icon}
|
||||
@ -241,7 +226,7 @@ ramp-volume-5 = ""
|
||||
type = internal/battery
|
||||
battery = BAT0
|
||||
adapter = AC0
|
||||
full-at = 98
|
||||
full-at = 95
|
||||
|
||||
format-full = <label-full>
|
||||
format-charging = <label-charging>
|
||||
@ -267,10 +252,10 @@ ramp-capacity-0-foreground = ${colours.critical}
|
||||
ramp-capacity-1-foreground = ${colours.warning}
|
||||
|
||||
|
||||
[module/cputemp]
|
||||
[module/temperature]
|
||||
type = internal/temperature
|
||||
hwmon-path = /sys/devices/platform/nct6775.656/hwmon/hwmon1/temp2_input
|
||||
base-temperature = 25
|
||||
thermal-zone = 1
|
||||
warn-temperature = 70
|
||||
|
||||
format = <ramp> <label>
|
||||
format-warn = <ramp> <label-warn>
|
||||
@ -282,20 +267,13 @@ label-warn-foreground = ${colours.background}
|
||||
ramp-0 =
|
||||
ramp-1 =
|
||||
ramp-2 =
|
||||
ramp-3 =
|
||||
ramp-4 =
|
||||
ramp-5 =
|
||||
ramp-3 =
|
||||
ramp-4 =
|
||||
ramp-5 =
|
||||
ramp-6 =
|
||||
ramp-7 =
|
||||
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]
|
||||
type = custom/menu
|
||||
@ -324,4 +302,12 @@ menu-2-0-exec = sudo poweroff
|
||||
menu-2-1 = cancel
|
||||
menu-2-1-exec = menu-open-0
|
||||
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
||||
;compositing-background = xor
|
||||
;compositing-background = screen
|
||||
;compositing-foreground = source
|
||||
;compositing-border = over
|
||||
|
||||
; vim:ft=dosini
|
||||
|
@ -71,8 +71,8 @@ get_icon() {
|
||||
522) echo ;; # heavy intensity shower rain
|
||||
531) echo ;; # ragged shower rain
|
||||
600) echo ;; # light snow
|
||||
601) echo ;; # snow
|
||||
602) echo ;; # heavy snow
|
||||
601) echo ;; # snow
|
||||
602) echo ;; # heavy snow
|
||||
611) echo ;; # sleet
|
||||
612) echo ;; # shower sleet
|
||||
615) echo ;; # light rain and snow
|
||||
@ -86,6 +86,11 @@ get_icon() {
|
||||
741) echo ;; # fog
|
||||
762) echo ;; # volcanic ash
|
||||
781) echo ;; # tornado
|
||||
800) echo ;; # clear sky
|
||||
801) echo ;; # few clouds
|
||||
802) echo ;; # scattered clouds
|
||||
803) echo ;; # broken clouds
|
||||
804) echo ;; # overcast clouds
|
||||
# 731) echo ;; # sand, dust whirls
|
||||
# 751) echo ;; # sand
|
||||
# 761) echo ;; # dust
|
||||
|
@ -1,5 +1,5 @@
|
||||
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=<3D>&K<><4B><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD>56<35>F<EFBFBD>')*+,-./0128<>?ABCGHIJLMNOPQRSTUVWXYZ[\]^_`abcdefghij
|
||||
winflags=163638, sortindx=21, maxtasks=0, graph_cpus=1, graph_mems=1
|
||||
summclr=1, msgsclr=1, headclr=3, taskclr=1
|
||||
|
@ -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)
|
26
.config/rofi/config
Normal file
26
.config/rofi/config
Normal file
@ -0,0 +1,26 @@
|
||||
!-----------------------------
|
||||
! Rofi config
|
||||
!-----------------------------
|
||||
|
||||
! State: 'bg', 'fg', 'bgalt' 'hlbg', 'hlfg'
|
||||
rofi.color-window: #F2383C4A, #2F343F
|
||||
rofi.color-normal: #00383C4A, #D3DAE3, #00383C4A, #5294E2, #ECEFF1
|
||||
rofi.bc: #CC383C4A
|
||||
rofi.bw: 5
|
||||
rofi.padding: 8
|
||||
rofi.lines: 14
|
||||
rofi.width: 40
|
||||
rofi.font: Noto Sans 18
|
||||
rofi.line-margin: 6
|
||||
rofi.sep: |
|
||||
rofi.prompt: >
|
||||
rofi.ssh-command: {terminal} -e "{ssh-client} {host}"
|
||||
rofi.separator-style: solid
|
||||
rofi.kb-row-tab: Shift+Tab
|
||||
rofi.kb-row-select: Tab
|
||||
|
||||
rofi.matching: glob
|
||||
rofi.tokenize: true
|
||||
rofi.normal-window: true
|
||||
|
||||
! vim: ft=xdefaults
|
@ -2,8 +2,8 @@ configuration {
|
||||
theme: "arc-dark";
|
||||
font: "sans 14";
|
||||
dpi: 0;
|
||||
width: 35;
|
||||
lines: 10;
|
||||
width: 40;
|
||||
lines: 12;
|
||||
|
||||
/* show-icons: true; */
|
||||
separator-style: "solid";
|
||||
|
@ -1,12 +0,0 @@
|
||||
[Unit]
|
||||
Description=autocutsel selection %i
|
||||
PartOf=graphical-session.target
|
||||
Requires=xorg.target
|
||||
After=xorg.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/autocutsel -selection %i
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/profile.service
|
@ -1,12 +0,0 @@
|
||||
[Unit]
|
||||
Description=Bluetooth Applet
|
||||
After=graphical-session.target bluetooth.service
|
||||
Requires=graphical-session.target bluetooth.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/blueman-applet
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=desktop.target
|
@ -1 +0,0 @@
|
||||
/usr/lib/systemd/user/basic.target
|
@ -1 +0,0 @@
|
||||
/usr/lib/systemd/user/dunst.service
|
@ -1 +0,0 @@
|
||||
/usr/lib/systemd/user/redshift.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 @@
|
||||
/usr/lib/systemd/user/xdg-user-dirs-update.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/autocutsel-primary.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/autocutsel.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/autocutsel@.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/autocutsel@.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/autocutsel@.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/i3.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/xautolock.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/xsettingsd.service
|
@ -1,13 +0,0 @@
|
||||
[Unit]
|
||||
Description=i3 - an improved dynamic, tiling window manager
|
||||
Requires=xorg.target
|
||||
Before=graphical-session.target
|
||||
After=profile.service xprofile.service xorg.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/i3
|
||||
ExecReload=/bin/sh -c 'i3-msg restart; systemctl is-active --user -q picom && systemctl --user restart picom'
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
@ -1,12 +0,0 @@
|
||||
[Unit]
|
||||
Description=NetworkManager Applet
|
||||
After=graphical-session.target NetworkManager.service
|
||||
Requires=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/nm-applet
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=desktop.target
|
@ -1,14 +0,0 @@
|
||||
[Unit]
|
||||
Description=Nextcloud Client
|
||||
Requires=graphical-session.target
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/nextcloud --background
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
KillMode=process
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=desktop.target
|
@ -1,12 +0,0 @@
|
||||
[Unit]
|
||||
Description=A lightweight compositor for X11
|
||||
Requires=graphical-session.target
|
||||
After=dbus.service graphical-session.target xorg.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/picom --experimental-backends --dbus
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=desktop.target
|
@ -1,12 +0,0 @@
|
||||
[Unit]
|
||||
Description=Polybar
|
||||
Requires=graphical-session.target
|
||||
After=graphical-session.target pulseaudio.socket i3.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/polybar --reload --log=warning %i
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=desktop.target
|
@ -1,10 +0,0 @@
|
||||
[Unit]
|
||||
Description=Load profile environment into session
|
||||
Before=graphical-session-pre.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/bash -c '. $HOME/.config/dotfiles/.profile && systemctl --user import-environment'
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
10
.config/systemd/user/sleep-i3lock@.service
Normal file
10
.config/systemd/user/sleep-i3lock@.service
Normal file
@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Lock X session using i3lock
|
||||
|
||||
[Service]
|
||||
User=%i
|
||||
Environment=DISPLAY=:0
|
||||
ExecStart=sh -c '~/.config/i3/lock.sh'
|
||||
|
||||
[Install]
|
||||
WantedBy=sleep.target
|
@ -1,13 +0,0 @@
|
||||
[Unit]
|
||||
Description=Lock X LightDM session before sleeping
|
||||
Requires=graphical-session.target
|
||||
Before=sleep.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/dm-tool switch-to-greeter
|
||||
# Ensure enough time for the session to lock before sleeping
|
||||
ExecStartPost=/usr/bin/sleep 1
|
||||
|
||||
[Install]
|
||||
WantedBy=sleep.target
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/sleep-lock-lightdm.service
|
@ -1,13 +0,0 @@
|
||||
[Unit]
|
||||
Description=Solaar Logitech status applet
|
||||
Requires=graphical-session.target
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/solaar --debug --restart-on-wake-up --window=hide
|
||||
KillMode=process
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=desktop.target
|
@ -1,12 +0,0 @@
|
||||
[Unit]
|
||||
Description=Lock desktop session after inactivity
|
||||
Requires=xorg.target
|
||||
After=xorg.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/xautolock -time 5 -locker 'dm-tool switch-to-greeter' -detectsleep -resetsaver -secure
|
||||
KillMode=process
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
@ -1,11 +0,0 @@
|
||||
[Unit]
|
||||
Description=XBindKeys
|
||||
Requires=profile.service
|
||||
After=profile.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/xbindkeys -n -f $XDG_CONFIG_HOME/X11/xbindkeysrc
|
||||
KillMode=process
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
@ -1,3 +0,0 @@
|
||||
[Unit]
|
||||
Description=Graphical desktop environment
|
||||
Requires=basic.target
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/xprofile.service
|
@ -1,13 +0,0 @@
|
||||
[Unit]
|
||||
Description=Load Xorg configuration
|
||||
PartOf=xorg.target
|
||||
Requires=profile.service
|
||||
After=xorg.target profile.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/bash -c '. $XDG_CONFIG_HOME/X11/xprofile; systemctl --user import-environment'
|
||||
|
||||
[Install]
|
||||
WantedBy=xorg.target
|
@ -1,12 +0,0 @@
|
||||
[Unit]
|
||||
Description=xsettingsd - provide settings to X11 applications
|
||||
Requires=xorg.target
|
||||
After=xorg.target profile.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c 'xsettingsd -c $XDG_CONFIG_HOME/xsettingsd/xsettingsd.local'
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
@ -1,5 +1,5 @@
|
||||
[options]
|
||||
font = monospace 9
|
||||
font = monospace 9.5
|
||||
scrollback_lines = 1000000
|
||||
cursor_blink = off
|
||||
size_hints = true
|
||||
@ -7,7 +7,7 @@ size_hints = true
|
||||
[colors]
|
||||
cursor = #5294E2
|
||||
foreground = #ECEFF1
|
||||
background = rgba(56, 60, 74, 0.85)
|
||||
background = rgba(56, 60, 74, 0.95)
|
||||
highlight = #5294E2
|
||||
|
||||
# Colour order:
|
||||
|
@ -114,7 +114,6 @@ Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
|
||||
Plug 'chr4/nginx.vim'
|
||||
Plug 'PotatoesMaster/i3-vim-syntax'
|
||||
Plug 'puppetlabs/puppet-syntax-vim'
|
||||
Plug 'saltstack/salt-vim'
|
||||
Plug 'arrufat/vala.vim'
|
||||
|
||||
call plug#end()
|
||||
@ -310,4 +309,3 @@ map Q <nop>
|
||||
|
||||
autocmd FileType markdown setlocal ts=2 sts=2 sw=2 et
|
||||
autocmd FileType yaml setlocal ts=2 sts=2 sw=2 et
|
||||
autocmd FileType gitcommit setlocal cc=72 et sw=4
|
||||
|
@ -1,3 +1,5 @@
|
||||
unsetopt MULTIBYTE
|
||||
|
||||
# Config and cache directory paths
|
||||
CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||
ZSH_DIR="$CONFIG_DIR/zsh"
|
||||
@ -11,39 +13,24 @@ SAVEHIST=999999
|
||||
exists() { which $@ 0<&- 1>/dev/null 2>/dev/null; }
|
||||
|
||||
# Only set tty if running interactively
|
||||
if exists tty && tty -s; then
|
||||
if exists tty && tty -s 1>/dev/null 2>/dev/null; then
|
||||
# Resolve at shell runtime
|
||||
export GPG_TTY="$(tty)"
|
||||
fi
|
||||
|
||||
# Configure less and add colours
|
||||
export LESS="-RI --mouse --wheel-lines=3"
|
||||
export PAGER="less"
|
||||
export MANPAGER="less -+N"
|
||||
export SYSTEMD_PAGER="less $LESS"
|
||||
# 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
|
||||
|
||||
# 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
|
||||
@ -70,6 +57,7 @@ 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
|
||||
|
||||
@ -92,10 +80,11 @@ 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 "^F" fzf-file-widget
|
||||
bindkey -M vicmd "^W" backward-delete-word
|
||||
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
|
||||
@ -106,12 +95,14 @@ bindkey -M vicmd K vi-kill-eol
|
||||
bindkey -M vicmd j vi-find-next-char-skip
|
||||
bindkey -M vicmd l vi-repeat-search
|
||||
|
||||
# Backspace across newlines when in vi-mode
|
||||
bindkey -v '^?' backward-delete-char
|
||||
|
||||
ZSH_AUTOSUGGEST_USE_ASYNC=true
|
||||
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=128
|
||||
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'
|
||||
@ -150,27 +141,9 @@ 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
|
||||
|
||||
# Completion initialisation
|
||||
autoload -U compinit bashcompinit
|
||||
compinit
|
||||
bashcompinit
|
||||
|
||||
# gopass completion
|
||||
if exists gopass; then
|
||||
source <(gopass completion bash)
|
||||
fi
|
||||
|
5
.gitignore
vendored
5
.gitignore
vendored
@ -1,11 +1,6 @@
|
||||
bookmarks
|
||||
.config/secrets
|
||||
|
||||
.config/gopass/gopass-logo-small.png
|
||||
.config/gtk-2.0/gtkfilechooser.ini
|
||||
.config/imgur-screenshot/credentials.conf
|
||||
.config/mailnag/mailnag.dat
|
||||
.config/zsh/.zshrc.zwc
|
||||
|
||||
*.log
|
||||
.xournal/recent-files
|
||||
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[submodule "surface-scripts"]
|
||||
path = surface-scripts
|
||||
url = https://github.com/frebib/surface-scripts.git
|
36
.profile
36
.profile
@ -24,7 +24,7 @@ export VISUAL="vim"
|
||||
export CARGO_HOME="$XDG_DATA_HOME/cargo"
|
||||
export GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
|
||||
export GOPATH="$XDG_DATA_HOME/go"
|
||||
export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc
|
||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/settings.ini"
|
||||
export PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass"
|
||||
export PYTHONHISTFILE="$XDG_DATA_HOME/python/histfile"
|
||||
export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
|
||||
@ -38,18 +38,44 @@ 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"
|
||||
export PATH="${PATH}:/sbin:/usr/sbin:$DOTFILES/scripts:$HOME/.local/share/surface-scripts:$GOPATH/bin"
|
||||
|
||||
exists() { which $@ 0<&- 1>/dev/null 2>/dev/null; }
|
||||
|
||||
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && exists dbus-launch; then
|
||||
eval $(dbus-launch --sh-syntax --exit-with-session)
|
||||
# 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
|
||||
|
||||
# Execute this after updating dbus/systemd environment
|
||||
# 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
|
||||
fi
|
||||
|
||||
|
62
aliases
62
aliases
@ -53,14 +53,13 @@ alias svim=sudoedit
|
||||
# This will enable us to use aliases in sudo.
|
||||
# (If alias finishes with a space or tab, the shell will check if the next command is also aliased.)
|
||||
# Source: https://github.com/mayah/home/blob/master/.zsh/zshrc.d/alias.zsh
|
||||
alias sudo='sudo '
|
||||
alias sudo='sudo -E '
|
||||
alias open=xdg-open
|
||||
|
||||
# Command rewrites
|
||||
alias rm='rm -i'
|
||||
alias mv='mv -i'
|
||||
alias cp='cp -ir'
|
||||
alias scp='scp -r'
|
||||
alias dd='dd status=progress'
|
||||
alias ssh="ssh -tt"
|
||||
alias wget="wget --hsts-file=$XDG_DATA_HOME/wget/hsts-file"
|
||||
@ -106,9 +105,7 @@ mcd(){ mkdir -p -- $@ && cd -- $@; }
|
||||
randstr() { tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w $1 | head -n 1; }
|
||||
|
||||
# System aliases
|
||||
alias sc="systemctl"
|
||||
alias ssc="sudo systemctl"
|
||||
alias scu="systemctl --user"
|
||||
alias s="sudo systemctl"
|
||||
alias j=journalctl
|
||||
alias ps='ps aux'
|
||||
alias catn='tail -n +1 --'
|
||||
@ -117,7 +114,6 @@ alias chx='chmod +x'
|
||||
|
||||
# Git Aliases
|
||||
alias g=git
|
||||
alias ginit='git init'
|
||||
alias gignore='$EDITOR .gitignore'
|
||||
alias gitc='$EDITOR $XDG_CONFIG_HOME/git/config'
|
||||
alias ggignore='$EDITOR $XDG_CONFIG_HOME/git/gitignore'
|
||||
@ -130,49 +126,39 @@ alias gau="git add -u"
|
||||
alias gaN="git add -N"
|
||||
alias gaa="ga -A"
|
||||
alias grm="git rm"
|
||||
alias gc="git commit -s"
|
||||
alias gcm="git commit -s -em"
|
||||
alias gca="git commit -s --amend --date=\"$(date -R)\""
|
||||
alias gcn="git commit -s --no-edit"
|
||||
alias gcan="gca -s --no-edit"
|
||||
alias gcam="gca -s -m"
|
||||
alias gc="git commit"
|
||||
alias gcm="gc -m"
|
||||
gcmst() { git stash -u -k && git commit -m "$1" && git stash pop; }
|
||||
alias gca="git commit --amend"
|
||||
alias gcn="git commit --no-edit"
|
||||
alias gcan="git commit --amend --no-edit"
|
||||
alias gcam="git commit --amend -m"
|
||||
alias gst="git status"
|
||||
|
||||
alias gm="git merge"
|
||||
alias gma="git merge --abort"
|
||||
|
||||
alias grb="git rebase"
|
||||
alias grba="grb --abort"
|
||||
alias grbc="grb --continue"
|
||||
alias grbsk="grb --skip"
|
||||
alias grbsh="grb --show-current"
|
||||
alias grbom="git rebase origin/master"
|
||||
|
||||
alias gcp="git cherry-pick"
|
||||
|
||||
alias gf="git fetch"
|
||||
alias gp="git push"
|
||||
alias gpf="gp --force"
|
||||
alias gpsu="git push --set-upstream"
|
||||
alias gpoH="git push origin HEAD"
|
||||
alias gpsuom="git push --set-upstream origin master"
|
||||
alias gpall="git remote | xargs -L1 git push"
|
||||
alias gl="git pull --rebase"
|
||||
alias glp="gl && gp"
|
||||
alias gd="git diff --patch-with-stat"
|
||||
alias gdni="gd --no-index"
|
||||
alias gds="gd --staged"
|
||||
alias gsh="git show --format=fuller --patch-with-stat"
|
||||
alias glg="git log --color --format=fuller --stat"
|
||||
alias glgp="git log --color --format=fuller --patch-with-stat"
|
||||
alias glog="git log --color --oneline --decorate --graph"
|
||||
alias gd="git diff"
|
||||
alias gds="git diff --staged"
|
||||
alias gsh="git show"
|
||||
alias glg="git log --stat --color"
|
||||
alias glog="git log --oneline --decorate --color --graph"
|
||||
|
||||
alias grst="git reset"
|
||||
alias gundo="git reset --keep @~1"
|
||||
alias gundo="git reset @~1"
|
||||
alias gclean="git clean"
|
||||
alias gbr="git branch"
|
||||
alias gtg="git tag"
|
||||
alias gbl="git blame"
|
||||
alias gr="git remote"
|
||||
alias grv="git remote -v"
|
||||
alias gra="gr add"
|
||||
@ -188,11 +174,8 @@ alias gstv="gsta show -p stash@{0}"
|
||||
|
||||
# Docker aliases
|
||||
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 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"
|
||||
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 dps='docker ps'
|
||||
alias dpsa='docker ps -a'
|
||||
alias drm='docker rm'
|
||||
alias drmi='docker rmi'
|
||||
alias dim='docker images'
|
||||
@ -276,14 +259,14 @@ do_dsh() {
|
||||
|
||||
alias dc='docker-compose'
|
||||
alias dm='docker-machine'
|
||||
dmc() { eval $(docker-machine env $1); }
|
||||
alias dmc='eval $(docker-machine env $1)'
|
||||
|
||||
# ZFS aliases
|
||||
alias zfs='sudo zfs'
|
||||
alias zpool='sudo zpool'
|
||||
alias z=zfs
|
||||
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}'); return $?; }
|
||||
_zl() { _zfs "list $@"; }
|
||||
|
||||
# General Aliases
|
||||
@ -296,15 +279,10 @@ alias xinitrc="$EDITOR $XDG_CONFIG_HOME/X11/xinitrc"
|
||||
alias xresources="$EDITOR $XDG_CONFIG_HOME/X11/xresources ; xrdb merge $XDG_CONFIG_HOME/X11/xresources"
|
||||
alias sshc="$EDITOR ~/.ssh/config"
|
||||
alias dotfiles="cd $DOTFILES"
|
||||
alias i3c="$EDITOR $XDG_CONFIG_HOME/i3/config; systemctl --user reload i3"
|
||||
alias polybarc="$EDITOR $XDG_CONFIG_HOME/polybar/config; systemctl --user restart polybar@i3bar"
|
||||
alias i3c="$EDITOR $XDG_CONFIG_HOME/i3/config ; i3-msg restart"
|
||||
|
||||
alias sf=screenfetch
|
||||
alias nf=neofetch
|
||||
alias rot13="tr '[A-Za-z]' '[N-ZA-Mn-za-m]'"
|
||||
|
||||
# Networking aliases
|
||||
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*//'"
|
||||
|
||||
# vim: ft=sh
|
||||
|
@ -11,4 +11,4 @@ xrandr --output $BOTTOM_LEFT --primary --mode 1920x1080 --pos 0x1080 --rotate no
|
||||
--output $TOP_RIGHT --mode 1920x1080 --pos 1920x0 --rotate inverted \
|
||||
--output $BOTTOM_RIGHT --mode 1920x1080 --pos 1920x1080 --rotate normal
|
||||
|
||||
feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
||||
feh --no-fehbg --no-xinerama --bg-fill ~/pictures/lakesidesunrise.jpg
|
||||
|
@ -16,4 +16,4 @@ xrandr --newmode $MODELINE 2>/dev/null || true
|
||||
xrandr --addmode $OUTPUT $MODENAME 2>/dev/null || true
|
||||
xrandr --output $OUTPUT --mode $MODENAME
|
||||
|
||||
feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
||||
feh --no-fehbg --no-xinerama --bg-fill ~/pictures/lakesidesunrise.jpg
|
||||
|
12
scripts/dpi
12
scripts/dpi
@ -21,9 +21,11 @@ mkdir -p "$CONF_DIR"
|
||||
echo Gdk/UnscaledDPI $(( $dpi*1024/($dpi/96) ))
|
||||
} > $CONF_DIR/xsettingsd.local
|
||||
|
||||
echo Xft.dpi: $dpi | xrdb -merge
|
||||
xrandr --dpi $dpi
|
||||
pid=$(xprop -name xsettingsd _NET_WM_PID 2> /dev/null | awk '{print $NF}')
|
||||
if [ -z "$pid" ]; then
|
||||
xsettingsd -c $CONF_DIR/xsettingsd.local &
|
||||
else
|
||||
kill -HUP $pid
|
||||
fi
|
||||
|
||||
systemctl --user reload-or-restart xsettingsd
|
||||
systemctl --user --no-block reload i3
|
||||
systemctl --user --no-block restart polybar@i3bar dunst
|
||||
echo Xft.dpi: $dpi | xrdb -merge
|
||||
|
@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
exec xdg-open steam://rungameid/271590
|
@ -23,3 +23,8 @@ echo cd `pwd`
|
||||
for file in $conffiles; do
|
||||
ln -sfv $confpath/.config/$file .
|
||||
done
|
||||
|
||||
cd $HOME
|
||||
mkdir -p .local/share/ && cd .local/share
|
||||
echo cd `pwd`
|
||||
ln -sfv $DOTFILES/surfacetools .
|
||||
|
@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
PID="$(pidof GTA5.exe)"
|
||||
|
||||
kill -s STOP $PID
|
||||
sleep 30
|
||||
kill -s CONT $PID
|
119
scripts/rofi-emoji
Executable file
119
scripts/rofi-emoji
Executable file
@ -0,0 +1,119 @@
|
||||
#!/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
|
||||
exit 0
|
||||
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
|
@ -28,12 +28,9 @@ function download() {
|
||||
|
||||
echo -n > "$FONTAWESOME_FILE"
|
||||
|
||||
cat /usr/share/fontawesome/icons.json | \
|
||||
jq -r --argfile ctgs <(yq r -j /usr/share/fontawesome/categories.yml) \
|
||||
'.[] | . as $icon | "\\\\u" + .unicode + "\t" + .label + "\t" + ( ([.search.terms,.styles,([select($ctgs[].icons[]|index($icon.label))|.label]|unique)]|add)|sort|join(", "))' | \
|
||||
while IFS=$'\t' read icon name labels; do \
|
||||
printf "%b\t%-120s\t%s\n" "$icon" "$name" "$labels";\
|
||||
done \
|
||||
curl https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/advanced-options/metadata/icons.json | \
|
||||
jq '.[] | "\\u" + .unicode + "\t" + .label' -r | \
|
||||
xargs -0 printf \
|
||||
> "$FONTAWESOME_FILE"
|
||||
|
||||
notify "$(basename "$0")" "We're all set!"
|
||||
@ -57,17 +54,18 @@ function notify() {
|
||||
}
|
||||
|
||||
function display() {
|
||||
update=$'\tUpdate Font Awesome cache'
|
||||
fontawesome=$(grep -v '#\|^[[:space:]]*$' "$FONTAWESOME_FILE"; printf "$update\n")
|
||||
fontawesome=$(cat "$FONTAWESOME_FILE" | grep -v '#' | grep -v '^[[:space:]]*$')
|
||||
update=""$'\t'"Update Font Awesome cache"
|
||||
fontawesome=$(printf "$fontawesome\n$update")
|
||||
line=$(echo "$fontawesome" | rofi -dmenu -i -p fontawesome -normal-window -kb-custom-1 Ctrl+c -kb-row-tab '' -kb-row-select Tab $@)
|
||||
exit_code=$?
|
||||
|
||||
if [ "${line[@]}" == "$update" ]; then
|
||||
download
|
||||
display
|
||||
return
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#IFS=$'\t'
|
||||
line=($line)
|
||||
last=${line[${#line[@]}-1]}
|
||||
|
||||
|
@ -1,14 +1,15 @@
|
||||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
NOTIFY_APPNAME="$(basename "$0")"
|
||||
NOTIFY_ICONPATH="/usr/share/icons/Xenlism-Wildfire/Apps/screenshot.svg"
|
||||
|
||||
FILENAME="$(date '+%s%N' | sha256sum | head -c7).png"
|
||||
SCROT_CMD="maim -m 10 -us %"
|
||||
FILENAME=`date "+$NOTIFY_APPNAME-%Y-%m-%d-%H%M%S.png"`
|
||||
DIRECTORY="$HOME/pictures/screenshots"
|
||||
|
||||
SCP_HOST=frebib@Poseidon.nerdhouse.io
|
||||
SCP_PATH=/services/www/files/frebib.net/s
|
||||
SCP_PATH=/dave/www/frebib.net/s
|
||||
URL_PATH=https://frebib.net/s
|
||||
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -29,46 +30,17 @@ send_notification() {
|
||||
# Make the screenshot directory
|
||||
mkdir -p "$DIRECTORY"
|
||||
|
||||
# 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
|
||||
|
||||
out_path="$DIRECTORY/$FILENAME"
|
||||
args=(-g "$geom")
|
||||
|
||||
# If selection is the root window
|
||||
if xwininfo -id "$winid" | grep -qw root; then
|
||||
isroot=1
|
||||
args+=(-i "$winid")
|
||||
elif [ "$1" == "--active" -o "$1" == "-a" ]; then
|
||||
args+=(-i "$(xdotool getactivewindow)")
|
||||
shift
|
||||
fi
|
||||
|
||||
# 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
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# If the screenshot is a complete window, add a shadow
|
||||
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
|
||||
notif_id=$(send_notification "Screenshot uploading" "$FILENAME<br><br>The image is available in the clipboard immediately" || true)
|
||||
|
||||
if [ "$1" == "--clip" -o "$1" == "-c" ]; then
|
||||
# Add image to clipboard
|
||||
xclip -i "$out_path" -selection clipboard -t image/png
|
||||
send_notification "Screenshot captured" "$FILENAME<br><br>The image is available in the clipboard"
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
notif_id=$(send_notification "Screenshot uploading" "$FILENAME" || true)
|
||||
xclip -i "$out_path" -selection primary -t image/png
|
||||
|
||||
# 'Upload' the screenshot
|
||||
if ! error=$(scp -C $out_path $SCP_HOST:$SCP_PATH 2>&1); then
|
||||
|
@ -1,20 +0,0 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
rand=$(tr -dc 'a-f0-9' < /dev/urandom | head -c 16)
|
||||
|
||||
args=()
|
||||
while getopts "u:s:e:d:cnw" opt
|
||||
do case "$opt" in
|
||||
u) args+=("--unit=$OPTARG-$rand");;
|
||||
s) args+=("--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 --unit="$1-$rand" ${args[@]} -- "$@"
|
1
surface-scripts
Submodule
1
surface-scripts
Submodule
Submodule surface-scripts added at f94e25f0b8
1
surface3-scripts
Submodule
1
surface3-scripts
Submodule
Submodule surface3-scripts added at bd6eaf1fb0
Reference in New Issue
Block a user