Compare commits

..

2 Commits

Author SHA1 Message Date
df88af735d Working on hyprland stuff 2024-08-27 18:32:33 -05:00
9783051217 Duplicate sericea configs into hyprland 2024-08-27 13:39:37 -05:00
23 changed files with 1703 additions and 0 deletions

View File

@ -0,0 +1,66 @@
# vim: set ft=cfg:
[global]
## BEHAVIOR
follow = mouse # Notifications follow the monitor with the mouse
format = "<span font='Bold'>%s</span> <span font='Light'>(%a)</span>\n%b"
hide_duplicate_count = false # Hide count of stacked notifs
ignore_newline = false # Ignore \n (for some reason)
indicate_hidden = true # Show how many messages are currently hidden
idle_threshold = 120 # Time in seconds before user is considered idle
markup = full # Whether to disable markup features (see manpage)
show_age_threshold = 60 # Shows age if message is older than this (in sec)
show_indicators = true # Show hints for interactable notifs
sort = true # Sort messages by urgency.
stack_duplicates = true
timeout = 10 # Time in seconds before the thing fades
## MISC CONFIGURATION
always_run_script = true # Runs scripts for rules even if they're hidden
browser = xdg-open
dmenu = /usr/bin/rofi -dmenu -p dunst:
## WINDOW CONFIGURATION
title = Dunst
class = Dunst
## HISTORY
sticky_history = yes # Notifs pulled from history stay onscreen
history_length = 20 # Buffer size
## LOOKS
# COLORS
# Note that rules defined later on can and will override these
# All colors must be quoted so as to not misinterpret as comments
background= "#fbf1c7" # Background of the notification
frame_color = "#f2e5bc"
separator_color = frame
foreground = "#3c3836" # Font color, for body and title
highlight = "#b8bb26" # Progress bars
# SIZE AND POSITIONING
width = 400
height = 300
offset = 8x8 # This takes into account any bars
corner_radius = 0
transparency = 0
# PROGRESS BAR
progress_bar = true
progress_bar_horizontal_alignment = left
progress_bar_frame_width = 2
progress_bar_height = 8
# INTERIOR FORMATTING
frame_width = 6 # Defines width in pixels of frame
horizontal_padding = 12 # Horizontal padding.
padding = 12 # Padding between text and separator.
separator_height = 4
# TEXT
alignment = left
font = IBM Plex Sans 10
line_height = 0
word_wrap = yes
# ICONS
icon_path = /usr/share/icons/Papirus-Light/48x48/status/:/usr/share/icons/Papirus-Light/48x48/devices/:/usr/share/icons/Papirus-Light/48x48/apps
icon_position = right
max_icon_size = 48
[urgency_critical]
foreground = "#fb4934"

View File

@ -0,0 +1,321 @@
[global]
### Display ###
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = mouse
# The geometry of the window:
# [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window.
# The height is measured in number of notifications everything else
# in pixels. If the width is omitted but the height is given
# ("-geometry x2"), the message window expands over the whole screen
# (dmenu-like). If width is 0, the window expands to the longest
# message displayed. A positive x is measured from the left, a
# negative from the right side of the screen. Y is measured from
# the top and down respectively.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "500x8-6+50"
corner_radius = 0
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = no
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 0
# The height of the entire notification. If the height is smaller
# than the font height and padding combined, it will be raised
# to the font height and padding.
notification_height = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 4
# Padding between text and separator.
padding = 12
# Horizontal padding.
horizontal_padding = 12
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 4
# Defines color of the frame around the notification window.
frame_color = "#32302f"
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Sort messages by urgency.
sort = yes
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
idle_threshold = 120
### Text ###
#font = Monospace 8
font = Roboto 10
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# Markup is allowed
format = "<span font='Bold'>%s</span> <span font='Light'>(%a)</span>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Merge multiple notifications with the same content
stack_duplicates = true
# Hide the count of merged notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
### Icons ###
# Align icons left/right/off
icon_position = right
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 48
# Paths to default icons.
icon_path = /usr/share/icons/Papirus-Dark/48x48/status/:/usr/share/icons/Papirus-Dark/48x48/devices/:/usr/share/icons/Papirus-Dark/48x48/apps
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/rofi -dmenu -p dunst:
# Browser for opening urls in context menu.
browser = xdg-open
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
[shortcuts]
# Shortcuts are specified as [modifier+][modifier+]...key
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
# Close notification.
close = mod1+shift+space
# Close all notifications.
close_all = mod1+shift+enter
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1". Make sure this key actually exists on your keyboard layout,
# e.g. check output of 'xmodmap -pke'
history = mod1+shift+d
# Context menu.
context = mod1+shift+o
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#282828"
foreground = "#ebdbb2"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#282828"
foreground = "#ebdbb2"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#282828"
foreground = "#fabd2f"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
# Messages can be matched by "appname", "summary", "body", "icon", "category",
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
# "background", "new_icon" and "format".
# Shell-like globbing will get expanded.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
# vim: ft=cfg

View File

@ -0,0 +1,200 @@
# -*- conf -*-
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
term=xterm-256color
# login-shell=no
# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode
# title=foot
# locked-title=no
# font=monospace:size=8
font=IBM Plex Mono:size=9
# font-bold=<bold variant of regular font>
# font-italic=<italic variant of regular font>
# font-bold-italic=<bold+italic variant of regular font>
# font-size-adjustment=0.5
# line-height=<font metrics>
# letter-spacing=0
# horizontal-letter-offset=0
# vertical-letter-offset=0
# underline-offset=<font metrics>
# underline-thickness=<font underline thickness>
# box-drawings-uses-font-glyphs=no
# dpi-aware=no
# initial-window-size-pixels=700x500 # Or,
# initial-window-size-chars=<COLSxROWS>
# initial-window-mode=windowed
# pad=0x0 # optionally append 'center'
# resize-delay-ms=100
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
# bold-text-in-bright=no
# word-delimiters=,│`|:"'()[]{}<>
# selection-target=primary
# workers=<number of logical CPUs>
# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is libutempter (Linux)
# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ulog (FreeBSD)
[environment]
# name=value
[bell]
# urgent=no
# notify=no
# command=
# command-focused=no
[scrollback]
# lines=1000
# multiplier=3.0
# indicator-position=relative
# indicator-format=""
[url]
# launch=xdg-open ${url}
# label-letters=sadfjklewcmpgh
# osc8-underline=url-mode
# protocols=http, https, ftp, ftps, file, gemini, gopher
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
[cursor]
# style=block
# color=<inverse foreground/background>
# blink=no
# beam-thickness=1.5
# underline-thickness=<font underline thickness>
[mouse]
# hide-when-typing=no
# alternate-scroll-mode=yes
[touch]
# long-press-delay=400
[colors]
background=282828
foreground=ebdbb2
regular0=282828
regular1=cc241d
regular2=98971a
regular3=d79921
regular4=458588
regular5=b16286
regular6=689d6a
regular7=a89984
bright0=928374
bright1=fb4934
bright2=b8bb26
bright3=fabd2f
bright4=83a598
bright5=d3869b
bright6=8ec07c
bright7=ebdbb2
## dimmed colors (see foot.ini(5) man page)
# dim0=<not set>
# ...
# dim7=<not-set>
## The remaining 256-color palette
# 16 = <256-color palette #16>
# ...
# 255 = <256-color palette #255>
## Misc colors
# selection-foreground=<inverse foreground/background>
# selection-background=<inverse foreground/background>
# jump-labels=<regular0> <regular3> # black-on-yellow
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
# search-box-no-match=<regular0> <regular1> # black-on-red
# search-box-match=<regular0> <regular3> # black-on-yellow
# urls=<regular3>
[csd]
# preferred=server
# size=26
# font=<primary font>
# color=<foreground color>
# hide-when-maximized=no
# double-click-to-maximize=yes
# border-width=0
# border-color=<csd.color>
# button-width=26
# button-color=<background color>
# button-minimize-color=<regular4>
# button-maximize-color=<regular2>
# button-close-color=<regular1>
[key-bindings]
# scrollback-up-page=Shift+Page_Up
# scrollback-up-half-page=none
# scrollback-up-line=none
# scrollback-down-page=Shift+Page_Down
# scrollback-down-half-page=none
# scrollback-down-line=none
# clipboard-copy=Control+Shift+c XF86Copy
# clipboard-paste=Control+Shift+v XF86Paste
# primary-paste=Shift+Insert
# search-start=Control+Shift+r
# font-increase=Control+plus Control+equal Control+KP_Add
# font-decrease=Control+minus Control+KP_Subtract
# font-reset=Control+0 Control+KP_0
# spawn-terminal=Control+Shift+n
# minimize=none
# maximize=none
# fullscreen=none
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-selected=[xargs -r firefox] none
# show-urls-launch=Control+Shift+o
# show-urls-copy=none
# show-urls-persistent=none
# prompt-prev=Control+Shift+z
# prompt-next=Control+Shift+x
# unicode-input=Control+Shift+u
# noop=none
[search-bindings]
# cancel=Control+g Control+c Escape
# commit=Return
# find-prev=Control+r
# find-next=Control+s
# cursor-left=Left Control+b
# cursor-left-word=Control+Left Mod1+b
# cursor-right=Right Control+f
# cursor-right-word=Control+Right Mod1+f
# cursor-home=Home Control+a
# cursor-end=End Control+e
# delete-prev=BackSpace
# delete-prev-word=Mod1+BackSpace Control+BackSpace
# delete-next=Delete
# delete-next-word=Mod1+d Control+Delete
# extend-to-word-boundary=Control+w
# extend-to-next-whitespace=Control+Shift+w
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
# primary-paste=Shift+Insert
# unicode-input=none
[url-bindings]
# cancel=Control+g Control+c Control+d Escape
# toggle-url-visible=t
[text-bindings]
# \x03=Mod4+c # Map Super+c -> Ctrl+c
[mouse-bindings]
# selection-override-modifiers=Shift
# primary-paste=BTN_MIDDLE
# select-begin=BTN_LEFT
# select-begin-block=Control+BTN_LEFT
# select-extend=BTN_RIGHT
# select-extend-character-wise=Control+BTN_RIGHT
# select-word=BTN_LEFT-2
# select-word-whitespace=Control+BTN_LEFT-2
# select-row=BTN_LEFT-3
# vim: ft=dosini

View File

@ -0,0 +1,195 @@
# vim: set ft=config:
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1,preferred,auto,1.333333
monitor=,preferred,auto,auto
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Set programs that you use
$terminal = kitty
# Some default env vars.
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = no
}
sensitivity = 0 # -1.0 to 1.0, 0 means no modification.
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 5
gaps_out = 20
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 10
blur {
enabled = true
size = 3
passes = 1
}
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animations {
enabled = yes
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = off
}
misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
name = epic-mouse-v1
sensitivity = -0.5
}
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = ALT
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
# Program opening and closing
bind = $mainMod, Return, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod, Space, exec, wofi --show drun
#bind = $mainMod, M, exit,
bind = $mainMod, T, pseudo, # dwindle
bind = $mainMod, F, togglefloating,
bind = $mainMod Shift, F, fullscreen
bind = $mainMod, R, togglesplit, # dwindle
# Dunst management
bind = $mainMod Shift, Space, exec, dunstctl close
bind = $mainMod Shift, Return, exec, dunstctl close-all
bind = $mainMod Shift, D, exec, dunstctl history-pop
bind = $mainMod Shift, O, exec, dunstctl context
# Pulse controls
bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume 0 +5%
bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume 0 -5%
# Screenshots
bind = $mainMod, O, exec, grim -g "$(slurp -d)" - | wl-copy
# pavucontrol controls
bind = $mainMod, P, exec, pgrep pavucontrol || pavucontrol
bind = $mainMod Shift, P, exec, pkill pavucontrol
# Change focus
bind = $mainMod, h, movefocus, l
bind = $mainMod, j, movefocus, d
bind = $mainMod, k, movefocus, u
bind = $mainMod, l, movefocus, r
# Move the focused window around
bind = $mainMod Shift, h, movewindow, l
bind = $mainMod Shift, j, movewindow, d
bind = $mainMod Shift, k, movewindow, u
bind = $mainMod Shift, l, movewindow, r
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

View File

@ -0,0 +1,129 @@
/*
* config.rasi
* Copyright (C) 2020 Vintage Salt <rehashedsalt@cock.li>
*
* Distributed under terms of the MIT License
*
* See rofi-theme(5) for documentation
*/
configuration {
matching: "normal";
show-icons: true;
icon-theme: "Papirus-Gruvbox-Dark";
modi: "drun,ssh,window";
}
* {
background: #282828;
background-alt: #32302f;
foreground: #ebdbb2;
foreground-alt: #fb4934;
yellow: #fabd2f;
blue: #83a598;
cyan: #8ec07c;
text-color: @foreground;
background-color: @background;
font: "IBM Plex Sans 10";
}
#window {
location: southwest;
anchor: southwest;
border-color: @background-alt;
background-color: @background;
border: 4px 4px 0 0;
height: 60%;
width: 30%;
padding: 0em;
}
#inputbar {
background-color: @background-alt;
padding: 0.5em;
}
#case-indicator {
enabled: false;
}
#prompt {
enabled: false;
}
#textbox-prompt-colon {
enabled: false;
}
#entry {
background-color: inherit;
font: "IBM Plex Sans 12";
padding: 0.5em;
}
#num-filtered-rows {
background-color: inherit;
font: "IBM Plex Sans 12";
padding: 0.5em;
}
#textbox-num-sep {
background-color: inherit;
font: "IBM Plex Sans 12";
padding: 0.5em 0em;
}
#num-rows {
background-color: inherit;
font: "IBM Plex Sans 12";
padding: 0.5em;
}
#message {
padding: 4px;
}
#textbox {
padding: 4px 12px 4px 12px;
font-color: @foreground-alt;
}
#listview {
padding: 0.5em;
border: none;
}
#scrollbar {
handle-color: @background-alt;
enabled: false;
}
#element {
padding: 0.5em;
}
#element alternate.normal {
background-color: @background;
}
#element normal active {
text-color: @cyan;
}
#element normal urgent {
text-color: @yellow;
}
#element selected normal {
background-color: @blue;
text-color: @background;
}
#element selected active {
background-color: @cyan;
text-color: @background;
}
#element selected urgent {
background-color: @yellow;
text-color: @background;
}
#sidebar {
}
#button {
padding: 8px;
}
#button selected {
background-color: @background-alt;
}
/* vim:ft=css
*/

View File

@ -0,0 +1,21 @@
#
# Salt's Sway configuration file
#
# NOTE
# Any further configuration that isn't just declaring a global should be
# done via the creation of a file in config.d.
#
# Note that you can also override system-provided configs by making an
# identically-named file in config.d
#
## CONFIGS
set $term foot
# Set modifiers
set $mod Mod1
set $sup Mod4
set $ctl Ctrl
set $shift Shift
include '$(/usr/libexec/sway/layered-include "/usr/share/sway/config.d/*.conf" "/etc/sway/config.d/*.conf" "${XDG_CONFIG_HOME:-$HOME/.config}/sway/config.d/*.conf")'
include "${XDG_CONFIG_HOME:-$HOME/.config}/sway/machine.d/$HOSTNAME.conf"

View File

@ -0,0 +1,91 @@
# vim: set ft=swayconfig:
#
# This file holds keybinds for all of swaywm
#
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# Program opening and closing
bindsym $mod+Return exec "$term"
bindsym $mod+q kill
bindsym $mod+space exec "rofi -show drun"
bindsym $mod+backslash exec "rofi -show ssh"
bindsym $mod+Tab exec "rofi -show window"
# Dunst management
bindsym $mod+$shift+space exec dunstctl close
bindsym $mod+$shift+Return exec dunstctl close-all
bindsym $mod+$shift+d exec dunstctl history-pop
bindsym $mod+$shift+o exec dunstctl context
# Pulse controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
# Screenshots
bindsym $mod+o exec grim -g "$(slurp -d)" - | wl-copy
# Brightness controls
#bindsym XF86MonBrightnessUp exec xbacklight -inc 5 # increase screen brightness
#bindsym XF86MonBrightnessDown exec xbacklight -dec 5 # decrease screen brightness
# pavucontrol controls
bindsym $mod+p exec --no-startup-id "pgrep pavucontrol || pavucontrol"
bindsym $mod+$shift+p exec --no-startup-id "pkill pavucontrol"
# Miscellaneous non-movement hotkeys
bindsym $ctl+$mod+l exec --no-startup-id "loginctl lock-session"
bindsym $mod+$shift+c reload
# Change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# Move the focused window around
bindsym $mod+$shift+h move left
bindsym $mod+$shift+j move down
bindsym $mod+$shift+k move up
bindsym $mod+$shift+l move right
# Move the focused workspace between monitors
# Disabled here because I like having workspaces allocated to certain outputs
#bindsym $sup+h move workspace to output left
#bindsym $sup+j move workspace to output down
#bindsym $sup+k move workspace to output up
#bindsym $sup+l move workspace to output right
# Configure the split of this container
bindsym $mod+semicolon split h
bindsym $mod+v split v
# Toggle floating
bindsym $mod+f floating toggle
# Fullscreen
bindsym $mod+$shift+f fullscreen toggle
# Change the layout of this container
# Disabled because I just fatfinger these, they're never useful in my workflow
#bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Focus the parent container. Lets you move groups at a time
bindsym $mod+a focus parent
# Focus the child container
bindsym $mod+d focus child
# Switch between workspaces
bindsym $mod+1 workspace $w1
bindsym $mod+2 workspace $w2
bindsym $mod+3 workspace $w3
bindsym $mod+4 workspace $w4
bindsym $mod+5 workspace $w5
bindsym $mod+6 workspace $w6
bindsym $mod+7 workspace $w7
bindsym $mod+8 workspace $w8
bindsym $mod+9 workspace $w9
bindsym $mod+0 workspace $w10
bindsym $mod+minus workspace $w11
bindsym $mod+period workspace next
bindsym $mod+comma workspace prev
# Move the focused container to a specific workspace
bindsym $mod+$shift+1 move container to workspace $w1
bindsym $mod+$shift+2 move container to workspace $w2
bindsym $mod+$shift+3 move container to workspace $w3
bindsym $mod+$shift+4 move container to workspace $w4
bindsym $mod+$shift+5 move container to workspace $w5
bindsym $mod+$shift+6 move container to workspace $w6
bindsym $mod+$shift+7 move container to workspace $w7
bindsym $mod+$shift+8 move container to workspace $w8
bindsym $mod+$shift+9 move container to workspace $w9
bindsym $mod+$shift+0 move container to workspace $w10
bindsym $mod+$shift+minus move container to workspace $w11

View File

@ -0,0 +1,22 @@
# vim: set ft=swayconfig:
#
# This file stores global confguration for input devices
#
# Mice
#input "type:pointer" {
# accel_profile flat # Disables mouse acceleration
# pointer_accel 0.000 # Set a sens that I like
#}
input "type:touchpad" {
drag enabled
dwt disabled
tap enabled
tap_button_map lrm
}
# Keyboards
input "type:keyboard" {
xkb_capslock disabled
xkb_numlock enabled
}

View File

@ -0,0 +1,38 @@
# vim: set ft=swayconfig:
#
# This file controls all theming within swaywm, including colors, gaps,
# borders, fonts, etc.
#
# Right now we're staring at a nice gruvbox theme
#
font pango:IBM Plex Sans 12
default_border pixel 4
titlebar_border_thickness 4
focus_on_window_activation none
gaps inner 8
set $red #fb4934
set $green #b8bb26
set $yellow #fabd2f
set $blue #83a598
set $magenta #de869b
set $cyan #8ec07c
set $white #ebdbb2
set $black #282828
set $gray #32302f
# See sway(5) for details on these
# Border color of the view itself v
# Indicator color (like for v/h split) v
# Titlebar text color v
# Titlebar backgrouond color v
# Titlebar border color v
# <colorclass> <brd> <bg> <text> <ind> <chld>
# The currently focused window
client.focused $blue $blue $black $gray $blue
# The most recently focused view in an unfocused container
client.focused_inactive $gray $black $white $gray $gray
# Any other unfocused views
client.unfocused $gray $gray $white $gray $gray
# Any view with an urgency hint
client.urgent $yellow $black $white $gray $yellow

View File

@ -0,0 +1,24 @@
# vim: set ft=swayconfig:
#
# This file stores "modes" for sway, such as for resizing
#
# Resize
bindsym $mod+r mode "resize"
mode "resize" {
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}

View File

@ -0,0 +1,5 @@
# vim: set ft=swayconfig:
# Wallpaper
#output * bg ~/Pictures/Wallpapers/.current fill
output * bg ~/Pictures/Wallpapers/.current center #282828

View File

@ -0,0 +1,60 @@
# vim: set ft=swayconfig:
#
# This file allocates rules for organizing windows
#
## WORKSPACES
set $w1 1
set $w2 2
set $w3 3
set $w4 4
set $w5 5
set $w6 6
set $w7 7
set $w8 8
set $w9 9
set $w10 10
set $w11 11
# General rules of thought:
# * The primary monitor will contain workspaces 1-7
# * Secondary monitors will get workspaces 8-10
# * Important apps go on primary, unimportant ones that are likely to be side-
# content, event-driven, and distractive can go on the secondary
# * Laptops get all 10 on one monitor, but shunting unimportant junk to the
# back workspaces yields a better workflow regardless
# * No rules are set in stone and the user can totally just move stuff around
# with reckless abandon
for_window {
# Workspace 1 should always be the web browser
[app_id="org.mozilla.firefox"] move container to workspace $w1
# Workspace 2 should contain Steam, if we intend to launch a game this session
#[app_id="com.valvesoftware.Steam"] move container to workspace $w2
# Workspace 8 contains Thunderbird and Keepass
[app_id="org.keepassxc.KeePassXC"] move container to workspace $w8
[app_id="org.mozilla.Thunderbird"] move container to workspace $w8
[class="thunderbird"] move container to workspace $w8
# Workspace 9 should be communications platforms
[app_id="com.dev.vencord.Vesktop"] move container to workspace $w9
[app_id="com.dev.vencord.Vesktop"] inhibit_idle visible
[app_id="vesktop"] move container to workspace $w9
[app_id="vesktop"] inhibit_idle visible
[app_id="com.discordapp.Discord"] move container to workspace $w9
[app_id="com.discordapp.Discord"] inhibit_idle visible
[app_id="im.riot.Riot"] move container to workspace $w9
[app_id="im.riot.Riot"] inhibit_idle visible
# And Workspace 10 should contain misc. long-running programs
[class="Spotify"] move container to workspace $w10
[app_id="spotube"] move container to workspace $w10
[class="nuclear"] move container to workspace $w10
}
# These rules are app-specific but for any workspace
for_window {
[class="steam_app_2291060"] fullscreen
}

View File

@ -0,0 +1,15 @@
# vim: set ft=swayconfig:
#
# Idle and lock configuration
#
exec LT="900" && \
swayidle -w \
timeout $LT \
'swaylock -f' \
before-sleep \
'swaylock -f' \
lock \
'swaylock -f' \
unlock \
'pkill -xu "$USER" -SIGUSR1 swaylock'

View File

@ -0,0 +1,11 @@
# vim: set ft=swayconfig:
#
# wlsunset is more or less redshift. It reddens the screen as the day draws
# to a close.
#
# For customization, see wlsunset(1)
#
exec wlsunset \
-T 5300 \
-t 3500 \
-g 1

View File

@ -0,0 +1,2 @@
# vim: set ft=swayconfig:

View File

@ -0,0 +1,2 @@
#!/bin/sh
SWAY_EXTRA_ARGS="-D noscanout"

View File

@ -0,0 +1,54 @@
# vim: set ft=swayconfig:
set $monprim "Acer Technologies XV272U 0x11122114"
set $monsec "Acer Technologies XV272U 0x0501FD67"
output $monprim {
res 2560x1440@143.998993Hz
pos 1440 937
adaptive_sync off
}
output $monsec {
res 2560x1440@143.998993Hz
pos 0 0
transform 270
adaptive_sync off
}
# Valve Index
output "Unknown Unknown Unknown" {
disable
}
input type:pointer {
accel_profile flat
pointer_accel 0.000
}
output * bg ~/Pictures/Wallpapers/1561879941868.jpg fill
## WORKSPACES
set $w1 1
set $w2 2
set $w3 3
set $w4 4
set $w5 5
set $w6 6
set $w7 7
set $w8 8
set $w9 9
set $w10 10
set $w11 11
# Workspace setup for my desktop
# Defaults to whatever on my laptop and on other machines
workspace $w1 output $monprim
workspace $w2 output $monprim
workspace $w3 output $monprim
workspace $w4 output $monprim
workspace $w5 output $monprim
workspace $w6 output $monprim
workspace $w7 output $monprim
# Putting 10 here first so it's the default for my secondary
workspace $w10 output $monsec
workspace $w8 output $monsec
workspace $w9 output $monsec
workspace $w11 output $monsec

View File

@ -0,0 +1,32 @@
# vim: set ft=swayconfig:
set $monprim "eDP-1"
output $monprim scale 1.5
output * bg ~/Pictures/Wallpapers/1561879941868.jpg fill
## WORKSPACES
set $w1 1
set $w2 2
set $w3 3
set $w4 4
set $w5 5
set $w6 6
set $w7 7
set $w8 8
set $w9 9
set $w10 10
set $w11 11
# Workspace setup for my desktop
# Defaults to whatever on my laptop and on other machines
workspace $w1 output $mon
workspace $w2 output $mon
workspace $w3 output $mon
workspace $w4 output $mon
workspace $w5 output $mon
workspace $w6 output $mon
workspace $w7 output $mon
workspace $w8 output $mon
workspace $w9 output $mon
workspace $w10 output $mon
workspace $w11 output $mon

View File

@ -0,0 +1,28 @@
# vim: set ft=swayconfig:
## WORKSPACES
set $w1 1
set $w2 2
set $w3 3
set $w4 4
set $w5 5
set $w6 6
set $w7 7
set $w8 8
set $w9 9
set $w10 10
# Workspace setup for my desktop
# Defaults to whatever on my laptop and on other machines
set $monprim DisplayPort-0
set $monsec HDMI-A-0
workspace $w1 output $monprim
workspace $w2 output $monprim
workspace $w3 output $monprim
workspace $w4 output $monprim
workspace $w5 output $monprim
workspace $w6 output $monprim
workspace $w7 output $monprim
# Putting 10 here first so it's the default for my secondary
workspace $w10 output $monsec
workspace $w8 output $monsec
workspace $w9 output $monsec

View File

@ -0,0 +1,2 @@
scaling=fill
color=000000

View File

@ -0,0 +1,121 @@
[{
"id": "top",
"name": "top",
"layer": "top",
"height": 40,
"modules-left": ["hyprland/workspaces", "sway/mode"],
"modules-center": ["hyprland/window"],
"modules-right": ["tray"],
"hyprland/workspaces": {
"all-outputs": false,
"disable-scroll": true,
"persistent-workspaces": {
"eDP-1": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
}
},
"hyprland/window": {
"format": "{}"
},
"tray": {
"icon-size": 16,
"spacing": 10
}
},
{
"id": "bottom",
"name": "bottom",
"layer": "top",
"position": "bottom",
"height": 40,
"modules-left": ["gamemode", "custom/backup", "battery", "temperature", "cpu", "memory", "network"],
"modules-center": [],
"modules-right": ["mpris", "pulseaudio", "backlight", "idle_inhibitor", "clock"],
"clock": {
"format": "{:%a %b %d %I:%M %p}",
"tooltip": false
},
"network": {
"interval": 5,
"format": " {bandwidthUpBytes}  {bandwidthDownBytes}",
"format-disconnected": ""
},
"battery": {
"states": {
"good": 100,
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": "{icon} {capacity}%",
"format-plugged": "{icon} {capacity}%",
"format-icons": ["", "", "", "", ""]
},
"backlight": {
"format": " {percent}%"
},
"idle_inhibitor": {
"format": ""
},
"gamemode": {
"format": "{glyph}",
"glyph": "",
"use-icon": false,
"icon-spacing": 0,
"icon-size": 0
},
"pulseaudio": {
"scroll-step": 5,
"format": "{icon} {volume}%",
"format-icons": {
"default": ["", "", ""]
},
"on-scroll-up": "/usr/libexec/sway/volume-helper --limit 100 --increase 5",
"on-scroll-down": "/usr/libexec/sway/volume-helper --limit 100 --decrease 5",
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle && /usr/libexec/sway/volume-helper"
},
"cpu": {
"interval": 3,
"format": " {usage}%",
"states": {
"critical": 90,
"warning": 80,
"regular": 50
}
},
"memory": {
"interval": 5,
"format": " {percentage}% <span font-size=\"7pt\">{swapPercentage}%</span>",
"states": {
"critical": 90,
"warning": 80,
"regular": 50
}
},
"temperature": {
"format": " {temperatureC}°",
"critical-threshold": 80
},
"mpris": {
"interval": 1,
"artist-len": 30,
"album-len": 30,
"title-len": 40,
"format": "{player_icon} - {dynamic}",
"ignored-players": [
"firefox"
],
"player-icons": {
"default": "♫"
},
"status-icons": {
"playing": "⏵",
"paused": "⏸",
"stopped": "⏹"
}
},
"custom/backup": {
"interval": 60,
"format": "",
"exec": "systemctl is-failed backup.service"
}
}]

View File

@ -0,0 +1,181 @@
/*
* style.css
* Copyright (C) 2021 Vintage Salt
*
* Distributed under terms of the MIT license.
*/
* {
border: none;
border-radius: 0;
font-family: "IBM Plex Sans", "Font Awesome 6 Free", sans-serif;
font-size: 13px;
}
window#waybar {
background: #282828;
}
window#waybar.top {
background: linear-gradient(0deg, rgba(40,40,40,0) 0%, rgba(40,40,40,1) 80%);
}
window#waybar.bottom {
background: linear-gradient(180deg, rgba(40,40,40,0) 0%, rgba(40,40,40,1) 80%);
}
/* swaywm stuff */
#workspaces {
}
#workspaces button {
/* Any random button */
background: transparent;
color: #a89984;
padding: 0 0.9em;
}
#workspaces button.persistent {
color: #a89984
}
#workspaces button.empty {
color: #504945
}
#workspaces button:hover {
/* A button that is currently being hovered over by the mouse cursor */
/* This comes with free transitions */
box-shadow: inherit;
text-shadow: inherit;
background-color: #504945;
}
#workspaces button.visible {
color: #282828;
background: #504945;
font-weight: bold;
}
#workspaces button.focused {
color: #282828;
background: #83a598;
font-weight: bold;
}
#workspaces button.urgent {
color: #fabd2f;
font-weight: bold;
}
#mode {
background: #fb4934;
color: #ebdbb2;
padding: 0 1em;
}
/* widgets */
#window {
color: #ebdbb2;
}
#pulseaudio {
padding: 0 1em;
color: #ebdbb2;
}
#pulseaudio.muted {
border-top: 4px solid #fb4934;
border-bottom: 4px solid #282828;
}
#tray {
padding: 0 1em;
}
#mpris {
padding: 0 1em;
}
#mpris.playing {
color: #d3869b;
}
#mpris.paused, #mpris.stopped {
color: #504945;
}
#network {
padding: 0 1em;
color: #504945;
}
#network.disconnected {
color: #fb4934;
}
#idle_inhibitor {
padding: 0 1em;
}
#idle_inhibitor.deactivated {
color: #504945;
}
#idle_inhibitor.activated {
color: #ebdbb2;
}
#backlight {
padding: 0 1em;
color: #ebdbb2;
}
#gamemode {
padding: 0 1em;
color: #504945;
}
#gamemode.running {
color: #b8bb26;
}
/* Memory */
#memory {
padding: 0 1em;
color: #504945;
}
#memory.critical {
color: #fb4934;
}
#memory.warning {
color: #fabd2f;
}
#memory.regular {
color: #ebdbb2;
}
/* CPU */
#cpu {
padding: 0 1em;
color: #504945;
}
#cpu.critical {
color: #fb4934;
}
#cpu.warning {
color: #fabd2f;
}
#cpu.regular {
color: #ebdbb2;
}
/* Battery */
#battery {
padding: 0 1em;
}
#battery.charging {
color: #b8bb26;
}
#battery.good {
color: #504945;
}
#battery.discharging.warning {
color: #fabd2f;
}
#battery.discharging.critical {
color: #fb4934;
}
#clock {
color: #ebdbb2;
padding: 0 1em;
}
/* Temperature*/
#temperature {
padding: 0 1em;
color: #504945;
}
#temperature.critical {
color: #fb4934;
}
/* Custom modules */
#custom-backup {
color: #fb4934;
padding: 0 1em;
}

View File

@ -0,0 +1,83 @@
/**
* @name midnight-gruvbox
* @description A dark, rounded discord theme. Managed by .dotfiles, packed in by stow. Original by refact0r
* @author salt
* @version 1.6.2
* @source https://github.com/refact0r/midnight-discord/blob/master/midnight.theme.css
*/
/* IMPORTANT: make sure to enable dark mode in discord settings for the theme to apply properly!!! */
@import url('https://refact0r.github.io/midnight-discord/midnight.css');
/* customize things here */
:root {
/* font, change to 'gg sans' for default discord font*/
--font: 'IBM Plex Sans';
/* top left corner text */
--corner-text: 'Midnight';
/* color of status indicators and window controls */
--online-indicator: #b8bb26; /* change to #23a55a for default green */
--dnd-indicator: #fb4934; /* change to #f13f43 for default red */
--idle-indicator: #fabd2f; /* change to #f0b232 for default yellow */
--streaming-indicator: #d3869b; /* change to #593695 for default purple */
/* accent colors */
--accent-1: #83a598; /* links */
--accent-2: #83a598; /* general unread/mention elements */
--accent-3: #83a598; /* accent buttons */
--accent-4: #458588; /* accent buttons when hovered */
--accent-5: #458588; /* accent buttons when clicked */
--mention: #3c3836; /* mentions & mention messages */
--mention-hover: #504945; /* mentions & mention messages when hovered */
/* text colors */
--text-0: #ebdbb2; /* text on colored elements */
--text-1: var(--text-2); /* other normally white text */
--text-2: #ebdbb2; /* headings and important text */
--text-3: #d5c4a1; /* normal text */
--text-4: #bdae93; /* icon buttons and channels */
--text-5: #7c6f64; /* muted channels/chats and timestamps */
/* background and dark colors */
--bg-1: #665c54; /* dark buttons when clicked */
--bg-2: #504945; /* dark buttons */
--bg-3: #32302f; /* spacing, secondary elements */
--bg-4: #282828; /* main background color */
--hover: #3c3836; /* channels and buttons when hovered */
--active: #3c3836; /* channels and buttons when clicked or selected */
--message-hover: #1d2021; /* messages when hovered */
/* amount of spacing and padding */
--spacing: 8px;
/* animations */
/* ALL ANIMATIONS CAN BE DISABLED WITH REDUCED MOTION IN DISCORD SETTINGS */
--list-item-transition: 0.2s ease; /* channels/members/settings hover transition */
--unread-bar-transition: 0.2s ease; /* unread bar moving into view transition */
--moon-spin-transition: 0.4s ease; /* moon icon spin */
--icon-spin-transition: 1s ease; /* round icon button spin (settings, emoji, etc.) */
/* corner roundness (border-radius) */
--roundness-xl: 16px; /* roundness of big panel outer corners */
--roundness-l: 14px; /* popout panels */
--roundness-m: 12px; /* smaller panels, images, embeds */
--roundness-s: 8px; /* members, settings inputs */
--roundness-xs: 4px; /* channels, buttons */
--roundness-xxs: 4px; /* searchbar, small elements */
/* direct messages moon icon */
/* change to block to show, none to hide */
--discord-icon: block; /* discord icon */
--moon-icon: none; /* moon icon */
--moon-icon-url: url('https://upload.wikimedia.org/wikipedia/commons/c/c4/Font_Awesome_5_solid_moon.svg'); /* custom icon url */
--moon-icon-size: auto;
/* filter uncolorable elements to fit theme */
/* (just set to none, they're too much work to configure) */
--login-bg-filter: saturate(0.3) hue-rotate(-15deg) brightness(0.4); /* login background artwork */
--green-to-accent-3-filter: hue-rotate(56deg) saturate(1.43); /* add friend page explore icon */
--blurple-to-accent-3-filter: hue-rotate(304deg) saturate(0.84) brightness(1.2); /* add friend page school icon */
}