-- Generated by hyprconf2lua v1.4.0 (manuellement corrigé) ---@module 'hl' -- === MONITEURS === local monitors = require("monitors") -- Workspace rules (intégrées directement) hl.workspace_rule({ workspace = 1, monitor = "eDP-1" }) hl.workspace_rule({ workspace = 2, monitor = "eDP-1" }) hl.workspace_rule({ workspace = 3, monitor = "eDP-1" }) hl.workspace_rule({ workspace = 4, monitor = "HDMI-A-1" }) hl.workspace_rule({ workspace = 5, monitor = "HDMI-A-1" }) hl.workspace_rule({ workspace = 6, monitor = "HDMI-A-1" }) -- === OPTIONS GÉNÉRALES === hl.config({ xwayland = { force_zero_scaling = true }, misc = { vrr = 2 }, -- 0: off, 1: on, 2: fullscreen only }) -- === ENVIRONNEMENT === hl.env("XDG_SESSION_TYPE", "wayland") hl.env("XDG_CURRENT_DESKTOP", "Hyprland") hl.env("XDG_SESSION_DESKTOP", "Hyprland") -- GPU NVIDIA hl.env("LIBVA_DRIVER_NAME", "nvidia") hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia") hl.env("NVD_BACKEND", "direct") -- Toolkits hl.env("QT_QPA_PLATFORM", "wayland;xcb") hl.env("GDK_BACKEND", "wayland,x11") hl.env("SDL_VIDEODRIVER", "wayland") hl.env("CLUTTER_BACKEND", "wayland") -- Thème hl.env("GTK_THEME", "Adwaita:dark") hl.env("QT_STYLE_OVERRIDE", "adwaita-dark") -- Curseur hl.env("XCURSOR_THEME", "Adwaita") hl.env("XCURSOR_SIZE", 24) -- === CLAVIER & TRACKPAD === hl.config({ input = { kb_layout = "fr", kb_options = "caps:shiftlock", numlock_by_default = true, follow_mouse = 1, touchpad = { natural_scroll = true, tap_to_click = true, }, scroll_factor = 1.0, }, }) -- === RACCOURCIS CLAVIER === local mainMod = "SUPER" -- Lanceurs hl.bind(mainMod .. " + C", hl.dsp.exec_cmd("alacritty")) hl.bind(mainMod .. " + E", hl.dsp.exec_cmd("thunar")) hl.bind(mainMod .. " + D", hl.dsp.exec_cmd("rofi -show drun")) hl.bind(mainMod .. " + L", hl.dsp.exec_cmd("hyprlock")) hl.bind(mainMod .. " + V", hl.dsp.exec_cmd("cliphist list | rofi -dmenu | cliphist decode | wl-copy")) hl.bind(mainMod .. " + W", hl.dsp.exec_cmd("thunar")) hl.bind(mainMod .. " + SHIFT + P", hl.dsp.exec_cmd("/home/lucas/.config/hyprdynamicmonitors/scripts/display-manager.sh")) hl.bind(mainMod .. " + P", hl.dsp.exec_cmd("/home/lucas/.config/hyprdynamicmonitors/scripts/display-toggle.sh")) -- Gestion des fenêtres hl.bind(mainMod .. " + Q", hl.dsp.window.close()) hl.bind(mainMod .. " + X", hl.dsp.window.float()) hl.bind(mainMod .. " + M", hl.dsp.exit()) hl.bind(mainMod .. " + SHIFT + F", hl.dsp.window.float()) hl.bind(mainMod .. " + SHIFT + G", hl.dsp.window.pin()) -- Redimensionnement (via hyprctl pour compatibilité) hl.bind(mainMod .. " + SHIFT + Right", hl.dsp.exec_cmd("hyprctl dispatch resizeactive 50 0")) hl.bind(mainMod .. " + SHIFT + Left", hl.dsp.exec_cmd("hyprctl dispatch resizeactive -50 0")) hl.bind(mainMod .. " + SHIFT + Up", hl.dsp.exec_cmd("hyprctl dispatch resizeactive 0 -50")) hl.bind(mainMod .. " + SHIFT + Down", hl.dsp.exec_cmd("hyprctl dispatch resizeactive 0 50")) -- Déplacement avec la souris (bindm) hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true }) hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true }) -- Extinction / redémarrage hl.bind(mainMod .. " + ugrave", hl.dsp.exec_cmd("systemctl poweroff")) hl.bind(mainMod .. " + asterisk", hl.dsp.exec_cmd("systemctl reboot")) -- Navigation des workspaces (AZERTY) hl.bind(mainMod .. " + ampersand", hl.dsp.focus({ workspace = 1 })) hl.bind(mainMod .. " + eacute", hl.dsp.focus({ workspace = 2 })) hl.bind(mainMod .. " + quotedbl", hl.dsp.focus({ workspace = 3 })) hl.bind(mainMod .. " + apostrophe",hl.dsp.focus({ workspace = 4 })) hl.bind(mainMod .. " + parenleft", hl.dsp.focus({ workspace = 5 })) hl.bind(mainMod .. " + minus", hl.dsp.focus({ workspace = 6 })) -- Déplacement des fenêtres vers les workspaces (SHIFT + AZERTY) hl.bind(mainMod .. " + SHIFT + ampersand", hl.dsp.window.move({ workspace = 1 })) hl.bind(mainMod .. " + SHIFT + eacute", hl.dsp.window.move({ workspace = 2 })) hl.bind(mainMod .. " + SHIFT + quotedbl", hl.dsp.window.move({ workspace = 3 })) hl.bind(mainMod .. " + SHIFT + apostrophe", hl.dsp.window.move({ workspace = 4 })) hl.bind(mainMod .. " + SHIFT + parenleft", hl.dsp.window.move({ workspace = 5 })) hl.bind(mainMod .. " + SHIFT + minus", hl.dsp.window.move({ workspace = 6 })) -- Captures d'écran hl.bind("Print", hl.dsp.exec_cmd("grim -g \"$(slurp)\" - | wl-copy")) hl.bind("SHIFT + Print", hl.dsp.exec_cmd("grimblast copy screen")) -- Contrôles matériels (bindl / bindel) hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl set 5%+"), { locked = true }) hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl set 5%-"), { locked = true }) hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("pamixer -i 5"), { locked = true }) hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("pamixer -d 5"), { locked = true }) hl.bind("XF86AudioMute", hl.dsp.exec_cmd("pamixer -t"), { locked = true }) -- === RÈGLES POUR LES FENÊTRES === hl.window_rule({ name = "workspace_1", match = { class = "^(Alacritty)$" }, workspace = 1 }) hl.window_rule({ name = "workspace_2", match = { title = "^(Obsidian)$" }, workspace = 2 }) hl.window_rule({ name = "workspace_3", match = { title = "^(Beeper)$" }, workspace = 3 }) hl.window_rule({ name = "workspace_4", match = { class = "^(firefox)$" }, workspace = 4 }) hl.window_rule({ name = "workspace_5", match = { class = "^(org.inkscape.Inkscape)$" }, workspace = 5 }) hl.window_rule({ name = "workspace_6", match = { title = "^(ncspot)$" }, workspace = 6 }) hl.window_rule({ name = "workspace_6", match = { title = "^(Kasts)$" }, workspace = 6 }) -- === APPARENCE === hl.config({ general = { gaps_in = 0, gaps_out = 0, border_size = 0, layout = "dwindle", col = { active_border = { colors = { "rgb(cba6f7)", "rgb(89b4fa)" }, angle = 45 }, inactive_border = "rgba(1e1e2eaa)", }, }, decoration = { rounding = 3, active_opacity = 1.0, inactive_opacity = 1.0, shadow = { enabled = false, range = 4, render_power = 3, color = "rgba(1a1a1aee)", }, blur = { enabled = false, size = 3, passes = 1, }, }, cursor = { no_hardware_cursors = true, }, }) -- === DÉMARRAGE AUTOMATIQUE (exec-once) === hl.on("hyprland.start", function() hl.exec_cmd("~/.config/hypr/scripts/autostart.sh") end)