chore: initial commit
commit
ef79a67adc
|
|
@ -0,0 +1,269 @@
|
|||
# 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 it self.
|
||||
env:
|
||||
# TERM env customization.
|
||||
#
|
||||
# If this property is not set, alacritty will set it to xterm-256color.
|
||||
#
|
||||
# Note that some xterm terminfo databases don't declare support for italics.
|
||||
# You can verify this by checking for the presence of `smso` and `sitm` in
|
||||
# `infocmp xterm-256color`.
|
||||
TERM: xterm-256color
|
||||
|
||||
# Window dimensions in character columns and lines
|
||||
# (changes require restart)
|
||||
dimensions:
|
||||
columns: 80
|
||||
lines: 24
|
||||
|
||||
# Adds this many blank pixels of padding around the window
|
||||
# Units are physical pixels; this is not DPI aware.
|
||||
# (change requires restart)
|
||||
padding:
|
||||
x: 2
|
||||
y: 2
|
||||
|
||||
# The FreeType rasterizer needs to know the device DPI for best results
|
||||
# (changes require restart)
|
||||
dpi:
|
||||
x: 96.0
|
||||
y: 96.0
|
||||
|
||||
# Display tabs using this many cells (changes require restart)
|
||||
tabspaces: 4
|
||||
|
||||
# When true, bold text is drawn using the bright variant of colors.
|
||||
draw_bold_text_with_bright_colors: true
|
||||
|
||||
# Font configuration (changes require restart)
|
||||
font:
|
||||
# The normal (roman) font face to use.
|
||||
normal:
|
||||
family: monospace # should be "Menlo" or something on macOS.
|
||||
# Style can be specified to pick a specific face.
|
||||
# style: Regular
|
||||
|
||||
# The bold font face
|
||||
bold:
|
||||
family: monospace # should be "Menlo" or something on macOS.
|
||||
# Style can be specified to pick a specific face.
|
||||
# style: Bold
|
||||
|
||||
# The italic font face
|
||||
italic:
|
||||
family: monospace # should be "Menlo" or something on macOS.
|
||||
# Style can be specified to pick a specific face.
|
||||
# style: Italic
|
||||
|
||||
# Point size of the font
|
||||
size: 11.0
|
||||
|
||||
# Offset is the extra space around each character. offset.y can be thought of
|
||||
# as modifying the linespacing, and offset.x as modifying the letter spacing.
|
||||
offset:
|
||||
x: 0.0
|
||||
y: 0.0
|
||||
|
||||
# Glyph offset determines the locations of the glyphs within their cells with
|
||||
# the default being at the bottom. Increase the x offset to move the glyph to
|
||||
# the right, increase the y offset to move the glyph upward.
|
||||
glyph_offset:
|
||||
x: 0.0
|
||||
y: 0.0
|
||||
|
||||
# OS X only: use thin stroke font rendering. Thin strokes are suitable
|
||||
# for retina displays, but for non-retina you probably want this set to
|
||||
# false.
|
||||
use_thin_strokes: true
|
||||
|
||||
# Should display the render timer
|
||||
render_timer: true
|
||||
|
||||
# Use custom cursor colors. If true, display the cursor in the cursor.foreground
|
||||
# and cursor.background colors, otherwise invert the colors of the cursor.
|
||||
custom_cursor_colors: false
|
||||
|
||||
# Colors (Tomorrow Night Bright)
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0x000000'
|
||||
foreground: '0xeaeaea'
|
||||
|
||||
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||
cursor:
|
||||
text: '0x000000'
|
||||
cursor: '0xffffff'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x000000'
|
||||
red: '0xd54e53'
|
||||
green: '0xb9ca4a'
|
||||
yellow: '0xe6c547'
|
||||
blue: '0x7aa6da'
|
||||
magenta: '0xc397d8'
|
||||
cyan: '0x70c0ba'
|
||||
white: '0x424242'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '0x666666'
|
||||
red: '0xff3334'
|
||||
green: '0x9ec400'
|
||||
yellow: '0xe7c547'
|
||||
blue: '0x7aa6da'
|
||||
magenta: '0xb77ee0'
|
||||
cyan: '0x54ced6'
|
||||
white: '0x2a2a2a'
|
||||
|
||||
# Visual Bell
|
||||
#
|
||||
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
|
||||
# rung, the terminal background will be set to white and transition back to the
|
||||
# default background color. You can control the rate of this transition by
|
||||
# setting the `duration` property (represented in milliseconds). You can also
|
||||
# configure the transition function by setting the `animation` property.
|
||||
#
|
||||
# Possible values for `animation`
|
||||
# `Ease`
|
||||
# `EaseOut`
|
||||
# `EaseOutSine`
|
||||
# `EaseOutQuad`
|
||||
# `EaseOutCubic`
|
||||
# `EaseOutQuart`
|
||||
# `EaseOutQuint`
|
||||
# `EaseOutExpo`
|
||||
# `EaseOutCirc`
|
||||
# `Linear`
|
||||
#
|
||||
# To completely disable the visual bell, set its duration to 0.
|
||||
#
|
||||
visual_bell:
|
||||
animation: EaseOutExpo
|
||||
duration: 1
|
||||
|
||||
# Key bindings
|
||||
#
|
||||
# Each binding is defined as an object with some properties. Most of the
|
||||
# properties are optional. All of the alphabetical keys should have a letter for
|
||||
# the `key` value such as `V`. Function keys are probably what you would expect
|
||||
# as well (F1, F2, ..). The number keys above the main keyboard are encoded as
|
||||
# `Key1`, `Key2`, etc. Keys on the number pad are encoded `Number1`, `Number2`,
|
||||
# etc. These all match the glutin::VirtualKeyCode variants.
|
||||
#
|
||||
# Possible values for `mods`
|
||||
# `Command`, `Super` refer to the super/command/windows key
|
||||
# `Control` for the control key
|
||||
# `Shift` for the Shift key
|
||||
# `Alt` and `Option` refer to alt/option
|
||||
#
|
||||
# mods may be combined with a `|`. For example, requiring control and shift
|
||||
# looks like:
|
||||
#
|
||||
# mods: Control|Shift
|
||||
#
|
||||
# The parser is currently quite sensitive to whitespace and capitalization -
|
||||
# capitalization must match exactly, and piped items must not have whitespace
|
||||
# around them.
|
||||
#
|
||||
# Either an `action` or `chars` field must be present. `chars` writes the
|
||||
# specified string every time that binding is activated. These should generally
|
||||
# be escape sequences, but they can be configured to send arbitrary strings of
|
||||
# bytes. Possible values of `action` include `Paste` and `PasteSelection`.
|
||||
#
|
||||
# Want to add a binding (e.g. "PageUp") but are unsure what the X sequence
|
||||
# (e.g. "\x1b[5~") is? Open another terminal (like xterm) without tmux,
|
||||
# then run `showkey -a` to get the sequence associated to a key combination.
|
||||
key_bindings:
|
||||
- { key: V, mods: Control|Shift, action: Paste }
|
||||
- { key: C, mods: Control|Shift, action: Copy }
|
||||
- { key: Q, mods: Command, action: Quit }
|
||||
- { key: W, mods: Command, action: Quit }
|
||||
- { key: Insert, mods: Shift, action: PasteSelection }
|
||||
- { key: Home, chars: "\x1bOH", mode: AppCursor }
|
||||
- { key: Home, chars: "\x1b[1~", mode: ~AppCursor }
|
||||
- { key: End, chars: "\x1bOF", mode: AppCursor }
|
||||
- { key: End, chars: "\x1b[4~", 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: 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: Tab, mods: Shift, chars: "\x1b[Z" }
|
||||
- { 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: Back, chars: "\x7f" }
|
||||
- { key: Back, mods: Alt, chars: "\x1b\x7f" }
|
||||
- { key: Insert, chars: "\x1b[2~" }
|
||||
- { key: Delete, chars: "\x1b[3~" }
|
||||
|
||||
# Mouse bindings
|
||||
#
|
||||
# Currently doesn't support modifiers. Both the `mouse` and `action` fields must
|
||||
# be specified.
|
||||
#
|
||||
# Values for `mouse`:
|
||||
# - Middle
|
||||
# - Left
|
||||
# - Right
|
||||
# - Numeric identifier such as `5`
|
||||
#
|
||||
# Values for `action`:
|
||||
# - Paste
|
||||
# - PasteSelection
|
||||
# - Copy (TODO)
|
||||
mouse_bindings:
|
||||
- { mouse: Middle, action: PasteSelection }
|
||||
|
||||
mouse:
|
||||
double_click: { threshold: 300 }
|
||||
triple_click: { threshold: 300 }
|
||||
|
||||
selection:
|
||||
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
|
||||
|
||||
hide_cursor_when_typing: false
|
||||
|
||||
# Shell
|
||||
#
|
||||
# You can set shell.program to the path of your favorite shell, e.g. /bin/fish.
|
||||
# Entries in shell.args are passed unmodified as arguments to the shell.
|
||||
shell:
|
||||
program: /bin/bash
|
||||
args:
|
||||
- --login
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
# basic configuration
|
||||
#backend = "glx";
|
||||
#vsync = "opengl-swc";
|
||||
#backend = "xrender";
|
||||
backend = "glx";
|
||||
vsync = true;
|
||||
use-damage = true;
|
||||
|
||||
glx-no-stencil = true;
|
||||
glx-copy-from-front = false;
|
||||
xrender-sync-fence = true;
|
||||
detect-rounded-corners = true;
|
||||
|
||||
#################################
|
||||
#
|
||||
# Shadows
|
||||
#
|
||||
#################################
|
||||
|
||||
# Enabled client-side shadows on windows.
|
||||
shadow = true;
|
||||
# The blur radius for shadows. (default 12)
|
||||
shadow-radius = 5;
|
||||
# The left offset for shadows. (default -15)
|
||||
shadow-offset-x = -5;
|
||||
# The top offset for shadows. (default -15)
|
||||
shadow-offset-y = -5;
|
||||
# The translucency for shadows. (default .75)
|
||||
shadow-opacity = 0.75;
|
||||
|
||||
# The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches
|
||||
# (most applications are fine, only apps that do weird things with xshapes or argb are affected).
|
||||
# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
|
||||
shadow-exclude = [
|
||||
"! name~=''",
|
||||
"name = 'Notification'",
|
||||
"name = 'Plank'",
|
||||
"name = 'Docky'",
|
||||
"name = 'Kupfer'",
|
||||
"name = 'xfce4-notifyd'",
|
||||
"name *= 'VLC'",
|
||||
"name *= 'compton'",
|
||||
"name *= 'Chromium'",
|
||||
"name *= 'Chrome'",
|
||||
"name *= 'Firefox'",
|
||||
"name *= 'Visual'",
|
||||
"name *= 'Slack'",
|
||||
"name *= 'Insomnia'",
|
||||
"name *= 'Zoom'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g = 'Kupfer'",
|
||||
"class_g = 'Synapse'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g ?= 'Cairo-dock'",
|
||||
"class_g ?= 'Xfce4-notifyd'",
|
||||
"class_g ?= 'Xfce4-power-manager'"
|
||||
];
|
||||
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
|
||||
shadow-ignore-shaped = false;
|
||||
|
||||
#################################
|
||||
#
|
||||
# Opacity
|
||||
#
|
||||
#################################
|
||||
|
||||
inactive-opacity = 1;
|
||||
active-opacity = 1;
|
||||
frame-opacity = 1;
|
||||
inactive-opacity-override = true;
|
||||
|
||||
# Dim inactive windows. (0.0 - 1.0)
|
||||
#inactive-dim = 0.1;
|
||||
# Do not let dimness adjust based on window opacity.
|
||||
#inactive-dim-fixed = true;
|
||||
# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
|
||||
#blur-background = true;
|
||||
blur-background = false;
|
||||
# Blur background of opaque windows with transparent frames as well.
|
||||
# blur-background-frame = true;
|
||||
# Do not let blur radius adjust based on window opacity.
|
||||
#blur-background-fixed = true;
|
||||
blur-background-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'"
|
||||
];
|
||||
|
||||
# transparancy settings for i3
|
||||
opacity-rule = [
|
||||
"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||
];
|
||||
|
|
@ -0,0 +1,327 @@
|
|||
|
||||
[global]
|
||||
### Display ###
|
||||
|
||||
# Which monitor should the notifications be displayed on.
|
||||
monitor = 0
|
||||
|
||||
# Display notification on focused monitor. Possible modes are:
|
||||
# mouse: follow mouse pointer
|
||||
# keyboard: follow window with keyboard focus
|
||||
# none: don't follow anything
|
||||
#
|
||||
# "keyboard" needs a window manager that exports the
|
||||
# _NET_ACTIVE_WINDOW property.
|
||||
# This should be the case for almost all modern window managers.
|
||||
#
|
||||
# If this option is set to mouse or keyboard, the monitor option
|
||||
# will be ignored.
|
||||
follow = mouse
|
||||
|
||||
# The geometry of the window:
|
||||
# [{width}]x{height}[+/-{x}+/-{y}]
|
||||
# The geometry of the message window.
|
||||
# The height is measured in number of notifications everything else
|
||||
# in pixels. If the width is omitted but the height is given
|
||||
# ("-geometry x2"), the message window expands over the whole screen
|
||||
# (dmenu-like). If width is 0, the window expands to the longest
|
||||
# message displayed. A positive x is measured from the left, a
|
||||
# negative from the right side of the screen. Y is measured from
|
||||
# the top and down respectively.
|
||||
# The width can be negative. In this case the actual width is the
|
||||
# screen width minus the width defined in within the geometry option.
|
||||
geometry = "300x5-30+20"
|
||||
|
||||
# Show how many messages are currently hidden (because of geometry).
|
||||
indicate_hidden = yes
|
||||
|
||||
# Shrink window if it's smaller than the width. Will be ignored if
|
||||
# width is 0.
|
||||
shrink = no
|
||||
|
||||
# The transparency of the window. Range: [0; 100].
|
||||
# This option will only work if a compositing window manager is
|
||||
# present (e.g. xcompmgr, compiz, etc.).
|
||||
transparency = 50
|
||||
|
||||
# The height of the entire notification. If the height is smaller
|
||||
# than the font height and padding combined, it will be raised
|
||||
# to the font height and padding.
|
||||
notification_height = 0
|
||||
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications.
|
||||
# Set to 0 to disable.
|
||||
separator_height = 2
|
||||
|
||||
# Padding between text and separator.
|
||||
padding = 8
|
||||
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 8
|
||||
|
||||
# Defines width in pixels of frame around the notification window.
|
||||
# Set to 0 to disable.
|
||||
frame_width = 3
|
||||
|
||||
# Defines color of the frame around the notification window.
|
||||
frame_color = "#222"
|
||||
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
# * auto: dunst tries to find a color fitting to the background;
|
||||
# * foreground: use the same color as the foreground;
|
||||
# * frame: use the same color as the frame;
|
||||
# * anything else will be interpreted as a X color.
|
||||
separator_color = frame
|
||||
|
||||
# Sort messages by urgency.
|
||||
sort = yes
|
||||
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||
# for longer than idle_threshold seconds.
|
||||
# Set to 0 to disable.
|
||||
# Transient notifications ignore this setting.
|
||||
idle_threshold = 60
|
||||
|
||||
### Text ###
|
||||
|
||||
font = Arial 10
|
||||
|
||||
# The spacing between lines. If the height is smaller than the
|
||||
# font height, it will get raised to the font height.
|
||||
line_height = 0
|
||||
|
||||
# Possible values are:
|
||||
# full: Allow a small subset of html markup in notifications:
|
||||
# <b>bold</b>
|
||||
# <i>italic</i>
|
||||
# <s>strikethrough</s>
|
||||
# <u>underline</u>
|
||||
#
|
||||
# For a complete reference see
|
||||
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
|
||||
#
|
||||
# strip: This setting is provided for compatibility with some broken
|
||||
# clients that send markup even though it's not enabled on the
|
||||
# server. Dunst will try to strip the markup but the parsing is
|
||||
# simplistic so using this option outside of matching rules for
|
||||
# specific applications *IS GREATLY DISCOURAGED*.
|
||||
#
|
||||
# no: Disable markup parsing, incoming notifications will be treated as
|
||||
# plain text. Dunst will not advertise that it has the body-markup
|
||||
# capability if this is set as a global setting.
|
||||
#
|
||||
# It's important to note that markup inside the format option will be parsed
|
||||
# regardless of what this is set to.
|
||||
markup = full
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
# %a appname
|
||||
# %s summary
|
||||
# %b body
|
||||
# %i iconname (including its path)
|
||||
# %I iconname (without its path)
|
||||
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||
# %n progress value if set without any extra characters
|
||||
# %% Literal %
|
||||
# Markup is allowed
|
||||
format = "<b>%s</b>\n%b\n%p\n"
|
||||
|
||||
# Alignment of message text.
|
||||
# Possible values are "left", "center" and "right".
|
||||
alignment = left
|
||||
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
# Set to -1 to disable.
|
||||
show_age_threshold = 60
|
||||
|
||||
# Split notifications into multiple lines if they don't fit into
|
||||
# geometry.
|
||||
word_wrap = yes
|
||||
|
||||
# When word_wrap is set to no, specify where to ellipsize long lines.
|
||||
# Possible values are "start", "middle" and "end".
|
||||
ellipsize = middle
|
||||
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
# Merge multiple notifications with the same content
|
||||
stack_duplicates = true
|
||||
|
||||
# Hide the count of merged notifications with the same content
|
||||
hide_duplicate_count = true
|
||||
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
show_indicators = yes
|
||||
|
||||
### Icons ###
|
||||
|
||||
# Align icons left/right/off
|
||||
icon_position = left
|
||||
|
||||
# Scale larger icons down to this size, set to 0 to disable
|
||||
max_icon_size = 32
|
||||
|
||||
# Paths to default icons.
|
||||
icon_path = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices
|
||||
|
||||
### History ###
|
||||
|
||||
# Should a notification popped up from history be sticky or timeout
|
||||
# as if it would normally do.
|
||||
sticky_history = yes
|
||||
|
||||
# Maximum amount of notifications kept in history
|
||||
history_length = 20
|
||||
|
||||
### Misc/Advanced ###
|
||||
|
||||
# dmenu path.
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
|
||||
# Browser for opening urls in context menu.
|
||||
browser = /usr/bin/firefox -new-tab
|
||||
|
||||
# Always run rule-defined scripts, even if the notification is suppressed
|
||||
always_run_script = true
|
||||
|
||||
# Define the title of the windows spawned by dunst
|
||||
title = Alert
|
||||
|
||||
# Define the class of the windows spawned by dunst
|
||||
class = Dunst
|
||||
|
||||
# Print a notification on startup.
|
||||
# This is mainly for error detection, since dbus (re-)starts dunst
|
||||
# automatically after a crash.
|
||||
startup_notification = false
|
||||
|
||||
### Legacy
|
||||
|
||||
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||
# This setting is provided for compatibility with older nVidia drivers that
|
||||
# do not support RandR and using it on systems that support RandR is highly
|
||||
# discouraged.
|
||||
#
|
||||
# By enabling this setting dunst will not be able to detect when a monitor
|
||||
# is connected or disconnected which might break follow mode if the screen
|
||||
# layout changes.
|
||||
force_xinerama = false
|
||||
|
||||
# Experimental features that may or may not work correctly. Do not expect them
|
||||
# to have a consistent behaviour across releases.
|
||||
[experimental]
|
||||
# Calculate the dpi to use on a per-monitor basis.
|
||||
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||
# using the resolution and physical size. This might be useful in setups
|
||||
# where there are multiple screens with very different dpi values.
|
||||
per_monitor_dpi = false
|
||||
|
||||
[shortcuts]
|
||||
|
||||
# Shortcuts are specified as [modifier+][modifier+]...key
|
||||
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
|
||||
# "mod3" and "mod4" (windows-key).
|
||||
# Xev might be helpful to find names for keys.
|
||||
|
||||
# C1616lose notification.
|
||||
close = ctrl+space
|
||||
|
||||
# Close all notifications.
|
||||
close_all = ctrl+shift+space
|
||||
|
||||
# Redisplay last message(s).
|
||||
# On the US keyboard layout "grave" is normally above TAB and left
|
||||
# of "1". Make sure this key actually exists on your keyboard layout,
|
||||
# e.g. check output of 'xmodmap -pke'
|
||||
history = ctrl+grave
|
||||
|
||||
# Context menu.
|
||||
context = ctrl+shift+period
|
||||
|
||||
[urgency_low]
|
||||
# IMPORTANT: colors have to be defined in quotation marks.
|
||||
# Otherwise the "#" and following would be interpreted as a comment.
|
||||
background = "#222222"
|
||||
foreground = "#dfdfdf"
|
||||
timeout = 10
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
icon = /usr/share/icons/Adwaita/16x16/status/secuity-high-symbolic.symblic.png
|
||||
|
||||
[urgency_normal]
|
||||
background = "#222222"
|
||||
foreground = "#dfdfdf"
|
||||
timeout = 10
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
icon = /usr/share/icons/Adwaita/16x16/status/secuity-high-symbolic.symblic.png
|
||||
|
||||
[urgency_critical]
|
||||
background = "#222222"
|
||||
foreground = "#dfdfdf"
|
||||
frame_color = "#bd2c40"
|
||||
timeout = 0
|
||||
# Icon for notifications with critical urgency, uncomment to enable
|
||||
icon = /usr/share/icons/Adwaita/16x16/status/secuity-high-symbolic.symblic.png
|
||||
|
||||
# Every section that isn't one of the above is interpreted as a rules to
|
||||
# override settings for certain messages.
|
||||
# Messages can be matched by "appname", "summary", "body", "icon", "category",
|
||||
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
|
||||
# "background", "new_icon" and "format".
|
||||
# Shell-like globbing will get expanded.
|
||||
#
|
||||
# SCRIPTING
|
||||
# You can specify a script that gets run when the rule matches by
|
||||
# setting the "script" option.
|
||||
# The script will be called as follows:
|
||||
# script appname summary body icon urgency
|
||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||
#
|
||||
# NOTE: if you don't want a notification to be displayed, set the format
|
||||
# to "".
|
||||
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||
# to find fitting options for rules.
|
||||
|
||||
#[espeak]
|
||||
# summary = "*"
|
||||
# script = dunst_espeak.sh
|
||||
|
||||
#[script-test]
|
||||
# summary = "*script*"
|
||||
# script = dunst_test.sh
|
||||
|
||||
#[ignore]
|
||||
# # This notification will not be displayed
|
||||
# summary = "foobar"
|
||||
# format = ""
|
||||
|
||||
#[history-ignore]
|
||||
# # This notification will not be saved in history
|
||||
# summary = "foobar"
|
||||
# history_ignore = yes
|
||||
|
||||
#[signed_on]
|
||||
# appname = Pidgin
|
||||
# summary = "*signed on*"
|
||||
# urgency = low
|
||||
#
|
||||
#[signed_off]
|
||||
# appname = Pidgin
|
||||
# summary = *signed off*
|
||||
# urgency = low
|
||||
#
|
||||
#[says]
|
||||
# appname = Pidgin
|
||||
# summary = *says*
|
||||
# urgency = critical
|
||||
#
|
||||
#[twitter]
|
||||
# appname = Pidgin
|
||||
# summary = *twitter.com*
|
||||
# urgency = normal
|
||||
#
|
||||
# vim: ft=cfg
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
[alias]
|
||||
# View abbreviated SHA, description, and history graph
|
||||
l = log --pretty=format:'%Cblue%h -%d %Cgreen%an %Creset%s - %Cred%GS' --abbrev-commit --date=relative --branches --graph -n 45
|
||||
|
||||
# View the current working tree status using the short format
|
||||
s = status -s
|
||||
|
||||
# Show the diff between the latest commit and the current state
|
||||
d = !"git diff --color --patch-with-stat"
|
||||
dc = !"git diff --cached --color --patch-with-stat"
|
||||
|
||||
# `git di $number` shows the diff between the state `$number` revisions ago and the current state
|
||||
di = !"d() { git diff --color --patch-with-stat HEAD~$1 | diff-so-fancy; }; git diff-index --color --quiet HEAD --; d"
|
||||
|
||||
# Pull in remote changes for the current repository and all its submodules
|
||||
p = !"git pull; git submodule foreach git pull origin master"
|
||||
|
||||
# Clone a repository including all submodules
|
||||
c = clone --recursive
|
||||
|
||||
cpv = commit -pmv
|
||||
|
||||
# Commit all changes
|
||||
ca = !git add -A && git commit -av -S
|
||||
|
||||
# commits with gpgsign flag
|
||||
cs = commit -S
|
||||
|
||||
# commits with gpgsign and inline message flag
|
||||
csm = commit -S -m
|
||||
|
||||
# Switch to a branch, creating it if necessary
|
||||
go = checkout -B
|
||||
|
||||
# pull rebase
|
||||
pr = pull --rebase
|
||||
|
||||
# Show verbose output about tags, branches or remotes
|
||||
tags = tag -l
|
||||
branches = branch -a
|
||||
remotes = remote -v
|
||||
|
||||
# Credit an author on the latest commit
|
||||
credit = "!f() { git commit --amend --author \"$1 <$2>\" -C HEAD; }; f"
|
||||
|
||||
# Interactive rebase with the given number of latest commits
|
||||
reb = "!r() { git rebase -i HEAD~$1; }; r"
|
||||
|
||||
# Find branches containing commit
|
||||
fb = "!f() { git branch -a --contains $1; }; f"
|
||||
|
||||
# Find tags containing commit
|
||||
ft = "!f() { git describe --always --contains $1; }; f"
|
||||
|
||||
# Find commits by source code
|
||||
fc = "!f() { git log --pretty=format:'%C(yellow)%h %Cblue%ad %Creset%s%Cgreen [%cn] %Cred%d' --decorate --date=short -S$1; }; f"
|
||||
|
||||
# Find commits by commit message
|
||||
fm = "!f() { git log --pretty=format:'%C(yellow)%h %Cblue%ad %Creset%s%Cgreen [%cn] %Cred%d' --decorate --date=short --grep=$1; }; f"
|
||||
|
||||
# Remove branches that have already been merged with master
|
||||
dm = "!git branch --merged | grep -v '\\*' | xargs -n 1 git branch -d"
|
||||
|
||||
[diff]
|
||||
# Git diff will use (i)ndex, (w)ork tree, (c)ommit and (o)bject
|
||||
# instead of a/b/c/d as prefixes for patches
|
||||
mnemonicprefix = true
|
||||
tool = vimdiff
|
||||
|
||||
[merge]
|
||||
tool = vimdiff
|
||||
conflictstyle = diff3
|
||||
|
||||
[mergetool]
|
||||
prompt = false
|
||||
trustExitCode = false
|
||||
|
||||
[advice]
|
||||
statusHints = false
|
||||
|
||||
[apply]
|
||||
# Detect whitespace errors when applying a patch
|
||||
whitespace = fix
|
||||
|
||||
[gc]
|
||||
auto=1
|
||||
|
||||
[core]
|
||||
# Use custom `.gitignore` and `.gitattributes`
|
||||
excludesfile = ~/.config/git/.gitignore
|
||||
attributesfile = ~/.config/git/.gitattributes
|
||||
# Treat spaces before tabs and all kinds of trailing whitespace as an error.
|
||||
# [default] trailing-space: looks for spaces at the end of a line
|
||||
# [default] space-before-tab: looks for spaces before tabs at the beginning of
|
||||
# a line
|
||||
whitespace = space-before-tab,-indent-with-non-tab,trailing-space
|
||||
# Make `git rebase` safer on OS X
|
||||
# More info: <http://www.git-tower.com/blog/make-git-rebase-safe-on-osx/>
|
||||
trustctime = false
|
||||
autocrlf = false
|
||||
eol = 'lf'
|
||||
editor = $EDITOR
|
||||
hooksPath = ~/.config/git/.githooks/
|
||||
|
||||
[color]
|
||||
# Use colors in Git commands that are capable of colored output when
|
||||
# outputting to the terminal. (This is the default setting in Git ≥ 1.8.4.)
|
||||
ui = auto
|
||||
|
||||
[color "branch"]
|
||||
current = yellow reverse
|
||||
local = yellow
|
||||
remote = green
|
||||
|
||||
[color "diff"]
|
||||
meta = yellow bold
|
||||
frag = magenta bold
|
||||
old = red bold
|
||||
new = green bold
|
||||
|
||||
[color "status"]
|
||||
added = yellow
|
||||
changed = green
|
||||
untracked = cyan
|
||||
|
||||
[merge]
|
||||
# Include summaries of merged commits in newly created merge commit messages
|
||||
log = true
|
||||
# better merge messages
|
||||
summary=true
|
||||
|
||||
# URL shorthands
|
||||
[url "https://git.vdhsn.com"]
|
||||
insteadOf = git@git.vdhsn.com
|
||||
|
||||
[url "git://github.com/"]
|
||||
insteadOf = "github:"
|
||||
|
||||
[url "git@gist.github.com:"]
|
||||
insteadOf = "gst:"
|
||||
pushInsteadOf = "gist:"
|
||||
pushInsteadOf = "git://gist.github.com/"
|
||||
|
||||
[url "git://gist.github.com/"]
|
||||
insteadOf = "gist:"
|
||||
|
||||
[push]
|
||||
default = current
|
||||
|
||||
[pull]
|
||||
default = current
|
||||
ff = only
|
||||
|
||||
[user]
|
||||
email = adamveld12@gmail.com
|
||||
name = Adam Veldhousen
|
||||
signingkey = 4FA79E5B6598505C8DFA30A7A466CEE1415C0B9C
|
||||
|
||||
[commit]
|
||||
gpgsign = true
|
||||
template = ~/.config/git/.gitmessage
|
||||
|
||||
[help]
|
||||
autocorrect=20
|
||||
|
||||
[credential]
|
||||
# for OSX
|
||||
#helper = osxkeychain
|
||||
# for Linux
|
||||
helper = store --file ~/.config/git/.git-credentials
|
||||
|
||||
[gpg]
|
||||
program = gpg
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f "$PWD/makefile" ] && [ ! -z "$(cat $PWD/makefile | grep '^lint:')" ]; then
|
||||
echo "lint rule found in $PWD/makefile..."
|
||||
make lint
|
||||
elif [ -f "$PWD/package.json" ] && [ ! -z "$(cat $PWD/package.json | grep '\"lint\"')" ]; then
|
||||
echo "running npm run lint..."
|
||||
npm run lint
|
||||
fi
|
||||
|
||||
if [ -f "$PWD/makefile" ] && [ ! -z "$(cat $PWD/makefile | grep '^test:')" ]; then
|
||||
echo "test rule found in $PWD/makefile..."
|
||||
make test
|
||||
elif [ -f "$PWD/package.json" ] && [ ! -z "$(cat $PWD/package.json | grep '\"test\"')" ]; then
|
||||
echo "running npm run test..."
|
||||
npm run test
|
||||
fi
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# If the following text is found anywhere in the source for HEAD, we will prevent pushing
|
||||
dont_push_flag="DONT PUSH ME"
|
||||
|
||||
flag_found=`git grep --color "$dont_push_flag" HEAD | grep -v 'pre-push'`
|
||||
if [ -n "$flag_found" ]
|
||||
then
|
||||
# Display which commit the first occurence of the flag was found and exit failure
|
||||
commit=`git log --pretty=format:'%Cred%h%Creset' -S "$dont_push_flag" | tail -n1`
|
||||
echo "Found $flag_found, first occurence was in $commit, not pushing"
|
||||
exit 1
|
||||
fi
|
||||
exit 0
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
# File
|
||||
.git-stats
|
||||
.bashrc
|
||||
.rnd
|
||||
*.kdbx
|
||||
.vim_colorv_cache
|
||||
*.log
|
||||
*.exe
|
||||
.viminfo
|
||||
.bash_history
|
||||
.erlang.cookie
|
||||
.mongorc.js
|
||||
.sh_history
|
||||
.dbshell
|
||||
.netrc
|
||||
*.dll
|
||||
*.orig
|
||||
.dockercfg
|
||||
.gnupg
|
||||
|
||||
|
||||
# Directory
|
||||
.heroku/
|
||||
.vim/bundle/*
|
||||
.cache/
|
||||
.gem/
|
||||
.ssh/
|
||||
.node-gyp/
|
||||
./Tools/Console2/
|
||||
.npm/
|
||||
target
|
||||
Library
|
||||
Tools/vim/bundle/*
|
||||
Tools/vim/tutor/
|
||||
.lesshst
|
||||
.atom
|
||||
./assets/**/lib
|
||||
.bin
|
||||
.plugman
|
||||
.npmrc
|
||||
.kre
|
||||
.forever
|
||||
.android
|
||||
.atom/packages
|
||||
.cordova
|
||||
.grunt-init
|
||||
Tools/vim/vimrc
|
||||
Tools/vim/vim74
|
||||
Tools/cmder
|
||||
.wireshark/
|
||||
.git-templates/
|
||||
.k/
|
||||
.boot2docker/
|
||||
.vagrant*
|
||||
VirtualBox VMs/
|
||||
.VirtualBox/
|
||||
Applications/
|
||||
.local/
|
||||
.thefuck/
|
||||
.vim/
|
||||
.chefdk/
|
||||
projects/
|
||||
.keybase-installer/
|
||||
|
||||
# Compiled source #
|
||||
###################
|
||||
*.class
|
||||
*.dll
|
||||
*.exe
|
||||
*.o
|
||||
*.so
|
||||
|
||||
# Packages #
|
||||
############
|
||||
# it's better to unpack these files and commit the raw source
|
||||
# git has its own built in compression methods
|
||||
*.7z
|
||||
*.dmg
|
||||
*.gz
|
||||
*.iso
|
||||
*.jar
|
||||
*.rar
|
||||
*.tar
|
||||
*.zip
|
||||
|
||||
# Logs and databases #
|
||||
######################
|
||||
*.log
|
||||
*.sql
|
||||
*.sqlite
|
||||
|
||||
# OS generated files #
|
||||
######################
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
# ^ <type>(optional scope): <description>
|
||||
# common <type>s include: feat, bugfix, chore, ci, docs, style, perf, test, build
|
||||
# fix: a commit of the type fix patches a bug in your codebase (this correlates with PATCH in Semantic Versioning).
|
||||
# feat: a commit of the type feat introduces a new feature to the codebase (this correlates with MINOR in Semantic Versioning).
|
||||
#
|
||||
# <description>: Capitalized, short (70 chars or less) summary
|
||||
|
||||
# ^ [optional body]
|
||||
# Write your commit message in the imperative: "Fix bug" and not "Fixed bug"
|
||||
# or "Fixes bug." This convention matches up with commit messages generated
|
||||
# by commands like git merge and git revert.
|
||||
|
||||
# ^ [optional footer(s)]
|
||||
# BREAKING CHANGE: a commit that has a footer BREAKING CHANGE:, or appends a ! after the type/scope, introduces a breaking API change (correlating with MAJOR in Semantic Versioning).
|
||||
# A BREAKING CHANGE can be part of commits of any type.
|
||||
# footers other than BREAKING CHANGE: <description> may be provided and follow a convention similar to git trailer format.
|
||||
|
||||
# set up the linter @ https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional
|
||||
# Read more @ https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
||||
|
|
@ -0,0 +1,236 @@
|
|||
# i3 config file (v4)
|
||||
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||
# This config file uses keycodes (bindsym) and was written for the QWERTY
|
||||
# layout.
|
||||
|
||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||
font pango:DejaVu Sans Mono 12
|
||||
|
||||
|
||||
# Mod1 = Alt
|
||||
# Mod4 = Start button
|
||||
set $mod Mod4
|
||||
|
||||
#########################################
|
||||
# STARTUP
|
||||
#########################################
|
||||
|
||||
# set dpi settings
|
||||
# for 4k
|
||||
#exec_always xrandr --dpi 165
|
||||
|
||||
|
||||
# clipboard
|
||||
exec wl-paste -t text --watch clipman store
|
||||
|
||||
# start dunst for custom notification popups
|
||||
exec_always --no-startup-id ~/.config/i3/dunst.sh
|
||||
|
||||
# gnome-keyring
|
||||
exec_always --no-startup-id gnome-keyring-daemon -r
|
||||
|
||||
# start waybar
|
||||
exec_always --no-startup-id ~/.config/waybar/start.sh
|
||||
# set wallpaper
|
||||
exec_always --no-startup-id nitrogen --head=0 --save --set-scaled ~/Pictures/Wallpapers/logo.svg
|
||||
|
||||
|
||||
#############################
|
||||
# BINDINGS
|
||||
##############################
|
||||
|
||||
# screen shot (area)
|
||||
bindsym $mod+x exec --no-startup-id gnome-screenshot -a -c -f /tmp/latest-screenshot.png
|
||||
|
||||
# Pulse Audio controls
|
||||
# set default audio sink to laptop speakers
|
||||
#exec --no-startup-id pactl set-default-sink 'alsa_output.pci-0000_00_1f.3.analog-stereo'
|
||||
# set default to jabra
|
||||
#pactl set-default-sink 'alsa_output.usb-0b0e_Jabra_SPEAK_510_USB_501AA56C0DBB020A00-00.analog-stereo'
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 'alsa_output.pci-0000_00_1f.3.analog-stereo' +5% && pactl set-sink-volume 'alsa_output.usb-0b0e_Jabra_SPEAK_510_USB_501AA56C0DBB020A00-00.analog-stereo' +5% #increase sound volume
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 'alsa_output.pci-0000_00_1f.3.analog-stereo' -5% && pactl set-sink-volume 'alsa_output.usb-0b0e_Jabra_SPEAK_510_USB_501AA56C0DBB020A00-00.analog-stereo' -5% #increase sound volume#decrease sound volume
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 'alsa_output.pci-0000_00_1f.3.analog-stereo' toggle && pactl set-sink-mute 'alsa_output.usb-0b0e_Jabra_SPEAK_510_USB_501AA56C0DBB020A00-00.analog-stereo' toggle # mute sound
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
mode "Audio Setup" {
|
||||
# These bindings trigger as soon as you enter the resize mode
|
||||
bindsym 1 exec pactl set-default-sink 'alsa_output.pci-0000_00_1f.3.analog-stereo'
|
||||
bindsym 2 exec pactl set-default-sink 'alsa_output.usb-0b0e_Jabra_SPEAK_510_USB_501AA56C0DBB020A00-00.analog-stereo'
|
||||
|
||||
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+Shift+a mode "Audio Setup"
|
||||
|
||||
# Media player controls
|
||||
bindsym XF86AudioPlay exec playerctl play-pause
|
||||
bindsym XF86AudioPause exec playerctl pause
|
||||
bindsym XF86AudioNext exec playerctl next
|
||||
bindsym XF86AudioPrev exec playerctl previous
|
||||
|
||||
# Backlight
|
||||
#
|
||||
bindsym XF86MonBrightnessUp exec brightnessctl set +5% # increase screen brightness
|
||||
bindsym XF86MonBrightnessDown exec brightnessctl set 5%- # decrease screen brightness
|
||||
|
||||
# lock the screen
|
||||
bindsym $mod+Ctrl+Shift+l exec ~/.config/i3/lock.sh SUSPEND
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec terminator
|
||||
|
||||
# start firefox
|
||||
bindsym $mod+Shift+Return exec firefox
|
||||
#bindsym Ctrl+Shift+Return exec /opt/google/chrome/chrome --type=renderer --disable-webrtc-apm-in-audio-service --lang=en-US --enable-auto-
|
||||
# insomnia
|
||||
bindsym $mod+Shift+i exec insomnia
|
||||
|
||||
# Sets up external display
|
||||
bindsym $mod+Shift+g exec ~/.config/waybar/start.sh
|
||||
#bindsym $mod+Shift+g exec ~/.config/i3/setup_external_displays.sh CONNECT && ~/.config/i3/polybar.sh
|
||||
#bindsym $mod+Shift+f exec ~/.config/i3/setup_external_displays.sh DISCONNECT && ~/.config/i3/polybar.sh
|
||||
#bindsym $mod+Shift+Ctrl+g exec ~/.config/i3/setup_external_displays.sh RECONNECT_PRIMARY && ~/.config/i3/polybar.sh
|
||||
|
||||
bindsym $mod+Shift+x swaymsg move workspace to output right
|
||||
|
||||
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||
# shipping a .desktop file. It is a wrapper around dmenu, so you need that installed.
|
||||
bindsym $mod+d exec --no-startup-id rofi -show drun -i -location 2 -yoffset 40
|
||||
bindsym $mod+shift+d exec --no-startup-id rofi -show run -i -location 2 -yoffset 40
|
||||
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c exec swaymsg reload
|
||||
# restart inplace (preserves your layout/session, can be used to upgrade)
|
||||
bindsym $mod+Shift+r exec swaymsg restart
|
||||
# exit (logs you out of your session)
|
||||
bindsym $mod+Shift+e exec "swaynag -t warning -m 'Do you really want to exit? This will end your session.' -b 'Yes, exit' 'swaymsg exit'"
|
||||
|
||||
# move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
|
||||
# split in horizontal orientation
|
||||
bindsym $mod+i split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindsym $mod+s split t
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen toggle
|
||||
|
||||
# use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# use these keys for focus, movement, and resize directions when reaching for
|
||||
# the arrows is not convenient
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
|
||||
# change focus
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$right focus right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+$left move left
|
||||
bindsym $mod+Shift+$down move down
|
||||
bindsym $mod+Shift+$up move up
|
||||
bindsym $mod+Shift+$right move right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+e layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+q layout toggle split
|
||||
|
||||
# toggle tiling / floating
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# focus the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
# focus the child container
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace 1
|
||||
bindsym $mod+2 workspace 2
|
||||
bindsym $mod+3 workspace 3
|
||||
bindsym $mod+4 workspace 4
|
||||
bindsym $mod+5 workspace 5
|
||||
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
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace 1
|
||||
bindsym $mod+Shift+2 move container to workspace 2
|
||||
bindsym $mod+Shift+3 move container to workspace 3
|
||||
bindsym $mod+Shift+4 move container to workspace 4
|
||||
bindsym $mod+Shift+5 move container to workspace 5
|
||||
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
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
mode "resize" {
|
||||
# These bindings trigger as soon as you enter the resize mode
|
||||
|
||||
# Pressing left will shrink the window’s width.
|
||||
# Pressing right will grow the window’s width.
|
||||
# Pressing up will shrink the window’s height.
|
||||
# Pressing down will grow the window’s height.
|
||||
bindsym $left resize shrink width 5 px or 5 ppt
|
||||
bindsym $down resize grow height 5 px or 5 ppt
|
||||
bindsym $up resize shrink height 5 px or 5 ppt
|
||||
bindsym $right resize grow width 5 px or 5 ppt
|
||||
|
||||
# same bindings, but for the arrow keys
|
||||
bindsym Left resize shrink width 5 px or 5 ppt
|
||||
bindsym Down resize grow height 5 px or 5 ppt
|
||||
bindsym Up resize shrink height 5 px or 5 ppt
|
||||
bindsym Right resize grow width 5 px or 5 ppt
|
||||
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# shrink window borders
|
||||
for_window [class="^.*"] border pixel 1
|
||||
#new_window 1pixel
|
||||
for_window [class="Tandem"] floating enable
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
killall -q dunst
|
||||
while pgrep -x dunst >/dev/null; do sleep 0.1; done
|
||||
|
||||
dunst -config ~/.config/dunst/dunstrc
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
i3lock-fancy -f 'Pragmata Pro' -t 'Type Password To Unlock';
|
||||
|
||||
if [ "$1" = "SUSPEND" ]; then
|
||||
systemctl suspend;
|
||||
if
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
killall -q picom
|
||||
while pgrep -x picom >/dev/null; do sleep 1; done
|
||||
picom -C -f --no-fading-openclose --config /dev/null -b
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
#!/bin/bash
|
||||
killall -q polybar
|
||||
while pgrep -x polybar > /dev/null; do sleep 0.1; done
|
||||
|
||||
|
||||
BACKGROUND=~/Pictures/Wallpapers/logo.svg
|
||||
|
||||
PRIMARY=$(xrandr | grep -i -e "eDP.* connected" | awk '{ print $1 }')
|
||||
MONITOR=${PRIMARY} polybar 1080p-bottom &
|
||||
MONITOR=${PRIMARY} polybar 1080p-top &
|
||||
nitrogen --head=0 --save --set-color=#FFFFFF --set-centered ${BACKGROUND};
|
||||
|
||||
SECONDARY=$(xrandr | grep "^DP-[0-9] connected" | awk '{ print $1 }')
|
||||
if [ ! -z "${SECONDARY}" ]; then
|
||||
nitrogen --head=1 --save --set-color=#FFFFFF --set-centered ${BACKGROUND};
|
||||
nitrogen --head=2 --save --set-color=#FFFFFF --set-centered ${BACKGROUND};
|
||||
nitrogen --head=3 --save --set-color=#FFFFFF --set-centered ${BACKGROUND};
|
||||
MONITOR=${SECONDARY} polybar 1080p-bottom &
|
||||
MONITOR=${SECONDARY} polybar 1080p-top &
|
||||
fi
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/bash
|
||||
|
||||
PRIMARY=$(xrandr | grep -i -e "eDP.* connected" | awk '{ print $1 }')
|
||||
SECONDARY=$(xrandr | grep -m 1 "^DP-[0-9] connected" | awk '{ print $1 }')
|
||||
BACKGROUND=~/Pictures/Wallpapers/logo.svg
|
||||
|
||||
if [ "$1" = "CONNECT" ]; then
|
||||
xrandr --output "${SECONDARY}" --auto --right-of ${PRIMARY} --dpi 165;
|
||||
nitrogen --head=2 --save --set-color=#FFFFFF --set-centered "${BACKGROUND}";
|
||||
nitrogen --head=1 --save --set-color=#FFFFFF --set-centered "${BACKGROUND}";
|
||||
elif [ "$1" = "DISCONNECT" ]; then
|
||||
xrandr --output "${SECONDARY}" --off;
|
||||
elif [ "$1" = "RECONNECT_PRIMARY" ]; then
|
||||
xrandr --output ${PRIMARY} --off;
|
||||
elif [ "$1" = "OFF" ]; then
|
||||
xrandr --output ${PRIMARY} --off;
|
||||
else
|
||||
set +x;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
sleep 1;
|
||||
xrandr --output ${PRIMARY} --auto --primary --preferred --dpi 100 --filter bilinear;
|
||||
nitrogen --head=0 --save --set-color=#FFFFFF --set-centered ${BACKGROUND};
|
||||
|
||||
|
|
@ -0,0 +1,210 @@
|
|||
servers = (
|
||||
{
|
||||
address = "chat.freenode.net";
|
||||
chatnet = "freenode";
|
||||
port = "7000";
|
||||
use_ssl = "yes";
|
||||
ssl_verify = "yes";
|
||||
ssl_capath = "/etc/ssl/certs";
|
||||
autoconnect = "no";
|
||||
}
|
||||
);
|
||||
|
||||
channels = (
|
||||
{ name = "#plone"; chatnet = "freenode"; autojoin = "yes"; },
|
||||
{ name = "#plone-framework"; chatnet = "freenode"; autojoin = "yes"; },
|
||||
{ name = "#nixos"; chatnet = "freenode"; autojoin = "yes"; },
|
||||
{ name = "#vimperator"; chatnet = "freenode"; autojoin = "yes"; }
|
||||
);
|
||||
|
||||
aliases = {
|
||||
J = "join";
|
||||
WJOIN = "join -window";
|
||||
WQUERY = "query -window";
|
||||
LEAVE = "part";
|
||||
BYE = "quit";
|
||||
EXIT = "quit";
|
||||
SIGNOFF = "quit";
|
||||
DESCRIBE = "action";
|
||||
DATE = "time";
|
||||
HOST = "userhost";
|
||||
LAST = "lastlog";
|
||||
SAY = "msg *";
|
||||
WI = "whois";
|
||||
WII = "whois $0 $0";
|
||||
WW = "whowas";
|
||||
W = "who";
|
||||
N = "names";
|
||||
M = "msg";
|
||||
T = "topic";
|
||||
C = "clear";
|
||||
CL = "clear";
|
||||
K = "kick";
|
||||
KB = "kickban";
|
||||
KN = "knockout";
|
||||
BANS = "ban";
|
||||
B = "ban";
|
||||
MUB = "unban *";
|
||||
UB = "unban";
|
||||
IG = "ignore";
|
||||
UNIG = "unignore";
|
||||
SB = "scrollback";
|
||||
UMODE = "mode $N";
|
||||
WC = "window close";
|
||||
WN = "window new hide";
|
||||
SV = "say Irssi $J ($V) - http://irssi.org/";
|
||||
GOTO = "sb goto";
|
||||
CHAT = "dcc chat";
|
||||
RUN = "SCRIPT LOAD";
|
||||
CALC = "exec - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi";
|
||||
SBAR = "STATUSBAR";
|
||||
INVITELIST = "mode $C +I";
|
||||
Q = "QUERY";
|
||||
"MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save";
|
||||
EXEMPTLIST = "mode $C +e";
|
||||
ATAG = "WINDOW SERVER";
|
||||
UNSET = "set -clear";
|
||||
RESET = "set -default";
|
||||
};
|
||||
|
||||
statusbar = {
|
||||
# formats:
|
||||
# when using {templates}, the template is shown only if it's argument isn't
|
||||
# empty unless no argument is given. for example {sb} is printed always,
|
||||
# but {sb $T} is printed only if $T isn't empty.
|
||||
|
||||
items = {
|
||||
# start/end text in statusbars
|
||||
barstart = "{sbstart}";
|
||||
barend = "{sbend}";
|
||||
|
||||
topicbarstart = "{topicsbstart}";
|
||||
topicbarend = "{topicsbend}";
|
||||
|
||||
# treated "normally", you could change the time/user name to whatever
|
||||
time = "{sb $Z}";
|
||||
user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
|
||||
|
||||
# treated specially .. window is printed with non-empty windows,
|
||||
# window_empty is printed with empty windows
|
||||
window = "{sb $winref:$tag/$itemname{sbmode $M}}";
|
||||
window_empty = "{sb $winref{sbservertag $tag}}";
|
||||
prompt = "{prompt $[.15]itemname}";
|
||||
prompt_empty = "{prompt $winname}";
|
||||
topic = " $topic";
|
||||
topic_empty = " Irssi v$J - http://www.irssi.org";
|
||||
|
||||
# all of these treated specially, they're only displayed when needed
|
||||
lag = "{sb Lag: $0-}";
|
||||
act = "{sb Act: $0-}";
|
||||
more = "-- more --";
|
||||
};
|
||||
|
||||
# there's two type of statusbars. root statusbars are either at the top
|
||||
# of the screen or at the bottom of the screen. window statusbars are at
|
||||
# the top/bottom of each split window in screen.
|
||||
default = {
|
||||
# the "default statusbar" to be displayed at the bottom of the window.
|
||||
# contains all the normal items.
|
||||
window = {
|
||||
disabled = "no";
|
||||
|
||||
# window, root
|
||||
type = "window";
|
||||
# top, bottom
|
||||
placement = "bottom";
|
||||
# number
|
||||
position = "1";
|
||||
# active, inactive, always
|
||||
visible = "active";
|
||||
|
||||
# list of items in statusbar in the display order
|
||||
items = {
|
||||
barstart = { priority = "100"; };
|
||||
time = { };
|
||||
user = { };
|
||||
window = { };
|
||||
window_empty = { };
|
||||
lag = { priority = "-1"; };
|
||||
act = { priority = "10"; };
|
||||
more = { priority = "-1"; alignment = "right"; };
|
||||
barend = { priority = "100"; alignment = "right"; };
|
||||
vim_mode = { };
|
||||
vim_windows = { };
|
||||
};
|
||||
};
|
||||
|
||||
# statusbar to use in inactive split windows
|
||||
window_inact = {
|
||||
type = "window";
|
||||
placement = "bottom";
|
||||
position = "1";
|
||||
visible = "inactive";
|
||||
items = {
|
||||
barstart = { priority = "100"; };
|
||||
window = { };
|
||||
window_empty = { };
|
||||
more = { priority = "-1"; alignment = "right"; };
|
||||
barend = { priority = "100"; alignment = "right"; };
|
||||
};
|
||||
};
|
||||
|
||||
# we treat input line as yet another statusbar :) It's possible to
|
||||
# add other items before or after the input line item.
|
||||
|
||||
# topicbar
|
||||
topic = {
|
||||
type = "root";
|
||||
placement = "top";
|
||||
position = "1";
|
||||
visible = "always";
|
||||
items = {
|
||||
topicbarstart = { priority = "100"; };
|
||||
topic = { };
|
||||
topic_empty = { };
|
||||
topicbarend = { priority = "100"; alignment = "right"; };
|
||||
};
|
||||
};
|
||||
prompt = {
|
||||
items = {
|
||||
uberprompt = { priority = "-1"; };
|
||||
input = { priority = "10"; };
|
||||
};
|
||||
position = "100";
|
||||
};
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
core = {
|
||||
real_name = "solzhenitsyn";
|
||||
user_name = "ivan";
|
||||
nick = "deep";
|
||||
};
|
||||
"fe-text" = {
|
||||
actlist_sort = "refnum";
|
||||
term_force_colors = "yes";
|
||||
autostick_split_windows = "yes";
|
||||
};
|
||||
"fe-common/core" = {
|
||||
autocreate_own_query = "yes";
|
||||
autocreate_query_level = "DCCMSGS";
|
||||
use_status_window = "no";
|
||||
use_msgs_window = "yes";
|
||||
autoclose_windows = "no";
|
||||
reuse_unused_windows = "yes";
|
||||
print_active_channel = "yes";
|
||||
autolog = "yes";
|
||||
autolog_path = "~/.irssi/logs/$tag/%Y-%m-%d/$0.log";
|
||||
};
|
||||
"fe-common/irc" = { show_away_once = "yes"; };
|
||||
"irc/core" = { channel_sync = "no"; };
|
||||
};
|
||||
hilights = ( { text = "datetimewidget"; nick = "yes"; word = "yes"; } );
|
||||
logs = { };
|
||||
ignores = (
|
||||
{ level = "JOINS"; servertag = "freenode"; },
|
||||
{ level = "NICKS"; servertag = "freenode"; },
|
||||
{ level = "PARTS"; servertag = "freenode"; },
|
||||
{ level = "QUITS"; servertag = "freenode"; }
|
||||
);
|
||||
chatnets = { bitlbee = { type = "IRC"; }; freenode = { type = "IRC"; }; };
|
||||
|
|
@ -0,0 +1,213 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Ansi 0 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>0.0</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.0</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.0</real>
|
||||
</dict>
|
||||
<key>Ansi 1 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
<key>Red Component</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<key>Ansi 10 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
<key>Green Component</key>
|
||||
<real>1</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
</dict>
|
||||
<key>Ansi 11 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
<key>Green Component</key>
|
||||
<real>1</real>
|
||||
<key>Red Component</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<key>Ansi 12 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>1</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
</dict>
|
||||
<key>Ansi 13 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>1</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
<key>Red Component</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<key>Ansi 14 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>1</real>
|
||||
<key>Green Component</key>
|
||||
<real>1</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
</dict>
|
||||
<key>Ansi 15 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>1</real>
|
||||
<key>Green Component</key>
|
||||
<real>1</real>
|
||||
<key>Red Component</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<key>Ansi 2 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
<key>Green Component</key>
|
||||
<real>1</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
</dict>
|
||||
<key>Ansi 3 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
<key>Green Component</key>
|
||||
<real>1</real>
|
||||
<key>Red Component</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<key>Ansi 4 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>1</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
</dict>
|
||||
<key>Ansi 5 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>1</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
<key>Red Component</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<key>Ansi 6 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>1</real>
|
||||
<key>Green Component</key>
|
||||
<real>1</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
</dict>
|
||||
<key>Ansi 7 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>0.73333334922790527</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.73333334922790527</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.73333334922790527</real>
|
||||
</dict>
|
||||
<key>Ansi 8 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>0.33333333333333331</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.33333333333333331</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.33333333333333331</real>
|
||||
</dict>
|
||||
<key>Ansi 9 Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.3333333432674408</real>
|
||||
<key>Red Component</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<key>Background Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>0.0</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.0</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.0</real>
|
||||
</dict>
|
||||
<key>Bold Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>0.49019607901573181</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.36862745881080627</real>
|
||||
<key>Red Component</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<key>Cursor Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>0.73333334922790527</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.73333334922790527</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.73333334922790527</real>
|
||||
</dict>
|
||||
<key>Cursor Text Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>1</real>
|
||||
<key>Green Component</key>
|
||||
<real>1</real>
|
||||
<key>Red Component</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<key>Foreground Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>1</real>
|
||||
<key>Green Component</key>
|
||||
<real>1</real>
|
||||
<key>Red Component</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<key>Selected Text Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>0.0</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.0</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.0</real>
|
||||
</dict>
|
||||
<key>Selection Color</key>
|
||||
<dict>
|
||||
<key>Blue Component</key>
|
||||
<real>1</real>
|
||||
<key>Green Component</key>
|
||||
<real>0.83529412746429443</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.70980393886566162</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,14 @@
|
|||
[:1.1]
|
||||
file=/home/adam/Pictures/Wallpapers/retro.jpg
|
||||
mode=0
|
||||
bgcolor=#000000
|
||||
|
||||
[xin_1]
|
||||
file=/home/adam/Pictures/Wallpapers/logo.svg
|
||||
mode=2
|
||||
bgcolor=#ffffff
|
||||
|
||||
[xin_0]
|
||||
file=/home/adam/Pictures/Wallpapers/logo.svg
|
||||
mode=2
|
||||
bgcolor=#ffffff
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
[geometry]
|
||||
posx=3840
|
||||
posy=24
|
||||
sizex=3836
|
||||
sizey=2089
|
||||
|
||||
[nitrogen]
|
||||
view=icon
|
||||
recurse=true
|
||||
sort=alpha
|
||||
icon_caps=true
|
||||
dirs=/home/adam/Pictures/Wallpapers;
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 6.1 MiB |
|
|
@ -0,0 +1,595 @@
|
|||
;=====================================================
|
||||
;
|
||||
; To learn more about how to configure Polybar
|
||||
; go to https://github.com/jaagr/polybar
|
||||
;
|
||||
; The README contains alot of information
|
||||
;
|
||||
;=====================================================
|
||||
|
||||
[colors]
|
||||
background = #222
|
||||
background-alt = #444
|
||||
foreground = #dfdfdf
|
||||
foreground-alt = #555
|
||||
primary = #ffb52a
|
||||
secondary = #e60053
|
||||
alert = #bd2c40
|
||||
success = #55aa55
|
||||
warning = #ffda17
|
||||
|
||||
[bar/1080p-top]
|
||||
monitor = ${env:MONITOR:eDP-1}
|
||||
width = 100%
|
||||
height =25
|
||||
|
||||
radius = 0
|
||||
fixed-center = false
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 3
|
||||
line-color = #f00
|
||||
|
||||
border-size = 0
|
||||
border-color = #00000000
|
||||
|
||||
padding-left = 3
|
||||
padding-right = 3
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 1
|
||||
|
||||
font-0 = "Ubuntu Mono derivative Powerline:style=Regular:pixelsize=12:1"
|
||||
font-1 = "Symbola:size=16:antialias=true"
|
||||
font-2 = "PragmataPro Liga:style=Regular:pixelsize=12:1"
|
||||
|
||||
modules-left = powermenu i3 xwindow
|
||||
modules-center =
|
||||
modules-right = polypomo wlan eth battery date
|
||||
|
||||
bottom = false
|
||||
tray-position = right
|
||||
tray-padding = 4
|
||||
tray-transparent = true
|
||||
tray-maxsize = 16
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
dpi-y = 100
|
||||
dpi-x = 100
|
||||
|
||||
|
||||
[bar/1080p-bottom]
|
||||
;remove padding around bar
|
||||
;override-redirect = true
|
||||
monitor = ${env:MONITOR:eDP-1}
|
||||
width = 100%
|
||||
height = 30
|
||||
|
||||
radius = 0
|
||||
fixed-center = false
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 3
|
||||
line-color = #f00
|
||||
|
||||
border-size = 0
|
||||
border-color = #00000000
|
||||
|
||||
padding-left = 3
|
||||
padding-right = 3
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 1
|
||||
|
||||
font-0 = "Ubuntu Mono derivative Powerline:style=Regular:pixelsize=12:1"
|
||||
font-1 = "Symbola:size=16:antialias=true"
|
||||
font-2 = "PragmataPro Liga:style=Regular:pixelsize=12:1"
|
||||
|
||||
modules-left = spotify
|
||||
modules-center =
|
||||
modules-right = displaymenu audiomenu volume backlight filesystem temperature cpu memory keyboard
|
||||
|
||||
bottom = true
|
||||
; tray-position = right
|
||||
; tray-padding = 4
|
||||
; tray-transparent = true
|
||||
; tray-maxsize = 16
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
dpi-y = 100
|
||||
dpi-x = 100
|
||||
|
||||
[bar/4k-bottom]
|
||||
;remove padding around bar
|
||||
;override-redirect = true
|
||||
monitor = ${env:MONITOR:DP-0}
|
||||
width = 100%
|
||||
height = 50
|
||||
|
||||
radius = 0
|
||||
fixed-center = false
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 3
|
||||
line-color = #f00
|
||||
|
||||
border-size = 0
|
||||
border-color = #00000000
|
||||
|
||||
padding-left = 3
|
||||
padding-right = 3
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 1
|
||||
|
||||
font-0 = "Ubuntu Mono derivative Powerline:style=Regular:pixelsize=14:1"
|
||||
font-1 = "Symbola:size=16:antialias=true"
|
||||
font-2 = "PragmataPro Liga:style=Regular:pixelsize=14:1"
|
||||
|
||||
modules-left = spotify
|
||||
modules-center =
|
||||
modules-right = volume backlight filesystem temperature cpu memory keyboard
|
||||
|
||||
bottom = true
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
dpi-y = 125
|
||||
dpi-x = 125
|
||||
|
||||
[bar/4k-top]
|
||||
monitor = ${env:MONITOR:DP-0}
|
||||
width = 100%
|
||||
height = 50
|
||||
|
||||
radius = 0
|
||||
fixed-center = false
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 3
|
||||
line-color = #f00
|
||||
|
||||
border-size = 0
|
||||
border-color = #00000000
|
||||
|
||||
padding-left = 3
|
||||
padding-right = 3
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 1
|
||||
|
||||
font-0 = "Ubuntu Mono derivative Powerline:style=Regular:pixelsize=14:1"
|
||||
font-1 = "Symbola:size=16:antialias=true"
|
||||
font-2 = "PragmataPro Liga:style=Regular:pixelsize=14:1"
|
||||
|
||||
modules-left = powermenu i3 xwindow
|
||||
modules-center =
|
||||
modules-right = polypomo wlan eth battery date
|
||||
|
||||
bottom = false
|
||||
tray-position = right
|
||||
tray-padding = 4
|
||||
tray-transparent = true
|
||||
tray-maxsize = 16
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
dpi-y = 100
|
||||
dpi-x = 100
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title:0:60:...%
|
||||
|
||||
[module/keyboard]
|
||||
type = internal/xkeyboard
|
||||
blacklist-0 = num lock
|
||||
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-prefix-underline = ${colors.secondary}
|
||||
|
||||
label-layout = %layout%
|
||||
label-layout-underline = ${colors.secondary}
|
||||
|
||||
label-indicator-padding = 2
|
||||
label-indicator-margin = 1
|
||||
label-indicator-background = ${colors.secondary}
|
||||
label-indicator-underline = ${colors.secondary}
|
||||
|
||||
[module/filesystem]
|
||||
type = internal/fs
|
||||
interval = 25
|
||||
|
||||
mount-0 = /
|
||||
|
||||
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
|
||||
label-unmounted = %mountpoint% not mounted
|
||||
label-unmounted-foreground = ${colors.foreground-alt}
|
||||
|
||||
; https://github.com/polybar/polybar/wiki/Module:-bspwm
|
||||
[module/bspwm]
|
||||
type = internal/bspwm
|
||||
|
||||
label-focused = %icon% %index% %name%
|
||||
label-focused-background = ${colors.background-alt}
|
||||
label-focused-underline= ${colors.primary}
|
||||
label-focused-padding = 2
|
||||
|
||||
label-occupied = %index% %name%
|
||||
label-occupied-padding = 1
|
||||
|
||||
label-urgent = %index%!
|
||||
label-urgent-background = ${colors.alert}
|
||||
label-urgent-padding = 1
|
||||
|
||||
label-empty = %index% %name%
|
||||
label-empty-foreground = ${colors.foreground-alt}
|
||||
label-empty-padding = 1
|
||||
|
||||
[module/i3]
|
||||
type = internal/i3
|
||||
format = <label-state> <label-mode>
|
||||
index-sort = true
|
||||
wrapping-scroll = true
|
||||
|
||||
; Only show workspaces on the same output as the bar
|
||||
pin-workspaces = true
|
||||
|
||||
label-mode-padding = 2
|
||||
label-mode-foreground = #000
|
||||
label-mode-background = ${colors.primary}
|
||||
|
||||
; focused = Active workspace on focused monitor
|
||||
label-focused = %index%
|
||||
label-focused-background = ${colors.background-alt}
|
||||
label-focused-underline = ${colors.success}
|
||||
label-focused-padding = 2
|
||||
|
||||
; unfocused = Inactive workspace on any monitor
|
||||
label-unfocused = %index%
|
||||
label-unfocused-padding = 1
|
||||
|
||||
; visible = Active workspace on unfocused monitor
|
||||
label-visible = %index%
|
||||
label-visible-background = ${colors.foreground-alt}
|
||||
label-visible-underline = ${colors.primary}
|
||||
label-visible-padding = 2
|
||||
|
||||
; urgent = Workspace with urgency hint set
|
||||
label-urgent = %index%
|
||||
label-urgent-background = ${colors.background-alt}
|
||||
label-urgent-padding = 2
|
||||
|
||||
[module/mpd]
|
||||
type = internal/mpd
|
||||
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
|
||||
|
||||
icon-prev =
|
||||
icon-stop =
|
||||
icon-play =
|
||||
icon-pause =
|
||||
icon-next =
|
||||
|
||||
label-song-maxlen = 25
|
||||
label-song-ellipsis = true
|
||||
|
||||
[module/backlight]
|
||||
; Use the following command to list available cards:
|
||||
; $ ls -1 /sys/class/backlight/
|
||||
type = internal/backlight
|
||||
|
||||
; Default: the monitor defined for the running bar
|
||||
; output = eDP-1
|
||||
card = intel_backlight
|
||||
|
||||
enable-scroll = true
|
||||
|
||||
; output = eDP-1
|
||||
; format = <label> <bar>
|
||||
format = <label> <ramp>
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
label = BACKLIGHT: %percentage%%
|
||||
|
||||
; Only applies if <ramp> is used
|
||||
ramp-0 = 🌕
|
||||
ramp-1 = 🌔
|
||||
ramp-2 = 🌓
|
||||
ramp-3 = 🌒
|
||||
ramp-4 = 🌑
|
||||
|
||||
; Only applies if <bar> is used
|
||||
bar-width = 10
|
||||
bar-indicator = |
|
||||
bar-fill = ─
|
||||
bar-empty = ─
|
||||
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 15
|
||||
format-prefix = "MEM: "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #4bffdc
|
||||
label = %gb_used%/%gb_total%
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = "CPU: "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #f90000
|
||||
label = %percentage%%
|
||||
|
||||
[module/wlan]
|
||||
type = internal/network
|
||||
;interface = wlo1
|
||||
interface = wlan0
|
||||
interval = 5.0
|
||||
|
||||
format-connected-prefix =
|
||||
format-connected-prefix-foreground = ${colors.foreground-alt}
|
||||
label-connected = '%essid%' %local_ip% U-%upspeed% D-%downspeed%
|
||||
format-connected = <ramp-signal> <label-connected>
|
||||
format-connected-underline = #9f78e1
|
||||
|
||||
;format-disconnected =
|
||||
format-disconnected = <label-disconnected>
|
||||
format-disconnected-underline = ${self.format-connected-underline}
|
||||
label-disconnected = %ifname% X
|
||||
label-disconnected-foreground = ${colors.foreground-alt}
|
||||
|
||||
ramp-signal-0 = ▁
|
||||
ramp-signal-1 = ▁▂
|
||||
ramp-signal-2 = ▁▂▃
|
||||
ramp-signal-3 = ▁▂▃▄
|
||||
ramp-signal-4 = ▁▂▃▅▇
|
||||
ramp-signal-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/network]
|
||||
type = internal/network
|
||||
interface = enp109s0f1
|
||||
;interface = enx8cae5cec01dd
|
||||
interval = 5.0
|
||||
|
||||
format-connected-underline = #55aa55
|
||||
;format-connected-prefix = " "
|
||||
format-connected-prefix-foreground = ${colors.foreground-alt}
|
||||
label-connected = eth %local_ip%
|
||||
|
||||
format-disconnected =
|
||||
;format-disconnected = <label-disconnected>
|
||||
;format-disconnected-underline = ${self.format-connected-underline}
|
||||
label-disconnected = %ifname% disconnected
|
||||
;label-disconnected-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
interval = 1
|
||||
|
||||
date = "%Y-%m-%d"
|
||||
date-alt = " %Y-%m-%d"
|
||||
|
||||
time = %H:%M
|
||||
time-alt = %H:%M:%S
|
||||
|
||||
format-prefix = 🗓
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #0a6cf5
|
||||
|
||||
label = %date% %time%
|
||||
|
||||
[module/volume]
|
||||
type = internal/volume
|
||||
|
||||
label-volume = 🔊 VOL:
|
||||
label-volume-foreground = ${root.foreground}
|
||||
format-volume = <label-volume> <bar-volume>
|
||||
|
||||
format-muted-prefix = "🔊 "
|
||||
format-muted-foreground = ${colors.foreground-alt}
|
||||
label-muted = ---- MUTED ----
|
||||
|
||||
bar-volume-width = 12
|
||||
bar-volume-foreground-0 = #55aa55
|
||||
bar-volume-foreground-1 = #f5a70a
|
||||
bar-volume-foreground-2 = #ff5555
|
||||
bar-volume-gradient = true
|
||||
bar-volume-indicator = ─
|
||||
bar-volume-indicator-font = 2
|
||||
bar-volume-fill = ─
|
||||
bar-volume-fill-font = 2
|
||||
bar-volume-empty = ─
|
||||
bar-volume-empty-font = 2
|
||||
bar-volume-empty-foreground = ${colors.foreground-alt}
|
||||
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
; Use the following command to list batteries and adapters:
|
||||
; ls -1 /sys/class/power_supply
|
||||
battery = BAT0
|
||||
adapter = AC0
|
||||
full-at = 97
|
||||
poll-interval = 5
|
||||
|
||||
label-charging = %percentage%% - charging @ %consumption%W
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
format-charging-underline = ${colors.success}
|
||||
|
||||
label-discharging = %percentage%% - %time% @ %consumption%W
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
format-discharging-underline = ${colors.warning}
|
||||
|
||||
format-full-prefix = "|▇|"
|
||||
format-full-prefix-foreground = ${colors.foreground-alt}
|
||||
format-full-underline = ${colors.success}
|
||||
label-full = " Battery Full"
|
||||
|
||||
ramp-capacity-0 = |_|
|
||||
ramp-capacity-1 = |▁|
|
||||
ramp-capacity-2 = |▃|
|
||||
ramp-capacity-3 = |▄|
|
||||
ramp-capacity-4 = |▅|
|
||||
ramp-capacity-5 = |▆|
|
||||
ramp-capacity-6 = |▇|
|
||||
ramp-capacity-foreground = ${colors.foreground-alt}
|
||||
|
||||
animation-charging-0 = |▁|
|
||||
animation-charging-1 = |▂|
|
||||
animation-charging-2 = |▃|
|
||||
animation-charging-3 = |▄|
|
||||
animation-charging-4 = |▅|
|
||||
animation-charging-5 = |▆|
|
||||
animation-charging-6 = |▇|
|
||||
animation-charging-foreground = ${colors.foreground-alt}
|
||||
|
||||
animation-discharging-framerate = 2000
|
||||
animation-charging-framerate = 500
|
||||
|
||||
[module/temperature]
|
||||
type = internal/temperature
|
||||
interval = 2
|
||||
thermal-zone = 0
|
||||
base-temperature = 10
|
||||
warn-temperature = 65
|
||||
|
||||
format = <ramp> <label>
|
||||
format-underline = #f50a4d
|
||||
format-warn = <ramp> <label-warn>
|
||||
format-warn-underline = ${self.format-underline}
|
||||
|
||||
label = %temperature%
|
||||
label-warn = 🔥%temperature%🔥
|
||||
label-warn-foreground = ${colors.secondary}
|
||||
|
||||
ramp-0 = |_|
|
||||
ramp-1 = |-|
|
||||
ramp-2 = |^|
|
||||
ramp-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/displaymenu]
|
||||
type = custom/menu
|
||||
expand-right = false
|
||||
format-spacing = 1
|
||||
label-open = DISPLAY
|
||||
label-open-foreground = ${colors.secondary}
|
||||
label-close = CANCEL
|
||||
label-close-foreground = ${colors.secondary}
|
||||
label-separator = |
|
||||
label-separator-foreground = ${colors.foreground-alt}
|
||||
|
||||
menu-0-0 = Connect
|
||||
menu-0-0-exec = ~/.config/i3/setup_external_displays.sh CONNECT
|
||||
|
||||
menu-0-1 = Disconnect
|
||||
menu-0-1-exec = ~/.config/i3/setup_external_displays.sh DISCONNECT
|
||||
|
||||
[module/audiomenu]
|
||||
type = custom/menu
|
||||
expand-right = false
|
||||
format-spacing = 1
|
||||
label-open = LINE-OUT
|
||||
label-open-foreground = ${colors.secondary}
|
||||
label-close = CANCEL
|
||||
label-close-foreground = ${colors.secondary}
|
||||
label-separator = |
|
||||
label-separator-foreground = ${colors.foreground-alt}
|
||||
|
||||
menu-0-0 = Speakers
|
||||
menu-0-0-exec = pactl set-default-sink 'alsa_output.pci-0000_00_1f.3.analog-stereo'
|
||||
|
||||
menu-0-1 = Jabra
|
||||
menu-0-1-exec = pactl set-default-sink 'alsa_output.usb-0b0e_Jabra_SPEAK_510_USB_501AA56C0DBB020A00-00.analog-stereo'
|
||||
|
||||
menu-0-2 = Razer Mic
|
||||
menu-0-2-exec = pactl set-default-sink 'alsa_output.usb-Razer_Inc_Razer_Seiren_X_UC2102L01304427-00.analog-stereo'
|
||||
|
||||
menu-0-3 = HyperX Headset
|
||||
menu-0-3-exec = pactl set-default-sink 'alsa_output.usb-Kingston_HyperX_7.1_Audio_00000000-00.stereo-fallback'
|
||||
|
||||
[module/powermenu]
|
||||
type = custom/menu
|
||||
|
||||
expand-right = true
|
||||
|
||||
format-spacing = 1
|
||||
|
||||
label-open = I/O
|
||||
label-open-foreground = ${colors.secondary}
|
||||
label-close = cancel
|
||||
label-close-foreground = ${colors.secondary}
|
||||
label-separator = |
|
||||
label-separator-foreground = ${colors.foreground-alt}
|
||||
|
||||
|
||||
menu-0-0 = lock
|
||||
menu-0-0-exec = i3lock-fancy
|
||||
|
||||
menu-0-1 = suspend
|
||||
menu-0-1-exec = systemctl suspend
|
||||
|
||||
menu-0-2 = reboot
|
||||
menu-0-2-exec = menu-open-1
|
||||
|
||||
menu-0-3 = shutdown
|
||||
menu-0-3-exec = menu-open-2
|
||||
|
||||
menu-1-0 = cancel
|
||||
menu-1-0-exec = menu-open-0
|
||||
|
||||
menu-1-1 = reboot
|
||||
menu-1-1-exec = shutdown -r now
|
||||
|
||||
menu-2-0 = power off
|
||||
menu-2-0-exec = shutdown now
|
||||
|
||||
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
|
||||
|
||||
[global/wm]
|
||||
margin-top = 5
|
||||
margin-bottom = 5
|
||||
|
||||
[module/polypomo]
|
||||
type = custom/script
|
||||
|
||||
exec = ~/tools/polybar/polypomo/polypomo
|
||||
tail = true
|
||||
|
||||
label = POM:%output%
|
||||
click-left = ~/tools/polybar/polypomo/polypomo toggle
|
||||
click-right = ~/tools/polybar/polypomo/polypomo end
|
||||
click-middle = ~/tools/polybar/polypomo/polypomo lock
|
||||
scroll-up = ~/tools/polybar/polypomo time +60
|
||||
scroll-down = ~/tools/polybar/polypomo time -60
|
||||
format-underline = #1db954
|
||||
|
||||
[module/spotify]
|
||||
type = custom/script
|
||||
interval = 5
|
||||
format-prefix = "🎶 "
|
||||
format = 🎶<label> 🎶
|
||||
exec = python ~/tools/polybar/polybar-spotify/spotify_status.py -p '>,||' -f '{play_pause} {song} -by- {artist} -from- {album}' --font 3 -t 120
|
||||
format-underline = #1db954
|
||||
|
||||
; vim:ft=dosini
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
[global_config]
|
||||
title_transmit_bg_color = "#204a87"
|
||||
title_receive_bg_color = "#ce5c00"
|
||||
title_inactive_bg_color = "#555753"
|
||||
inactive_color_offset = 0.936073059361
|
||||
suppress_multiple_term_dialog = True
|
||||
case_sensitive = False
|
||||
[keybindings]
|
||||
zoom_in = <Primary>equal
|
||||
zoom_out = <Primary>minus
|
||||
zoom_normal = <Primary><Shift>plus
|
||||
new_tab = <Primary>t
|
||||
go_up = <Primary><Shift>k
|
||||
go_down = <Primary><Shift>j
|
||||
go_left = <Primary><Shift>h
|
||||
go_right = <Primary><Shift>l
|
||||
split_horiz = <Primary>i
|
||||
split_vert = <Primary>s
|
||||
close_term = <Primary>w
|
||||
paste = <Primary><Shift>v
|
||||
search = <Primary>f
|
||||
line_up = <Shift>Up
|
||||
line_down = <Shift>Down
|
||||
close_window = <Primary><Shift>w
|
||||
next_tab = <Primary>Tab
|
||||
ungroup_all = <Primary><Shift>g
|
||||
ungroup_tab = <Primary><Shift>u
|
||||
new_window = <Primary>n
|
||||
edit_tab_title = <Primary>F2
|
||||
edit_terminal_title = F2
|
||||
[profiles]
|
||||
[[default]]
|
||||
visible_bell = True
|
||||
background_color = "#002b36"
|
||||
background_darkness = 0.89
|
||||
background_type = transparent
|
||||
cursor_color = "#aaaaaa"
|
||||
font = PragmataPro Mono Liga 12
|
||||
foreground_color = "#839496"
|
||||
scrollback_infinite = True
|
||||
palette = "#282828:#cc241d:#98971a:#d79921:#458588:#b16286:#689d6a:#a89984:#928374:#fb4934:#b8bb26:#fabd2f:#83a598:#d3869b:#8ec07c:#ebdbb2"
|
||||
login_shell = True
|
||||
custom_command = /bin/bash --login
|
||||
use_system_font = False
|
||||
[layouts]
|
||||
[[default]]
|
||||
[[[child0]]]
|
||||
type = Window
|
||||
parent = ""
|
||||
order = 0
|
||||
position = 0:25
|
||||
maximised = False
|
||||
fullscreen = False
|
||||
size = 958, 1023
|
||||
title = /bin/bash
|
||||
last_active_term = 83e6ff1b-e9c5-4688-af8c-efb0ae56dd94
|
||||
last_active_window = True
|
||||
[[[terminal1]]]
|
||||
type = Terminal
|
||||
parent = child0
|
||||
order = 0
|
||||
profile = default
|
||||
uuid = 83e6ff1b-e9c5-4688-af8c-efb0ae56dd94
|
||||
directory = /home/adam/projects
|
||||
[plugins]
|
||||
|
|
@ -0,0 +1,122 @@
|
|||
#------------------------------------------------------------------------------#
|
||||
# vim:set ft=sh ("set modeline" in ~/.exrc)#
|
||||
#------------------------------------------------------------------------------#
|
||||
# Config file : ~/.config/tmux/.tmux.conf #
|
||||
# #
|
||||
# Author : Adam Veldhousen The USA #
|
||||
#------------------------------------------------------------------------------#
|
||||
|
||||
#default to bash
|
||||
set -g default-command "/bin/bash --login"
|
||||
set -g default-shell "/bin/bash"
|
||||
|
||||
|
||||
set -g default-terminal "xterm-256color"
|
||||
|
||||
# set esc-wait off, so vim works
|
||||
set-option -sg escape-time 0
|
||||
|
||||
|
||||
#set prefix to ctrl-a
|
||||
unbind-key C-b
|
||||
set-option -g prefix C-a
|
||||
unbind-key C-a ; bind-key C-a send-prefix
|
||||
|
||||
# some nice ops
|
||||
set-option -g bell-action any
|
||||
set-option -g history-limit 10000
|
||||
set-option -g set-titles on
|
||||
set-option -g set-titles-string ' #I-#W '
|
||||
set-option -g repeat-time 500
|
||||
set-option -g visual-bell on
|
||||
set-option -g base-index 1
|
||||
|
||||
|
||||
#status bar
|
||||
set-option -g status-keys vi
|
||||
set-option -g status-interval 1
|
||||
set-option -g status-justify left
|
||||
|
||||
set-option -g status-left-length 65
|
||||
#set-option -g status-left-bg blue
|
||||
set-option -g status-left ' #h | Adam Veldhousen '
|
||||
|
||||
#set-option -g status-right-bg green
|
||||
set-option -g status-right ' tmux is rad | %A %B %d, %Y %Ts '
|
||||
|
||||
set-option buffer-limit 10
|
||||
|
||||
#window options
|
||||
#set-window-option -g utf8 on
|
||||
set-window-option -g clock-mode-style 24
|
||||
set-window-option -g monitor-activity on
|
||||
set-window-option -g automatic-rename on
|
||||
set-window-option -g mouse
|
||||
#set -g pane-active-border-fg green
|
||||
#set -g pane-border-fg white
|
||||
#set -g pane-border-bg white
|
||||
#set -g pane-active-border-fg cyan
|
||||
#set -g pane-active-border-bg cyan
|
||||
|
||||
source-file ~/.config/tmux/tmux-themepack/powerline/block/orange.tmuxtheme
|
||||
#source ~/projects/laughing-hipster/tools/powerline/powerline/powerline/bindings/tmux/powerline.conf
|
||||
|
||||
# Window nav
|
||||
unbind-key 1 ; bind-key 1 select-window -t 1
|
||||
unbind-key 2 ; bind-key 2 select-window -t 2
|
||||
unbind-key 3 ; bind-key 3 select-window -t 3
|
||||
unbind-key 4 ; bind-key 4 select-window -t 4
|
||||
unbind-key 5 ; bind-key 5 select-window -t 5
|
||||
unbind-key 6 ; bind-key 6 select-window -t 6
|
||||
unbind-key 7 ; bind-key 7 select-window -t 7
|
||||
unbind-key 8 ; bind-key 8 select-window -t 8
|
||||
unbind-key 9 ; bind-key 9 select-window -t 9
|
||||
unbind-key 0 ; bind-key 0 select-window -t 0
|
||||
#maybe bind alt key + num
|
||||
|
||||
#pane selection
|
||||
unbind-key left ; bind-key left select-pane -L
|
||||
unbind-key right ; bind-key right select-pane -R
|
||||
unbind-key up ; bind-key up select-pane -U
|
||||
unbind-key down ; bind-key down select-pane -D
|
||||
#vim binding
|
||||
unbind-key h ; bind-key h select-pane -L
|
||||
unbind-key l ; bind-key l select-pane -R
|
||||
unbind-key k ; bind-key k select-pane -U
|
||||
unbind-key j ; bind-key j select-pane -D
|
||||
|
||||
#pane resizing
|
||||
unbind-key J ; bind-key -r J resize-pane -D 5
|
||||
unbind-key K ; bind-key -r K resize-pane -U 5
|
||||
unbind-key L ; bind-key -r L resize-pane -R 5
|
||||
unbind-key H ; bind-key -r H resize-pane -L 5
|
||||
|
||||
# window splitting
|
||||
unbind-key M-i ; bind-key M-i split-window -v
|
||||
unbind-key M-s ; bind-key M-s split-window -h
|
||||
unbind-key i ; bind-key i split-window -v
|
||||
unbind-key s ; bind-key s split-window -h
|
||||
unbind-key c ; bind-key n new-window
|
||||
unbind-key & ; bind-key w confirm-before -p "Kill #W? (y/n)" kill-window
|
||||
#unbind-key $ ; bind-key R command-prompt -I "#S" "rename-session -- '%%'"
|
||||
unbind-key , ; bind-key r command-prompt -I "#W" "rename-window -- '%%'"
|
||||
|
||||
#nice bindings
|
||||
unbind-key R ; bind-key R source-file ~/.config/tmux/.tmux.conf
|
||||
unbind-key q ; bind-key q list-keys
|
||||
unbind-key M-q ; bind-key M-q list-keys
|
||||
|
||||
# vim behavior
|
||||
|
||||
unbind [ ; bind Escape copy-mode
|
||||
unbind p ; bind p paste-buffer
|
||||
#bind -t vi-copy 'v' begin-selection
|
||||
#bind -t vi-copy 'y' copy-selection
|
||||
|
||||
#unbind-key ^A-c ; bind-key -n ^A-c copy-mode
|
||||
#unbind-key ^A-NPage ; bind-key -n ^A-NPage copy-mode
|
||||
#unbind-key ^A-PPage ; bind-key -n ^A-PPage copy-mode
|
||||
#unbind-key ^A-i ; bind-key -n ^A-i paste-buffer
|
||||
#unbind-key ^A-P ; bind-key -n ^A-P paste-buffer
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
Home ~
|
||||
Projects ~/Projects
|
||||
Documents ~/Documents
|
||||
Downloads ~/Downloads
|
||||
Configs ~/.config
|
||||
Shell Extensions ~/.files-plugins
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
# Basic options
|
||||
--recurse=yes
|
||||
--tag-relative=yes
|
||||
--exclude=.git
|
||||
--exclude=*.min.js
|
||||
--exclude=vendor
|
||||
--exclude=node_modules
|
||||
|
||||
# Regex for Clojure
|
||||
--langdef=Clojure
|
||||
--langmap=Clojure:.clj
|
||||
--regex-clojure=/\([ \t]*create-ns[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/n,namespace/
|
||||
--regex-clojure=/\([ \t]*def[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/d,definition/
|
||||
--regex-clojure=/\([ \t]*defn-?[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/f,function/
|
||||
--regex-clojure=/\([ \t]*defmacro[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/m,macro/
|
||||
--regex-clojure=/\([ \t]*definline[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/i,inline/
|
||||
--regex-clojure=/\([ \t]*defmulti[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/a,multimethod definition/
|
||||
--regex-clojure=/\([ \t]*defmethod[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/b,multimethod instance/
|
||||
--regex-clojure=/\([ \t]*defonce[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/c,definition (once)/
|
||||
--regex-clojure=/\([ \t]*defstruct[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/s,struct/
|
||||
--regex-clojure=/\([ \t]*intern[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/v,intern/
|
||||
--regex-clojure=/\([ \t]*ns[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/n,namespace/
|
||||
|
||||
# PHP
|
||||
--langmap=php:.engine.inc.module.theme.install.php --PHP-kinds=+cf-v
|
||||
|
||||
# Typescript
|
||||
--langdef=typescript
|
||||
--langmap=typescript:.ts
|
||||
--regex-typescript=/^[ \t]*(export[ \t]+([a-z]+[ \t]+)?)?class[ \t]+([a-zA-Z0-9_$]+)/\3/c,classes/
|
||||
--regex-typescript=/^[ \t]*(declare[ \t]+)?namespace[ \t]+([a-zA-Z0-9_$]+)/\2/c,modules/
|
||||
--regex-typescript=/^[ \t]*(export[ \t]+)?module[ \t]+([a-zA-Z0-9_$]+)/\2/n,modules/
|
||||
--regex-typescript=/^[ \t]*(export[ \t]+)?(async[ \t]+)?function[ \t]+([a-zA-Z0-9_$]+)/\3/f,functions/
|
||||
--regex-typescript=/^[ \t]*export[ \t]+(var|let|const)[ \t]+([a-zA-Z0-9_$]+)/\2/v,variables/
|
||||
--regex-typescript=/^[ \t]*(var|let|const)[ \t]+([a-zA-Z0-9_$]+)[ \t]*=[ \t]*function[ \t]*[*]?[ \t]*\(\)/\2/v,varlambdas/
|
||||
--regex-typescript=/^[ \t]*(export[ \t]+)?(public|protected|private)[ \t]+(static[ \t]+)?(abstract[ \t]+)?(((get|set)[ \t]+)|(async[ \t]+[*]*[ \t]*))?([a-zA-Z1-9_$]+)/\9/m,members/
|
||||
--regex-typescript=/^[ \t]*(export[ \t]+)?interface[ \t]+([a-zA-Z0-9_$]+)/\2/i,interfaces/
|
||||
--regex-typescript=/^[ \t]*(export[ \t]+)?type[ \t]+([a-zA-Z0-9_$]+)/\2/t,types/
|
||||
--regex-typescript=/^[ \t]*(export[ \t]+)?enum[ \t]+([a-zA-Z0-9_$]+)/\2/e,enums/
|
||||
--regex-typescript=/^[ \t]*import[ \t]+([a-zA-Z0-9_$]+)/\1/I,imports/
|
||||
|
||||
# Rust
|
||||
--langdef=Rust
|
||||
--langmap=Rust:.rs
|
||||
--regex-Rust=/fn +([a-zA-Z0-9_]+) *[(<{]/\1/f,functions,function definitions/
|
||||
--regex-Rust=/(type|enum|struct|trait)[ \t]+([a-zA-Z0-9_]+) *[<{(;]/\2/T,types,type definitions/
|
||||
--regex-Rust=/mod[ \t]+([a-zA-Z0-9_]+) *[<{(;]/\1/M,modules,module definitions/
|
||||
--regex-Rust=/(static|const) +([a-zA-Z0-9_]+) *[:=]/\2/c,consts,static constants/
|
||||
--regex-Rust=/macro_rules! +([a-zA-Z0-9_]+) *{/\1/d,macros,macro definitions/
|
||||
--regex-Rust=/impl([ \t\n]*<[^>]*>)?[ \t]+(([a-zA-Z0-9_:]+)[ \t]*(<[^>]*>)?[ \t]+(for)[ \t]+)?([a-zA-Z0-9_]+)/\6/i,impls,trait implementations/
|
||||
|
||||
# LESS
|
||||
--langdef=less
|
||||
--langmap=less:.less
|
||||
--regex-less=/^[ t]*.([A-Za-z0-9_-]+)/1/c,class,classes/
|
||||
--regex-less=/^[ t]*#([A-Za-z0-9_-]+)/1/i,id,ids/
|
||||
--regex-less=/^[ t]*(([A-Za-z0-9_-]+[ tn,]+)+){/1/t,tag,tags/
|
||||
--regex-less=/^[ t]*@medias+([A-Za-z0-9_-]+)/1/m,media,medias/
|
||||
|
||||
# Javascript (ES6)
|
||||
--langdef=js
|
||||
--langmap=js:.js
|
||||
--regex-js=/([A-Za-z0-9._$]+)[ t]*[:=][ t]*{/1/,object/
|
||||
--regex-js=/([A-Za-z0-9._$()]+)[ t]*[:=][ t]*function[ t]*(/1/,function/
|
||||
--regex-js=/function[ t]+([A-Za-z0-9._$]+)[ t]*(([^)]))/1/,function/
|
||||
--regex-js=/([A-Za-z0-9._$]+)[ t]*[:=][ t]*[/1/,array/
|
||||
--regex-js=/([^= ]+)[ t]*=[ t]*[^"]'[^']*/1/,string/
|
||||
--regex-js=/([^= ]+)[ t]*=[ t]*[^']"[^"]*/1/,string/
|
||||
--regex-js=/^[ \t]*(export[ \t]+([a-z]+[ \t]+)?)?class[ \t]+([a-zA-Z0-9_$]+)/\3/c,classes/
|
||||
--regex-js=/^[ \t]*import[ \t]+([a-zA-Z0-9_$]+)/\1/I,imports/
|
||||
--regex-js=/^[ \t]*(export[ \t]+)?(async[ \t]+)?function[ \t]+([a-zA-Z0-9_$]+)/\3/f,functions/
|
||||
--regex-js=/^[ \t]*export[ \t]+(var|let|const)[ \t]+([a-zA-Z0-9_$]+)/\2/v,variables/
|
||||
--regex-js=/^[ \t]*(var|let|const)[ \t]+([a-zA-Z0-9_$]+)[ \t]*=[ \t]*function[ \t]*[*]?[ \t]*\(\)/\2/v,varlambdas/
|
||||
|
|
@ -0,0 +1,376 @@
|
|||
" change runtime path
|
||||
set runtimepath=~/.config/vim/runtime/
|
||||
|
||||
execute pathogen#infect()
|
||||
execute pathogen#helptags()
|
||||
|
||||
"we don't want vi compatibility AKA Make Vim more useful
|
||||
set nocompatible
|
||||
|
||||
"color schemes
|
||||
colorscheme torte
|
||||
"colorscheme jellybeans
|
||||
"colorscheme molokai
|
||||
"colorscheme wombat256i
|
||||
"colorscheme dragon-energy
|
||||
"colorscheme patagonia-vim
|
||||
"colorscheme vim-colors-solarized
|
||||
"colorscheme vim-obsidian
|
||||
"colorscheme rdark
|
||||
"colorscheme ecostation
|
||||
"colorscheme vilight
|
||||
"colorscheme vim-tomorrow-theme
|
||||
"colorscheme monokai
|
||||
"colorscheme inkpot
|
||||
"colorscheme CmptrClr
|
||||
|
||||
set omnifunc=syntaxcomplete#Complete
|
||||
set completeopt-=preview
|
||||
|
||||
set wildignore=*.png,*.jpg,node_modules,*.min.js,*.txt,*.bak,*.exe,vendor.js
|
||||
set autochdir
|
||||
set tags=./.git/tags,tags;$HOME
|
||||
set noswapfile
|
||||
set backupcopy=yes
|
||||
set autoread
|
||||
set selection=exclusive
|
||||
set ttimeoutlen=70
|
||||
set termguicolors
|
||||
" Use the OS clipboard by default (on versions compiled with `+clipboard`)
|
||||
set clipboard=unnamedplus
|
||||
" Enhance command-line completion
|
||||
set wildmenu
|
||||
" Allow cursor keys in insert mode
|
||||
set esckeys
|
||||
" Allow backspace in insert mode
|
||||
set backspace=indent,eol,start
|
||||
" Optimize for fast terminal connections
|
||||
set ttyfast
|
||||
" Add the g flag to search/replace by default
|
||||
set gdefault
|
||||
" Use UTF-8 without BOM
|
||||
set encoding=utf-8 "nobomb
|
||||
|
||||
set binary
|
||||
|
||||
" Don't add empty newlines at the end of files
|
||||
set noeol
|
||||
|
||||
set history=500 " Number of things to remember in history.
|
||||
set t_Co=256
|
||||
|
||||
" Centralize backups, swapfiles and undo history
|
||||
if exists("&backupdir")
|
||||
set backupdir=~/.config/vim/backups/
|
||||
endif
|
||||
if exists("&directory")
|
||||
set directory=~/.config/vim/swaps/
|
||||
endif
|
||||
if exists("&undodir")
|
||||
set undodir=~/.config/vim/undo/
|
||||
endif
|
||||
|
||||
" Respect modeline in files
|
||||
set modeline
|
||||
set modelines=4
|
||||
|
||||
" Enable per-directory .vimrc files and disable unsafe commands in them
|
||||
set exrc
|
||||
set secure
|
||||
|
||||
" Enable line numbers
|
||||
set number
|
||||
" Enable syntax highlighting
|
||||
syntax on
|
||||
" Highlight current line
|
||||
set cursorline
|
||||
" Make tabs as wide as four spaces
|
||||
set tabstop=4
|
||||
set expandtab
|
||||
set shiftwidth=4
|
||||
|
||||
" Show “invisible” characters
|
||||
set lcs=tab:▸\ ,trail:·,eol:¬,nbsp:_
|
||||
set list
|
||||
" Highlight searches
|
||||
set hlsearch
|
||||
" Ignore case of searches
|
||||
set ignorecase
|
||||
" Highlight dynamically as pattern is typed
|
||||
set incsearch
|
||||
" Always show status line
|
||||
set laststatus=2
|
||||
" Enable mouse in all modes
|
||||
set mouse=a
|
||||
" Disable error bells
|
||||
set noerrorbells
|
||||
" Dont reset cursor to start of line when moving around.
|
||||
set nostartofline
|
||||
" Show the cursor position
|
||||
set ruler
|
||||
" Dont show the intro message when starting Vim
|
||||
set shortmess=atI
|
||||
" Show the current mode
|
||||
set showmode
|
||||
" Show the filename in the window titlebar
|
||||
set title
|
||||
" Show the (partial) command as its being typed
|
||||
set showcmd
|
||||
|
||||
" Start scrolling x lines before the horizontal window border
|
||||
set scrolloff=4
|
||||
|
||||
autocmd FileType javascript setlocal ts=4 sts=4 sw=4 expandtab
|
||||
autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
|
||||
autocmd Filetype go setlocal ts=4 sw=4 sts=4 noexpandtab
|
||||
|
||||
|
||||
" Change mapleader
|
||||
let mapleader = ","
|
||||
|
||||
map <leader><Space> :HardTimeToggle<CR>
|
||||
|
||||
map <Space> :noh<CR>
|
||||
|
||||
"replace with regular newlines
|
||||
noremap <leader>k :%s/ //g<CR>
|
||||
|
||||
"list buffers
|
||||
map <leader>w :buffers<CR>
|
||||
|
||||
" open erros
|
||||
map <leader>e :lw 5<CR>
|
||||
|
||||
" mini buffer explorer toggle
|
||||
map <Leader>b :MBEToggle<cr>
|
||||
|
||||
" easymotion mappings
|
||||
" n character search
|
||||
map <leader>/ <Plug>(easymotion-tn)
|
||||
" 2 character search
|
||||
map <leader>s <Plug>(easymotion-s2)
|
||||
|
||||
" nerdtree mapppings
|
||||
nmap <leader>n :NERDTreeToggle %:p:h<CR>
|
||||
nmap <leader>m :NERDTreeClose<CR>:NERDTreeFind<CR>
|
||||
|
||||
let g:NERDTreeBookmarksFile = ~/.config/vim/.NERDTreeBookmarks
|
||||
|
||||
" strips whitespace
|
||||
noremap <leader>ws :call StripWhitespace()<CR>
|
||||
|
||||
" Strip trailing whitespace (,ss)
|
||||
function! StripWhitespace()
|
||||
let save_cursor = getpos(".")
|
||||
let old_query = getreg('/')
|
||||
:%s/\s\+$//e
|
||||
call setpos('.', save_cursor)
|
||||
call setreg('/', old_query)
|
||||
endfunction
|
||||
|
||||
|
||||
" pane resizing
|
||||
noremap <C-w> :resize -3<Cr>
|
||||
noremap <C-x> :resize +3<Cr>
|
||||
noremap <C-a> :vertical resize +3<Cr>
|
||||
noremap <C-d> :vertical resize -3<Cr>
|
||||
|
||||
"pane movements
|
||||
noremap <C-h> <C-w>h
|
||||
noremap <C-j> <C-w>j
|
||||
noremap <C-k> <C-w>k
|
||||
noremap <C-l> <C-w>l
|
||||
|
||||
map <leader>x :%s/\s\+$//<CR>:noh<Cr>
|
||||
|
||||
"reload vim config
|
||||
noremap <leader>rr :so ~/.vimrc<CR>
|
||||
|
||||
"open vimrc in a new tab
|
||||
map <leader>v :tabedit ~/.vimrc<CR>
|
||||
map <F1> <Nop>
|
||||
|
||||
" Save a file as root (,W)
|
||||
noremap <leader>W :w !sudo tee % > /dev/null<CR>
|
||||
|
||||
" generate tags
|
||||
nnoremap <leader>c :! ctags -R -f ./.git/tags .<CR>
|
||||
|
||||
" enable neocomplete
|
||||
let g:neocomplete#enable_at_startup = 0
|
||||
|
||||
" Use smartcase
|
||||
let g:neocomplete#enable_smart_case = 0
|
||||
|
||||
" indent guides
|
||||
let g:indent_guides_enable_on_vim_startup = 1
|
||||
let g:indent_guides_guide_size = 1
|
||||
let g:indent_guides_start_level = 2
|
||||
|
||||
" tern
|
||||
let g:tern_show_argument_hits='on_hold'
|
||||
let g:tern_map_keys=1
|
||||
let g:tern_map_prefix = '<leader>'
|
||||
|
||||
" vim-go
|
||||
let g:go_highlight_functions = 1
|
||||
let g:go_highlight_methods = 1
|
||||
let g:go_highlight_structs = 1
|
||||
let g:go_highlight_operators = 1
|
||||
let g:go_highlight_build_constraints = 1
|
||||
let g:go_highlight_extra_types = 1
|
||||
let g:go_fmt_command = "goimports"
|
||||
let g:go_fmt_autosave = 1
|
||||
" -b -w -p"
|
||||
|
||||
let g:syntastic_go_checkers = ['go', 'errcheck', 'gofmt', 'golint', 'govet']
|
||||
"let g:syntastic_mode_map = { 'mode': 'active', 'passive_filetypes': ['go'] }
|
||||
|
||||
" Automatic commands
|
||||
if has("autocmd")
|
||||
" Use relative line numbers
|
||||
if exists("&relativenumber")
|
||||
set relativenumber
|
||||
au BufReadPost * set relativenumber
|
||||
endif
|
||||
|
||||
" rename symbol
|
||||
au FileType go nmap <Leader>r <Plug>(go-rename)
|
||||
|
||||
" show type info
|
||||
au FileType go nmap <Leader>ki <Plug>(go-info)
|
||||
|
||||
" go def
|
||||
au FileType go nmap <Leader>di <Plug>(go-def-split)
|
||||
au FileType go nmap <Leader>ds <Plug>(go-def-vertical)
|
||||
au FileType go nmap <Leader>dt <Plug>(go-def-tab)
|
||||
|
||||
" go docs
|
||||
au FileType go nmap <Leader>gd <Plug>(go-doc)
|
||||
au FileType go nmap <Leader>gi <Plug>(go-doc-vertical)
|
||||
au FileType go nmap <Leader>gb <Plug>(go-doc-browser)
|
||||
endif
|
||||
|
||||
" ctrl p
|
||||
let g:ctrlp_map = '<C-P>'
|
||||
"nnoremap <C-l> :CtrlPTag<cr>
|
||||
|
||||
let g:ctrlp_cmd = 'CtrlPLastMode'
|
||||
let g:ctrlp_extensions = ['line']
|
||||
let g:ctrlp_show_hidden = 1
|
||||
|
||||
|
||||
"'c' - the directory of the current file.
|
||||
"'a' - the directory of the current file, unless it is a subdirectory of the cwd
|
||||
"'r' - the nearest ancestor of the current file that contains one of these directories or files: .git .hg .svn .bzr _darcs
|
||||
"'w' - modifier to "r": start search from the cwd instead of the current file's directory
|
||||
"0 or '' (empty string) - disable this feature.
|
||||
let g:ctrlp_working_path_mode = 'ra'
|
||||
|
||||
let g:ctrlp_by_filename = 0
|
||||
let g:ctrlp_max_files = 5000
|
||||
let g:ctrlp_custom_ignore = {
|
||||
\ 'dir': '\v[\/]\.(git|hg|svn)$',
|
||||
\ 'file': '\v\.(exe|so|dll)$',
|
||||
\ }
|
||||
|
||||
let g:go_disable_autoinstall = 0
|
||||
|
||||
"airline config
|
||||
let g:airline#extensions#tabline#enabled = 1
|
||||
" the separator used on the left side >
|
||||
"let g:airline_left_sep='>'
|
||||
" the separator used on the right side >
|
||||
"let g:airline_right_sep='<'
|
||||
" enable modified detection >
|
||||
let g:airline_detect_modified=1
|
||||
" enable paste detection >
|
||||
let g:airline_detect_paste=1
|
||||
" enable iminsert detection >
|
||||
let g:airline_detect_iminsert=1
|
||||
" determine whether inactive windows should have the left section collapsed to only the filename of that buffer.
|
||||
let g:airline_inactive_collapse=1
|
||||
" enable/disable csv integration for displaying the current column.
|
||||
let g:airline#extensions#csv#enabled = 1
|
||||
" customize the whitespace symbol. >
|
||||
let g:airline#extensions#whitespace#symbol = '.'
|
||||
" themes are automatically selected based on the matching colorscheme. this can be overridden by defining a value.
|
||||
"let g:airline_theme=
|
||||
" if you want to patch the airline theme before it gets applied, you can supply the name of a function where you can modify the palette.
|
||||
let g:airline_theme_patch_func = 'AirlineThemePatch'
|
||||
function! AirlineThemePatch(palette)
|
||||
if g:airline_theme == 'badwolf'
|
||||
for colors in values(a:palette.inactive)
|
||||
let colors[3] = 245
|
||||
endfor
|
||||
endif
|
||||
endfunction
|
||||
" enable/disable automatic population of the `g:airline_symbols` dictionary with powerline symbols.
|
||||
let g:airline_powerline_fonts=1
|
||||
" define the set of text to display for each mode.
|
||||
let g:airline_mode_map = {
|
||||
\ '__' : '-',
|
||||
\ 'n' : 'N',
|
||||
\ 'i' : 'I',
|
||||
\ 'R' : 'R',
|
||||
\ 'c' : 'C',
|
||||
\ 'v' : 'V',
|
||||
\ 'V' : 'V',
|
||||
\ '' : 'V',
|
||||
\ 's' : 'S',
|
||||
\ 'S' : 'S',
|
||||
\ '' : 'S',
|
||||
\ }
|
||||
" defines whether the preview window should be excluded from have its window statusline modified (may help with plugins which use the preview window heavily) >
|
||||
let g:airline_exclude_preview = 0
|
||||
" change the text for when no branch is detected >
|
||||
let g:airline#extensions#branch#empty_message = 'No Branch'
|
||||
" truncate long branch names to a fixed length >
|
||||
let g:airline#extensions#branch#displayed_head_limit = 15
|
||||
" enable/disable fugitive/lawrencium integration >
|
||||
let g:airline#extensions#branch#enabled = 1
|
||||
|
||||
" syntastic settings
|
||||
let g:syntastic_always_populate_loc_list = 1
|
||||
let g:syntastic_auto_loc_list = 2
|
||||
let g:syntastic_check_on_open = 1
|
||||
let g:syntastic_check_on_wq = 1
|
||||
let g:syntastic_loc_list_height = 1
|
||||
let g:syntastic_enable_balloons = 1
|
||||
|
||||
let g:syntastic_javascript_checkers = ['standard']
|
||||
|
||||
" YCM
|
||||
let g:ycm_key_list_select_completion = ['<TAB>', '<Down>']
|
||||
|
||||
" Enable file type detection
|
||||
filetype plugin indent on
|
||||
|
||||
augroup myvimrc
|
||||
au!
|
||||
au BufWritePost .vimrc so $MYVIMRC
|
||||
augroup END
|
||||
|
||||
" Automatic commands
|
||||
if has("autocmd")
|
||||
" Treat .json files as .js
|
||||
autocmd BufNewFile,BufRead *.json setfiletype json syntax=javascript
|
||||
" Treat .md files as Markdown
|
||||
autocmd BufNewFile,BufRead *.md setlocal filetype=markdown
|
||||
|
||||
autocmd BufRead,BufNewFile *.html setfiletype html syntax=htmldjango
|
||||
autocmd BufRead,BufNewFile *.template setfiletype html template syntax=htmldjango
|
||||
autocmd BufRead,BufNewFile *.go setfiletype golang syntax=go
|
||||
autocmd BufRead,BufNewFile *.php setfiletype php syntax=go
|
||||
autocmd BufRead,BufNewFile Dockerfile* setfiletype Dockerfile syntax=go
|
||||
" Spell check and line wrap just for git commit messages
|
||||
autocmd Filetype gitcommit setlocal spell textwidth=80
|
||||
endif
|
||||
|
||||
|
||||
au GUIEnter * set vb t_vb=
|
||||
|
||||
if has('gui_running')
|
||||
set go =mt
|
||||
set guifont=Literation\ Mono\ for\ Powerline:h12,Literation_Mono_for_Powerline:h12,Inconsolata\ for\ Powerline:h10,Ubuntu\ Mono:h26,Consolas:h12,Courier:h12
|
||||
endif
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
git://github.com/tpope/vim-fugitive.git
|
||||
git://github.com/tpope/vim-dispatch.git
|
||||
#git://github.com/Valloric/YouCompleteMe.git
|
||||
git://github.com/Shougo/deoplete.nvim.git
|
||||
git://github.com/nathanaelkane/vim-indent-guides.git
|
||||
git://github.com/airblade/vim-gitgutter.git
|
||||
git://github.com/fholgado/minibufexpl.vim.git
|
||||
git://github.com/bling/vim-airline.git
|
||||
git://github.com/fatih/vim-go.git
|
||||
git://github.com/scrooloose/nerdtree.git
|
||||
git://github.com/tpope/vim-dadbod.git
|
||||
# utils
|
||||
git://github.com/scrooloose/syntastic.git
|
||||
git://github.com/easymotion/vim-easymotion.git
|
||||
git://github.com/ervandew/supertab.git
|
||||
git://github.com/tpope/vim-repeat.git
|
||||
git://github.com/tpope/vim-surround.git
|
||||
git://github.com/kien/ctrlp.vim.git
|
||||
git://github.com/vim-scripts/tComment
|
||||
# syntax
|
||||
git://github.com/cakebaker/scss-syntax.vim.git
|
||||
git://github.com/pangloss/vim-javascript.git
|
||||
git://github.com/vim-ruby/vim-ruby.git
|
||||
git://github.com/vim-scripts/matchit.zip.git
|
||||
git://github.com/oscarh/vimerl.git
|
||||
git://github.com/sukima/xmledit.git
|
||||
git://github.com/mxw/vim-jsx.git
|
||||
git://github.com/gorodinskiy/vim-coloresque.git
|
||||
git://github.com/groenewege/vim-less.git
|
||||
git://github.com/tpope/vim-markdown.git
|
||||
git://github.com/tpope/vim-haml.git
|
||||
#themes
|
||||
git://github.com/wdhg/dragon-energy.git
|
||||
git://github.com/FrancescoMagliocco/CmptrClr.git
|
||||
git://github.com/sainnhe/gruvbox-material.git
|
||||
git://github.com/cjgajard/patagonia-vim.git
|
||||
git://github.com/ciaranm/inkpot.git
|
||||
git://github.com/lsdr/monokai.git
|
||||
git://github.com/chriskempson/vim-tomorrow-theme.git
|
||||
git://github.com/vim-scripts/vilight.vim.git
|
||||
git://github.com/dsolstad/vim-wombat256i.git
|
||||
git://github.com/altercation/vim-colors-solarized.git
|
||||
git://github.com/nanotech/jellybeans.vim.git
|
||||
git://github.com/vim-scripts/ecostation.git
|
||||
git://github.com/vim-scripts/rdark.git
|
||||
git://github.com/trevorrjohn/vim-obsidian.git
|
||||
git://github.com/sotte/presenting.vim.git
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
require 'rake/clean'
|
||||
require 'fileutils'
|
||||
|
||||
vimFolder = File.expand_path("~/.config/vim")
|
||||
vimRuntimeFolder = "#{vimFolder}/runtime"
|
||||
bundles_dir = File.join("#{vimRuntimeFolder}/bundle")
|
||||
pluginsFile = File.join("#{vimFolder}/plugins.txt")
|
||||
|
||||
CLEAN.include "#{bundles_dir}"
|
||||
|
||||
task :default => ['clean', 'vim:reinstall']
|
||||
|
||||
|
||||
namespace :vim do
|
||||
|
||||
directory "#{bundles_dir}"
|
||||
desc "reinstalls all vim plugins from #{pluginsFile} into #{bundles_dir}"
|
||||
task :reinstall do
|
||||
puts "loading plugins into #{bundles_dir}..."
|
||||
lines = IO.readlines pluginsFile
|
||||
puts "Loading #{lines.length} plugins..."
|
||||
lines.each { |source|
|
||||
if source[0] != "#" then
|
||||
loadTask = Rake::Task['vim:downloadPlugin']
|
||||
loadTask.invoke source.sub "\n", ''
|
||||
loadTask.reenable()
|
||||
end
|
||||
}
|
||||
puts "Plugins installed!"
|
||||
end
|
||||
|
||||
desc "downloads a vim plugin from a git repo, installs it into #{bundles_dir}"
|
||||
task :downloadPlugin, [:source] => "#{bundles_dir}" do |t, args|
|
||||
raise "Must specify git repo to pull from." unless args.source not(nil)
|
||||
dir = gitName args.source
|
||||
puts "Installing #{dir}...."
|
||||
Dir.chdir bundles_dir do
|
||||
sh "git clone #{args.source} #{dir}"
|
||||
FileUtils.rm_rf(File.join(dir, ".git"))
|
||||
end
|
||||
puts "\n\n"
|
||||
end
|
||||
|
||||
|
||||
desc "downloads a new plugin into #{bundles_dir} and adds it to #{pluginsFile}"
|
||||
task :install, [:sourceName] do |t, args|
|
||||
raise "Must specify git repo to pull from." unless args.sourceName not(nil)
|
||||
source = "git://github.com/#{args.sourceName}.git"
|
||||
Rake::Task['vim:downloadPlugin'].invoke source
|
||||
puts "Adding to #{pluginsFile}"
|
||||
File.open pluginsFile, 'a' do |file|
|
||||
file.puts "#{source}\n"
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def gitName(gitRepo)
|
||||
return gitRepo.split('/').last.sub(/\.git$/, '')
|
||||
end
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
Dockerfile
|
||||
.git
|
||||
makefile
|
||||
README.md
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
FROM archlinux:latest
|
||||
|
||||
ENV FILES_DEBUG true
|
||||
|
||||
RUN pacman -Sy --noconfirm openssh sudo vim git which gnupg make gcc binutils bison \
|
||||
&& echo '%sudo ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers \
|
||||
&& groupadd sudo \
|
||||
&& useradd -m -u 1000 -G sudo files \
|
||||
&& echo "files:files" | chpasswd files
|
||||
|
||||
|
||||
WORKDIR /home/files
|
||||
COPY --chown=1000:1000 . /home/files/.files
|
||||
USER 1000
|
||||
RUN rm -rf /home/files/.bashrc \
|
||||
&& source /home/files/.files/sourceme.sh \
|
||||
&& echo "source /home/files/.files/sourceme.sh" > /home/files/.bash_profile
|
||||
|
||||
CMD ["bash", "--login"]
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
# Files
|
||||
|
||||
My dotfiles repo.
|
||||
|
||||
- Vim setup
|
||||
- Git settings
|
||||
- Simple "plugin" system (drop files into `~/.files-plugins` and they are sourced)
|
||||
- Custom prompt
|
||||
- Ruby enVironment Manager, Rustup, Go Version Manager, Node Version Manager
|
||||
- Some terminal defaults I like
|
||||
- Utility functions
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
1. Clone into your home directory at `~/.files`
|
||||
2. Add `[[ -s ~/.files/sourceme.sh ]] && source ~/.files/sourceme.sh` to your `.bashrc`, `.bash_profile` etc.
|
||||
|
||||
|
||||
## Development
|
||||
|
||||
Run `make build dev` to drop into a container with everything pre installed.
|
||||
|
||||
|
||||
## LICENSE
|
||||
|
||||
MIT
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
.PHONY: dev
|
||||
dev:
|
||||
@docker run -it --rm --name files \
|
||||
-v $$PWD:/home/files/.files:ro \
|
||||
adamveld12/files
|
||||
.PHONY: build
|
||||
build:
|
||||
@docker build -t adamveld12/files .
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
#!/bin/sh
|
||||
|
||||
shopt -s checkwinsize; # Checks window size to get proper line wrapping
|
||||
shopt -s cdspell; # Corrects minor spelling errors when cd-ing
|
||||
shopt -s checkjobs; # Stops bash from exiting if there are jobs running. A second attempt at exiting will ignore.
|
||||
set -o vi; # Set prompt to vi mode
|
||||
set -o notify; # Report status of terminated background jobs immediately
|
||||
set -b; # report job status immediately
|
||||
set show-mode-in-prompt on; # Shows vi mode status: + for vi insert mode, : for vi command mode
|
||||
set print-completions-horizontally on; # Prints tab completions horizontally in alphabetical order
|
||||
set visible-stats on; # completions are printed colored based on their file type
|
||||
set colored-stats on; # completions are printed colored based on their file type
|
||||
|
||||
case "$TERM" in
|
||||
xterm-color|*-256color) color_prompt=yes;;
|
||||
esac
|
||||
|
||||
# History
|
||||
# https://www.digitalocean.com/community/tutorials/how-to-use-bash-history-commands-and-expansions-on-a-linux-vps
|
||||
shopt -s histappend; # Append to the history file, not overwrite
|
||||
export HISTCONTRO=Lignoreboth:erasedups; # No duplicate commands in history
|
||||
export HISTSIZE=25000;
|
||||
export HISTFILESIZE=10000;
|
||||
export HISTIGNORE="[ ]*:&:bg:fg:exit:clear"; # Don't save these commands in the history
|
||||
export HISTORY_COMMAND="history -a; history -c; history -r;"; # flush each command to history immediately
|
||||
stty -ixon;
|
||||
|
||||
# bindings
|
||||
bind '"\C-l"':redraw-current-line; # <Ctrl>-l
|
||||
bind '"\e\C-l"':clear-screen; # <Escape>-<Ctrl>-l
|
||||
|
||||
# see environ manfile - just setting up my shell environment
|
||||
export LESS='-iMR'; # Case insensite search, verbose prompting and raw output
|
||||
export PAGER=less; # Used to display text / man files
|
||||
|
||||
# export POWERLINE_CONFIG_COMMAND=~/tools/powerline/powerline/scripts/powerline-config
|
||||
export GPG_TTY=$(tty);
|
||||
|
||||
export GIT_EDITOR=vim;
|
||||
export EDITOR=$GIT_EDITOR;
|
||||
export VISUAL=$EDITOR;
|
||||
|
||||
export DEFAULT_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin;
|
||||
|
||||
export PATH=${DEFAULT_PATH}:${HOME}/.bin;
|
||||
|
||||
if [[ -d "${HOME}/.dotnet" ]]; then
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1;
|
||||
export DOTNETPATH=~/.dotnet/;
|
||||
export PATH=${DOTNETPATH}:${PATH};
|
||||
fi
|
||||
|
||||
|
||||
# http://stackoverflow.com/questions/410616/increasing-the-maximum-number-of-tcp-ip-connections-in-linux
|
||||
# run these to increase concurrent connections in linux
|
||||
# sudo sysctl net.ipv4.ip_local_port_range="18000 61000"
|
||||
# sudo sysctl net.ipv4.tcp_fin_timeout="30"
|
||||
# sudo sysctl net.ipv4.tcp_tw_recycle=1
|
||||
# sudo sysctl net.ipv4.tcp_tw_reuse=1
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
#!/bin/sh
|
||||
|
||||
# symbolic links all files in a directory into the target
|
||||
files_linkdir() {
|
||||
local SOURCE=$1;
|
||||
local DEST=$2;
|
||||
local FORCE=$3;
|
||||
|
||||
if [[ -d "${SOURCE}" ]]; then
|
||||
files_debug_log "$SOURCE EXISTS, force=${FORCE} should run? $(! [[ -z "${FORCE}" ]] && echo "yes")"
|
||||
|
||||
if ! [[ -z "${FORCE}" ]] || ! [[ -d "${DEST}" ]]; then
|
||||
files_debug_log "LINKING $SOURCE -> $DEST"
|
||||
|
||||
find "${SOURCE}" -type d | sed "s=${SOURCE}==" | xargs -I {} mkdir -p ${DEST}{};
|
||||
find "${SOURCE}" -type f | sed "s=${SOURCE}==" | xargs -I {} ln -fs ${SOURCE}{} ${DEST}{};
|
||||
fi
|
||||
fi
|
||||
# ln on windows pretty much only works with hardlinks it seems
|
||||
#ls -lA "${SOURCE}" | grep "^-" | awk '{print $9}' | xargs -I {} ln -vfs "${SOURCE}/{}" "${DEST}/{}"
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh
|
||||
|
||||
files_linkdir "${HOME}/.files/.config" "${HOME}/.config" true;
|
||||
|
||||
! [[ -f "${HOME}/.gitconfig" ]] && ln -svf "${HOME}/.config/git/.gitconfig" "${HOME}/.gitconfig";
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
#!/bin/sh
|
||||
mkdir -p ${HOME}/.ssh/;
|
||||
# handy functions
|
||||
|
||||
# Open an ssh tunnel
|
||||
ssh_tunnel(){
|
||||
if [[ -z $1 ]]; then
|
||||
echo "Takes an ssh config host name and starts an SSH tunnel"
|
||||
echo "\$1 required: name of an ssh tunnel host"
|
||||
echo "\$2 optional: run the tunnel as a background job if defined"
|
||||
return -1
|
||||
fi
|
||||
|
||||
if [[ -z $2 ]]; then
|
||||
ssh -f -N $1
|
||||
else
|
||||
ssh -f -N $1 &
|
||||
fi
|
||||
}
|
||||
|
||||
# generate the public key for a private key
|
||||
function ssh_pubkey(){
|
||||
if [[ -z $1 ]]; then
|
||||
echo "Takes a path to a private key and prints a compatible public key to stdout"
|
||||
echo "$1 required: path to a private key"
|
||||
return -1
|
||||
fi
|
||||
|
||||
|
||||
ssh-keygen -y -f $1
|
||||
}
|
||||
|
||||
ssh_newkey() {
|
||||
local name=$1;
|
||||
local comment=$2;
|
||||
local quiet=$3;
|
||||
|
||||
if [[ -z "${name}" ]]; then
|
||||
echo "ssh_newkey creates a new ssh key with the specified name and comment";
|
||||
echo "The new keys are saved in ${HOME}/.ssh/<name>/";
|
||||
echo "ssh_newkey <name> [comment]";
|
||||
exit 255;
|
||||
fi
|
||||
|
||||
|
||||
local algo='ed25519';
|
||||
local private_key_path="${HOME}/.ssh/${name}/id.${algo}";
|
||||
local public_key_path="${HOME}/.ssh/${name}/id.${algo}.pub";
|
||||
local gendate=$(date --rfc-3339=seconds);
|
||||
|
||||
if [[ -d "${HOME}/.ssh/${name}" ]]; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
mkdir -p ${HOME}/.ssh/${name};
|
||||
|
||||
ssh-keygen -t "${algo}" -C "$comment -- created ${gendate}" -f "${private_key_path}";
|
||||
|
||||
echo -e "\n\n";
|
||||
echo -e "See your keys here: ${HOME}/.ssh/${name}";
|
||||
if [[ -z $(cat "${HOME}/.ssh/config" | grep "Host ${name}") ]]; then
|
||||
echo "Updating ssh config @ ${HOME}/.ssh/config. Edit to your liking.";
|
||||
cat <<- EOF >> ${HOME}/.ssh/config
|
||||
|
||||
Host ${name}
|
||||
IdentityFile ${private_key_path}
|
||||
UserKnownHostsFile ${HOME}/.ssh/${name}/known_hosts
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
ssh_newconfig() {
|
||||
cat <<- EOF > ${HOME}/.ssh/config
|
||||
Host *
|
||||
# verbosity used when logging messages from ssh, QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3
|
||||
LogLevel INFO
|
||||
# if YES, never auto add host keyes and refuses to connecto to hosts that have changed. YES, NO, ASK
|
||||
StrictHostKeyChecking ask
|
||||
# known hosts file database location
|
||||
UserKnownHostsFile ~/.ssh/known_hosts
|
||||
# timeout in seconds after which if no data has been recieved from the server, ssh will send a keep alive message
|
||||
ServerAliveInterval 30
|
||||
# the number of times to send a keep alive message in a row, only applies to ssh v2
|
||||
ServerAliveCountMax 120
|
||||
# Shows the ssh key image on connection. YES or NO
|
||||
VisualHostKey yes
|
||||
# if the connection should use compression. YES or NO
|
||||
Compression yes
|
||||
# allows ssh to prefer one method of auth over another if there are multiple methods available. gssapi-with-mic, hostbased, publickey, keyboard-interactive, password
|
||||
PreferredAuthentications publickey,password,keyboard-interactive
|
||||
# send TCP keep alive messages to the host, which lets us know if the connection dies, but it can give false negatives (if the connection goes down temporarily, you'll get disconnected). YES, NO
|
||||
TCPKeepAlive yes
|
||||
# refer to: https://github.com/FiloSottile/whosthere/blob/master/README.md
|
||||
PubkeyAuthentication yes
|
||||
IdentitiesOnly yes
|
||||
EOF
|
||||
|
||||
}
|
||||
|
||||
if ! [[ -f ${HOME}/.ssh/config ]]; then
|
||||
ssh_newconfig
|
||||
fi
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
export GVM_DIR="${HOME}/.gvm"
|
||||
|
||||
if ! [[ -f ~/.gvm/scripts/gvm ]]; then
|
||||
# install go version manager
|
||||
echo "Installing go version manager";
|
||||
curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer -o /tmp/gvm-installer.sh;
|
||||
chmod +x /tmp/gvm-installer.sh && /tmp/gvm-installer.sh;
|
||||
source ~/.gvm/scripts/gvm;
|
||||
gvm install go1.17 -B;
|
||||
gvm use go1.17 --default;
|
||||
else
|
||||
source ~/.gvm/scripts/gvm;
|
||||
fi
|
||||
|
||||
[ -s "$GVM_DIR/scripts/bash_completion" ] && \. "$GVM_DIR/scripts/bash_completion";
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh
|
||||
|
||||
export NVM_DIR="$HOME/.config/.nvm"
|
||||
|
||||
if ! [[ -d ${NVM_DIR} ]]; then
|
||||
# install node version manager
|
||||
echo "Installing node version manager";
|
||||
git clone https://github.com/nvm-sh/nvm.git ${NVM_DIR}
|
||||
git checkout "${NVM_VERSION:-v0.39.0}"
|
||||
source ${NVM_DIR}/nvm.sh;
|
||||
nvm install ${NVM_VERSION:-v14};
|
||||
nvm alias default ${NVM_VERSION:-v14};
|
||||
else
|
||||
source ${NVM_DIR}/nvm.sh;
|
||||
fi
|
||||
|
||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion";
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
|
||||
export RVM_HOME="${HOME}/.rvm"
|
||||
|
||||
if ! [[ -d "${RVM_HOME}" ]]; then
|
||||
command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -;
|
||||
command curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -;
|
||||
|
||||
curl -sSL https://get.rvm.io | bash -s stable --ruby;
|
||||
source ${RVM_HOME}/scripts/rvm;
|
||||
rvm use ruby-3.0.0;
|
||||
source ${RVM_HOME}/scripts/completion;
|
||||
else
|
||||
echo "rvm_silence_path_mismatch_check_flag=1" > ~/.rvmrc;
|
||||
source ${RVM_HOME}/scripts/rvm;
|
||||
rvm use ruby-3.0.0 > /dev/null;
|
||||
source ${RVM_HOME}/scripts/completion;
|
||||
fi
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
export RUSTUP_HOME="${HOME}/.config/rust/.rustup";
|
||||
export CARGO_HOME="${HOME}/.config/rust/.cargo";
|
||||
export PATH=${PATH}:${CARGO_HOME}/bin;
|
||||
|
||||
if ! [[ -d "${CARGO_HOME}" ]]; then
|
||||
# install rust
|
||||
echo "Installing rustup + rust stable";
|
||||
curl -sLSf https://sh.rustup.rs > /tmp/rustup.sh;
|
||||
chmod +x /tmp/rustup.sh && /tmp/rustup.sh -y --no-modify-path;
|
||||
source ${CARGO_HOME}/env
|
||||
else
|
||||
source ${CARGO_HOME}/env
|
||||
fi
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [[ -d "${HOME}/.config/vim" ]]; then
|
||||
export VIM=${HOME}/.config/vim;
|
||||
export VIMRUNTIME=${VIM}/runtime;
|
||||
# export PATH=${VIM}:${PATH};
|
||||
|
||||
files_linkdir "/usr/share/vim/vim82/" "${VIMRUNTIME}";
|
||||
|
||||
! [[ -f ${HOME}/.vimrc ]] && ln -s ${VIM}/.vimrc ${HOME}/.vimrc;
|
||||
|
||||
if ! [[ -f "${VIMRUNTIME}/autoload/pathogen.vim" ]]; then
|
||||
! [[ -d "/tmp/vim-pathogen" ]] && git clone git://github.com/tpope/vim-pathogen.git /tmp/vim-pathogen;
|
||||
cp -r /tmp/vim-pathogen/autoload/* ${VIMRUNTIME}/autoload;
|
||||
fi
|
||||
|
||||
if ! [[ -d "${VIMRUNTIME}/bundle" ]]; then
|
||||
pushd ${VIM}
|
||||
rake
|
||||
popd
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
@ -0,0 +1,153 @@
|
|||
#!/bin/sh
|
||||
# Prompt Customizations
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
[ -z "$PS1" ] && return
|
||||
|
||||
RED="\033[0;31m"
|
||||
YELLOW="\033[0;33m"
|
||||
GREEN="\033[0;32m"
|
||||
GRAY="\033[0;30m"
|
||||
EMPTY="\033[0;37m"
|
||||
|
||||
LIGHTBLUE="\033[38;5;111m"
|
||||
LIGHTORANGE="\033[38;5;172m"
|
||||
LIGHTGREEN="\033[38;5;70m"
|
||||
LIGHTRED="\033[38;5;161m"
|
||||
LIGHTYELLOW="\033[38;5;229m"
|
||||
CONTINUE="\033[38;5;242m"
|
||||
DARKGRAY="\033[38;5;247m"
|
||||
|
||||
# Glyph table for airline fonts
|
||||
# U+E0A0 Version control branch
|
||||
# U+E0A1 LN (line) symbol
|
||||
# U+E0A2 Closed padlock
|
||||
# U+E0B0 Rightwards black arrowhead
|
||||
# U+E0B1 Rightwards arrowhead
|
||||
# U+E0B2 Leftwards black arrowhead
|
||||
# U+E0B3 Leftwards arrowhead
|
||||
# U+1D77A 𝝺 Lambda
|
||||
|
||||
LAR=""
|
||||
RAR=""
|
||||
LARS=""
|
||||
RARS=""
|
||||
LN=""
|
||||
VC=""
|
||||
LK=""
|
||||
LA="𝝺"
|
||||
|
||||
#╭─ ~/src/v8/v8 ‹master›
|
||||
#╰─$
|
||||
START_LINE_1="╭─"
|
||||
START_LINE_2="╰─"
|
||||
|
||||
colorize() {
|
||||
# $1 is foreground
|
||||
# $2 is background
|
||||
# $3 is content
|
||||
if [ $OSTYPE = 'msys' ]; then
|
||||
echo -e "\033[48;3;$2;38;3;$1m$3\\033[0m"
|
||||
else
|
||||
echo -e "\033[48;5;$2;38;5;$1m$3\\033[0m"
|
||||
fi
|
||||
}
|
||||
|
||||
parse_git_branch () {
|
||||
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
|
||||
}
|
||||
|
||||
parse_git_tag () {
|
||||
git describe --tags 2> /dev/null
|
||||
}
|
||||
|
||||
parse_git_branch_or_tag() {
|
||||
local OUT="$VC$(parse_git_branch)"
|
||||
if [ "$OUT" == " ((no branch))" ]; then
|
||||
echo "$VC ($(parse_git_tag)) "
|
||||
elif [ "$OUT" == "$VC" ]; then
|
||||
echo "x $VC"
|
||||
else
|
||||
echo "$OUT"
|
||||
fi
|
||||
}
|
||||
|
||||
build_prompt_win(){
|
||||
local TIME="$(colorize 39 46 ' [$(date +%H:%M)] ')$(colorize 36 42 $RARS)";
|
||||
local USER="$(colorize 39 42 ' \u@\h ')$(colorize 32 41 $RARS)"
|
||||
local GIT="$(colorize 39 41 ' $(parse_git_branch_or_tag) ')$(colorize 31 49 $RARS)"
|
||||
local DIR="$(colorize 33 49 ' \w ')"
|
||||
local LEFT="$TIME$USER$GIT$DIR\033[0;0m "
|
||||
echo "$LEFT"
|
||||
}
|
||||
|
||||
build_prompt_unix(){
|
||||
local TIME="$(colorize 15 33 ' [$(date +%H:%M)] ')$(colorize 33 34 $RARS)";
|
||||
local USER="$(colorize 15 34 ' \u@\h ')$(colorize 34 124 $RARS)";
|
||||
local GIT="$(colorize 252 124 ' $(parse_git_branch_or_tag) ')$(colorize 124 240 '$RARS')";
|
||||
local DIR="$(colorize 11 240 ' \w ')$(colorize 240 0 $RARS)";
|
||||
local LEFT="$TIME$USER$GIT$DIR\033[0;0m";
|
||||
echo "$LEFT";
|
||||
}
|
||||
|
||||
build_prompt_unix_2(){
|
||||
echo -e "${START_LINE_1} \u@\h \w <$(parse_git_branch)>\n${START_LINE_2}${LA} ";
|
||||
}
|
||||
|
||||
print_prompt(){
|
||||
local TIME="$(colorize 15 33)[$(date +%H:%M)] $(colorize 33 34)$RARS";
|
||||
local USER="$(colorize 15 34)\u@\h $(colorize 34 124)$RARS"
|
||||
local GIT="$(colorize 252 124) $(parse_git_branch_or_tag) $(colorize 124 240)$RARS"
|
||||
local DIR=" $(colorize 11 240)\w $(colorize 240 0)$RARS"
|
||||
local LEFT="$TIME$USER$GIT$DIR "
|
||||
local RIGHT="$DIR"
|
||||
local COMPENSATE=11
|
||||
PS1=$(printf "%*s\r%s\n$EMPTY\$$GRAY" "$(($(tput cols) - ${compensate}))" "$RIGHT" "$LEFT")
|
||||
}
|
||||
|
||||
|
||||
print_map(){
|
||||
if [ $OSTYPE = 'msys' ]; then
|
||||
#Background
|
||||
for clbg in {40..47} {100..107} 49 ; do
|
||||
#Foreground
|
||||
for clfg in {30..37} {90..97} 39 ; do
|
||||
#Formatting
|
||||
for attr in 0 1 2 4 5 7 ; do
|
||||
#Print the result
|
||||
echo -en "\e[${attr};${clbg};${clfg}m ^[${attr};${clbg};${clfg}m \e[0m"
|
||||
done
|
||||
echo #Newline
|
||||
done
|
||||
done
|
||||
else
|
||||
for fgbg in 38 48 ; do #Foreground/Background
|
||||
for color in {0..256} ; do #Colors
|
||||
#Display the color
|
||||
echo -en "\033[${fgbg};5;${color}m ${color}\t\e[0m"
|
||||
#Display 10 colors per lines
|
||||
if [ $((($color + 1) % 10)) == 0 ] ; then
|
||||
echo #New line
|
||||
fi
|
||||
done
|
||||
echo #New line
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
banner() {
|
||||
for i in {16..21} {23..27} {27..23} {21..16} ; do echo -en "\033[38;5;${i}m#" ; done ; echo
|
||||
echo -e "$LIGHTBLUE $1"
|
||||
for i in {16..21} {23..27} {27..23} {21..16} ; do echo -en "\033[38;5;${i}m#" ; done ; echo
|
||||
}
|
||||
|
||||
# looks like the following:
|
||||
# [hh:mm] username@host (git branch || svn revision) ~/working/directory
|
||||
# $
|
||||
if [ $OSTYPE = 'msys' ]; then
|
||||
export PROMPT_COMMAND='PS1="$($HISTORY_COMMAND) $(build_prompt_win)\n\$LA "'
|
||||
else
|
||||
export PROMPT_COMMAND='PS1="$(history -a; history -c; history -r; build_prompt_unix)\n\$LA "'
|
||||
fi
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
load_plugins $HOME/.files-plugins;
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
#!/bin/sh
|
||||
|
||||
function files_debug_log() {
|
||||
if ! [[ -z "${FILES_DEBUG}" ]]; then
|
||||
echo -e "# [INFO] $@";
|
||||
fi
|
||||
}
|
||||
|
||||
function load_plugins() {
|
||||
if [[ -d "${1}" ]]; then
|
||||
for plugin in ${1}/*; do
|
||||
if [[ -s $plugin ]]; then
|
||||
files_debug_log "loading $plugin";
|
||||
source $plugin;
|
||||
elif [[ -d $plugin ]] && [[ -f "$plugin/setup.sh" ]]; then
|
||||
files_debug_log "loading directory $plugin";
|
||||
source $plugin/setup.sh;
|
||||
fi
|
||||
done
|
||||
elif [[ -s "${1}" ]]; then
|
||||
source $1;
|
||||
fi
|
||||
}
|
||||
|
||||
function reload_env() {
|
||||
files_debug_log "DEBUG MODE IS ENABLED. Turn if off via:\nunset FILES_DEBUG\n"
|
||||
|
||||
export HOME=${1:-$PWD}
|
||||
|
||||
files_debug_log "\$HOME='$HOME'";
|
||||
|
||||
# load plugns
|
||||
load_plugins "$HOME/.files/plugins";
|
||||
|
||||
|
||||
if [[ -d "${HOME}/.bin" ]]; then
|
||||
PATH=${HOME}/.bin:${PATH};
|
||||
fi
|
||||
}
|
||||
|
||||
reload_env
|
||||
Binary file not shown.
|
|
@ -0,0 +1,123 @@
|
|||
Return to [FiraCode](https://github.com/tonsky/FiraCode)
|
||||
|
||||
### [](#installing-font)Installing font
|
||||
|
||||
Windows:
|
||||
|
||||
* In the ttf folder, double-click each font file, click “Install font”; to install all at once, select all files, right-click, and choose “Install”
|
||||
|
||||
_or_
|
||||
|
||||
* Use [chocolatey](https://chocolatey.org): `choco install firacode`
|
||||
|
||||
Mac:
|
||||
|
||||
In the downloaded TTF folder:
|
||||
|
||||
1. Select all font files
|
||||
2. Right click and select `Open` (alternatively `Open With Font Book`)
|
||||
3. Select "Install Font"
|
||||
|
||||
_or_
|
||||
|
||||
* Use [brew](http://brew.sh) and [cask](https://caskroom.github.io):
|
||||
|
||||
_Not officially supported, might install outdated version_
|
||||
|
||||
<div class="highlight highlight-source-shell">
|
||||
|
||||
brew tap caskroom/fonts
|
||||
brew cask install font-fira-code
|
||||
|
||||
|
||||
|
||||
Linux:
|
||||
|
||||
* Install a package available for your distribution following [the instructions](https://github.com/tonsky/FiraCode/wiki/Linux-instructions#installing-with-a-package-manager)
|
||||
|
||||
_or_
|
||||
|
||||
* In the ttf folder double-click each font file and click “Install font”; see [“Manual Installation”](https://github.com/tonsky/FiraCode/wiki/Linux-instructions#manual-installation) if double-clicking doesn't work
|
||||
|
||||
FreeBSD:
|
||||
|
||||
* Using pkg(8): `pkg install firacode`
|
||||
|
||||
_or_
|
||||
|
||||
* Using ports: `cd /usr/ports/x11-fonts/firacode && make install clean`
|
||||
|
||||
### [](#how-to-enable-ligatures)How to enable ligatures
|
||||
|
||||
You need to explicitly enable ligatures support in following editors:
|
||||
|
||||
* [Atom](https://github.com/tonsky/FiraCode/wiki/Atom-instructions)
|
||||
* [Brackets](https://github.com/tonsky/FiraCode/wiki/Brackets-Instructions/)
|
||||
* [Cloud9](https://github.com/tonsky/FiraCode/wiki/cloud9-instructions)
|
||||
* [Jetbrains' products](https://github.com/tonsky/FiraCode/wiki/Intellij-products-instructions) (IntelliJ, etc)
|
||||
* [Emacs](https://github.com/tonsky/FiraCode/wiki/Emacs-instructions)
|
||||
* [MacVim](https://github.com/tonsky/FiraCode/wiki/MacVim-instructions)
|
||||
* [VS Code](https://github.com/tonsky/FiraCode/wiki/VS-Code-Instructions)
|
||||
* [BBEdit](https://github.com/tonsky/FiraCode/wiki/BBEdit-instructions)
|
||||
* [LightTable](https://github.com/tonsky/FiraCode/wiki/LightTable-instructions)
|
||||
* [Sublimetext](https://github.com/tonsky/FiraCode/wiki/Sublimetext-Instructions)
|
||||
|
||||
For other editors it must be enough to simply select Fira Code as your font of choice. [Full list of supported editors](https://github.com/tonsky/FiraCode#editor-support)
|
||||
|
||||
### [](#troubleshooting)Troubleshooting
|
||||
|
||||
#### [](#1-make-sure-the-font-your-editor-displays-is-actually-fira-code)1\. Make sure the font your editor displays is actually Fira Code
|
||||
|
||||
Easiest way is to compare the shape of `@` `&` and `r` with the reference image:
|
||||
|
||||

|
||||
|
||||
Issues: [#393](https://github.com/tonsky/FiraCode/issues/393) [#373](https://github.com/tonsky/FiraCode/issues/373) [#227](https://github.com/tonsky/FiraCode/issues/227)
|
||||
|
||||
#### [](#2-make-sure-youve-enabled-ligatures-in-your-editor)2\. Make sure you’ve enabled ligatures in your editor
|
||||
|
||||
Consult this wiki (see above ↑) for instruction on how to do that.
|
||||
|
||||
Issues: [#291](https://github.com/tonsky/FiraCode/issues/291)
|
||||
|
||||
#### [](#3-make-sure-youre-on-the-latest-version-of-fira-code)3\. Make sure you’re on the latest version of Fira Code
|
||||
|
||||
Consult [CHANGELOG](https://github.com/tonsky/FiraCode/blob/master/CHANGELOG.md) to see when it was last updated.
|
||||
|
||||
#### [](#4-check-the-list-of-known-issues-below-)4\. Check the list of known issues below ↓
|
||||
|
||||
### [](#known-issues)Known issues
|
||||
|
||||
#### [](#hinting-issues)Hinting issues
|
||||
|
||||
* Uneven spacing in `===` and `!==` at certain font sizes, esp. on Windows [#405](https://github.com/tonsky/FiraCode/issues/405) [#243](https://github.com/tonsky/FiraCode/issues/243) [#119](https://github.com/tonsky/FiraCode/issues/119) [#114](https://github.com/tonsky/FiraCode/issues/114)
|
||||
|
||||
* Different height of `[]` at certain font sizes [#332](https://github.com/tonsky/FiraCode/issues/332) [#251](https://github.com/tonsky/FiraCode/issues/251)
|
||||
|
||||
#### [](#powerline-characters-are-of-slightly-wrong-size)Powerline characters are of slightly wrong size
|
||||
|
||||
Unfortunately this can’t be fixed for all terminals because they have different ways of calculate font metrics. See [this comment](https://github.com/tonsky/FiraCode/issues/44#issuecomment-187305276)
|
||||
|
||||
Issues: [#426](https://github.com/tonsky/FiraCode/issues/426) [#131](https://github.com/tonsky/FiraCode/issues/131) [#44](https://github.com/tonsky/FiraCode/issues/44)
|
||||
|
||||
#### [](#some-ligatures-work-while-some-dont)Some ligatures work while some don’t
|
||||
|
||||
This is an issue with your editor and how it handles tokenization/syntax highlighting. Nothing can be done in a font to work around that. Report your problem to the corresponding editor’s issue tracker.
|
||||
|
||||
* All ligatures with dashes in Visual Studio (not Code) [#422](https://github.com/tonsky/FiraCode/issues/422) [#395](https://github.com/tonsky/FiraCode/issues/395) [#360](https://github.com/tonsky/FiraCode/issues/360) [#273](https://github.com/tonsky/FiraCode/issues/273) [#259](https://github.com/tonsky/FiraCode/issues/259) [#233](https://github.com/tonsky/FiraCode/issues/233) [#220](https://github.com/tonsky/FiraCode/issues/220) [#196](https://github.com/tonsky/FiraCode/issues/196) [#181](https://github.com/tonsky/FiraCode/issues/181) [#157](https://github.com/tonsky/FiraCode/issues/157) [#99](https://github.com/tonsky/FiraCode/issues/99) [#43](https://github.com/tonsky/FiraCode/issues/43) [#32](https://github.com/tonsky/FiraCode/issues/32)
|
||||
|
||||
* Ligatures in column 100 in VS Code [#403](https://github.com/tonsky/FiraCode/issues/403) [#397](https://github.com/tonsky/FiraCode/issues/397) [#372](https://github.com/tonsky/FiraCode/issues/372)
|
||||
|
||||
* Atom/VS Code are known to break certain ligatures in certain syntaxes [#361](https://github.com/tonsky/FiraCode/issues/361) [#353](https://github.com/tonsky/FiraCode/issues/353) [#348](https://github.com/tonsky/FiraCode/issues/348) [#328](https://github.com/tonsky/FiraCode/issues/328) [#326](https://github.com/tonsky/FiraCode/issues/326) [#235](https://github.com/tonsky/FiraCode/issues/235)
|
||||
|
||||
#### [](#corrupted-font-in-intellij-on-windows)Corrupted font in IntelliJ on Windows
|
||||
|
||||
Go to `C:\Windows\Fonts` with `cmd.exe`, find and delete everything having Fira in the file name. It’s important that you use terminal commands, not Explorer.
|
||||
|
||||
Issues: [#589](https://github.com/tonsky/FiraCode/issues/589) [#581](https://github.com/tonsky/FiraCode/issues/581) [#398](https://github.com/tonsky/FiraCode/issues/398) [IDEA-159901](https://youtrack.jetbrains.com/issue/IDEA-159901)
|
||||
|
||||
#### [](#anything-related-to-italics)Anything related to italics
|
||||
|
||||
Fira Code does not have italics at all. If you see italicized glyphs it means your editor is “faking” them.
|
||||
|
||||
Issues: [#375](https://github.com/tonsky/FiraCode/issues/375) [#320](https://github.com/tonsky/FiraCode/issues/320) [#281](https://github.com/tonsky/FiraCode/issues/281)
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
@font-face {
|
||||
font-family: 'Fira Code';
|
||||
src: url('woff2/FiraCode-Light.woff2') format('woff2'),
|
||||
url("woff/FiraCode-Light.woff") format("woff");
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Fira Code';
|
||||
src: url('woff2/FiraCode-Regular.woff2') format('woff2'),
|
||||
url("woff/FiraCode-Regular.woff") format("woff");
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Fira Code';
|
||||
src: url('woff2/FiraCode-Medium.woff2') format('woff2'),
|
||||
url("woff/FiraCode-Medium.woff") format("woff");
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Fira Code';
|
||||
src: url('woff2/FiraCode-Bold.woff2') format('woff2'),
|
||||
url("woff/FiraCode-Bold.woff") format("woff");
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Fira Code VF';
|
||||
src: url('woff2/FiraCode-VF.woff2') format('woff2-variations'),
|
||||
url('woff/FiraCode-VF.woff') format('woff-variations');
|
||||
/* font-weight requires a range: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide#Using_a_variable_font_font-face_changes */
|
||||
font-weight: 300 700;
|
||||
font-style: normal;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,84 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<title>Fira Code Specimen</title>
|
||||
|
||||
<link rel="stylesheet" href="fira_code.css">
|
||||
<style>
|
||||
body { font: 14px/1.5em "Fira Code"; }
|
||||
.code {
|
||||
font-feature-settings: "calt" 1; /* Enable ligatures for IE 10+, Edge */
|
||||
text-rendering: optimizeLegibility; /* Force ligatures for Webkit, Blink, Gecko */
|
||||
width: 30em;
|
||||
margin: 5em auto;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
}
|
||||
.light { font-weight: 300; }
|
||||
.regular { font-weight: 400; }
|
||||
.medium { font-weight: 500; }
|
||||
.bold { font-weight: 700; }
|
||||
.variable { font-family: 'Fira Code VF'; font-variation-settings: 'wght' 400; }
|
||||
i { font-style: normal; color: #c33; }
|
||||
b { font-weight: inherit; color: #c33; }
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function onWeightChange(weight) {
|
||||
// code_variable.style['font-weight'] = weight;
|
||||
code_variable.style['font-variation-settings'] = "'wght' " + weight;
|
||||
span_wght.innerText = weight;
|
||||
}
|
||||
</script>
|
||||
<body>
|
||||
|
||||
<div class="code light"><b># Fira Code Light</b>
|
||||
|
||||
take = (n, [x, <i>...</i>xs]:list) <i>--></i>
|
||||
| n <i><=</i> 0 <i>=></i> []
|
||||
| empty list <i>=></i> []
|
||||
| otherwise <i>=></i> [x] <i>++</i> take n-1, xs
|
||||
|
||||
last3 = reverse <i>>></i> take 3 <i>>></i> reverse</div>
|
||||
|
||||
|
||||
<div class="code regular"><b># Fira Code Regular</b>
|
||||
|
||||
take = (n, [x, <i>...</i>xs]:list) <i>--></i>
|
||||
| n <i><=</i> 0 <i>=></i> []
|
||||
| empty list <i>=></i> []
|
||||
| otherwise <i>=></i> [x] <i>++</i> take n-1, xs
|
||||
|
||||
last3 = reverse <i>>></i> take 3 <i>>></i> reverse</div>
|
||||
|
||||
|
||||
<div class="code medium"><b># Fira Code Medium</b>
|
||||
|
||||
take = (n, [x, <i>...</i>xs]:list) <i>--></i>
|
||||
| n <i><=</i> 0 <i>=></i> []
|
||||
| empty list <i>=></i> []
|
||||
| otherwise <i>=></i> [x] <i>++</i> take n-1, xs
|
||||
|
||||
last3 = reverse <i>>></i> take 3 <i>>></i> reverse</div>
|
||||
|
||||
|
||||
<div class="code bold"><b># Fira Code Bold</b>
|
||||
|
||||
take = (n, [x, <i>...</i>xs]:list) <i>--></i>
|
||||
| n <i><=</i> 0 <i>=></i> []
|
||||
| empty list <i>=></i> []
|
||||
| otherwise <i>=></i> [x] <i>++</i> take n-1, xs
|
||||
|
||||
last3 = reverse <i>>></i> take 3 <i>>></i> reverse</div>
|
||||
|
||||
<div id="code_variable" class="code variable"><b># Fira Code Variable</b>
|
||||
|
||||
<input type="range" min="300" max="700" value="400" step="10" style="width: 300px;" oninput="onWeightChange(this.value)" onchange="onWeightChange(this.value)"> <span id="span_wght">400</span>
|
||||
|
||||
take = (n, [x, <i>...</i>xs]:list) <i>--></i>
|
||||
| n <i><=</i> 0 <i>=></i> []
|
||||
| empty list <i>=></i> []
|
||||
| otherwise <i>=></i> [x] <i>++</i> take n-1, xs
|
||||
|
||||
last3 = reverse <i>>></i> take 3 <i>>></i> reverse</div>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue