use Noctalia instead of various components

This commit is contained in:
2026-09-22 22:56:33 +02:00
parent 466c79f1df
commit 143f1ad86a
28 changed files with 166 additions and 1131 deletions
+32 -46
View File
@@ -9,7 +9,7 @@ local var_color_decoration_shadow = theme.shadow
local var_mainMod = "SUPER"
local var_terminal = "kitty"
local var_fileManager = "dolphin"
local var_menu = "wofi --show drun"
local var_menu = "noctalia msg panel-toggle launcher"
local var_screenshot_folder = "~/Bilder/Screenshots/"
require("env")
@@ -33,15 +33,10 @@ hl.config({
-- ##################
hl.on("hyprland.start", function()
hl.exec_cmd("waybar &")
hl.exec_cmd("noctalia &")
end)
hl.on("hyprland.start", function()
hl.exec_cmd("hyprpaper &")
hl.exec_cmd("sleep 1; waypaper --restore &")
hl.exec_cmd("swaync &")
hl.exec_cmd("hypridle &")
hl.exec_cmd("nextcloud &")
hl.exec_cmd("sh ~/.config/hypr/scripts/portal-host-override.sh")
hl.exec_cmd("sh ~/.config/hypr/scripts/ensure-mime-defaults.sh")
end)
@@ -376,38 +371,32 @@ hl.device({
-- Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
hl.bind(var_mainMod .. " + RETURN", hl.dsp.exec_cmd(var_terminal), { description = "Open terminal (kitty)" })
hl.bind(var_mainMod .. " + Q", hl.dsp.window.close(), { description = "Close focused window" })
hl.bind(var_mainMod .. " + ESCAPE", hl.dsp.exec_cmd("hyprshutdown"), { description = "Shutdown Hyprland" })
-- Session menu (noctalia owns the session panel)
hl.bind(var_mainMod .. " + ESCAPE", hl.dsp.exec_cmd("noctalia msg panel-toggle session"), { description = "Session menu (logout/reboot/shutdown)" })
hl.bind(
var_mainMod .. " + SHIFT + ESCAPE",
hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit"),
hl.dsp.exec_cmd("command -v noctalia >/dev/null 2>&1 && noctalia msg session logout || hyprctl dispatch exit"),
{ description = "Exit Hyprland" }
)
hl.bind(
var_mainMod .. " + CTRL + ESCAPE",
hl.dsp.exec_cmd("hyprshutdown -t 'Shutting down...' --post-cmd 'shutdown -P 0'"),
hl.dsp.exec_cmd("noctalia msg session shutdown"),
{ description = "Power off the system" }
)
hl.bind(
var_mainMod .. " + ALT + ESCAPE",
hl.dsp.exec_cmd("hyprshutdown -t 'Restarting...' --post-cmd 'reboot'"),
hl.dsp.exec_cmd("noctalia msg session reboot"),
{ description = "Reboot the system" }
)
hl.bind(var_mainMod .. " + E", hl.dsp.exec_cmd(var_fileManager), { description = "Open file manager (dolphin)" })
hl.bind(var_mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }), { description = "Toggle floating window" })
hl.bind(var_mainMod .. " + SPACE", hl.dsp.exec_cmd(var_menu), { description = "Open app launcher (wofi)" })
hl.bind(
var_mainMod .. " + SHIFT + SPACE",
hl.dsp.exec_cmd("nwg-drawer"),
{ description = "Open app drawer (nwg-drawer)" }
)
hl.bind(var_mainMod .. " + SPACE", hl.dsp.exec_cmd(var_menu), { description = "Open app launcher (noctalia)" })
hl.bind(var_mainMod .. " + P", hl.dsp.window.pseudo(), { description = "Toggle pseudo-tiling" })
hl.bind(var_mainMod .. " + SHIFT + J", hl.dsp.layout("togglesplit"), { description = "Toggle split layout" })
hl.bind(var_mainMod .. " + I", hl.dsp.exec_cmd("firefox &"), { description = "Open Firefox" })
hl.bind(
var_mainMod .. " + n",
hl.dsp.exec_cmd("~/.local/bin/hyprltm-net"),
{ description = "Network manager (hyprltm)" }
)
hl.bind(var_mainMod .. " + n", hl.dsp.exec_cmd("nm-connection-editor"), { description = "Network manager" })
hl.bind(var_mainMod .. " + comma", hl.dsp.exec_cmd("noctalia msg settings-toggle"), { description = "Noctalia settings" })
hl.bind(var_mainMod .. " + S", hl.dsp.exec_cmd("noctalia msg panel-toggle control-center"), { description = "Control center (noctalia)" })
-- Move focus with mainMod or Vim-style
hl.bind(var_mainMod .. " + CTRL + h", hl.dsp.focus({ direction = "left" }), { description = "Focus window left" })
@@ -611,9 +600,9 @@ hl.bind("SHIFT + PRINT", hl.dsp.exec_cmd("hyprshot -m active --output-folder " .
description = "Screenshot active monitor",
})
-- Screenlock
hl.bind("CTRL + ALT + L", hl.dsp.exec_cmd("hyprlock"), { locked = true, description = "Lock screen" })
hl.bind(var_mainMod .. " + L", hl.dsp.exec_cmd("hyprlock"), { locked = true, description = "Lock screen" })
-- Screenlock (noctalia owns the lock screen)
hl.bind("CTRL + ALT + L", hl.dsp.exec_cmd("noctalia msg session lock"), { locked = true, description = "Lock screen" })
hl.bind(var_mainMod .. " + L", hl.dsp.exec_cmd("noctalia msg session lock"), { locked = true, description = "Lock screen" })
-- Keybind overview popup
hl.bind(
@@ -622,7 +611,7 @@ hl.bind(
{ description = "Show keybind overview" }
)
hl.bind(var_mainMod .. " + W", hl.dsp.exec_cmd("waypaper"), { description = "Wallpaper select" })
hl.bind(var_mainMod .. " + W", hl.dsp.exec_cmd("noctalia msg panel-toggle wallpaper"), { description = "Wallpaper select (noctalia)" })
-- #############################
-- ## WINDOWS AND WORKSPACES ###
@@ -676,12 +665,12 @@ hl.window_rule({
float = true,
})
hl.window_rule({
name = "waypaper-float",
name = "keybinds-float",
match = {
class = ".*[Ww]aypaper.*",
class = "keybinds",
},
float = true,
size = "1280 800",
size = "900 700",
center = true,
dim_around = true,
})
@@ -692,31 +681,25 @@ hl.window_rule({
},
opacity = "0.80 0.70",
})
-- Noctalia shell surfaces: blur bars/panels/dock/notifications and let
-- Noctalia run its own animations (no Hyprland layer animation on top).
hl.layer_rule({
name = "noctalia",
match = {
namespace = "waybar",
namespace = "^noctalia-(bar-.+|notification|dock|panel|attached-panel|osd|window-switcher)$",
},
no_anim = true,
ignore_alpha = 0.5,
blur = true,
})
hl.layer_rule({
match = {
namespace = "waybar",
},
blur_popups = true,
})
-- Central theme: blur behind the wofi popups (SUPER+SPACE drun, SUPER+K
-- keybind help), whose window itself is translucent (@bg_translucent).
hl.layer_rule({
hl.window_rule({
name = "noctalia-settings",
match = {
namespace = "wofi",
class = "dev.noctalia.Noctalia",
},
blur = true,
})
hl.layer_rule({
match = {
namespace = "wofi",
},
blur_popups = true,
float = true,
size = "1080 920",
})
hl.window_rule({
name = "no-rounding-fullscreen",
@@ -753,3 +736,6 @@ hl.window_rule({
-- HyprMod managed settings
require("hyprland-gui")
-- For Noctalia Color templates
require("noctalia").apply_theme()