Compare commits
16
Commits
4f1f690f1b
..
v1.0.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7aee8278b5 | ||
|
|
62c6aaa311 | ||
|
|
3ab0c48f5c | ||
|
|
871e5a8f7d | ||
|
|
6c8d896aed | ||
|
|
3ebe7965d6 | ||
|
|
ad815a0831 | ||
|
|
1881e0f059 | ||
|
|
b828c9586b | ||
|
|
03164d1afe | ||
|
|
9caa1f45f7 | ||
|
|
4037267d07 | ||
|
|
29d6177022 | ||
|
|
f4c54aa047 | ||
|
|
5695563d26 | ||
|
|
4fac1b88ca |
+23
-19
@@ -3,7 +3,9 @@
|
||||
------@meta
|
||||
--## @declaration hl, ipc, mainMod
|
||||
local mainMod = "SUPER" -- Sets "Windows" key as main modifier
|
||||
local ipc = "qs -c noctalia-shell ipc call "
|
||||
-- local ipc = "qs -c noctalia-shell ipc call "
|
||||
local ipc = "noctalia msg "
|
||||
local ipp = "noctalia msg plugin "
|
||||
local custom = require("custom-functions")
|
||||
local hyper = "MOD3"
|
||||
require("basic/submaps")
|
||||
@@ -16,13 +18,16 @@ hl.bind(mainMod .. "+ BACKSLASH" ,hl.dsp.layout ("togglesplit"))
|
||||
hl.bind(mainMod .. "+ CTRL + BACKSLASH " ,hl.dsp.window.pseudo({action = "toggle"}))
|
||||
hl.bind(mainMod .. " + C " ,hl.dsp.window.close())
|
||||
hl.bind(mainMod .. " + SHIFT + CTRL + M " ,hl.dsp.exit())
|
||||
hl.bind(mainMod .. " + Return" ,hl.dsp.window.fullscreen({mode = "maximized", action = "toggle"}))
|
||||
hl.bind(mainMod .. " + SHIFT + Return" ,hl.dsp.window.fullscreen({mode = "fullscreen", action = "toggle"}))
|
||||
hl.gesture({ fingers = 3, direction = "horizontal", action = "workspace" })
|
||||
-- 1.2 Layout management and advanced window management
|
||||
hl.bind(mainMod .. "+ SHIFT + I" ,hl.dsp.layout("swapwithmaster master"))
|
||||
hl.bind(mainMod .. "+ I" ,hl.dsp.layout("rollnext"))
|
||||
hl.bind(mainMod .. "+ O" ,hl.dsp.layout("swapnext loop"))
|
||||
hl.bind(mainMod .. "+ SHIFT + O" ,hl.dsp.layout("swapprev"))
|
||||
hl.bind(mainMod .. "+ SEMICOLON" ,hl.dsp.layout("orientationcycle left center right"))
|
||||
hl.bind(mainMod .. "+ SEMICOLON" ,hl.dsp.layout("orientationcycle right center left "))
|
||||
hl.bind(mainMod .. " + SHIFT + SEMICOLON" ,hl.dsp.layout("orientationcycle top bottom"))
|
||||
-- 1.3 resize with arrows
|
||||
hl.bind(mainMod .. " + right " ,hl.dsp.window.resize({ x = 20, y = 0, relative = true}) , {repeating = true})
|
||||
hl.bind(mainMod .. " + left " ,hl.dsp.window.resize({ x =-20, y = 0, relative = true}) , {repeating = true})
|
||||
@@ -137,31 +142,30 @@ hl.bind(mainMod .. "+ CTRL + G" ,hl.dsp.exec_cmd("kitty agy" ,{ tag = "popu
|
||||
---- 6. CUSTOM SCRIPTS AND FUNCTIONS ----
|
||||
-- 6.1 custom key assignments
|
||||
hl.config({ input = { kb_options = "caps:hyper", }})
|
||||
hl.bind(hyper.. " + Hyper_L" ,function() hl.dispatch(hl.dsp.exec_cmd(ipc .. "plugin:clipper openPanel")) hl.dispatch(hl.dsp.submap("hyper-submap")) end)
|
||||
hl.bind(hyper .. " + Hyper_L" ,hl.dsp.exec_cmd(ipc .. "panel-toggle clipboard"))
|
||||
|
||||
-- TODO fix remote screen and remote keyboard shortcuts
|
||||
hl.bind(mainMod .. " + I" ,custom.remoteKM) -- Send Keyboard and Mouse input to phone via scrcpy
|
||||
hl.bind(mainMod .. " + SHIFT + I" ,custom.remoteScreen) -- Open Phone Screen via scrcpy
|
||||
hl.bind(mainMod .. " + CTRL + I" ,custom.remoteKM) -- Send Keyboard and Mouse input to phone via scrcpy
|
||||
hl.bind(mainMod .. " + ALT + I" ,custom.remoteScreen) -- Open Phone Screen via scrcpy
|
||||
hl.bind(mainMod .. "+ grave" ,custom.ToggleOddessyConnection) -- Toggle Oddesy monitor connection in hyprland
|
||||
|
||||
---- 7.
|
||||
hl.bind(mainMod .. " + comma" ,hl.dsp.exec_cmd(ipc .. "controlCenter toggle"))
|
||||
hl.bind(mainMod .. " + period" ,hl.dsp.exec_cmd(ipc .. "settings toggle"))
|
||||
hl.bind(mainMod .. " + CTRL + SHIFT + L " ,hl.dsp.exec_cmd(ipc .. "lockScreen lock"))
|
||||
hl.bind("ALT + C" ,hl.dsp.exec_cmd(ipc .. "plugin:clipper openPanel"))
|
||||
hl.bind("code:148" ,hl.dsp.exec_cmd(ipc .. "plugin:noctalia-calulator toggle"))
|
||||
---- 7. c
|
||||
hl.bind(mainMod .. " + comma" ,hl.dsp.exec_cmd(ipc .. "panel-toggle control-center")) -- cant seem to find??
|
||||
hl.bind(mainMod .. " + CTRL + SHIFT + L " ,hl.dsp.exec_cmd(ipc .. "lockScreen-lock"))
|
||||
hl.bind(mainMod .. " + ALT + L " ,hl.dsp.exec_cmd("noctalia msg session lock"))
|
||||
hl.bind(mainMod .. " + period" ,hl.dsp.exec_cmd(ipc .. "settings-toggle"))
|
||||
hl.bind("PRINT" ,hl.dsp.exec_cmd("hyprshot -m active -m window --output-folder ~/Images/Screenshots"))
|
||||
hl.bind("SHIFT + PRINT" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit annotate"))
|
||||
|
||||
hl.bind("ALT + PRINT" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit annotateWindow"))
|
||||
hl.bind("CTRL + PRINT" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit annotateFullscreen"))
|
||||
-- hl.bind("SHIFT + PRINT" , hl.dsp.exec_cmd("hyprshot -m region --output-folder ~/Images/Screenshots"))
|
||||
-- hl.bind("ALT + PRINT" , hl.dsp.exec_cmd("hyprshot -m active -m output --output-folder ~/Images/Screenshots"))
|
||||
-- Screen capture and annotation
|
||||
local stk = ipc .. "plugin alexander/screen-toolkit:service all "
|
||||
hl.bind("SHIFT + PRINT" ,hl.dsp.exec_cmd(stk .. "annotate"))
|
||||
hl.bind("ALT + PRINT" ,hl.dsp.exec_cmd(stk .. "annotateWindow"))
|
||||
hl.bind("CTRL + PRINT" ,hl.dsp.exec_cmd(stk .. "annotateFullscreen"))
|
||||
|
||||
|
||||
|
||||
---- 14. SUBMAP DISPATCHERS ----
|
||||
hl.bind(mainMod .. "+ PRINT" ,function() hl.dispatch(hl.dsp.exec_cmd(stk .. "toggle")) hl.dispatch(hl.dsp.submap("screen-toolkit")) end)
|
||||
hl.bind(mainMod .. " + O " ,hl.dsp.submap("open-apps"))
|
||||
hl.bind(mainMod .. " + M " ,function() hl.dispatch(hl.dsp.exec_cmd(ipc .. "controlCenter toggle ")) hl.dispatch(hl.dsp.submap("quick-settings")) end)
|
||||
hl.bind(mainMod .. "+ PRINT" ,function() hl.exec_cmd(ipc .. "plugin:screen-toolkit toggle") hl.dispatch(hl.dsp.submap("screen-toolkit")) end)
|
||||
hl.bind(mainMod .. " + T" ,function() hl.dispatch(hl.dsp.submap("timer")) hl.exec_cmd(ipc .. "plugin:timer toggle") end)
|
||||
hl.bind(mainMod .. " + M " ,function() hl.dispatch(hl.dsp.exec_cmd(ipc .. "panel-toggle control-center")) hl.dispatch(hl.dsp.submap("quick-settings")) end)
|
||||
hl.bind(mainMod .. " + T" ,function() hl.dispatch(hl.dsp.submap("timer")) hl.exec_cmd(ipc .. "panel-toggle noctalia/timer:panel") end)
|
||||
|
||||
+19
-18
@@ -1,5 +1,5 @@
|
||||
local mainMod = "SUPER" -- Sets "Windows" key as main modifier
|
||||
local ipc = "qs -c noctalia-shell ipc call "
|
||||
local ipc = "noctalia msg "
|
||||
local custom = require("custom-functions")
|
||||
|
||||
local function vim_motions_rebind_keys() -- Pressing H, J, K, L sends Left, Down, Up, Right to the active window
|
||||
@@ -10,37 +10,38 @@ local function vim_motions_rebind_keys() -- Pressing H, J, K, L sends Left, Down
|
||||
end
|
||||
|
||||
local function clipper_submap_keys() -- A submap for quick access to certain clipboard and screen tools. Pressing H, J, K, L sends Left, Down, Up, Right to the active window.
|
||||
hl.bind("C" ,hl.dsp.exec_cmd(ipc .. "plugin:clipper openPanel"))
|
||||
hl.bind("C" ,hl.dsp.exec_cmd(ipc .. "panel-toggle clipboard"))
|
||||
vim_motions_rebind_keys()
|
||||
local function exit() hl.dispatch(hl.dsp.submap("reset")) hl.dispatch(hl.dsp.exec_cmd(ipc .. "plugin:clipper closePanel")) end
|
||||
local function exit() hl.dispatch(hl.dsp.submap("reset")) hl.dispatch(hl.dsp.exec_cmd(ipc .. "panel-close clipboard")) end
|
||||
hl.bind("escape" ,exit )
|
||||
hl.bind("MOD3" .. " + Hyper_L" ,exit )
|
||||
end
|
||||
|
||||
hl.define_submap("hyper-submap", function()
|
||||
clipper_submap_keys()
|
||||
hl.bind("S" ,hl.dsp.exec_cmd(ipc .. "plugin:screen-toolkit toggle"))
|
||||
hl.bind("T" ,hl.dsp.exec_cmd(ipc .. "plugin:timer toggle"))
|
||||
hl.bind("M" ,hl.dsp.exec_cmd(ipc .. "controlCenter toggle"))
|
||||
hl.bind("S" ,hl.dsp.exec_cmd(ipc .. "plugin alexander/screen-toolkit:service all toggle"))
|
||||
hl.bind("T" ,hl.dsp.exec_cmd(ipc .. "panel-toggle noctalia/timer:panel"))
|
||||
hl.bind("M" ,hl.dsp.exec_cmd(ipc .. "panel-toggle control-center"))
|
||||
end)
|
||||
|
||||
hl.define_submap("screen-toolkit", "reset", function() -- Access the screen toolkit options
|
||||
hl.bind("S" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit toggle"))
|
||||
hl.bind("C" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit color"))
|
||||
hl.bind("P" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit pallete"))
|
||||
hl.bind("O" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit ocr"))
|
||||
hl.bind("L" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit lens"))
|
||||
hl.bind("A" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit annotate"))
|
||||
hl.bind("SHIFT + A" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit annotateWindow"))
|
||||
hl.bind("R" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit recordMp4"))
|
||||
hl.bind("SHIFT + R" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit recordFullscreenMp4"))
|
||||
local stk = ipc .. "plugin alexander/screen-toolkit:service all "
|
||||
hl.bind("S" ,hl.dsp.exec_cmd(stk .. "toggle"))
|
||||
hl.bind("C" ,hl.dsp.exec_cmd(stk .. "color"))
|
||||
hl.bind("P" ,hl.dsp.exec_cmd(stk .. "pallete"))
|
||||
hl.bind("O" ,hl.dsp.exec_cmd(stk .. "ocr"))
|
||||
hl.bind("L" ,hl.dsp.exec_cmd(stk .. "lens"))
|
||||
hl.bind("A" ,hl.dsp.exec_cmd(stk .. "annotate"))
|
||||
hl.bind("W" ,hl.dsp.exec_cmd(stk .. "annotateWindow"))
|
||||
hl.bind("R" ,hl.dsp.exec_cmd(stk .. "recordMp4"))
|
||||
hl.bind("M" ,hl.dsp.exec_cmd(stk .. "recordFullscreenMp4"))
|
||||
hl.bind("catchall" ,function ()
|
||||
hl.dispatch(hl.dsp.submap("reset"))
|
||||
hl.dispatch(hl.dsp.exec_cmd(ipc .. "plugin:screen-toolkit toggle "))
|
||||
end)
|
||||
end)
|
||||
|
||||
hl.define_submap("timer", function () -- Open and create timers, pause, reset, and start timers.
|
||||
-- depricated with noctalia v5
|
||||
hl.bind("T" ,hl.dsp.exec_cmd(ipc .. "plugin:timer toggle"))
|
||||
hl.bind("P" ,hl.dsp.exec_cmd(ipc .. "plugin:timer pause"))
|
||||
hl.bind("R" ,hl.dsp.exec_cmd(ipc .. "plugin:timer reset"))
|
||||
@@ -55,7 +56,7 @@ end)
|
||||
|
||||
hl.define_submap("quick-settings", function () -- An Interface for quickly accessing settings and toggling certain features.
|
||||
hl.bind("V" ,hl.dsp.exec_cmd("protonvpn-app & hyprctl dispatch submap vpn"))
|
||||
hl.bind("S" ,hl.dsp.exec_cmd(ipc .. "settings toggle"))
|
||||
hl.bind("S" ,hl.dsp.exec_cmd(ipc .. "panel-toggle settings"))
|
||||
hl.bind("C" ,hl.dsp.exec_cmd(ipc .. "plugin:clipper togglePanel "))
|
||||
hl.bind("P" ,hl.dsp.exec_cmd(ipc .. "sessionMenu toggle"))
|
||||
hl.bind("R" ,hl.dsp.exec_cmd(ipc .. "systemMonitor toggle"))
|
||||
@@ -69,7 +70,7 @@ hl.define_submap("quick-settings", function () -- An Interface for quickly acces
|
||||
hl.bind(" L " ,hl.dsp.exec_cmd(ipc .. "sessionMenu toggle"))
|
||||
hl.bind("B " ,hl.dsp.exec_cmd(ipc .. "battery togglePanel -- toggle battery panel"))
|
||||
hl.bind("SHIFT + C " ,hl.dsp.exec_cmd(ipc .. "calendar toggle"))
|
||||
hl.bind("F" ,hl.dsp.exec_cmd(ipc .. "calendar toggle"))
|
||||
hl.bind("F" ,custom.switchFanSate)
|
||||
-- Bind Submaps
|
||||
hl.bind("L" ,hl.dsp.submap("layouts"))
|
||||
hl.bind("N" ,function ()
|
||||
|
||||
+39
-2
@@ -76,13 +76,41 @@ hl.workspace_rule({
|
||||
gaps_out = 10
|
||||
})
|
||||
|
||||
-- Set firefox floating player to float and pin it
|
||||
hl.window_rule( {
|
||||
name = "floating player",
|
||||
match = {class = "^firefox", initial_title = "^Picture-in-Picture"},
|
||||
float = true,
|
||||
pin = true,
|
||||
center = true,
|
||||
-- keepaspectratio = true,
|
||||
move = {"3500", "50" },
|
||||
keep_aspect_ratio = true,
|
||||
persistent_size = true
|
||||
})
|
||||
|
||||
-- Set noctalia settings window to float.
|
||||
hl.window_rule( {
|
||||
name = "noctalia-settings",
|
||||
match = {class = "dev.noctalia.Noctalia", initial_title = "Noctalia Settings"},
|
||||
float = true,
|
||||
center = true,
|
||||
size = {"monitor_w*.5", "monitor_h*.8"},
|
||||
})
|
||||
-- Set Obsidian settings window to float.
|
||||
hl.window_rule( {
|
||||
name = "obsidian-settings",
|
||||
match = {initial_class = "md.obsidian.Obsidian"},--, initial_title = "Settings - Notes - Obsidian*"},
|
||||
float = true,
|
||||
center = true,
|
||||
size = {"monitor_w*.5", "monitor_h*.8"},
|
||||
})
|
||||
|
||||
-- Hyprland-run hl.window_rule(
|
||||
hl.window_rule( {
|
||||
name = "move-hyprland-run",
|
||||
match = {class = "hyprland-run"},
|
||||
move = {20,"monitor_h-120"},
|
||||
float = true
|
||||
float = true,
|
||||
})
|
||||
|
||||
hl.window_rule( {
|
||||
@@ -104,4 +132,13 @@ hl.workspace_rule( {
|
||||
no_rounding = false,
|
||||
})
|
||||
|
||||
-- Sample Config Snippets
|
||||
hl.window_rule({ --float TOR and Mullvad browsers to keep default window size
|
||||
name = "privacy-browsers-float",
|
||||
match = { class = "^(Tor Browser|Mullvad Browser)$" },
|
||||
float = true,
|
||||
center = true,
|
||||
fullscreen_state = "0 0",
|
||||
suppress_event = "maximize",
|
||||
})
|
||||
|
||||
|
||||
+19
-6
@@ -41,7 +41,17 @@ local function fanState()
|
||||
local result = handle:read("*a")
|
||||
handle:close()
|
||||
|
||||
return "lazy"
|
||||
if result:find("laziest") then
|
||||
return "laziest"
|
||||
end
|
||||
if result:find("medium") then
|
||||
return "medium"
|
||||
end
|
||||
if result:find("deaf") then
|
||||
return "deaf"
|
||||
end
|
||||
|
||||
return "unknown"
|
||||
end
|
||||
|
||||
function C.switchFanSate()
|
||||
@@ -49,12 +59,15 @@ function C.switchFanSate()
|
||||
if fanState() == "unknown" then
|
||||
hl.exec_cmd('notify-send "fan profile unknown"')
|
||||
return
|
||||
elseif fanState() == "lazy" then
|
||||
hl.exec_cmd("fw-fanctl set performance")
|
||||
hl.exec_cmd('notify-send "fan profile set to performance"')
|
||||
elseif fanState() == "laziest" then
|
||||
hl.exec_cmd("fw-fanctl set medium")
|
||||
hl.exec_cmd('notify-send "fan profile set to medium"')
|
||||
elseif fanState() == "medium" then
|
||||
hl.exec_cmd("fw-fanctl set deaf")
|
||||
hl.exec_cmd('notify-send "fan profile set to deaf"')
|
||||
else
|
||||
hl.exec_cmd("fw-fanctl set lazy")
|
||||
hl.exec_cmd('notify-send "fan profile set to lazy"')
|
||||
hl.exec_cmd("fw-fanctl set laziest")
|
||||
hl.exec_cmd('notify-send "fan profile set to laziest"')
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
+4
-4
@@ -7,8 +7,9 @@ _G.fileManager = "dolphin"
|
||||
_G.menu = "qs -c noctalia-shell ipc call launcher toggle"
|
||||
_G.launcher = "vicinae"
|
||||
_G.browser = "firefox"
|
||||
_G.menuBar = "qs -c noctalia-shell"
|
||||
_G.shellWrapper = "qs -c noctalia-shell"
|
||||
-- _G.menuBar = "qs -c noctalia-shell"
|
||||
_G.menuBar = "noctalia"
|
||||
-- _G.shellWrapper = "qs -c noctalia-shell"
|
||||
_G.blkmanager = "udiskie"
|
||||
_G.email = "thunderbird"
|
||||
_G.notes = "obsidian"
|
||||
@@ -54,5 +55,4 @@ require("basic/devices")
|
||||
-- require("plugins")
|
||||
require("monitors")
|
||||
|
||||
-- For Noctalia Color templates
|
||||
-- require("noctalia").apply_theme()
|
||||
|
||||
|
||||
+7
-7
@@ -1,7 +1,7 @@
|
||||
background = rgba(000000ff)
|
||||
base = rgba(000000ff)
|
||||
text = rgba(e8d8ffff)
|
||||
alternate_base = rgba(110d1aff)
|
||||
bright_text = rgba(000000ff)
|
||||
accent = rgba(b58fffff)
|
||||
accent_secondary = rgba(c79affff)
|
||||
background = rgba(191724ff)
|
||||
base = rgba(191724ff)
|
||||
text = rgba(e0def4ff)
|
||||
alternate_base = rgba(26233aff)
|
||||
bright_text = rgba(191724ff)
|
||||
accent = rgba(ebbcbaff)
|
||||
accent_secondary = rgba(9ccfd8ff)
|
||||
@@ -1,14 +0,0 @@
|
||||
general {
|
||||
lock_cmd = notify-send "lock!" # dbus/sysd lock command (loginctl lock-session)
|
||||
unlock_cmd = notify-send "unlock!" # same as above, but unlock
|
||||
before_sleep_cmd = notify-send "Zzz" # command ran before sleep
|
||||
after_sleep_cmd = notify-send "Awake!" # command ran after sleep
|
||||
ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam)
|
||||
ignore_systemd_inhibit = false # whether to ignore systemd-inhibit --what=idle inhibitors
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 500 # in seconds
|
||||
on-timeout = notify-send "You are idle!" # command to run when timeout has passed
|
||||
on-resume = notify-send "Welcome back!" # command to run when activity is detected after timeout has fired.
|
||||
}
|
||||
@@ -12,3 +12,9 @@ hl.monitor({
|
||||
position = "auto", -- Or specific coordinates like "1920x0"
|
||||
scale = 2 -- Increase if the UI is too small to read
|
||||
})
|
||||
hl.monitor({
|
||||
output = "DP-4",
|
||||
mode = "3840x1080@59.97Hz", -- Adjust to your phone's native resolution
|
||||
position = "auto", -- Or specific coordinates like "1920x0"
|
||||
scale = 2 -- Increase if the UI is too small to read
|
||||
})
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
-- Generated by Noctalia
|
||||
|
||||
local primary = "rgb(c8c4d7)"
|
||||
local surface = "rgb(141314)"
|
||||
local secondary = "rgb(c9c5cd)"
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user