Add Hyprland, Walker & Waybar configurations

- Import Hyprland config directory (conf.d splits, themes, scripts, hypridle/lock/paper)
- Add hyprfetch.sh startup script
- Add Walker vikingowl theme and updated style.css
- Add Waybar config.jsonc and style.css with “midnight-ocean” palette
- Organize wallpaper and lockscreen images for multi-monitor setup
This commit is contained in:
2025-07-09 15:21:38 +02:00
parent 233d61faac
commit 1e6ef2cd31
22 changed files with 1436 additions and 327 deletions

View File

@@ -0,0 +1,130 @@
#####################
### LOOK AND FEEL ###
#####################
# Refer to https://wiki.hyprland.org/Configuring/Variables/
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
layout = dwindle
gaps_in = 3
gaps_out = 0 2 2 2
border_size = 1
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
#col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
#col.inactive_border = rgba(595959aa)
col.active_border = rgba(79,132,204,0.8)
col.inactive_border = rgba(21,40,64,0.5)
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
layerrule = blur, waybar # Add blur to waybar
layerrule = blurpopups, waybar # Blur waybar popups too!
layerrule = ignorealpha 0.2, waybar # Make it so transparent parts are ignored
# give kitty that frosted-glass effect
layerrule = blur, kitty
layerrule = ignorealpha 0.1, kitty
}
group {
#col.border_active = rgba(33ccffee) rgba(00ff99ee) 45deg
#col.border_inactive = 0x66777700
col.border_active = rgba(79,132,204,0.8)
col.border_inactive = rgba(21,40,64,0.4)
col.border_locked_active = 0xfc6a0300
col.border_locked_inactive = 0x66775500
groupbar {
font_size = 12
height = 18
gradients = true
#col.active = rgb(293B6E)
#col.inactive = rgba(595959aa)
col.active = rgb(79,132,204)
col.inactive = rgba(21,40,64,0.3)
}
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 5
rounding_power = 4.0
# Change transparency of focused and unfocused windows
active_opacity = 1
inactive_opacity = 1
fullscreen_opacity = 1
dim_inactive = false
dim_strength = 0.2
dim_around = 1.0
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
enabled = true
size = 2
passes = 3
xray = true
#vibrancy = 0.1696
vibrancy = 0.18
}
# https://wiki.hyprland.org/Configuring/Variables/#shadow
shadow {
enabled = true
range = 6
render_power = 2
sharp = false
ignore_window = true
#color = 0xee1a1a1a
color = 0xdd0b1b2b
#color_inactive = unset
#offset = [ 0, 0 ]
scale = 1.0
}
}
# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
enabled = true
# 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
}
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
new_status = master
}
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
force_default_wallpaper = 1 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}
xwayland {
force_zero_scaling = true
}

View File

@@ -0,0 +1,6 @@
# Generated by nwg-displays on 2025-03-08 at 15:08:59. Do not edit manually.
monitor=DP-1,3440x1440@100.0,0x144,1.0
monitor=DP-2,2560x1440@99.95,3440x480,1.0
monitor=HDMI-A-2,1920x1080@60.0,6000x0,1.0
monitor=HDMI-A-2,transform,1

View File

@@ -0,0 +1,12 @@
# Generated by nwg-displays on 2025-03-08 at 15:11:02. Do not edit manually.
workspace=1,monitor:DP-2,persistent:true,default:true
workspace=2,monitor:DP-2,persistent:true
workspace=3,monitor:DP-2,persistent:true
workspace=4,monitor:DP-2,persistent:true
workspace=5,monitor:DP-2,persistent:true
workspace=6,monitor:DP-1,persistent:true,default:true
workspace=7,monitor:DP-1,persistent:true
workspace=8,monitor:DP-1,persistent:true
workspace=9,monitor:DP-1,persistent:true
workspace=10,monitor:HDMI-A-2,persistent:true,default:true

View File

@@ -0,0 +1,137 @@
##############
### KEYMAP ###
##############
input {
kb_layout = eu
#kb_layout = us
#kb_variant = altgr-intl
#kb_options = lv3:ralt_switch
}
###################
### KEYBINDINGS ###
###################
# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier
# Apps
$terminal = uwsm app -- kitty
$fileManager = uwsm app -- nautilus
$launcher = uwsm app -- walker
$uuctl = uwsm app -- uuctl walker -d
$emote = uwsm app -- emote
$notcenter = uwsm app -- swaync-client -t -sw
$notdnd = uwsm app -- swaync-client -d
$nothide = uwsm app -- swaync-client --hide-latest
$notclose = uwsm app -- swaync-client --close-latest
$notcloseall = uwsm app -- swaync-client --close-all
$lockcmd = hyprlock
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
# Layout Binds
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod SHIFT, J, swapsplit, # dwindle
bind = $mainMod SHIFT, T, togglegroup, # tabbed i3 like
bind = $mainMod, T, changegroupactive, # tabbed change active
bind = $mainMod, F, fullscreen,
bind = $mainMod, V, togglefloating,
bind = $mainMod ALT_L, H, movewindoworgroup, l
bind = $mainMod ALT_L, J, movewindoworgroup, d
bind = $mainMod ALT_L, K, movewindoworgroup, u
bind = $mainMod ALT_L, L, movewindoworgroup, r
# Usability
bind = $mainMod SHIFT, Q, killactive,
bind = $mainMod, L, exec, $lockcmd
bind = $mainMod, M, exit,
# App Binds
bind = $mainMod, return, exec, $terminal
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, D, exec, $launcher
bind = $mainMod SHIFT, D, exec, $uuctl
bind = $mainMod, PERIOD, exec, $emote
# swaync Binds
bind = $mainMod, Grave, exec, $notcenter
bind = $mainMod SHIFT, Grave, exec, $notdnd
bind = $mainMod, A, exec, $nothide
bind = $mainMod SHIFT, A, exec, $notclose
bind = $mainMod CTRL, A, exec, $notcloseall
# Screenshot
bind = ALT SHIFT, 3, exec, GRIMBLAST_EDITOR="satty -f" grimblast --notify edit output
bind = ALT SHIFT, 4, exec, GRIMBLAST_EDITOR="satty -f" grimblast --notify edit area
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
bind = $mainMod SHIFT, left, movewindow, l
bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, up, movewindow, u
bind = $mainMod SHIFT, down, movewindow, d
# 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 SHIFT, mouse_down, workspace, e+1
bind = $mainMod SHIFT, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod SHIFT, mouse:272, movewindow # LMB
bindm = $mainMod SHIFT, mouse:273, resizewindow # RMB
# Media
bindl = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bindl = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
# Requires playerctl
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
bindl = , XF86AudioNext, exec, playerctl next
# SwayOSD
# Sink volume change
bindel = , XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
bindel = , XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
# Sink volume toggle mute
bindel = , XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
# Source volume toggle mute
bindel = , XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle
# Brightness change
bindel = , XF86MonBrightnessUp, exec, swayosd-client --brightness raise
bindel = , XF86MonBrightnessDown, exec, swayosd-client --brightness lower

View File

@@ -0,0 +1,5 @@
exec-once = swaync
exec-once = waybar
exec = swayosd-server

View File

@@ -0,0 +1,68 @@
###############################
### WINDOWS AND WORKSPACES ###
###############################
# https://wiki.hyprland.org/Configuring/Window-Rules/
# https://wiki.hyprland.org/Configuring/Workspace-Rules/
## ========== Communication ==========
# Mumble & Discord & TeamSpeak
windowrule = workspace 9, class:^(info\.mumble\.Mumble|discord|TeamSpeak|vesktop)$
# Signal & Telegram
windowrule = workspace 8, class:^(Element|signal|Signal|org\.telegram\.desktop)$
## ========== Multimedia ==========
windowrule = workspace 7, class:Spotify
## ========== Development ==========
windowrule = float, class:jetbrains-webstorm, title:Welcome to WebStorm
windowrule = size 1080 720, class:jetbrains-webstorm, title:Welcome to WebStorm
## ========== Games ==========
# World of Warcraft (Classic & Retail)
windowrule = workspace 1,force, class:^(wowclassic|wow)\.exe$, title:World of Warcraft
windowrule = fullscreen, class:^(wowclassic|wow)\.exe$, title:World of Warcraft
## ========== Launcher ==========
# Steam & Battle.net & Lutris
windowrule = workspace 2, class:^(steam|battle\.net\.exe|net\.lutris\.Lutris)$
windowrule = center 1, class:^(battle\.net\.exe|net\.lutris\.Lutris)$
windowrule = float, class:^(battle\.net\.exe|net\.lutris\.Lutris)$
windowrule = float, class:steam, title:Friends List
windowrule = workspace 1, class:steam, title:Launching...
# Lutris
windowrule = size 1600 1000, class:net.lutris.Lutris
windowrule = float, class:net.lutris.Lutris, title:^Configure.*$
windowrule = size 1080 720, class:net.lutris.Lutris, title:^Configure.*$
# Battle.net Systray
windowrule = workspace 2, class:explorer.exe
windowrule = move onscreen 1725 1869, class:explorer.exe
# ProtonUp-Qt
windowrule = float, class:net.davidotek.pupgui2
windowrule = size 869 642, class:net.davidotek.pupgui2
## ========== 3D Slicer & Printing ==========
windowrule = workspace 3, class:BambuStudio
#windowrule = float, class:BambuStudio
windowrule = workspace 3, class:OrcaSlicer
windowrule = float, class:OrcaSlicer
## ========== System ==========
windowrule = float, class:org.keepassxc.KeePassXC
windowrule = float, class:org.kde.dolphin
windowrule = float, class:com.saivert.pwvucontrol
windowrule = float, class:org.gnome.Nautilus
windowrule = float, class:org.gnome.NautilusPreviewer
windowrule = float, class:org.gnome.FileRoller
## ========== Screenshot ==========
windowrule = float, class:com.gabm.satty
windowrule = size >700 >400, class:com.gabm.satty
## ========== Misc ==========
windowrule = focusonactivate, class:zen

View File

@@ -0,0 +1,44 @@
### based on the example config from hyprland.org
general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam)
ignore_systemd_inhibit = false # whether to ignore systemd-inhibit --what=idle inhibitors
on_lock_cmd = dbus-send --session --dest=org.freedesktop.secrets \
--type=method_call \
/org/freedesktop/secrets \
org.freedesktop.Secret.Service.Lock \
array:objpath:/org/freedesktop/secrets/collection/login
}
#listener {
# timeout = 150 # 2.5min.
# on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor.
# on-resume = brightnessctl -r # monitor backlight restore.
#}
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
#listener {
# timeout = 150 # 2.5min.
# on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
# on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
#}
listener {
timeout = 300 # 5min
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
}
listener {
timeout = 1800 # 30min
on-timeout = loginctl lock-session # lock screen when timeout has passed
}
listener {
timeout = 3600 # 60min
on-timeout = systemctl hibernate # hibernate and suspend pc
}

View File

@@ -0,0 +1,2 @@
# ~/.config/hyprland/hyprland.conf
source = ~/.config/hypr/conf.d/*.conf

View File

@@ -0,0 +1,85 @@
# ~/.config/hypr/hyprlock.conf
general {
hide_cursor = true
ignore_empty_input = true
}
##################
### BACKGROUND ###
##################
background {
monitor = DP-1
path = $HOME/.config/hypr/images/ultrawide.jpg
}
background {
monitor = DP-2
path = $HOME/.config/hypr/images/standard.jpg
}
background {
monitor = HDMI-A-2
path = $HOME/.config/hypr/images/vertical.jpg
}
#############
### INPUT ###
#############
input-field {
size = 250, 60
outline_thickness= 2
dots_size = 0.2 # you control the look of the dots manually
dots_spacing = 0.35
dots_center = true
# Outer ring transparent, inner pill matches Waybar bg
outer_color = rgba(11, 27, 43, 0) # bg_main fully transparent
inner_color = rgba(11, 27, 43, 0.85) # bg_main at 85% opacity
font_color = rgba(202, 211, 232, 0.8) # content_main at 80%
fade_on_empty = false
rounding = 20 # nice pill shape
check_color = #4F84CC # Abyss Accent
placeholder_text =
hide_input = false
position = 0, -200
halign = center
valign = center
}
############
### DATE ###
############
label {
monitor =
text = cmd[update:1000] echo "$(date +"%A, %B %d")"
color = rgba(202, 211, 232, 0.75) # Sea Foam a bit lighter
font_size = 22
font_family = Inconsolata Nerd Font Mono
position = 0, 300
halign = center
valign = center
}
############
### TIME ###
############
label {
monitor =
text = cmd[update:1000] echo "$(date +"%-I:%M")"
color = rgba(202, 211, 232, 0.75)
font_size = 95
font_family = Inconsolata Nerd Font Mono Bold
position = 0, 200
halign = center
valign = center
}

View File

@@ -0,0 +1,15 @@
# ~/.config/hypr/hyprpaper.conf
#splash = true
splash_color = 4F84CCFF # Abyss Accent w/ full opacity
splash_offset = 2.0
ipc = true
# Preload your ultrawide as a quick fallback
preload = $HOME/.config/hypr/images/standard.jpg
# Per-monitor wallpaper assignments
wallpaper = DP-1, $HOME/.config/hypr/images/ultrawide.jpg
wallpaper = DP-2, $HOME/.config/hypr/images/standard.jpg
wallpaper = HDMI-A-2,$HOME/.config/hypr/images/vertical.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

View File

@@ -0,0 +1,38 @@
#!/usr/bin/env bash
# hyprfetch.sh — a little fetch for your Hyprland setup
# colours (true-color ANSI)
ACCENT='\033[38;2;79;132;204m' # #4F84CC
FOREGROUND='\033[38;2;202;211;232m' # #CAD3E8
RESET='\033[0m'
# helper to print a labeled field
print_field() {
printf "${ACCENT}%-10s${FOREGROUND}%s${RESET}\n" "$1:" "$2"
}
# ASCII Art Hyprland logo (simplified)
printf "${ACCENT}"
cat <<'EOF'
__ __
| \/ |__ _ _ _ ___
| |\/| / _` | '_/ -_)
|_| |_\__,_|_| \___|
EOF
printf "${RESET}\n"
# now the fields
print_field "OS" "$(grep '^PRETTY_NAME=' /etc/os-release | cut -d= -f2 | tr -d '"')"
print_field "Kernel" "$(uname -r)"
print_field "Uptime" "$(uptime -p)"
print_field "Shell" "$(basename "$SHELL")"
print_field "WM" "Hyprland $(hyprctl version | grep -oP '\d+\.\d+\.\d+')"
# hardware
print_field "CPU" "$(grep -m1 'model name' /proc/cpuinfo | cut -d: -f2 | sed 's/^ //')"
print_field "RAM" "$(free -h | awk '/^Mem:/ {print $3 \" / \" $2}')"
if command -v acpi &>/dev/null; then
print_field "Battery" "$(acpi -b | awk -F', ' '{print $2 \" — \" $3}')"
fi

235
.config/walker/config.toml Normal file
View File

@@ -0,0 +1,235 @@
app_launch_prefix = "uwsm app -- "
terminal_title_flag = ""
locale = ""
close_when_open = false
theme = "vikingowl"
monitor = ""
hotreload_theme = false
as_window = false
timeout = 0
disable_click_to_close = false
force_keyboard_focus = false
[keys]
accept_typeahead = ["tab"]
trigger_labels = "lalt"
next = ["down"]
prev = ["up"]
close = ["esc"]
remove_from_history = ["shift backspace"]
resume_query = ["ctrl r"]
toggle_exact_search = ["ctrl m"]
[keys.activation_modifiers]
keep_open = "shift"
alternate = "alt"
[keys.ai]
clear_session = ["ctrl x"]
copy_last_response = ["ctrl c"]
resume_session = ["ctrl r"]
run_last_response = ["ctrl e"]
[events]
on_activate = ""
on_selection = ""
on_exit = ""
on_launch = ""
on_query_change = ""
[list]
dynamic_sub = true
keyboard_scroll_style = "emacs"
max_entries = 50
show_initial_entries = true
single_click = true
visibility_threshold = 20
placeholder = "No Results"
[search]
argument_delimiter = "#"
placeholder = "Search..."
delay = 0
resume_last_query = false
[activation_mode]
labels = "jkl;asdf"
[builtins.applications]
weight = 5
name = "applications"
placeholder = "Applications"
prioritize_new = true
hide_actions_with_empty_query = true
context_aware = true
refresh = true
show_sub_when_single = true
show_icon_when_single = true
show_generic = true
history = true
[builtins.applications.actions]
enabled = true
hide_category = false
hide_without_query = true
[builtins.bookmarks]
weight = 5
placeholder = "Bookmarks"
name = "bookmarks"
icon = "bookmark"
switcher_only = true
[[builtins.bookmarks.entries]]
label = "Walker"
url = "https://github.com/abenz1267/walker"
keywords = ["walker", "github"]
[builtins.xdph_picker]
hidden = true
weight = 5
placeholder = "Screen/Window Picker"
show_sub_when_single = true
name = "xdphpicker"
switcher_only = true
[builtins.ai]
weight = 5
placeholder = "AI"
name = "ai"
icon = "help-browser"
switcher_only = true
[[builtins.ai.anthropic.prompts]]
model = "claude-3-5-sonnet-20241022"
temperature = 1
max_tokens = 1_000
label = "General Assistant"
prompt = "You are a helpful general assistant. Keep your answers short and precise."
[builtins.calc]
require_number = true
weight = 5
name = "calc"
icon = "accessories-calculator"
placeholder = "Calculator"
min_chars = 4
[builtins.windows]
weight = 5
icon = "view-restore"
name = "windows"
placeholder = "Windows"
show_icon_when_single = true
[builtins.clipboard]
exec = "wl-copy"
weight = 5
name = "clipboard"
avoid_line_breaks = true
placeholder = "Clipboard"
image_height = 300
max_entries = 10
switcher_only = true
[builtins.commands]
weight = 5
icon = "utilities-terminal"
switcher_only = true
name = "commands"
placeholder = "Commands"
[builtins.custom_commands]
weight = 5
icon = "utilities-terminal"
name = "custom_commands"
placeholder = "Custom Commands"
[builtins.emojis]
exec = "wl-copy"
weight = 5
name = "emojis"
placeholder = "Emojis"
switcher_only = true
history = true
typeahead = true
show_unqualified = false
[builtins.symbols]
after_copy = ""
weight = 5
name = "symbols"
placeholder = "Symbols"
switcher_only = true
history = true
typeahead = true
[builtins.finder]
use_fd = false
weight = 5
icon = "file"
name = "finder"
placeholder = "Finder"
switcher_only = true
ignore_gitignore = true
refresh = true
concurrency = 8
show_icon_when_single = true
[builtins.runner]
weight = 5
icon = "utilities-terminal"
name = "runner"
placeholder = "Runner"
typeahead = true
history = true
generic_entry = false
refresh = true
[builtins.ssh]
weight = 5
icon = "preferences-system-network"
name = "ssh"
placeholder = "SSH"
switcher_only = true
history = true
refresh = true
[builtins.switcher]
weight = 5
name = "switcher"
placeholder = "Switcher"
prefix = "/"
[builtins.websearch]
weight = 5
icon = "applications-internet"
name = "websearch"
placeholder = "Websearch"
[[builtins.websearch.entries]]
name = "Google"
url = "https://www.google.com/search?q=%TERM%"
switcher_only = true
[[builtins.websearch.entries]]
name = "DuckDuckGo"
url = "https://duckduckgo.com/?q=%TERM%"
#switcher_only = true
[[builtins.websearch.entries]]
name = "Ecosia"
url = "https://www.ecosia.org/search?q=%TERM%"
switcher_only = true
[[builtins.websearch.entries]]
name = "Yandex"
url = "https://yandex.com/search/?text=%TERM%"
switcher_only = true
[builtins.dmenu]
hidden = true
weight = 5
name = "dmenu"
placeholder = "Dmenu"
switcher_only = true

View File

@@ -0,0 +1,162 @@
/* AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. */
@define-color foreground rgba(255, 255, 255, 0.8);
@define-color background hsla(240, 12.7%, 13.9%, 0.98);
@define-color color1 hsl(172, 100%, 25.3%);
/* AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. */
#window,
#box,
#aiScroll,
#aiList,
#search,
#password,
#input,
#prompt,
#clear,
#typeahead,
#list,
child,
scrollbar,
slider,
#item,
#text,
#label,
#bar,
#sub,
#activationlabel {
all: unset;
}
#cfgerr {
background: rgba(255, 0, 0, 0.4);
margin-top: 20px;
padding: 8px;
font-size: 1.2em;
}
#window {
color: @foreground;
}
#box {
border-radius: 2px;
background: @background;
padding: 32px;
border: 1px solid lighter(@background);
box-shadow:
0 19px 38px rgba(0, 0, 0, 0.3),
0 15px 12px rgba(0, 0, 0, 0.22);
}
#search {
box-shadow:
0 1px 3px rgba(0, 0, 0, 0.1),
0 1px 2px rgba(0, 0, 0, 0.22);
background: lighter(@background);
padding: 8px;
}
#prompt {
margin-left: 4px;
margin-right: 12px;
color: @foreground;
opacity: 0.2;
}
#clear {
color: @foreground;
opacity: 0.8;
}
#password,
#input,
#typeahead {
border-radius: 2px;
}
#input {
background: none;
}
#password {
}
#spinner {
padding: 8px;
}
#typeahead {
color: @foreground;
opacity: 0.8;
}
#input placeholder {
opacity: 0.5;
}
#list {
}
child {
padding: 8px;
border-radius: 2px;
}
child:selected,
child:hover {
background: alpha(@color1, 0.4);
}
#item {
}
#icon {
margin-right: 8px;
}
#text {
}
#label {
font-weight: 500;
}
#sub {
opacity: 0.5;
font-size: 0.8em;
}
#activationlabel {
}
#bar {
}
.barentry {
}
.activation #activationlabel {
}
.activation #text,
.activation #icon,
.activation #search {
opacity: 0.5;
}
.aiItem {
padding: 10px;
border-radius: 2px;
color: @foreground;
background: @background;
}
.aiItem.user {
padding-left: 0;
padding-right: 0;
}
.aiItem.assistant {
background: lighter(@background);
}

View File

@@ -0,0 +1,103 @@
# AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN.
[ui.anchors]
bottom = true
left = true
right = true
top = true
[ui.window]
h_align = "fill"
v_align = "fill"
[ui.window.box]
h_align = "center"
width = 450
[ui.window.box.bar]
orientation = "horizontal"
position = "end"
[ui.window.box.bar.entry]
h_align = "fill"
h_expand = true
[ui.window.box.bar.entry.icon]
h_align = "center"
h_expand = true
pixel_size = 24
theme = ""
[ui.window.box.margins]
top = 200
[ui.window.box.ai_scroll]
name = "aiScroll"
h_align = "fill"
v_align = "fill"
max_height = 300
min_width = 400
height = 300
width = 400
[ui.window.box.ai_scroll.margins]
top = 8
[ui.window.box.ai_scroll.list]
name = "aiList"
orientation = "vertical"
width = 400
spacing = 10
[ui.window.box.ai_scroll.list.item]
name = "aiItem"
h_align = "fill"
v_align = "fill"
x_align = 0
y_align = 0
wrap = true
[ui.window.box.scroll.list]
marker_color = "#1BFFE1"
max_height = 300
max_width = 400
min_width = 400
width = 400
[ui.window.box.scroll.list.item.activation_label]
h_align = "fill"
v_align = "fill"
width = 20
x_align = 0.5
y_align = 0.5
[ui.window.box.scroll.list.item.icon]
pixel_size = 26
theme = ""
[ui.window.box.scroll.list.margins]
top = 8
[ui.window.box.search.prompt]
name = "prompt"
icon = "edit-find"
theme = ""
pixel_size = 18
h_align = "center"
v_align = "center"
[ui.window.box.search.clear]
name = "clear"
icon = "edit-clear"
theme = ""
pixel_size = 18
h_align = "center"
v_align = "center"
[ui.window.box.search.input]
h_align = "fill"
h_expand = true
icons = true
[ui.window.box.search.spinner]
hide = true

View File

@@ -0,0 +1,172 @@
/* AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. */
/* Palette */
@define-color foreground rgba(202, 211, 232, 0.9); /* Sea Foam */
@define-color background rgba(11, 27, 43, 0.98); /* Deep Ocean */
@define-color color1 #4F84CC; /* Abyss Accent */
@define-color selection_bg rgba(79, 132, 204, 0.5); /* Bubble Fade */
@define-color search_bg rgba(15, 35, 55, 0.85); /* Searchbar BG */
/* Reset & Globals */
#window,
#box,
#aiScroll,
#aiList,
#search,
#password,
#input,
#prompt,
#clear,
#typeahead,
#list,
child,
scrollbar,
slider,
#item,
#text,
#label,
#sub,
#activationlabel {
all: unset;
box-sizing: border-box;
font-family: "Inconsolata Go Nerd Font", monospace;
color: @foreground;
}
/* Error */
#cfgerr {
background: rgba(255, 0, 0, 0.4);
margin-top: 20px;
padding: 8px;
font-size: 1.2em;
}
/* Main window */
#window {
color: @foreground;
}
/* Outer box */
#box {
padding: 32px;
background: @background;
border-radius: 16px; /* bigger rounding */
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
backdrop-filter: blur(25px);
border-image: linear-gradient(45deg, color1, background) 1;
border-width: 1px;
border-style: solid;
}
/* ── SEARCH BAR ───────────────────────────────────────────────────────────── */
#search {
display: flex;
align-items: center;
padding: 12px 16px;
background: @search_bg; /* new tinted BG */
border-radius: 20px; /* fully rounded */
transition:
background 150ms ease,
border 150ms ease;
}
#search:focus-within {
background: rgba(15, 35, 55, 0.95);
border: 1px solid color1;
}
#prompt {
margin-right: 12px;
opacity: 0.3;
}
#input,
#text {
flex: 1;
background: none;
border: none;
outline: none;
font-size: 1em;
line-height: 1.2em;
color: @foreground;
}
#input::placeholder,
#text::placeholder {
opacity: 0.5;
}
#clear {
margin-left: 12px;
cursor: pointer;
opacity: 0.7;
transition: opacity 150ms ease;
}
#clear:hover {
opacity: 1;
}
/* ── RESULTS LIST & ITEMS ─────────────────────────────────────────────────── */
#list {
display: flex;
flex-direction: column;
max-height: 300px;
overflow-y: auto;
}
child {
display: flex;
align-items: center;
padding: 10px 14px;
border-radius: 12px; /* rounded items */
transition:
background 120ms ease,
transform 120ms ease;
}
child + child {
margin-top: 4px; /* small gap instead of border */
}
child:hover {
background: @selection_bg;
transform: translateX(3px);
}
child:selected {
background: @selection_bg;
border-left: 4px solid color1;
padding-left: 10px; /* adjust for border */
}
/* Icons & text */
#icon {
margin-right: 10px;
opacity: 0.9;
}
#label {
font-weight: 500;
}
#sub {
margin-left: auto;
opacity: 0.6;
font-size: 0.85em;
}
/* ── SCROLLBAR ─────────────────────────────────────────────────────────────── */
scrollbar,
slider {
background: none;
width: 6px;
}
scrollbar:hover {
background: rgba(79, 132, 204, 0.2);
}
slider {
background: color1;
border-radius: 3px;
}
/* ── AI PANEL ITEMS ───────────────────────────────────────────────────────── */
.aiItem {
padding: 12px 16px;
border-radius: 12px;
background: @background;
}
.aiItem.user {
background: rgba(15, 35, 55, 0.8);
}
.aiItem.assistant {
background: rgba(15, 35, 55, 0.9);
}

View File

@@ -0,0 +1,103 @@
# AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN.
[ui.anchors]
bottom = true
left = true
right = true
top = true
[ui.window]
h_align = "fill"
v_align = "fill"
[ui.window.box]
h_align = "center"
width = 450
[ui.window.box.bar]
orientation = "horizontal"
position = "end"
[ui.window.box.bar.entry]
h_align = "fill"
h_expand = true
[ui.window.box.bar.entry.icon]
h_align = "center"
h_expand = true
pixel_size = 24
theme = ""
[ui.window.box.margins]
top = 200
[ui.window.box.ai_scroll]
name = "aiScroll"
h_align = "fill"
v_align = "fill"
max_height = 300
min_width = 400
height = 300
width = 400
[ui.window.box.ai_scroll.margins]
top = 8
[ui.window.box.ai_scroll.list]
name = "aiList"
orientation = "vertical"
width = 400
spacing = 10
[ui.window.box.ai_scroll.list.item]
name = "aiItem"
h_align = "fill"
v_align = "fill"
x_align = 0
y_align = 0
wrap = true
[ui.window.box.scroll.list]
marker_color = "#4F84CC"
max_height = 300
max_width = 400
min_width = 400
width = 400
[ui.window.box.scroll.list.item.activation_label]
h_align = "fill"
v_align = "fill"
width = 20
x_align = 0.5
y_align = 0.5
[ui.window.box.scroll.list.item.icon]
pixel_size = 26
theme = ""
[ui.window.box.scroll.list.margins]
top = 8
[ui.window.box.search.prompt]
name = "prompt"
icon = "edit-find"
theme = ""
pixel_size = 26
h_align = "center"
v_align = "center"
[ui.window.box.search.clear]
name = "clear"
icon = "edit-clear"
theme = ""
pixel_size = 18
h_align = "center"
v_align = "center"
[ui.window.box.search.input]
h_align = "fill"
h_expand = true
icons = true
[ui.window.box.search.spinner]
hide = true

View File

@@ -1,4 +1,5 @@
{
// general bar settings
"layer": "bottom",
"output": ["DP-1", "DP-2", "!HDMI-A-2"],
"position": "bottom",
@@ -6,95 +7,70 @@
"exclusive": true,
"gtk-layer-shell": true,
"passthrough": false,
"height": 30,
"height": 32,
// which modules to show
"modules-left": ["hyprland/workspaces"],
"modules-center": ["mpris", "privacy"],
"modules-right": [
"custom/alhp",
"cpu",
"memory",
"disk",
"bluetooth",
"pulseaudio",
"network",
"pulseaudio",
"bluetooth",
"battery",
"custom/alhp",
"custom/razer-mouse-battery",
"tray",
"clock",
],
"hyprland/workspaces": {
"icon-size": 32,
"spacing": 16,
"icon-size": 28,
"spacing": 12,
"on-scroll-up": "hyprctl dispatch workspace r+1",
"on-scroll-down": "hyprctl dispatch workspace r-1",
},
"cpu": {
"interval": 5,
"format": "{usage}%",
"max-length": 10,
},
"disk": {
"interval": 30,
"format": "󰋊 {percentage_used}%",
"path": "/",
"tooltip": true,
"unit": "GB",
"tooltip-format": "Available {free} of {total}",
"format": "<span color=\"#4F84CC\"></span> <span color=\"#CAD3E8\">{usage}%</span>",
},
"memory": {
"interval": 10,
"format": "{percentage}%",
"max-length": 10,
"format": "<span color=\"#4F84CC\"></span> <span color=\"#CAD3E8\">{percentage}%</span>",
"tooltip": true,
"tooltip-format": "RAM - {used:0.1f}GiB used",
"tooltip-format": "<span color=\"#CAD3E8\">RAM: {used:.1f}GiB / {total:.1f}GiB</span>",
},
"wlr/taskbar": {
"format": "{icon} {title:.17}",
"icon-size": 28,
"spacing": 3,
"on-click-middle": "close",
"tooltip-format": "{title}",
"ignore-list": [],
"on-click": "activate",
},
"tray": {
"icon-size": 18,
"spacing": 3,
},
"clock": {
"format": "{:%R | %d.%m.%Y}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "year",
"mode-mon-col": 3,
"weeks-pos": "right",
"on-scroll": 1,
"on-click-right": "mode",
"format": {
"months": "<span color='#ffead3'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>",
},
},
"actions": {
"on-click-right": "mode",
"on-click-forward": "tz_up",
"on-click-backward": "tz_down",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down",
},
"disk": {
"interval": 30,
"format": "<span color=\"#4F84CC\">󰋊</span> <span color=\"#CAD3E8\">{percentage_used}%</span>",
"tooltip": true,
"tooltip-format": "<span color=\"#CAD3E8\">Avail: {free} / {total}</span>",
},
"network": {
"format-wifi": "{essid} ({signalStrength}%) {icon}",
"format-ethernet": "{ifname}",
"format-disconnected": "󰌙",
"tooltip-format": "{ifname} via {gwaddr} 󰊗",
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
"tooltip-format-ethernet": "{ifname} ",
"tooltip-format-disconnected": "Disconnected",
"format-icons": ["󰤯 ", "󰤟 ", "󰤢 ", "󰤢 ", "󰤨 "],
// only show the Wi-Fi glyph on wifi…
"format-wifi": "<span color=\"#4F84CC\"></span> <span color=\"#CAD3E8\">{essid} ({signalStrength}%)</span>",
// …and this little link-icon on Ethernet
"format-ethernet": "<span color=\"#4F84CC\"></span> <span color=\"#CAD3E8\">{ifname}</span>",
"format-disconnected": "<span color=\"#FFCC33\">󰌙 Disconnected</span>",
"tooltip-format": "<span color=\"#CAD3E8\">{ifname} via {gwaddr}</span>",
},
"pulseaudio": {
"format": "<span color=\"#4F84CC\">{icon}</span> <span color=\"#CAD3E8\">{volume}%</span>",
"format-muted": "<span color=\"#FFCC33\"> Muted</span>",
"scroll-step": 5,
"on-click": "pavucontrol",
"interval": 30,
"format-icons": {
// match these to the sink NAMES you see in `pactl list sinks`
"alsa_output.usb-SteelSeries_Arctis_7_-00.analog-stereo": "", // SteelSeries headset
"alsa_output.pci-0000_0a_00.4.iec958-stereo": "", // speaker icon for your soundbar
"bluez_output.50_5E_5C_2D_F3_B2.1": "", // Bluetooth earbud icon
"default": ["", ""], // fallback (low/hi)
},
},
"bluetooth": {
"format": "<span color=\"#4F84CC\"></span> <span color=\"#CAD3E8\">{status}</span>",
"format-connected": "<span color=\"#4F84CC\"></span> <span color=\"#CAD3E8\">{device_alias} ({device_battery_percentage}%)</span>",
},
"battery": {
"states": {
@@ -102,89 +78,38 @@
"warning": 30,
"critical": 20,
},
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{time} {icon}",
"format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"],
},
"pulseaudio": {
"format": "{volume}% {icon} ",
"format-bluetooth": "{volume}% {icon} ",
"format-muted": " ",
"format-icons": {
"alsa_output.pci-0000_00_1f.3.analog-stereo": "",
"alsa_output.pci-0000_00_1f.3.analog-stereo-muted": "",
"headphone": "",
"hands-free": "",
"headset": "\uF025",
"phone": "",
"phone-muted": "",
"portable": "",
"car": "",
"default": ["", ""],
},
"scroll-step": 5,
"on-click": "pavucontrol",
"ignored-sinks": ["Easy Effects Sink"],
},
"privacy": {
"icon-spacing": 4,
"icon-size": 14,
"transition-duration": 250,
"modules": [
{
"type": "screenshare",
"tooltip": true,
"tooltip-icon-size": 12,
},
{
"type": "audio-out",
"tooltip": true,
"tooltip-icon-size": 12,
},
{
"type": "audio-in",
"tooltip": true,
"tooltip-icon-size": 12,
},
],
},
"mpris": {
"format": "{player_icon} {dynamic}",
"format-paused": "{status_icon} <i>{dynamic}</i>",
"dynamic-len": 50,
"ellipsis": "…",
"player-icons": {
"default": "▶",
"mpv": "🎵",
},
"status-icons": {
"paused": "⏸",
},
},
"bluetooth": {
"format": " {status}",
//"on-click": "",
"format-connected": " {device_alias}",
"format-connected-battery": " {device_alias} {device_battery_percentage}%",
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%",
"format": "<span color=\"#4F84CC\">{icon}</span> <span color=\"#CAD3E8\">{capacity}%</span>",
"format-charging": "<span color=\"#4F84CC\"> {capacity}%</span>",
},
"custom/alhp": {
"id": "custom-alhp",
"exec": "$HOME/.config/waybar/scripts/alhp.sh",
"return-type": "json",
"interval": 60,
"format": "<span color=\"#4F84CC\">{text}</span>",
"tooltip": true,
"format": "{text}",
},
"custom/razer-mouse-battery": {
"format": "{text}",
"return-type": "json",
"exec": "$HOME/.config/waybar/scripts/razer_basilisk_v3_pro_battery_info.sh",
"return-type": "json",
"interval": 10,
"format": "<span color=\"#4F84CC\">{text}</span>",
},
"tray": {
"icon-size": 18,
"spacing": 4,
},
"clock": {
"format": "<span color=\"#CAD3E8\">{:%R | %d.%m.%Y}</span>",
"tooltip-format": "<tt><span color=\"#CAD3E8\"><small>{calendar}</small></span></tt>",
"calendar": {
"mode": "year",
"mode-mon-col": 3,
"weeks-pos": "right",
},
"actions": {
"on-click-right": "mode",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down",
},
},
}

View File

@@ -2,12 +2,12 @@
# Path to your Razer HID battery info
#BASE="/sys/bus/hid/drivers/razermouse/0003:1532:00AB.000A"
BASE="/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-8/1-8.1/1-8.1.2/1-8.1.2:1.0/0003:1532:00AB.0009"
BASE_MOUSE="/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-8/1-8.1/1-8.1.2/1-8.1.2:1.0/0003:1532:00AB.0009"
# Read raw level and charging status
raw=$(cat "$BASE/charge_level")
status=$(cat "$BASE/charge_status") # 1=charging, 0=not charging
type=$(cat "$BASE/device_type")
raw=$(cat "$BASE_MOUSE/charge_level")
status=$(cat "$BASE_MOUSE/charge_status") # 1=charging, 0=not charging
type=$(cat "$BASE_MOUSE/device_type")
# Compute %
percent=$(( raw * 100 / 255 ))
@@ -18,10 +18,10 @@ tooltip="$type"
if [[ $status -eq 1 ]]; then
icon="⚡"
cls="charging"
text="$icon $percent%"
text="󰍽 $icon $percent%"
else
cls="not_charging"
text="$percent%"
text="󰍽 $percent%"
fi
# Output Waybarfriendly JSON

View File

@@ -1,218 +1,85 @@
/*base background color*/
@define-color bg_main rgba(25, 25, 25, 0.65);
@define-color bg_main_tooltip rgba(0, 0, 0, 0.7);
/*base background color of selections */
@define-color bg_hover rgba(200, 200, 200, 0.3);
/*base background color of active elements */
@define-color bg_active rgba(100, 100, 100, 0.5);
/*base border color*/
@define-color border_main rgba(255, 255, 255, 0.2);
/*text color for entries, views and content in general */
@define-color content_main white;
/*text color for entries that are unselected */
@define-color content_inactive rgba(255, 255, 255, 0.25);
/* Palette */
@define-color bg_main rgba(11, 27, 43, 0.85);
@define-color bg_main_tooltip rgba(11, 27, 43, 0.95);
@define-color bg_hover rgba(79, 132, 204, 0.3);
@define-color bg_active rgba(53, 107, 171, 0.7);
@define-color border_main rgba(79, 132, 204, 0.5);
@define-color content_main #CAD3E8;
@define-color content_inactive rgba(202, 211, 232, 0.4);
@define-color warning_color #FFCC33;
/* Reset & Font */
* {
text-shadow: none;
box-shadow: none;
border: none;
border-radius: 0;
font-family: "Inconsolata Go Nerd Font";
font-size: 14px;
text-shadow: none;
box-shadow: none;
border-radius: 0;
margin: 0;
padding: 0;
}
/* Bar Background */
window#waybar {
background: @bg_main;
color: @content_main;
border-top: 1px solid @border_main;
color: @content_main;
}
/* Tooltips */
tooltip {
font-size: 14px;
background: @bg_main_tooltip;
border-radius: 5px;
border-width: 1px;
border-style: solid;
border-color: @border_main;
}
tooltip label {
color: @content_main;
border: 1px solid @border_main;
border-radius: 4px;
padding: 4px 6px;
}
/* Module Spacing & Hover */
.module {
margin-left: 2px;
margin-right: 2px;
padding: 0 6px;
margin: 0 2px;
}
.module:hover {
background: @bg_hover;
}
#workspaces {
color: transparent;
margin-right: 1.5px;
margin-left: 1.5px;
/* Separator Border */
#cpu,
#memory,
#disk,
#network,
#pulseaudio,
#bluetooth,
#custom-alhp,
#custom-razer-mouse-battery {
border-right: 1px solid @border_main;
}
/* Workspaces Buttons */
#workspaces button {
padding: 3px;
padding: 4px 6px;
color: @content_inactive;
}
#workspaces button.active {
color: whitesmoke;
background: @bg_active;
color: @content_main;
}
#workspaces button.focused {
color: @bg_active;
}
#workspaces button.urgent {
background: rgba(255, 200, 0, 0.35);
color: @warning_color;
}
#workspaces button:hover {
background: @bg_hover;
color: @content_main;
}
#cpu,
#disk,
#memory {
border-bottom: 1px solid grey;
padding-right: 5px;
padding-left: 5px;
}
#tray {
padding-left: 5px;
padding-right: 5px;
}
#tray > .passive {
border-bottom: none;
}
#tray > .active {
}
#tray > .needs-attention {
border-bottom: 3px solid @warning_color;
}
#tray > widget {
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#tray > widget:hover {
background: @bg_hover;
}
#pulseaudio {
border-bottom: 1px solid grey;
padding-right: 5px;
padding-left: 5px;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#pulseaudio:hover {
background: @bg_hover;
}
#network {
border-bottom: 1px solid grey;
padding-right: 5px;
padding-left: 5px;
#workspaces button.urgent {
background: rgba(255, 204, 51, 0.35);
color: @warning_color;
}
/* Tray & Clock Padding */
#tray,
#clock {
padding-right: 5px;
padding-left: 5px;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#clock:hover {
background: @bg_hover;
padding: 0 6px;
}
#privacy {
}
#privacy-item {
padding-left: 5px;
padding-right: 5px;
}
#privacy-item.screenshare {
background: #850404;
}
#privacy-item.audio-in {
background: #6c045e;
}
#privacy-item.audio-out {
background: #02605b;
}
#mpris {
padding-left: 5px;
padding-right: 5px;
}
#mpris.playing {
}
#mpris.paused {
}
#mpris.stopped {
}
#mpris.firefox {
border-bottom: 1px solid #fd8728;
}
#mpris.spotify {
border-bottom: 1px solid #17d860;
}
#mpris.mpv {
border-bottom: 1px solid #420042;
}
#mpris.chromium {
border-bottom: 1px solid #1a73e8;
}
#bluetooth {
padding-right: 5px;
padding-left: 5px;
}
#bluetooth.disabled {
border-bottom: 1px solid grey;
}
#bluetooth.off {
border-bottom: 1px solid grey;
}
#bluetooth.on {
border-bottom: 1px solid #0059fd;
}
#bluetooth.connected {
border-bottom: 1px solid #00b7fa;
}
#bluetooth.discoverable {
}
#bluetooth.discovering {
}
#bluetooth.pairable {
}
#bluetooth.no-controller {
background: darkred;
}
#custom-alhp {
padding-left: 5px;
padding-right: 5px;
}
#custom-alhp.good {
border-bottom: 1px solid #adff2f;
}
#custom-alhp.stale {
border-bottom: 1px solid #f6ac00;
}
#custom-alhp.bad {
border-bottom: 1px solid #ff4500;
}
#custom-alhp.down {
border-bottom: 1px solid #800000;
}
#custom-razer-mouse-battery {
padding-left: 5px;
padding-right: 5px;
}
#custom-razer-mouse-battery.charging {
border-bottom: 1px solid #adff2f;
}
#custom-razer-mouse-battery.not_charging {
border-bottom: 1px solid #f6ac00;
/* Critical Battery Color */
#battery.critical span {
color: @warning_color;
}