diff --git a/.config/caelestia/monitors/DP-1/shell.json b/.config/caelestia/monitors/DP-1/shell.json
new file mode 100644
index 0000000..2c63c08
--- /dev/null
+++ b/.config/caelestia/monitors/DP-1/shell.json
@@ -0,0 +1,2 @@
+{
+}
diff --git a/.config/caelestia/monitors/DP-2/shell.json b/.config/caelestia/monitors/DP-2/shell.json
new file mode 100644
index 0000000..2c63c08
--- /dev/null
+++ b/.config/caelestia/monitors/DP-2/shell.json
@@ -0,0 +1,2 @@
+{
+}
diff --git a/.config/caelestia/monitors/DP-3/shell.json b/.config/caelestia/monitors/DP-3/shell.json
new file mode 100644
index 0000000..2c63c08
--- /dev/null
+++ b/.config/caelestia/monitors/DP-3/shell.json
@@ -0,0 +1,2 @@
+{
+}
diff --git a/.config/caelestia/shell.json b/.config/caelestia/shell.json
new file mode 100644
index 0000000..55843a2
--- /dev/null
+++ b/.config/caelestia/shell.json
@@ -0,0 +1,127 @@
+{
+ "appearance": {
+ "transparency": {
+ "base": 0.95,
+ "enabled": true,
+ "layers": 0.7
+ }
+ },
+ "background": {
+ "enabled": false,
+ "wallpaperEnabled": false
+ },
+ "bar": {
+ "clock": {
+ "showIcon": false
+ },
+ "entries": [
+ {
+ "enabled": true,
+ "id": "logo"
+ },
+ {
+ "enabled": true,
+ "id": "workspaces"
+ },
+ {
+ "enabled": true,
+ "id": "spacer"
+ },
+ {
+ "enabled": true,
+ "id": "tray"
+ },
+ {
+ "enabled": true,
+ "id": "clock"
+ },
+ {
+ "enabled": true,
+ "id": "statusIcons"
+ },
+ {
+ "enabled": true,
+ "id": "power"
+ }
+ ],
+ "status": {
+ "showAudio": true,
+ "showBattery": false,
+ "showLockStatus": true,
+ "showNetwork": false,
+ "showWifi": false
+ },
+ "workspaces": {
+ "showWindows": false,
+ "shown": 3
+ }
+ },
+ "dashboard": {
+ "showWeather": false
+ },
+ "general": {
+ "idle": {
+ "lockBeforeSleep": true,
+ "timeouts": [
+ {
+ "idleAction": "lock",
+ "timeout": 180
+ }
+ ]
+ }
+ },
+ "launcher": {
+ "enabled": false
+ },
+ "notifs": {
+ "actionOnClick": true
+ },
+ "osd": {
+ "enableBrightness": false,
+ "enableMicrophone": false
+ },
+ "services": {
+ "defaultPlayer": "Tidal",
+ "playerAliases": [
+ {
+ "from": "tidal-hifi",
+ "to": "Tidal"
+ }
+ ],
+ "weatherLocation": "Nancy"
+ },
+ "sidebar": {
+ "enabled": true
+ },
+ "utilities": {
+ "enabled": true,
+ "quickToggles": [
+ {
+ "enabled": true,
+ "id": "mic"
+ },
+ {
+ "enabled": true,
+ "id": "settings"
+ },
+ {
+ "enabled": true,
+ "id": "dnd"
+ }
+ ],
+ "toasts": {
+ "audioInputChanged": false,
+ "audioOutputChanged": false,
+ "capsLockChanged": true,
+ "chargingChanged": false,
+ "configLoaded": true,
+ "dndChanged": false,
+ "gameModeChanged": false,
+ "kbLayoutChanged": false,
+ "kbLimit": false,
+ "nowPlaying": true,
+ "numLockChanged": true,
+ "vpnChanged": false
+ }
+ }
+}
diff --git a/.config/mpv/mpv.conf b/.config/mpv/mpv.conf
index c0858e9..a12cb76 100644
--- a/.config/mpv/mpv.conf
+++ b/.config/mpv/mpv.conf
@@ -1,4 +1 @@
---vo=gpu-next
---target-colorspace-hint
---gpu-api=vulkan
---gpu-context=waylandvk
+--target-colorspace-hint-mode=source
diff --git a/.config/waybar/bars/DP-1.json b/.config/waybar/bars/DP-1.json
deleted file mode 100644
index 96b6390..0000000
--- a/.config/waybar/bars/DP-1.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "reload_style_on_change": true,
- "include": [
- "~/.config/waybar/lib/components/workspaces.json",
- "~/.config/waybar/lib/components/tray.json",
- "~/.config/waybar/lib/components/notifications.json",
- "~/.config/waybar/lib/components/cpu.json",
- "~/.config/waybar/lib/components/gpu.json",
- "~/.config/waybar/lib/components/memory.json",
- "~/.config/waybar/lib/components/audio.json",
- "~/.config/waybar/lib/components/calendar.json",
- "~/.config/waybar/lib/components/clock.json"
- ],
- "modules-left": [
- "hyprland/workspaces",
- "tray"
- ],
- "modules-center": [
- ],
- "modules-right": [
- "custom/notification",
- "cpu",
- "custom/gpu",
- "memory",
- "pulseaudio",
- "clock#calendar",
- "clock"
- ]
-}
diff --git a/.config/waybar/bars/DP-2.json b/.config/waybar/bars/DP-2.json
deleted file mode 100644
index 44f186b..0000000
--- a/.config/waybar/bars/DP-2.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "reload_style_on_change": true,
- "include": [
- "~/.config/waybar/lib/components/workspaces.json",
- "~/.config/waybar/lib/components/tray.json",
- "~/.config/waybar/lib/components/audio.json",
- "~/.config/waybar/lib/components/calendar.json",
- "~/.config/waybar/lib/components/clock.json"
- ],
- "modules-left": [
- "hyprland/workspaces",
- "tray"
- ],
- "modules-right": [
- "pulseaudio",
- "clock#calendar",
- "clock"
- ]
-}
diff --git a/.config/waybar/bars/DP-3.json b/.config/waybar/bars/DP-3.json
deleted file mode 100644
index f7af1bc..0000000
--- a/.config/waybar/bars/DP-3.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "reload_style_on_change": true,
- "include": [
- "~/.config/waybar/lib/components/workspaces.json",
- "~/.config/waybar/lib/components/mpris.json",
- "~/.config/waybar/lib/components/notifications.json",
- "~/.config/waybar/lib/components/calendar.json",
- "~/.config/waybar/lib/components/clock.json"
- ],
- "modules-left": [
- "hyprland/workspaces",
- "mpris"
- ],
- "modules-center": [
- ],
- "modules-right": [
- "custom/notification",
- "clock#calendar",
- "clock"
- ],
- "mpris": {
- "dynamic-len": 65
- }
-}
diff --git a/.config/waybar/config b/.config/waybar/config
deleted file mode 100644
index 37f0b90..0000000
--- a/.config/waybar/config
+++ /dev/null
@@ -1,23 +0,0 @@
-[
- {
- "output": ["DP-1"],
- "include": [
- "~/.config/waybar/lib/common.json",
- "~/.config/waybar/bars/DP-1.json"
- ]
- },
- {
- "output": ["DP-2"],
- "include": [
- "~/.config/waybar/lib/common.json",
- "~/.config/waybar/bars/DP-2.json"
- ]
- },
- {
- "output": ["DP-3"],
- "include": [
- "~/.config/waybar/lib/common.json",
- "~/.config/waybar/bars/DP-3.json"
- ]
- }
-]
diff --git a/.config/waybar/lib/common.json b/.config/waybar/lib/common.json
deleted file mode 100644
index 9e89618..0000000
--- a/.config/waybar/lib/common.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "layer": "bottom",
- "position": "top",
- "spacing": 1,
- "exclusive": true,
- "gtk-layer-shell": true,
- "passthrough": false,
- "fixed-center": true
-}
diff --git a/.config/waybar/lib/components/audio.json b/.config/waybar/lib/components/audio.json
deleted file mode 100644
index cd0c8e9..0000000
--- a/.config/waybar/lib/components/audio.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "pulseaudio": {
- "format": "{icon} {volume}%",
- "format-muted": " ",
- "format-icons": {
- "default": [
- "",
- "",
- ""
- ]
- },
- "on-click": "flatpak run com.saivert.pwvucontrol"
- }
-}
diff --git a/.config/waybar/lib/components/calendar.json b/.config/waybar/lib/components/calendar.json
deleted file mode 100644
index 7ec3d9f..0000000
--- a/.config/waybar/lib/components/calendar.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "clock#calendar": {
- "format": " {:L%d/%m}",
- "calendar": {
- "format": {
- "days": "{}",
- "months": "{}",
- "today": "{}",
- "weekdays": "{}",
- "weeks": "W{}"
- },
- "mode": "month",
- "mode-mon-col": 1,
- "on-scroll": 1
- },
- "tooltip-format": "{calendar}"
- }
-}
diff --git a/.config/waybar/lib/components/clock.json b/.config/waybar/lib/components/clock.json
deleted file mode 100644
index d7084aa..0000000
--- a/.config/waybar/lib/components/clock.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "clock": {
- "tooltip": false,
- "format": " {:%H:%M}"
- }
-}
diff --git a/.config/waybar/lib/components/cpu.json b/.config/waybar/lib/components/cpu.json
deleted file mode 100644
index 0d1978b..0000000
--- a/.config/waybar/lib/components/cpu.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "cpu": {
- "interval": 10,
- "format": " {usage}%",
- "max-length": 10,
- "tooltip": false
- }
-}
diff --git a/.config/waybar/lib/components/gpu.json b/.config/waybar/lib/components/gpu.json
deleted file mode 100644
index 2332bda..0000000
--- a/.config/waybar/lib/components/gpu.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "custom/gpu": {
- "exec": "nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits",
- "format": " {}%",
- "return-type": "",
- "interval": 5,
- "tooltip": false
- }
-}
diff --git a/.config/waybar/lib/components/memory.json b/.config/waybar/lib/components/memory.json
deleted file mode 100644
index dd0b1cb..0000000
--- a/.config/waybar/lib/components/memory.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "memory": {
- "interval": 30,
- "format": " {}%",
- "max-length": 10
- }
-}
diff --git a/.config/waybar/lib/components/mpris.json b/.config/waybar/lib/components/mpris.json
deleted file mode 100644
index 0be67d9..0000000
--- a/.config/waybar/lib/components/mpris.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "mpris": {
- "format": "{player_icon} {dynamic}",
- "format-paused": "{player_icon} {dynamic}",
- "dynamic-order": ["title", "artist"],
- "player-icons": {
- "default": ""
- },
- "status-icons": {
- "playing": "",
- "paused": ""
- },
- "tooltip": false
- }
-}
diff --git a/.config/waybar/lib/components/notifications.json b/.config/waybar/lib/components/notifications.json
deleted file mode 100644
index c55fcde..0000000
--- a/.config/waybar/lib/components/notifications.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "custom/notification": {
- "escape": true,
- "exec": "swaync-client -swb",
- "exec-if": "which swaync-client",
- "format": "{icon}",
- "format-icons": {
- "none": "",
- "notification": ""
- },
- "on-click": "sleep 0.1 && swaync-client -t -sw",
- "return-type": "json",
- "tooltip": false
- }
-}
diff --git a/.config/waybar/lib/components/tray.json b/.config/waybar/lib/components/tray.json
deleted file mode 100644
index d28ed5d..0000000
--- a/.config/waybar/lib/components/tray.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "tray": {
- "spacing": 10
- }
-}
diff --git a/.config/waybar/lib/components/workspaces.json b/.config/waybar/lib/components/workspaces.json
deleted file mode 100644
index f88b57b..0000000
--- a/.config/waybar/lib/components/workspaces.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "hyprland/workspaces": {
- "show-special": true,
- "persistent-workspaces": {
- "1": [1],
- "2": [2],
- "3": [3]
- }
- }
-}
diff --git a/.config/waybar/mocha.css b/.config/waybar/mocha.css
deleted file mode 100644
index db1af19..0000000
--- a/.config/waybar/mocha.css
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-*
-* Catppuccin Mocha palette
-* Maintainer: rubyowo
-*
-*/
-
-@define-color mantle #181825;
-@define-color crust #11111b;
-
-@define-color text #cdd6f4;
-@define-color subtext0 #a6adc8;
-@define-color subtext1 #bac2de;
-
-/* @define-color surface0 #313244; */
-@define-color surface0 rgba(38,38,43,0.9);
-@define-color surface1 #222226;
-@define-color surface2 #585b70;
-
-@define-color overlay0 #6c7086;
-@define-color overlay1 #7f849c;
-@define-color overlay2 #9399b2;
-
-@define-color white #f2f2f2;
-@define-color blue #89b4fa;
-@define-color lavender #b4befe;
-@define-color sapphire #74c7ec;
-/* @define-color sky #89dceb; */
-@define-color sky #007dff;
-@define-color teal #94e2d5;
-@define-color green #a6e3a1;
-@define-color yellow #f9e2af;
-@define-color peach #fab387;
-@define-color maroon #eba0ac;
-@define-color red #f38ba8;
-@define-color mauve #cba6f7;
-@define-color pink #f5c2e7;
-@define-color flamingo #f2cdcd;
-@define-color rosewater #f5e0dc;
-
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
deleted file mode 100644
index 60102fc..0000000
--- a/.config/waybar/style.css
+++ /dev/null
@@ -1,83 +0,0 @@
-@import "mocha.css";
-
-* {
- min-height: 0;
- min-width: 0;
- font-family: "FiraCode Nerd Font Propo";
- font-size: 16px;
- font-weight: 600;
-}
-
-#waybar {
- background: transparent;
- color: @text;
-}
-
-tooltip {
- background-color: @surface0;
- box-shadow: 0 0 10px @surface1;
-}
-
-#workspaces {
- margin-left: 0.5rem;
-}
-
-#workspaces button {
- padding: 0.1rem 0.6rem;
- margin: 0.4rem 0.25rem 0rem 0.25rem;
- border-radius: 4px;
- color: @white;
- background-color: @surface0;
-}
-
-#workspaces button.active {
- background-color: @sky;
-}
-
-#workspaces button:hover {
- color: @sky;
-}
-
-#mpris,
-#tray,
-#cpu,
-#custom-gpu,
-#custom-gpu-temp,
-#memory,
-#pulseaudio,
-#custom-notification,
-#clock,
-#mpris,
-#language,
-#tray {
- padding: 0.1rem 0.6rem;
- margin: 0.4rem 0.25rem 0rem 0.25rem;
- border-radius: 4px;
- border: 2px solid @surface1;
- background-color: @surface0;
-}
-
-#clock {
- color: @rosewater;
-}
-
-#clock.simpleclock {
- margin-right: 0.8rem;
-}
-
-#memory {
- color: @green;
-}
-
-#custom-gpu {
- color: @yellow;
-}
-
-#cpu {
- color: @blue;
-}
-
-#pulseaudio,
-#mpris {
- color: @teal;
-}
diff --git a/.local/bin/screenshot b/.local/bin/screenshot
new file mode 100755
index 0000000..6efc51d
--- /dev/null
+++ b/.local/bin/screenshot
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+capture_region() {
+ wayfreeze & FREEZE_PID=$!
+ sleep 0.1
+ REGION=$(slurp -d -c "007DFFFF" -w 1)
+ if [ $? -eq 0 ]; then
+ sleep .3
+ grim -g "$REGION" - | wl-copy
+
+ caelestia shell toaster success 'Screenshot saved' 'Screenshot of region saved in clipboard' image
+ else
+ caelestia shell toaster error 'Screenshot failed' 'Failed to save screenshot' image
+ fi
+ kill $FREEZE_PID
+}
+
+capture_window() {
+ REGION=$(hyprctl activewindow -j | jq -r '"\(.at | join(",")) \(.size | join("x"))"')
+ grim -g "$REGION"
+
+ if [ $? -eq 0 ]; then
+ caelestia shell toaster success 'Screenshot saved' 'Screenshot of window in ~/Pictures' image
+ else
+ caelestia shell toaster error 'Screenshot failed' 'Failed to save screenshot' image
+ fi
+
+}
+
+capture_screen() {
+ SCREEN=$(hyprctl activeworkspace -j | jq -r ".monitor")
+ grim -o "$SCREEN" - | wl-copy
+
+ if [ $? -eq 0 ]; then
+ caelestia shell toaster success 'Screenshot saved' 'Screenshot of monitor saved in clipboard' image
+ else
+ caelestia shell toaster error 'Screenshot failed' 'Failed to save screenshot' image
+ fi
+}
+
+subcommand=$1
+case $subcommand in
+ "r" | "region")
+ capture_region
+ ;;
+ "w" | "window")
+ capture_window
+ ;;
+ "s" | "screen")
+ capture_screen
+ ;;
+ *)
+ ;;
+esac
+