Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
738639bc19 | ||
|
|
c999f058bc | ||
|
|
1b55d91ce1 |
No files matched your search
@@ -1,52 +0,0 @@
|
||||
[colors.bright]
|
||||
black = "#545454"
|
||||
blue = "#94bff3"
|
||||
cyan = "#93e0e3"
|
||||
green = "#8ae234"
|
||||
magenta = "#b294bb"
|
||||
red = "#fc5454"
|
||||
white = "#ffffff"
|
||||
yellow = "#fce94f"
|
||||
|
||||
[colors.normal]
|
||||
black = "#3f3f3f"
|
||||
blue = "#94bff3"
|
||||
cyan = "#06989a"
|
||||
green = "#4e9a06"
|
||||
magenta = "#85678f"
|
||||
red = "#cc0000"
|
||||
white = "#dcdccc"
|
||||
yellow = "#c4a000"
|
||||
|
||||
[colors.primary]
|
||||
background = "#222222"
|
||||
foreground = "#F9F9F9"
|
||||
|
||||
[font]
|
||||
size = 11.0
|
||||
|
||||
[font.bold]
|
||||
style = "Bold"
|
||||
family = "FiraCode Nerd Font Mono"
|
||||
|
||||
[font.bold_italic]
|
||||
style = "Bold Italic"
|
||||
family = "FiraCode Nerd Font Mono"
|
||||
|
||||
[font.italic]
|
||||
style = "Italic"
|
||||
family = "FiraCode Nerd Font Mono"
|
||||
|
||||
[font.normal]
|
||||
style = "Regular"
|
||||
family = "FiraCode Nerd Font Mono"
|
||||
|
||||
[[keyboard.bindings]]
|
||||
action = "ToggleFullscreen"
|
||||
key = "F11"
|
||||
|
||||
[scrolling]
|
||||
history = 50000
|
||||
|
||||
[window]
|
||||
opacity = 1
|
||||
@@ -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'
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5
|
||||
@@ -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
|
||||
@@ -0,0 +1,3 @@
|
||||
DP-1 00ffffffffffff001ab3bf0814600b000b200104a5351e78220565a756529c270f5054a54a00818f81809500b30081c0a9c001010101023a801871382d40582c45000f282100001e000000fd00304c1e5211000a202020202020000000fc004232342d392054530a20202020000000ff00595644433734353439320a20200006
|
||||
DP-2-3 00ffffffffffff001ab3c10813fb0a001a1f0104a5351e783a0565a756529c270f5054a54a00818f81809500b30081c0a9c001010101023a801871382d40582c45000f282100001e000000fd00304c1e5211000a202020202020000000fc004232342d392054530a20202020000000ff00595644433731393633350a2020014402031cf14f901f051404031201021113071516062309070783010000023a801871382d40582c45000f282100001e023a80d072382d40102c96800f2821000018011d007251d01e206e2855000f282100001e011d00bc52d01e20b82855400f282100001e8c0ad090204031200c4055000f2821000018000000000000000000e6
|
||||
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5
|
||||
@@ -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
|
||||
@@ -0,0 +1,2 @@
|
||||
HDMI-2 00ffffffffffff0010ac5f4157563541281d0103803c2278eeee95a3544c99260f5054a54b00714f8180a940d1c00101010101010101565e00a0a0a029503020350055502100001a000000ff00335a53465253320a2020202020000000fc0044454c4c205532373139440a20000000fd00384c1e5a19000a20202020202001c7020322f14f90050403020716010611121513141f23097f078301000065030c001000023a801871382d40582c450055502100001e7e3900a080381f4030203a0055502100001a011d007251d01e206e28550055502100001ebf1600a08038134030203a0055502100001a00000000000000000000000000000000000000000088
|
||||
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5
|
||||
@@ -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
|
||||
@@ -0,0 +1,2 @@
|
||||
HDMI-2 00ffffffffffff0010ac56a04c32383013160103803c2278ea8e05ad4f33b0260d5054a54b008100b300714fa9408180010101010101023a801871382d40582c250055502100001e000000ff0047363036543235433038324c0a000000fc0044454c4c2055323731310a2020000000fd00384c1e5111000a202020202020012a020329f15090050403020716010611121513141f20230d7f0767030c001000382d830f0000e3050301023a801871382d40582c250055502100001e011d8018711c1620582c250055502100009e011d007251d01e206e28550055502100001e8c0ad08a20e02d10103e9600555021000018000000000000000000000000000068
|
||||
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 108 KiB |
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,158 @@
|
||||
# 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 alacritty --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 alacritty
|
||||
bindsym $mod+w exec --no-startup-id firefox
|
||||
bindsym $mod+e exec --no-startup-id thunar
|
||||
bindsym $mod+m exec --no-startup-id thunderbird
|
||||
# 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
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
# this is a i3bar config 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
|
||||
@@ -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
|
||||
Whitespace-only changes.
@@ -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
|
||||
|
||||
@@ -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>")
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
]]--
|
||||
|
||||
@@ -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'"
|
||||
#];
|
||||
|
||||
@@ -6,7 +6,7 @@ configuration {
|
||||
/* location: 0;*/
|
||||
/* yoffset: 0;*/
|
||||
/* xoffset: 0;*/
|
||||
fixed-num-lines: true;
|
||||
/* fixed-num-lines: true;*/
|
||||
show-icons: true;
|
||||
terminal: "alacritty";
|
||||
/* ssh-client: "ssh";*/
|
||||
@@ -34,7 +34,7 @@ configuration {
|
||||
/* auto-select: false;*/
|
||||
/* parse-hosts: false;*/
|
||||
/* parse-known-hosts: true;*/
|
||||
combi-modes: "drun,window,ssh";
|
||||
combi-modes: "window,drun,ssh";
|
||||
/* matching: "normal";*/
|
||||
/* tokenize: true;*/
|
||||
/* m: "-5";*/
|
||||
@@ -170,5 +170,4 @@ configuration {
|
||||
sorting-method: "name";
|
||||
}
|
||||
}
|
||||
//@theme "theme" // read theme in ./theme.rasi
|
||||
@theme "/usr/share/rofi/themes/Monokai.rasi"
|
||||
@theme "theme" // read theme in ./theme.rasi
|
||||
@@ -0,0 +1,142 @@
|
||||
/**
|
||||
* rofi -dump-theme output.
|
||||
* Rofi version: 1.7.5
|
||||
**/
|
||||
* {
|
||||
red: rgba ( 220, 50, 47, 100 % );
|
||||
selected-active-foreground: rgba ( 166, 226, 42, 100 % );
|
||||
lightfg: rgba ( 88, 104, 117, 100 % );
|
||||
separatorcolor: rgba ( 230, 219, 116, 100 % );
|
||||
urgent-foreground: rgba ( 249, 38, 114, 100 % );
|
||||
alternate-urgent-background: transparent;
|
||||
lightbg: rgba ( 238, 232, 213, 100 % );
|
||||
background-color: transparent;
|
||||
border-color: var(foreground);
|
||||
normal-background: transparent;
|
||||
bordercolor: rgba ( 0, 43, 54, 100 % );
|
||||
alternate-active-background: transparent;
|
||||
active-foreground: rgba ( 166, 226, 42, 100 % );
|
||||
blue: rgba ( 38, 139, 210, 100 % );
|
||||
alternate-normal-foreground: var(foreground);
|
||||
urgent-background: transparent;
|
||||
selected-normal-foreground: rgba ( 248, 248, 242, 100 % );
|
||||
selected-active-background: rgba ( 20, 20, 17, 100 % );
|
||||
background: rgba ( 39, 40, 34, 93 % );
|
||||
selected-urgent-background: rgba ( 249, 38, 114, 100 % );
|
||||
active-background: transparent;
|
||||
alternate-active-foreground: var(active-foreground);
|
||||
alternate-normal-background: transparent;
|
||||
foreground: rgba ( 248, 248, 242, 100 % );
|
||||
alternate-urgent-foreground: var(urgent-foreground);
|
||||
selected-urgent-foreground: rgba ( 248, 248, 242, 100 % );
|
||||
spacing: 2;
|
||||
normal-foreground: var(foreground);
|
||||
selected-normal-background: rgba ( 20, 20, 17, 100 % );
|
||||
}
|
||||
window {
|
||||
padding: 5;
|
||||
background-color: var(background);
|
||||
border: 1;
|
||||
}
|
||||
mainbox {
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
message {
|
||||
padding: 1px ;
|
||||
border-color: var(separatorcolor);
|
||||
border: 2px 0px 0px ;
|
||||
}
|
||||
textbox {
|
||||
text-color: var(foreground);
|
||||
}
|
||||
listview {
|
||||
padding: 2px 0px 0px ;
|
||||
scrollbar: true;
|
||||
border-color: var(separatorcolor);
|
||||
spacing: 2px ;
|
||||
fixed-height: 0;
|
||||
border: 2px 0px 0px ;
|
||||
}
|
||||
element {
|
||||
padding: 1px ;
|
||||
border: 0;
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: var(normal-background);
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
element normal.urgent {
|
||||
background-color: var(urgent-background);
|
||||
text-color: var(urgent-foreground);
|
||||
}
|
||||
element normal.active {
|
||||
background-color: var(active-background);
|
||||
text-color: var(active-foreground);
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(selected-normal-background);
|
||||
text-color: var(selected-normal-foreground);
|
||||
}
|
||||
element selected.urgent {
|
||||
background-color: var(selected-urgent-background);
|
||||
text-color: var(selected-urgent-foreground);
|
||||
}
|
||||
element selected.active {
|
||||
background-color: var(selected-active-background);
|
||||
text-color: var(selected-active-foreground);
|
||||
}
|
||||
element alternate.normal {
|
||||
background-color: var(alternate-normal-background);
|
||||
text-color: var(alternate-normal-foreground);
|
||||
}
|
||||
element alternate.urgent {
|
||||
background-color: var(alternate-urgent-background);
|
||||
text-color: var(alternate-urgent-foreground);
|
||||
}
|
||||
element alternate.active {
|
||||
background-color: var(alternate-active-background);
|
||||
text-color: var(alternate-active-foreground);
|
||||
}
|
||||
element-text {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
scrollbar {
|
||||
width: 4px ;
|
||||
padding: 0;
|
||||
handle-width: 8px ;
|
||||
border: 0;
|
||||
}
|
||||
mode-switcher {
|
||||
border-color: var(separatorcolor);
|
||||
border: 2px 0px 0px ;
|
||||
}
|
||||
button selected {
|
||||
background-color: var(selected-normal-background);
|
||||
text-color: var(selected-normal-foreground);
|
||||
}
|
||||
inputbar {
|
||||
padding: 1px ;
|
||||
spacing: 0;
|
||||
text-color: var(normal-foreground);
|
||||
children: [ "prompt","textbox-prompt-colon","entry","case-indicator" ];
|
||||
}
|
||||
case-indicator {
|
||||
spacing: 0;
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
entry {
|
||||
spacing: 0;
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
prompt {
|
||||
spacing: 0;
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
margin: 0px 0.3000em 0.0000em 0.0000em ;
|
||||
expand: false;
|
||||
str: ":";
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
+8
-30
@@ -1,42 +1,22 @@
|
||||
|
||||
alias diff='diff -u --color'
|
||||
alias tree='eza --tree'
|
||||
alias ls='eza --group-directories-first' # make output more readable and show directories first
|
||||
alias ll='ls --long --header --git'
|
||||
alias li='ls --git-ignore'
|
||||
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"
|
||||
alias g="git"
|
||||
alias py="python"
|
||||
alias act="source .venv/bin/activate"
|
||||
alias copy="wl-copy"
|
||||
alias paste="wl-paste"
|
||||
alias todo="rg -A 1 -B 1 '(TODO|FIXME|NOTE)'"
|
||||
|
||||
|
||||
# Add an "alert" alias for long running commands. Use like so: 'sleep 10; alert'
|
||||
alias notify='notify-send --urgency=normal -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*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'
|
||||
|
||||
sleep() {
|
||||
if [ "$1" = "-m" ]; then
|
||||
if [ -n "$2" ]; then
|
||||
sleep "$(( $2 * 60 ))"
|
||||
else
|
||||
echo "Please provide a duration in minutes after the -m flag."
|
||||
fi
|
||||
else
|
||||
/usr/bin/sleep "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
colors() {
|
||||
local fgc bgc vals seq0
|
||||
@@ -65,15 +45,13 @@ colors() {
|
||||
done
|
||||
}
|
||||
|
||||
wttr() #alternatively use schachmat/wego
|
||||
# set title in zsh (for alacritty)
|
||||
title()
|
||||
{
|
||||
for city in "$@"; do
|
||||
curl "wttr.in/$city";
|
||||
done
|
||||
echo -e "\e]2;$1\007";
|
||||
}
|
||||
|
||||
|
||||
pwd() # print path of files
|
||||
pwd()
|
||||
{
|
||||
echo "$PWD/$1"
|
||||
}
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
# Sway CheatSheet #
|
||||
|
||||
Super = Windows Key
|
||||
|
||||
# common operations
|
||||
Super Return *term* (`kitty`)
|
||||
Super q *quit* (kill focused window)
|
||||
Super Shift q *quit* (kill focused window)
|
||||
Super d *launcher*
|
||||
Super Shift d *dmenu*
|
||||
Super x *show archlinux-logout* (lock/suspend/logout/reboot/shutdown)
|
||||
Super Shift r *reload config files* (`reload`)
|
||||
Super Escape *kill application*
|
||||
|
||||
# screenshot
|
||||
PrintSrc *full screenshot*
|
||||
Shift PrintSrc *screenshot active*
|
||||
Ctrl PrintSrc *screenshot selection*
|
||||
|
||||
# application shortcuts
|
||||
Ctrl Alt F *firefox*
|
||||
Ctrl Alt U *pavucontrol*
|
||||
Ctrl Alt P *pamac-manager*
|
||||
Super Shift Return *file manager* (`thunar`)
|
||||
Super F1 *browser* (`firefox`)
|
||||
|
||||
# container layout
|
||||
|
||||
Super Shift Space *toggle tiling/floating mode*
|
||||
Super left mouse button *move window*
|
||||
Super right mouse button *resize window*
|
||||
|
||||
# workspaces
|
||||
Super 1 .. 0 *switch to workspace 1 .. 10*
|
||||
Super Shift 1 .. 0 *move container to workspace 1 .. 10*
|
||||
|
||||
# notes
|
||||
- *Sway* is documented through man pages - man sway.
|
||||
- *Waybar* is documented through man pages - man waybar.
|
||||
- User configuration files are in `~/.config/`.
|
||||
- Sway configuration files are in `~/.config/sway/config.d/`.
|
||||
- Similarly, Waybar configuration is in `~/.config/waybar`.
|
||||
|
||||
# user githubs
|
||||
- https://gitlab.com/garuda-linux/themes-and-settings/settings/garuda-sway-settings
|
||||
- https://gitlab.com/risca-dot-files/sway/-/tree/master/.config/sway
|
||||
- https://github.com/weasnerb/sway-dots
|
||||
|
||||
# share your own files on github
|
||||
- so we can all learn
|
||||
- and you have a backup
|
||||
@@ -1,9 +0,0 @@
|
||||
# Config for sway
|
||||
#
|
||||
# Read `man 5 sway` for a complete reference.
|
||||
|
||||
# user config directory
|
||||
include $HOME/.config/sway/config.d/*
|
||||
|
||||
# only enable this if every app you use is compatible with wayland
|
||||
# xwayland disable
|
||||
@@ -1,42 +0,0 @@
|
||||
# sway does not set DISPLAY/WAYLAND_DISPLAY in the systemd user environment
|
||||
# See FS#63021
|
||||
# Adapted from xorg's 50-systemd-user.sh, which achieves a similar goal.
|
||||
|
||||
# default greeting background
|
||||
output "*" bg /usr/share/backgrounds/arcolinux/arco-wallpaper.jpg fill
|
||||
|
||||
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|
||||
exec hash dbus-update-activation-environment 2>/dev/null && \
|
||||
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|
||||
|
||||
# Auth with polkit-gnome:
|
||||
exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
|
||||
# Desktop notifications
|
||||
exec mako -c ~/.config/sway/mako/config
|
||||
|
||||
# Wlsunset - night colors - install this application
|
||||
# exec ~/.config/sway/scripts/light.sh
|
||||
|
||||
# Welcome
|
||||
exec dex -a -s /etc/xdg/autostart/:~/.config/autostart/
|
||||
|
||||
# nm-applet
|
||||
exec nm-applet --indicator
|
||||
exec blueman-tray
|
||||
|
||||
# Clipman wl-paste
|
||||
# exec clipman restore
|
||||
# exec wl-paste -t text --watch clipman store
|
||||
|
||||
# Gnome Keyring
|
||||
exec gnome-keyring-daemon --daemonize --start --components=gpg,pkcs11,secrets,ssh
|
||||
|
||||
# for Touchpad gestures - laptop
|
||||
# exec libinput-gestures-setup start
|
||||
|
||||
# Xdg Desktop Portal
|
||||
# exec /usr/libexec/xdg-desktop-portal
|
||||
|
||||
# nwg-drawer
|
||||
exec_always nwg-drawer -r
|
||||
@@ -1,6 +0,0 @@
|
||||
# Clamshell Mode
|
||||
set $laptop <eDP-1>
|
||||
bindswitch --reload --locked lid:on output $laptop disable
|
||||
bindswitch --reload --locked lid:off output $laptop enable
|
||||
|
||||
exec_always ~/.config/sway/scripts/clamshell.sh
|
||||
@@ -1,233 +0,0 @@
|
||||
# vim: filetype=i3config
|
||||
# Logo key. Use Mod1 for Alt.
|
||||
set $mod Mod4
|
||||
bindsym $mod+F12 reload
|
||||
bindsym $mod+Escape exec swaylock -c 000000 & sleep 5 && systemctl suspend
|
||||
bindsym $mod+Shift+Escape exec systemctl poweroff
|
||||
focus_follows_mouse no
|
||||
|
||||
# Variables to set
|
||||
set $terminal alacritty
|
||||
set $browser firefox
|
||||
set $files thunar
|
||||
set $editor code
|
||||
|
||||
|
||||
### Idle configuration
|
||||
|
||||
#with lock
|
||||
|
||||
#exec swayidle -w\
|
||||
# timeout 1200 'swaylock -f -C ~/.config/sway/swaylock/config'\
|
||||
# timeout 1200 'swaymsg "output * dpms off"' \
|
||||
# resume 'swaymsg "output * dpms on"' \
|
||||
# before-sleep 'swaylock -C ~/.config/sway/swaylock/config'
|
||||
|
||||
# without lock
|
||||
#exec swayidle -w\
|
||||
# timeout 1200 'swaymsg "output * dpms off"' \
|
||||
# resume 'swaymsg "output * dpms on"'
|
||||
|
||||
# This will lock your screen after 300 seconds of inactivity, then turn off
|
||||
# your displays after another 300 seconds, and turn your screens back on when
|
||||
# resumed. It will also lock your screen before your computer goes to sleep.
|
||||
|
||||
|
||||
### Key bindings
|
||||
|
||||
## Function keys
|
||||
bindsym $mod+F1 exec $browser
|
||||
bindsym $mod+F2 exec $editor
|
||||
bindsym $mod+F3 exec inkscape
|
||||
bindsym $mod+F4 exec gimp
|
||||
bindsym $mod+F5 exec meld
|
||||
bindsym $mod+F6 exec vlc
|
||||
bindsym $mod+F7 exec virtualbox
|
||||
bindsym $mod+F8 exec $files
|
||||
bindsym $mod+F9 exec lollypop
|
||||
bindsym $mod+F10 exec spotify
|
||||
bindsym $mod+F11 exec rofi -show drun
|
||||
|
||||
|
||||
bindsym $mod+Return exec "rofi -show"
|
||||
bindsym $mod+Shift+Space exec $terminal
|
||||
|
||||
# archlinux tweak tool
|
||||
bindsym Ctrl+Alt+e archlinux-tweak-tool
|
||||
|
||||
# archlinux-logout
|
||||
bindsym $mod+x exec archlinux-logout
|
||||
bindsym $mod+Shift+x exec archlinux-logout
|
||||
|
||||
## Lock Screen
|
||||
bindsym Ctrl+Alt+l exec ~/.config/sway/scripts/lockman.sh
|
||||
|
||||
bindsym $mod+q kill
|
||||
|
||||
# Drag floating windows by holding down $mod and left mouse button.
|
||||
# Resize them with right mouse button + $mod.
|
||||
# Despite the name, also works for non-floating windows.
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
|
||||
# conky
|
||||
bindsym $mod+c exec conky-toggle
|
||||
bindsym $mod+Ctrl+c exec killall conky
|
||||
bindsym Ctrl+Alt+Next exec conky-rotate -n
|
||||
bindsym Ctrl+Alt+Prior exec conky-rotate -p
|
||||
|
||||
|
||||
#bindsym $mod+Escape exec ~/.config/sway/scripts/wkill.sh
|
||||
|
||||
# CONTROL + ALT
|
||||
bindsym $mod+e exec thunar
|
||||
bindsym $mod+w exec firefox
|
||||
bindsym Ctrl+Alt+p exec pamac-manager
|
||||
bindsym Ctrl+Alt+u exec pavucontrol
|
||||
|
||||
#
|
||||
# Moving around:
|
||||
#
|
||||
# Move your focus around
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
# Move the focused window with the same, but add Shift
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l move right
|
||||
#
|
||||
# Workspaces:
|
||||
#
|
||||
# Qwerty
|
||||
# Switch to workspace
|
||||
bindsym $mod+1 workspace number 1
|
||||
bindsym $mod+2 workspace number 2
|
||||
bindsym $mod+3 workspace number 3
|
||||
bindsym $mod+4 workspace number 4
|
||||
bindsym $mod+5 workspace number 5
|
||||
bindsym $mod+6 workspace number 6
|
||||
bindsym $mod+7 workspace number 7
|
||||
bindsym $mod+8 workspace number 8
|
||||
bindsym $mod+9 workspace number 9
|
||||
bindsym $mod+0 workspace number 10
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number 1
|
||||
bindsym $mod+Shift+2 move container to workspace number 2
|
||||
bindsym $mod+Shift+3 move container to workspace number 3
|
||||
bindsym $mod+Shift+4 move container to workspace number 4
|
||||
bindsym $mod+Shift+5 move container to workspace number 5
|
||||
bindsym $mod+Shift+6 move container to workspace number 6
|
||||
bindsym $mod+Shift+7 move container to workspace number 7
|
||||
bindsym $mod+Shift+8 move container to workspace number 8
|
||||
bindsym $mod+Shift+9 move container to workspace number 9
|
||||
bindsym $mod+Shift+0 move container to workspace number 10
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
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
|
||||
|
||||
# moving workspaces between screens:
|
||||
bindsym $mod+Left move workspace to output left
|
||||
bindsym $mod+Up move workspace to output up
|
||||
bindsym $mod+Right move workspace to output right
|
||||
bindsym $mod+Down move workspace to output down
|
||||
|
||||
|
||||
#
|
||||
# Layout stuff:
|
||||
#
|
||||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively.
|
||||
bindsym $mod+b splith
|
||||
bindsym $mod+v splitv
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+t layout toggle tabbed splith
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+d floating toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
#bindsym $mod+space focus mode_toggle
|
||||
|
||||
# Move focus to the parent container
|
||||
bindsym $mod+a focus parent
|
||||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
#
|
||||
# Resizing containers:
|
||||
#
|
||||
mode "resize" {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers height
|
||||
bindsym Left resize shrink width 10px
|
||||
bindsym Down resize grow height 10px
|
||||
bindsym Up resize shrink height 10px
|
||||
bindsym Right resize grow width 10px
|
||||
|
||||
# Return to default mode
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym $mod+r mode "default"
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# Resize floating windows with mouse scroll:
|
||||
bindsym --whole-window --border $mod+button4 resize shrink height 5 px or 5 ppt
|
||||
bindsym --whole-window --border $mod+button5 resize grow height 5 px or 5 ppt
|
||||
bindsym --whole-window --border $mod+shift+button4 resize shrink width 5 px or 5 ppt
|
||||
bindsym --whole-window --border $mod+shift+button5 resize grow width 5 px or 5 ppt
|
||||
|
||||
#
|
||||
# Volume
|
||||
#
|
||||
bindsym XF86AudioRaiseVolume exec pamixer -ui 2 && pamixer --get-volume > $SWAYSOCK.wob
|
||||
bindsym XF86AudioLowerVolume exec pamixer -ud 2 && pamixer --get-volume > $SWAYSOCK.wob
|
||||
bindsym XF86AudioMute exec pamixer --toggle-mute && ( pamixer --get-mute && echo 0 > $SWAYSOCK.wob ) || pamixer --get-volume > $SWAYSOCK.wob
|
||||
|
||||
#
|
||||
# Player
|
||||
#
|
||||
bindsym XF86AudioPlay exec playerctl play-pause
|
||||
bindsym XF86AudioNext exec playerctl next
|
||||
bindsym XF86AudioPrev exec playerctl previous
|
||||
bindsym XF86AudioStop exec playerctl stop
|
||||
#
|
||||
# Backlight
|
||||
# install light if needed
|
||||
# bindsym XF86MonBrightnessUp exec light -A 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob
|
||||
# bindsym XF86MonBrightnessDown exec light -U 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob
|
||||
|
||||
#
|
||||
# Screenshots
|
||||
#
|
||||
bindsym print exec grimshot --notify save output
|
||||
bindsym Shift+print exec grimshot --notify save active
|
||||
bindsym Ctrl+print exec grimshot --notify save area
|
||||
bindsym Ctrl+$mod+print exec flameshot gui
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
### Input configuration
|
||||
#
|
||||
# Example configuration:
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Put your touchpad's ID to replace "Touchpad-ID" (keep the quotation marks)
|
||||
|
||||
input type:touchpad {
|
||||
dwt enabled
|
||||
tap enabled
|
||||
natural_scroll enabled
|
||||
}
|
||||
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
#
|
||||
# Change or switch the next setting
|
||||
input type:keyboard {
|
||||
xkb_layout eu
|
||||
xkb_numlock enabled
|
||||
repeat_delay 200
|
||||
repeat_rate 35
|
||||
|
||||
}
|
||||
|
||||
|
||||
input "5824:10203:MoErgo_Glove80_Left_Keyboard" {
|
||||
xkb_layout eu
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
### Output configuration
|
||||
set $output-1 DP_1
|
||||
set $output-2 DP_2
|
||||
set $output-3 DP_3
|
||||
output $output-1 resolution 2560x1440 pos 0 0
|
||||
output $output-2 resolution 2560x1440 pos 2560 0
|
||||
output $output-3 resolution 2560x1440 pos 5120 0
|
||||
workspace 1 output $output-1
|
||||
workspace 2 output $output-2
|
||||
workspace 3 output $output-3
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# output HDMI-A-1 resolution 1920x1080 position 1920,0
|
||||
#
|
||||
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||
#
|
||||
# Wacom Tablet - Example
|
||||
# input "1386:884:Wacom_Intuos_S_Pad" map_to_output HDMI-A-1
|
||||
# input "1386:884:Wacom_Intuos_S_Pen" map_to_output HDMI-A-1
|
||||
@@ -1,30 +0,0 @@
|
||||
# set floating (nontiling)for apps needing it:
|
||||
#for_window [class="Yad" instance="yad"] floating enable
|
||||
#for_window [app_id="yad"] floating enable
|
||||
#for_window [app_id="blueman-manager"] floating enable, resize set width 40 ppt height 30 ppt
|
||||
|
||||
# set floating (nontiling) for special apps:
|
||||
#for_window [class="Xsane" instance="xsane"] floating enable
|
||||
#for_window [app_id="pavucontrol" ] floating enable, resize set width 40 ppt height 30 ppt
|
||||
#for_window [class="qt5ct" instance="qt5ct"] floating enable, resize set width 60 ppt height 50 ppt
|
||||
#for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable
|
||||
#for_window [app_id="pamac-manager"] floating enable, resize set width 80 ppt height 70 ppt
|
||||
#for_window [class="Lxappearance"] floating enable, resize set width 60 ppt height 50 ppt
|
||||
|
||||
# set floating for window roles
|
||||
for_window [window_role="pop-up"] floating enable
|
||||
for_window [window_role="bubble"] floating enable
|
||||
for_window [window_role="task_dialog"] floating enable
|
||||
for_window [window_role="Preferences"] floating enable
|
||||
for_window [window_type="dialog"] floating enable
|
||||
for_window [window_type="menu"] floating enable
|
||||
for_window [window_role="About"] floating enable
|
||||
for_window [title="File Operation Progress"] floating enable, border pixel 1, sticky enable, resize set width 40 ppt height 30 ppt
|
||||
for_window [title="Picture in picture"] floating enable, sticky enable
|
||||
for_window [title="nmtui"] floating enable, resize set width 50 ppt height 70 ppt
|
||||
for_window [title="htop"] floating enable, resize set width 50 ppt height 70 ppt
|
||||
for_window [app_id="xsensors"] floating enable
|
||||
for_window [title="Save File"] floating enable
|
||||
|
||||
# Inhibit idle
|
||||
for_window [app_id="Chromium"] inhibit_idle fullscreen
|
||||
@@ -1,26 +0,0 @@
|
||||
# vim: filetype=i3config
|
||||
# Scratchpad binds
|
||||
exec_always bitwarden-desktop
|
||||
for_window [app_id="Bitwarden"] {
|
||||
floating enable
|
||||
sticky enable
|
||||
resize set width 1200 height 900
|
||||
move position center
|
||||
move scratchpad
|
||||
}
|
||||
bindsym $mod+p [app_id="Bitwarden"] scratchpad show
|
||||
|
||||
exec_always alacritty --class="dropdown_tmux" -e 'tmux'
|
||||
for_window [app_id="dropdown_tmux"] {
|
||||
floating enable
|
||||
sticky enable
|
||||
resize set width 1200 height 900
|
||||
move position center
|
||||
move scratchpad
|
||||
}
|
||||
bindsym $mod+Space [app_id="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"] border pixel 3
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
# Apply gtk theming
|
||||
# exec_always ~/.config/sway/scripts/import-gsettings
|
||||
# exec_always ~/.config/sway/scripts/ricing
|
||||
exec_always ~/.config/sway/scripts/gtkthemes
|
||||
|
||||
|
||||
# Hide titlebar on windows:
|
||||
default_border pixel 2
|
||||
|
||||
# Default Font
|
||||
font pango:Noto Sans Regular 10
|
||||
|
||||
# Thin borders:
|
||||
smart_borders off
|
||||
|
||||
# Title format for windows
|
||||
for_window [shell="xdg_shell"] title_format "%title (%app_id)"
|
||||
for_window [shell="x_wayland"] title_format "%class - %title"
|
||||
|
||||
## Window decoration
|
||||
# class border backgr. text indicator child_border
|
||||
client.focused #88c0d0 #434c5e #eceff4 #8fbcbb #88c0d0
|
||||
client.focused_inactive #88c0d0 #2e3440 #d8dee9 #4c566a #4c566a
|
||||
client.unfocused #88c0d0 #2e3440 #d8dee9 #4c566a #4c566a
|
||||
client.urgent #ebcb8b #ebcb8b #2e3440 #8fbcbb #ebcb8b
|
||||
|
||||
exec $HOME/.config/sway/scripts/statusbar
|
||||
@@ -1 +0,0 @@
|
||||
https://curiouscoding.nl/linux/environment-variables/
|
||||
@@ -1,47 +0,0 @@
|
||||
# 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
|
||||
# set BAT as man pager
|
||||
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
|
||||
export MANROFFOPT="-c"
|
||||
@@ -1,15 +0,0 @@
|
||||
anchor=bottom-right
|
||||
font=monospace 10
|
||||
background-color=#3b4252
|
||||
text-color=#eceff4
|
||||
width=350
|
||||
margin=0,20,20
|
||||
padding=10
|
||||
border-size=2
|
||||
border-color=#4c566a
|
||||
border-radius=5
|
||||
default-timeout=10000
|
||||
group-by=summary
|
||||
|
||||
[grouped]
|
||||
format=<b>%s</b>\n%b
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
# change output
|
||||
if cat /proc/acpi/button/lid/LID/state | grep -q open; then
|
||||
swaymsg output <eDP-1> enable
|
||||
else
|
||||
swaymsg output <eDP-1> disable
|
||||
fi
|
||||
@@ -1,31 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
## Copyright (C) 2020-2022 Aditya Shakya <adi1090x@gmail.com>
|
||||
## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3
|
||||
|
||||
## Set GTK Themes, Icons, Cursor and Fonts
|
||||
|
||||
# you can set your icons, themes and cursor via
|
||||
# dconf editor
|
||||
|
||||
# cursor is also in wayfire.ini
|
||||
|
||||
# /org/gnome/desktop/interface
|
||||
|
||||
# or run these commands
|
||||
|
||||
# https://github.com/WayfireWM/wayfire/wiki/Tips-&-Tricks#gtk-theme-not-working
|
||||
|
||||
# usage: import-gsettings
|
||||
config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
|
||||
if [ ! -f "$config" ]; then exit 1; fi
|
||||
|
||||
gnome_schema="org.gnome.desktop.interface"
|
||||
gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||
icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||
cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||
font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||
gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
|
||||
gsettings set "$gnome_schema" icon-theme "$icon_theme"
|
||||
gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
|
||||
gsettings set "$gnome_schema" font-name "$font_name"
|
||||
@@ -1,15 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# usage: import-gsettings
|
||||
config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
|
||||
if [ ! -f "$config" ]; then exit 1; fi
|
||||
|
||||
gnome_schema="org.gnome.desktop.interface"
|
||||
gtk_theme="$(grep 'gtk-theme-name' "$config" | cut -d'=' -f2)"
|
||||
icon_theme="$(grep 'gtk-icon-theme-name' "$config" | cut -d'=' -f2)"
|
||||
cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | cut -d'=' -f2)"
|
||||
font_name="$(grep 'gtk-font-name' "$config" | cut -d'=' -f2)"
|
||||
gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
|
||||
gsettings set "$gnome_schema" icon-theme "$icon_theme"
|
||||
gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
|
||||
gsettings set "$gnome_schema" font-name "$font_name"
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/bin/sh
|
||||
# install wlsunset
|
||||
CONTENT=$(curl -s https://freegeoip.app/json/)
|
||||
longitude=$(echo $CONTENT | jq .longitude)
|
||||
latitude=$(echo $CONTENT | jq .latitude)
|
||||
wlsunset -l $latitude -L $longitude
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Times the screen off and puts it to background
|
||||
swayidle \
|
||||
timeout 5 'swaymsg "output * dpms off"' \
|
||||
resume 'swaymsg "output * dpms on"' &
|
||||
# Locks the screen immediately
|
||||
swaylock -C ~/.config/sway/swaylock/config
|
||||
# Kills last background task so idle timer doesn't keep running
|
||||
kill %%
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
gsettings set org.gnome.desktop.interface gtk-theme Arc-Dark
|
||||
gsettings set org.gnome.desktop.interface icon-theme a-candy-beauty-icon-theme
|
||||
gsettings set org.gnome.desktop.interface cursor-theme Bibata-Modern-Ice
|
||||
gsettings set org.gnome.desktop.interface font-name "Noto Sans 11"
|
||||
gsettings set org.gnome.desktop.interface document-font-name "Noto Sans 11"
|
||||
gsettings set org.gnome.desktop.interface font-hinting slight
|
||||
@@ -1,19 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
## Copyright (C) 2020-2022 Aditya Shakya <adi1090x@gmail.com>
|
||||
## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3
|
||||
|
||||
## launch waybar with alt config
|
||||
|
||||
# Terminate already running bar instances
|
||||
killall -q waybar
|
||||
|
||||
# Wait until the processes have been shut down
|
||||
while pgrep -x waybar >/dev/null; do sleep 1; done
|
||||
|
||||
CONFIG="$HOME/.config/sway/waybar/config.ini"
|
||||
STYLE="$HOME/.config/sway/waybar/style.css"
|
||||
|
||||
if [[ ! `pidof waybar` ]]; then
|
||||
waybar --bar main-bar --log-level error --config ${CONFIG} --style ${STYLE} &
|
||||
fi
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
FOCUSED_APP_ID=$(swaymsg -t get_tree | jq '.. | select(.type?) | select(.focused==true).pid')
|
||||
kill -9 $FOCUSED_APP_ID
|
||||
@@ -1,25 +0,0 @@
|
||||
# indicator
|
||||
# no-unlock-indicator
|
||||
# daemonize
|
||||
indicator-caps-lock
|
||||
# datestr=%A
|
||||
image=$HOME/.config/sway/swaylock/swaylock.jpg
|
||||
scaling=fill
|
||||
font=Noto Sans
|
||||
font-size=20
|
||||
|
||||
|
||||
# Ring
|
||||
indicator-radius=360
|
||||
# line-uses-ring
|
||||
line-color=#3b4252
|
||||
text-color=#d8dee9
|
||||
inside-color=#2e344098
|
||||
inside-ver-color=#5e81ac
|
||||
line-ver-color=#5e81ac
|
||||
ring-ver-color=#5e81ac98
|
||||
ring-color=#4c566a
|
||||
key-hl-color=#5e81ac
|
||||
separator-color=#4c566a
|
||||
layout-text-color=#eceff4
|
||||
line-wrong-color=#d08770
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 419 KiB |
@@ -1,144 +0,0 @@
|
||||
// https://github.com/Alexays/Waybar/wiki
|
||||
{
|
||||
"layer": "bottom", // Waybar at top layer
|
||||
"position": "top", // Waybar position (top|bottom|left|right)
|
||||
"height": 24,
|
||||
//"width": 1350, // Waybar width
|
||||
// Choose the order of the modules idle_inhibitor
|
||||
"modules-left": ["custom/launcher","sway/workspaces", "sway/mode", "sway/window"],
|
||||
"modules-right": ["backlight", "cpu", "memory", "battery", "pulseaudio", "idle_inhibitor", "clock","tray", "custom/keybindings", "custom/archlinuxlogout"],
|
||||
|
||||
// Modules configuration
|
||||
|
||||
"sway/workspaces": {
|
||||
"disable-scroll": false,
|
||||
//"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "5",
|
||||
"6": "6",
|
||||
"7": "7",
|
||||
"8": "8",
|
||||
"9": "9",
|
||||
"10": "10",
|
||||
}
|
||||
},
|
||||
"sway/mode": {
|
||||
"format": "<span style=\"italic\">{}</span>"
|
||||
},
|
||||
"sway/window": {
|
||||
"format": "{}"
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 14,
|
||||
"spacing": 5
|
||||
},
|
||||
"clock": {
|
||||
"tooltip-format": "{:%A %B %d %Y | %H:%M}",
|
||||
"format": " {:%a %d %b %H:%M}",
|
||||
"format-alt": " {:%d/%m/%Y %H:%M:%S}",
|
||||
//"timezones": [ "$TZ" ],
|
||||
//"max-length": 200
|
||||
"interval": 1
|
||||
},
|
||||
"cpu": {
|
||||
"format": "cpu: {usage: >3}%",
|
||||
"on-click": "alacritty -e btop"
|
||||
},
|
||||
"memory": {
|
||||
"format": "mem: {: >3}%",
|
||||
"on-click": "alacritty -e btop"
|
||||
},
|
||||
"temperature": {
|
||||
// "thermal-zone": 2,
|
||||
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
|
||||
"critical-threshold": 80,
|
||||
// "format-critical": "{temperatureC}°C ",
|
||||
"format": "{temperatureC}°C "
|
||||
},
|
||||
"backlight": {
|
||||
// "device": "acpi_video1",
|
||||
"format": "{icon} {percent: >3}%",
|
||||
"format-icons": ["", ""],
|
||||
"on-scroll-down": "brightnessctl -c backlight set 5%-",
|
||||
"on-scroll-up": "brightnessctl -c backlight set +5%"
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon} {capacity: >3}%",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
//"format-icons": ["", "", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"network": {
|
||||
// "interface": "wlp2s0", // (Optional) To force the use of this interface
|
||||
"format": "⚠ Disabled",
|
||||
"format-wifi": " {essid}",
|
||||
"format-ethernet": " {ifname}: {ipaddr}/{cidr}",
|
||||
"format-disconnected": "⚠ Disconnected",
|
||||
"on-click": "alacritty -e nmtui"
|
||||
},
|
||||
"pulseaudio": {
|
||||
"scroll-step": 5,
|
||||
"format": "{icon} {volume: >3}%",
|
||||
"format-bluetooth": "{icon} {volume: >3}%",
|
||||
"format-muted":" muted",
|
||||
"format-icons": {
|
||||
"headphones": "",
|
||||
"handsfree": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"custom/pacman": {
|
||||
"format": " {}",
|
||||
"interval": 7200, // every two hours
|
||||
"exec": "i=$(checkupdates); echo \"$i\" |wc -l; echo \"$i\" |column -t |tr '\n' '\r'", // # of updates and tooltip details
|
||||
"exec-if": "exit 0", // always run; consider advanced run conditions
|
||||
"on-click": "alacritty -e sudo pacman -Syu", // update system
|
||||
"signal": 8
|
||||
},
|
||||
"custom/power": {
|
||||
"format":" ⏻ ",
|
||||
"on-click": "nwg-bar",
|
||||
"tooltip": false,
|
||||
},
|
||||
"custom/archlinuxlogout": {
|
||||
"format":" ⏻ ",
|
||||
"on-click": "archlinux-logout",
|
||||
"tooltip": false,
|
||||
},
|
||||
"custom/keyboard-layout": {
|
||||
"exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
|
||||
// Interval set only as a fallback, as the value is updated by signal
|
||||
"interval": 30,
|
||||
"format": " {}", // Icon: keyboard
|
||||
// Signal sent by Sway key binding (~/.config/sway/key-bindings)
|
||||
"signal": 1, // SIGHUP
|
||||
"tooltip": false,
|
||||
"on-click": "~/.config/waybar/scripts/keyhint",
|
||||
},
|
||||
"custom/launcher": {
|
||||
"format":" ",
|
||||
"on-click": "exec nwg-drawer -c 7 -is 70 -spacing 23",
|
||||
"tooltip": false,
|
||||
},
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
i="$(checkupdates)"
|
||||
printf "%b%b" "$i" "${i:+\n}" |wc -l; echo "$i" |column -t #|tr '\n' '\r'
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
kitty -e micro ~/.config/sway/cheatsheet.md
|
||||
@@ -1,195 +0,0 @@
|
||||
/* =============================================================================
|
||||
*
|
||||
* Waybar configuration
|
||||
*
|
||||
* Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
|
||||
*
|
||||
* =========================================================================== */
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Keyframes
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
/*
|
||||
Polar Night
|
||||
nord0 #2e3440
|
||||
nord1 #3b4252
|
||||
nord2 #434c5e
|
||||
nord3 #4c566a
|
||||
Snow Storm
|
||||
nord4 #d8dee9
|
||||
nord5 #e5e9f0
|
||||
nord6 #eceff4
|
||||
Frost
|
||||
nord7 #8fbcbb
|
||||
nord8 #88c0d0
|
||||
nord9 #81a1c1
|
||||
nord10 #5e81ac
|
||||
Aurora
|
||||
nord11 #bf616a
|
||||
nord12 #d08770
|
||||
nord13 #ebcb8b
|
||||
nord14 #a3be8c
|
||||
nord15 #b48ead
|
||||
*/
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Base styles
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
/* Reset all styles */
|
||||
|
||||
* {
|
||||
color: #eceff4;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
padding: 0 0;
|
||||
font-family:Noto Sans;
|
||||
font-size: 12px;
|
||||
margin-right: 5px;
|
||||
margin-left: 5px;
|
||||
padding-bottom:3px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
/* background:#2e3440;*/
|
||||
background:rgba(33, 33, 33, 0.8);
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 2px 0px;
|
||||
border-bottom: 2px;
|
||||
color: #eceff4;
|
||||
border-color: #d8dee9;
|
||||
border-style: solid;
|
||||
margin-top:2px;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
border-color: #81a1c1;
|
||||
}
|
||||
|
||||
#mode {
|
||||
color: #ebcb8b;
|
||||
}
|
||||
|
||||
#clock, #battery, #cpu, #memory,#idle_inhibitor, #temperature,#custom-keyboard-layout, #backlight, #network, #pulseaudio, #mode, #tray, #window,#custom-launcher,#custom-power,#custom-pacman {
|
||||
padding: 0 3px;
|
||||
border-bottom: 2px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Module styles
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#clock {
|
||||
color:#a3be8c;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
color: #ebcb8b;
|
||||
}
|
||||
|
||||
#battery {
|
||||
color: #d8dee9;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: #81a1c1;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
color: #4c566a;
|
||||
background-color: #eceff4;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background: #bf616a;
|
||||
color: #eceff4;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
color:#a3be8c ;
|
||||
}
|
||||
|
||||
#memory {
|
||||
color: #d3869b;
|
||||
}
|
||||
|
||||
#network.disabled {
|
||||
color:#bf616a;
|
||||
}
|
||||
|
||||
#network{
|
||||
color:#a3be8c;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
color: #bf616a;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: #b48ead;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
color: #3b4252;
|
||||
}
|
||||
|
||||
#temperature {
|
||||
color: #8fbcbb;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
color: #bf616a;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
color: #ebcb8b;
|
||||
}
|
||||
|
||||
#tray {
|
||||
}
|
||||
|
||||
#custom-launcher,#custom-power,#custom-archlinuxlogout{
|
||||
border-style: hidden;
|
||||
margin-top:2px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
#custom-archlinuxlogout{
|
||||
border-style: hidden;
|
||||
margin-top:2px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
#custom-keybindings{
|
||||
border-style: hidden;
|
||||
margin-top:2px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
#window{
|
||||
border-style: hidden;
|
||||
margin-top:1px;
|
||||
}
|
||||
#mode{
|
||||
margin-bottom:3px;
|
||||
}
|
||||
|
||||
#custom-keyboard-layout{
|
||||
color:#d08770;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
+69
-54
@@ -1,41 +1,17 @@
|
||||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||
# Initialization code that may require console input (password prompts, [y/n]
|
||||
# confirmations, etc.) must go above this block; everything else may go below.
|
||||
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
fi
|
||||
#OPTIONS SECTION
|
||||
|
||||
source ~/.config/shell/alias.sh
|
||||
export EDITOR=nvim
|
||||
export VISUAL=$EDITOR
|
||||
# set BAT as man pager
|
||||
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
|
||||
export MANROFFOPT="-c"
|
||||
|
||||
export PATH="$HOME/.cargo/bin:$PATH"
|
||||
export PATH="$HOME/.bin:$PATH"
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
export PATH="$PATH:$(gem env user_gemhome)/bin"
|
||||
|
||||
export HISTCONTROL=ignoreboth:erasedups
|
||||
#unsetopt beep # try disabling annoying beep sounds
|
||||
setopt nobeep
|
||||
xset b off
|
||||
autoload -Uz compinit # load completion
|
||||
compinit
|
||||
_comp_options+=(globdots) # Include hidden files.
|
||||
eval "$(zoxide init zsh)"
|
||||
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
|
||||
setopt sharehistory
|
||||
export HISTSIZE=10000
|
||||
export SAVEHIST=10000
|
||||
setopt appendhistory # Immediately append history instead of overwriting
|
||||
HISTFILE=~/.history
|
||||
setopt GLOB_DOTS
|
||||
#share commands between terminal instances or not
|
||||
#setopt SHARE_HISTORY
|
||||
|
||||
zstyle ':completion:*' special-dirs true # complete hidden directories
|
||||
zstyle ':completion:*' special-files true # complete hidden files
|
||||
@@ -77,6 +53,13 @@ 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'
|
||||
@@ -86,27 +69,20 @@ bindkey '^[[3;5~' kill-word # 'CTRL + DEL'
|
||||
bindkey '^Z' undo # 'CTRL + z' undo last action
|
||||
|
||||
|
||||
#PLUGIN SECTION
|
||||
|
||||
# User configuration
|
||||
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
|
||||
|
||||
# export MANPATH="/usr/local/man:$MANPATH"
|
||||
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`
|
||||
|
||||
# You may need to manually set your language environment
|
||||
# export LANG=en_US.UTF-8
|
||||
|
||||
# Preferred editor for local and remote sessions
|
||||
# if [[ -n $SSH_CONNECTION ]]; then
|
||||
# export EDITOR='vim'
|
||||
# else
|
||||
# export EDITOR='mvim'
|
||||
# fi
|
||||
|
||||
# Compilation flags
|
||||
# export ARCHFLAGS="-arch x86_64"
|
||||
|
||||
|
||||
if [ -f /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]; then
|
||||
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||
#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
|
||||
@@ -128,20 +104,59 @@ if [ -f /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.z
|
||||
#ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]=fg=009
|
||||
#ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]=fg=009
|
||||
#ZSH_HIGHLIGHT_STYLES[assign]=none
|
||||
fi
|
||||
|
||||
[[ ! -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"
|
||||
|
||||
source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
[[ $- != *i* ]] && return
|
||||
|
||||
source <(fzf --zsh)
|
||||
source <(tea completion zsh)
|
||||
|
||||
#PS1='[\u@\h \W]\$ '
|
||||
#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
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
-20
@@ -1,20 +0,0 @@
|
||||
[user]
|
||||
email = erikneller@gmx.de
|
||||
name = eneller
|
||||
[alias]
|
||||
diff-words = diff --color-words='[^[:space:]]|([[:alnum:]]|UTF_8_GUARD)+'
|
||||
st = status
|
||||
cm = commit
|
||||
# TODO use git-delta
|
||||
# the following aliases are defined as bash scripts, only here for completion
|
||||
home = "!git-home"
|
||||
root = "!git-root"
|
||||
ignore = "!git-ignore"
|
||||
[color]
|
||||
ui = auto
|
||||
[branch]
|
||||
sort = -committerdate
|
||||
[init]
|
||||
defaultBranch = main
|
||||
[fetch]
|
||||
prune = true
|
||||
Executable
+85
@@ -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
|
||||
|
||||
Executable
+69
@@ -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
|
||||
|
||||
Executable
+125
@@ -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
|
||||
|
||||
Executable
+46
@@ -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
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# git script that will return the path of the current git project.
|
||||
# can be used to execute commands in the directory as well.
|
||||
# uses git >= 2.13 --show-superproject-working-tree
|
||||
path=$(git rev-parse --show-toplevel);
|
||||
[[ $? -ne 0 ]] && exit $?
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "$path";
|
||||
else
|
||||
cd $path && eval "$@";
|
||||
fi
|
||||
@@ -1,122 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
GIT_DIR=$(git rev-parse --git-dir 2>/dev/null)
|
||||
|
||||
function show_contents {
|
||||
local file="${2/#~/$HOME}"
|
||||
if [ -f "$file" ]; then
|
||||
echo "$1 gitignore: $2" && cat "$file"
|
||||
else
|
||||
echo "There is no $1 .gitignore yet"
|
||||
fi
|
||||
}
|
||||
|
||||
function cd_to_git_root {
|
||||
local error_level="$1"
|
||||
|
||||
if ! git rev-parse --git-dir &>/dev/null; then
|
||||
if [ "$error_level" = '--warn' ]; then
|
||||
echo "Warning: Not currently in a Git repository" >&2
|
||||
elif [ "$error_level" = '--error' ]; then
|
||||
echo "Error: Not currently in a Git repository" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
local result=
|
||||
if result=$(git rev-parse --show-toplevel 2>/dev/null); then
|
||||
cd "$result" || exit
|
||||
fi
|
||||
}
|
||||
|
||||
function global_ignore() {
|
||||
if ! git config --global core.excludesFile 2>/dev/null; then
|
||||
if [ -f "$HOME/.gitignore" ]; then
|
||||
echo "$HOME/.gitignore"
|
||||
else
|
||||
echo "${XDG_CONFIG_HOME:-$HOME/.config}/git/ignore"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function show_global {
|
||||
show_contents Global "$(global_ignore)"
|
||||
}
|
||||
|
||||
function add_global {
|
||||
local global_gitignore
|
||||
global_gitignore="$(global_ignore)"
|
||||
if [ -z "$global_gitignore" ]; then
|
||||
echo "Can't find global .gitignore."
|
||||
echo ""
|
||||
echo "Use 'git config --global --add core.excludesfile ~/.gitignore-global' to set the path to your global gitignore file to '~/.gitignore-global'."
|
||||
echo ""
|
||||
else
|
||||
add_patterns "$global_gitignore" "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
function show_local {
|
||||
cd_to_git_root --warn
|
||||
show_contents Local .gitignore
|
||||
}
|
||||
|
||||
function add_local {
|
||||
cd_to_git_root --warn
|
||||
add_patterns .gitignore "$@"
|
||||
}
|
||||
|
||||
function show_private {
|
||||
cd_to_git_root --error
|
||||
show_contents Private "${GIT_DIR}/info/exclude"
|
||||
}
|
||||
|
||||
function add_private {
|
||||
cd_to_git_root --error
|
||||
test -d "${GIT_DIR}/info" || mkdir -p "${GIT_DIR}/info"
|
||||
add_patterns "${GIT_DIR}/info/exclude" "$@"
|
||||
}
|
||||
|
||||
function add_patterns {
|
||||
echo "Adding pattern(s) to: $1"
|
||||
local file="${1/#~/$HOME}"
|
||||
dir_name=$(dirname "$file")
|
||||
if [ ! -d "$dir_name" ]; then
|
||||
mkdir -p "$dir_name"
|
||||
fi
|
||||
if [ -s "$file" ]; then
|
||||
# If the content of $file doesn't end with a newline, add one
|
||||
test "$(tail -c 1 "$file")" != "" && echo "" >> "$file"
|
||||
fi
|
||||
for pattern in "${@:2}"; do
|
||||
echo "... adding '$pattern'"
|
||||
(test -f "$file" && test "$pattern" && grep -q -F -x -- "$pattern" "$file") || echo "$pattern" >> "$file"
|
||||
done
|
||||
}
|
||||
|
||||
if test $# -eq 0; then
|
||||
show_global
|
||||
echo "---------------------------------"
|
||||
show_local
|
||||
echo "---------------------------------"
|
||||
show_private
|
||||
else
|
||||
case "$1" in
|
||||
-l|--local)
|
||||
test $# -gt 1 && add_local "${@:2}" && echo
|
||||
show_local
|
||||
;;
|
||||
-g|--global)
|
||||
test $# -gt 1 && add_global "${@:2}" && echo
|
||||
show_global
|
||||
;;
|
||||
-p|--private)
|
||||
test $# -gt 1 && add_private "${@:2}" && echo
|
||||
show_private
|
||||
;;
|
||||
*)
|
||||
add_local "$@"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# git script that will return the root path of a git project, even if currently in a submodule.
|
||||
# can be used to execute commands in the root directory as well.
|
||||
# uses git >= 2.13 --show-superproject-working-tree
|
||||
path=$(git rev-parse --show-superproject-working-tree)
|
||||
[[ $? -ne 0 ]] && exit $?
|
||||
if [ -z "$path" ]; then
|
||||
path=$(git rev-parse --show-toplevel);
|
||||
fi
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "$path";
|
||||
else
|
||||
cd $path && eval "$@";
|
||||
fi
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -1,31 +0,0 @@
|
||||
/*The following block hides the horizontal tabs for tree style tabs https://github.com/piroor/treestyletab/wiki/Code-snippets-for-custom-style-rules#for-userchromecss
|
||||
* enable 'toolkit.legacyUserProfileCustomizations.stylesheets' in 'about:config' for this to work*/
|
||||
|
||||
#main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar > .toolbar-items {
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
#main-window:not([tabsintitlebar="true"]) #TabsToolbar {
|
||||
visibility: collapse !important;
|
||||
}
|
||||
|
||||
/*remove top white line
|
||||
#main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar .titlebar-spacer {
|
||||
border-inline-end: none;
|
||||
}*/
|
||||
/*Hide the Tree style Tab header*/
|
||||
#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*The following moves the window buttons to the lower bar after removeing horizontal tabs
|
||||
Adding empty space for buttons */
|
||||
/*#nav-bar {
|
||||
margin-right:140px;
|
||||
}*/
|
||||
|
||||
/* Fix for main menu calling by Alt button */
|
||||
/*#titlebar{display: none}*/
|
||||
#titlebar > #toolbar-menubar {
|
||||
margin-top: 10px;
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
// firefox user.js configuration inspired by https://github.com/pyllyukko/user.js/ , https://github.com/arkenfox/user.js/
|
||||
// PREF: cycle tabs by recently used
|
||||
user_pref("browser.ctrlTab.sortByRecentlyUsed", true);
|
||||
// PREF: Display a notification bar when websites offer data for offline use
|
||||
// http://kb.mozillazine.org/Browser.offline-apps.notify
|
||||
user_pref("browser.offline-apps.notify", true);
|
||||
// PREF: Do not check if Firefox is the default browser
|
||||
user_pref("browser.shell.checkDefaultBrowser", false);
|
||||
// PREF: Disable the "new tab page" feature and show a blank tab instead
|
||||
// https://wiki.mozilla.org/Privacy/Reviews/New_Tab
|
||||
// https://support.mozilla.org/en-US/kb/new-tab-page-show-hide-and-customize-top-sites#w_how-do-i-turn-the-new-tab-page-off
|
||||
user_pref("browser.newtabpage.enabled", false);
|
||||
user_pref("browser.newtab.url", "web.neller.org/dashboard");
|
||||
// PREF: DNS over HTTPS
|
||||
user_pref("network.trr.mode", 2);
|
||||
user_pref("network.trr.uri", "https://mozilla.cloudflare-dns.com/dns-query");
|
||||
// PREF: disable Ctrl + Q shortcut to close all tabs
|
||||
user_pref("browser.quitShortcut.disabled", true);
|
||||
// PREF: dont hide address bar and toolbars in fullscreen mode
|
||||
user.pref("browser.fullscreen.autohide", false);
|
||||
// PREF: dont save login information
|
||||
user_pref("signon.rememberSignons", false);
|
||||
// PREF: enable userChrome.css for visual adjustments
|
||||
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
||||
// PREF: dont show sponsored suggestions
|
||||
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
|
||||
user_pref("browser.urlbar.suggest.topsites", false)
|
||||
user_pref("browser.urlbar.groupLabels.enabled", false);
|
||||
user_pref("browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts", false );
|
||||
user_pref("browser.partnerlink.campaign.topsites","");
|
||||
// PREF: dont open suggestions at all when entering URL Bar
|
||||
user_pref("browser.urlbar.suggest.topsites", false);
|
||||
// PREF: disable firefox pocket
|
||||
user_pref("extensions.pocket.enabled", false);
|
||||
user_pref("browser.tabs.inTitlebar", true);
|
||||
@@ -1,153 +0,0 @@
|
||||
#
|
||||
# Example of a user's .screenrc file
|
||||
#
|
||||
|
||||
# This is how one can set a reattach password:
|
||||
# password ODSJQf.4IJN7E # "1234"
|
||||
|
||||
# no annoying audible bell, please
|
||||
vbell on
|
||||
|
||||
# detach on hangup
|
||||
autodetach on
|
||||
|
||||
# don't display the copyright page
|
||||
startup_message off
|
||||
|
||||
# emulate .logout message
|
||||
pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
|
||||
|
||||
# advertise hardstatus support to $TERMCAP
|
||||
# termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'
|
||||
|
||||
# make the shell in every window a login shell
|
||||
#shell -$SHELL
|
||||
|
||||
# autoaka testing
|
||||
# shellaka '> |tcsh'
|
||||
# shellaka '$ |sh'
|
||||
|
||||
# set every new windows hardstatus line to somenthing descriptive
|
||||
# defhstatus "screen: ^En (^Et)"
|
||||
|
||||
defscrollback 1000
|
||||
|
||||
# don't kill window after the process died
|
||||
# zombie "^["
|
||||
|
||||
# enable support for the "alternate screen" capability in all windows
|
||||
# altscreen on
|
||||
|
||||
################
|
||||
#
|
||||
# xterm tweaks
|
||||
#
|
||||
|
||||
#xterm understands both im/ic and doesn't have a status line.
|
||||
#Note: Do not specify im and ic in the real termcap/info file as
|
||||
#some programs (e.g. vi) will not work anymore.
|
||||
termcap xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
|
||||
terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
|
||||
|
||||
#80/132 column switching must be enabled for ^AW to work
|
||||
#change init sequence to not switch width
|
||||
termcapinfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
|
||||
|
||||
# Make the output buffer large for (fast) xterms.
|
||||
#termcapinfo xterm* OL=10000
|
||||
termcapinfo xterm* OL=100
|
||||
|
||||
# tell screen that xterm can switch to dark background and has function
|
||||
# keys.
|
||||
termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
|
||||
termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
|
||||
termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
|
||||
|
||||
# special xterm hardstatus: use the window title.
|
||||
termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
|
||||
|
||||
#terminfo xterm 'vb=\E[?5h$<200/>\E[?5l'
|
||||
termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'
|
||||
|
||||
# emulate part of the 'K' charset
|
||||
termcapinfo xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337'
|
||||
|
||||
# xterm-52 tweaks:
|
||||
# - uses background color for delete operations
|
||||
termcapinfo xterm* be
|
||||
|
||||
################
|
||||
#
|
||||
# wyse terminals
|
||||
#
|
||||
|
||||
#wyse-75-42 must have flow control (xo = "terminal uses xon/xoff")
|
||||
#essential to have it here, as this is a slow terminal.
|
||||
termcapinfo wy75-42 xo:hs@
|
||||
|
||||
# New termcap sequences for cursor application mode.
|
||||
termcapinfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J
|
||||
|
||||
################
|
||||
#
|
||||
# other terminals
|
||||
#
|
||||
|
||||
# make hp700 termcap/info better
|
||||
termcapinfo hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@'
|
||||
|
||||
# Extend the vt100 desciption by some sequences.
|
||||
termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
|
||||
terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC
|
||||
termcapinfo linux C8
|
||||
# old rxvt versions also need this
|
||||
# termcapinfo rxvt C8
|
||||
|
||||
|
||||
################
|
||||
#
|
||||
# keybindings
|
||||
#
|
||||
|
||||
#remove some stupid / dangerous key bindings
|
||||
bind k
|
||||
bind ^k
|
||||
bind .
|
||||
bind ^\
|
||||
bind \\
|
||||
bind ^h
|
||||
bind h
|
||||
#make them better
|
||||
bind 'K' kill
|
||||
bind 'I' login on
|
||||
bind 'O' login off
|
||||
bind '}' history
|
||||
|
||||
# Yet another hack:
|
||||
# Prepend/append register [/] to the paste if ^a^] is pressed.
|
||||
# This lets me have autoindent mode in vi.
|
||||
register [ "\033:se noai\015a"
|
||||
register ] "\033:se ai\015a"
|
||||
bind ^] paste [.]
|
||||
|
||||
################
|
||||
#
|
||||
# default windows
|
||||
#
|
||||
|
||||
# screen -t local 0
|
||||
# screen -t mail 1 mutt
|
||||
# screen -t 40 2 rlogin server
|
||||
|
||||
# caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
|
||||
# hardstatus alwaysignore
|
||||
# hardstatus alwayslastline "%Lw"
|
||||
|
||||
# bind = resize =
|
||||
# bind + resize +1
|
||||
# bind - resize -1
|
||||
# bind _ resize max
|
||||
#
|
||||
# defnonblock 1
|
||||
# blankerprg rain -d 100
|
||||
# idle 30 blanker
|
||||
Reference in new issue
Block a user