2 Commits
Author SHA1 Message Date
nvrl cbaf55cfc5 updated 2026-08-10 22:36:16 +02:00
nvrl ad1b8fe3a9 update 2026-05-09 07:21:33 +02:00
23 changed files with 344 additions and 110 deletions
+18 -4
View File
@@ -1,4 +1,4 @@
#? Config file for btop v.1.4.6 #? Config file for btop v.1.4.7
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. #* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" #* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
@@ -14,6 +14,11 @@ truecolor = true
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. #* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = false force_tty = false
#* Option to disable presets. Either the default preset, custom presets, or all presets.
#* "Off" All presets are enabled.
#* "Default" preset is disabled.#* "Custom" presets are disabled.#* "All" presets are disabled.
disable_presets = "Off"
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. #* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. #* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use whitespace " " as separator between different presets. #* Use whitespace " " as separator between different presets.
@@ -24,6 +29,9 @@ presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:defaul
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. #* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = true vim_keys = true
#* Disable all mouse events.
disable_mouse = false
#* Rounded corners on boxes, is ignored if TTY mode is ON. #* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = true rounded_corners = true
@@ -60,7 +68,7 @@ update_ms = 1000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", #* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. #* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu lazy" proc_sorting = "memory"
#* Reverse sorting order, True or False. #* Reverse sorting order, True or False.
proc_reversed = false proc_reversed = false
@@ -92,6 +100,9 @@ proc_left = false
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). #* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = false proc_filter_kernel = false
#* Should the process list follow the selected process when detailed view is open.
proc_follow_detailed = true
#* In tree-view, always accumulate child process resources in the parent process. #* In tree-view, always accumulate child process resources in the parent process.
proc_aggregate = false proc_aggregate = false
@@ -208,6 +219,9 @@ io_graph_combined = false
#* Example: "/mnt/media:100 /:20 /boot:1". #* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = "" io_graph_speeds = ""
#* Swap the positions of the upload and download speed graphs. When true, upload will be on top.
swap_upload_download = false
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. #* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100 net_download = 100
@@ -250,11 +264,11 @@ rsmi_measure_pcie_speeds = true
#* Horizontally mirror the GPU graph. #* Horizontally mirror the GPU graph.
gpu_mirror_graph = true gpu_mirror_graph = true
#* Set which GPU vendors to show. Available values are "nvidia amd intel" #* Set which GPU vendors to show. Available values are "nvidia amd intel apple"
shown_gpus = "nvidia amd intel" shown_gpus = "nvidia amd intel"
#* Custom gpu0 model name, empty string to disable. #* Custom gpu0 model name, empty string to disable.
custom_gpu_name0 = "" custom_gpu_name0 = "Radeon Vega"
#* Custom gpu1 model name, empty string to disable. #* Custom gpu1 model name, empty string to disable.
custom_gpu_name1 = "" custom_gpu_name1 = ""
+4
View File
@@ -37,3 +37,7 @@ if status is-login && test -z "$DISPLAY" -a -z "$WAYLAND_DISPLAY"
exec uwsm start default exec uwsm start default
end end
end end
# Claude environments
alias claude="CLAUDE_CONFIG_DIR=~/.claude command claude"
alias claude-work="CLAUDE_CONFIG_DIR=~/.claude-work command claude"
+3
View File
@@ -0,0 +1,3 @@
function feh --description 'alias feh=feh -.'
command feh -. $argv
end
+1 -1
View File
@@ -1,3 +1,3 @@
function ls --wraps='exa --long --color=auto' --description 'alias ls=exa --long --color=auto' function ls --wraps='exa --long --color=auto' --description 'alias ls=exa --long --color=auto'
exa --long --color=auto $argv; exa -l --color=auto $argv;
end end
+7 -7
View File
@@ -36,18 +36,18 @@ format = "{mount} {used:^3.0}/{total:^3.0}G"
[power] [power]
format = "{percentage:>3}% {icon}" format = "{percentage:>3}% {icon}"
[audio] [audio]
format_sink_unmuted = "{name} {volume:>3}% <span size='large'> {icon}</span>" format_sink_unmuted = "{name} {volume:>3}% <span size='large'>{icon}</span>"
format_sink_muted = "{name} <span size='large'> {icon}</span>" format_sink_muted = "{name} <span size='large'> {icon}</span>"
format_source_unmuted = "{name} {volume:>3}% <span size='large'> {icon}</span>" format_source_unmuted = "{name} {volume:>3}% <span size='large'>{icon}</span>"
format_source_muted = "{name} <span size='large'> {icon}</span>" format_source_muted = "{name} <span size='large'>{icon}</span>"
[bt] [bt]
format_plugin = "{alias} [{left}|{right}] {anc} <span size='large'> 󰂰</span>" format_plugin = "{alias} [{left}|{right}] {anc} <span size='large'>󰂰</span>"
format_connected = "{alias} <span size='large'> 󰂰</span>" format_connected = "{alias} <span size='large'>󰂰</span>"
format_disconnected = "Disconnected <span size='large'> 󰂯</span>" format_disconnected = "Disconnected <span size='large'>󰂯</span>"
format_disabled = "<span size='large'>󰂲</span>" format_disabled = "<span size='large'>󰂲</span>"
[game] [game]
+1 -1
View File
@@ -1,6 +1,6 @@
wallpaper { wallpaper {
monitor = monitor =
path = ~/Pictures/reze/reze.png path = ~/.wallpapers/takemi_2.jpg
fit_mode = cover fit_mode = cover
} }
+1 -1
View File
@@ -1 +1 @@
monitor=eDP-1, disable
+1
View File
@@ -12,6 +12,7 @@ env = XDG_CURRENT_DESKTOP,Hyprland
env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_QPA_PLATFORMTHEME,qt6ct
env = LIBVA_DRIVER_NAME,radeonsi env = LIBVA_DRIVER_NAME,radeonsi
env = VDPAU_DRIVER,radeonsi env = VDPAU_DRIVER,radeonsi
env = AMD_VULKAN_ICD,RADV
env = MOZ_ENABLE_WAYLAND,1 env = MOZ_ENABLE_WAYLAND,1
env = ELECTRON_OZONE_PLATFORM_HINT,wayland env = ELECTRON_OZONE_PLATFORM_HINT,wayland
env = EDITOR,nvim env = EDITOR,nvim
+6 -8
View File
@@ -1,13 +1,13 @@
# https://wiki.hyprland.org/Configuring/Variables/#input # https://wiki.hyprland.org/Configuring/Variables/#input
input { input {
# index 0 = dvorak-intl (default), index 1 = us-intl
# switch with $mainMod ALT, SPACE (see keybinds.conf)
kb_layout = us,us kb_layout = us,us
kb_variant = dvorak-intl, intl kb_variant = dvorak-intl,intl
# kb_variant = intl
kb_model = kb_model =
kb_options =
kb_rules = kb_rules =
kb_options = ctrl:nocaps kb_options = caps:backspace
follow_mouse = 0 follow_mouse = 0
@@ -19,16 +19,14 @@ input {
} }
} }
# Layouts are inherited from the global input block so that layout
# switching applies to these too. Only bind resolution differs here.
device { device {
name = at-translated-set-2-keyboard name = at-translated-set-2-keyboard
resolve_binds_by_sym = 1 resolve_binds_by_sym = 1
kb_layout = us
kb_variant = dvorak-intl
} }
device { device {
name = topre-corporation-hhkb-professional name = topre-corporation-hhkb-professional
resolve_binds_by_sym = 1 resolve_binds_by_sym = 1
kb_layout = us
kb_variant = dvorak-intl
} }
+6 -1
View File
@@ -7,11 +7,14 @@ bindl=,switch:off:Lid Switch,exec,~/.config/hypr/scripts/lid_handler.sh open
bindr = ALT, m, exec, cliphist list | fuzzel --dmenu | cliphist decode | wl-copy bindr = ALT, m, exec, cliphist list | fuzzel --dmenu | cliphist decode | wl-copy
bind = , PRINT, exec, grim -g "$(slurp)" - | wl-copy bind = , PRINT, exec, grim -g "$(slurp)" - | wl-copy
bind = SHIFT, PRINT, exec, grim -g "$(slurp)" ~/Pictures/Screenshots/$(date +'%Y-%m-%d_%H-%M-%S').png bind = SHIFT, PRINT, exec, grim -g "$(slurp)" ~/Pictures/Screenshots/$(date +'%Y-%m-%d_%H-%M-%S').png
bind = CTRL, PRINT, exec, ~/.config/hypr/scripts/screenshot_window.sh copy
bind = CTRL SHIFT, PRINT, exec, ~/.config/hypr/scripts/screenshot_window.sh save
bindr = ALT SHIFT, z, exec, ~/.config/hypr/scripts/replay-ctrl.sh save bindr = ALT SHIFT, z, exec, ~/.config/hypr/scripts/replay-ctrl.sh save
bindr = ALT, z, exec, ~/.config/hypr/scripts/replay-ctrl.sh toggle bindr = ALT, z, exec, ~/.config/hypr/scripts/replay-ctrl.sh toggle
bindr = ALT SHIFT, c, exec, ~/.config/hypr/scripts/droidcam-ctrl.sh toggle bindr = ALT SHIFT, c, exec, ~/.config/hypr/scripts/droidcam-ctrl.sh toggle
# general binds # general binds
bind = $mainMod, M, exec, pdfs-prompt
bind = $mainMod, B, exec, fluxo bt menu bind = $mainMod, B, exec, fluxo bt menu
bind = $mainMod, RETURN, exec, $terminal bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod SHIFT, Q, killactive, bind = $mainMod SHIFT, Q, killactive,
@@ -21,7 +24,9 @@ bind = $mainMod, V, togglefloating,
bind = $mainMod, F, fullscreen, bind = $mainMod, F, fullscreen,
bind = $mainMod, SPACE, exec, $menu bind = $mainMod, SPACE, exec, $menu
bind = $mainMod, P, exec, ~/.config/hypr/scripts/powermenu.sh bind = $mainMod, P, exec, ~/.config/hypr/scripts/powermenu.sh
bind = $mainMod, t, togglesplit, # dwindle # cycle keyboard layout (dvorak-intl <-> us-intl)
bind = $mainMod ALT, SPACE, exec, hyprctl switchxkblayout all next
# bind = $mainMod, t, togglesplit, # dwindle
bind = $mainMod, n, togglegroup bind = $mainMod, n, togglegroup
# Move focus with mainMod + arrow keys # Move focus with mainMod + arrow keys
+5 -3
View File
@@ -2,9 +2,11 @@
# laptop screen # laptop screen
monitor = eDP-1, 1920x1080@60, 0x0, 1 monitor = eDP-1, 1920x1080@60, 0x0, 1
# samsung home monitor # samsung home monitor
monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 2560x1440@144, 0x-1440, 1 # monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 1280x720@240, 0x0, 1
# monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 1920x1080@144, 0x-1080, 1 monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 2560x1440@240, -2560x0, 1
# monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 2560x1440@60, 0x-1440, 1 # monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 2560x1440@144, 0x0, 1
# monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 1920x1080@144, 0x0, 1
# monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 2560x1440@60, 0x0, 1
# lid_state fallback # lid_state fallback
-38
View File
@@ -1,38 +0,0 @@
exec-once = hyprpm reload -n
# plugin:hyprfocus {
# enabled = yes
# animate_floating = yes
# animate_workspacechange = yes
# focus_animation = shrink
# # Beziers for focus animations
# bezier = bezIn, 0.5,0.0,1.0,0.5
# bezier = bezOut, 0.0,0.5,0.5,1.0
# bezier = overshot, 0.05, 0.9, 0.1, 1.05
# bezier = smoothOut, 0.36, 0, 0.66, -0.56
# bezier = smoothIn, 0.25, 1, 0.5, 1
# bezier = realsmooth, 0.28,0.29,.69,1.08
# # Flash settings
# flash {
# flash_opacity = 0.95
# in_bezier = realsmooth
# in_speed = 0.5
# out_bezier = realsmooth
# out_speed = 3
# }
# # Shrink settings
# shrink {
# shrink_percentage = 0.95
# in_bezier = realsmooth
# in_speed = 1
# out_bezier = realsmooth
# out_speed = 2
# }
# }
#
# plugin:csgo-vulkan-fix {
# res_w = 1280
# res_h = 960
# class = gamescope
# fix_mouse = true
# }
+4 -13
View File
@@ -80,12 +80,6 @@ animations {
animation = workspacesOut, 1, 1.94, almostLinear, fade animation = workspacesOut, 1, 1.94, almostLinear, fade
} }
# 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 # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master { master {
new_status = master new_status = master
@@ -95,7 +89,8 @@ master {
misc { misc {
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
vrr = 1 # 0 = off, 1 = always, 2 = fullscreen only (G7 is a 240Hz VRR panel)
vrr = 2
font_family = FiraCode Nerd Font font_family = FiraCode Nerd Font
} }
@@ -123,12 +118,8 @@ group {
# Dark surface background with dimmed, soft text # Dark surface background with dimmed, soft text
col.inactive = $surface0 col.inactive = $surface0
text_color_inactive = $subtext0 text_color_inactive = $subtext0
height = 1
font_size = 11 # Colored indicator bar, roughly half the groupbar height
# about half the indicator height
text_offset = -7
# Make the indicator tall enough to render text inside
indicator_height = 15 indicator_height = 15
} }
} }
+1 -1
View File
@@ -6,7 +6,7 @@
# ========================================== # ==========================================
# Dialogs and utility apps that should float in the center # Dialogs and utility apps that should float in the center
$dialog_titles = ^(Open Form|Open File|Select a File|Choose a file|Open Workspace|Choose Directory.*|Save As.*|Save File.*|branchdialog|pinentry-gtk-2|Confirm to replace files|File Operation Progress|Open Files.*|Anmelden.*|File Upload.*|TRuDI-Export laden)$ $dialog_titles = ^(Open Form|Open File|Select a File|Choose a file|Open Workspace|Choose Directory.*|Save As.*|Save File.*|branchdialog|pinentry-gtk-2|Confirm to replace files|File Operation Progress|Open Files.*|Anmelden.*|File Upload.*|TRuDI-Export laden)$
$dialog_classes = ^(pavucontrol|blueman-manager|nm-connection-editor|org.pulseaudio.pavucontrol)$ $dialog_classes = ^(pavucontrol|blueman-manager|nm-connection-editor|org.pulseaudio.pavucontrol|io.narl.proton-drive-linux-prompt)$
# App classes # App classes
$steam = ^(steam)$ $steam = ^(steam)$
+49
View File
@@ -0,0 +1,49 @@
#!/bin/sh
# Get active window info in JSON format
WINDOW_INFO=$(hyprctl activewindow -j)
# Extract window class name (app name)
APP_NAME=$(echo "$WINDOW_INFO" | jq -r '.class')
# If app name is empty, null, or invalid, default to "unknown"
if [ -z "$APP_NAME" ] || [ "$APP_NAME" = "null" ]; then
APP_NAME="unknown"
fi
# Sanitize app name: convert to lowercase and replace characters that aren't letters, numbers, hyphens, or underscores with underscores
APP_NAME_SAFE=$(echo "$APP_NAME" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9_-]/_/g')
# Extract geometry: "x,y wxh"
GEOMETRY=$(echo "$WINDOW_INFO" | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')
# Check if geometry is valid
if [ -z "$GEOMETRY" ] || [ "$GEOMETRY" = "null,null nullxnull" ]; then
notify-send -u normal "Screenshot Error" "No active window found to screenshot."
exit 1
fi
ACTION=$1
case "$ACTION" in
copy)
grim -g "$GEOMETRY" - | wl-copy
notify-send -u low "Screenshot" "Active window ($APP_NAME) copied to clipboard"
;;
save)
SCREENSHOTS_DIR="$HOME/Pictures/Screenshots"
APP_DIR="$SCREENSHOTS_DIR/$APP_NAME_SAFE"
mkdir -p "$APP_DIR"
FILE_NAME="$(date +'%Y-%m-%d_%H-%M-%S').png"
FILE_PATH="$APP_DIR/$FILE_NAME"
grim -g "$GEOMETRY" "$FILE_PATH"
notify-send -u low "Screenshot" "Saved active window to $APP_NAME_SAFE/$FILE_NAME"
;;
*)
echo "Usage: $0 {copy|save}"
exit 1
;;
esac
exit 0
+15 -5
View File
@@ -2,23 +2,26 @@
application/pdf=org.pwmt.zathura-pdf-poppler.desktop application/pdf=org.pwmt.zathura-pdf-poppler.desktop
image/jpeg=feh.desktop image/jpeg=feh.desktop
image/png=feh.desktop image/png=feh.desktop
x-scheme-handler/http=zen.desktop x-scheme-handler/http=brave-browser.desktop
x-scheme-handler/https=zen.desktop x-scheme-handler/https=brave-browser.desktop
x-scheme-handler/chrome=zen.desktop x-scheme-handler/chrome=zen.desktop
text/html=zen.desktop text/html=brave-browser.desktop
application/x-extension-htm=zen.desktop application/x-extension-htm=zen.desktop
application/x-extension-html=zen.desktop application/x-extension-html=zen.desktop
application/x-extension-shtml=zen.desktop application/x-extension-shtml=zen.desktop
application/xhtml+xml=zen.desktop application/xhtml+xml=zen.desktop
application/x-extension-xhtml=zen.desktop application/x-extension-xhtml=zen.desktop
application/x-extension-xht=zen.desktop application/x-extension-xht=zen.desktop
x-scheme-handler/about=google-chrome.desktop x-scheme-handler/about=brave-browser.desktop
x-scheme-handler/unknown=google-chrome.desktop x-scheme-handler/unknown=brave-browser.desktop
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop
x-scheme-handler/ror2mm=r2modman.desktop x-scheme-handler/ror2mm=r2modman.desktop
image/webp=feh.desktop image/webp=feh.desktop
x-scheme-handler/claude-cli=claude-code-url-handler.desktop x-scheme-handler/claude-cli=claude-code-url-handler.desktop
x-scheme-handler/msteams=teams-for-linux.desktop x-scheme-handler/msteams=teams-for-linux.desktop
x-scheme-handler/slack=slack.desktop
audio/flac=mpv.desktop
x-scheme-handler/codex=ChatGPT.desktop
[Added Associations] [Added Associations]
application/pdf=org.pwmt.zathura-pdf-poppler.desktop; application/pdf=org.pwmt.zathura-pdf-poppler.desktop;
@@ -30,3 +33,10 @@ text/html=zen.desktop;
x-scheme-handler/chrome=zen.desktop; x-scheme-handler/chrome=zen.desktop;
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop; application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop;
image/webp=feh.desktop; image/webp=feh.desktop;
application/x-extension-htm=zen.desktop;
application/x-extension-html=zen.desktop;
application/x-extension-shtml=zen.desktop;
application/xhtml+xml=zen.desktop;
application/x-extension-xhtml=zen.desktop;
application/x-extension-xht=zen.desktop;
audio/flac=mpv.desktop;
@@ -0,0 +1 @@
/usr/lib/systemd/user/proton-drive.service
@@ -1 +0,0 @@
/home/narl/.config/systemd/user/vaulthunters_mount.service
+1 -1
View File
@@ -15,7 +15,7 @@ ExecStart=rclone mount google_drive: %h/remote/gdrive \
--log-level INFO --log-level INFO
# The command to unmount gracefully. # The command to unmount gracefully.
ExecStop=fusermount -u %h/gdrive ExecStop=fusermount -u %h/remote/gdrive
Restart=on-failure Restart=on-failure
RestartSec=10 RestartSec=10
+1 -1
View File
@@ -12,7 +12,7 @@ After=network-online.target
ExecStart=sshfs -f -p 420 narl@narl.io:/opt %h/remote/narl.io ExecStart=sshfs -f -p 420 narl@narl.io:/opt %h/remote/narl.io
# The command to unmount gracefully. # The command to unmount gracefully.
ExecStop=fusermount -u %h/narl_io ExecStop=fusermount -u %h/remote/narl.io
Restart=on-failure Restart=on-failure
RestartSec=10 RestartSec=10
-22
View File
@@ -1,22 +0,0 @@
# ~/.config/systemd/user/rclone-mount.service
[Unit]
Description=sshfs mount for narl.io vaulthunters server
# This ensures your network is ready before it tries to mount
After=network-online.target
[Service]
# The command to start the mount.
# Replace "my-remote:" and "/path/to/local/mount" accordingly.
# The flags below are highly recommended for a good experience.
ExecStart=sshfs -f -p 420 narl@vh3.narl.io:/opt/minecraft_vaulthunters %h/remote/vh3.narl.io
# The command to unmount gracefully.
ExecStop=fusermount -u %h/vaulthunters_server
Restart=on-failure
RestartSec=10
[Install]
# This tells systemd to start the service at user login.
WantedBy=default.target
+1 -2
View File
@@ -22,8 +22,7 @@
// --- Standard Modules --- // --- Standard Modules ---
"hyprland/workspaces": { "hyprland/workspaces": {
"format": "{icon}", "format": "{icon}"
"on-click": "activate"
}, },
"hyprland/window": { "hyprland/window": {
"format": "{}", "format": "{}",
+218
View File
@@ -0,0 +1,218 @@
/* ~/.config/waybar/style.css */
@import "./catppuccin-waybar/themes/mocha.css";
/* ==========================================================================
Global Reset & Bar
========================================================================== */
* {
border: none;
border-radius: 12px;
min-height: 0;
font-family: "JetBrainsMono Nerd Font", sans-serif;
font-size: 12px;
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
window#waybar {
background-color: transparent;
color: @text;
}
/* ==========================================================================
Base Islands (Containers)
========================================================================== */
/* Groups and standalone modules receive the floating island styling */
#spaces,
#powertray,
#hardware,
#center,
#custom-bluetooth-audio,
#custom-volume,
#custom-buds,
#custom-mic {
background-color: alpha(@surface0, 0.8);
margin: 4px 6px;
padding: 4px 16px;
border: 1px solid alpha(@surface1, 0.5);
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);
color: @text;
}
/* Group-specific sizing overrides */
#hardware,
#powertray,
#spaces {
border-radius: 24px;
padding: 4px 10px;
}
/* Center Pill (Clock + MPRIS) Override */
#center {
background: linear-gradient(45deg, @mauve, @lavender);
color: @surface0;
font-weight: 900;
padding: 4px 20px;
}
/* ==========================================================================
Grouped Modules (Inner Items)
========================================================================== */
/* Strip backgrounds and borders from items that live inside groups */
#workspaces,
#window,
#custom-cpu,
#custom-mem,
#custom-sys,
#custom-gpu,
#custom-disk-root,
#custom-mpris,
#custom-network,
#custom-backlight,
#clock,
#tray,
#custom-gamemode,
#custom-dnd,
#custom-power_status {
background-color: transparent;
border: none;
box-shadow: none;
margin: 0;
padding: 0 8px;
}
/* Subtle vertical separator line between inner items */
#custom-cpu,
#custom-mem,
#custom-sys,
#custom-gpu,
#custom-disk-root,
#custom-mpris,
#custom-network,
#tray,
#custom-gamemode,
#custom-dnd {
border-right: 1px solid alpha(@surface1, 0.5);
border-radius: 0;
}
/* ==========================================================================
Specific Module Overrides & Alerts
========================================================================== */
/* --- Workspaces --- */
#workspaces {
padding: 0px 8px; /* Override the inner item padding */
}
#workspaces button {
padding: 0;
margin: 4px;
min-width: 12px;
min-height: 12px;
background-color: @subtext0;
color: transparent;
border-radius: 12px;
}
#workspaces button.active,
#workspaces button.active:hover {
min-width: 30px;
background-color: @mauve;
}
#workspaces button:hover {
background-color: @lavender;
min-width: 20px;
}
#workspaces button.urgent {
background-color: @red;
}
/* --- Hardware Semantic Alerts --- */
.normal { color: @mauve; }
.high { color: @peach; }
.max { color: @red; }
#custom-network { color: @mauve; }
#custom-gamemode.active { color: @mauve; }
/* --- Media / Controls --- */
#custom-volume.unmuted,
#custom-mic.unmuted {
color: @mauve;
}
#custom-volume.muted,
#custom-mic.muted {
color: @overlay1;
}
/* --- Bluetooth Audio --- */
#custom-bluetooth-audio.disabled,
#custom-bluetooth-audio.disconnected {
color: @overlay1;
}
#custom-bluetooth-audio.connected {
color: @blue;
}
/* ANC States */
#custom-bluetooth-audio.anc-active,
#custom-bluetooth-audio.connected.anc-active,
#custom-bluetooth-audio.connected\ anc-active {
color: @mauve;
}
#custom-bluetooth-audio.anc-aware,
#custom-bluetooth-audio.connected.anc-aware,
#custom-bluetooth-audio.connected\ anc-aware {
color: @green;
}
#custom-bluetooth-audio.anc-off,
#custom-bluetooth-audio.connected.anc-off,
#custom-bluetooth-audio.connected\ anc-off {
color: @blue;
}
/* --- Power Status --- */
#custom-power_status.charging { color: @green; }
#custom-power_status.warning { color: @peach; }
#custom-power_status.critical {
color: @red;
animation: blink 1s infinite alternate;
}
/* Interactive Hover States for Standalone Modules */
#custom-volume:hover,
#custom-buds:hover,
#custom-mic:hover,
#custom-bluetooth-audio:hover,
#custom-power_status:hover {
background-color: @surface1;
color: @mauve;
}
/* ==========================================================================
Tooltips & Animations
========================================================================== */
tooltip {
background-color: alpha(@base, 0.9);
border: 1px solid @surface1;
border-radius: 8px;
}
tooltip label {
color: @text;
padding: 8px;
}
@keyframes blink {
to {
color: @base;
background-color: @red;
}
}