Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .chezmoidata/packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ packages:
- nvimpager
gui:
- swayosd
- swaync
- uwsm
wsl:
- wsl-open
Expand Down
1 change: 1 addition & 0 deletions .chezmoiignore.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ README.md
.config/hypr
.config/kitty
.config/swaylock
.config/swaync
.config/waybar
.config/spotify-launcher.conf
{{- end }}
2 changes: 1 addition & 1 deletion dot_config/hypr/autostart.conf
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESK

exec-once = ~/.config/hypr/scripts/idle.sh
exec-once = waybar
exec-once = dunst
exec-once = swaync

exec-once = 1password --silent # run this in tray for ssh-agent
exec-once = gnome-keyring-daemon --start --components=secrets
Expand Down
3 changes: 3 additions & 0 deletions dot_config/hypr/keybinds.conf
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ bind = $mainMod SHIFT, L, exec, wlogout
# Reload the config
bind = $mainMod SHIFT, W, exec, ~/.config/hypr/scripts/waybar.sh

# Toggle notification center
bind = $mainMod, N, exec, swaync-client -t

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
Expand Down
38 changes: 38 additions & 0 deletions dot_config/swaync/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"$schema": "/etc/xdg/swaync/configSchema.json",
"positionX": "right",
"positionY": "top",
"control-center-margin-top": 8,
"control-center-margin-bottom": 8,
"control-center-margin-right": 8,
"control-center-margin-left": 8,
"notification-icon-size": 64,
"notification-body-image-height": 100,
"notification-body-image-width": 200,
"timeout": 10,
"timeout-low": 5,
"timeout-critical": 0,
"fit-to-screen": false,
"control-center-width": 500,
"control-center-height": 600,
"notification-window-width": 500,
"keyboard-shortcuts": true,
"image-visibility": "when-available",
"transition-time": 200,
"hide-on-clear": false,
"hide-on-action": true,
"script-fail-notify": true,
"scripts": {},
"notification-visibility": {},
"widgets": ["title", "dnd", "notifications"],
"widget-config": {
"title": {
"text": "Notifications",
"clear-all-button": true,
"button-text": "Clear All"
},
"dnd": {
"text": "Do Not Disturb"
}
}
}
200 changes: 200 additions & 0 deletions dot_config/swaync/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
/* Catppuccin Mocha color palette */
/* https://github.com/catppuccin/catppuccin */

* {
font-family: "Cantarell", sans-serif;
font-size: 13px;
transition: none;
box-shadow: none;
}

.control-center {
background-color: #1e1e2e; /* Base */
border-radius: 8px;
border: 1px solid #313244; /* Surface0 */
padding: 8px;
}

.control-center-list {
background-color: transparent;
}

.control-center-list-placeholder {
opacity: 0.5;
}

.floating-notifications {
background-color: transparent;
}

/* Notification popups */
.notification-row {
outline: none;
margin: 4px;
padding: 0;
}

.notification-row:focus,
.notification-row:hover {
opacity: 1;
background-color: transparent;
}

.notification-row .notification-background {
padding: 4px;
border-radius: 8px;
}

.notification {
border-radius: 8px;
border: 1px solid #313244; /* Surface0 */
padding: 8px;
background-color: #1e1e2e; /* Base */
min-height: 60px;
margin: 0;
}

.notification .notification-content {
padding: 4px;
}

.notification .notification-default-action,
.notification .notification-action {
border-radius: 8px;
padding: 4px;
background-color: transparent;
color: #cdd6f4; /* Text */
}

.notification .notification-default-action:hover,
.notification .notification-action:hover {
background-color: #313244; /* Surface0 */
}

.notification .notification-default-action {
border-radius: 8px;
}

.notification .notification-action {
border-top: 1px solid #313244; /* Surface0 */
border-radius: 0 0 8px 8px;
}

.close-button {
background-color: #f38ba8; /* Red */
color: #1e1e2e; /* Base */
text-shadow: none;
padding: 0;
border-radius: 100%;
margin-top: 4px;
margin-right: 4px;
min-width: 20px;
min-height: 20px;
}

.close-button:hover {
background-color: #f5e0dc; /* Rosewater */
}

.notification-default-action:hover,
.notification-action:hover {
color: #cdd6f4; /* Text */
background-color: #313244; /* Surface0 */
}

.notification-default-action {
margin: 0;
padding: 4px;
background-color: transparent;
border-radius: 8px;
color: #cdd6f4; /* Text */
}

.notification-action {
margin: 0;
padding: 4px;
background-color: #181825; /* Mantle */
border-radius: 8px;
color: #cdd6f4; /* Text */
}

/* Notification content */
.summary {
font-size: 14px;
font-weight: bold;
color: #cdd6f4; /* Text */
}

.time {
font-size: 11px;
color: #a6adc8; /* Subtext0 */
margin-right: 4px;
}

.body {
font-size: 12px;
font-weight: normal;
color: #cdd6f4; /* Text */
}

/* Control center widgets */
.widget-title {
font-size: 16px;
font-weight: bold;
color: #cdd6f4; /* Text */
padding: 8px;
}

.widget-title > button {
font-size: 13px;
font-weight: bold;
background-color: #313244; /* Surface0 */
color: #cdd6f4; /* Text */
border-radius: 8px;
border: none;
padding: 4px 8px;
}

.widget-title > button:hover {
background-color: #45475a; /* Surface1 */
}

.widget-dnd {
padding: 8px;
font-size: 14px;
color: #cdd6f4; /* Text */
}

.widget-dnd > switch {
border-radius: 100px;
background-color: #313244; /* Surface0 */
border: none;
}

.widget-dnd > switch:checked {
background-color: #f5e0dc; /* Rosewater */
}

.widget-dnd > switch slider {
background-color: #cdd6f4; /* Text */
border-radius: 100px;
}

/* Urgency colors */
.low {
background-color: #1e1e2e; /* Base */
border: 1px solid #313244; /* Surface0 */
color: #cdd6f4; /* Text */
}

.normal {
background-color: #1e1e2e; /* Base */
border: 1px solid #313244; /* Surface0 */
color: #cdd6f4; /* Text */
}

.critical {
background-color: #1e1e2e; /* Base */
border: 1px solid #f38ba8; /* Red */
color: #cdd6f4; /* Text */
}
Loading