Initial commit

This commit is contained in:
Quirin Kinader 2025-08-17 13:30:31 +02:00
commit 44ca2ba179
11 changed files with 968 additions and 0 deletions

137
.config/waybar/config.jsonc Normal file
View file

@ -0,0 +1,137 @@
{
"layer": "top",
"position": "top",
"margin-bottom": 0,
"spacing" : 0,
"modules-left": [
"hyprland/workspaces",
"custom/uptime",
"cpu",
"memory"
],
"modules-center": ["clock"],
"modules-right": [
"bluetooth",
"network",
"pulseaudio",
"backlight",
"battery",
"custom/power"
],
"hyprland/workspaces": {
"format": "{name}: {icon}",
"format-icons": {
"active": "",
"default": ""
}
},
"bluetooth": {
"format": "󰂲",
"format-on": "{icon}",
"format-off": "{icon}",
"format-connected":"{icon}",
"format-icons":{
"on":"󰂯",
"off": "󰂲",
"connected": "󰂱"
},
"on-click": "ghostty -e bluetuith",
"tooltip-format-connected":"{device_enumerate}"
},
"custom/music": {
"format": " {}",
"escape": true,
"interval": 5,
"tooltip": false,
"exec": "playerctl metadata --format='{{ artist }} - {{ title }}'",
"on-click": "playerctl play-pause",
"max-length": 50
},
"clock": {
"timezone": "Europe/Berlin",
"tooltip": false,
"format": "{:%H:%M:%S - %A, %d}",
"interval": 1
},
"network": {
"format-wifi": "󰤢",
"format-ethernet": "󰈀 ",
"format-disconnected": "󰤠 ",
"interval": 5,
"tooltip-format": "{essid} ({signalStrength}%)",
"on-click": "nm-connection-editor"
},
"cpu": {
"interval": 1,
"format": " {icon0}{icon1}{icon2}{icon3} {usage:>2}%",
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"],
"on-click": "ghostty -e htop"
},
"memory": {
"interval": 30,
"format": " {used:0.1f}G/{total:0.1f}G",
"tooltip-format": "Memory"
},
"custom/uptime": {
"format": "{}",
"format-icon": [""],
"tooltip": false,
"interval": 1600,
"exec": "$HOME/.config/waybar/scripts/uptime.sh"
},
"backlight": {
"format": "{icon} {percent}%",
"format-icons": ["","󰃜", "󰃛", "󰃞","󰃝","󰃟","󰃠"],
"tooltip": false
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": "",
"format-icons": {
"default": ["", "", " "]
},
"on-click": "pavucontrol"
},
"battery": {
"interval":2,
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-full": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{icon} {time}",
"format-icons": ["", "", "", "", ""]
},
"custom/lock": {
"tooltip": false,
"on-click": "sh -c '(sleep 0s; hyprlock)' & disown",
"format" : ""
},
"custom/power": {
"format": "",
"tooltip": false,
"tooltip-format": "Power Menu",
"on-click": "~/.config/waybar/scripts/power-menu.sh"
}
}

View file

@ -0,0 +1,72 @@
/* Power menu */
@theme "~/.config/rofi/theme.rasi"
configuration {
font: "JetBrainsMono Nerd Font 8";
hover-select: true;
me-select-entry: "MousePrimary";
me-accept-entry: "!MousePrimary";
}
/* Window */
window {
location: northeast;
anchor: north;
x-offset: -3px;
y-offset: 3px;
width: 150px;
border: 3px;
border-radius: 10px;
border-color: @main-br;
background-color: @main-bg;
children: [ mainbox ];
}
mainbox {
spacing: 0;
background-color: @main-br;
text-color: @main-fg;
children: [ textbox-custom, listview ];
}
textbox-custom {
font: "JetBrainsMono Nerd Font Bold 2";
horizontal-align: 0.5;
padding: 0;
expand: false;
background-color: @select-bg;
text-color: @select-fg;
expand: false;
content: " Power";
}
/* List */
listview {
border: 2px 0 0 0;
border-radius: 8px;
border-color: @main-br;
lines: 6;
padding: 6px;
background-color: @main-bg;
}
element {
padding: 6px;
cursor: pointer;
background-color: inherit;
text-color: @main-fg;
}
element selected.normal {
border-radius: 6px;
background-color: @select-bg;
text-color: @select-fg;
}
element-text {
padding: 0 6px;
cursor: inherit;
background-color: inherit;
text-color: inherit;
}

View file

@ -0,0 +1,45 @@
/* Catppuccin Frappe */
* {
rosewater: #f2d5cf;
flamingo: #eebebe;
pink: #f4b8e4;
mauve: #ca9ee6;
red: #e78284;
maroon: #ea999c;
peach: #ef9f76;
yellow: #e5c890;
green: #a6d189;
teal: #81c8be;
sky: #99d1db;
sapphire: #85c1dc;
blue: #8caaee;
lavender: #babbf1;
text: #c6d0f5;
subtext1: #b5bfe2;
subtext0: #a5adce;
overlay2: #949cbb;
overlay1: #838ba7;
overlay0: #737994;
surface2: #626880;
surface1: #51576d;
surface0: #414559;
base: #303446;
mantle: #292c3c;
crust: #232634;
}
/*
bg - background
fg - foreground
br - border
*/
* {
main-bg: @crust;
main-fg: @text;
main-br: @overlay2;
input-bg: @mantle;
select-bg: @overlay2;
select-fg: @crust;
}

View file

@ -0,0 +1,30 @@
#!/usr/bin/env bash
config="$HOME/.config/waybar/rofi/power-menu.rasi"
actions=$(echo -e " Lock\n Shutdown\n Reboot\n Suspend\n Hibernate\n󰞘 Logout")
# Display logout menu
selected_option=$(echo -e "$actions" | rofi -dmenu -i -config "${config}" || pkill -x rofi)
# Perform actions based on the selected option
case "$selected_option" in
*Lock)
hyprlock
;;
*Shutdown)
systemctl poweroff
;;
*Reboot)
systemctl reboot
;;
*Suspend)
systemctl suspend
;;
*Hibernate)
systemctl hibernate
;;
*Logout)
loginctl kill-session "$XDG_SESSION_ID"
;;
esac

195
.config/waybar/style.css Normal file
View file

@ -0,0 +1,195 @@
/* --- Global Styles --- */
* {
font-family: 'SF Pro Text', 'Inter', 'Segoe UI, NotoSans Nerd Font', sans-serif;
font-size: 13px;
min-height: 0;
padding-right: 0px;
padding-left: 0px;
padding-bottom: 0px;
}
/* --- Waybar Container --- */
#waybar {
background: transparent;
color: #c6d0f5;
margin: 0px;
font-weight: 500;
}
/* --- Left Modules (Individual, Fully Rounded Blocks - With Horizontal Spacing & Simple Hover) --- */
#workspaces,
#custom-uptime,
#memory,
#cpu {
background-color: #1a1b26;
padding: 0.3rem 0.7rem;
margin: 5px 0px; /* 5px top/bottom margin, 0px left/right (base for individual control) */
border-radius: 0px; /* These modules are always rounded */
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
min-width: 0;
border: none;
/* Transition for background-color and color only */
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
#workspaces {
padding: 2px;
margin-left: 7px; /* Margin from the far left edge */
margin-right: 5px; /* Spacing after the workspaces module */
border-radius: 6px;
}
#cpu {
margin-left: 0px;
border-top-left-radius: 6px;
border-bottom-left-radius: 6px;
}
#memory {
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
margin-right: 7px;
}
/* Simple Hover effects for individual left modules - BRIGHTER COLOR */
#custom-uptime:hover,
#cpu:hover {
background-color: rgb(41, 42, 53); /* Brighter highlight */
}
#memory:hover {
background-color: rgb(41, 42, 53); /* Brighter highlight */
}
#workspaces button {
color: #babbf1;
border-radius: 5px; /* Workspaces buttons are always rounded */
padding: 0.3rem 0.6rem;
background: transparent;
transition: all 0.2s ease-in-out;
border: none;
outline: none;
}
#workspaces button.active {
color: #99d1db;
background-color: rgba(153, 209, 219, 0.1);
box-shadow: inset 0 0 0 1px rgba(153, 209, 219, 0.2);
}
#workspaces button:hover {
background: rgb(41, 42, 53); /* Reference bright hover color */
color: #c6d0f5;
}
/* --- Center Module (Individual, Fully Rounded Block - With Simple Hover) --- */
#clock {
background-color: #1a1b26;
padding: 0.3rem 0.7rem;
margin: 5px 0px;
border-radius: 6px; /* This module is always rounded */
box-shadow: 0 1px 3px rgba(153, 209, 219, 0.2);
min-width: 0;
border: none;
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
/* Simple Hover effect for clock module - BRIGHTER COLOR */
#clock:hover {
background-color: rgb(41, 42, 53); /* Brighter highlight */
}
/* --- Right Modules (Single, Seamless Bar ) --- */
#bluetooth,
#pulseaudio,
#backlight,
#network,
#custom-power,
#battery {
background-color: #1a1b26;
padding: 0.3rem 0.7rem;
margin: 5px 0px;
border-radius: 0;
box-shadow: none;
min-width: 0;
border: none;
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
#bluetooth:hover,
#pulseaudio:hover,
#backlight:hover,
#network:hover,
#cusotom-power:hover,
#battery:hover {
background-color: rgb(41, 42, 53);
}
#bluetooth {
margin-left: 0px;
border-top-left-radius: 6px;
border-bottom-left-radius: 6px;
}
#custom-power {
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
margin-right: 7px;
}
#custom-uptime {
color: #babbf1;
}
#cpu {
color: #c6d0f5;
}
#clock {
color: #99d1db;
font-weight: 500;
}
#pulseaudio {
color: #c6d0f5;
}
#backlight {
color: #c6d0f5;
}
#network {
color: #c6d0f5;
}
#network.disconnected {
color: #e78284;
}
#custom-power {
color: #babbf1;
}
#bluetooth {
color: #888888;
font-size: 16px;
}
#bluetooth.on {
color: #2196f3;
}
#bluetooth.connected {
color: #99d1db;
}
#battery {
color: #99d1db;;
}
#battery.charging {
color: #a6d189;
}
#battery.warning:not(.charging) {
color: #e78284;
}
/* --- Tooltip Styles --- */
tooltip {
background-color: #1a1b26;
color: #dddddd;
padding: 5px 12px;
margin: 5px 0px;
border-radius: 6px;
border: 1px solid rgba(255, 255, 255, 0.1);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
font-size: 12px;
}