diff --git a/hyprland/.config/hypr/hyprland.conf b/hyprland/.config/hypr/hyprland.conf
index b7db051..a5bb83a 100644
--- a/hyprland/.config/hypr/hyprland.conf
+++ b/hyprland/.config/hypr/hyprland.conf
@@ -23,6 +23,7 @@
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor= DP-1, 5120x1440@120, 0x0, 1
+monitor= DP-2, preferred, auto-left, 1, transform, 3
###################
@@ -49,10 +50,10 @@ $powerMenu = rofi -show power-menu -modi power-menu:rofi-power-menu -theme round
exec-once = waybar
exec-once = hyprpaper
exec-once = hypridle
-exec-once = systemctl --user start polkit-gnome
-
+exec-once = systemctl --user start hyprpolkitagent
+exec-once = swaync
exec-once = steam -silent
-exec-once = [workspace 4] flatpak run com.discordapp.Discord
+exec-once = [workspace 4] flatpak run com.discordapp.Discord --start-minimized
#############################
@@ -99,6 +100,9 @@ decoration {
active_opacity = 1.0
inactive_opacity = 1.0
+ dim_inactive = true
+ dim_strength = .10
+
shadow {
enabled = true
range = 4
@@ -200,6 +204,10 @@ input {
}
}
+cursor {
+ no_hardware_cursors = 1
+}
+
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
@@ -232,3 +240,12 @@ windowrulev2 = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
+#Multi-monitor Worksapces
+workspace = 1, monitor: DP-1
+workspace = 2, monitor: DP-1
+workspace = 3, monitor: DP-1
+workspace = 4, monitor: DP-1
+workspace = 5, monitor: DP-2
+workspace = 6, monitor: DP-2
+workspace = 7, monitor: DP-2
+workspace = 8, monitor: DP-2
diff --git a/hyprland/.config/hypr/keybinds.conf b/hyprland/.config/hypr/keybinds.conf
index 17800c4..3d4b612 100644
--- a/hyprland/.config/hypr/keybinds.conf
+++ b/hyprland/.config/hypr/keybinds.conf
@@ -9,17 +9,23 @@ bind = ALT, F4, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
+bind = $mainMod + CTRL, V, fullscreen, 0
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = ALT, TAB, exec, $windowSwitcher
bind = $mainMod, F12, exec, $powerMenu
+bind = $mainMod, F, exec, kitty lf
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
+bind = $mainMod ALT, left, swapwindow, l
+bind = $mainMod ALT, right, swapwindow, r
+bind = $mainMod ALT, up, swapwindow, u
+bind = $mainMod ALT, down, swapwindow, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
@@ -32,6 +38,8 @@ bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
+bind = $mainMod CTRL, left, workspace, r-1
+bind = $mainMod CTRL, right, workspace, r+1
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
@@ -44,6 +52,8 @@ bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
+bind = $mainMod SHIFT, left, movetoworkspace, r-1
+bind = $mainMod SHIFT, right, movetoworkspace, r+1
# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
@@ -69,4 +79,4 @@ bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
-bindl = , XF86AudioPrev, exec, playerctl previous
\ No newline at end of file
+bindl = , XF86AudioPrev, exec, playerctl previous
diff --git a/hyprlock/.config/hypr/hyprlock.conf b/hyprlock/.config/hypr/hyprlock.conf
index ebaa446..fd767d6 100644
--- a/hyprlock/.config/hypr/hyprlock.conf
+++ b/hyprlock/.config/hypr/hyprlock.conf
@@ -1,11 +1,11 @@
background {
- monitor = DP-1
+ monitor =
path = $HOME/.config/hypr/backgrounds/mask.jpg
blur_passes = 0
}
input-field {
- monitor = DP-1
+ monitor =
size = 20%, 5%
outline_thickness = 3
inner_color = rgba(0, 0, 0, 1.0) # no fill
@@ -21,4 +21,4 @@ input-field {
position = 0, -150
halign = center
valign = center
-}
\ No newline at end of file
+}
diff --git a/swaync/.config/swaync/config.json b/swaync/.config/swaync/config.json
new file mode 100644
index 0000000..0fdd67f
--- /dev/null
+++ b/swaync/.config/swaync/config.json
@@ -0,0 +1,93 @@
+{
+ "$schema": "/etc/xdg/swaync/configSchema.json",
+ "positionX": "right",
+ "positionY": "top",
+ "layer": "overlay",
+ "control-center-layer": "top",
+ "layer-shell": true,
+ "layer-shell-cover-screen": true,
+ "cssPriority": "application",
+ "control-center-margin-top": 0,
+ "control-center-margin-bottom": 0,
+ "control-center-margin-right": 0,
+ "control-center-margin-left": 0,
+ "notification-2fa-action": true,
+ "notification-inline-replies": false,
+ "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": true,
+ "relative-timestamps": true,
+ "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,
+ "text-empty": "No Notifications",
+ "script-fail-notify": true,
+ "scripts": {
+ "example-script": {
+ "exec": "echo 'Do something...'",
+ "urgency": "Normal"
+ },
+ "example-action-script": {
+ "exec": "echo 'Do something actionable!'",
+ "urgency": "Normal",
+ "run-on": "action"
+ }
+ },
+ "notification-visibility": {
+ "example-name": {
+ "state": "muted",
+ "urgency": "Low",
+ "app-name": "Spotify"
+ }
+ },
+ "widgets": [
+ "inhibitors",
+ "title",
+ "mpris",
+ "notifications"
+ ],
+ "widget-config": {
+ "inhibitors": {
+ "text": "Inhibitors",
+ "button-text": "Clear All",
+ "clear-all-button": true
+ },
+ "title": {
+ "text": "Notifications",
+ "clear-all-button": true,
+ "button-text": "Clear All"
+ },
+ "dnd": {
+ "text": "Do Not Disturb"
+ },
+ "label": {
+ "max-lines": 5,
+ "text": "Label Text"
+ },
+ "mpris": {
+ "image-size": 96,
+ "image-radius": 12,
+ "blacklist": []
+ },
+ "buttons-grid": {
+ "actions": [
+ {
+ "label": "直",
+ "type": "toggle",
+ "active": true,
+ "command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && nmcli radio wifi on || nmcli radio wifi off'",
+ "update-command": "sh -c '[[ $(nmcli radio wifi) == \"enabled\" ]] && echo true || echo false'"
+ }
+ ]
+ }
+ }
+}
diff --git a/swaync/.config/swaync/style.css b/swaync/.config/swaync/style.css
new file mode 100644
index 0000000..ce5aa67
--- /dev/null
+++ b/swaync/.config/swaync/style.css
@@ -0,0 +1,342 @@
+* {
+ all: unset;
+ font-size: 14px;
+ font-family: "Ubuntu Nerd Font";
+ transition: 200ms;
+}
+
+trough highlight {
+ background: #cdd6f4;
+}
+
+scale trough {
+ margin: 0rem 1rem;
+ background-color: #313244;
+ min-height: 8px;
+ min-width: 70px;
+}
+
+slider {
+ background-color: #89b4fa;
+}
+
+.floating-notifications.background .notification-row .notification-background {
+ box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #313244;
+ border-radius: 12.6px;
+ margin: 18px;
+ background-color: #1e1e2e;
+ color: #cdd6f4;
+ padding: 0;
+}
+
+.floating-notifications.background .notification-row .notification-background .notification {
+ padding: 7px;
+ border-radius: 12.6px;
+}
+
+.floating-notifications.background .notification-row .notification-background .notification.critical {
+ box-shadow: inset 0 0 7px 0 #f38ba8;
+}
+
+.floating-notifications.background .notification-row .notification-background .notification .notification-content {
+ margin: 7px;
+}
+
+.floating-notifications.background .notification-row .notification-background .notification .notification-content .summary {
+ color: #cdd6f4;
+}
+
+.floating-notifications.background .notification-row .notification-background .notification .notification-content .time {
+ color: #a6adc8;
+}
+
+.floating-notifications.background .notification-row .notification-background .notification .notification-content .body {
+ color: #cdd6f4;
+}
+
+.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * {
+ min-height: 3.4em;
+}
+
+.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action {
+ border-radius: 7px;
+ color: #cdd6f4;
+ background-color: #313244;
+ box-shadow: inset 0 0 0 1px #45475a;
+ margin: 7px;
+}
+
+.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:hover {
+ box-shadow: inset 0 0 0 1px #45475a;
+ background-color: #313244;
+ color: #cdd6f4;
+}
+
+.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:active {
+ box-shadow: inset 0 0 0 1px #45475a;
+ background-color: #74c7ec;
+ color: #cdd6f4;
+}
+
+.floating-notifications.background .notification-row .notification-background .close-button {
+ margin: 7px;
+ padding: 2px;
+ border-radius: 6.3px;
+ color: #1e1e2e;
+ background-color: #f38ba8;
+}
+
+.floating-notifications.background .notification-row .notification-background .close-button:hover {
+ background-color: #eba0ac;
+ color: #1e1e2e;
+}
+
+.floating-notifications.background .notification-row .notification-background .close-button:active {
+ background-color: #f38ba8;
+ color: #1e1e2e;
+}
+
+.control-center {
+ box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #313244;
+ border-radius: 12.6px;
+ margin: 18px;
+ background-color: #1e1e2e;
+ color: #cdd6f4;
+ padding: 14px;
+}
+
+.control-center .widget-title > label {
+ color: #cdd6f4;
+ font-size: 1.3em;
+}
+
+.control-center .widget-title button {
+ border-radius: 7px;
+ color: #cdd6f4;
+ background-color: #313244;
+ box-shadow: inset 0 0 0 1px #45475a;
+ padding: 8px;
+}
+
+.control-center .widget-title button:hover {
+ box-shadow: inset 0 0 0 1px #45475a;
+ background-color: #585b70;
+ color: #cdd6f4;
+}
+
+.control-center .widget-title button:active {
+ box-shadow: inset 0 0 0 1px #45475a;
+ background-color: #74c7ec;
+ color: #1e1e2e;
+}
+
+.control-center .notification-row .notification-background {
+ border-radius: 7px;
+ color: #cdd6f4;
+ background-color: #313244;
+ box-shadow: inset 0 0 0 1px #45475a;
+ margin-top: 14px;
+}
+
+.control-center .notification-row .notification-background .notification {
+ padding: 7px;
+ border-radius: 7px;
+}
+
+.control-center .notification-row .notification-background .notification.critical {
+ box-shadow: inset 0 0 7px 0 #f38ba8;
+}
+
+.control-center .notification-row .notification-background .notification .notification-content {
+ margin: 7px;
+}
+
+.control-center .notification-row .notification-background .notification .notification-content .summary {
+ color: #cdd6f4;
+}
+
+.control-center .notification-row .notification-background .notification .notification-content .time {
+ color: #a6adc8;
+}
+
+.control-center .notification-row .notification-background .notification .notification-content .body {
+ color: #cdd6f4;
+}
+
+.control-center .notification-row .notification-background .notification > *:last-child > * {
+ min-height: 3.4em;
+}
+
+.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action {
+ border-radius: 7px;
+ color: #cdd6f4;
+ background-color: #11111b;
+ box-shadow: inset 0 0 0 1px #45475a;
+ margin: 7px;
+}
+
+.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:hover {
+ box-shadow: inset 0 0 0 1px #45475a;
+ background-color: #313244;
+ color: #cdd6f4;
+}
+
+.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:active {
+ box-shadow: inset 0 0 0 1px #45475a;
+ background-color: #74c7ec;
+ color: #cdd6f4;
+}
+
+.control-center .notification-row .notification-background .close-button {
+ margin: 7px;
+ padding: 2px;
+ border-radius: 6.3px;
+ color: #1e1e2e;
+ background-color: #eba0ac;
+}
+
+.close-button {
+ border-radius: 6.3px;
+}
+
+.control-center .notification-row .notification-background .close-button:hover {
+ background-color: #f38ba8;
+ color: #1e1e2e;
+}
+
+.control-center .notification-row .notification-background .close-button:active {
+ background-color: #f38ba8;
+ color: #1e1e2e;
+}
+
+.control-center .notification-row .notification-background:hover {
+ box-shadow: inset 0 0 0 1px #45475a;
+ background-color: #7f849c;
+ color: #cdd6f4;
+}
+
+.control-center .notification-row .notification-background:active {
+ box-shadow: inset 0 0 0 1px #45475a;
+ background-color: #74c7ec;
+ color: #cdd6f4;
+}
+
+.notification.critical progress {
+ background-color: #f38ba8;
+}
+
+.notification.low progress,
+.notification.normal progress {
+ background-color: #89b4fa;
+}
+
+.control-center-dnd {
+ margin-top: 5px;
+ border-radius: 8px;
+ background: #313244;
+ border: 1px solid #45475a;
+ box-shadow: none;
+}
+
+.control-center-dnd:checked {
+ background: #313244;
+}
+
+.control-center-dnd slider {
+ background: #45475a;
+ border-radius: 8px;
+}
+
+.widget-dnd {
+ margin: 0px;
+ font-size: 1.1rem;
+}
+
+.widget-dnd > switch {
+ font-size: initial;
+ border-radius: 8px;
+ background: #313244;
+ border: 1px solid #45475a;
+ box-shadow: none;
+}
+
+.widget-dnd > switch:checked {
+ background: #313244;
+}
+
+.widget-dnd > switch slider {
+ background: #45475a;
+ border-radius: 8px;
+ border: 1px solid #6c7086;
+}
+
+.widget-mpris .widget-mpris-player {
+ background: #313244;
+ padding: 7px;
+}
+
+.widget-mpris .widget-mpris-title {
+ font-size: 1.2rem;
+}
+
+.widget-mpris .widget-mpris-subtitle {
+ font-size: 0.8rem;
+}
+
+.widget-menubar > box > .menu-button-bar > button > label {
+ font-size: 3rem;
+ padding: 0.5rem 2rem;
+}
+
+.widget-menubar > box > .menu-button-bar > :last-child {
+ color: #f38ba8;
+}
+
+.power-buttons button:hover,
+.powermode-buttons button:hover,
+.screenshot-buttons button:hover {
+ background: #313244;
+}
+
+.control-center .widget-label > label {
+ color: #cdd6f4;
+ font-size: 2rem;
+}
+
+.widget-buttons-grid {
+ padding-top: 1rem;
+}
+
+.widget-buttons-grid > flowbox > flowboxchild > button label {
+ font-size: 2.5rem;
+}
+
+.widget-volume {
+ padding-top: 1rem;
+}
+
+.widget-volume label {
+ font-size: 1.5rem;
+ color: #74c7ec;
+}
+
+.widget-volume trough highlight {
+ background: #74c7ec;
+}
+
+.widget-backlight trough highlight {
+ background: #f9e2af;
+}
+
+.widget-backlight label {
+ font-size: 1.5rem;
+ color: #f9e2af;
+}
+
+.widget-backlight .KB {
+ padding-bottom: 1rem;
+}
+
+.image {
+ padding-right: 0.5rem;
+}
diff --git a/waybar/.config/waybar/config b/waybar/.config/waybar/config
index 50eb2da..7e9d7f2 100644
--- a/waybar/.config/waybar/config
+++ b/waybar/.config/waybar/config
@@ -1,10 +1,10 @@
{
- "margin-top" : 5,
+ "margin-top" : 5,
"margin-left": 10,
"margin-right": 10,
"height" : 30,
"modules-left": [
- "hyprland/window"
+ "hyprland/window",
],
"modules-center": [
"hyprland/workspaces",
@@ -17,6 +17,7 @@
"memory",
"temperature",
"clock",
+ "custom/notification",
"custom/power",
],
"hyprland/window": {
@@ -62,6 +63,7 @@
"tooltip-format": "{ifname} via {gwaddr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": " ⚠ ",
+ "on-click": "nm-connection-editor",
},
"pulseaudio": {
"format": "{icon} {volume}%",
@@ -85,5 +87,25 @@
"custom/power": {
"format": "⏻",
"on-click": "rofi -show power-menu -modi power-menu:rofi-power-menu -theme rounded-purple-dark",
- }
+ },
+ "custom/notification": {
+ "tooltip": false,
+ "format": "{icon}",
+ "format-icons": {
+ "notification": "",
+ "none": "",
+ "dnd-notification": "",
+ "dnd-none": "",
+ "inhibited-notification": "",
+ "inhibited-none": "",
+ "dnd-inhibited-notification": "",
+ "dnd-inhibited-none": ""
+ },
+ "return-type": "json",
+ "exec-if": "which swaync-client",
+ "exec": "swaync-client -swb",
+ "on-click": "swaync-client -t -sw",
+ "on-click-right": "swaync-client -d -sw",
+ "escape": true
+ },
}
diff --git a/waybar/.config/waybar/style.css b/waybar/.config/waybar/style.css
index fc44605..bb017f8 100644
--- a/waybar/.config/waybar/style.css
+++ b/waybar/.config/waybar/style.css
@@ -150,3 +150,9 @@ label:focus {
#pulseaudio.muted {
color: @text;
}
+
+#custom-notification {
+ color: #ffffff;
+ padding-left: 10px;
+ padding-right: 10px;
+}