add hyprland configs

This commit is contained in:
m3philis
2025-04-07 23:03:46 +02:00
parent 2fc2338e73
commit bbeb93cd79
15 changed files with 3430 additions and 2 deletions

151
waybar/config.jsonc Normal file
View File

@@ -0,0 +1,151 @@
// -*- mode: jsonc -*-
{
// "layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": [
"hyprland/workspaces",
"hyprland/submap"
],
"modules-center": [
"hyprland/window"
],
"modules-right": [
"cpu",
"memory",
"temperature",
"network",
"pulseaudio#sound",
"pulseaudio#mic",
"battery",
"backlight",
"clock",
"tray"
],
// Modules configuration
"hyprland/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"warp-on-scroll": false,
"format": "{name}: {icon}",
"format-icons": {
"1": "",
"2": "󰈹 ",
"3": "",
"4": "",
"5": " ",
// "urgent": "",
"focused": "",
"default": ""
}
},
"hyprland/submap": {
"format": "<span style=\"italic\">{}</span>"
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
"format": "{:%Z: %R - %Y-%m-%d}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"timezones": [
"Europe/Berlin",
"Etc/UTC",
"America/New_York",
"America/Los_Angeles",
"Australia/Perth"
],
"locale": "de_DE.UTF-8",
"calendar": {
"mode" : "year",
"mode-mon-col" : 3,
"weeks-pos" : "right",
"on-scroll" : 1,
"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": "tz_up",
"on-click-right": "tz_down",
"on-click-middle": "mode"
}
},
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{used:0.1f}G/{total:0.1f}G "
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": [""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", "", "", "", "", "", "", "", ""]
},
"battery": {
"states": {
"full": 80,
"warning": 30,
"critical": 10
},
"format": "{capacity}% {icon}",
"format-full": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ipaddr}/{cidr} ",
"tooltip-format": "{ifname} via {gwaddr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio#sound": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon}",
"format-bluetooth-muted": " {icon}",
"format-muted": "󰝟",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
},
"pulseaudio#mic": {
// "scroll-step": 1, // %, can be a float
"format": "{format_source}",
"format-muted": "{format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"on-click": "pavucontrol"
}
}

11
waybar/launch-waybar Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
CONFIG_FILES="$HOME/.config/waybar/config.jsonc $HOME/.config/waybar/style.css"
trap "killall waybar" EXIT
while true; do
waybar &
inotifywait -e create,modify $CONFIG_FILES
killall waybar
done

166
waybar/style.css Normal file
View File

@@ -0,0 +1,166 @@
* {
/* `otf-font-awesome` is required to be installed for icons */
font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
font-size: 13px;
}
window#waybar {
background-color: rgba(34, 34, 34, 0.8);
color: #AAAAAA;
transition-property: background-color;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.2;
}
#workspaces {
color: #4c94af;
margin: 0 4px;
}
/* If workspaces is the leftmost module, omit left margin */
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
/* If workspaces is the rightmost module, omit right margin */
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
button {
/* Use box-shadow instead of border so the text isn't offset */
box-shadow: inset 0 -3px transparent;
/* Avoid rounded borders under each button name */
border: none;
border-radius: 0;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
button:hover {
background: inherit;
box-shadow: inset 0 -3px #ffffff;
}
#workspaces button {
padding: 0 5px;
background-color: transparent;
color: #AAAAAA;
}
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
}
#workspaces button.active {
color: #4E9A06;
box-shadow: inset 0 -3px #4c94af;
}
#workspaces button.urgent {
box-shadow: inset 0 -3px #DD1111;
}
#window {
color: #AAAAAA;
}
#clock,
#cpu,
#memory,
#backlight,
#pulseaudio,
#tray {
padding: 0 5px;
color: #4c94af;
}
#temperature,
#network {
padding: 0 5px;
color: #4E9A06;
}
#temperature.critical {
background-color: #E07C00;
}
#pulseaudio:hover {
background-color: rgba(17, 17, 17, 0.2);
}
#pulseaudio {
color: #4E9A06;
}
#pulseaudio.sound {
margin-right: 0;
}
#pulseaudio.mic {
margin-left: 0;
}
#pulseaudio.sound.muted {
color: #E07C00;
}
#pulseaudio.mic.source-muted {
color: #E07C00;
}
#battery {
padding: 0 4px;
color: #4c94af;
}
#battery.charging, #battery.plugged {
color: #4c94af;
}
#battery.full:not(.charging) {
color: #4E9A06;
}
#battery.warning:not(.charging) {
color: #E07C00;
}
#battery.critical:not(.charging) {
color: #DD1111;
}
label:focus {
background-color: #000000;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
}
#privacy {
padding: 0;
}
#privacy-item {
padding: 0 5px;
color: white;
}
#privacy-item.screenshare {
background-color: #cf5700;
}
#privacy-item.audio-in {
background-color: #1ca000;
}
#privacy-item.audio-out {
background-color: #0069d4;
}