diff --git a/.config/hypr/hyprland.lua b/.config/hypr/hyprland.lua index bfb2b3e..1c90e32 100644 --- a/.config/hypr/hyprland.lua +++ b/.config/hypr/hyprland.lua @@ -6,3 +6,6 @@ require("lua/theme") require("lua/input") require("lua/binds") require("lua/window_rules") + +-- For Noctalia Color templates +require("noctalia") diff --git a/.config/hypr/lua/autostart.lua b/.config/hypr/lua/autostart.lua index 7d228d0..0fb7e08 100644 --- a/.config/hypr/lua/autostart.lua +++ b/.config/hypr/lua/autostart.lua @@ -11,7 +11,7 @@ local utils = require("lua/utils") hl.on("hyprland.start", function () hl.exec_cmd(utils.uwsm("nm-applet")) - hl.exec_cmd(utils.uwsm("qs -c noctalia-shell")) + hl.exec_cmd(utils.uwsm("noctalia")) hl.exec_cmd(utils.uwsm("batsignal -b -e -w 30 -c 20 -d 10 -f 100")) hl.exec_cmd(utils.uwsm("blueman-applet")) hl.exec_cmd(utils.uwsm("udiskie --tray")) diff --git a/.config/hypr/lua/binds.lua b/.config/hypr/lua/binds.lua index 64a7edb..369c30a 100644 --- a/.config/hypr/lua/binds.lua +++ b/.config/hypr/lua/binds.lua @@ -13,15 +13,15 @@ hl.bind(mainMod .. " + M", hl.dsp.exec_cmd(utils.uwsm(defaults.apps.messenger))) --hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch 'hl.dsp.exit()'")) hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(utils.uwsm(defaults.apps.fileManager))) hl.bind(mainMod .. " + W", hl.dsp.exec_cmd(utils.uwsm(defaults.apps.browser))) -hl.bind(mainMod .. "+ SHIFT + W", hl.dsp.exec_cmd(utils.noctalia_ipc("wallpaper toggle"))) +hl.bind(mainMod .. "+ SHIFT + W", hl.dsp.exec_cmd("noctalia msg panel-toggle wallpaper")) hl.bind(mainMod .. " + S", hl.dsp.exec_cmd(utils.uwsm("sh -c 'IMG=$(xdg-user-dir PICTURES)/Screenshots/$(date +'%s_grim.png') && grim $IMG && wl-copy < $IMG'"))) hl.bind(mainMod .. "+ SHIFT + S", hl.dsp.exec_cmd(utils.uwsm("sh -c 'IMG=$(xdg-user-dir PICTURES)/Screenshots/$(date +'%s_grim.png') && grim -g \"$(slurp)\" $IMG && wl-copy < $IMG'"))) hl.bind("PRINT", hl.dsp.exec_cmd(utils.uwsm("pkill slurp; sh -c 'IMG=$(xdg-user-dir PICTURES)/Screenshots/$(date +'%s_grim.png') && grim -g \"$(slurp)\" $IMG && wl-copy < $IMG'"))) -hl.bind(mainMod .. " + R", hl.dsp.exec_cmd(utils.noctalia_ipc("launcher toggle"))) +hl.bind(mainMod .. " + R", hl.dsp.exec_cmd("noctalia msg panel-toggle launcher")) hl.bind(mainMod .. " + T", hl.dsp.window.float({ action = "toggle" })) hl.bind(mainMod .. " + P", hl.dsp.window.pseudo()) hl.bind(mainMod .. " + F", hl.dsp.window.fullscreen({ action = "toggle" })) -hl.bind(mainMod .. " + B", hl.dsp.exec_cmd(utils.noctalia_ipc("bar toggle"))) +hl.bind(mainMod .. " + B", hl.dsp.exec_cmd("noctalia msg bar-toggle")) -- Move focus with mainMod + arrow keys hl.bind(mainMod .. " + left", hl.dsp.focus({ direction = "left" })) @@ -63,27 +63,26 @@ hl.bind(mainMod .. "+ SHIFT + j", hl.dsp.window.resize({x=0, y=10, relative = tr -- -- Laptop multimedia keys for volume and LCD brightness -hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd(utils.noctalia_ipc("volume increase")), { locked = true, repeating = true }) -hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd(utils.noctalia_ipc("volume decrease")), { locked = true, repeating = true }) +hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("noctalia msg volume-up"), { locked = true, repeating = true }) +hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("noctalia msg volume-down"), { locked = true, repeating = true }) -- Mic volume hl.bind(mainMod .. " + XF86AudioRaiseVolume", hl.dsp.exec_cmd("amixer -q set Dmic0 3%+"), { locked = true, repeating = true }) hl.bind(mainMod .. " + XF86AudioLowerVolume", hl.dsp.exec_cmd("amixer -q set Dmic0 3%-"), { locked = true, repeating = true }) -hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd(utils.noctalia_ipc("volume decrease")), { locked = true, repeating = true }) -hl.bind("XF86AudioMute", hl.dsp.exec_cmd(utils.noctalia_ipc("volume muteOutput")), { locked = true, repeating = true }) -hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd(utils.noctalia_ipc("brightness increase")), { locked = true, repeating = true }) -hl.bind("XF86MonBrightnessDown",hl.dsp.exec_cmd(utils.noctalia_ipc("brightness decrease")), { locked = true, repeating = true }) -hl.bind("XF86MonBrightnessDown",hl.dsp.exec_cmd(utils.noctalia_ipc("brightness decrease")),{ locked = true, repeating = true }) +hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("noctalia msg volume-down"), { locked = true, repeating = true }) +hl.bind("XF86AudioMute", hl.dsp.exec_cmd("noctalia msg volume-mute"), { locked = true, repeating = true }) +hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("noctalia msg brightness-up"), { locked = true, repeating = true }) +hl.bind("XF86MonBrightnessDown",hl.dsp.exec_cmd("noctalia msg brightness-down"), { locked = true, repeating = true }) -- Noctalia shutdown menu -hl.bind(mainMod .. " + Delete",hl.dsp.exec_cmd(utils.noctalia_ipc("sessionMenu toggle")),{ release = true, locked = false, repeating = false }) +hl.bind(mainMod .. " + Delete",hl.dsp.exec_cmd("noctalia msg panel-toggle session"),{ release = true, locked = false, repeating = false }) -- Long press for lock screen (prevents accidental presses) -hl.bind(mainMod .. " + Delete",hl.dsp.exec_cmd(utils.noctalia_ipc("lockScreen lock")),{ long_press = true, locked = false, repeating = false }) +hl.bind(mainMod .. " + Delete",hl.dsp.exec_cmd("noctalia msg session lock"),{ long_press = true, locked = false, repeating = false }) -- Noctalia settings menu -hl.bind(mainMod .. " + HOME",hl.dsp.exec_cmd(utils.noctalia_ipc("settings toggle")),{ locked = false, repeating = false }) +hl.bind(mainMod .. " + HOME",hl.dsp.exec_cmd("noctalia msg settings-toggle"),{ locked = false, repeating = false }) -- Do not disturb -hl.bind("XF86NotificationCenter",hl.dsp.exec_cmd(utils.noctalia_ipc("notifications toggleDND")),{ locked = false, repeating = false }) +hl.bind("XF86NotificationCenter",hl.dsp.exec_cmd("noctalia msg notification-dnd-toggle"),{ locked = false, repeating = false }) -- Media controls (requires playerctl) hl.bind("XF86Favorites", hl.dsp.exec_cmd("playerctl next"), { locked = true }) diff --git a/.config/hypr/lua/utils.lua b/.config/hypr/lua/utils.lua index 320766e..adf3003 100644 --- a/.config/hypr/lua/utils.lua +++ b/.config/hypr/lua/utils.lua @@ -3,8 +3,4 @@ return { assert(cmd, "uwsm() -> cmd is required") return "uwsm-app -- " .. cmd end, - noctalia_ipc = function(cmd) - assert(cmd, "noctalia_ipc() -> cmd is required") - return "qs -c noctalia-shell ipc call " .. cmd - end } diff --git a/.local/state/noctalia/desktop_widgets.toml b/.local/state/noctalia/desktop_widgets.toml new file mode 100644 index 0000000..b00ca6f --- /dev/null +++ b/.local/state/noctalia/desktop_widgets.toml @@ -0,0 +1,15 @@ +schema_version = 1 + +[grid] +cell_size = 16 +major_interval = 4 +visible = true + +[[widget]] +cx = 816.0 +cy = 128.0 +id = "desktop-widget-0000000000000001" +output = "eDP-1" +rotation = 0.0 +scale = 2.3113992214202881 +type = "clock" \ No newline at end of file diff --git a/.local/state/noctalia/settings.toml b/.local/state/noctalia/settings.toml new file mode 100644 index 0000000..3922ed7 --- /dev/null +++ b/.local/state/noctalia/settings.toml @@ -0,0 +1,124 @@ +[bar] +order = [ "default" ] + + [bar.default] + background_opacity = 0.0 + capsule = true + capsule_border = "outline" + capsule_fill = "surface" + capsule_opacity = 0.5 + capsule_padding = 9.0 + end = [ "volume", "brightness", "clipboard", "notifications", "network", "bluetooth", "battery", "control-center" ] + margin_edge = 5 + margin_ends = 0 + padding = 5 + shadow = false + start = [ "tray", "caffeine", "group:g1" ] + thickness = 30 + widget_spacing = 2 + + [[bar.default.capsule_group]] + border = "outline" + fill = "surface" + id = "g1" + members = [ "cpu", "temp", "ram", "sysmon" ] + opacity = 0.55000001192092896 + padding = 6.0 + +[desktop_widgets] +schema_version = 1 +widget_order = [ "desktop-widget-0000000000000001" ] + + [desktop_widgets.grid] + cell_size = 16 + major_interval = 4 + visible = true + + [desktop_widgets.widget.desktop-widget-0000000000000001] + cx = 1461.5 + cy = 919.3074951171875 + output = "eDP-1" + rotation = 0.0 + scale = 1.2566845417022705 + type = "clock" + + [desktop_widgets.widget.desktop-widget-0000000000000001.settings] + background = true + background_opacity = 0.54000000000000004 + +[notification] +background_opacity = 0.97999995946884155 + +[shell] +font_family = "JetBrainsMono NF" +screen_time_enabled = true +settings_show_advanced = true + + [shell.panel] + background_opacity = 0.99999997764825821 + clipboard_placement = "floating" + control_center_placement = "floating" + launcher_categories = false + open_near_click_control_center = true + session_placement = "centered" + wallpaper_placement = "floating" + +[theme] +builtin = "m3-content" +community_palette = "Doomed" +mode = "dark" +source = "wallpaper" +wallpaper_scheme = "Doomed" + + [theme.templates] + builtin_ids = [ "gtk3", "gtk4", "hyprland", "qt" ] + +[wallpaper] +directory = "/home/daniele/.config/hypr/wallpapers" +transition = [ "fade" ] +transition_duration = 300 + + [wallpaper.default] + path = "/home/daniele/.config/hypr/wallpapers/wwdc-2023-8k-swirls-3840x2160-12596.jpg" + + [wallpaper.last] + path = "/home/daniele/.config/hypr/wallpapers/wwdc-2023-8k-swirls-3840x2160-12596.jpg" + + [wallpaper.monitors.eDP-1] + path = "/home/daniele/.config/hypr/wallpapers/wwdc-2023-8k-swirls-3840x2160-12596.jpg" + +[widget.battery] +capsule = true + +[widget.bongocat] +script = "scripts/bongocat.lua" +type = "scripted" + +[widget.clock] +format = "{:%H:%M %a, %b %d}" + +[widget.control-center] +glyph = "baseline-density-medium" + +[widget.cpu] +display = "text" + +[widget.ram] +display = "text" + +[widget.screen_recorder] +script = "scripts/screen_recorder.lua" +type = "scripted" + +[widget.sysmon] +display = "text" +stat = "disk_pct" + +[widget.temp] +display = "text" + +[widget.tray] +anchor = true +drawer = true +drawer_columns = 5 +hidden = [ "Xwayland Video Bridge_pipewireToXProxy" ] \ No newline at end of file