167 lines
6.4 KiB
Lua
167 lines
6.4 KiB
Lua
-- Generated by hyprconf2lua v1.4.0 (manuellement corrigé)
|
|
---@module 'hl'
|
|
|
|
-- === MONITEURS ===
|
|
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)
|