This commit is contained in:
2025-08-07 06:06:53 +02:00
parent 5599be8150
commit 2a3f8f7294
13 changed files with 229 additions and 266 deletions

View File

@@ -12,7 +12,7 @@ general {
# BACKGROUND # BACKGROUND
background { background {
monitor = monitor =
path = $HOME/Pictures/rem/rem-latte.jpg path = $HOME/Pictures/wallpapers/rem-latte.jpg
blur_passes = 0 blur_passes = 0
color = $base color = $base
} }

View File

@@ -1,4 +1,4 @@
# preload = ~/Pictures/red_moon/red_moon-latte.jpg
preload = ~/Pictures/red_moon/red_moon-latte.jpg preload = ~/Pictures/red_moon/red_moon-latte.jpg
preload = ~/Pictures/rem/rem-latte.jpg
# wallpaper = ,~/Pictures/red_moon/red_moon-latte.jpg # wallpaper = ,~/Pictures/red_moon/red_moon-latte.jpg
wallpaper = ,~/Pictures/rem/rem-latte.jpg wallpaper = , ~/Pictures/red_moon/red_moon-latte.jpg

View File

@@ -2,9 +2,8 @@
# Autostart necessary processes (like notifications daemons, status bars, etc.) # Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this: # Or execute your favorite apps at launch like this:
# exec-once = uwsm app -- waybar
exec-once = uwsm app -- nm-applet exec-once = uwsm app -- nm-applet
exec-once = uwsm app -- nextcloud --background exec-once = uwsm app -- nextcloud --background
exec-once = uwsm app -- rclone mount google_drive: ~/gdrive exec-once = uwsm app -- rclone mount google_drive: ~/gdrive
exec-once = uwsm app -- protonvpn-app exec-once = uwsm app -- protonvpn-app
# exec-once = uwsm app -- hyprpaper exec-once = uwsm app -- sh -c "/usr/bin/discord discord --enable-features=UseOzonePlatform --ozone-platform=wayland --start-minimized &> /dev/null"

View File

@@ -6,5 +6,8 @@ env = HYPRCURSOR_SIZE,24
env = XCURSOR_SIZE,24 env = XCURSOR_SIZE,24
env = XCURSOR_THEME,Bibata-Modern-Classic env = XCURSOR_THEME,Bibata-Modern-Classic
env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_CURRENT_DESKTOP,Hyprland
env = debug:full_cm_proto=true env = debug:full_cm_proto,true
env = QT_QPA_PLATFORMTHEME=qt6ct env = QT_QPA_PLATFORMTHEME,qt6ct
env = LIBVA_DRIVER_NAME,radeonsi
env = VDPAU_DRIVER,radeonsi
env = MOZ_ENABLE_WAYLAND,1

View File

@@ -2,8 +2,7 @@
# https://wiki.hyprland.org/Configuring/Variables/#input # https://wiki.hyprland.org/Configuring/Variables/#input
input { input {
kb_layout = us kb_layout = us
kb_variant = dvorak-intl, intl kb_variant = intl
# kb_variant = intl
kb_model = kb_model =
kb_options = kb_options =
kb_rules = kb_rules =
@@ -18,6 +17,13 @@ input {
} }
} }
device {
name = at-translated-set-2-keyboard
resolve_binds_by_sym = 1
kb_layout = us
kb_variant = dvorak-intl
}
# https://wiki.hyprland.org/Configuring/Variables/#gestures # https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures { gestures {
workspace_swipe = false workspace_swipe = false

View File

@@ -97,6 +97,7 @@ 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 vrr = 1
vfr = true
font_family = FiraCode Nerd Font font_family = FiraCode Nerd Font
} }

View File

@@ -12,6 +12,7 @@ windowrulev2=noblur,class:^()$,title:^()$
# games for tearing add the immediate rule # games for tearing add the immediate rule
windowrule = immediate, class:^(cs2)$ windowrule = immediate, class:^(cs2)$
windowrule = immediate, class:^(gamescope)$
# Float Windows # Float Windows
windowrule=float,title:^(Open File)$ windowrule=float,title:^(Open File)$
@@ -46,10 +47,20 @@ windowrule=center,title:^(pinentry-gtk-2)$
windowrule=center,title:^(Confirm to replace files)$ windowrule=center,title:^(Confirm to replace files)$
windowrule=center,title:^(File Operation Progress)$ windowrule=center,title:^(File Operation Progress)$
windowrule=center,class:^(pavucontrol|blueman-manager|nm-connection-editor)$ windowrule=center,class:^(pavucontrol|blueman-manager|nm-connection-editor)$
windowrule=noblur,title:^(Open File)$
windowrule=noblur,title:^(Select a File)$
windowrule=noblur,title:^(Choose a file)$
windowrule=noblur,title:^(Save As)$
windowrule=noblur,title:^(Save File)$
windowrule=noblur,title:^(branchdialog)$
windowrule=noblur,title:^(pinentry-gtk-2)$
windowrule=noblur,title:^(Confirm to replace files)$
windowrule=noblur,title:^(File Operation Progress)$
windowrule=noblur,class:^(pavucontrol|blueman-manager|nm-connection-editor)$
# Workspace Rules # Workspace Rules
windowrule=workspace 1,class:^(firefox)$ # windowrule=workspace 1,class:^(firefox)$
windowrule=workspace 2,class:^(kitty)$ # windowrule=workspace 2,class:^(kitty)$
windowrule=workspace 3,class:^(Code)$ # windowrule=workspace 3,class:^(Code)$
windowrule=workspace 4,class:^(steam)$ # windowrule=workspace 4,class:^(steam)$
windowrule=workspace 5,class:^(discord)$ # windowrule=workspace 5,class:^(discord)$

View File

@@ -1,11 +1,23 @@
// ~/.config/waybar/config.jsonc // ~/.config/waybar/config.jsonc
{ [{
"layer": "top", "layer": "top",
"position": "top", "position": "top",
"output": "!eDP-1",
"height": 35, "height": 35,
"modules-left": ["hyprland/workspaces"], "modules-left": ["hyprland/workspaces"],
"modules-center": [], "modules-center": [],
"modules-right": ["tray", "wireplumber", "custom/pixelbuds", "custom/anc", "network", "cpu", "memory", "custom/tlp", "clock", "custom/power"], "modules-right": [
"tray",
"wireplumber",
"custom/audio-output",
"network",
"cpu",
"memory",
"custom/tlp",
"clock",
"custom/power"
],
"hyprland/workspaces": { "hyprland/workspaces": {
"format": "{icon}", "format": "{icon}",
@@ -31,7 +43,7 @@
"format-wifi": "{essid} ({signalStrength}%): {ipaddr}", "format-wifi": "{essid} ({signalStrength}%): {ipaddr}",
"format-ethernet": "{ifname}: {ipaddr}", "format-ethernet": "{ifname}: {ipaddr}",
"format-disconnected": "Disconnected", "format-disconnected": "Disconnected",
"tooltip-format": "{ifname} via {gwaddr}", "tooltip-format": "{ifname} via {gwaddr}"
}, },
"wireplumber": { "wireplumber": {
"format": "{volume}% {icon}", "format": "{volume}% {icon}",
@@ -80,8 +92,7 @@
"critical": 15 "critical": 15
}, },
"format": "{capacity}%", "format": "{capacity}%",
"format-charging": "{capacity}%", "format-charging": "{capacity}%", "format-plugged": "{capacity}%",
"format-plugged": "{capacity}%",
"format-alt": "{time} {icon}", "format-alt": "{time} {icon}",
"format-full": "{capacity}%", "format-full": "{capacity}%",
"format-icons": ["", "", "", "", ""] "format-icons": ["", "", "", "", ""]
@@ -90,15 +101,154 @@
"format": "{}", "format": "{}",
"return-type": "json", "return-type": "json",
"exec": "~/.config/waybar/scripts/pixelbuds.sh", "exec": "~/.config/waybar/scripts/pixelbuds.sh",
"interval": 5, // Check status every 30 seconds "interval": 5,
"on-click": "bluetoothctl disconnect B4:23:A2:09:D3:53" // Optional: opens Bluetooth manager on click "on-click": "bluetoothctl disconnect B4:23:A2:09:D3:53"
}, },
"custom/anc": { "custom/anc": {
"format": "{}", "format": "{}",
"return-type": "json", "return-type": "json",
"exec": "~/.config/waybar/scripts/anc_control.sh", "exec": "~/.config/waybar/scripts/anc_control.sh",
"interval": 5, // Check status every 5 seconds "interval": 5,
"on-click": "~/.config/waybar/scripts/anc_control.sh off", // Left-click "on-click": "~/.config/waybar/scripts/anc_control.sh off",
"on-click-right": "~/.config/waybar/scripts/anc_control.sh cycle" // Right-click "on-click-right": "~/.config/waybar/scripts/anc_control.sh cycle"
},
"custom/audio-output": {
"format": "{}",
"return-type": "json",
"exec": "/home/narl/.config/waybar/scripts/get_audio_output.sh",
"on-click": "/home/narl/.config/waybar/scripts/cycle_audio_output.sh",
"interval": 1
},
"custom/gamemode": {
"format": "󰮂",
"on-click": "~/.config/hypr/scripts/gamemode.sh"
} }
},
{
"layer": "top",
"height": 35,
"output": "eDP-1",
"modules-left": ["hyprland/workspaces"],
"modules-center": [],
"modules-right": [
"tray",
"wireplumber",
"custom/audio-output",
"custom/pixelbuds",
"custom/anc",
"network",
"cpu",
"memory",
"custom/tlp",
"clock",
"custom/power"
],
"hyprland/workspaces": {
"format": "{icon}",
"on-click": "activate"
},
"hyprland/window": {
"format": "{}",
"max-length": 35
},
"clock": {
"format": "{:%H:%M}",
"format-alt": "{:%a, %b %d}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
},
"cpu": {
"format": "CPU: {usage}%",
"tooltip": true
},
"memory": {
"format": "MEM: {}%"
},
"network": {
"format-wifi": "{essid} ({signalStrength}%): {ipaddr}",
"format-ethernet": "{ifname}: {ipaddr}",
"format-disconnected": "Disconnected",
"tooltip-format": "{ifname} via {gwaddr}"
},
"wireplumber": {
"format": "{volume}% {icon}",
"format-muted": "Muted ",
"format-icons": {
"headphone": "",
"hands-free": "",
"default": ["", ""]
},
"on-click": "pavucontrol",
"scroll-step": 1
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": " Muted",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-click": "pavucontrol"
},
"tray": {
"icon-size": 18,
"spacing": 10
},
"custom/power": {
"format": "",
"tooltip": false,
"on-click": "~/.config/hypr/scripts/powermenu.sh"
},
"custom/tlp": {
"format": "{}",
"exec": "~/.config/waybar/scripts/tlp-profile.sh",
"return-type": "json",
"interval": 5
},
"battery": {
"states": {
"warning": 30,
"critical": 15
},
"format": "{capacity}%",
"format-charging": "{capacity}%", "format-plugged": "{capacity}%",
"format-alt": "{time} {icon}",
"format-full": "{capacity}%",
"format-icons": ["", "", "", "", ""]
},
"custom/pixelbuds": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/pixelbuds.sh",
"interval": 5,
"on-click": "bluetoothctl disconnect B4:23:A2:09:D3:53"
},
"custom/anc": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/anc_control.sh",
"interval": 5,
"on-click": "~/.config/waybar/scripts/anc_control.sh off",
"on-click-right": "~/.config/waybar/scripts/anc_control.sh cycle"
},
"custom/audio-output": {
"format": "{}",
"return-type": "json",
"exec": "/home/narl/.config/waybar/scripts/get_audio_output.sh",
"on-click": "/home/narl/.config/waybar/scripts/cycle_audio_output.sh",
"interval": 1
},
"custom/gamemode": {
"format": "󰮂",
"on-click": "~/.config/hypr/scripts/gamemode.sh"
} }
}]

View File

@@ -0,0 +1,12 @@
#!/bin/bash
SINKS=($(pactl list short sinks | awk '{print $2}'))
CURRENT_SINK=$(pactl info | grep 'Default Sink' | cut -d ' ' -f3)
NUM_SINKS=${#SINKS[@]}
for i in "${!SINKS[@]}"; do
if [[ "${SINKS[$i]}" == "$CURRENT_SINK" ]]; then
NEXT_INDEX=$(( (i + 1) % NUM_SINKS ))
pactl set-default-sink "${SINKS[$NEXT_INDEX]}"
break
fi
done

View File

@@ -0,0 +1,12 @@
#!/bin/bash
DEFAULT_SINK=$(pactl info | grep 'Default Sink' | cut -d ' ' -f3)
DESCRIPTION=$(pactl list sinks | grep -A2 "Name: $DEFAULT_SINK" | grep "Description:" | cut -d ' ' -f2-)
if [ -z "$DESCRIPTION" ]; then
DESCRIPTION=$DEFAULT_SINK
fi
TEXT=$(echo "$DESCRIPTION" | cut -c -20)
printf '{"text": "%s", "tooltip": "%s"}
' "$TEXT" "$DESCRIPTION"

View File

@@ -1,4 +1,3 @@
/* ~/.config/waybar/style.css */ /* ~/.config/waybar/style.css */
@import "./catppuccin-waybar/themes/mocha.css"; @import "./catppuccin-waybar/themes/mocha.css";
@@ -57,6 +56,7 @@ window#waybar.hidden {
#memory, #memory,
#cpu, #cpu,
#custom-power, #custom-power,
#custom-gamemode,
#custom-tlp, #custom-tlp,
#battery, #battery,
#backlight, #backlight,
@@ -65,7 +65,8 @@ window#waybar.hidden {
#clock, #clock,
#tray, #tray,
#custom-pixelbuds, #custom-pixelbuds,
#custom-anc { #custom-anc,
#custom-audio-output {
border-radius: 4px; border-radius: 4px;
margin: 6px 3px; margin: 6px 3px;
padding: 6px 12px; padding: 6px 12px;
@@ -91,7 +92,8 @@ window#waybar.hidden {
#custom-anc.disconnected { #custom-anc.disconnected {
} }
#custom-power { #custom-power,
#custom-gamemode {
color: @red; color: @red;
padding: 6px 12px 6px 10px; padding: 6px 12px 6px 10px;
} }
@@ -151,6 +153,11 @@ window#waybar.hidden {
border-bottom: 3px solid @mauve; border-bottom: 3px solid @mauve;
} }
#custom-audio-output {
color: @mauve;
border-bottom: 3px solid @mauve;
}
#network { #network {
color: @mauve; color: @mauve;
padding-right: 15px; padding-right: 15px;

View File

@@ -1,157 +0,0 @@
/* ~/.config/waybar/style.css */
@import "./catppuccin-waybar/themes/mocha.css";
* {
border: none;
border-radius: 0;
min-height: 0;
font-family: JetBrainsMono Nerd Font;
font-size: 13px;
}
window#waybar {
background-color: alpha(@base, 0.6);
margin: 10px;
transition-property: background-color;
transition-duration: 0.5s;
color: @text;
}
window#waybar.hidden {
opacity: 0.5;
}
#workspaces {
}
#workspaces button {
all: initial;
/* Remove GTK theme values (waybar #1351) */
min-width: 0;
/* Fix weird spacing in materia (waybar #450) */
box-shadow: inset 0 -3px transparent;
/* Use box-shadow instead of border so the text isn't offset */
padding: 6px 18px;
margin: 6px 3px;
border-radius: 3px;
background-color: alpha(@base, 0.9);
color: @text;
}
#workspaces button.active {
border-bottom: 3px solid @green;
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
background-color: @teal;
color: @base;
}
#workspaces button.urgent {
border-bottom: 3px solid @red;
}
#memory,
#cpu,
#custom-power,
#custom-tlp,
#battery,
#backlight,
#wireplumber,
#network,
#clock,
#tray {
border-radius: 4px;
margin: 6px 3px;
padding: 6px 12px;
background-color: @base;
color: @text;
}
#custom-power {
color: @red;
padding: 6px 12px 6px 10px;
}
#custom-tlp {
padding: 0 10px;
padding-right: 10px;
margin-right: 0;
}
#custom-tlp.ac {
color: @green; /* Catppuccin Green for AC power */
}
#custom-tlp.bat {
color: @yellow; /* Catppuccin Yellow for Battery power */
}
#battery {
color: @text;
padding: 0 10px;
padding-left: 0;
margin-left: 0;
}
#battery.charging, #battery.plugged {
color: @green;
}
#battery.warning {
color: @yellow;
}
#battery.critical {
color: @red;
animation-name: blink;
animation-duration: 0.8s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
@keyframes blink {
to {
color: @text;
}
}
#memory,
#cpu {
color: @maroon;
}
#backlight {
color: @mauve;
}
#wireplumber {
color: @mauve;
padding-right: 15px;
}
#network {
color: @mauve;
padding-right: 15px;
}
#clock {
font-family: JetBrainsMono Nerd Font;
color: @mauve;
}
tooltip {
border-radius: 8px;
padding: 15px;
background-color: @base;
}
tooltip label {
padding: 5px;
background-color: @base;
}

View File

@@ -1,81 +0,0 @@
/* ~/.config/waybar/style.css */
@import "./catppuccin-waybar/themes/mocha.css";
* {
font-family: "0xProto Nerd Font", FontAwesome, sans-serif;
font-size: 14px;
padding: 0 5px;
}
window#waybar {
background-color: alpha(@base, 0.9);
border-bottom: 3px solid @mauve;
color: @text;
}
#workspaces {
margin-bottom: 5px;
}
#workspaces button {
padding: 0 5px;
background-color: transparent;
color: @surface2;
}
#workspaces button.active {
color: @mauve;
border-bottom: 3px solid @pink;
}
#workspaces button:hover {
background: @surface0;
box-shadow: inherit;
text-shadow: inherit;
}
#custom-power {
color: @red;
padding: 0 10px;
}
#custom-tlp {
padding: 0 10px;
}
#custom-tlp.ac {
color: @green; /* Catppuccin Green for AC power */
}
#custom-tlp.bat {
color: @yellow; /* Catppuccin Yellow for Battery power */
}
#battery {
color: @text;
padding: 0 10px;
padding-left: 0;
}
#battery.charging, #battery.plugged {
color: @green;
}
#battery.warning {
color: @yellow;
}
#battery.critical {
color: @red;
animation-name: blink;
animation-duration: 0.8s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
@keyframes blink {
to {
color: @text;
}
}