From 519432d6301c7936531325b3df4895ddd8afaf38 Mon Sep 17 00:00:00 2001 From: Mathias Date: Wed, 23 Sep 2026 21:21:20 +0200 Subject: [PATCH] hypr: caelestia --- .gitignore | 2 ++ .../caelestia/monitors/eDP-1/shell.json | 2 ++ hypr/.config/caelestia/shell.json | 23 +++++++++++++++ hypr/.config/hypr/hyprland.lua | 5 +--- hypr/.config/hypr/modules/keybinds.lua | 6 ++++ hypr/.config/hypr/modules/shell_commands.lua | 29 +++++++++++++------ .../hypr/modules/windows_and_workspaces.lua | 10 +++++++ hypr/scripts/packages.txt | 8 +++-- 8 files changed, 70 insertions(+), 15 deletions(-) create mode 100644 hypr/.config/caelestia/monitors/eDP-1/shell.json create mode 100644 hypr/.config/caelestia/shell.json diff --git a/.gitignore b/.gitignore index 3c113a7..e4f4bd8 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,8 @@ hypr/.config/hypr/monitor_setup.lua # Noctalia template output (shell-owned, regenerated on palette change) hypr/.config/hypr/noctalia.lua hypr/.config/kitty/themes/noctalia.conf +# Caelestia runtime output (shell-owned, regenerated on scheme change) +hypr/.config/hypr/scheme/ *~lock.*# lazy-lock.json fish_variables diff --git a/hypr/.config/caelestia/monitors/eDP-1/shell.json b/hypr/.config/caelestia/monitors/eDP-1/shell.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/hypr/.config/caelestia/monitors/eDP-1/shell.json @@ -0,0 +1,2 @@ +{ +} diff --git a/hypr/.config/caelestia/shell.json b/hypr/.config/caelestia/shell.json new file mode 100644 index 0000000..94bbb02 --- /dev/null +++ b/hypr/.config/caelestia/shell.json @@ -0,0 +1,23 @@ +{ + "appearance": { + "transparency": { + "enabled": true + } + }, + "general": { + "apps": { + "explorer": ["dolphin"], + "terminal": ["kitty"] + } + }, + "launcher": { + "showOnHover": true, + "useFuzzy": { + "apps": true + }, + "vimKeybinds": true + }, + "paths": { + "wallpaperDir": "~/nextcloud/Photos/Wallpapers" + } +} diff --git a/hypr/.config/hypr/hyprland.lua b/hypr/.config/hypr/hyprland.lua index c0529f5..33dceec 100644 --- a/hypr/.config/hypr/hyprland.lua +++ b/hypr/.config/hypr/hyprland.lua @@ -29,7 +29,7 @@ hl.config({ -- ################## hl.on("hyprland.start", function() - hl.exec_cmd("noctalia &") + hl.exec_cmd("caelestia shell -d") end) hl.on("hyprland.start", function() @@ -45,6 +45,3 @@ require("modules.windows_and_workspaces") -- HyprMod managed settings require("hyprland-gui") - --- For Noctalia Color templates -require("noctalia").apply_theme() diff --git a/hypr/.config/hypr/modules/keybinds.lua b/hypr/.config/hypr/modules/keybinds.lua index d72d66e..452095c 100644 --- a/hypr/.config/hypr/modules/keybinds.lua +++ b/hypr/.config/hypr/modules/keybinds.lua @@ -228,3 +228,9 @@ hl.bind("SHIFT + PRINT", hl.dsp.exec_cmd("hyprshot -m active --output-folder " . hl.bind(var.mainMod .. " + L", hl.dsp.exec_cmd(command.lock), { locked = true, description = "Lock screen" }) hl.bind(var.mainMod .. " + K", hl.dsp.exec_cmd(command.keybinds_show), { description = "Show keybind overview" }) hl.bind(var.mainMod .. " + W", hl.dsp.exec_cmd(command.wallpaper_select), { description = "Wallpaper select" }) + +-- Caelestia extras +hl.bind(var.mainMod .. " + SHIFT + V", hl.dsp.exec_cmd(command.clipboard), { description = "Clipboard history" }) +hl.bind(var.mainMod .. " + period", hl.dsp.exec_cmd(command.emoji), { description = "Emoji picker" }) +hl.bind(var.mainMod .. " + SHIFT + K", hl.dsp.exec_cmd(command.show_all), { description = "Toggle utilities" }) +hl.bind("CTRL + ALT + C", hl.dsp.exec_cmd(command.clear_notifications), { description = "Clear notifications" }) diff --git a/hypr/.config/hypr/modules/shell_commands.lua b/hypr/.config/hypr/modules/shell_commands.lua index 15f7667..84280c1 100644 --- a/hypr/.config/hypr/modules/shell_commands.lua +++ b/hypr/.config/hypr/modules/shell_commands.lua @@ -1,12 +1,23 @@ +-- Caelestia shell commands. This branch is caelestia-only; +-- revert to Noctalia by switching branches. +-- Caelestia drawers (see ScreenState.qml): bar, osd, session, launcher, +-- dashboard, utilities, sidebar. Wallpaper goes through the launcher +-- (type `>wallpaper`) or `caelestia wallpaper`. + return { - session = "noctalia msg panel-toggle session", - logout = "command -v noctalia >/dev/null 2>&1 && noctalia msg session logout || hyprctl dispatch exit", - shutdown = "noctalia msg session shutdown", - reboot = "noctalia msg session reboot", - menu = "noctalia msg panel-toggle launcher", - settings = "noctalia msg settings-toggle", - control_center = "noctalia msg panel-toggle control-center", - lock = "noctalia msg session lock", - wallpaper_select = "noctalia msg panel-toggle wallpaper", + session = "caelestia shell drawers toggle session", + logout = "hyprctl dispatch exit", + shutdown = "systemctl poweroff", + reboot = "systemctl reboot", + menu = "caelestia shell drawers toggle launcher", + settings = "caelestia shell drawers toggle dashboard", + control_center = "caelestia shell drawers toggle sidebar", + lock = "caelestia shell lock lock", + wallpaper_select = "caelestia shell drawers toggle launcher && sleep 0.1 && wtype \">wallpaper \"", + clipboard = "caelestia clipboard", + clipboard_delete = "caelestia clipboard -d", + emoji = "caelestia emoji -p", + show_all = "caelestia shell drawers toggle utilities", + clear_notifications = "caelestia shell notifs clear", keybinds_show = "sh ~/.config/hypr/scripts/show-keybinds.sh", } diff --git a/hypr/.config/hypr/modules/windows_and_workspaces.lua b/hypr/.config/hypr/modules/windows_and_workspaces.lua index 183e2e7..797cf9c 100644 --- a/hypr/.config/hypr/modules/windows_and_workspaces.lua +++ b/hypr/.config/hypr/modules/windows_and_workspaces.lua @@ -76,6 +76,16 @@ hl.layer_rule({ blur = true, blur_popups = true, }) +hl.layer_rule({ + name = "caelestia", + match = { + namespace = "^caelestia-.*$", + }, + no_anim = true, + ignore_alpha = 0.5, + blur = true, + blur_popups = true, +}) hl.window_rule({ name = "noctalia-settings", match = { diff --git a/hypr/scripts/packages.txt b/hypr/scripts/packages.txt index cd7075e..43562e9 100644 --- a/hypr/scripts/packages.txt +++ b/hypr/scripts/packages.txt @@ -3,7 +3,8 @@ # # Wayland compositor, screenshot tool and supporting utilities. The desktop # shell (bar, launcher, notifications, lock screen, wallpaper, idle, session -# menu) is Noctalia, not a set of standalone ecosystem tools. +# menu) on this branch is Caelestia (see hypr/.config/hypr/hyprland.lua: +# `caelestia shell -d`). Noctalia lives on main. # # - Lines starting with '#' and blank lines are ignored. # - Use "@pacman", "@aur" or "@npm" markers to switch section. @@ -19,7 +20,10 @@ wev wl-clipboard hyprshot brightnessctl -noctalia +wtype @aur hyprmod +caelestia-shell +caelestia-cli +quickshell-git