diff --git a/.gitignore b/.gitignore index 25d72bc..fadc85c 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,8 @@ hypr/.config/hypr/env.sh hypr/.config/hypr/monitor_setup.lua # Noctalia template output (shell-owned, regenerated on palette change) 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 abd6326..7d75538 100644 --- a/hypr/.config/hypr/hyprland.lua +++ b/hypr/.config/hypr/hyprland.lua @@ -33,6 +33,8 @@ local env = require("env") hl.on("hyprland.start", function() if env.shell == "noctalia" then hl.exec_cmd("noctalia &") + elseif env.shell == "caelestia" then + hl.exec_cmd("caelestia shell -d") end hl.exec_cmd("hypridle &") hl.exec_cmd("sh ~/.config/hypr/scripts/portal-host-override.sh") @@ -47,6 +49,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 c641d97..475e091 100644 --- a/hypr/.config/hypr/modules/keybinds.lua +++ b/hypr/.config/hypr/modules/keybinds.lua @@ -230,3 +230,9 @@ hl.bind(var.mainMod .. " + L", hl.dsp.exec_cmd(command.lock), { locked = true, d hl.bind(var.mainMod .. " + SHIFT + L", hl.dsp.exec_cmd(command.screensaver), { description = "Start screensaver (any key quits)" }) 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 1a0ddfa..173e803 100644 --- a/hypr/.config/hypr/modules/shell_commands.lua +++ b/hypr/.config/hypr/modules/shell_commands.lua @@ -12,7 +12,12 @@ local commands = { lock = "", screensaver = "sh ~/.config/hypr/scripts/screensaver-start.sh force", wallpaper_select = "", - keybinds_show = "", + keybinds_show = "sh ~/.config/hypr/scripts/show-keybinds.sh", + clipboard = "", + clipboard_delete = "", + emoji = "", + show_all = "", + clear_notifications = "", } if env.shell == "noctalia" then @@ -25,24 +30,22 @@ if env.shell == "noctalia" then commands.control_center = "noctalia msg panel-toggle control-center" commands.lock = "noctalia msg session lock" commands.wallpaper_select = "noctalia msg panel-toggle wallpaper" - commands.keybinds_show = "sh ~/.config/hypr/scripts/show-keybinds.sh" +elseif env.shell == "caelestia" then + commands.session = "caelestia shell drawers toggle session" + commands.logout = "hyprctl dispatch exit" + commands.shutdown = "systemctl poweroff" + commands.reboot = "systemctl reboot" + commands.menu = "caelestia shell drawers toggle launcher" + commands.settings = "caelestia shell drawers toggle dashboard" + commands.control_center = "caelestia shell drawers toggle sidebar" + commands.lock = "caelestia shell lock lock" + commands.wallpaper_select = "caelestia shell drawers toggle launcher && sleep 0.1 && wtype \">wallpaper \"" + commands.clipboard = "caelestia clipboard" + commands.clipboard_delete = "caelestia clipboard -d" + commands.emoji = "caelestia emoji -p" + commands.show_all = "caelestia shell drawers toggle utilities" + commands.clear_notifications = "caelestia shell notifs clear" end return commands - - - --- 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", --- screensaver = "sh ~/.config/hypr/scripts/screensaver-start.sh force", --- wallpaper_select = "noctalia msg panel-toggle wallpaper", --- 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 0af03b3..c00fe0e 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/.config/hypr/screensaver.txt b/hypr/.config/hypr/screensaver.txt index 4fd5c0c..c74bbcc 100644 --- a/hypr/.config/hypr/screensaver.txt +++ b/hypr/.config/hypr/screensaver.txt @@ -1,2 +1,4 @@ hyprland // idle looks good on you + +ArchTop is relaxing 🧘 diff --git a/setup/hypr/packages.txt b/setup/hypr/packages.txt index cec51ed..bfb5ab3 100644 --- a/setup/hypr/packages.txt +++ b/setup/hypr/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. @@ -22,8 +23,12 @@ hyprshot brightnessctl quickshell noctalia +wtype @aur hyprmod +caelestia-shell +caelestia-cli +quickshell-git hyprsaver python-terminaltexteffects