24/07/2026

This commit is contained in:
Domipoke
2026-07-24 14:34:57 +02:00
parent 44b9c40c44
commit 24a7513e69
36 changed files with 177 additions and 158 deletions
+3
View File
@@ -0,0 +1,3 @@
privatesettings.lua
monitors.lua
settings.txt
+14
View File
@@ -0,0 +1,14 @@
{
"workspace": {
"library": [
"/usr/local/share/hypr/stubs"
]
},
"diagnostics": {
"globals": [
"hl",
"mainMod",
"noctalia"
]
}
}
+8
View File
@@ -0,0 +1,8 @@
{
"Lua.workspace.library": [
"/usr/local/share/hypr/stubs"
],
"Lua.diagnostics.globals": [
"hl"
]
}
+139
View File
@@ -0,0 +1,139 @@
-- Setup curves
hl.curve("wind", {
points = {
{ 0.05, 0.9 },
{ 0.1, 1.05 }
},
type = "bezier"
})
hl.curve("winIn", {
points = {
{ 0.1, 1.1 },
{ 0.1, 1.1 }
},
type = "bezier"
})
hl.curve("winOut", {
points = {
{ 0.3, -0.3 },
{ 0, 1 }
},
type = "bezier"
})
hl.curve("liner", {
points = {
{ 1, 1 },
{ 1, 1 }
},
type = "bezier"
})
hl.curve("almostLinear", {
points = {
{ 0.5, 0.5 },
{ 0.75, 1 }
},
type = "bezier"
})
-- Setup animations
hl.animation({
leaf = "windows",
speed = 6,
bezier = "wind",
style = "slide",
enabled = true
})
hl.animation({
leaf = "windowsIn",
speed = 6,
bezier = "winIn",
style = "slide",
enabled = false
})
hl.animation({
leaf = "windowsOut",
speed = 5,
bezier = "winOut",
style = "slide",
enabled = false
})
hl.animation({
leaf = "windowsMove",
speed = 5,
bezier = "wind",
style = "slide",
enabled = false
})
hl.animation({
leaf = "border",
speed = 1,
bezier = "liner",
enabled = true
})
hl.animation({
leaf = "borderangle",
speed = 30,
bezier = "liner",
loop = true,
enabled = true
})
hl.animation({
leaf = "layers",
speed = 6,
bezier = "wind",
style = "popin 90%",
enabled = true
})
hl.animation({
leaf = "layersIn",
speed = 6,
bezier = "winIn",
style = "popin 90%",
enabled = true
})
hl.animation({
leaf = "layersOut",
speed = 5,
bezier = "winOut",
style = "popin 90%",
enabled = true
})
hl.animation({
leaf = "workspaces",
speed = 5,
bezier = "wind",
enabled = true
})
hl.animation({
leaf = "fadeIn",
speed = 1.73,
bezier = "almostLinear",
enabled = true
})
hl.animation({
leaf = "fadeOut",
speed = 1.46,
bezier = "almostLinear",
enabled = true
})
hl.animation({
leaf = "fade",
speed = 3.03,
bezier = "almostLinear",
enabled = true
})
+40
View File
@@ -0,0 +1,40 @@
-- #################
-- ### AUTOSTART ###
-- #################
hl.on("hyprland.start", function()
hl.exec_cmd("wl-paste --type text --watch cliphist store") -- Stores only text data
hl.exec_cmd("wl-paste --type image --watch cliphist store") -- Stores only image data
hl.exec_cmd("wl-clip-persist --clipboard regular")
hl.exec_cmd("systemctl --user start hyprpolkitagent")
hl.exec_cmd("hypridle")
-- Notification
-- hl.exec_cmd("mako")
-- hl.exec_cmd("~/.config/mako/scripts/spotify-notify.sh")
-- For screen sharing
hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
hl.exec_cmd("systemctl --user import-environment")
hl.exec_cmd("~/.config/hypr/scripts/screensharing.sh")
hl.exec_cmd("xwaylandvideobridge")
-- Bluetooth
-- hl.exec_cmd("blueman-applet") -- Make sure you have installed blueman
-- hl.exec_cmd("nm-applet")
-- hl.exec_cmd("blueman-tray")
-- For keyboard
-- hl.exec_cmd("fcitx5 -D")
-- Start plugins
hl.exec_cmd("hyprpm reload")
hl.exec_cmd("kded6")
hl.exec_cmd("kbuildsycoca6")
-- quickshell profile
hl.env("qsConfig", "end4-pC")
hl.exec_cmd("qs")
end)
+102
View File
@@ -0,0 +1,102 @@
image = "/home/akiidjk/.config/wallpapers/eyes.png"
background = "#131314ff"
error = "#ffb4abff"
error_container = "#93000aff"
inverse_on_surface = "#313030ff"
inverse_primary = "#5c5e64ff"
inverse_surface = "#e5e2e2ff"
on_background = "#e5e2e2ff"
on_error = "#690005ff"
on_error_container = "#ffdad6ff"
on_primary = "#2e3035ff"
on_primary_container = "#c7c7cdff"
on_primary_fixed = "#191c20ff"
on_primary_fixed_variant = "#45474cff"
on_secondary = "#303032ff"
on_secondary_container = "#e1dfe2ff"
on_secondary_fixed = "#1b1b1dff"
on_secondary_fixed_variant = "#464649ff"
on_surface = "#e5e2e2ff"
on_surface_variant = "#c6c6cbff"
on_tertiary = "#372f29ff"
on_tertiary_container = "#d3c4bcff"
on_tertiary_fixed = "#221a15ff"
on_tertiary_fixed_variant = "#4f453eff"
outline = "#909095ff"
outline_variant = "#45474bff"
primary = "#c5c6ccff"
primary_container = "#35373cff"
primary_fixed = "#e2e2e8ff"
primary_fixed_dim = "#c5c6ccff"
scrim = "#000000ff"
secondary = "#c7c6c8ff"
secondary_container = "#464649ff"
secondary_fixed = "#e4e2e4ff"
secondary_fixed_dim = "#c7c6c8ff"
shadow = "#000000ff"
source_color = "#35373cff"
surface = "#131314ff"
surface_bright = "#3a3939ff"
surface_container = "#201f20ff"
surface_container_high = "#2a2a2aff"
surface_container_highest = "#353435ff"
surface_container_low = "#1c1b1cff"
surface_container_lowest = "#0e0e0eff"
surface_dim = "#131314ff"
surface_tint = "#c5c6ccff"
surface_variant = "#45474bff"
tertiary = "#d2c4bbff"
tertiary_container = "#3e352fff"
tertiary_fixed = "#efe0d7ff"
tertiary_fixed_dim = "#d2c4bbff"
+25
View File
@@ -0,0 +1,25 @@
NUM_KEYS = {
{code = "87"}, -- 1
{code = "88"}, -- 2
{code = "89"}, -- 3
{code = "83"}, -- 4
{code = "84"}, -- 5
{code = "85"}, -- 6
{code = "79"}, -- 7
{code = "80"}, -- 8
{code = "81"}, -- 9
{code = "90"} -- 0
}
Terminal = "kitty"
FileManager = "dolphin"
Browser = "vivaldi"
Editor = "code"
Spotify = "spotify"
Instagram="vivaldi --app-id=akpamiohjfcnimfljfndmaldlcfphjmp"
X="vivaldi --app-id=lodlkdfmihgonocnmddehnfgiljnadcf"
Whatsapp="vivaldi --app-id=hnpfjngllnobngcgfapefoaidbinmjnm"
Discord="vesktop"
+41
View File
@@ -0,0 +1,41 @@
local reset = "reset"
local hub = "hub"
local social = "hub_social"
local mail = "hub_mail"
local music = "hub_music"
hl.bind(mainMod .. " + code:" .. NUM_KEYS[10].code, hl.dsp.submap(hub))
hl.define_submap(hub, function ()
hl.bind("S", hl.dsp.submap(social))
-- hl.bind("G", hl.dsp.submap(mail))
hl.bind("M", hl.dsp.submap(music))
hl.bind("Escape", hl.dsp.submap(reset))
end)
-- Social
hl.define_submap(social, function ()
hl.bind("I", hl.dsp.exec_cmd(Instagram))
hl.bind("I", hl.dsp.submap(reset))
hl.bind("X", hl.dsp.exec_cmd(X))
hl.bind("X", hl.dsp.submap(reset))
hl.bind("D", hl.dsp.exec_cmd(Discord))
hl.bind("D", hl.dsp.submap(reset))
hl.bind("W", hl.dsp.exec_cmd(Whatsapp))
hl.bind("W", hl.dsp.submap(reset))
hl.bind("Escape", hl.dsp.submap(reset))
end)
hl.define_submap(music, function ()
hl.bind("S", hl.dsp.exec_cmd(Spotify))
hl.bind("Escape", hl.dsp.submap(reset))
end)
+46
View File
@@ -0,0 +1,46 @@
require("colors")
hl.config({
general = {
gaps_in = 5,
gaps_out = 15,
border_size = 2,
-- # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col = {
active_border = primary,
inactive_border = on_primary
},
-- # Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = true,
-- -- # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false,
layout = "dwindle"
},
decoration = {
rounding = 10,
rounding_power = 2,
-- # Change transparency of focused and unfocused windows
active_opacity = 1,
inactive_opacity = 1,
shadow = {
enabled = true,
range = 4,
render_power = 3,
color = background,
},
-- # https://wiki.hyprland.org/Configuring/Variables/#blur
blur = {
enabled = true,
size = 3,
passes = 1,
vibrancy = 0.1696
}
}
})
+22
View File
@@ -0,0 +1,22 @@
general {
lock_cmd = notify-send "lock!" # dbus/sysd lock command (loginctl lock-session)
unlock_cmd = notify-send "unlock!" # same as above, but unlock
ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam)
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
}
# Screenlock
listener {
timeout = 180 # in seconds
on-timeout = hyprlock # command to run when timeout has passed
# on-resume = notify-send "Welcome back to your desktop!" # command to run when activity is detected after timeout has fired.
}
# Suspend
listener {
timeout = 3600 # in seconds
on-timeout = systemctl suspend # command to run when timeout has passed
# on-resume = notify-send "Welcome back to your desktop!" # command to run when activity is detected after timeout has fired.
}
+122
View File
@@ -0,0 +1,122 @@
require("config")
require("privatesettings")
-- Setup gestures
hl.gesture({
fingers = 3,
direction = "horizontal",
action = "workspace"
})
-- Some config
hl.config({
dwindle = {
-- force_split = 0,
preserve_split = true,
-- smart_split = false,
-- smart_resizing = true,
-- permanent_direction_override = false,
-- special_scale_factor = 1,
-- split_width_multiplier = 1.0,
-- use_active_for_splits = true,
-- default_split_ratio = 1.0,
-- split_bias = 0,
-- precise_mouse_move = false,
},
})
-- Load monitors config
require("monitors")
-- Nvidia settings
hl.env("LIBVA_DRIVER_NAME.nvidia", "true")
hl.env("__GLX_VENDOR_LIBRARY_NAME.nvidia", "true")
require("autostart")
-- #############################
-- ### ENVIRONMENT VARIABLES ###
-- #############################
-- # See https://wiki.hyprland.org/Configuring/Environment-variables/
hl.env("XCURSOR_SIZE", 24)
hl.env("HYPRCURSOR_SIZE", 24)
hl.env("QT_QPA_PLATFORMTHEME","qt6ct")
hl.env("XDG_MENU_PREFIX","arch- kbuildsycoca6")
-- # 01-xdg-base.conf
--hl.env("XDG_CONFIG_HOME", "/home/domenico/.config")
--hl.env("XDG_DATA_HOME", "/home/domenico/.local/share")
--hl.env("XDG_CACHE_HOME", "/home/domenco/.cache")
--hl.env("XDG_STATE_HOME", "/home/domenico/.local/state")
--hl.env("XDG_DATA_DIRS", "/home/domenico/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share")
-- # 10-kde-on-niri/hyprland
--hl.env("QT_QPA_PLATFORM", "wayland")
-- # REQUIRED: make sure portal uses KDE Qt platform theme
--hl.env("QT_QPA_PLATFORMTHEME","kde")
--hl.env("QT_QPA_PLATFORMTHEME_QT6","kde")
-- # REQUIRED: helps fixing Dolphin default applications issue
--hl.env("XDG_MENU_PREFIX","plasma-")
--hl.env("QT_AUTO_SCREEN_SCALE_FACTOR","1")
--hl.env("QT_ENABLE_HIGHDPI_SCALING","1")
--hl.env("QT_SCALE_FACTOR_ROUNDING_POLICY","RoundPreferFloor")
-- 80-gtk-no-btn.conf
--hl.env("GTK_DECORATION_LAYOUT","")
-- 99-electron.conf
--hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
-- #####################
-- ### LOOK AND FEEL ###
-- #####################
require("hyprcolors")
require("animation")
hl.config({
misc = {
force_default_wallpaper = -1, -- # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = true -- # If true disables the random hyprland logo / anime girl background. :(
}
})
-- #############
-- ### INPUT ###
-- #############
require("input")
require("keybinds")
-- ##############################
-- ### WINDOWS AND WORKSPACES ###
-- ##############################
-- # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
-- # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
require("windowrule")
require("workspace")
-- ###########
-- ### HUB ###
-- ###########
require("hub")
-- ##################
-- ### EXTENSIONS ###
-- ##################
-- require("vicinae")
-- This loads Noctalia-generated Hyprland colors.
dofile("/home/domenico/.config/hypr/noctalia/noctalia-colors.lua")
-- For Noctalia Color templates
require("noctalia").apply_theme()
+212
View File
@@ -0,0 +1,212 @@
general {
ignore_empty_input = true
fail_timeout = 1000
# hide_cursor = true
}
background {
monitor =
path = $HOME/.current_wallpaper # only png supported for now
color = rgba(25, 20, 20, 1.0)
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
blur_passes = 0 # 0 disables blurring
blur_size = 2
noise = 0
contrast = 0
brightness = 0
vibrancy = 0
vibrancy_darkness = 0.0
}
input-field {
monitor =
size = 300, 30
outline_thickness = 0
dots_size = 0.25 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.55 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
dots_rounding = -1
outer_color = rgba(242, 243, 244, 0)
inner_color = rgba(242, 243, 244, 0)
font_color = rgba(242, 243, 244, 0.75)
fade_on_empty = false
placeholder_text = # Text rendered in the input box when it's empty.
hide_input = false
check_color = rgba(204, 136, 34, 0)
fail_color = rgba(204, 34, 34, 0) # if authentication failed, changes outer_color and fail message color
fail_text = $FAIL <b>($ATTEMPTS)</b> # can be set to empty
fail_transition = 300 # transition time in ms between normal outer_color and fail_color
capslock_color = -1
numlock_color = -1
bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
invert_numlock = false # change color if numlock is off
swap_font_color = false # see below
position = 0, -468
halign = center
valign = center
}
label {
monitor =
text = cmd[update:1000] echo "$(date +"%A, %B %d")"
color = rgba(242, 243, 244, 0.75)
font_size = 20
font_family = SF Pro Display Bold
position = 0, 405
halign = center
valign = center
}
label {
monitor =
text = $TIME12
color = rgba(242, 243, 244, 0.75)
font_size = 93
font_family = SF Pro Display Bold
position = 0, 310
halign = center
valign = center
}
label {
monitor =
text = $USER
color = rgba(242, 243, 244, 0.75)
font_size = 12
font_family = SF Pro Display Bold
position = 0, -407
halign = center
valign = center
}
label {
monitor =
text = Touch ID or Enter Password
color = rgba(242, 243, 244, 0.75)
font_size = 10
font_family = SF Pro Display
position = 0, -438
halign = center
valign = center
}
image {
monitor =
path = ~/.config/wallpapers/icons/spidy_black_1.jpg
border_color = 0xffdddddd
border_size = 0
size = 73
rounding = -1
rotate = 0
reload_time = -1
reload_cmd =
position = 0, -353
halign = center
valign = center
}
# Music blur div
shape {
monitor =
size = 340, 140
color =rgba(00, 00, 00, 0.1)
rounding = 30
rotate = 0
position = 0, -150
halign = center
valign = center
zindex = 1
}
# Music album art
image {
monitor =
size = 110
rounding = 20
rotate = 0
reload_time = 1
reload_cmd = ~/.config/hypr/scripts/playerctlock.sh --arturl
position = 800, -150
halign = left
valign = center
zindex = 5
}
# PLAYER LENGTH
label {
monitor =
text = cmd[update:1000] echo "$(~/.config/hypr/scripts/playerctlock.sh --length | cut -c 1-15)"
color = rgba(255, 255, 255, 0.8)
font_size = 10
font_family = JetBrains Mono Nerd Font Mono ExtraBold
position = 950, -190
halign = left
valign = center
zindex = 5
}
# PLAYER STATUS
label {
monitor =
text = cmd[update:1000] echo "$(~/.config/hypr/scripts/playerctlock.sh --status | cut -c 1-15)"
color = rgba(255, 255, 255, 0.8)
font_size = 10
font_family = JetBrains Mono Nerd Font Mono ExtraBold
position = 950, -170
halign = left
valign = center
zindex = 5
}
# PLAYER SOURCE
label {
monitor =
text = cmd[update:1000] echo "$(~/.config/hypr/scripts/playerctlock.sh --source | cut -c 1-15)"
color = rgba(255, 255, 255, 0.6)
font_size = 10
font_family = JetBrains Mono Nerd Font Mono
position = 950, -140
halign = left
valign = center
zindex = 5
}
# PLAYER TITLE
label {
monitor =
text = cmd[update:1000] echo "$(~/.config/hypr/scripts/playerctlock.sh --title | cut -c 1-15)"
color = rgba(255, 255, 255, 0.8)
font_size = 12
font_family = JetBrains Mono Nerd Font Mono ExtraBold
position = 950, -120
halign = left
valign = center
zindex = 5
}
# PLAYER ARTIST
label {
monitor =
text = cmd[update:1000] echo "$(~/.config/hypr/scripts/playerctlock.sh --artist | cut -c 1-15)"
color = rgba(255, 255, 255, 0.8)
font_size = 10
font_family = JetBrains Mono Nerd Font Mono ExtraBold
position = 950, -100
halign = left
valign = center
zindex = 5
}
+11
View File
@@ -0,0 +1,11 @@
max-gamma = 150
profile {
time = 7:00
identity = true
}
profile {
time = 01:00
temperature = 5000
gamma = 0.65
}
+7
View File
@@ -0,0 +1,7 @@
background = rgba(1e1e2eff)
base = rgba(1e1e2eff)
text = rgba(cdd6f4ff)
alternate_base = rgba(313244ff)
bright_text = rgba(11111bff)
accent = rgba(cba6f7ff)
accent_secondary = rgba(fab387ff)
+15
View File
@@ -0,0 +1,15 @@
-- #############
-- ### INPUT ###
-- #############
-- # https://wiki.hyprland.org/Configuring/Variables/#input
hl.config({
input = {
kb_layout = "it",
follow_mouse = 1,
sensitivity = 0, -- # -1.0 - 1.0, 0 means no modification.
touchpad = {
natural_scroll = true
},
}
})
+109
View File
@@ -0,0 +1,109 @@
--noctalia = "qs -c noctalia-shell ipc call "
noctalia = "noctalia msg "
mainMod = "SUPER"
-- Exec
hl.bind(mainMod .. " + RETURN", hl.dsp.exec_cmd(Terminal), { description = "Open terminal" })
hl.bind(mainMod .. " + SHIFT + RETURN", hl.dsp.exec_cmd(Terminal .. " --title \"Floating\""), {description = "Open a floating terminal"})
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd("kitty bash -c yazi"), { description = "Open file manager" })
hl.bind(mainMod .. " + B", hl.dsp.exec_cmd(Browser), { description = "Open browser" })
hl.bind(mainMod .. " + C", hl.dsp.exec_cmd(Editor), { description = "Open editor" })
hl.bind(mainMod .. " + V", hl.dsp.exec_cmd(noctalia .. "panel-toggle clipboard"), {description = "Open Clipboard history"})
hl.bind(mainMod .. " + D", hl.dsp.exec_cmd(FileManager), {description = "Open file manager"})
hl.bind("ALT + L", hl.dsp.exec_cmd("hyprlock --grace 5"), { description = "Lock screen" })
hl.bind("SUPER + SHIFT + C", hl.dsp.exec_cmd("bash ~/.config/hypr/scripts/hyprPicker.sh"),
{ description = "Color picker" })
hl.bind("CTRL + SHIFT + A", hl.dsp.exec_cmd("playerctl play-pause"), { description = "Play/pause media" })
hl.bind("CTRL + SHIFT + D", hl.dsp.exec_cmd("playerctl next"), { description = "Next media" })
hl.bind("CTRL + SHIFT + S", hl.dsp.exec_cmd("playerctl previous"), { description = "Previous media" })
-- WM Control binds
hl.bind(mainMod .. " + Q", hl.dsp.window.close(), { description = "Close window" })
hl.bind("SUPER + SHIFT + Q", hl.dsp.exit(), { description = "Exit WM" })
hl.bind(mainMod .. " + F", hl.dsp.window.fullscreen({ mode = 1, internal = 0, client = 2 }),
{ description = "Maximize window" })
hl.bind(mainMod .. " + SHIFT + F", hl.dsp.window.fullscreen({ mode = 0, internal = 0, client = 2 }),
{ description = "Fullscreen window" })
hl.bind(mainMod .. " + T", hl.dsp.window.float(), { description = "Toggle floating" })
hl.bind(mainMod .. " + J", hl.dsp.layout("togglesplit"), { description = "Toggle split" })
hl.bind(mainMod .. " + G", hl.dsp.layout("swapsplit"), { description = "Swap split" })
-- Window Switch
hl.bind(mainMod .. " + CTRL + left", hl.dsp.focus({ direction = "left" }), { description = "Focus left" })
hl.bind(mainMod .. " + CTRL + right", hl.dsp.focus({ direction = "right" }), { description = "Focus right" })
hl.bind(mainMod .. " + CTRL + up", hl.dsp.focus({ direction = "up" }), { description = "Focus up" })
hl.bind(mainMod .. " + CTRL + down", hl.dsp.focus({ direction = "down" }), { description = "Focus down" })
hl.bind(mainMod .. " + P", hl.dsp.window.pin(), { description = "Pin a window"})
-- Window Move
-- hl.bind(mainMod .. " + SHIFT + left", hl.windo)
-- Switch workspaces with mainMod + [0-9]
for i = 1, 10 do
local key = i % 10
hl.bind(mainMod .. " + " .. key, hl.dsp.focus({ workspace = key }), { description = "Focus workspace " .. key })
hl.bind(mainMod .. " + SHIFT +" .. key, hl.dsp.window.move({ workspace = key }),
{ description = "Move to workspace " .. key })
end
-- hl.bind(mainMod .. " + 0", hl.dsp.workspace(10))
hl.bind(mainMod .. " + Tab", hl.dsp.focus({ workspace = "previous" }), { description = "Focus previous workspace" })
hl.bind(mainMod .. " + left", hl.dsp.focus({ workspace = "-1" }), { description = "Focus left workspace" })
hl.bind(mainMod .. " + SHIFT + left", hl.dsp.window.move({ workspace = "-1" }))
hl.bind(mainMod .. " + right", hl.dsp.focus({ workspace = "+1" }), { description = "Focus right workspace" })
hl.bind(mainMod .. " + SHIFT + right", hl.dsp.window.move({ workspace = "+1" }))
-- Move/resize windows with mainMod + LMB/RMB and dragging
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true, description = "Drag window" })
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true, description = "Resize window" })
hl.bind(mainMod .. " + CTRL + SHIFT + left", hl.dsp.window.resize({ x = -40, y = 0, relative = true }),
{ description = "Resize window left" })
hl.bind(mainMod .. " + CTRL + SHIFT + right", hl.dsp.window.resize({ x = 40, y = 0, relative = true }),
{ description = "Resize window right" })
hl.bind(mainMod .. " + CTRL + SHIFT + up", hl.dsp.window.resize({ x = 0, y = -40, relative = true }),
{ description = "Resize window up" })
hl.bind(mainMod .. " + CTRL + SHIFT + down", hl.dsp.window.resize({ x = 0, y = 40, relative = true }),
{ description = "Resize window down" })
-- Laptop multimedia keys for volume and LCD brightness
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"),
{ repeating = true, description = "Raise volume" })
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"),
{ repeating = true, description = "Lower volume" })
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"),
{ repeating = true, description = "Toggle mute" })
hl.bind("SHIFT + XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"),
{ repeating = true, description = "Toggle mic mute" })
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl s 5%+"),
{ repeating = true, description = "Raise brightness" })
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl s 5%-"),
{ repeating = true, description = "Lower brightness" })
-- Screenshot a window
local satty = "/home/domenico/.cargo/bin/satty --filename - --copy-command wl-copy --fullscreen --output-filename ~/Immagini/Screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png"
local copy = "wl-copy"
hl.bind("SUPER + SHIFT + S", hl.dsp.exec_cmd('grim -t png -g "$(slurp)" - | ' .. copy), { description = "Screenshot region" })
hl.bind("SUPER + CTRL + SHIFT + S", hl.dsp.exec_cmd('grim -t png -g "$(slurp)" - | ' .. satty))
hl.bind("PRINT", hl.dsp.exec_cmd('grim - | ' .. copy), { description = "Fullscreen Screenshots"})
-- Night mode and ToggleMirror scripts
hl.bind("SUPER + M", hl.dsp.exec_cmd("bash ~/.config/hypr/scripts/toggleMirror.sh"), { description = "Toggle mirror" })
hl.bind("SUPER + SHIFT + M", hl.dsp.exec_cmd("bash ~/.config/hypr/scripts/nightmode.sh"), { description = "Toggle night mode" })
-- Noctalia shortcut
hl.bind(mainMod .. " + Backslash", hl.dsp.exec_cmd(noctalia .. "panel-toggle launcher"), { description = "Toggle quickshell bar" })
--hl.bind(mainMod .. " + N", hl.dsp.global(noctalia .. ""), { description = "Toggle quickshell hub" })
--hl.bind(mainMod .. " + W", hl.dsp.exec_cmd(noctalia .. "plugin wallcards toggle"), { description = "Toggle wall picker" })
--hl.bind(mainMod .. " + K", hl.dsp.global("quickshell:keybindingsToggle"), { description = "Toggle keybindings" })
--hl.bind(mainMod .. " + L", hl.dsp.global("quickshell:changeBarLayout"), { description = "Change bar layout" })
hl.bind("ALT + Tab", hl.dsp.exec_cmd(noctalia .. "window-switcher"))
hl.bind(mainMod .. " + SHIFT + N", hl.dsp.exec_cmd(noctalia .. "notification-dnd-toggle"))
hl.bind(mainMod .. " + N", hl.dsp.exec_cmd(noctalia .. "panel-toggle control-center notifications"))
hl.bind(mainMod .. " + W", hl.dsp.exec_cmd(noctalia .. "panel-toggle wallpaper"))
+45
View File
@@ -0,0 +1,45 @@
-- Generated by Noctalia
local primary = "rgb(e0b6ff)"
local surface = "rgb(1d1013)"
local secondary = "rgb(ddb9f8)"
local error = "rgb(ffb4ab)"
local function apply_theme()
hl.config({
general = {
col = {
active_border = primary,
inactive_border = surface,
},
},
group = {
col = {
border_active = secondary,
border_inactive = surface,
border_locked_active = error,
border_locked_inactive = surface,
},
groupbar = {
col = {
active = secondary,
inactive = surface,
locked_active = error,
locked_inactive = surface,
},
},
},
})
end
return {
colors = {
primary = primary,
surface = surface,
secondary = secondary,
error = error,
},
apply_theme = apply_theme
}
@@ -0,0 +1,25 @@
$primary = rgb(cba6f7)
$surface = rgb(1e1e2e)
$secondary = rgb(fab387)
$error = rgb(f38ba8)
$tertiary = rgb(94e2d5)
$surface_lowest = rgb(212232)
general {
col.active_border = $primary
col.inactive_border = $surface
}
group {
col.border_active = $secondary
col.border_inactive = $surface
col.border_locked_active = $error
col.border_locked_inactive = $surface
groupbar {
col.active = $secondary
col.inactive = $surface
col.locked_active = $error
col.locked_inactive = $surface
}
}
@@ -0,0 +1,35 @@
-- Colors template generated by Noctalia
-- Source command is:
-- dofile(os.getenv("HOME") .. "/.config/hypr/noctalia/noctalia-colors.lua")
local primary = "rgb(cba6f7)"
local surface = "rgb(1e1e2e)"
local secondary = "rgb(fab387)"
local error = "rgb(f38ba8)"
hl.config({
general = {
col = {
active_border = primary,
inactive_border = surface,
},
},
group = {
col = {
border_active = secondary,
border_inactive = surface,
border_locked_active = error,
border_locked_inactive = surface,
},
groupbar = {
col = {
active = secondary,
inactive = surface,
locked_active = error,
locked_inactive = surface,
},
},
},
})
+6
View File
@@ -0,0 +1,6 @@
-- no blur
hl.config({ decoration = { blur = { enabled = false } } })
-- no shadow
hl.config({ decoration = { shadow = { enabled = false } } })
+134
View File
@@ -0,0 +1,134 @@
################## PLUGIN MANAGER ##################
plugin {
dynamic-cursors {
# enables the plugin
enabled = true
# sets the cursor behaviour, supports these values:
# tilt - tilt the cursor based on x-velocity
# rotate - rotate the cursor based on movement direction
# stretch - stretch the cursor shape based on direction and velocity
# none - do not change the cursors behaviour
mode = stretch
# minimum angle difference in degrees after which the shape is changed
# smaller values are smoother, but more expensive for hw cursors
threshold = 2
# for mode = rotate
rotate {
# length in px of the simulated stick used to rotate the cursor
# most realistic if this is your actual cursor size
length = 20
# clockwise offset applied to the angle in degrees
# this will apply to ALL shapes
offset = 0.0
}
# for mode = tilt
tilt {
# controls how powerful the tilt is, the lower, the more power
# this value controls at which speed (px/s) the full tilt is reached
# the full tilt being 60° in both directions
limit = 5000
# relationship between speed and tilt, supports these values:
# linear - a linear function is used
# quadratic - a quadratic function is used (most realistic to actual air drag)
# negative_quadratic - negative version of the quadratic one, feels more aggressive
# see `activation` in `src/mode/utils.cpp` for how exactly the calculation is done
function = negative_quadratic
# time window (ms) over which the speed is calculated
# higher values will make slow motions smoother but more delayed
window = 100
}
# for mode = stretch
stretch {
# controls how much the cursor is stretched
# this value controls at which speed (px/s) the full stretch is reached
# the full stretch being twice the original length
limit = 3000
# relationship between speed and stretch amount, supports these values:
# linear - a linear function is used
# quadratic - a quadratic function is used
# negative_quadratic - negative version of the quadratic one, feels more aggressive
# see `activation` in `src/mode/utils.cpp` for how exactly the calculation is done
function = quadratic
# time window (ms) over which the speed is calculated
# higher values will make slow motions smoother but more delayed
window = 100
}
# configure shake to find
# magnifies the cursor if its is being shaken
shake {
# enables shake to find
enabled = true
# use nearest-neighbour (pixelated) scaling when shaking
# may look weird when effects are enabled
nearest = true
# controls how soon a shake is detected
# lower values mean sooner
threshold = 6.0
# magnification level immediately after shake start
base = 4.0
# magnification increase per second when continuing to shake
speed = 4.0
# how much the speed is influenced by the current shake intensitiy
influence = 0.0
# maximal magnification the cursor can reach
# values below 1 disable the limit (e.g. 0)
limit = 0.0
# time in millseconds the cursor will stay magnified after a shake has ended
timeout = 2000
# show cursor behaviour `tilt`, `rotate`, etc. while shaking
effects = false
# enable ipc events for shake
# see the `ipc` section below
ipc = false
}
# use hyprcursor to get a higher resolution texture when the cursor is magnified
# see the `hyprcursor` section below
hyprcursor {
# use nearest-neighbour (pixelated) scaling when magnifing beyond texture size
# this will also have effect without hyprcursor support being enabled
# 0 / false - never use pixelated scaling
# 1 / true - use pixelated when no highres image
# 2 - always use pixleated scaling
nearest = true
# enable dedicated hyprcursor support
enabled = true
# resolution in pixels to load the magnified shapes at
# be warned that loading a very high-resolution image will take a long time and might impact memory consumption
# -1 means we use [normal cursor size] * [shake:base option]
resolution = -1
# shape to use when clientside cursors are being magnified
# see the shape-name property of shape rules for possible names
# specifying clientside will use the actual shape, but will be pixelated
fallback = clientside
}
}
}
+10
View File
@@ -0,0 +1,10 @@
## Configuration file for eos-welcome.
# Note: using bash syntax.
#
# 'Greeter' values: enable or disable.
# 'OnceDaily' values: no or yes; yes means eos-welcome is shown only once a day.
# 'LastCheck' values: automatically filled by eos-welcome.
Greeter=enable
OnceDaily=no
LastCheck=0
+4
View File
@@ -0,0 +1,4 @@
#!/bin/sh
hyprpicker --format hex | head -c -1 | wl-copy
convert -size 100x100 xc:$(wl-paste) /tmp/color.png
notify-send -i /tmp/color.png "Copied to your clipboard!" "$(wl-paste)"
+4
View File
@@ -0,0 +1,4 @@
if [ ! -f "$HOME/.current_wallpaper" ]; then
matugen image -t scheme-fidelity -m dark --source-color-index 0 ~/.config/wallpapers/decline.png --show-colors --verbose --fallback-color "#000000"
cp ~/.config/wallpapers/decline.png ~/.current_wallpaper
fi
+10
View File
@@ -0,0 +1,10 @@
#!/bin/bash
if pgrep -x "hyprsunset" > /dev/null
then
killall -9 hyprsunset
notify-send "🌞 Day Mode Activated" -u "low"
else
hyprsunset -t 3500 &
notify-send "🌙 Night Mode Activated" -u "low"
fi
+115
View File
@@ -0,0 +1,115 @@
#!/bin/bash
if [ $# -eq 0 ]; then
echo "Usage: $0 --title | --arturl | --artist | --length | --album | --source"
exit 1
fi
# Function to get metadata using playerctl
get_metadata() {
key=$1
playerctl metadata --format "{{ $key }}" 2>/dev/null
}
# Check for arguments
# Function to determine the source and return an icon and text
get_source_info() {
trackid=$(get_metadata "mpris:trackid")
if [[ "$trackid" == *"firefox"* ]]; then
echo -e "Firefox 󰈹"
elif [[ "$trackid" == *"spotify"* ]]; then
echo -e "Spotify "
elif [[ "$trackid" == *"chromium"* ]]; then
echo -e "Chrome "
else
echo ""
fi
}
# Parse the argument
case "$1" in
--title)
title=$(get_metadata "xesam:title")
if [ -z "$title" ]; then
echo ""
else
echo "${title:0:28}" # Limit the output to 50 characters
fi
;;
--arturl)
url=$(get_metadata "mpris:artUrl")
if [ -z "$url" ]; then
echo ""
else
if [[ "$url" == file://* ]]; then
url=${url#file://}
elif [[ "$url" == http://* || "$url" == https://* ]]; then
filename=$(basename "$url")
if [[ "$filename" != *.png && "$filename" != *.jpg && "$filename" != *.jpeg ]]; then
filename="${filename}.jpg"
fi
wget -q "$url" -O "/tmp/$filename"
url="/tmp/$filename"
fi
# Make sure local files also have a png/jpg extension if required
if [[ "$url" != *.png && "$url" != *.jpg && "$url" != *.jpeg ]]; then
if [ -f "$url" ]; then
cp "$url" "/tmp/$(basename "$url").jpg"
url="/tmp/$(basename "$url").jpg"
fi
fi
echo "$url"
fi
;;
--artist)
artist=$(get_metadata "xesam:artist")
if [ -z "$artist" ]; then
echo ""
else
echo "${artist:0:30}" # Limit the output to 50 characters
fi
;;
--length)
length=$(get_metadata "mpris:length")
if [ -z "$length" ]; then
echo ""
else
# Convert length from microseconds to a more readable format (seconds)
echo "$(echo "scale=2; $length / 1000000 / 60" | bc) m"
fi
;;
--status)
status=$(playerctl status 2>/dev/null)
if [[ $status == "Playing" ]]; then
echo "󰎆"
elif [[ $status == "Paused" ]]; then
echo "󱑽"
else
echo ""
fi
;;
--album)
album=$(playerctl metadata --format "{{ xesam:album }}" 2>/dev/null)
if [[ -n $album ]]; then
echo "$album"
else
status=$(playerctl status 2>/dev/null)
if [[ -n $status ]]; then
echo "Not album"
else
echo ""
fi
fi
;;
--source)
get_source_info
;;
*)
echo "Invalid option: $1"
echo "Usage: $0 --title | --url | --artist | --length | --album | --source"
exit 1
;;
esac
+8
View File
@@ -0,0 +1,8 @@
#!/bin/bash
sleep 1
killall xdg-desktop-portal-hyprland
killall xdg-desktop-portal-wlr
killall xdg-desktop-portal
/usr/libexec/xdg-desktop-portal-hyprland &
sleep 2
/usr/lib/xdg-desktop-portal &
+11
View File
@@ -0,0 +1,11 @@
#!/bin/sh
# Toggle mirroring HDMI-A-1 to/from eDP-1 on Hyprland
isMirror=$(hyprctl monitors all -j | jq -r '.[] | select(.name=="HDMI-A-1") | .mirrorOf' 2>/dev/null || echo "none")
echo "Current mirror status: $isMirror"
if [ "$isMirror" == "none" ]; then
hyprctl eval 'hl.monitor({ output = "HDMI-A-1", mode = "1920x1080@59.95", position = "1920x0", scale = 1.0, mirror = "eDP-1" })'
else
hyprctl eval 'hl.monitor({ output = "HDMI-A-1", mode = "1920x1080@59.95", position = "1920x0", scale = 1.0, mirror = "none"})'
fi
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
set -eu
WALL=$1
echo "setting $WALL as wallpaper"
matugen image -t scheme-fidelity -m dark $WALL --show-colors --verbose --fallback-color "#000000"
echo "set $WALL as wallpaper sucessfuly"
+741
View File
@@ -0,0 +1,741 @@
{
"settingsVersion": 59,
"bar": {
"barType": "simple",
"position": "top",
"monitors": [],
"density": "default",
"showOutline": false,
"showCapsule": true,
"capsuleOpacity": 1,
"capsuleColorKey": "none",
"widgetSpacing": 6,
"contentPadding": 2,
"fontScale": 1,
"enableExclusionZoneInset": true,
"backgroundOpacity": 0.93,
"useSeparateOpacity": false,
"marginVertical": 4,
"marginHorizontal": 4,
"frameThickness": 8,
"frameRadius": 12,
"outerCorners": true,
"hideOnOverview": false,
"displayMode": "always_visible",
"autoHideDelay": 500,
"autoShowDelay": 150,
"showOnWorkspaceSwitch": true,
"widgets": {
"left": [
{
"colorizeSystemIcon": "none",
"colorizeSystemText": "none",
"customIconPath": "",
"enableColorization": false,
"icon": "rocket",
"iconColor": "none",
"id": "Launcher",
"useDistroLogo": false
},
{
"clockColor": "primary",
"customFont": "",
"formatHorizontal": "HH:mm ddd, MMM dd",
"formatVertical": "HH mm - dd MM",
"id": "Clock",
"tooltipFormat": "HH:mm ddd, MMM dd",
"useCustomFont": false
},
{
"compactMode": true,
"diskPath": "/",
"iconColor": "none",
"id": "SystemMonitor",
"showCpuCores": false,
"showCpuFreq": false,
"showCpuTemp": true,
"showCpuUsage": true,
"showDiskAvailable": false,
"showDiskUsage": false,
"showDiskUsageAsPercent": false,
"showGpuTemp": false,
"showLoadAverage": false,
"showMemoryAsPercent": false,
"showMemoryUsage": true,
"showNetworkStats": true,
"showSwapUsage": false,
"textColor": "none",
"useMonospaceFont": true,
"usePadding": false
},
{
"colorizeIcons": false,
"hideMode": "hidden",
"id": "ActiveWindow",
"maxWidth": 145,
"scrollingMode": "hover",
"showIcon": true,
"showText": true,
"textColor": "none",
"useFixedWidth": false
}
],
"center": [
{
"characterCount": 4,
"colorizeIcons": false,
"emptyColor": "secondary",
"enableScrollWheel": true,
"focusedColor": "primary",
"followFocusedScreen": false,
"fontWeight": "bold",
"groupedBorderOpacity": 1,
"hideUnoccupied": false,
"iconScale": 0.8,
"id": "Workspace",
"labelMode": "name",
"occupiedColor": "secondary",
"pillSize": 0.6,
"showApplications": true,
"showApplicationsHover": true,
"showBadge": true,
"showLabelsOnlyWhenOccupied": true,
"unfocusedIconsOpacity": 1
}
],
"right": [
{
"compactMode": false,
"hideMode": "hidden",
"hideWhenIdle": false,
"id": "MediaMini",
"maxWidth": 145,
"panelShowAlbumArt": true,
"scrollingMode": "hover",
"showAlbumArt": true,
"showArtistFirst": true,
"showProgressRing": true,
"showVisualizer": false,
"textColor": "none",
"useFixedWidth": false,
"visualizerType": "linear"
},
{
"blacklist": [
"nm-applet"
],
"chevronColor": "none",
"colorizeIcons": false,
"drawerEnabled": true,
"hidePassive": false,
"id": "Tray",
"pinned": []
},
{
"hideWhenZero": false,
"hideWhenZeroUnread": false,
"iconColor": "none",
"id": "NotificationHistory",
"showUnreadBadge": true,
"unreadBadgeColor": "primary"
},
{
"deviceNativePath": "__default__",
"displayMode": "graphic-clean",
"hideIfIdle": false,
"hideIfNotDetected": true,
"id": "Battery",
"showNoctaliaPerformance": false,
"showPowerProfiles": false
},
{
"displayMode": "onhover",
"iconColor": "none",
"id": "Volume",
"middleClickCommand": "pwvucontrol || pavucontrol",
"textColor": "none"
},
{
"applyToAllMonitors": false,
"displayMode": "onhover",
"iconColor": "none",
"id": "Brightness",
"textColor": "none"
},
{
"colorizeDistroLogo": false,
"colorizeSystemIcon": "none",
"colorizeSystemText": "none",
"customIconPath": "",
"enableColorization": false,
"icon": "noctalia",
"id": "ControlCenter",
"useDistroLogo": false
}
]
},
"mouseWheelAction": "none",
"reverseScroll": false,
"mouseWheelWrap": true,
"middleClickAction": "none",
"middleClickFollowMouse": false,
"middleClickCommand": "",
"rightClickAction": "controlCenter",
"rightClickFollowMouse": true,
"rightClickCommand": "",
"screenOverrides": []
},
"general": {
"avatarImage": "/home/domenico/.face",
"dimmerOpacity": 0.2,
"showScreenCorners": false,
"forceBlackScreenCorners": false,
"scaleRatio": 1,
"radiusRatio": 1,
"iRadiusRatio": 1,
"boxRadiusRatio": 1,
"screenRadiusRatio": 1,
"animationSpeed": 1,
"animationDisabled": false,
"compactLockScreen": false,
"lockScreenAnimations": false,
"lockOnSuspend": true,
"showSessionButtonsOnLockScreen": true,
"showHibernateOnLockScreen": false,
"enableLockScreenMediaControls": false,
"enableShadows": true,
"enableBlurBehind": true,
"shadowDirection": "bottom_right",
"shadowOffsetX": 2,
"shadowOffsetY": 3,
"language": "",
"allowPanelsOnScreenWithoutBar": true,
"showChangelogOnStartup": true,
"telemetryEnabled": true,
"enableLockScreenCountdown": true,
"lockScreenCountdownDuration": 10000,
"autoStartAuth": false,
"allowPasswordWithFprintd": false,
"clockStyle": "custom",
"clockFormat": "hh\\nmm",
"passwordChars": false,
"lockScreenMonitors": [],
"lockScreenBlur": 0,
"lockScreenTint": 0,
"keybinds": {
"keyUp": [
"Up"
],
"keyDown": [
"Down"
],
"keyLeft": [
"Left"
],
"keyRight": [
"Right"
],
"keyEnter": [
"Return",
"Enter"
],
"keyEscape": [
"Esc"
],
"keyRemove": [
"Del"
]
},
"reverseScroll": false,
"smoothScrollEnabled": true
},
"ui": {
"fontDefault": "Noto Sans",
"fontFixed": "monospace",
"fontDefaultScale": 1,
"fontFixedScale": 1,
"tooltipsEnabled": true,
"scrollbarAlwaysVisible": true,
"boxBorderEnabled": false,
"panelBackgroundOpacity": 0.93,
"translucentWidgets": false,
"panelsAttachedToBar": true,
"settingsPanelMode": "attached",
"settingsPanelSideBarCardStyle": false
},
"location": {
"name": "Mercato San Severino",
"weatherEnabled": true,
"weatherShowEffects": true,
"weatherTaliaMascotAlways": false,
"useFahrenheit": false,
"use12hourFormat": false,
"showWeekNumberInCalendar": false,
"showCalendarEvents": true,
"showCalendarWeather": true,
"analogClockInCalendar": false,
"firstDayOfWeek": -1,
"hideWeatherTimezone": false,
"hideWeatherCityName": false,
"autoLocate": false
},
"calendar": {
"cards": [
{
"enabled": true,
"id": "calendar-header-card"
},
{
"enabled": true,
"id": "calendar-month-card"
},
{
"enabled": true,
"id": "weather-card"
}
]
},
"wallpaper": {
"enabled": true,
"overviewEnabled": true,
"directory": "/home/domenico/Immagini/Wallpapers",
"monitorDirectories": [],
"enableMultiMonitorDirectories": false,
"showHiddenFiles": false,
"viewMode": "single",
"setWallpaperOnAllMonitors": true,
"linkLightAndDarkWallpapers": true,
"fillMode": "crop",
"fillColor": "#000000",
"useSolidColor": false,
"solidColor": "#1a1a2e",
"automationEnabled": false,
"wallpaperChangeMode": "random",
"randomIntervalSec": 300,
"transitionDuration": 1500,
"transitionType": [
"fade",
"disc",
"stripes",
"wipe",
"pixelate",
"honeycomb"
],
"skipStartupTransition": false,
"transitionEdgeSmoothness": 0.05,
"panelPosition": "center",
"hideWallpaperFilenames": false,
"useOriginalImages": false,
"overviewBlur": 0.15,
"overviewTint": 0.6,
"useWallhaven": false,
"wallhavenQuery": "",
"wallhavenSorting": "relevance",
"wallhavenOrder": "desc",
"wallhavenCategories": "111",
"wallhavenPurity": "100",
"wallhavenRatios": "",
"wallhavenApiKey": "",
"wallhavenResolutionMode": "atleast",
"wallhavenResolutionWidth": "",
"wallhavenResolutionHeight": "",
"sortOrder": "name",
"favorites": []
},
"appLauncher": {
"enableClipboardHistory": true,
"autoPasteClipboard": false,
"enableClipPreview": true,
"clipboardWrapText": true,
"enableClipboardSmartIcons": true,
"enableClipboardChips": true,
"clipboardWatchTextCommand": "wl-paste --type text --watch cliphist store",
"clipboardWatchImageCommand": "wl-paste --type image --watch cliphist store",
"position": "center",
"pinnedApps": [],
"sortByMostUsed": true,
"terminalCommand": "kitty -e",
"customLaunchPrefixEnabled": false,
"customLaunchPrefix": "",
"viewMode": "list",
"showCategories": true,
"iconMode": "tabler",
"showIconBackground": false,
"enableSettingsSearch": true,
"enableWindowsSearch": true,
"enableSessionSearch": true,
"ignoreMouseInput": false,
"screenshotAnnotationTool": "",
"overviewLayer": false,
"density": "default"
},
"controlCenter": {
"position": "close_to_bar_button",
"diskPath": "/",
"shortcuts": {
"left": [
{
"id": "Network"
},
{
"defaultSettings": {
"connectedColor": "primary",
"disableToastNotifications": false,
"disconnectedColor": "none",
"displayMode": "onhover"
},
"id": "plugin:network-manager-vpn"
},
{
"id": "Bluetooth"
},
{
"id": "NoctaliaPerformance"
}
],
"right": [
{
"id": "Notifications"
},
{
"id": "PowerProfile"
},
{
"id": "KeepAwake"
},
{
"id": "NightLight"
}
]
},
"cards": [
{
"enabled": true,
"id": "profile-card"
},
{
"enabled": true,
"id": "shortcuts-card"
},
{
"enabled": true,
"id": "audio-card"
},
{
"enabled": false,
"id": "brightness-card"
},
{
"enabled": true,
"id": "weather-card"
},
{
"enabled": true,
"id": "media-sysmon-card"
}
]
},
"systemMonitor": {
"cpuWarningThreshold": 80,
"cpuCriticalThreshold": 90,
"tempWarningThreshold": 80,
"tempCriticalThreshold": 90,
"gpuWarningThreshold": 80,
"gpuCriticalThreshold": 90,
"memWarningThreshold": 80,
"memCriticalThreshold": 90,
"swapWarningThreshold": 80,
"swapCriticalThreshold": 90,
"diskWarningThreshold": 80,
"diskCriticalThreshold": 90,
"diskAvailWarningThreshold": 20,
"diskAvailCriticalThreshold": 10,
"batteryWarningThreshold": 20,
"batteryCriticalThreshold": 5,
"enableDgpuMonitoring": false,
"useCustomColors": false,
"warningColor": "#94e2d5",
"criticalColor": "#f38ba8",
"externalMonitor": "resources || missioncenter || jdsystemmonitor || corestats || system-monitoring-center || gnome-system-monitor || plasma-systemmonitor || mate-system-monitor || ukui-system-monitor || deepin-system-monitor || pantheon-system-monitor"
},
"noctaliaPerformance": {
"disableWallpaper": true,
"disableDesktopWidgets": true
},
"dock": {
"enabled": false,
"position": "bottom",
"displayMode": "auto_hide",
"dockType": "floating",
"backgroundOpacity": 1,
"floatingRatio": 1,
"size": 1,
"onlySameOutput": true,
"monitors": [],
"pinnedApps": [],
"colorizeIcons": false,
"showLauncherIcon": false,
"launcherPosition": "end",
"launcherUseDistroLogo": false,
"launcherIcon": "",
"launcherIconColor": "none",
"pinnedStatic": false,
"inactiveIndicators": false,
"groupApps": false,
"groupContextMenuMode": "extended",
"groupClickAction": "cycle",
"groupIndicatorStyle": "dots",
"deadOpacity": 0.6,
"animationSpeed": 1,
"sitOnFrame": false,
"showDockIndicator": false,
"indicatorThickness": 3,
"indicatorColor": "primary",
"indicatorOpacity": 0.6
},
"network": {
"bluetoothRssiPollingEnabled": false,
"bluetoothRssiPollIntervalMs": 60000,
"networkPanelView": "ethernet",
"wifiDetailsViewMode": "grid",
"bluetoothDetailsViewMode": "list",
"bluetoothHideUnnamedDevices": false,
"disableDiscoverability": false,
"bluetoothAutoConnect": true
},
"sessionMenu": {
"enableCountdown": true,
"countdownDuration": 10000,
"position": "center",
"showHeader": true,
"showKeybinds": true,
"largeButtonsStyle": true,
"largeButtonsLayout": "single-row",
"powerOptions": [
{
"action": "lock",
"command": "",
"countdownEnabled": true,
"enabled": true,
"keybind": "1"
},
{
"action": "suspend",
"command": "",
"countdownEnabled": true,
"enabled": true,
"keybind": "2"
},
{
"action": "hibernate",
"command": "",
"countdownEnabled": true,
"enabled": true,
"keybind": "3"
},
{
"action": "reboot",
"command": "",
"countdownEnabled": true,
"enabled": true,
"keybind": "4"
},
{
"action": "logout",
"command": "",
"countdownEnabled": true,
"enabled": true,
"keybind": "5"
},
{
"action": "shutdown",
"command": "",
"countdownEnabled": true,
"enabled": true,
"keybind": "6"
},
{
"action": "rebootToUefi",
"command": "",
"countdownEnabled": true,
"enabled": true,
"keybind": "7"
},
{
"action": "userspaceReboot",
"command": "",
"countdownEnabled": true,
"enabled": false,
"keybind": ""
}
]
},
"notifications": {
"enabled": true,
"enableMarkdown": true,
"density": "default",
"monitors": [],
"location": "top_right",
"overlayLayer": true,
"backgroundOpacity": 0.75,
"respectExpireTimeout": false,
"lowUrgencyDuration": 3,
"normalUrgencyDuration": 8,
"criticalUrgencyDuration": 15,
"clearDismissed": true,
"saveToHistory": {
"low": true,
"normal": true,
"critical": true
},
"sounds": {
"enabled": false,
"volume": 0.5,
"separateSounds": false,
"criticalSoundFile": "",
"normalSoundFile": "",
"lowSoundFile": "",
"excludedApps": "discord,firefox,chrome,chromium,edge"
},
"enableMediaToast": false,
"enableKeyboardLayoutToast": true,
"enableBatteryToast": true
},
"osd": {
"enabled": true,
"location": "top_right",
"autoHideMs": 2000,
"overlayLayer": true,
"backgroundOpacity": 1,
"enabledTypes": [
0,
1,
2
],
"monitors": []
},
"audio": {
"volumeStep": 5,
"volumeOverdrive": false,
"spectrumFrameRate": 30,
"visualizerType": "linear",
"spectrumMirrored": true,
"mprisBlacklist": [],
"preferredPlayer": "spotify",
"volumeFeedback": false,
"volumeFeedbackSoundFile": ""
},
"brightness": {
"brightnessStep": 5,
"enforceMinimum": true,
"enableDdcSupport": false,
"backlightDeviceMappings": [
{
"device": "/sys/class/backlight/intel_backlight",
"output": "eDP-1"
}
]
},
"colorSchemes": {
"useWallpaperColors": false,
"predefinedScheme": "Catppuccin",
"darkMode": true,
"schedulingMode": "off",
"manualSunrise": "06:30",
"manualSunset": "18:30",
"generationMethod": "tonal-spot",
"monitorForColors": "",
"syncGsettings": true
},
"templates": {
"activeTemplates": [
{
"enabled": true,
"id": "btop"
},
{
"enabled": true,
"id": "discord"
},
{
"enabled": true,
"id": "hyprland"
},
{
"enabled": true,
"id": "hyprtoolkit"
},
{
"enabled": true,
"id": "kitty"
},
{
"enabled": true,
"id": "starship"
},
{
"enabled": true,
"id": "code"
},
{
"enabled": true,
"id": "telegram"
},
{
"enabled": true,
"id": "qt"
},
{
"enabled": true,
"id": "steam"
}
],
"enableUserTheming": false
},
"nightLight": {
"enabled": false,
"forced": false,
"autoSchedule": true,
"nightTemp": "4000",
"dayTemp": "6500",
"manualSunrise": "06:30",
"manualSunset": "18:30"
},
"hooks": {
"enabled": false,
"wallpaperChange": "",
"darkModeChange": "",
"screenLock": "",
"screenUnlock": "",
"performanceModeEnabled": "",
"performanceModeDisabled": "",
"startup": "",
"session": "",
"colorGeneration": ""
},
"plugins": {
"autoUpdate": false,
"notifyUpdates": true
},
"idle": {
"enabled": false,
"screenOffTimeout": 600,
"lockTimeout": 660,
"suspendTimeout": 1800,
"fadeDuration": 5,
"screenOffCommand": "",
"lockCommand": "",
"suspendCommand": "",
"resumeScreenOffCommand": "",
"resumeLockCommand": "",
"resumeSuspendCommand": "",
"customCommands": "[]"
},
"desktopWidgets": {
"enabled": true,
"overviewEnabled": true,
"gridSnap": false,
"gridSnapScale": true,
"monitorWidgets": []
}
}
+142
View File
@@ -0,0 +1,142 @@
local inFocusOpacity = "0.95"
local notInFocusOpacity = "0.85"
hl.window_rule({
suppress_event = "maximize",
match = {
class = ".*"
}
})
hl.window_rule({
no_initial_focus = true,
match = {
class = "^$",
title = "^$",
xwayland = 1,
float = 1,
fullscreen = 0,
pin = 0
}
})
-- Noctalia
hl.window_rule({
opacity = "1",
match = { class = "dev.noctalia.Noctalia" },
float = true,
size = { 1080, 920 },
})
hl.layer_rule({
name = "noctalia",
match = {
namespace = "^noctalia-(bar-.+|notification|dock|panel|attached-panel|osd|window-switcher)$",
},
no_anim = true,
ignore_alpha = 0.5,
blur = true,
blur_popups = true,
})
-- END Noctalia
hl.window_rule({
opacity = inFocusOpacity .. " " .. notInFocusOpacity,
match = { title = "^.*().*$" }
})
hl.window_rule({
opacity = "0.80",
float = true,
size = { 600, 400 },
match = { class = "^(nwg-displays)$" }
})
hl.window_rule({
opacity = 0.80,
float = true,
size = { 600, 400 },
match = { class = "^(blueman-manager)$" }
})
hl.window_rule({
opacity = 0.80,
float = true,
size = { 600, 400 },
match = { class = "^(org.pulseaudio.pavucontrol)$" }
})
-- xwaylandvideobridge
hl.window_rule({
opacity = "0.0 override",
no_anim = 1,
no_initial_focus = 1,
no_focus = 1,
max_size = { 1, 1 },
no_blur = 1,
match = { class = "^(xwaylandvideobridge)$" }
})
-- Picture in Picture
hl.window_rule({
float = true,
tile = false,
opacity = "1.0",
pin = true,
match = {
title = "(Picture in picture)"
}
})
-- Spotify mini player
hl.window_rule({
float = true,
tile = false,
opacity = "1.0 0.75",
size={419, 56},
move={1482, 1006},
pin = true,
match = {
workspace = "special:music",
class="Chromium-browser",
}
})
hl.window_rule({
opacity = "1.0",
match = {
class = "vlc"
}
})
-- fullscreen App
hl.window_rule({
opacity = "1.0",
fullscreen = true,
match = {
class ="blender"
}
})
hl.window_rule({
opacity = "1.0",
float = true,
match = { class = "org.kde.ksecretd|gcr-prompter"}
})
-- Floating terminal
hl.window_rule({
opacity = "0.75 0.25",
no_blur = true,
float = true,
pin = true,
match = {class = "kitty", title = "Floating"},
size = {430, 414},
move = {"(cursor_x - (window_w*0.5))", "(cursor_y-(window_h*0.5))"}
})
+48
View File
@@ -0,0 +1,48 @@
local music_workspace = "music"
local voicechat_workspace = "voice"
local obs_workspace = "obs"
local social_workspace = "social"
-- Keybinds that define workspaces
hl.bind(mainMod .. " + code:"..NUM_KEYS[5].code, hl.dsp.workspace.toggle_special(social_workspace))
hl.bind(mainMod .. " + code:"..NUM_KEYS[7].code, hl.dsp.workspace.toggle_special(music_workspace))
hl.bind(mainMod .. " + code:"..NUM_KEYS[8].code, hl.dsp.workspace.toggle_special(voicechat_workspace))
hl.bind(mainMod .. " + code:"..NUM_KEYS[9].code, hl.dsp.workspace.toggle_special(obs_workspace))
--hl.workspace_rule({workspace = "special:" .. voicechat_workspace,
-- persistent = true
--})
--hl.workspace_rule({workspace = "special:" .. social_workspace,
-- persistent = true
--})
hl.window_rule({
name = "discord",
match = {class = "^(discord|vesktop)$"},
workspace = "special:" .. voicechat_workspace
})
hl.window_rule({
name = "spotify",
match = {class = "^(Spotify)$"},
workspace = "special:" .. music_workspace
})
hl.window_rule({
name = "obs",
match = {class = "com.obsproject.Studio"},
workspace = "special:" .. obs_workspace
})
hl.window_rule({
name = "Social installed with vivaldi",
match = {title = "WhatsApp Web|X|Instagram"},
workspace = "special:" .. social_workspace
})
hl.window_rule({
name = "telegram",
match = {class = "org.telegram.desktop"},
workspace = "special:" .. social_workspace
})