Initial commit
This commit is contained in:
36
.config/alacritty/alacritty.yml
Normal file
36
.config/alacritty/alacritty.yml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
env:
|
||||||
|
TERM: xterm-256color
|
||||||
|
window:
|
||||||
|
padding:
|
||||||
|
x: 5
|
||||||
|
y: 7
|
||||||
|
opacity: 1.0
|
||||||
|
dynamic_title: true
|
||||||
|
|
||||||
|
colors:
|
||||||
|
# Default colors
|
||||||
|
primary:
|
||||||
|
background: '0x272822'
|
||||||
|
foreground: '0xf8f8f2'
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
normal:
|
||||||
|
black: '0x272822'
|
||||||
|
red: '0xf92672'
|
||||||
|
green: '0xa6e22e'
|
||||||
|
yellow: '0xf4bf75'
|
||||||
|
blue: '0x66d9ef'
|
||||||
|
magenta: '0xae81ff'
|
||||||
|
cyan: '0xa1efe4'
|
||||||
|
white: '0xf8f8f2'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
bright:
|
||||||
|
black: '0x75715e'
|
||||||
|
red: '0xf92672'
|
||||||
|
green: '0xa6e22e'
|
||||||
|
yellow: '0xf4bf75'
|
||||||
|
blue: '0x66d9ef'
|
||||||
|
magenta: '0xae81ff'
|
||||||
|
cyan: '0xa1efe4'
|
||||||
|
white: '0xf9f8f5'
|
||||||
25
.config/autorandr/default/config
Normal file
25
.config/autorandr/default/config
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
output DP-1
|
||||||
|
off
|
||||||
|
output HDMI-1
|
||||||
|
off
|
||||||
|
output DP-2
|
||||||
|
off
|
||||||
|
output HDMI-2
|
||||||
|
off
|
||||||
|
output DP-2-1
|
||||||
|
off
|
||||||
|
output DP-2-2
|
||||||
|
off
|
||||||
|
output DP-2-3
|
||||||
|
off
|
||||||
|
output eDP-1
|
||||||
|
crtc 0
|
||||||
|
mode 1920x1080
|
||||||
|
pos 0x0
|
||||||
|
primary
|
||||||
|
rate 60.02
|
||||||
|
x-prop-broadcast_rgb Automatic
|
||||||
|
x-prop-colorspace Default
|
||||||
|
x-prop-max_bpc 12
|
||||||
|
x-prop-non_desktop 0
|
||||||
|
x-prop-scaling_mode Full aspect
|
||||||
1
.config/autorandr/default/setup
Normal file
1
.config/autorandr/default/setup
Normal file
@@ -0,0 +1 @@
|
|||||||
|
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5
|
||||||
40
.config/autorandr/home_dock/config
Normal file
40
.config/autorandr/home_dock/config
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
output HDMI-1
|
||||||
|
off
|
||||||
|
output DP-2
|
||||||
|
off
|
||||||
|
output HDMI-2
|
||||||
|
off
|
||||||
|
output DP-2-1
|
||||||
|
off
|
||||||
|
output DP-2-2
|
||||||
|
off
|
||||||
|
output eDP-1
|
||||||
|
crtc 0
|
||||||
|
mode 1920x1080
|
||||||
|
pos 0x0
|
||||||
|
primary
|
||||||
|
rate 60.02
|
||||||
|
x-prop-broadcast_rgb Automatic
|
||||||
|
x-prop-colorspace Default
|
||||||
|
x-prop-max_bpc 12
|
||||||
|
x-prop-non_desktop 0
|
||||||
|
x-prop-scaling_mode Full aspect
|
||||||
|
output DP-2-3
|
||||||
|
crtc 2
|
||||||
|
mode 1920x1080
|
||||||
|
pos 1920x0
|
||||||
|
rate 60.00
|
||||||
|
x-prop-audio auto
|
||||||
|
x-prop-broadcast_rgb Automatic
|
||||||
|
x-prop-max_bpc 12
|
||||||
|
x-prop-non_desktop 0
|
||||||
|
output DP-1
|
||||||
|
crtc 1
|
||||||
|
mode 1920x1080
|
||||||
|
pos 3837x0
|
||||||
|
rate 60.00
|
||||||
|
x-prop-audio auto
|
||||||
|
x-prop-broadcast_rgb Automatic
|
||||||
|
x-prop-colorspace Default
|
||||||
|
x-prop-max_bpc 12
|
||||||
|
x-prop-non_desktop 0
|
||||||
3
.config/autorandr/home_dock/setup
Normal file
3
.config/autorandr/home_dock/setup
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
DP-1 00ffffffffffff001ab3bf0814600b000b200104a5351e78220565a756529c270f5054a54a00818f81809500b30081c0a9c001010101023a801871382d40582c45000f282100001e000000fd00304c1e5211000a202020202020000000fc004232342d392054530a20202020000000ff00595644433734353439320a20200006
|
||||||
|
DP-2-3 00ffffffffffff001ab3c10813fb0a001a1f0104a5351e783a0565a756529c270f5054a54a00818f81809500b30081c0a9c001010101023a801871382d40582c45000f282100001e000000fd00304c1e5211000a202020202020000000fc004232342d392054530a20202020000000ff00595644433731393633350a2020014402031cf14f901f051404031201021113071516062309070783010000023a801871382d40582c45000f282100001e023a80d072382d40102c96800f2821000018011d007251d01e206e2855000f282100001e011d00bc52d01e20b82855400f282100001e8c0ad090204031200c4055000f2821000018000000000000000000e6
|
||||||
|
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5
|
||||||
34
.config/autorandr/home_setup/config
Normal file
34
.config/autorandr/home_setup/config
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
output DP-1
|
||||||
|
off
|
||||||
|
output HDMI-1
|
||||||
|
off
|
||||||
|
output DP-2
|
||||||
|
off
|
||||||
|
output DP-2-1
|
||||||
|
off
|
||||||
|
output DP-2-2
|
||||||
|
off
|
||||||
|
output DP-2-3
|
||||||
|
off
|
||||||
|
output eDP-1
|
||||||
|
crtc 0
|
||||||
|
mode 1920x1080
|
||||||
|
pos 0x0
|
||||||
|
primary
|
||||||
|
rate 60.02
|
||||||
|
x-prop-broadcast_rgb Automatic
|
||||||
|
x-prop-colorspace Default
|
||||||
|
x-prop-max_bpc 12
|
||||||
|
x-prop-non_desktop 0
|
||||||
|
x-prop-scaling_mode Full aspect
|
||||||
|
output HDMI-2
|
||||||
|
crtc 1
|
||||||
|
mode 2560x1440
|
||||||
|
pos 1920x0
|
||||||
|
rate 59.95
|
||||||
|
x-prop-aspect_ratio Automatic
|
||||||
|
x-prop-audio auto
|
||||||
|
x-prop-broadcast_rgb Automatic
|
||||||
|
x-prop-colorspace Default
|
||||||
|
x-prop-max_bpc 12
|
||||||
|
x-prop-non_desktop 0
|
||||||
2
.config/autorandr/home_setup/setup
Normal file
2
.config/autorandr/home_setup/setup
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
HDMI-2 00ffffffffffff0010ac5f4157563541281d0103803c2278eeee95a3544c99260f5054a54b00714f8180a940d1c00101010101010101565e00a0a0a029503020350055502100001a000000ff00335a53465253320a2020202020000000fc0044454c4c205532373139440a20000000fd00384c1e5a19000a20202020202001c7020322f14f90050403020716010611121513141f23097f078301000065030c001000023a801871382d40582c450055502100001e7e3900a080381f4030203a0055502100001a011d007251d01e206e28550055502100001ebf1600a08038134030203a0055502100001a00000000000000000000000000000000000000000088
|
||||||
|
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5
|
||||||
28
.config/autorandr/u_setup/config
Normal file
28
.config/autorandr/u_setup/config
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
output DP-1
|
||||||
|
off
|
||||||
|
output HDMI-1
|
||||||
|
off
|
||||||
|
output DP-2
|
||||||
|
off
|
||||||
|
output eDP-1
|
||||||
|
crtc 0
|
||||||
|
mode 1920x1080
|
||||||
|
pos 0x0
|
||||||
|
primary
|
||||||
|
rate 60.02
|
||||||
|
x-prop-broadcast_rgb Automatic
|
||||||
|
x-prop-colorspace Default
|
||||||
|
x-prop-max_bpc 12
|
||||||
|
x-prop-non_desktop 0
|
||||||
|
x-prop-scaling_mode Full aspect
|
||||||
|
output HDMI-2
|
||||||
|
crtc 1
|
||||||
|
mode 2560x1440
|
||||||
|
pos 1920x0
|
||||||
|
rate 59.95
|
||||||
|
x-prop-aspect_ratio Automatic
|
||||||
|
x-prop-audio auto
|
||||||
|
x-prop-broadcast_rgb Automatic
|
||||||
|
x-prop-colorspace Default
|
||||||
|
x-prop-max_bpc 12
|
||||||
|
x-prop-non_desktop 0
|
||||||
2
.config/autorandr/u_setup/setup
Normal file
2
.config/autorandr/u_setup/setup
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
HDMI-2 00ffffffffffff0010ac56a04c32383013160103803c2278ea8e05ad4f33b0260d5054a54b008100b300714fa9408180010101010101023a801871382d40582c250055502100001e000000ff0047363036543235433038324c0a000000fc0044454c4c2055323731310a2020000000fd00384c1e5111000a202020202020012a020329f15090050403020716010611121513141f20230d7f0767030c001000382d830f0000e3050301023a801871382d40582c250055502100001e011d8018711c1620582c250055502100009e011d007251d01e206e28550055502100001e8c0ad08a20e02d10103e9600555021000018000000000000000000000000000068
|
||||||
|
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5
|
||||||
9
.config/dict/dictrc
Normal file
9
.config/dict/dictrc
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# This is the configuration file for dict.
|
||||||
|
# Usually all you will ever need here is the server keywords.
|
||||||
|
# Refer to the dict manpage for other options.
|
||||||
|
# It will only check the second server if the first fails
|
||||||
|
# localhost uses the dictd service. Configure it to use your local dictionaries.
|
||||||
|
# see: freedict, /etc/dict/dict.conf, /usr/share/dictd
|
||||||
|
server localhost
|
||||||
|
server dict.org
|
||||||
|
|
||||||
302
.config/dunst/dunstrc
Normal file
302
.config/dunst/dunstrc
Normal file
@@ -0,0 +1,302 @@
|
|||||||
|
[global]
|
||||||
|
frame_width = 1
|
||||||
|
frame_color = "#788388"
|
||||||
|
|
||||||
|
font = Noto Sans 10
|
||||||
|
|
||||||
|
# Allow a small subset of html markup:
|
||||||
|
# <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>.
|
||||||
|
# If markup is not allowed, those tags will be stripped out of the
|
||||||
|
# message.
|
||||||
|
markup = yes
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# Markup is allowed
|
||||||
|
format = "%s %p\n%b"
|
||||||
|
|
||||||
|
# Sort messages by urgency.
|
||||||
|
sort = yes
|
||||||
|
|
||||||
|
# Show how many messages are currently hidden (because of geometry).
|
||||||
|
indicate_hidden = yes
|
||||||
|
|
||||||
|
# Alignment of message text.
|
||||||
|
# Possible values are "left", "center" and "right".
|
||||||
|
alignment = left
|
||||||
|
|
||||||
|
# The frequency with wich text that is longer than the notification
|
||||||
|
# window allows bounces back and forth.
|
||||||
|
# This option conflicts with "word_wrap".
|
||||||
|
# Set to 0 to disable.
|
||||||
|
bounce_freq = 5
|
||||||
|
|
||||||
|
|
||||||
|
# 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 = no
|
||||||
|
|
||||||
|
# Ignore newlines '\n' in notifications.
|
||||||
|
ignore_newline = no
|
||||||
|
|
||||||
|
|
||||||
|
# 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 respectevly.
|
||||||
|
# The width can be negative. In this case the actual width is the
|
||||||
|
# screen width minus the width defined in within the geometry option.
|
||||||
|
geometry = "0x4-25+25"
|
||||||
|
|
||||||
|
# Shrink window if it's smaller than the width. Will be ignored if
|
||||||
|
# width is 0.
|
||||||
|
shrink = yes
|
||||||
|
|
||||||
|
# The transparency of the window. Range: [0; 100].
|
||||||
|
# This option will only work if a compositing windowmanager is
|
||||||
|
# present (e.g. xcompmgr, compiz, etc.).
|
||||||
|
transparency = 15
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
# default 120
|
||||||
|
idle_threshold = 120
|
||||||
|
|
||||||
|
# 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 windowmanager that exports the
|
||||||
|
# _NET_ACTIVE_WINDOW property.
|
||||||
|
# This should be the case for almost all modern windowmanagers.
|
||||||
|
#
|
||||||
|
# If this option is set to mouse or keyboard, the monitor option
|
||||||
|
# will be ignored.
|
||||||
|
follow = mouse
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Display indicators for URLs (U) and actions (A).
|
||||||
|
show_indicators = yes
|
||||||
|
|
||||||
|
# The height of a single line. If the height is smaller than the
|
||||||
|
# font height, it will get raised to the font height.
|
||||||
|
# This adds empty space above and under the text.
|
||||||
|
line_height = 0
|
||||||
|
|
||||||
|
# Draw a line of "separator_height" pixel height between two
|
||||||
|
# notifications.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
separator_height = 1
|
||||||
|
|
||||||
|
# Padding between text and separator.
|
||||||
|
# padding = 8
|
||||||
|
padding = 8
|
||||||
|
|
||||||
|
# Horizontal padding.
|
||||||
|
horizontal_padding = 10
|
||||||
|
|
||||||
|
# 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 = #263238
|
||||||
|
|
||||||
|
# Print a notification on startup.
|
||||||
|
# This is mainly for error detection, since dbus (re-)starts dunst
|
||||||
|
# automatically after a crash.
|
||||||
|
startup_notification = false
|
||||||
|
|
||||||
|
# dmenu path.
|
||||||
|
dmenu = /usr/bin/dmenu -p dunst:
|
||||||
|
|
||||||
|
# Browser for opening urls in context menu.
|
||||||
|
browser = palemoon
|
||||||
|
|
||||||
|
# Align icons left/right/off
|
||||||
|
icon_position = left
|
||||||
|
|
||||||
|
# Paths to default icons.
|
||||||
|
icon_path = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices/
|
||||||
|
|
||||||
|
# Limit icons size.
|
||||||
|
max_icon_size=128
|
||||||
|
|
||||||
|
[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.
|
||||||
|
|
||||||
|
# Close notification.
|
||||||
|
close = mod1+space
|
||||||
|
|
||||||
|
# Close all notifications.
|
||||||
|
# close_all = ctrl+shift+space
|
||||||
|
close_all = ctrl+mod1+space
|
||||||
|
|
||||||
|
# Redisplay last message(s).
|
||||||
|
# On the US keyboard layout "grave" is normally above TAB and left
|
||||||
|
# of "1".
|
||||||
|
history = ctrl+mod4+h
|
||||||
|
|
||||||
|
# Context menu.
|
||||||
|
context = ctrl+mod1+c
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
# IMPORTANT: colors have to be defined in quotation marks.
|
||||||
|
# Otherwise the "#" and following would be interpreted as a comment.
|
||||||
|
background = "#263238"
|
||||||
|
foreground = "#556064"
|
||||||
|
timeout = 10
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#263238"
|
||||||
|
foreground = "#F9FAF9"
|
||||||
|
timeout = 10
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#D62929"
|
||||||
|
foreground = "#F9FAF9"
|
||||||
|
timeout = 0
|
||||||
|
|
||||||
|
|
||||||
|
# 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 = ""
|
||||||
|
|
||||||
|
#[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
|
||||||
|
#
|
||||||
|
#[Claws Mail]
|
||||||
|
# appname = claws-mail
|
||||||
|
# category = email.arrived
|
||||||
|
# urgency = normal
|
||||||
|
# background = "#2F899E"
|
||||||
|
# foreground = "#FFA247"
|
||||||
|
#
|
||||||
|
#[mute.sh]
|
||||||
|
# appname = mute
|
||||||
|
# category = mute.sound
|
||||||
|
# script = mute.sh
|
||||||
|
#
|
||||||
|
#[JDownloader]
|
||||||
|
# appname = JDownloader
|
||||||
|
# category = JD
|
||||||
|
# background = "#FFA247"
|
||||||
|
# foreground = "#FFFFFF"
|
||||||
|
#
|
||||||
|
#[newsbeuter]
|
||||||
|
# summary = *Feeds*
|
||||||
|
# background = "#A8EB41"
|
||||||
|
# foreground = "#FFFFFF"
|
||||||
|
#
|
||||||
|
[irc]
|
||||||
|
appname = weechat
|
||||||
|
timeout = 0
|
||||||
|
background = "#0033bb"
|
||||||
|
foreground = "#dddddd"
|
||||||
|
#
|
||||||
|
[weechat hl]
|
||||||
|
appname = weechat
|
||||||
|
category = weechat.HL
|
||||||
|
background = "#FF5C47"
|
||||||
|
foreground = "#FFFFFF"
|
||||||
|
#
|
||||||
|
[weechat pn]
|
||||||
|
appname = weechat
|
||||||
|
category = weechat.PM
|
||||||
|
background = "#D53B84"
|
||||||
|
foreground = "#FFFFFF"
|
||||||
|
#
|
||||||
|
#[CMUS]
|
||||||
|
# appname = CMUS
|
||||||
|
# category = cmus
|
||||||
|
# background = "#6C4AB7"
|
||||||
|
# foreground = "#FFE756"
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# background = "#30AB70"
|
||||||
|
# foreground = "#F67245"
|
||||||
|
#
|
||||||
|
# vim: ft=cfg
|
||||||
BIN
.config/i3/bg.png
Normal file
BIN
.config/i3/bg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 108 KiB |
46
.config/i3/conf.d/theme
Normal file
46
.config/i3/conf.d/theme
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
# vim: filetype=i3config
|
||||||
|
|
||||||
|
font pango:Sans Regular 12
|
||||||
|
# THEME, should use same colors as .profile
|
||||||
|
set $black #272822
|
||||||
|
set $white #FFFFFF
|
||||||
|
set $red #F92672
|
||||||
|
set $blue #66D9EF
|
||||||
|
set $green #A6E22E
|
||||||
|
set $orange #FD971F
|
||||||
|
set $yellow #E6DB74
|
||||||
|
set $purple #AE81FF
|
||||||
|
|
||||||
|
set $allblack #000000
|
||||||
|
|
||||||
|
# class border bg. text indicator child_border
|
||||||
|
client.focused $blue $black $blue $blue $blue
|
||||||
|
client.focused_inactive $black $black $blue $black $black
|
||||||
|
client.unfocused $black $black $white $black $black
|
||||||
|
client.background $black
|
||||||
|
|
||||||
|
|
||||||
|
bar {
|
||||||
|
i3bar_command i3bar
|
||||||
|
status_command i3status
|
||||||
|
#--config $XDG_CONFIG_HOME/i3/i3status.conf
|
||||||
|
mode dock
|
||||||
|
position top
|
||||||
|
#tray_output primary
|
||||||
|
# font xft:Jetbrains mono 20
|
||||||
|
strip_workspace_numbers yes
|
||||||
|
workspace_buttons yes
|
||||||
|
|
||||||
|
colors {
|
||||||
|
background #000000
|
||||||
|
#statusline #F9FAF9
|
||||||
|
#separator #454947
|
||||||
|
# border bg text
|
||||||
|
focused_workspace $allblack $blue $allblack
|
||||||
|
#active_workspace #FFFFFF $black #FFFFFF
|
||||||
|
#inactive_workspace #FFFFFF $black #FFFFFF
|
||||||
|
#binding_mode #16a085 #2C2C2C #F9FAF9
|
||||||
|
urgent_workspace $red $black $red
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
159
.config/i3/config
Normal file
159
.config/i3/config
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
# vim: filetype=i3config
|
||||||
|
include ~/.config/i3/conf.d/*
|
||||||
|
|
||||||
|
# this config is based on github.com:LukeSmithxyz/voidrice 884dcbdc4792eed95e558af84491eb3100d314a2
|
||||||
|
# to immediately apply a new config, run `i3-msg reload; i3-msg restart`
|
||||||
|
|
||||||
|
# This config file will use environmental variables such as $BROWSER and $TERMINAL.
|
||||||
|
# You can set these variables in ~/.profile or ~/.bash_profile if you have it as below:
|
||||||
|
|
||||||
|
|
||||||
|
# No focus on mouse over (allows scrolling without changing focus)
|
||||||
|
focus_follows_mouse no
|
||||||
|
# remove title bar
|
||||||
|
default_border pixel 1
|
||||||
|
default_floating_border pixel 1
|
||||||
|
# set modifier key, Mod4 is super (windows), Mod1 = Alt key
|
||||||
|
set $mod Mod4
|
||||||
|
bindsym $mod+F12 restart;reload
|
||||||
|
bindsym $mod+Escape exec i3lock -c 000000 & sleep 2 && systemctl suspend
|
||||||
|
bindsym $mod+Shift+Escape exec i3lock -c 000000 & sleep 2 && xset dpms force off
|
||||||
|
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
bindsym $mod+d floating toggle
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# DROPDOWN
|
||||||
|
# Scratchpad binds
|
||||||
|
exec bitwarden-desktop
|
||||||
|
for_window [instance="bitwarden"] move scratchpad
|
||||||
|
for_window [instance="bitwarden"] sticky enable
|
||||||
|
bindsym $mod+p [instance="bitwarden"] scratchpad show;
|
||||||
|
|
||||||
|
exec $TERMINAL --class="dropdown_tmux" -e 'tmux'
|
||||||
|
for_window [class="dropdown_tmux"] move scratchpad
|
||||||
|
for_window [class="dropdown_tmux"] sticky enable
|
||||||
|
bindsym $mod+space [class="dropdown_tmux"] scratchpad show;
|
||||||
|
|
||||||
|
# General dropdown window traits. The order can matter.
|
||||||
|
# sticky allows windows to stay visible even when switching workspaces
|
||||||
|
#for_window [instance="dropdown_tmux"] resize set 625 450
|
||||||
|
#for_window [instance="dropdown_tmux"] border pixel 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# i3 BINDS
|
||||||
|
bindsym $mod+h focus left
|
||||||
|
bindsym $mod+Shift+h move left
|
||||||
|
bindsym $mod+j focus down
|
||||||
|
bindsym $mod+Shift+j move down
|
||||||
|
bindsym $mod+k focus up
|
||||||
|
bindsym $mod+Shift+k move up
|
||||||
|
bindsym $mod+l focus right
|
||||||
|
bindsym $mod+Shift+l move right
|
||||||
|
bindsym $mod+Ctrl+h resize grow width 1 px or 1 ppt
|
||||||
|
bindsym $mod+Ctrl+j resize shrink height 1 px or 1 ppt
|
||||||
|
bindsym $mod+Ctrl+k resize grow height 1 px or 1 ppt
|
||||||
|
bindsym $mod+Ctrl+l resize shrink width 1 px or 1 ppt
|
||||||
|
bindsym $mod+Shift+r exec --no-startup-id winresize
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
bindsym $mod+q [con_id="__focused__" instance="^(?!dropdown_).*$"] kill
|
||||||
|
bindsym $mod+t layout toggle tabbed splith
|
||||||
|
bindsym $mod+Shift+v split h;exec notify-send 'tile horizontally |'
|
||||||
|
bindsym $mod+v split v;exec notify-send 'tile vertically -'
|
||||||
|
|
||||||
|
|
||||||
|
# ARROW KEYS
|
||||||
|
bindsym $mod+Left move workspace to output left
|
||||||
|
bindsym $mod+Down move workspace to output down
|
||||||
|
bindsym $mod+Up move workspace to output up
|
||||||
|
bindsym $mod+Right move workspace to output right
|
||||||
|
|
||||||
|
# WORKSPACES
|
||||||
|
# prior and next ar PgUp and PgDown
|
||||||
|
bindsym $mod+Prior container prev
|
||||||
|
bindsym $mod+Shift+Prior move container to workspace prev
|
||||||
|
bindsym $mod+Next workspace next
|
||||||
|
bindsym $mod+Shift+Next move container to workspace next
|
||||||
|
bindsym $mod+Tab workspace back_and_forth
|
||||||
|
|
||||||
|
# name workspaces
|
||||||
|
set $ws1 "1"
|
||||||
|
set $ws2 "2"
|
||||||
|
set $ws3 "3"
|
||||||
|
set $ws4 "4"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace $ws1
|
||||||
|
bindsym $mod+Shift+1 move container to workspace $ws1
|
||||||
|
bindsym $mod+2 workspace $ws2
|
||||||
|
bindsym $mod+Shift+2 move container to workspace $ws2
|
||||||
|
bindsym $mod+3 workspace $ws3
|
||||||
|
bindsym $mod+Shift+3 move container to workspace $ws3
|
||||||
|
bindsym $mod+4 workspace $ws4
|
||||||
|
bindsym $mod+Shift+4 move container to workspace $ws4
|
||||||
|
bindsym $mod+5 workspace $ws5
|
||||||
|
bindsym $mod+Shift+5 move container to workspace $ws5
|
||||||
|
bindsym $mod+6 workspace $ws6
|
||||||
|
bindsym $mod+Shift+6 move container to workspace $ws6
|
||||||
|
bindsym $mod+7 workspace $ws7
|
||||||
|
bindsym $mod+Shift+7 move container to workspace $ws7
|
||||||
|
bindsym $mod+8 workspace $ws8
|
||||||
|
bindsym $mod+Shift+8 move container to workspace $ws8
|
||||||
|
bindsym $mod+9 workspace $ws9
|
||||||
|
bindsym $mod+Shift+9 move container to workspace $ws9
|
||||||
|
bindsym $mod+0 workspace $ws10
|
||||||
|
bindsym $mod+Shift+0 move container to workspace $ws10
|
||||||
|
|
||||||
|
|
||||||
|
# APPLICATION SHORTCUTS
|
||||||
|
bindsym $mod+Return exec --no-startup-id "rofi -show"
|
||||||
|
bindsym $mod+Shift+space exec --no-startup-id $TERMINAL
|
||||||
|
bindsym $mod+w exec --no-startup-id $BROWSER
|
||||||
|
bindsym $mod+Shift+w exec --no-startup-id "$BROWSER -profile ~/.mozilla/firefox/2ustnzbw.shopping"
|
||||||
|
bindsym $mod+e exec --no-startup-id $EXPLORER
|
||||||
|
bindsym $mod+m exec --no-startup-id $MAILCLIENT
|
||||||
|
# TODO add import path/to/img.png to make a screenshot
|
||||||
|
bindsym --release $mod+s exec "import ~/Pictures/screenshots/$(date '+%y_%m_%d-%H_%M_%S').png"
|
||||||
|
bindsym $mod+Shift+s exec "import -window root ~/Pictures/screenshots/$(date '+%y_%m_%d-%H_%M_%S').png"
|
||||||
|
# i3lock for locking, i3-msg exit for logout
|
||||||
|
# Show selection:
|
||||||
|
#bindsym $mod+Insert exec --no-startup-id showclip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# AUTOSTART
|
||||||
|
# start polkit for pacman
|
||||||
|
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
# DESKTOP STUFF
|
||||||
|
# set background picture
|
||||||
|
exec --no-startup-id nitrogen --set-zoom-fill $HOME/.config/i3/bg.png
|
||||||
|
|
||||||
|
# try to start tray tools / applets manually
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
# --sm-disable
|
||||||
|
exec --no-startup-id blueman-applet
|
||||||
|
exec --no-startup-id pamac-tray
|
||||||
|
exec --no-startup-id xfce4-power-manager
|
||||||
|
#exec --no-startup-id volumeicon
|
||||||
|
exec --no-startup-id start-pulseaudio-x11
|
||||||
|
exec --no-startup-id pa-applet
|
||||||
|
exec --no-startup-id picom
|
||||||
|
bindsym $mod+Ctrl+m exec pavucontrol
|
||||||
|
# detect screen configurations
|
||||||
|
exec --no-startup-id autorandr -c
|
||||||
|
# set key repeat delay and rate
|
||||||
|
exec --no-startup-id xset r rate 200 35
|
||||||
|
|
||||||
|
|
||||||
1
.config/i3/i3status.conf
Normal file
1
.config/i3/i3status.conf
Normal file
@@ -0,0 +1 @@
|
|||||||
|
# this is a i3bar config file
|
||||||
276
.config/nvim/colors/molokai.vim
Normal file
276
.config/nvim/colors/molokai.vim
Normal file
@@ -0,0 +1,276 @@
|
|||||||
|
" Vim color file
|
||||||
|
"
|
||||||
|
" Author: Tomas Restrepo <tomas@winterdom.com>
|
||||||
|
" https://github.com/tomasr/molokai
|
||||||
|
"
|
||||||
|
" Note: Based on the Monokai theme for TextMate
|
||||||
|
" by Wimer Hazenberg and its darker variant
|
||||||
|
" by Hamish Stuart Macpherson
|
||||||
|
"
|
||||||
|
|
||||||
|
hi clear
|
||||||
|
|
||||||
|
if version > 580
|
||||||
|
" no guarantees for version 5.8 and below, but this makes it stop
|
||||||
|
" complaining
|
||||||
|
hi clear
|
||||||
|
if exists("syntax_on")
|
||||||
|
syntax reset
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
let g:colors_name="molokai"
|
||||||
|
|
||||||
|
if exists("g:molokai_original")
|
||||||
|
let s:molokai_original = g:molokai_original
|
||||||
|
else
|
||||||
|
let s:molokai_original = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
hi Boolean guifg=#AE81FF
|
||||||
|
hi Character guifg=#E6DB74
|
||||||
|
hi Number guifg=#AE81FF
|
||||||
|
hi String guifg=#E6DB74
|
||||||
|
hi Conditional guifg=#F92672 gui=bold
|
||||||
|
hi Constant guifg=#AE81FF gui=bold
|
||||||
|
hi Cursor guifg=#000000 guibg=#F8F8F0
|
||||||
|
hi iCursor guifg=#000000 guibg=#F8F8F0
|
||||||
|
hi Debug guifg=#BCA3A3 gui=bold
|
||||||
|
hi Define guifg=#66D9EF
|
||||||
|
hi Delimiter guifg=#8F8F8F
|
||||||
|
hi DiffAdd guibg=#13354A
|
||||||
|
hi DiffChange guifg=#89807D guibg=#4C4745
|
||||||
|
hi DiffDelete guifg=#960050 guibg=#1E0010
|
||||||
|
hi DiffText guibg=#4C4745 gui=italic,bold
|
||||||
|
|
||||||
|
hi Directory guifg=#A6E22E gui=bold
|
||||||
|
hi Error guifg=#E6DB74 guibg=#1E0010
|
||||||
|
hi ErrorMsg guifg=#F92672 guibg=#232526 gui=bold
|
||||||
|
hi Exception guifg=#A6E22E gui=bold
|
||||||
|
hi Float guifg=#AE81FF
|
||||||
|
hi FoldColumn guifg=#465457 guibg=#000000
|
||||||
|
hi Folded guifg=#465457 guibg=#000000
|
||||||
|
hi Function guifg=#A6E22E
|
||||||
|
hi Identifier guifg=#FD971F
|
||||||
|
hi Ignore guifg=#808080 guibg=bg
|
||||||
|
hi IncSearch guifg=#C4BE89 guibg=#000000
|
||||||
|
|
||||||
|
hi Keyword guifg=#F92672 gui=bold
|
||||||
|
hi Label guifg=#E6DB74 gui=none
|
||||||
|
hi Macro guifg=#C4BE89 gui=italic
|
||||||
|
hi SpecialKey guifg=#66D9EF gui=italic
|
||||||
|
|
||||||
|
hi MatchParen guifg=#000000 guibg=#FD971F gui=bold
|
||||||
|
hi ModeMsg guifg=#E6DB74
|
||||||
|
hi MoreMsg guifg=#E6DB74
|
||||||
|
hi Operator guifg=#F92672
|
||||||
|
|
||||||
|
" complete menu
|
||||||
|
hi Pmenu guifg=#66D9EF guibg=#000000
|
||||||
|
hi PmenuSel guibg=#808080
|
||||||
|
hi PmenuSbar guibg=#080808
|
||||||
|
hi PmenuThumb guifg=#66D9EF
|
||||||
|
|
||||||
|
hi PreCondit guifg=#A6E22E gui=bold
|
||||||
|
hi PreProc guifg=#A6E22E
|
||||||
|
hi Question guifg=#66D9EF
|
||||||
|
hi Repeat guifg=#F92672 gui=bold
|
||||||
|
hi Search guifg=#000000 guibg=#FFE792
|
||||||
|
" marks
|
||||||
|
hi SignColumn guifg=#A6E22E guibg=#232526
|
||||||
|
hi SpecialChar guifg=#F92672 gui=bold
|
||||||
|
hi SpecialComment guifg=#7E8E91 gui=bold
|
||||||
|
hi Special guifg=#66D9EF guibg=bg gui=italic
|
||||||
|
if has("spell")
|
||||||
|
hi SpellBad guisp=#FF0000 gui=undercurl
|
||||||
|
hi SpellCap guisp=#7070F0 gui=undercurl
|
||||||
|
hi SpellLocal guisp=#70F0F0 gui=undercurl
|
||||||
|
hi SpellRare guisp=#FFFFFF gui=undercurl
|
||||||
|
endif
|
||||||
|
hi Statement guifg=#F92672 gui=bold
|
||||||
|
hi StatusLine guifg=#455354 guibg=fg
|
||||||
|
hi StatusLineNC guifg=#808080 guibg=#080808
|
||||||
|
hi StorageClass guifg=#FD971F gui=italic
|
||||||
|
hi Structure guifg=#66D9EF
|
||||||
|
hi Tag guifg=#F92672 gui=italic
|
||||||
|
hi Title guifg=#ef5939
|
||||||
|
hi Todo guifg=#FFFFFF guibg=bg gui=bold
|
||||||
|
|
||||||
|
hi Typedef guifg=#66D9EF
|
||||||
|
hi Type guifg=#66D9EF gui=none
|
||||||
|
hi Underlined guifg=#808080 gui=underline
|
||||||
|
|
||||||
|
hi VertSplit guifg=#808080 guibg=#080808 gui=bold
|
||||||
|
hi VisualNOS guibg=#403D3D
|
||||||
|
hi Visual guibg=#403D3D
|
||||||
|
hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold
|
||||||
|
hi WildMenu guifg=#66D9EF guibg=#000000
|
||||||
|
|
||||||
|
hi TabLineFill guifg=#1B1D1E guibg=#1B1D1E
|
||||||
|
hi TabLine guibg=#1B1D1E guifg=#808080 gui=none
|
||||||
|
|
||||||
|
if s:molokai_original == 1
|
||||||
|
hi Normal guifg=#F8F8F2 guibg=#272822
|
||||||
|
hi Comment guifg=#75715E
|
||||||
|
hi CursorLine guibg=#3E3D32
|
||||||
|
hi CursorLineNr guifg=#FD971F gui=none
|
||||||
|
hi CursorColumn guibg=#3E3D32
|
||||||
|
hi ColorColumn guibg=#3B3A32
|
||||||
|
hi LineNr guifg=#BCBCBC guibg=#3B3A32
|
||||||
|
hi NonText guifg=#75715E
|
||||||
|
hi SpecialKey guifg=#75715E
|
||||||
|
else
|
||||||
|
hi Normal guifg=#F8F8F2 guibg=#1B1D1E
|
||||||
|
hi Comment guifg=#7E8E91
|
||||||
|
hi CursorLine guibg=#293739
|
||||||
|
hi CursorLineNr guifg=#FD971F gui=none
|
||||||
|
hi CursorColumn guibg=#293739
|
||||||
|
hi ColorColumn guibg=#232526
|
||||||
|
hi LineNr guifg=#465457 guibg=#232526
|
||||||
|
hi NonText guifg=#465457
|
||||||
|
hi SpecialKey guifg=#465457
|
||||||
|
end
|
||||||
|
|
||||||
|
"
|
||||||
|
" Support for 256-color terminal
|
||||||
|
"
|
||||||
|
if &t_Co > 255
|
||||||
|
if s:molokai_original == 1
|
||||||
|
hi Normal ctermbg=234
|
||||||
|
hi CursorLine ctermbg=235 cterm=none
|
||||||
|
hi CursorLineNr ctermfg=208 cterm=none
|
||||||
|
else
|
||||||
|
hi Normal ctermfg=252 ctermbg=233
|
||||||
|
hi CursorLine ctermbg=234 cterm=none
|
||||||
|
hi CursorLineNr ctermfg=208 cterm=none
|
||||||
|
endif
|
||||||
|
hi Boolean ctermfg=135
|
||||||
|
hi Character ctermfg=144
|
||||||
|
hi Number ctermfg=135
|
||||||
|
hi String ctermfg=144
|
||||||
|
hi Conditional ctermfg=161 cterm=bold
|
||||||
|
hi Constant ctermfg=135 cterm=bold
|
||||||
|
hi Cursor ctermfg=16 ctermbg=253
|
||||||
|
hi Debug ctermfg=225 cterm=bold
|
||||||
|
hi Define ctermfg=81
|
||||||
|
hi Delimiter ctermfg=241
|
||||||
|
|
||||||
|
hi DiffAdd ctermbg=24
|
||||||
|
hi DiffChange ctermfg=181 ctermbg=239
|
||||||
|
hi DiffDelete ctermfg=162 ctermbg=53
|
||||||
|
hi DiffText ctermbg=102 cterm=bold
|
||||||
|
|
||||||
|
hi Directory ctermfg=118 cterm=bold
|
||||||
|
hi Error ctermfg=219 ctermbg=89
|
||||||
|
hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold
|
||||||
|
hi Exception ctermfg=118 cterm=bold
|
||||||
|
hi Float ctermfg=135
|
||||||
|
hi FoldColumn ctermfg=67 ctermbg=16
|
||||||
|
hi Folded ctermfg=67 ctermbg=16
|
||||||
|
hi Function ctermfg=118
|
||||||
|
hi Identifier ctermfg=208 cterm=none
|
||||||
|
hi Ignore ctermfg=244 ctermbg=232
|
||||||
|
hi IncSearch ctermfg=193 ctermbg=16
|
||||||
|
|
||||||
|
hi keyword ctermfg=161 cterm=bold
|
||||||
|
hi Label ctermfg=229 cterm=none
|
||||||
|
hi Macro ctermfg=193
|
||||||
|
hi SpecialKey ctermfg=81
|
||||||
|
|
||||||
|
hi MatchParen ctermfg=233 ctermbg=208 cterm=bold
|
||||||
|
hi ModeMsg ctermfg=229
|
||||||
|
hi MoreMsg ctermfg=229
|
||||||
|
hi Operator ctermfg=161
|
||||||
|
|
||||||
|
" complete menu
|
||||||
|
hi Pmenu ctermfg=81 ctermbg=16
|
||||||
|
hi PmenuSel ctermfg=255 ctermbg=242
|
||||||
|
hi PmenuSbar ctermbg=232
|
||||||
|
hi PmenuThumb ctermfg=81
|
||||||
|
|
||||||
|
hi PreCondit ctermfg=118 cterm=bold
|
||||||
|
hi PreProc ctermfg=118
|
||||||
|
hi Question ctermfg=81
|
||||||
|
hi Repeat ctermfg=161 cterm=bold
|
||||||
|
hi Search ctermfg=0 ctermbg=222 cterm=NONE
|
||||||
|
|
||||||
|
" marks column
|
||||||
|
hi SignColumn ctermfg=118 ctermbg=235
|
||||||
|
hi SpecialChar ctermfg=161 cterm=bold
|
||||||
|
hi SpecialComment ctermfg=245 cterm=bold
|
||||||
|
hi Special ctermfg=81
|
||||||
|
if has("spell")
|
||||||
|
hi SpellBad ctermbg=52
|
||||||
|
hi SpellCap ctermbg=17
|
||||||
|
hi SpellLocal ctermbg=17
|
||||||
|
hi SpellRare ctermfg=none ctermbg=none cterm=reverse
|
||||||
|
endif
|
||||||
|
hi Statement ctermfg=161 cterm=bold
|
||||||
|
hi StatusLine ctermfg=238 ctermbg=253
|
||||||
|
hi StatusLineNC ctermfg=244 ctermbg=232
|
||||||
|
hi StorageClass ctermfg=208
|
||||||
|
hi Structure ctermfg=81
|
||||||
|
hi Tag ctermfg=161
|
||||||
|
hi Title ctermfg=166
|
||||||
|
hi Todo ctermfg=231 ctermbg=232 cterm=bold
|
||||||
|
|
||||||
|
hi Typedef ctermfg=81
|
||||||
|
hi Type ctermfg=81 cterm=none
|
||||||
|
hi Underlined ctermfg=244 cterm=underline
|
||||||
|
|
||||||
|
hi VertSplit ctermfg=244 ctermbg=232 cterm=bold
|
||||||
|
hi VisualNOS ctermbg=238
|
||||||
|
hi Visual ctermbg=235
|
||||||
|
hi WarningMsg ctermfg=231 ctermbg=238 cterm=bold
|
||||||
|
hi WildMenu ctermfg=81 ctermbg=16
|
||||||
|
|
||||||
|
hi Comment ctermfg=59
|
||||||
|
hi CursorColumn ctermbg=236
|
||||||
|
hi ColorColumn ctermbg=236
|
||||||
|
hi LineNr ctermfg=250 ctermbg=236
|
||||||
|
hi NonText ctermfg=59
|
||||||
|
|
||||||
|
hi SpecialKey ctermfg=59
|
||||||
|
|
||||||
|
if exists("g:rehash256") && g:rehash256 == 1
|
||||||
|
hi Normal ctermfg=252 ctermbg=234
|
||||||
|
hi CursorLine ctermbg=236 cterm=none
|
||||||
|
hi CursorLineNr ctermfg=208 cterm=none
|
||||||
|
|
||||||
|
hi Boolean ctermfg=141
|
||||||
|
hi Character ctermfg=222
|
||||||
|
hi Number ctermfg=141
|
||||||
|
hi String ctermfg=222
|
||||||
|
hi Conditional ctermfg=197 cterm=bold
|
||||||
|
hi Constant ctermfg=141 cterm=bold
|
||||||
|
|
||||||
|
hi DiffDelete ctermfg=125 ctermbg=233
|
||||||
|
|
||||||
|
hi Directory ctermfg=154 cterm=bold
|
||||||
|
hi Error ctermfg=222 ctermbg=233
|
||||||
|
hi Exception ctermfg=154 cterm=bold
|
||||||
|
hi Float ctermfg=141
|
||||||
|
hi Function ctermfg=154
|
||||||
|
hi Identifier ctermfg=208
|
||||||
|
|
||||||
|
hi Keyword ctermfg=197 cterm=bold
|
||||||
|
hi Operator ctermfg=197
|
||||||
|
hi PreCondit ctermfg=154 cterm=bold
|
||||||
|
hi PreProc ctermfg=154
|
||||||
|
hi Repeat ctermfg=197 cterm=bold
|
||||||
|
|
||||||
|
hi Statement ctermfg=197 cterm=bold
|
||||||
|
hi Tag ctermfg=197
|
||||||
|
hi Title ctermfg=203
|
||||||
|
hi Visual ctermbg=238
|
||||||
|
|
||||||
|
hi Comment ctermfg=244
|
||||||
|
hi LineNr ctermfg=239 ctermbg=235
|
||||||
|
hi NonText ctermfg=239
|
||||||
|
hi SpecialKey ctermfg=239
|
||||||
|
endif
|
||||||
|
end
|
||||||
|
|
||||||
|
" Must be at the end, because of ctermbg=234 bug.
|
||||||
|
" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ
|
||||||
|
set background=dark
|
||||||
109
.config/nvim/colors/monokai.vim
Normal file
109
.config/nvim/colors/monokai.vim
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
" Vim color file
|
||||||
|
" Converted from Textmate theme Monokai using Coloration v0.3.2 (http://github.com/sickill/coloration)
|
||||||
|
|
||||||
|
set background=dark
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
if exists("syntax_on")
|
||||||
|
syntax reset
|
||||||
|
endif
|
||||||
|
|
||||||
|
set t_Co=256
|
||||||
|
let g:colors_name = "monokai"
|
||||||
|
|
||||||
|
hi Cursor ctermfg=235 ctermbg=231 cterm=NONE guifg=#272822 guibg=#f8f8f0 gui=NONE
|
||||||
|
hi Visual ctermfg=NONE ctermbg=59 cterm=NONE guifg=NONE guibg=#49483e gui=NONE
|
||||||
|
hi CursorLine ctermfg=NONE ctermbg=237 cterm=NONE guifg=NONE guibg=#3c3d37 gui=NONE
|
||||||
|
hi CursorColumn ctermfg=NONE ctermbg=237 cterm=NONE guifg=NONE guibg=#3c3d37 gui=NONE
|
||||||
|
hi ColorColumn ctermfg=NONE ctermbg=237 cterm=NONE guifg=NONE guibg=#3c3d37 gui=NONE
|
||||||
|
hi LineNr ctermfg=102 ctermbg=237 cterm=NONE guifg=#90908a guibg=#3c3d37 gui=NONE
|
||||||
|
hi VertSplit ctermfg=241 ctermbg=241 cterm=NONE guifg=#64645e guibg=#64645e gui=NONE
|
||||||
|
hi MatchParen ctermfg=197 ctermbg=NONE cterm=underline guifg=#f92672 guibg=NONE gui=underline
|
||||||
|
hi StatusLine ctermfg=231 ctermbg=241 cterm=bold guifg=#f8f8f2 guibg=#64645e gui=bold
|
||||||
|
hi StatusLineNC ctermfg=231 ctermbg=241 cterm=NONE guifg=#f8f8f2 guibg=#64645e gui=NONE
|
||||||
|
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
|
hi PmenuSel ctermfg=NONE ctermbg=59 cterm=NONE guifg=NONE guibg=#49483e gui=NONE
|
||||||
|
hi IncSearch term=reverse cterm=reverse ctermfg=193 ctermbg=16 gui=reverse guifg=#C4BE89 guibg=#000000
|
||||||
|
hi Search term=reverse cterm=NONE ctermfg=231 ctermbg=24 gui=NONE guifg=#f8f8f2 guibg=#204a87
|
||||||
|
hi Directory ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE
|
||||||
|
hi Folded ctermfg=242 ctermbg=235 cterm=NONE guifg=#75715e guibg=#272822 gui=NONE
|
||||||
|
hi SignColumn ctermfg=NONE ctermbg=237 cterm=NONE guifg=NONE guibg=#3c3d37 gui=NONE
|
||||||
|
hi Normal ctermfg=231 ctermbg=235 cterm=NONE guifg=#f8f8f2 guibg=#272822 gui=NONE
|
||||||
|
hi Boolean ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE
|
||||||
|
hi Character ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE
|
||||||
|
hi Comment ctermfg=242 ctermbg=NONE cterm=NONE guifg=#75715e guibg=NONE gui=NONE
|
||||||
|
hi Conditional ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
|
hi Define ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi DiffAdd ctermfg=231 ctermbg=64 cterm=bold guifg=#f8f8f2 guibg=#46830c gui=bold
|
||||||
|
hi DiffDelete ctermfg=88 ctermbg=NONE cterm=NONE guifg=#8b0807 guibg=NONE gui=NONE
|
||||||
|
hi DiffChange ctermfg=NONE ctermbg=NONE cterm=NONE guifg=#f8f8f2 guibg=#243955 gui=NONE
|
||||||
|
hi DiffText ctermfg=231 ctermbg=24 cterm=bold guifg=#f8f8f2 guibg=#204a87 gui=bold
|
||||||
|
hi ErrorMsg ctermfg=231 ctermbg=197 cterm=NONE guifg=#f8f8f0 guibg=#f92672 gui=NONE
|
||||||
|
hi WarningMsg ctermfg=231 ctermbg=197 cterm=NONE guifg=#f8f8f0 guibg=#f92672 gui=NONE
|
||||||
|
hi Float ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE
|
||||||
|
hi Function ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE
|
||||||
|
hi Identifier ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic
|
||||||
|
hi Keyword ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi Label ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE
|
||||||
|
hi NonText ctermfg=59 ctermbg=236 cterm=NONE guifg=#49483e guibg=#31322c gui=NONE
|
||||||
|
hi Number ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE
|
||||||
|
hi Operator ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi PreProc ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi Special ctermfg=231 ctermbg=NONE cterm=NONE guifg=#f8f8f2 guibg=NONE gui=NONE
|
||||||
|
hi SpecialComment ctermfg=242 ctermbg=NONE cterm=NONE guifg=#75715e guibg=NONE gui=NONE
|
||||||
|
hi SpecialKey ctermfg=59 ctermbg=237 cterm=NONE guifg=#49483e guibg=#3c3d37 gui=NONE
|
||||||
|
hi Statement ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi StorageClass ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic
|
||||||
|
hi String ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE
|
||||||
|
hi Tag ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi Title ctermfg=231 ctermbg=NONE cterm=bold guifg=#f8f8f2 guibg=NONE gui=bold
|
||||||
|
hi Todo ctermfg=95 ctermbg=NONE cterm=inverse,bold guifg=#75715e guibg=NONE gui=inverse,bold
|
||||||
|
hi Type ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline
|
||||||
|
hi rubyClass ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi rubyFunction ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE
|
||||||
|
hi rubyInterpolationDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
|
hi rubySymbol ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE
|
||||||
|
hi rubyConstant ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic
|
||||||
|
hi rubyStringDelimiter ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE
|
||||||
|
hi rubyBlockParameter ctermfg=208 ctermbg=NONE cterm=NONE guifg=#fd971f guibg=NONE gui=italic
|
||||||
|
hi rubyInstanceVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
|
hi rubyInclude ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi rubyGlobalVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
|
hi rubyRegexp ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE
|
||||||
|
hi rubyRegexpDelimiter ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE
|
||||||
|
hi rubyEscape ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE
|
||||||
|
hi rubyControl ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi rubyClassVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
|
hi rubyOperator ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi rubyException ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi rubyPseudoVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
|
hi rubyRailsUserClass ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic
|
||||||
|
hi rubyRailsARAssociationMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE
|
||||||
|
hi rubyRailsARMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE
|
||||||
|
hi rubyRailsRenderMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE
|
||||||
|
hi rubyRailsMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE
|
||||||
|
hi erubyDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
|
hi erubyComment ctermfg=95 ctermbg=NONE cterm=NONE guifg=#75715e guibg=NONE gui=NONE
|
||||||
|
hi erubyRailsMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE
|
||||||
|
hi htmlTag ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE
|
||||||
|
hi htmlEndTag ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE
|
||||||
|
hi htmlTagName ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
|
hi htmlArg ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
|
hi htmlSpecialChar ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE
|
||||||
|
hi javaScriptFunction ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic
|
||||||
|
hi javaScriptRailsFunction ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE
|
||||||
|
hi javaScriptBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
|
hi yamlKey ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE
|
||||||
|
hi yamlAnchor ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
|
hi yamlAlias ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
|
hi yamlDocumentHeader ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE
|
||||||
|
hi cssURL ctermfg=208 ctermbg=NONE cterm=NONE guifg=#fd971f guibg=NONE gui=italic
|
||||||
|
hi cssFunctionName ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE
|
||||||
|
hi cssColor ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE
|
||||||
|
hi cssPseudoClassId ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE
|
||||||
|
hi cssClassName ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE
|
||||||
|
hi cssValueLength ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE
|
||||||
|
hi cssCommonAttr ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE
|
||||||
|
hi cssBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
|
||||||
0
.config/nvim/ftplugin/python.lua
Normal file
0
.config/nvim/ftplugin/python.lua
Normal file
43
.config/nvim/init.lua
Normal file
43
.config/nvim/init.lua
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
require("plugins")
|
||||||
|
require("keybinds")
|
||||||
|
--- Functional wrapper for mapping custom keybindings
|
||||||
|
--- GENERAL SETTINGS
|
||||||
|
function map(mode, lhs, rhs, opts)
|
||||||
|
local options = { noremap = true }
|
||||||
|
if opts then
|
||||||
|
options = vim.tbl_extend("force", options, opts)
|
||||||
|
end
|
||||||
|
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
|
||||||
|
end
|
||||||
|
map("i","<C-c>","<Esc>")
|
||||||
|
|
||||||
|
vim.o.termguicolors = true
|
||||||
|
vim.cmd('colorscheme monokai') -- set colorscheme
|
||||||
|
vim.o.syntax = 'on'
|
||||||
|
vim.cmd('set title')
|
||||||
|
vim.opt.titlestring = [[%{v:progname}: %f %h%m%r%w ]]
|
||||||
|
-- vim.opt.titlestring = [[%f %h%m%r%w %{v:progname} (%{tabpagenr()} of %{tabpagenr('$')})]]
|
||||||
|
vim.o.errorbells = false
|
||||||
|
vim.o.smartcase = true
|
||||||
|
vim.o.showmode = true
|
||||||
|
vim.o.ignorecase = true -- case-insensitive search
|
||||||
|
vim.bo.swapfile = false
|
||||||
|
vim.o.backup = false
|
||||||
|
vim.o.undodir = vim.fn.stdpath('config') .. '/undodir'
|
||||||
|
vim.o.undofile = true
|
||||||
|
vim.o.incsearch = true
|
||||||
|
vim.o.hidden = true
|
||||||
|
vim.o.completeopt='menuone,noinsert,noselect'
|
||||||
|
vim.bo.autoindent = true
|
||||||
|
vim.bo.smartindent = true
|
||||||
|
vim.o.tabstop = 2
|
||||||
|
vim.o.softtabstop = 2
|
||||||
|
vim.o.shiftwidth = 2
|
||||||
|
vim.o.expandtab = true
|
||||||
|
vim.wo.number = true
|
||||||
|
vim.wo.relativenumber = true
|
||||||
|
vim.o.scrolloff = 8
|
||||||
|
vim.wo.signcolumn = 'yes'
|
||||||
|
vim.wo.wrap = false
|
||||||
|
vim.opt.cursorline = true
|
||||||
|
|
||||||
13
.config/nvim/lua/keybinds.lua
Normal file
13
.config/nvim/lua/keybinds.lua
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
-- filetype-specific keybinds can be found in the ftplugin folder, requires 'filetype plugin on'
|
||||||
|
function map(mode, lhs, rhs, opts)
|
||||||
|
local options = { noremap = true }
|
||||||
|
if opts then
|
||||||
|
options = vim.tbl_extend("force", options, opts)
|
||||||
|
end
|
||||||
|
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
|
||||||
|
end
|
||||||
|
|
||||||
|
map("n", "<Enter>", "i<Enter><Esc>k$")
|
||||||
|
-- map("n", "<S-Enter>", "d$O<Esc>p^")
|
||||||
|
map("n", "<Space>", "i<Space><Esc>")
|
||||||
|
|
||||||
32
.config/nvim/lua/plugins.lua
Normal file
32
.config/nvim/lua/plugins.lua
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
-- INSTALL PACKER PLUGINS https://github.com/wbthomason/packer.nvim#bootstrapping
|
||||||
|
local vim = vim
|
||||||
|
local execute = vim.api.nvim_command
|
||||||
|
local fn = vim.fn
|
||||||
|
local install_path = fn.stdpath('data')..'/site/pack/packer/opt/packer.nvim'
|
||||||
|
if fn.empty(fn.glob(install_path)) > 0 then
|
||||||
|
execute('!git clone https://github.com/wbthomason/packer.nvim '..install_path)
|
||||||
|
execute 'packadd packer.nvim'
|
||||||
|
end
|
||||||
|
vim.cmd('packadd packer.nvim')
|
||||||
|
local packer = require'packer'
|
||||||
|
local util = require'packer.util'
|
||||||
|
packer.init({
|
||||||
|
package_root = util.join_paths(vim.fn.stdpath('data'), 'site', 'pack')
|
||||||
|
})
|
||||||
|
--- startup and add configure plugins
|
||||||
|
packer.startup(function()
|
||||||
|
local use = use
|
||||||
|
use 'neovim/nvim-lspconfig'
|
||||||
|
use 'nvim-treesitter/nvim-treesitter'
|
||||||
|
end
|
||||||
|
)
|
||||||
|
--[[ PLUGIN CONFIGURATION
|
||||||
|
local configs = require'nvim-treesitter.configs'
|
||||||
|
configs.setup {
|
||||||
|
ensure_installed = "maintained",
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]--
|
||||||
|
|
||||||
271
.config/picom.conf
Normal file
271
.config/picom.conf
Normal file
@@ -0,0 +1,271 @@
|
|||||||
|
# Thank you code_nomad: http://9m.no/ꪯ鵞
|
||||||
|
# and Arch Wiki contributors: https://wiki.archlinux.org/index.php/Compton
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Backend
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Backend to use: "xrender" or "glx".
|
||||||
|
# GLX backend is typically much faster but depends on a sane driver.
|
||||||
|
backend = "glx";
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# GLX backend
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
glx-no-stencil = true;
|
||||||
|
|
||||||
|
# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
|
||||||
|
# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
|
||||||
|
# but a 20% increase when only 1/4 is.
|
||||||
|
# My tests on nouveau show terrible slowdown.
|
||||||
|
glx-copy-from-front = false;
|
||||||
|
|
||||||
|
# GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
|
||||||
|
# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
|
||||||
|
# May break VSync and is not available on some drivers.
|
||||||
|
# Overrides --glx-copy-from-front.
|
||||||
|
# glx-use-copysubbuffermesa = true;
|
||||||
|
|
||||||
|
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||||
|
# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
|
||||||
|
# Recommended if it works.
|
||||||
|
# glx-no-rebind-pixmap = true;
|
||||||
|
|
||||||
|
# GLX backend: GLX buffer swap method we assume.
|
||||||
|
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
|
||||||
|
# undefined is the slowest and the safest, and the default value.
|
||||||
|
# copy is fastest, but may fail on some drivers,
|
||||||
|
# 2-6 are gradually slower but safer (6 is still faster than 0).
|
||||||
|
# Usually, double buffer means 2, triple buffer means 3.
|
||||||
|
# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
|
||||||
|
# Useless with --glx-use-copysubbuffermesa.
|
||||||
|
# Partially breaks --resize-damage.
|
||||||
|
# Defaults to undefined.
|
||||||
|
#glx-swap-method = "undefined"; #deprecated !
|
||||||
|
#use-damage = 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 = 1;
|
||||||
|
# The top offset for shadows. (default -15)
|
||||||
|
shadow-offset-y = 1;
|
||||||
|
# The translucency for shadows. (default .75)
|
||||||
|
shadow-opacity = 0.3;
|
||||||
|
|
||||||
|
# Set if you want different colour shadows
|
||||||
|
# shadow-red = 0.0;
|
||||||
|
# shadow-green = 0.0;
|
||||||
|
# shadow-blue = 0.0;
|
||||||
|
|
||||||
|
# The shadow exclude options are helpful if you have shadows enabled. Due to the way picom 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 *= 'picom'",
|
||||||
|
"name *= 'Chromium'",
|
||||||
|
"name *= 'Chrome'",
|
||||||
|
"class_g = 'Firefox' && argb",
|
||||||
|
"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'",
|
||||||
|
"class_g ?= 'Dmenu'",
|
||||||
|
# "class_g ?= 'Dunst'",
|
||||||
|
# disables shadows on i3 frames
|
||||||
|
"class_g ?= 'i3-frame'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c",
|
||||||
|
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||||
|
];
|
||||||
|
# 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 = false;
|
||||||
|
|
||||||
|
# Dim inactive windows. (0.0 - 1.0)
|
||||||
|
# inactive-dim = 0.2;
|
||||||
|
# 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 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 = false;
|
||||||
|
blur-background-exclude = [
|
||||||
|
"window_type = 'dock'",
|
||||||
|
"window_type = 'desktop'"
|
||||||
|
];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Fading
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Fade windows during opacity changes.
|
||||||
|
fading = false;
|
||||||
|
# The time between steps in a fade in milliseconds. (default 10).
|
||||||
|
fade-delta = 1;
|
||||||
|
# Opacity change between steps while fading in. (default 0.028).
|
||||||
|
fade-in-step = 0.03;
|
||||||
|
# Opacity change between steps while fading out. (default 0.03).
|
||||||
|
fade-out-step = 0.03;
|
||||||
|
# Fade windows in/out when opening/closing
|
||||||
|
# no-fading-openclose = true;
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should not be faded.
|
||||||
|
fade-exclude = [ ];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Other
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Try to detect WM windows and mark them as active.
|
||||||
|
mark-wmwin-focused = true;
|
||||||
|
# Mark all non-WM but override-redirect windows active (e.g. menus).
|
||||||
|
mark-ovredir-focused = true;
|
||||||
|
# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events.
|
||||||
|
# Usually more reliable but depends on a EWMH-compliant WM.
|
||||||
|
use-ewmh-active-win = true;
|
||||||
|
# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
|
||||||
|
detect-rounded-corners = true;
|
||||||
|
|
||||||
|
# Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows.
|
||||||
|
# This prevents opacity being ignored for some apps.
|
||||||
|
# For example without this enabled my xfce4-notifyd is 100% opacity no matter what.
|
||||||
|
detect-client-opacity = true;
|
||||||
|
|
||||||
|
# Specify refresh rate of the screen.
|
||||||
|
# If not specified or 0, picom will try detecting this with X RandR extension.
|
||||||
|
# DEPRECATED
|
||||||
|
#refresh-rate = 0;
|
||||||
|
|
||||||
|
# Vertical synchronization: match the refresh rate of the monitor
|
||||||
|
vsync = false;
|
||||||
|
|
||||||
|
# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing.
|
||||||
|
# Reported to have no effect, though.
|
||||||
|
dbe = false;
|
||||||
|
|
||||||
|
# Limit picom to repaint at most once every 1 / refresh_rate second to boost performance.
|
||||||
|
# This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already,
|
||||||
|
# unless you wish to specify a lower refresh rate than the actual value.
|
||||||
|
#sw-opti = true;
|
||||||
|
|
||||||
|
# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games.
|
||||||
|
# Known to cause flickering when redirecting/unredirecting windows.
|
||||||
|
unredir-if-possible = true;
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should always be considered focused.
|
||||||
|
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||||
|
|
||||||
|
# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time.
|
||||||
|
detect-transient = true;
|
||||||
|
# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time.
|
||||||
|
# WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too.
|
||||||
|
detect-client-leader = true;
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Window type settings
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
wintypes :
|
||||||
|
{
|
||||||
|
tooltip :
|
||||||
|
{
|
||||||
|
fade = true;
|
||||||
|
shadow = false;
|
||||||
|
opacity = 0.85;
|
||||||
|
focus = true;
|
||||||
|
};
|
||||||
|
fullscreen :
|
||||||
|
{
|
||||||
|
fade = true;
|
||||||
|
shadow = false;
|
||||||
|
opacity = 1;
|
||||||
|
focus = true;
|
||||||
|
};
|
||||||
|
dropdown_menu = { shadow = false;};
|
||||||
|
popup_menu = { shadow = false;};
|
||||||
|
utility = { shadow = false;};
|
||||||
|
};
|
||||||
|
|
||||||
|
######################
|
||||||
|
#
|
||||||
|
# XSync
|
||||||
|
# See: https://github.com/yshui/picom/commit/b18d46bcbdc35a3b5620d817dd46fbc76485c20d
|
||||||
|
#
|
||||||
|
######################
|
||||||
|
|
||||||
|
# Use X Sync fence to sync clients' draw calls. Needed on nvidia-drivers with GLX backend for some users.
|
||||||
|
xrender-sync-fence = true;
|
||||||
|
|
||||||
|
#opacity-rule = [
|
||||||
|
#"99:name *?= 'Call'",
|
||||||
|
#"99:class_g = 'Chromium'",
|
||||||
|
#"99:name *?= 'Conky'",
|
||||||
|
#"99:class_g = 'Darktable'",
|
||||||
|
#"50:class_g = 'Dmenu'",
|
||||||
|
#"99:name *?= 'Event'",
|
||||||
|
#"99:class_g = 'Firefox'",
|
||||||
|
#"99:class_g = 'GIMP'",
|
||||||
|
#"99:name *?= 'Image'",
|
||||||
|
#"99:class_g = 'Lazpaint'",
|
||||||
|
#"99:class_g = 'Midori'",
|
||||||
|
#"99:name *?= 'Minitube'",
|
||||||
|
#"99:class_g = 'Mousepad'",
|
||||||
|
#"99:name *?= 'MuseScore'",
|
||||||
|
#"90:name *?= 'Page Info'",
|
||||||
|
#"99:name *?= 'Pale Moon'",
|
||||||
|
#"90:name *?= 'Panel'",
|
||||||
|
#"99:class_g = 'Pinta'",
|
||||||
|
#"90:name *?= 'Restart'",
|
||||||
|
#"99:name *?= 'sudo'",
|
||||||
|
#"99:name *?= 'Screenshot'",
|
||||||
|
#"99:class_g = 'Viewnior'",
|
||||||
|
#"99:class_g = 'VirtualBox'",
|
||||||
|
#"99:name *?= 'VLC'",
|
||||||
|
#"99:name *?= 'Write'",
|
||||||
|
#"93:class_g = 'URxvt' && !_NET_WM_STATE@:32a",
|
||||||
|
#"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
|
||||||
|
#"96:_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'"
|
||||||
|
#];
|
||||||
|
|
||||||
173
.config/rofi/config.rasi
Normal file
173
.config/rofi/config.rasi
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
// vim: filetype=c
|
||||||
|
// get dumps via -dump-config and -dump-theme
|
||||||
|
configuration {
|
||||||
|
modes: "combi";
|
||||||
|
font: "mono 12";
|
||||||
|
/* location: 0;*/
|
||||||
|
/* yoffset: 0;*/
|
||||||
|
/* xoffset: 0;*/
|
||||||
|
/* fixed-num-lines: true;*/
|
||||||
|
show-icons: true;
|
||||||
|
terminal: "alacritty";
|
||||||
|
/* ssh-client: "ssh";*/
|
||||||
|
/* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/
|
||||||
|
/* run-command: "{cmd}";*/
|
||||||
|
/* run-list-command: "";*/
|
||||||
|
/* run-shell-command: "{terminal} -e {cmd}";*/
|
||||||
|
/* window-command: "wmctrl -i -R {window}";*/
|
||||||
|
/* window-match-fields: "all";*/
|
||||||
|
/* icon-theme: ;*/
|
||||||
|
/* drun-match-fields: "name,generic,exec,categories,keywords";*/
|
||||||
|
/* drun-categories: ;*/
|
||||||
|
/* drun-show-actions: false;*/
|
||||||
|
/* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";*/
|
||||||
|
/* drun-url-launcher: "xdg-open";*/
|
||||||
|
/* disable-history: false;*/
|
||||||
|
/* ignored-prefixes: "";*/
|
||||||
|
/* sort: false;*/
|
||||||
|
/* sorting-method: "normal";*/
|
||||||
|
/* case-sensitive: false;*/
|
||||||
|
/* cycle: true;*/
|
||||||
|
/* sidebar-mode: false;*/
|
||||||
|
/* hover-select: false;*/
|
||||||
|
/* eh: 1;*/
|
||||||
|
/* auto-select: false;*/
|
||||||
|
/* parse-hosts: false;*/
|
||||||
|
/* parse-known-hosts: true;*/
|
||||||
|
combi-modes: "window,drun,ssh";
|
||||||
|
/* matching: "normal";*/
|
||||||
|
/* tokenize: true;*/
|
||||||
|
/* m: "-5";*/
|
||||||
|
/* filter: ;*/
|
||||||
|
/* dpi: -1;*/
|
||||||
|
/* threads: 0;*/
|
||||||
|
/* scroll-method: 0;*/
|
||||||
|
/* window-format: "{w} {c} {t}";*/
|
||||||
|
/* click-to-exit: true;*/
|
||||||
|
/* max-history-size: 25;*/
|
||||||
|
combi-hide-mode-prefix: true;
|
||||||
|
/* combi-display-format: "{mode} {text}";*/
|
||||||
|
/* matching-negate-char: '-' /* unsupported */;*/
|
||||||
|
/* cache-dir: ;*/
|
||||||
|
/* window-thumbnail: false;*/
|
||||||
|
/* drun-use-desktop-cache: false;*/
|
||||||
|
/* drun-reload-desktop-cache: false;*/
|
||||||
|
/* normalize-match: false;*/
|
||||||
|
/* steal-focus: false;*/
|
||||||
|
/* application-fallback-icon: ;*/
|
||||||
|
/* refilter-timeout-limit: 8192;*/
|
||||||
|
/* xserver-i300-workaround: false;*/
|
||||||
|
pid: "/run/user/1000/rofi.pid";
|
||||||
|
/* display-window: ;*/
|
||||||
|
/* display-windowcd: ;*/
|
||||||
|
/* display-run: ;*/
|
||||||
|
/* display-ssh: ;*/
|
||||||
|
/* display-drun: ;*/
|
||||||
|
/* display-combi: ;*/
|
||||||
|
/* display-keys: ;*/
|
||||||
|
/* display-filebrowser: ;*/
|
||||||
|
/* kb-primary-paste: "Control+V,Shift+Insert";*/
|
||||||
|
/* kb-secondary-paste: "Control+v,Insert";*/
|
||||||
|
/* kb-clear-line: "Control+w";*/
|
||||||
|
/* kb-move-front: "Control+a";*/
|
||||||
|
/* kb-move-end: "Control+e";*/
|
||||||
|
/* kb-move-word-back: "Alt+b,Control+Left";*/
|
||||||
|
/* kb-move-word-forward: "Alt+f,Control+Right";*/
|
||||||
|
/* kb-move-char-back: "Left,Control+b";*/
|
||||||
|
/* kb-move-char-forward: "Right,Control+f";*/
|
||||||
|
/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
|
||||||
|
/* kb-remove-word-forward: "Control+Alt+d";*/
|
||||||
|
/* kb-remove-char-forward: "Delete,Control+d";*/
|
||||||
|
/* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/
|
||||||
|
/* kb-remove-to-eol: "Control+k";*/
|
||||||
|
/* kb-remove-to-sol: "Control+u";*/
|
||||||
|
/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
|
||||||
|
/* kb-accept-custom: "Control+Return";*/
|
||||||
|
/* kb-accept-custom-alt: "Control+Shift+Return";*/
|
||||||
|
/* kb-accept-alt: "Shift+Return";*/
|
||||||
|
/* kb-delete-entry: "Shift+Delete";*/
|
||||||
|
/* kb-mode-next: "Shift+Right,Control+Tab";*/
|
||||||
|
/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
|
||||||
|
/* kb-mode-complete: "Control+l";*/
|
||||||
|
/* kb-row-left: "Control+Page_Up";*/
|
||||||
|
/* kb-row-right: "Control+Page_Down";*/
|
||||||
|
/* kb-row-up: "Up,Control+p";*/
|
||||||
|
/* kb-row-down: "Down,Control+n";*/
|
||||||
|
/* kb-row-tab: "";*/
|
||||||
|
/* kb-element-next: "Tab";*/
|
||||||
|
/* kb-element-prev: "ISO_Left_Tab";*/
|
||||||
|
/* kb-page-prev: "Page_Up";*/
|
||||||
|
/* kb-page-next: "Page_Down";*/
|
||||||
|
/* kb-row-first: "Home,KP_Home";*/
|
||||||
|
/* kb-row-last: "End,KP_End";*/
|
||||||
|
/* kb-row-select: "Control+space";*/
|
||||||
|
/* kb-screenshot: "Alt+S";*/
|
||||||
|
/* kb-ellipsize: "Alt+period";*/
|
||||||
|
/* kb-toggle-case-sensitivity: "grave,dead_grave";*/
|
||||||
|
/* kb-toggle-sort: "Alt+grave";*/
|
||||||
|
/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/
|
||||||
|
/* kb-custom-1: "Alt+1";*/
|
||||||
|
/* kb-custom-2: "Alt+2";*/
|
||||||
|
/* kb-custom-3: "Alt+3";*/
|
||||||
|
/* kb-custom-4: "Alt+4";*/
|
||||||
|
/* kb-custom-5: "Alt+5";*/
|
||||||
|
/* kb-custom-6: "Alt+6";*/
|
||||||
|
/* kb-custom-7: "Alt+7";*/
|
||||||
|
/* kb-custom-8: "Alt+8";*/
|
||||||
|
/* kb-custom-9: "Alt+9";*/
|
||||||
|
/* kb-custom-10: "Alt+0";*/
|
||||||
|
/* kb-custom-11: "Alt+exclam";*/
|
||||||
|
/* kb-custom-12: "Alt+at";*/
|
||||||
|
/* kb-custom-13: "Alt+numbersign";*/
|
||||||
|
/* kb-custom-14: "Alt+dollar";*/
|
||||||
|
/* kb-custom-15: "Alt+percent";*/
|
||||||
|
/* kb-custom-16: "Alt+dead_circumflex";*/
|
||||||
|
/* kb-custom-17: "Alt+ampersand";*/
|
||||||
|
/* kb-custom-18: "Alt+asterisk";*/
|
||||||
|
/* kb-custom-19: "Alt+parenleft";*/
|
||||||
|
/* ml-row-left: "ScrollLeft";*/
|
||||||
|
/* ml-row-right: "ScrollRight";*/
|
||||||
|
/* ml-row-up: "ScrollUp";*/
|
||||||
|
/* ml-row-down: "ScrollDown";*/
|
||||||
|
/* me-select-entry: "MousePrimary";*/
|
||||||
|
/* me-accept-entry: "MouseDPrimary";*/
|
||||||
|
/* me-accept-custom: "Control+MouseDPrimary";*/
|
||||||
|
kb-custom-1: "";
|
||||||
|
kb-custom-2: "";
|
||||||
|
kb-custom-3: "";
|
||||||
|
kb-custom-4: "";
|
||||||
|
kb-custom-5: "";
|
||||||
|
kb-custom-6: "";
|
||||||
|
kb-custom-7: "";
|
||||||
|
kb-custom-8: "";
|
||||||
|
kb-custom-9: "";
|
||||||
|
kb-custom-10: "";
|
||||||
|
kb-custom-11: "";
|
||||||
|
kb-custom-12: "";
|
||||||
|
kb-custom-13: "";
|
||||||
|
kb-custom-14: "";
|
||||||
|
kb-custom-15: "";
|
||||||
|
kb-custom-16: "";
|
||||||
|
kb-custom-17: "";
|
||||||
|
kb-custom-18: "";
|
||||||
|
kb-custom-19: "";
|
||||||
|
kb-select-1: "Alt+1";
|
||||||
|
kb-select-2: "Alt+2";
|
||||||
|
kb-select-3: "Alt+3";
|
||||||
|
kb-select-4: "Alt+4";
|
||||||
|
kb-select-5: "Alt+5";
|
||||||
|
kb-select-6: "Alt+6";
|
||||||
|
kb-select-7: "Alt+7";
|
||||||
|
kb-select-8: "Alt+8";
|
||||||
|
kb-select-9: "Alt+9";
|
||||||
|
kb-select-10:"Alt+0";
|
||||||
|
timeout {
|
||||||
|
action: "kb-cancel";
|
||||||
|
delay: 0;
|
||||||
|
}
|
||||||
|
filebrowser {
|
||||||
|
directories-first: true;
|
||||||
|
sorting-method: "name";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@theme "theme" // read theme in ./theme.rasi
|
||||||
58
.config/shell/alias.sh
Normal file
58
.config/shell/alias.sh
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
|
||||||
|
alias ls='exa' # make output more readable and show directories first
|
||||||
|
alias ll='ls -l'
|
||||||
|
alias la='ls --all'
|
||||||
|
alias less='less --use-color'
|
||||||
|
alias grep='rg' # colorize grep output, set GREP_COLORS
|
||||||
|
alias cp="cp -i" # Confirm before overwriting something
|
||||||
|
alias df='df -h' # Human-readable sizes
|
||||||
|
alias vi='nvim' # Show sizes in MB
|
||||||
|
alias r='R'
|
||||||
|
alias xar="xarchiver"
|
||||||
|
|
||||||
|
# Add an "alert" alias for long running commands. Use like so: 'sleep 10; alert'
|
||||||
|
alias notify='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
|
||||||
|
|
||||||
|
#Add a "dotfiles" alias for .dotfile git repo
|
||||||
|
alias dotfiles='git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
|
||||||
|
#alias 'dotfiles-update'='dotfiles commit -a && dotfiles push'
|
||||||
|
|
||||||
|
|
||||||
|
colors() {
|
||||||
|
local fgc bgc vals seq0
|
||||||
|
|
||||||
|
printf "Color escapes are %s\n" '\e[${value};...;${value}m'
|
||||||
|
printf "Values 30..37 are \e[33mforeground colors\e[m\n"
|
||||||
|
printf "Values 40..47 are \e[43mbackground colors\e[m\n"
|
||||||
|
printf "Value 1 gives a \e[1mbold-faced look\e[m\n\n"
|
||||||
|
|
||||||
|
# foreground colors
|
||||||
|
for fgc in {30..37}; do
|
||||||
|
# background colors
|
||||||
|
for bgc in {40..47}; do
|
||||||
|
fgc=${fgc#37} # white
|
||||||
|
bgc=${bgc#40} # black
|
||||||
|
|
||||||
|
vals="${fgc:+$fgc;}${bgc}"
|
||||||
|
vals=${vals%%;}
|
||||||
|
|
||||||
|
seq0="${vals:+\e[${vals}m}"
|
||||||
|
printf " %-9s" "${seq0:-(default)}"
|
||||||
|
printf " ${seq0}TEXT\e[m"
|
||||||
|
printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m"
|
||||||
|
done
|
||||||
|
echo; echo
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# set title in zsh (for alacritty)
|
||||||
|
title()
|
||||||
|
{
|
||||||
|
echo -e "\e]2;$1\007";
|
||||||
|
}
|
||||||
|
|
||||||
|
pwd()
|
||||||
|
{
|
||||||
|
echo "$PWD/$1"
|
||||||
|
}
|
||||||
|
|
||||||
29
.config/tmux/tmux.conf
Normal file
29
.config/tmux/tmux.conf
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
tmux_config_dir="~/.config/tmux"
|
||||||
|
mod="C-b"
|
||||||
|
#CONFIGURATION
|
||||||
|
#if-shell '[[ -n "$SSH_CLIENT"]]' {
|
||||||
|
# source-file $tmux_config_dir/tmux_remote.conf # use alternative config for tmux inside ssh session
|
||||||
|
# mod="C-b"
|
||||||
|
#}
|
||||||
|
|
||||||
|
set-option -g prefix $mod # rebind tmux prefix to CTRL + a because vim uses default CTRL + b
|
||||||
|
set-window-option -g mode-keys vi # vi mode
|
||||||
|
set-option -g allow-rename off # dont rename windows on command execution TODO fix
|
||||||
|
set -s escape-time 0 # dont delay escape key in vim
|
||||||
|
set -g base-index 0 # start windows numbering at 0
|
||||||
|
set-option -g set-titles on
|
||||||
|
set -g mouse on
|
||||||
|
|
||||||
|
#COLORS
|
||||||
|
set -g default-terminal "screen-256color" # use default terminal colors
|
||||||
|
set-option -g pane-border-style fg=white
|
||||||
|
set-option -g pane-active-border-style fg=blue
|
||||||
|
set-option -g message-style bg=green,fg=black
|
||||||
|
|
||||||
|
#STATUSBAR
|
||||||
|
set -g status-position bottom
|
||||||
|
set -g status-left ""
|
||||||
|
set -g status-right "#{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,}#{=21:pane_title}"
|
||||||
|
set -g status-style fg=white,bg=black # color for the statusbar
|
||||||
|
set-window-option -g window-status-current-style fg=black,bg=blue # color for the current window (tab)
|
||||||
|
|
||||||
162
.config/zsh/.zshrc
Normal file
162
.config/zsh/.zshrc
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
#OPTIONS SECTION
|
||||||
|
|
||||||
|
#unsetopt beep # try disabling annoying beep sounds
|
||||||
|
setopt nobeep
|
||||||
|
xset b off
|
||||||
|
autoload -Uz compinit # load completion
|
||||||
|
compinit
|
||||||
|
_comp_options+=(globdots) # Include hidden files.
|
||||||
|
setopt autocd # allow cd by only entering directory without cd command
|
||||||
|
setopt extendedglob # Extended globbing. Allows using regular expressions with *
|
||||||
|
setopt correct # Auto correct mistakes
|
||||||
|
setopt numericglobsort # Sort filenames numerically when it makes sense
|
||||||
|
setopt appendhistory # Immediately append history instead of overwriting
|
||||||
|
HISTFILE=~/.history
|
||||||
|
|
||||||
|
zstyle ':completion:*' special-dirs true # complete hidden directories
|
||||||
|
zstyle ':completion:*' special-files true # complete hidden files
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # Case insensitive tab completion
|
||||||
|
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" # Colored completion (different colors for dirs/files/etc)
|
||||||
|
zstyle ':completion:*' menu select # enable navigable menu for completion
|
||||||
|
zstyle ':completion:*' rehash true # Automatically update PATH entries
|
||||||
|
zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' # Smart matching of dashed values, e.g. f-b matching foo-bar
|
||||||
|
zstyle ':completion:*' group-name '' # Group results by category
|
||||||
|
zstyle ':completion:*' insert-tab false # Don't insert a literal tab when trying to complete in an empty buffer
|
||||||
|
zstyle ':completion:*' completer _complete _ignored _correct _approximate # Enable approximate completions
|
||||||
|
zstyle ':completion:*' verbose true # Verbose completion results
|
||||||
|
#zstyle ':completion:*' show-completer true
|
||||||
|
#zstyle ':completion:*' matcher-list 'r:|[._-'\''"`´,;:]=** r:|=**'
|
||||||
|
#zstyle ':completion:*' original true
|
||||||
|
#zstyle :compinstall filename '/home/en/.zshrc'
|
||||||
|
# Show message while waiting for completion
|
||||||
|
|
||||||
|
# Pretty messages during pagination
|
||||||
|
zstyle ':completion:*' list-prompt '%SAt %p: Hit TAB for more, or the character to insert%s'
|
||||||
|
zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s'
|
||||||
|
|
||||||
|
# Nicer format for completion messages
|
||||||
|
#zstyle ':completion:*:descriptions' format '%U%B%d%b%u' #shows categories of commands like "built-in" and "external"
|
||||||
|
#zstyle ':completion:*:corrections' format '%U%F{green}%d (errors: %e)%f%u'
|
||||||
|
#zstyle ':completion:*:warnings' format '%F{202}%BSorry, no matches for: %F{214}%d%b'
|
||||||
|
|
||||||
|
# Prettier completion for processes
|
||||||
|
#zstyle ':completion:*:*:*:*:processes' force-list always
|
||||||
|
zstyle ':completion:*:*:*:*:processes' menu yes select
|
||||||
|
zstyle ':completion:*:*:*:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
|
||||||
|
zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,args -w -w"
|
||||||
|
|
||||||
|
|
||||||
|
autoload -Uz bracketed-paste-magic # allow links to be read without escaping
|
||||||
|
zle -N bracketed-paste bracketed-paste-magic
|
||||||
|
autoload -Uz url-quote-magic
|
||||||
|
zle -N self-insert url-quote-magic
|
||||||
|
|
||||||
|
WORDCHARS=${WORDCHARS//\/[&.;]} # Don't consider certain characters part of the word
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
source $XDG_CONFIG_HOME/shell/alias.sh
|
||||||
|
|
||||||
|
|
||||||
|
#KEYBINDINGS SECTION (use 'cat -v' or 'od -c' to see raw keyboard output)
|
||||||
|
|
||||||
|
bindkey -e # use emacs key layout
|
||||||
|
bindkey '^[[1;5D' backward-word # 'CTRL + leftarrow'
|
||||||
|
bindkey '^[[1;5C' forward-word # 'CTRL + rightarrow'
|
||||||
|
bindkey '^H' backward-kill-word # delete previous word with ctrl+backspace
|
||||||
|
bindkey '^[[3~' delete-char # enable delete key
|
||||||
|
bindkey '^[[3;5~' kill-word # 'CTRL + DEL'
|
||||||
|
bindkey '^Z' undo # 'CTRL + z' undo last action
|
||||||
|
|
||||||
|
|
||||||
|
#PLUGIN SECTION
|
||||||
|
|
||||||
|
if [[ -x /usr/lib/command-not-found ]] ; then # try loading suggestions to install when command was not found
|
||||||
|
function command_not_found_handler() {
|
||||||
|
/usr/lib/command-not-found --no-failure-msg -- $1
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme # load theme
|
||||||
|
#source /usr/share/doc/find-the-command/ftc.zsh quiet # load command not found, might need `systemctl enable pacman-files.timer`
|
||||||
|
|
||||||
|
#source /usr/share/zsh/plugins/zsh-background-notify/bgnotify.plugin.zsh # load notifications for long comands, customize message?
|
||||||
|
#bgnotify_threshold=4
|
||||||
|
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh # load syntax highlighting, everything except autosuggestions should be loaded before this
|
||||||
|
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern)
|
||||||
|
ZSH_HIGHLIGHT_STYLES[default]=none
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[reserved-word]=fg=009,standout
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[alias]=fg=white,bold
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[builtin]=fg=white,bold
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[function]=fg=white,bold
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[command]=fg=white,bold
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[precommand]=fg=#eaff00,bold
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[commandseparator]=none
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[hashed-command]=fg=009
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[path]=fg=214,underline
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[globbing]=fg=063
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[history-expansion]=fg=white,underline
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[single-hyphen-option]=none
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[double-hyphen-option]=none
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[back-quoted-argument]=none
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[single-quoted-argument]=fg=063
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[double-quoted-argument]=fg=063
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]=fg=009
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]=fg=009
|
||||||
|
#ZSH_HIGHLIGHT_STYLES[assign]=none
|
||||||
|
|
||||||
|
[[ ! -f "$ZDOTDIR/p10k.zsh" ]] || source "$ZDOTDIR/p10k.zsh" # To customize prompt, run `p10k configure` or edit ~/.config/zsh/p10k.zsh
|
||||||
|
#eval "$(starship init zsh)" # starship.rs prompt to replace p10k
|
||||||
|
|
||||||
|
|
||||||
|
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh # load fish-completion, needs to be sourced after syntax highlighting
|
||||||
|
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#737373,bg=translucent"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#random stuff
|
||||||
|
|
||||||
|
#zstyle ':completion:*' completer _complete _ignored _correct _approximate
|
||||||
|
#zstyle ':completion:*' matcher-list 'r:|[._-'\''"`´,;:]=** r:|=**'
|
||||||
|
#zstyle ':completion:*' original true
|
||||||
|
|
||||||
|
#zstyle :compinstall filename '/home/en/.zshrc'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if [[ -f ~/.dircolors ]] ; then
|
||||||
|
# eval $(dircolors -b ~/.dircolors)
|
||||||
|
#elif [[ -f /etc/DIR_COLORS ]] ; then
|
||||||
|
# eval $(dircolors -b /etc/DIR_COLORS)
|
||||||
|
#fi
|
||||||
|
#
|
||||||
|
function command_not_found_handler {
|
||||||
|
local purple='\e[1;35m' bright='\e[0;1m' green='\e[1;32m' reset='\e[0m'
|
||||||
|
printf 'zsh: command not found: %s\n' "$1"
|
||||||
|
local entries=(
|
||||||
|
${(f)"$(/usr/bin/pacman -F --machinereadable -- "/usr/bin/$1")"}
|
||||||
|
)
|
||||||
|
if (( ${#entries[@]} ))
|
||||||
|
then
|
||||||
|
printf "${bright}$1${reset} may be found in the following packages:\n"
|
||||||
|
local pkg
|
||||||
|
for entry in "${entries[@]}"
|
||||||
|
do
|
||||||
|
# (repo package version file)
|
||||||
|
local fields=(
|
||||||
|
${(0)entry}
|
||||||
|
)
|
||||||
|
if [[ "$pkg" != "${fields[2]}" ]]
|
||||||
|
then
|
||||||
|
printf "${purple}%s/${bright}%s ${green}%s${reset}\n" "${fields[1]}" "${fields[2]}" "${fields[3]}"
|
||||||
|
fi
|
||||||
|
printf ' /%s\n' "${fields[4]}"
|
||||||
|
pkg="${fields[2]}"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
return 127
|
||||||
|
}
|
||||||
1643
.config/zsh/p10k.zsh
Normal file
1643
.config/zsh/p10k.zsh
Normal file
File diff suppressed because it is too large
Load Diff
85
.local/bin/displayselect
Executable file
85
.local/bin/displayselect
Executable file
@@ -0,0 +1,85 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# taken from https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/displayselect
|
||||||
|
# A UI for detecting and selecting all displays. Probes xrandr for connected
|
||||||
|
# displays and lets user select one to use. User may also select "manual
|
||||||
|
# selection" which opens arandr.
|
||||||
|
|
||||||
|
twoscreen() { # If multi-monitor is selected and there are two screens.
|
||||||
|
|
||||||
|
mirror=$(printf "no\\nyes" | dmenu -i -p "Mirror displays?")
|
||||||
|
# Mirror displays using native resolution of external display and a scaled
|
||||||
|
# version for the internal display
|
||||||
|
if [ "$mirror" = "yes" ]; then
|
||||||
|
external=$(echo "$screens" | dmenu -i -p "Optimize resolution for:")
|
||||||
|
internal=$(echo "$screens" | grep -v "$external")
|
||||||
|
|
||||||
|
res_external=$(xrandr --query | sed -n "/^$external/,/\+/p" | \
|
||||||
|
tail -n 1 | awk '{print $1}')
|
||||||
|
res_internal=$(xrandr --query | sed -n "/^$internal/,/\+/p" | \
|
||||||
|
tail -n 1 | awk '{print $1}')
|
||||||
|
|
||||||
|
res_ext_x=$(echo "$res_external" | sed 's/x.*//')
|
||||||
|
res_ext_y=$(echo "$res_external" | sed 's/.*x//')
|
||||||
|
res_int_x=$(echo "$res_internal" | sed 's/x.*//')
|
||||||
|
res_int_y=$(echo "$res_internal" | sed 's/.*x//')
|
||||||
|
|
||||||
|
scale_x=$(echo "$res_ext_x / $res_int_x" | bc -l)
|
||||||
|
scale_y=$(echo "$res_ext_y / $res_int_y" | bc -l)
|
||||||
|
|
||||||
|
xrandr --output "$external" --auto --scale 1.0x1.0 \
|
||||||
|
--output "$internal" --auto --same-as "$external" \
|
||||||
|
--scale "$scale_x"x"$scale_y"
|
||||||
|
else
|
||||||
|
|
||||||
|
primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
|
||||||
|
secondary=$(echo "$screens" | grep -v "$primary")
|
||||||
|
direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?")
|
||||||
|
xrandr --output "$primary" --auto --scale 1.0x1.0 --output "$secondary" --"$direction"-of "$primary" --auto --scale 1.0x1.0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
morescreen() { # If multi-monitor is selected and there are more than two screens.
|
||||||
|
primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
|
||||||
|
secondary=$(echo "$screens" | grep -v "$primary" | dmenu -i -p "Select secondary display:")
|
||||||
|
direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?")
|
||||||
|
tertiary=$(echo "$screens" | grep -v "$primary" | grep -v "$secondary" | dmenu -i -p "Select third display:")
|
||||||
|
xrandr --output "$primary" --auto --output "$secondary" --"$direction"-of "$primary" --auto --output "$tertiary" --"$(printf "left\\nright" | grep -v "$direction")"-of "$primary" --auto
|
||||||
|
}
|
||||||
|
|
||||||
|
multimon() { # Multi-monitor handler.
|
||||||
|
case "$(echo "$screens" | wc -l)" in
|
||||||
|
2) twoscreen ;;
|
||||||
|
*) morescreen ;;
|
||||||
|
esac ;}
|
||||||
|
|
||||||
|
onescreen() { # If only one output available or chosen.
|
||||||
|
xrandr --output "$1" --auto --scale 1.0x1.0 $(echo "$allposs" | grep -v "\b$1" | awk '{print "--output", $1, "--off"}' | paste -sd ' ' -)
|
||||||
|
}
|
||||||
|
|
||||||
|
postrun() { # Stuff to run to clean up.
|
||||||
|
setbg # Fix background if screen size/arangement has changed.
|
||||||
|
remaps # Re-remap keys if keyboard added (for laptop bases)
|
||||||
|
{ killall dunst ; setsid -f dunst ;} >/dev/null 2>&1 # Restart dunst to ensure proper location on screen
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get all possible displays
|
||||||
|
allposs=$(xrandr -q | grep "connected")
|
||||||
|
|
||||||
|
# Get all connected screens.
|
||||||
|
screens=$(echo "$allposs" | awk '/ connected/ {print $1}')
|
||||||
|
|
||||||
|
# If there's only one screen
|
||||||
|
[ "$(echo "$screens" | wc -l)" -lt 2 ] &&
|
||||||
|
{ onescreen "$screens"; postrun; notify-send "💻 Only one screen detected." "Using it in its optimal settings..."; exit ;}
|
||||||
|
|
||||||
|
# Get user choice including multi-monitor and manual selection:
|
||||||
|
chosen=$(printf "%s\\nmulti-monitor\\nmanual selection" "$screens" | dmenu -i -p "Select display arangement:") &&
|
||||||
|
case "$chosen" in
|
||||||
|
"manual selection") arandr ; exit ;;
|
||||||
|
"multi-monitor") multimon ;;
|
||||||
|
*) onescreen "$chosen" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
postrun
|
||||||
|
|
||||||
69
.local/bin/dmenumount
Executable file
69
.local/bin/dmenumount
Executable file
@@ -0,0 +1,69 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# from https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/dmenumount
|
||||||
|
# Gives a dmenu prompt to mount unmounted drives and Android phones. If
|
||||||
|
# they're in /etc/fstab, they'll be mounted automatically. Otherwise, you'll
|
||||||
|
# be prompted to give a mountpoint from already existsing directories. If you
|
||||||
|
# input a novel directory, it will prompt you to create that directory.
|
||||||
|
|
||||||
|
getmount() { \
|
||||||
|
[ -z "$chosen" ] && exit 1
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
mp="$(find $1 2>/dev/null | dmenu -i -p "Type in mount point.")" || exit 1
|
||||||
|
test -z "$mp" && exit 1
|
||||||
|
if [ ! -d "$mp" ]; then
|
||||||
|
mkdiryn=$(printf "No\\nYes" | dmenu -i -p "$mp does not exist. Create it?") || exit 1
|
||||||
|
[ "$mkdiryn" = "Yes" ] && (mkdir -p "$mp" || sudo -A mkdir -p "$mp")
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
mountusb() { \
|
||||||
|
chosen="$(echo "$usbdrives" | dmenu -i -p "Mount which drive?")" || exit 1
|
||||||
|
chosen="$(echo "$chosen" | awk '{print $1}')"
|
||||||
|
sudo -A mount "$chosen" 2>/dev/null && notify-send "💻 USB mounting" "$chosen mounted." && exit 0
|
||||||
|
alreadymounted=$(lsblk -nrpo "name,type,mountpoint" | awk '$3!~/\/boot|\/home$|SWAP/&&length($3)>1{printf "-not ( -path *%s -prune ) ",$3}')
|
||||||
|
getmount "/mnt /media /mount /home -maxdepth 5 -type d $alreadymounted"
|
||||||
|
partitiontype="$(lsblk -no "fstype" "$chosen")"
|
||||||
|
case "$partitiontype" in
|
||||||
|
"vfat") sudo -A mount -t vfat "$chosen" "$mp" -o rw,umask=0000;;
|
||||||
|
"exfat") sudo -A mount "$chosen" "$mp" -o uid="$(id -u)",gid="$(id -g)";;
|
||||||
|
*) sudo -A mount "$chosen" "$mp"; user="$(whoami)"; ug="$(groups | awk '{print $1}')"; sudo -A chown "$user":"$ug" "$mp";;
|
||||||
|
esac
|
||||||
|
notify-send "💻 USB mounting" "$chosen mounted to $mp."
|
||||||
|
}
|
||||||
|
|
||||||
|
mountandroid() { \
|
||||||
|
chosen="$(echo "$anddrives" | dmenu -i -p "Which Android device?")" || exit 1
|
||||||
|
chosen="$(echo "$chosen" | cut -d : -f 1)"
|
||||||
|
getmount "$HOME -maxdepth 3 -type d"
|
||||||
|
simple-mtpfs --device "$chosen" "$mp"
|
||||||
|
echo "OK" | dmenu -i -p "Tap Allow on your phone if it asks for permission and then press enter" || exit 1
|
||||||
|
simple-mtpfs --device "$chosen" "$mp"
|
||||||
|
notify-send "🤖 Android Mounting" "Android device mounted to $mp."
|
||||||
|
}
|
||||||
|
|
||||||
|
asktype() { \
|
||||||
|
choice="$(printf "USB\\nAndroid" | dmenu -i -p "Mount a USB drive or Android device?")" || exit 1
|
||||||
|
case $choice in
|
||||||
|
USB) mountusb ;;
|
||||||
|
Android) mountandroid ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
anddrives=$(simple-mtpfs -l 2>/dev/null)
|
||||||
|
usbdrives="$(lsblk -rpo "name,type,size,mountpoint" | grep 'part\|rom' | awk '$4==""{printf "%s (%s)\n",$1,$3}')"
|
||||||
|
|
||||||
|
if [ -z "$usbdrives" ]; then
|
||||||
|
[ -z "$anddrives" ] && echo "No USB drive or Android device detected" && exit
|
||||||
|
echo "Android device(s) detected."
|
||||||
|
mountandroid
|
||||||
|
else
|
||||||
|
if [ -z "$anddrives" ]; then
|
||||||
|
echo "USB drive(s) detected."
|
||||||
|
mountusb
|
||||||
|
else
|
||||||
|
echo "Mountable USB drive(s) and Android device(s) detected."
|
||||||
|
asktype
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
125
.local/bin/dmenurecord
Executable file
125
.local/bin/dmenurecord
Executable file
@@ -0,0 +1,125 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# taken from https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/dmenurecord
|
||||||
|
# Usage:
|
||||||
|
# `$0`: Ask for recording type via dmenu
|
||||||
|
# `$0 screencast`: Record both audio and screen
|
||||||
|
# `$0 video`: Record only screen
|
||||||
|
# `$0 audio`: Record only audio
|
||||||
|
# `$0 kill`: Kill existing recording
|
||||||
|
#
|
||||||
|
# If there is already a running instance, user will be prompted to end it.
|
||||||
|
|
||||||
|
updateicon() { \
|
||||||
|
echo "$1" > /tmp/recordingicon
|
||||||
|
pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}"
|
||||||
|
}
|
||||||
|
|
||||||
|
killrecording() {
|
||||||
|
recpid="$(cat /tmp/recordingpid)"
|
||||||
|
# kill with SIGTERM, allowing finishing touches.
|
||||||
|
kill -15 "$recpid"
|
||||||
|
rm -f /tmp/recordingpid
|
||||||
|
updateicon ""
|
||||||
|
pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}"
|
||||||
|
# even after SIGTERM, ffmpeg may still run, so SIGKILL it.
|
||||||
|
sleep 3
|
||||||
|
kill -9 "$recpid"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
screencast() { \
|
||||||
|
ffmpeg -y \
|
||||||
|
-f x11grab \
|
||||||
|
-framerate 60 \
|
||||||
|
-s "$(xdpyinfo | awk '/dimensions/ {print $2;}')" \
|
||||||
|
-i "$DISPLAY" \
|
||||||
|
-f alsa -i default \
|
||||||
|
-r 30 \
|
||||||
|
-c:v h264 -crf 0 -preset ultrafast -c:a aac \
|
||||||
|
"$HOME/screencast-$(date '+%y%m%d-%H%M-%S').mp4" &
|
||||||
|
echo $! > /tmp/recordingpid
|
||||||
|
updateicon "⏺️🎙️"
|
||||||
|
}
|
||||||
|
|
||||||
|
video() { ffmpeg \
|
||||||
|
-f x11grab \
|
||||||
|
-s "$(xdpyinfo | awk '/dimensions/ {print $2;}')" \
|
||||||
|
-i "$DISPLAY" \
|
||||||
|
-c:v libx264 -qp 0 -r 30 \
|
||||||
|
"$HOME/video-$(date '+%y%m%d-%H%M-%S').mkv" &
|
||||||
|
echo $! > /tmp/recordingpid
|
||||||
|
updateicon "⏺️"
|
||||||
|
}
|
||||||
|
|
||||||
|
webcamhidef() { ffmpeg \
|
||||||
|
-f v4l2 \
|
||||||
|
-i /dev/video0 \
|
||||||
|
-video_size 1920x1080 \
|
||||||
|
"$HOME/webcam-$(date '+%y%m%d-%H%M-%S').mkv" &
|
||||||
|
echo $! > /tmp/recordingpid
|
||||||
|
updateicon "🎥"
|
||||||
|
}
|
||||||
|
|
||||||
|
webcam() { ffmpeg \
|
||||||
|
-f v4l2 \
|
||||||
|
-i /dev/video0 \
|
||||||
|
-video_size 640x480 \
|
||||||
|
"$HOME/webcam-$(date '+%y%m%d-%H%M-%S').mkv" &
|
||||||
|
echo $! > /tmp/recordingpid
|
||||||
|
updateicon "🎥"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
audio() { \
|
||||||
|
ffmpeg \
|
||||||
|
-f alsa -i default \
|
||||||
|
-c:a flac \
|
||||||
|
"$HOME/audio-$(date '+%y%m%d-%H%M-%S').flac" &
|
||||||
|
echo $! > /tmp/recordingpid
|
||||||
|
updateicon "🎙️"
|
||||||
|
}
|
||||||
|
|
||||||
|
askrecording() { \
|
||||||
|
choice=$(printf "screencast\\nvideo\\nvideo selected\\naudio\\nwebcam\\nwebcam (hi-def)" | dmenu -i -p "Select recording style:")
|
||||||
|
case "$choice" in
|
||||||
|
screencast) screencast;;
|
||||||
|
audio) audio;;
|
||||||
|
video) video;;
|
||||||
|
*selected) videoselected;;
|
||||||
|
webcam) webcam;;
|
||||||
|
"webcam (hi-def)") webcamhidef;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
asktoend() { \
|
||||||
|
response=$(printf "No\\nYes" | dmenu -i -p "Recording still active. End recording?") &&
|
||||||
|
[ "$response" = "Yes" ] && killrecording
|
||||||
|
}
|
||||||
|
|
||||||
|
videoselected()
|
||||||
|
{
|
||||||
|
slop -f "%x %y %w %h" > /tmp/slop
|
||||||
|
read -r X Y W H < /tmp/slop
|
||||||
|
rm /tmp/slop
|
||||||
|
|
||||||
|
ffmpeg \
|
||||||
|
-f x11grab \
|
||||||
|
-framerate 60 \
|
||||||
|
-video_size "$W"x"$H" \
|
||||||
|
-i :0.0+"$X,$Y" \
|
||||||
|
-c:v libx264 -qp 0 -r 30 \
|
||||||
|
"$HOME/box-$(date '+%y%m%d-%H%M-%S').mkv" &
|
||||||
|
echo $! > /tmp/recordingpid
|
||||||
|
updateicon "⏺️"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
screencast) screencast;;
|
||||||
|
audio) audio;;
|
||||||
|
video) video;;
|
||||||
|
*selected) videoselected;;
|
||||||
|
kill) killrecording;;
|
||||||
|
*) ([ -f /tmp/recordingpid ] && asktoend && exit) || askrecording;;
|
||||||
|
esac
|
||||||
|
|
||||||
46
.local/bin/dmenuumount
Executable file
46
.local/bin/dmenuumount
Executable file
@@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# taken from https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/dmenuumount
|
||||||
|
# A dmenu prompt to unmount drives.
|
||||||
|
# Provides you with mounted partitions, select one to unmount.
|
||||||
|
# Drives mounted at /, /boot and /home will not be options to unmount.
|
||||||
|
|
||||||
|
unmountusb() {
|
||||||
|
[ -z "$drives" ] && exit
|
||||||
|
chosen="$(echo "$drives" | dmenu -i -p "Unmount which drive?")" || exit 1
|
||||||
|
chosen="$(echo "$chosen" | awk '{print $1}')"
|
||||||
|
[ -z "$chosen" ] && exit
|
||||||
|
sudo -A umount "$chosen" && notify-send "💻 USB unmounting" "$chosen unmounted."
|
||||||
|
}
|
||||||
|
|
||||||
|
unmountandroid() { \
|
||||||
|
chosen="$(awk '/simple-mtpfs/ {print $2}' /etc/mtab | dmenu -i -p "Unmount which device?")" || exit 1
|
||||||
|
[ -z "$chosen" ] && exit
|
||||||
|
sudo -A umount -l "$chosen" && notify-send "🤖 Android unmounting" "$chosen unmounted."
|
||||||
|
}
|
||||||
|
|
||||||
|
asktype() { \
|
||||||
|
choice="$(printf "USB\\nAndroid" | dmenu -i -p "Unmount a USB drive or Android device?")" || exit 1
|
||||||
|
case "$choice" in
|
||||||
|
USB) unmountusb ;;
|
||||||
|
Android) unmountandroid ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
drives=$(lsblk -nrpo "name,type,size,mountpoint,label" | awk -F':' '{gsub(/ /,":")}$4!~/\/boot|\/efi|\/home$|SWAP/&&length($4)>1{printf "%s (%s) %s\n",$4,$3,$5}')
|
||||||
|
|
||||||
|
if ! grep simple-mtpfs /etc/mtab; then
|
||||||
|
[ -z "$drives" ] && echo "No drives to unmount." && exit
|
||||||
|
echo "Unmountable USB drive detected."
|
||||||
|
unmountusb
|
||||||
|
else
|
||||||
|
if [ -z "$drives" ]
|
||||||
|
then
|
||||||
|
echo "Unmountable Android device detected."
|
||||||
|
unmountandroid
|
||||||
|
else
|
||||||
|
echo "Unmountable USB drive(s) and Android device(s) detected."
|
||||||
|
asktype
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
8
.local/share/applications/firefox-profiles.desktop
Normal file
8
.local/share/applications/firefox-profiles.desktop
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Encoding=UTF-8
|
||||||
|
Version=1.0
|
||||||
|
Type=Application
|
||||||
|
Terminal=False
|
||||||
|
Exec=/usr/lib/firefox/firefox -P
|
||||||
|
Name=Firefox Profiles
|
||||||
|
Comment=Custom profile for Firefox
|
||||||
8
.local/share/applications/thunderbird-profiles.desktop
Normal file
8
.local/share/applications/thunderbird-profiles.desktop
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Encoding=UTF-8
|
||||||
|
Version=1.0
|
||||||
|
Type=Application
|
||||||
|
Terminal=False
|
||||||
|
Exec=/usr/lib/thunderbird/thunderbird -P
|
||||||
|
Name=Thunderbird Profiles
|
||||||
|
Comment=Custom profile for Thunderbird
|
||||||
8
.local/share/applications/userapp-Telegram.desktop
Normal file
8
.local/share/applications/userapp-Telegram.desktop
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Encoding=UTF-8
|
||||||
|
Version=1.0
|
||||||
|
Type=Application
|
||||||
|
NoDisplay=true
|
||||||
|
Exec=/usr/bin/telegram-desktop -- %u
|
||||||
|
Name=Telegram Desktop
|
||||||
|
Comment=Custom definition for Telegram Desktop
|
||||||
8
.local/share/applications/userapp-Thunderbird.desktop
Normal file
8
.local/share/applications/userapp-Thunderbird.desktop
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Encoding=UTF-8
|
||||||
|
Version=1.0
|
||||||
|
Type=Application
|
||||||
|
NoDisplay=true
|
||||||
|
Exec=/usr/lib/thunderbird/thunderbird %u
|
||||||
|
Name=Thunderbird
|
||||||
|
Comment=Custom definition for Thunderbird
|
||||||
46
.profile
Normal file
46
.profile
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
# Basic config
|
||||||
|
xset r rate 200 35 # set key repeat delay and rate
|
||||||
|
# Clean Up Home Directory
|
||||||
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
|
export XDG_CACHE_HOME="$HOME/.cache"
|
||||||
|
export XDG_DATA_HOME="$HOME/.local/share"
|
||||||
|
export XDG_STATE_HOME="$HOME/.local/state"
|
||||||
|
export TS3_CONFIG_DIR="$XDG_CONFIG_HOME/ts3client"
|
||||||
|
export GRADLE_USER_HOME="$XDG_DATA_HOME/gradle"
|
||||||
|
export CARGO_HOME="$XDG_DATA_HOME/cargo"
|
||||||
|
export JUPYTER_CONFIG_DIR="$XDG_CONFIG_HOME/jupyter"
|
||||||
|
export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME/java"
|
||||||
|
export CUDA_CACHE_PATH="$XDG_CACHE_HOME/nv"
|
||||||
|
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
||||||
|
export WGETRC="$XDG_CONFIG_HOME/wgetrc"
|
||||||
|
alias vscodium='vscodium --extensions-dir "$XDG_DATA_HOME/vscode"'
|
||||||
|
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc-2.0"
|
||||||
|
export CARGO_HOME="$XDG_DATA_HOME/cargo"
|
||||||
|
alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"'
|
||||||
|
alias yarn='yarn --use-yarnrc "$XDG_CONFIG_HOME/yarn/config"'
|
||||||
|
alias code='code --extensions-dir "$XDG_DATA_HOME/vscode"'
|
||||||
|
alias dict='dict -c "$XDG_CONFIG_HOME"/dict/dictrc '
|
||||||
|
|
||||||
|
|
||||||
|
# THEME
|
||||||
|
|
||||||
|
export QT_QPA_PLATFORMTHEME="qt5ct"
|
||||||
|
export QT_AUTO_SCREEN_SCALE_FACTOR=0
|
||||||
|
# global theme colors
|
||||||
|
export BLACK="#272822"
|
||||||
|
export WHITE="#FFFFFF"
|
||||||
|
export RED="#F92672"
|
||||||
|
export BLUE="#66D9EF"
|
||||||
|
export GREEN="#A6E22E"
|
||||||
|
export ORANGE="#FD971F"
|
||||||
|
export YELLOW="#E6DB74"
|
||||||
|
export PURPLE="#AE81FF"
|
||||||
|
export FONT="Noto"
|
||||||
|
export FONTSIZE="12"
|
||||||
|
|
||||||
|
# default applications
|
||||||
|
export EDITOR=/usr/bin/nvim
|
||||||
|
export BROWSER=/usr/bin/firefox
|
||||||
|
export TERMINAL=/usr/bin/alacritty
|
||||||
|
export EXPLORER=/usr/bin/thunar
|
||||||
|
export MAILCLIENT=/usr/bin/thunderbird
|
||||||
Reference in New Issue
Block a user