This commit is contained in:
2026-09-20 22:27:12 +02:00
parent ddaa51fb42
commit c5c4ec6527
2 changed files with 429 additions and 294 deletions
+386 -294
View File
@@ -18,9 +18,9 @@ require("monitor_setup")
-- unscale XWayland -- unscale XWayland
hl.config({ hl.config({
xwayland = { xwayland = {
force_zero_scaling = true, force_zero_scaling = true,
}, },
}) })
-- ################## -- ##################
@@ -28,16 +28,16 @@ hl.config({
-- ################## -- ##################
hl.on("hyprland.start", function() hl.on("hyprland.start", function()
hl.exec_cmd("waybar &") hl.exec_cmd("waybar &")
end) end)
hl.on("hyprland.start", function() hl.on("hyprland.start", function()
hl.exec_cmd("wpaperd &") hl.exec_cmd("wpaperd &")
hl.exec_cmd("swaync &") hl.exec_cmd("swaync &")
hl.exec_cmd("hypridle &") hl.exec_cmd("hypridle &")
hl.exec_cmd("nextcloud &") hl.exec_cmd("nextcloud &")
hl.exec_cmd("sh ~/.config/hypr/scripts/portal-host-override.sh") hl.exec_cmd("sh ~/.config/hypr/scripts/portal-host-override.sh")
hl.exec_cmd("sh ~/.config/hypr/scripts/ensure-mime-defaults.sh") hl.exec_cmd("sh ~/.config/hypr/scripts/ensure-mime-defaults.sh")
end) end)
-- ############################ -- ############################
@@ -56,12 +56,10 @@ hl.env("GTK_THEME", "Adwaita:dark")
hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1") hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1")
hl.env("QT_QPA_PLATFORMTHEME", "kde") hl.env("QT_QPA_PLATFORMTHEME", "kde")
-- ################## -- ##################
-- ## PERMISSIONS ### -- ## PERMISSIONS ###
-- ################## -- ##################
-- #################### -- ####################
-- ## COLOR SCHEMES ### -- ## COLOR SCHEMES ###
-- #################### -- ####################
@@ -76,199 +74,199 @@ require("themes.mocha")
-- https://wiki.hypr.land/Configuring/Variables/#general -- https://wiki.hypr.land/Configuring/Variables/#general
hl.config({ hl.config({
general = { general = {
gaps_in = 3, gaps_in = 3,
gaps_out = 4, gaps_out = 4,
border_size = 3, border_size = 3,
}, },
}) })
-- https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors -- https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors
hl.config({ hl.config({
general = { general = {
col = { col = {
active_border = var_color_active_border, active_border = var_color_active_border,
inactive_border = var_color_inactive_border, inactive_border = var_color_inactive_border,
}, },
}, },
}) })
-- Set to true enable resizing windows by clicking and dragging on borders and gaps -- Set to true enable resizing windows by clicking and dragging on borders and gaps
hl.config({ hl.config({
general = { general = {
resize_on_border = true, resize_on_border = true,
}, },
}) })
-- Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on -- Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
hl.config({ hl.config({
general = { general = {
allow_tearing = false, allow_tearing = false,
layout = "dwindle", layout = "dwindle",
}, },
}) })
-- https://wiki.hypr.land/Configuring/Variables/#decoration -- https://wiki.hypr.land/Configuring/Variables/#decoration
hl.config({ hl.config({
decoration = { decoration = {
rounding = 5, rounding = 5,
rounding_power = 2, rounding_power = 2,
}, },
}) })
-- Change transparency of focused and unfocused windows -- Change transparency of focused and unfocused windows
hl.config({ hl.config({
decoration = { decoration = {
active_opacity = 1.0, active_opacity = 1.0,
inactive_opacity = 1.0, inactive_opacity = 1.0,
shadow = { shadow = {
enabled = true, enabled = true,
range = 10, range = 10,
render_power = 3, render_power = 3,
color = var_color_decoration_shadow, color = var_color_decoration_shadow,
}, },
}, },
}) })
-- https://wiki.hypr.land/Configuring/Variables/#blur -- https://wiki.hypr.land/Configuring/Variables/#blur
hl.config({ hl.config({
decoration = { decoration = {
blur = { blur = {
enabled = true, enabled = true,
size = 10, size = 10,
passes = 2, passes = 2,
vibrancy = 0.1696, vibrancy = 0.1696,
}, },
}, },
}) })
-- https://wiki.hypr.land/Configuring/Variables/#animations -- https://wiki.hypr.land/Configuring/Variables/#animations
hl.config({ hl.config({
animations = { animations = {
enabled = true, enabled = true,
}, },
}) })
-- Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves -- Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves
-- NAME, X0, Y0, X1, Y1 -- NAME, X0, Y0, X1, Y1
hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } }) hl.curve("easeOutQuint", { type = "bezier", points = { { 0.23, 1 }, { 0.32, 1 } } })
hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } }) hl.curve("easeInOutCubic", { type = "bezier", points = { { 0.65, 0.05 }, { 0.36, 1 } } })
hl.curve("linear", { type = "bezier", points = { {0, 0}, {1, 1} } }) hl.curve("linear", { type = "bezier", points = { { 0, 0 }, { 1, 1 } } })
hl.curve("almostLinear", { type = "bezier", points = { {0.5, 0.5}, {0.75, 1} } }) hl.curve("almostLinear", { type = "bezier", points = { { 0.5, 0.5 }, { 0.75, 1 } } })
hl.curve("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } }) hl.curve("quick", { type = "bezier", points = { { 0.15, 0 }, { 0.1, 1 } } })
-- Default animations, see https://wiki.hypr.land/Configuring/Animations/ -- Default animations, see https://wiki.hypr.land/Configuring/Animations/
-- NAME, ONOFF, SPEED, CURVE, [STYLE] -- NAME, ONOFF, SPEED, CURVE, [STYLE]
hl.animation({ hl.animation({
leaf = "global", leaf = "global",
enabled = true, enabled = true,
speed = 10, speed = 10,
bezier = "default", bezier = "default",
}) })
hl.animation({ hl.animation({
leaf = "border", leaf = "border",
enabled = true, enabled = true,
speed = 5.39, speed = 5.39,
bezier = "easeOutQuint", bezier = "easeOutQuint",
}) })
hl.animation({ hl.animation({
leaf = "windows", leaf = "windows",
enabled = true, enabled = true,
speed = 4.79, speed = 4.79,
bezier = "easeOutQuint", bezier = "easeOutQuint",
}) })
hl.animation({ hl.animation({
leaf = "windowsIn", leaf = "windowsIn",
enabled = true, enabled = true,
speed = 4.1, speed = 4.1,
bezier = "easeOutQuint", bezier = "easeOutQuint",
style = "popin 87%", style = "popin 87%",
}) })
hl.animation({ hl.animation({
leaf = "windowsOut", leaf = "windowsOut",
enabled = true, enabled = true,
speed = 1.49, speed = 1.49,
bezier = "linear", bezier = "linear",
style = "popin 87%", style = "popin 87%",
}) })
hl.animation({ hl.animation({
leaf = "fadeIn", leaf = "fadeIn",
enabled = true, enabled = true,
speed = 1.73, speed = 1.73,
bezier = "almostLinear", bezier = "almostLinear",
}) })
hl.animation({ hl.animation({
leaf = "fadeOut", leaf = "fadeOut",
enabled = true, enabled = true,
speed = 1.46, speed = 1.46,
bezier = "almostLinear", bezier = "almostLinear",
}) })
hl.animation({ hl.animation({
leaf = "fade", leaf = "fade",
enabled = true, enabled = true,
speed = 3.03, speed = 3.03,
bezier = "quick", bezier = "quick",
}) })
hl.animation({ hl.animation({
leaf = "layers", leaf = "layers",
enabled = true, enabled = true,
speed = 3.81, speed = 3.81,
bezier = "easeOutQuint", bezier = "easeOutQuint",
}) })
hl.animation({ hl.animation({
leaf = "layersIn", leaf = "layersIn",
enabled = true, enabled = true,
speed = 4, speed = 4,
bezier = "easeOutQuint", bezier = "easeOutQuint",
style = "fade", style = "fade",
}) })
hl.animation({ hl.animation({
leaf = "layersOut", leaf = "layersOut",
enabled = true, enabled = true,
speed = 1.5, speed = 1.5,
bezier = "linear", bezier = "linear",
style = "fade", style = "fade",
}) })
hl.animation({ hl.animation({
leaf = "fadeLayersIn", leaf = "fadeLayersIn",
enabled = true, enabled = true,
speed = 1.79, speed = 1.79,
bezier = "almostLinear", bezier = "almostLinear",
}) })
hl.animation({ hl.animation({
leaf = "fadeLayersOut", leaf = "fadeLayersOut",
enabled = true, enabled = true,
speed = 1.39, speed = 1.39,
bezier = "almostLinear", bezier = "almostLinear",
}) })
hl.animation({ hl.animation({
leaf = "workspaces", leaf = "workspaces",
enabled = true, enabled = true,
speed = 1.94, speed = 1.94,
bezier = "almostLinear", bezier = "almostLinear",
style = "fade", style = "fade",
}) })
hl.animation({ hl.animation({
leaf = "workspacesIn", leaf = "workspacesIn",
enabled = true, enabled = true,
speed = 1.21, speed = 1.21,
bezier = "almostLinear", bezier = "almostLinear",
style = "fade", style = "fade",
}) })
hl.animation({ hl.animation({
leaf = "workspacesOut", leaf = "workspacesOut",
enabled = true, enabled = true,
speed = 1.94, speed = 1.94,
bezier = "almostLinear", bezier = "almostLinear",
style = "fade", style = "fade",
}) })
hl.animation({ hl.animation({
leaf = "zoomFactor", leaf = "zoomFactor",
enabled = true, enabled = true,
speed = 7, speed = 7,
bezier = "quick", bezier = "quick",
}) })
-- Ref https://wiki.hypr.land/Configuring/Workspace-Rules/ -- Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
@@ -277,54 +275,54 @@ hl.animation({
-- uncomment all if you wish to use that. -- uncomment all if you wish to use that.
hl.workspace_rule({ hl.workspace_rule({
workspace = "w[tv1]", workspace = "w[tv1]",
gaps_out = 0, gaps_out = 0,
gaps_in = 0, gaps_in = 0,
}) })
hl.workspace_rule({ hl.workspace_rule({
workspace = "f[1]", workspace = "f[1]",
gaps_out = 0, gaps_out = 0,
gaps_in = 0, gaps_in = 0,
}) })
hl.window_rule({ hl.window_rule({
name = "no-gaps-wtv1", name = "no-gaps-wtv1",
match = { match = {
float = false, float = false,
workspace = "w[tv1]", workspace = "w[tv1]",
}, },
border_size = 0, border_size = 0,
rounding = 0, rounding = 0,
}) })
hl.window_rule({ hl.window_rule({
name = "no-gaps-f1", name = "no-gaps-f1",
match = { match = {
float = false, float = false,
workspace = "f[1]", workspace = "f[1]",
}, },
border_size = 0, border_size = 0,
rounding = 0, rounding = 0,
}) })
-- See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more -- See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
hl.config({ hl.config({
dwindle = { dwindle = {
preserve_split = true, preserve_split = true,
}, },
}) })
-- See https://wiki.hypr.land/Configuring/Master-Layout/ for more -- See https://wiki.hypr.land/Configuring/Master-Layout/ for more
hl.config({ hl.config({
master = { master = {
new_status = "master", new_status = "master",
}, },
}) })
-- https://wiki.hypr.land/Configuring/Variables/#misc -- https://wiki.hypr.land/Configuring/Variables/#misc
hl.config({ hl.config({
misc = { misc = {
force_default_wallpaper = -1, force_default_wallpaper = -1,
disable_hyprland_logo = false, disable_hyprland_logo = false,
}, },
}) })
-- ############ -- ############
@@ -333,34 +331,34 @@ hl.config({
-- https://wiki.hypr.land/Configuring/Variables/#input -- https://wiki.hypr.land/Configuring/Variables/#input
hl.config({ hl.config({
input = { input = {
kb_layout = "de", kb_layout = "de",
kb_variant = "", kb_variant = "",
kb_model = "", kb_model = "",
kb_options = "grp:alt_shift_toggle", kb_options = "grp:alt_shift_toggle",
kb_rules = "", kb_rules = "",
follow_mouse = 1, follow_mouse = 1,
numlock_by_default = true, numlock_by_default = true,
sensitivity = 0, sensitivity = 0,
touchpad = { touchpad = {
natural_scroll = true, natural_scroll = true,
}, },
}, },
}) })
-- See https://wiki.hypr.land/Configuring/Gestures -- See https://wiki.hypr.land/Configuring/Gestures
hl.gesture({ hl.gesture({
fingers = 3, fingers = 3,
direction = "horizontal", direction = "horizontal",
action = "workspace", action = "workspace",
}) })
-- Example per-device config -- Example per-device config
-- See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more -- See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
hl.device({ hl.device({
name = "epic-mouse-v1", name = "epic-mouse-v1",
sensitivity = -0.5, sensitivity = -0.5,
}) })
-- ################## -- ##################
@@ -373,17 +371,37 @@ hl.device({
hl.bind(var_mainMod .. " + RETURN", hl.dsp.exec_cmd(var_terminal), { description = "Open terminal (kitty)" }) 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 .. " + Q", hl.dsp.window.close(), { description = "Close focused window" })
hl.bind(var_mainMod .. " + ESCAPE", hl.dsp.exec_cmd("hyprshutdown"), { description = "Shutdown Hyprland" }) hl.bind(var_mainMod .. " + ESCAPE", hl.dsp.exec_cmd("hyprshutdown"), { description = "Shutdown Hyprland" })
hl.bind(var_mainMod .. " + SHIFT + ESCAPE", hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit"), { description = "Exit Hyprland" }) hl.bind(
hl.bind(var_mainMod .. " + CTRL + ESCAPE", hl.dsp.exec_cmd("hyprshutdown -t 'Shutting down...' --post-cmd 'shutdown -P 0'"), { description = "Power off the system" }) var_mainMod .. " + SHIFT + ESCAPE",
hl.bind(var_mainMod .. " + ALT + ESCAPE", hl.dsp.exec_cmd("hyprshutdown -t 'Restarting...' --post-cmd 'reboot'"), { description = "Reboot the system" }) hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || 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'"),
{ description = "Power off the system" }
)
hl.bind(
var_mainMod .. " + ALT + ESCAPE",
hl.dsp.exec_cmd("hyprshutdown -t 'Restarting...' --post-cmd '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 .. " + 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 .. " + 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 .. " + 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 .. " + SHIFT + SPACE",
hl.dsp.exec_cmd("nwg-drawer"),
{ description = "Open app drawer (nwg-drawer)" }
)
hl.bind(var_mainMod .. " + P", hl.dsp.window.pseudo(), { description = "Toggle pseudo-tiling" }) 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 .. " + 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 .. " + 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("~/.local/bin/hyprltm-net"),
{ description = "Network manager (hyprltm)" }
)
-- Move focus with mainMod or Vim-style -- Move focus with mainMod or Vim-style
hl.bind(var_mainMod .. " + CTRL + h", hl.dsp.focus({ direction = "left" }), { description = "Focus window left" }) hl.bind(var_mainMod .. " + CTRL + h", hl.dsp.focus({ direction = "left" }), { description = "Focus window left" })
@@ -393,15 +411,35 @@ hl.bind(var_mainMod .. " + CTRL + j", hl.dsp.focus({ direction = "down" }), { de
-- Move windows with mainMod or Vim-style -- Move windows with mainMod or Vim-style
hl.bind(var_mainMod .. " + SHIFT + h", hl.dsp.window.move({ direction = "left" }), { description = "Move window left" }) hl.bind(var_mainMod .. " + SHIFT + h", hl.dsp.window.move({ direction = "left" }), { description = "Move window left" })
hl.bind(var_mainMod .. " + SHIFT + l", hl.dsp.window.move({ direction = "right" }), { description = "Move window right" }) hl.bind(
var_mainMod .. " + SHIFT + l",
hl.dsp.window.move({ direction = "right" }),
{ description = "Move window right" }
)
hl.bind(var_mainMod .. " + SHIFT + k", hl.dsp.window.move({ direction = "up" }), { description = "Move window up" }) hl.bind(var_mainMod .. " + SHIFT + k", hl.dsp.window.move({ direction = "up" }), { description = "Move window up" })
hl.bind(var_mainMod .. " + SHIFT + j", hl.dsp.window.move({ direction = "down" }), { description = "Move window down" }) hl.bind(var_mainMod .. " + SHIFT + j", hl.dsp.window.move({ direction = "down" }), { description = "Move window down" })
-- Resize focused window with mainMod + Arrows -- Resize focused window with mainMod + Arrows
hl.bind(var_mainMod .. " + left", hl.dsp.window.resize({ x = -10, y = 0, relative = true }), { description = "Resize window left" }) hl.bind(
hl.bind(var_mainMod .. " + right", hl.dsp.window.resize({ x = 10, y = 0, relative = true }), { description = "Resize window right" }) var_mainMod .. " + left",
hl.bind(var_mainMod .. " + up", hl.dsp.window.resize({ x = 0, y = -10, relative = true }), { description = "Resize window up" }) hl.dsp.window.resize({ x = -10, y = 0, relative = true }),
hl.bind(var_mainMod .. " + down", hl.dsp.window.resize({ x = 0, y = 10, relative = true }), { description = "Resize window down" }) { description = "Resize window left" }
)
hl.bind(
var_mainMod .. " + right",
hl.dsp.window.resize({ x = 10, y = 0, relative = true }),
{ description = "Resize window right" }
)
hl.bind(
var_mainMod .. " + up",
hl.dsp.window.resize({ x = 0, y = -10, relative = true }),
{ description = "Resize window up" }
)
hl.bind(
var_mainMod .. " + down",
hl.dsp.window.resize({ x = 0, y = 10, relative = true }),
{ description = "Resize window down" }
)
-- Switch workspaces with mainMod + [0-9] -- Switch workspaces with mainMod + [0-9]
hl.bind(var_mainMod .. " + 1", hl.dsp.focus({ workspace = 1 }), { description = "Switch to workspace 1" }) hl.bind(var_mainMod .. " + 1", hl.dsp.focus({ workspace = 1 }), { description = "Switch to workspace 1" })
@@ -415,25 +453,65 @@ hl.bind(var_mainMod .. " + 8", hl.dsp.focus({ workspace = 8 }), { description =
hl.bind(var_mainMod .. " + 9", hl.dsp.focus({ workspace = 9 }), { description = "Switch to workspace 9" }) hl.bind(var_mainMod .. " + 9", hl.dsp.focus({ workspace = 9 }), { description = "Switch to workspace 9" })
hl.bind(var_mainMod .. " + 0", hl.dsp.focus({ workspace = 10 }), { description = "Switch to workspace 10" }) hl.bind(var_mainMod .. " + 0", hl.dsp.focus({ workspace = 10 }), { description = "Switch to workspace 10" })
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"), { hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"), {
repeating = true, repeating = true,
description = "Volume up", description = "Volume up",
}) })
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), {
locked = true, locked = true,
description = "Volume down", description = "Volume down",
}) })
-- Move active window to a workspace with mainMod + SHIFT + [0-9] -- Move active window to a workspace with mainMod + SHIFT + [0-9]
hl.bind(var_mainMod .. " + SHIFT + 1", hl.dsp.window.move({ workspace = 1 }), { description = "Move window to workspace 1" }) hl.bind(
hl.bind(var_mainMod .. " + SHIFT + 2", hl.dsp.window.move({ workspace = 2 }), { description = "Move window to workspace 2" }) var_mainMod .. " + SHIFT + 1",
hl.bind(var_mainMod .. " + SHIFT + 3", hl.dsp.window.move({ workspace = 3 }), { description = "Move window to workspace 3" }) hl.dsp.window.move({ workspace = 1 }),
hl.bind(var_mainMod .. " + SHIFT + 4", hl.dsp.window.move({ workspace = 4 }), { description = "Move window to workspace 4" }) { description = "Move window to workspace 1" }
hl.bind(var_mainMod .. " + SHIFT + 5", hl.dsp.window.move({ workspace = 5 }), { description = "Move window to workspace 5" }) )
hl.bind(var_mainMod .. " + SHIFT + 6", hl.dsp.window.move({ workspace = 6 }), { description = "Move window to workspace 6" }) hl.bind(
hl.bind(var_mainMod .. " + SHIFT + 7", hl.dsp.window.move({ workspace = 7 }), { description = "Move window to workspace 7" }) var_mainMod .. " + SHIFT + 2",
hl.bind(var_mainMod .. " + SHIFT + 8", hl.dsp.window.move({ workspace = 8 }), { description = "Move window to workspace 8" }) hl.dsp.window.move({ workspace = 2 }),
hl.bind(var_mainMod .. " + SHIFT + 9", hl.dsp.window.move({ workspace = 9 }), { description = "Move window to workspace 9" }) { description = "Move window to workspace 2" }
hl.bind(var_mainMod .. " + SHIFT + 0", hl.dsp.window.move({ workspace = 10 }), { description = "Move window to workspace 10" }) )
hl.bind(
var_mainMod .. " + SHIFT + 3",
hl.dsp.window.move({ workspace = 3 }),
{ description = "Move window to workspace 3" }
)
hl.bind(
var_mainMod .. " + SHIFT + 4",
hl.dsp.window.move({ workspace = 4 }),
{ description = "Move window to workspace 4" }
)
hl.bind(
var_mainMod .. " + SHIFT + 5",
hl.dsp.window.move({ workspace = 5 }),
{ description = "Move window to workspace 5" }
)
hl.bind(
var_mainMod .. " + SHIFT + 6",
hl.dsp.window.move({ workspace = 6 }),
{ description = "Move window to workspace 6" }
)
hl.bind(
var_mainMod .. " + SHIFT + 7",
hl.dsp.window.move({ workspace = 7 }),
{ description = "Move window to workspace 7" }
)
hl.bind(
var_mainMod .. " + SHIFT + 8",
hl.dsp.window.move({ workspace = 8 }),
{ description = "Move window to workspace 8" }
)
hl.bind(
var_mainMod .. " + SHIFT + 9",
hl.dsp.window.move({ workspace = 9 }),
{ description = "Move window to workspace 9" }
)
hl.bind(
var_mainMod .. " + SHIFT + 0",
hl.dsp.window.move({ workspace = 10 }),
{ description = "Move window to workspace 10" }
)
-- # Example special workspace (scratchpad) -- # Example special workspace (scratchpad)
@@ -442,89 +520,103 @@ hl.bind(var_mainMod .. " + SHIFT + 0", hl.dsp.window.move({ workspace = 10 }), {
-- bind = $mainMod SHIFT, S, movetoworkspace, special:magic -- bind = $mainMod SHIFT, S, movetoworkspace, special:magic
-- Scroll through existing workspaces with mainMod + scroll -- Scroll through existing workspaces with mainMod + scroll
hl.bind(var_mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }), { description = "Next workspace (scroll down)" }) hl.bind(
hl.bind(var_mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }), { description = "Previous workspace (scroll up)" }) var_mainMod .. " + mouse_down",
hl.dsp.focus({ workspace = "e+1" }),
{ description = "Next workspace (scroll down)" }
)
hl.bind(
var_mainMod .. " + mouse_up",
hl.dsp.focus({ workspace = "e-1" }),
{ description = "Previous workspace (scroll up)" }
)
-- Move/resize windows with mainMod + LMB/RMB and dragging -- Move/resize windows with mainMod + LMB/RMB and dragging
hl.bind(var_mainMod .. " + mouse:272", hl.dsp.window.drag(), { hl.bind(var_mainMod .. " + mouse:272", hl.dsp.window.drag(), {
mouse = true, mouse = true,
description = "Move window with mouse", description = "Move window with mouse",
}) })
hl.bind(var_mainMod .. " + mouse:273", hl.dsp.window.resize(), { hl.bind(var_mainMod .. " + mouse:273", hl.dsp.window.resize(), {
mouse = true, mouse = true,
description = "Resize window with mouse", description = "Resize window with mouse",
}) })
-- Laptop multimedia keys for volume and LCD brightness -- Laptop multimedia keys for volume and LCD brightness
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), {
repeating = true, repeating = true,
locked = true, locked = true,
description = "Volume up (repeat)", description = "Volume up (repeat)",
}) })
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), {
repeating = true, repeating = true,
locked = true, locked = true,
description = "Volume down (repeat)", description = "Volume down (repeat)",
}) })
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), {
repeating = true, repeating = true,
locked = true, locked = true,
description = "Mute audio", description = "Mute audio",
}) })
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), {
repeating = true, repeating = true,
locked = true, locked = true,
description = "Mute microphone", description = "Mute microphone",
}) })
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"), { hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"), {
repeating = true, repeating = true,
locked = true, locked = true,
description = "Brightness up", description = "Brightness up",
}) })
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"), { hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"), {
repeating = true, repeating = true,
locked = true, locked = true,
description = "Brightness down", description = "Brightness down",
}) })
-- Requires playerctl -- Requires playerctl
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), {
locked = true, locked = true,
description = "Next track", description = "Next track",
}) })
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), {
locked = true, locked = true,
description = "Play/Pause", description = "Play/Pause",
}) })
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), {
locked = true, locked = true,
description = "Play/Pause", description = "Play/Pause",
}) })
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), {
locked = true, locked = true,
description = "Previous track", description = "Previous track",
}) })
-- Screenshots -- Screenshots
hl.bind("PRINT", hl.dsp.exec_cmd("hyprshot -m region --output-folder " .. var_screenshot_folder), { hl.bind("PRINT", hl.dsp.exec_cmd("hyprshot -m region --output-folder " .. var_screenshot_folder), {
locked = true, locked = true,
description = "Screenshot region", description = "Screenshot region",
}) })
hl.bind("CTRL + PRINT", hl.dsp.exec_cmd("hyprshot -m window --output-folder " .. var_screenshot_folder), { hl.bind("CTRL + PRINT", hl.dsp.exec_cmd("hyprshot -m window --output-folder " .. var_screenshot_folder), {
locked = true, locked = true,
description = "Screenshot window", description = "Screenshot window",
}) })
hl.bind("SHIFT + PRINT", hl.dsp.exec_cmd("hyprshot -m active --output-folder " .. var_screenshot_folder), { hl.bind("SHIFT + PRINT", hl.dsp.exec_cmd("hyprshot -m active --output-folder " .. var_screenshot_folder), {
locked = true, locked = true,
description = "Screenshot active monitor", description = "Screenshot active monitor",
}) })
-- Screenlock -- Screenlock
hl.bind("CTRL + ALT + L", hl.dsp.exec_cmd("hyprlock"), {locked = true, description = "Lock screen"}) 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"}) hl.bind(var_mainMod .. " + L", hl.dsp.exec_cmd("hyprlock"), { locked = true, description = "Lock screen" })
-- Keybind overview popup -- Keybind overview popup
hl.bind(var_mainMod .. " + K", hl.dsp.exec_cmd("sh ~/.config/hypr/scripts/show-keybinds.sh"), { description = "Show keybind overview" }) hl.bind(
var_mainMod .. " + K",
hl.dsp.exec_cmd("sh ~/.config/hypr/scripts/show-keybinds.sh"),
{ description = "Show keybind overview" }
)
hl.bind(var_mainMod .. " + W", hl.dsp.exec_cmd("waypaper"), { description = "Wallpaper select" })
-- ############################# -- #############################
-- ## WINDOWS AND WORKSPACES ### -- ## WINDOWS AND WORKSPACES ###
@@ -538,71 +630,71 @@ hl.bind(var_mainMod .. " + K", hl.dsp.exec_cmd("sh ~/.config/hypr/scripts/show-k
-- Ignore maximize requests from all apps. You'll probably like this. -- Ignore maximize requests from all apps. You'll probably like this.
hl.window_rule({ hl.window_rule({
name = "suppress-maximize-events", name = "suppress-maximize-events",
match = { match = {
class = ".*", class = ".*",
}, },
suppress_event = "maximize", suppress_event = "maximize",
}) })
-- Fix some dragging issues with XWayland -- Fix some dragging issues with XWayland
hl.window_rule({ hl.window_rule({
name = "fix-xwayland-drags", name = "fix-xwayland-drags",
match = { match = {
class = "^$", class = "^$",
title = "^$", title = "^$",
xwayland = true, xwayland = true,
float = true, float = true,
fullscreen = false, fullscreen = false,
pin = false, pin = false,
}, },
no_focus = true, no_focus = true,
}) })
-- Hyprland-run windowrule -- Hyprland-run windowrule
hl.config({ hl.config({
decoration = { decoration = {
blur = { blur = {
size = 8, size = 8,
passes = 2, passes = 2,
}, },
}, },
}) })
hl.window_rule({ hl.window_rule({
name = "move-hyprland-run", name = "move-hyprland-run",
match = { match = {
class = "hyprland-run", class = "hyprland-run",
}, },
move = "20 monitor_h-120", move = "20 monitor_h-120",
float = true, float = true,
}) })
hl.window_rule({ hl.window_rule({
name = "opacity-kitty-dolphin", name = "opacity-kitty-dolphin",
match = { match = {
class = ".*(kitty|dolphin).*", class = ".*(kitty|dolphin).*",
}, },
opacity = "0.90 0.80", opacity = "0.90 0.80",
}) })
hl.layer_rule({ hl.layer_rule({
match = { match = {
namespace = "waybar", namespace = "waybar",
}, },
blur = true, blur = true,
}) })
hl.layer_rule({ hl.layer_rule({
match = { match = {
namespace = "waybar", namespace = "waybar",
}, },
blur_popups = true, blur_popups = true,
}) })
hl.window_rule({ hl.window_rule({
name = "no-rounding-fullscreen", name = "no-rounding-fullscreen",
match = { match = {
fullscreen = 1, fullscreen = 1,
}, },
rounding = 0, rounding = 0,
border_size = 0, border_size = 0,
}) })
-- windowrule { -- windowrule {
+43
View File
@@ -0,0 +1,43 @@
[Settings]
language = en
backend = hyprpaper
folder = /mnt/anbau/nextcloud/Photos/Wallpapers
monitors = All
wallpaper = /mnt/anbau/nextcloud/Photos/Wallpapers/wallhaven-og3qjp.jpg
show_path_in_tooltip = True
fill = fill
sort = name
color = #ffffff
subfolders = False
all_subfolders = False
show_hidden = True
show_gifs_only = False
zen_mode = False
post_command =
slideshow_interval = 60
slideshow_enabled = False
show_slideshow_panel = False
number_of_columns = 3
swww_transition_type = any
swww_filter = Lanczos3
swww_transition_step = 63
swww_transition_angle = 0
swww_transition_duration = 2
swww_transition_fps = 60
mpvpaper_sound = False
mpvpaper_options =
use_xdg_state = False
stylesheet = /home/mathias/.config/waypaper/style.css
keybindings = ~/.config/waypaper/keybindings.ini
wallpaperengine_folder = ~/.steam/root/steamapps/workshop/content/431960
linux_wallpaperengine_clamp = none
linux_wallpaperengine_volume = 15
linux_wallpaperengine_silent = False
linux_wallpaperengine_noautomute = False
linux_wallpaperengine_no_audio_processing = False
linux_wallpaperengine_fps = 30
linux_wallpaperengine_disable_particles = True
linux_wallpaperengine_disable_mouse = False
linux_wallpaperengine_disable_parallax = False
linux_wallpaperengine_no_fullscreen_pause = False