First commit

This commit is contained in:
Fern Garden 2025-05-07 22:17:09 +08:00
commit b99375976e
24 changed files with 855 additions and 0 deletions

View file

@ -0,0 +1,117 @@
# output=<not set>
font=Fira Sans
dpi-aware=auto
# use-bold=no
# prompt="> "
# placeholder=
# icon-theme=hicolor
# icons-enabled=yes
# hide-before-typing=no
# fields=filename,name,generic
# password-character=*
# filter-desktop=no
# match-mode=fzf
# sort-result=yes
# match-counter=no
# delayed-filter-ms=300
# delayed-filter-limit=20000
# show-actions=no
# terminal=$TERMINAL -e # Note: you cannot actually use environment variables here
# launch-prefix=<not set>
# list-executables-in-path=no
# anchor=center
# x-margin=0
# y-margin=0
lines=12
# width=30
tabs=2
horizontal-pad=8
vertical-pad=8
inner-pad=4
# image-size-ratio=0.5
#line-height=12
# letter-spacing=0
layer=overlay
# keyboard-focus=on-demand
# exit-on-keyboard-focus-loss=yes
# cache=<not set>
# render-workers=<number of logical CPUs>
# match-workers=<number of logical CPUs>
[colors]
background=151515ff
text=e3e8e8ff
prompt=a988b0ff
#placeholder=a98b90ff
input=e8e3e3ff
match=a98b90ff
selection=2e2e2eff
selection-text=e8e3e3ff
selection-match=a98b90ff
# counter=93a1a1ff
border=a988b0ff
[border]
width=1
radius=0
[dmenu]
# mode=text # text|index
# exit-immediately-if-empty=no
[key-bindings]
# cancel=Escape Control+g Control+c Control+bracketleft
# execute=Return KP_Enter Control+y
# execute-or-next=Tab
# execute-input=Shift+Return Shift+KP_Enter
# 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 Control+h
# delete-prev-word=Mod1+BackSpace Control+BackSpace Control+w
# delete-line-backward=Control+u
# delete-next=Delete KP_Delete Control+d
# delete-next-word=Mod1+d Control+Delete Control+KP_Delete
# delete-line-forward=Control+k
# prev=Up Control+p
# prev-with-wrap=ISO_Left_Tab
# prev-page=Page_Up KP_Page_Up
# next=Down Control+n
# next-with-wrap=none
# next-page=Page_Down KP_Page_Down
# expunge=Shift+Delete
# clipboard-paste=Control+v XF86Paste
# primary-paste=Shift+Insert Shift+KP_Insert
# custom-N: *dmenu mode only*. Like execute, but with a non-zero
# exit-code; custom-1 exits with code 10, custom-2 with 11, custom-3
# with 12, and so on.
# custom-1=Mod1+1
# custom-2=Mod1+2
# custom-3=Mod1+3
# custom-4=Mod1+4
# custom-5=Mod1+5
# custom-6=Mod1+6
# custom-7=Mod1+7
# custom-8=Mod1+8
# custom-9=Mod1+9
# custom-10=Mod1+0
# custom-11=Mod1+exclam
# custom-12=Mod1+at
# custom-13=Mod1+numbersign
# custom-14=Mod1+dollar
# custom-15=Mod1+percent
# custom-16=Mod1+dead_circumflex
# custom-17=Mod1+ampersand
# custom-18=Mod1+asterix
# custom-19=Mod1+parentleft

View file

@ -0,0 +1,6 @@
window {
background-image: url("/home/fern/Nextcloud/Pictures/Wallpapers/ferns0.jpg");
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}

View file

@ -0,0 +1,48 @@
window_padding_width 8
font_size 12
allow_remote_control yes
foreground #E8E3E3
background #151515
url_color #E8E3E3
# black
color0 #151515
color8 #424242
# red
color1 #B66467
color9 #B66467
# green
color2 #8C977D
color10 #8C977D
# yellow
color3 #D9BC8C
color11 #D9BC8C
# blue
color4 #8DA3B9
color12 #8DA3B9
# magenta
color5 #A988B0
color13 #A988B0
# cyan
color6 #8AA6A2
color14 #8AA6A2
# white
color7 #E8E3E3
color15 #E8E3E3
# BEGIN_KITTY_FONTS
font_family family='FiraCode Nerd Font' postscript_name=FiraCodeNF-Reg
bold_font family='FiraCode Nerd Font' postscript_name=FiraCodeNF-Bold
italic_font auto
bold_italic_font auto
# END_KITTY_FONTS

View file

@ -0,0 +1,42 @@
font_family FiraCode Nerd Font
bold_font FiraCode Nerd Font Bold
italic_font JetBrains Mono Italic
bold_italic_font JetBrains Mono Bold Italic
window_padding_width 15
font_size 10
foreground #E8E3E3
background #151515
url_color #E8E3E3
# black
color0 #151515
color8 #424242
# red
color1 #B66467
color9 #B66467
# green
color2 #8C977D
color10 #8C977D
# yellow
color3 #D9BC8C
color11 #D9BC8C
# blue
color4 #8DA3B9
color12 #8DA3B9
# magenta
color5 #A988B0
color13 #A988B0
# cyan
color6 #8AA6A2
color14 #8AA6A2
# white
color7 #E8E3E3
color15 #E8E3E3

View file

@ -0,0 +1,10 @@
layer=overlay
default-timeout=10000
padding=20
margin=6
border-size=1
font=Fira Sans
background-color=#151515FF
text-color=#E8E3E3FF
border-color=#A988B9FF

View file

@ -0,0 +1,4 @@
Shift+g add sub-scale +0.1
Shift+f add sub-scale -0.1
Alt+= add video-zoom 0.01
Alt+- add video-zoom -0.01

View file

@ -0,0 +1,11 @@
hwdec=auto-safe
vo=gpu
profile=gpu-hq
gpu-context=wayland
geometry=80%
volume-max=100
sub-use-margins=no
sub-font-size=30
sub-back-color=0.0/0.0/0.0
sub-color=1.0/1.0/1.0
screenshot-directory=~/Nextcloud/Pictures/Screenshots/mpv

View file

@ -0,0 +1,229 @@
input {
keyboard {
repeat-delay 250
repeat-rate 50
}
touchpad {
tap
}
trackpoint {
accel-speed 1.0
}
}
layout {
gaps 12
center-focused-column "never"
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
}
default-column-width { proportion 0.5; }
focus-ring {
width 2
active-color "#8c977d"
inactive-color "#424242"
}
shadow {
on
softness 30
spread 5
offset x=0 y=5
color "#151515"
}
}
environment {
QT_QPA_PLATFORM "wayland"
QT_QPA_PLATFORM_THEME "qt5ct:qt6ct"
DISPLAY ":0"
GTK_CSD "0"
}
// Spawn services
spawn-at-startup "xwayland-satellite"
spawn-at-startup "swaybg" "-i" "/home/fern/Nextcloud/Pictures/Wallpapers/ferns0.jpg"
spawn-at-startup "waybar"
spawn-at-startup "pipewire"
spawn-at-startup "nextcloud" "--background"
spawn-at-startup "gnome-keyring-daemon" "-d"
spawn-at-startup "udiskie" "-a" "-n" "-t" "-F" "--no-terminal"
spawn-at-startup "wlsunset" "-l" "-27.6" "-L" "121.6"
// Spawn apps
spawn-at-startup "firefox"
spawn-at-startup "flatpak" "run" "im.fluffychat.Fluffychat"
spawn-at-startup "flatpak" "run" "org.jeffvli.feishin"
spawn-at-startup "flatpak" "run" "org.signal.Signal"
spawn-at-startup "flatpak" "run" "md.obsidian.Obsidian"
hotkey-overlay {
skip-at-startup
}
prefer-no-csd
screenshot-path "~/Nextcloud/Screenshots/muskduck/Screenshot from %Y-%m-%d %H-%M-%S.png"
window-rule {
match app-id="Firefox" at-startup=true
open-maximized true
open-on-workspace "browser"
}
window-rule {
match app-id="^libreoffice"
match app-id="^gimp-3.0"
open-maximized true
open-on-workspace "work"
}
window-rule {
match app-id="PrismLauncher$"
open-on-workspace "games"
}
window-rule {
match title="^Minecraft"
open-on-workspace "games"
open-fullscreen true
}
window-rule {
match app-id="feishin"
open-on-workspace "media"
open-maximized true
}
window-rule {
match app-id="Signal"
match app-id="fluffychat"
open-on-workspace "chat"
open-maximized true
}
window-rule {
match app-id="obsidian"
open-on-workspace "notes"
open-maximized true
}
binds {
Mod+Return { spawn "kitty"; }
Mod+Space { spawn "fuzzel"; }
Mod+E { spawn "bemoji" "-t" "-c" "-n"; }
XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "1%+"; }
XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "1%-"; }
XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
XF86AudioPlay allow-when-locked=true { spawn "playerctl" "play-pause"; }
XF86AudioRewind allow-when-locked=true { spawn "playerctl" "previous"; }
XF86AudioForward allow-when-locked=true { spawn "playerctl" "next"; }
XF86MonBrightnessDown allow-when-locked=true { spawn "brillo" "-U" "5"; }
XF86MonBrightnessUp allow-when-locked=true { spawn "brillo" "-A" "5"; }
XF86Tools allow-when-locked=true { spawn "brillo" "-S" "100"; }
XF86Display { spawn "wdisplays"; }
Mod+Q { close-window; }
Mod+H { focus-column-or-monitor-left; }
Mod+J { focus-window-or-workspace-down; }
Mod+K { focus-window-or-workspace-up; }
Mod+L { focus-column-or-monitor-right; }
Mod+Shift+H { move-column-left-or-to-monitor-left; }
Mod+Shift+L { move-column-right-or-to-monitor-right; }
Mod+Shift+J { move-window-down-or-to-workspace-down; }
Mod+Shift+K { move-window-up-or-to-workspace-up; }
Mod+Tab { focus-monitor-next; }
Mod+U { focus-workspace-down; }
Mod+I { focus-workspace-up; }
Mod+Shift+U { move-workspace-down; }
Mod+Shift+I { move-workspace-up; }
Mod+1 { focus-workspace 1; }
Mod+2 { focus-workspace 2; }
Mod+3 { focus-workspace 3; }
Mod+4 { focus-workspace 4; }
Mod+5 { focus-workspace 5; }
Mod+6 { focus-workspace 6; }
Mod+7 { focus-workspace 7; }
Mod+8 { focus-workspace 8; }
Mod+9 { focus-workspace 9; }
Mod+Shift+1 { move-column-to-workspace 1; }
Mod+Shift+2 { move-column-to-workspace 2; }
Mod+Shift+3 { move-column-to-workspace 3; }
Mod+Shift+4 { move-column-to-workspace 4; }
Mod+Shift+5 { move-column-to-workspace 5; }
Mod+Shift+6 { move-column-to-workspace 6; }
Mod+Shift+7 { move-column-to-workspace 7; }
Mod+Shift+8 { move-column-to-workspace 8; }
Mod+Shift+9 { move-column-to-workspace 9; }
Mod+BracketLeft { consume-or-expel-window-left; }
Mod+BracketRight { consume-or-expel-window-right; }
Mod+Comma { consume-window-into-column; }
Mod+Period { expel-window-from-column; }
Mod+R { switch-preset-column-width; }
Mod+F { maximize-column; }
Mod+Shift+F { fullscreen-window; }
Mod+C { center-column; }
Mod+Minus { set-column-width "-10%"; }
Mod+Equal { set-column-width "+10%"; }
Mod+Shift+Minus { set-window-height "-10%"; }
Mod+Shift+Equal { set-window-height "+10%"; }
Mod+V { toggle-window-floating; }
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
Mod+W { toggle-column-tabbed-display; }
Mod+P { screenshot-screen; }
Mod+Shift+P { screenshot; }
Mod+Ctrl+P { screenshot-window; }
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
Mod+Shift+E { spawn "power-menu"; }
}
workspace "browser" {
open-on-output "Chimei Innolux Corporation 0x14F3 Unknown"
}
workspace "work" {
open-on-output "Chimei Innolux Corporation 0x14F3 Unknown"
}
workspace "games" {
open-on-output "Chimei Innolux Corporation 0x14F3 Unknown"
}
workspace "media" {
open-on-output "Dell Inc. DELL P2018H FW7Y682903MU"
}
workspace "chat" {
open-on-output "Dell Inc. DELL P2018H FW7Y682903MU"
}
workspace "notes" {
open-on-output "Dell Inc. DELL P2018H FW7Y682903MU"
}

View file

@ -0,0 +1,50 @@
require("config.lazy")
local hipatterns = require('mini.hipatterns')
local base16 = require('mini.base16')
require('mini.comment').setup()
require('mini.completion').setup()
require('mini.pairs').setup()
require('mini.basics').setup()
require('mini.bracketed').setup()
require('mini.clue').setup()
require('mini.diff').setup()
require('mini.extra').setup()
require('mini.files').setup()
require('mini.git').setup()
require('mini.misc').setup()
require('mini.pick').setup()
require('mini.sessions').setup()
require('mini.cursorword').setup()
require('mini.icons').setup()
require('mini.indentscope').setup()
require('mini.notify').setup()
require('mini.statusline').setup()
require('mini.tabline').setup()
require('mini.trailspace').setup()
base16.setup({
palette = {
base00 = "#151515",
base01 = "#1f1f1f",
base02 = "#2e2e2e",
base03 = "#424242",
base04 = "#bbb6b6",
base05 = "#e8e3e3",
base06 = "#e8e3e3",
base07 = "#e8e3e3",
base08 = "#b66467",
base09 = "#b66467",
base0A = "#d9bc8c",
base0B = "#8c977d",
base0C = "#8aa6a2",
base0D = "#8da3b9",
base0E = "#a988b0",
base0F = "#b66467",
}
})
hipatterns.setup({
highlighters = {
hex_color = hipatterns.gen_highlighter.hex_color(),
},
})

View file

@ -0,0 +1,4 @@
{
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"mini.nvim": { "branch": "main", "commit": "0420076298c4457f200c2de468f65d080597a347" }
}

View file

@ -0,0 +1,41 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
vim.opt.expandtab = true
vim.opt.shiftwidth = 2
vim.opt.tabstop = 8
vim.opt.softtabstop = 2
vim.opt.number = true
-- Setup lazy.nvim
require("lazy").setup({
spec = {
-- import your plugins
{ 'echasnovski/mini.nvim', version = '*' },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
-- install = { colorscheme = { "habamax" } },
-- automatically check for plugin updates
checker = { enabled = true },
})

View file

@ -0,0 +1 @@
source "$HOME/.cargo/env.fish"

View file

@ -0,0 +1,11 @@
set -gx EDITOR "nvim"
set -gx NNN_FCOLORS "070704020003030101060607"
set -gx NNN_OPTS 'a'
set -gx NNN_TRASH '1'
set -gx NNN_PLUGx 'p:preview-tui'
set -gx NNN_BMS "d:$HOME/Downloads;n:$HOME/Nextcloud;g:$HOME/git;m:/run/media/fern"
if status is-interactive
# Commands to run in interactive sessions can go here
end

View file

@ -0,0 +1,31 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_initialized:3800
SETUVAR fish_color_autosuggestion:brblack
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:normal
SETUVAR fish_color_comment:red
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:green
SETUVAR fish_color_error:brred
SETUVAR fish_color_escape:brcyan
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:brcyan
SETUVAR fish_color_param:cyan
SETUVAR fish_color_quote:yellow
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:yellow\x1e\x2di
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_selected_background:\x2dr

View file

@ -0,0 +1,37 @@
# Rename this file to match the name of the function
# e.g. ~/.config/fish/functions/n.fish
# or, add the lines to the 'config.fish' file.
function n --wraps nnn --description 'support nnn quit and change directory'
# Block nesting of nnn in subshells
if test -n "$NNNLVL" -a "$NNNLVL" -ge 1
echo "nnn is already running"
return
end
# The behaviour is set to cd on quit (nnn checks if NNN_TMPFILE is set)
# If NNN_TMPFILE is set to a custom path, it must be exported for nnn to
# see. To cd on quit only on ^G, remove the "-x" from both lines below,
# without changing the paths.
if test -n "$XDG_CONFIG_HOME"
set -x NNN_TMPFILE "$XDG_CONFIG_HOME/nnn/.lastd"
else
set -x NNN_TMPFILE "$HOME/.config/nnn/.lastd"
end
# Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
# stty start undef
# stty stop undef
# stty lwrap undef
# stty lnext undef
# The command function allows one to alias this function to `nnn` without
# making an infinitely recursive alias
command nnn $argv
if test -e $NNN_TMPFILE
source $NNN_TMPFILE
rm -- $NNN_TMPFILE
end
end

View file

@ -0,0 +1,3 @@
function rs --wraps rsync --description 'rsync with good options'
rsync -avhP $argv
end

View file

@ -0,0 +1,3 @@
function s --description 'SSH with kitty'
kitten ssh $argv
end

View file

@ -0,0 +1,3 @@
function xi --wraps xbps-install --description 'Install a package'
sudo xbps-install $argv
end

View file

@ -0,0 +1,3 @@
function xr --wraps xbps-remove --description 'Remove a package'
sudo xbps-remove $argv
end

View file

@ -0,0 +1,3 @@
function xu --description 'Update the system'
sudo xbps-install -Syu
end

View file

@ -0,0 +1,100 @@
{
"layer": "top",
"position": "top",
"modules-left": [ "niri/workspaces" ],
"modules-right": [
"tray",
"idle_inhibitor",
"network#ethernet",
"network#wifi",
"battery#bat0",
"battery#bat1",
"wireplumber",
"clock"
],
"tray": {
"icon-size": 13,
"spacing": 8,
},
"idle_inhibitor": {
"tooltip": false,
"format": "{icon}",
"format-icons": {
"activated": "󰅶",
"deactivated": "󰒲",
},
},
"niri/workspaces": {
"format": "{icon}",
"format-icons": {
"browser": "󰈹",
"work": "󰈙",
"games": "󰊗",
"media": "󰝚",
"chat": "󰭹",
"notes": "󰙏",
"default": "",
},
},
"network#ethernet": {
"interface": "enp0s31f6",
"tooltip": false,
"format": "󰈀",
"format-disconnected": "",
},
"network#wifi": {
"interface": "wlp3s0",
"tooltip": true,
"tooltip-format": "{essid}",
"format": "{icon}",
"format-disconnected": "",
"format-icons": [ "󰤟", "󰤢", "󰤥", "󰤨" ],
"on-click": "nm-connection-editor",
},
"clock": {
"tooltip": true,
"tooltip-format": "{:%A %d %B}",
"format": "󰥔 {:%H:%M}",
},
"wireplumber": {
"on-click": "pavucontrol -t 3",
"tooltip": false,
"format": "{icon} {volume}%",
"format-muted": "󰝟",
"format-icons": [ "󰕿", "󰖀", "󰕾" ],
},
"battery#bat0": {
"bat": "BAT0",
"tooltip": true,
"tooltip-format": "BAT0: {capacity}%",
"states": {
"warning": 30,
"critical": 15,
},
"format-icons": [ "󰁺","󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹" ],
"format": "{icon}",
"format-charging": "󰂄",
},
"battery#bat1": {
"bat": "BAT1",
"tooltip": true,
"tooltip-format": "BAT1: {capacity}%",
"states": {
"warning": 30,
"critical": 15,
},
"format-icons": [ "󰁺","󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹" ],
"format": "{icon}",
"format-charging": "󰂄",
},
}

View file

@ -0,0 +1,98 @@
* {
font-family: Fira Sans;
font-size: 16px;
}
window#waybar {
background-color: #151515;
color: #e8e3e3;
border: none;
}
button {
box-shadow: inset 0 -3px transparent;
border: none;
border-radius: 0;
}
button:hover {
background: inherit;
box-shadow: inset 0 -2px #e3e8e8;
}
#workspaces button {
padding: 5px 8px;
background-color: transparent;
color: #e8e3e3;
}
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
}
#workspaces button.focused {
box-shadow: inset 0 -2px #e8e3e3;
}
#workspaces button.urgent {
color: #b66467;
}
#workspaces button.empty {
color: #424242;
}
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#scratchpad,
#power-profiles-daemon,
#mpd {
padding: 5px 8px;
color: #e8e3e3;
}
#window,
#workspaces {
margin: 0 4px;
}
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
label:focus {
background-color: #e8e3e3;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: #eb4d4b;
}