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

@@ -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;
}