Mise à jour de la configuration de Hyprland : remplacement du format Lua par la syntaxe standard, ajout de nouvelles options de configuration et suppression des anciennes. Amélioration des liaisons de touches pour une meilleure ergonomie.

This commit is contained in:
Puechberty Arthur
2026-07-30 02:02:07 +02:00
parent 153d904755
commit c1e1b185cd
+153 -219
View File
@@ -183,249 +183,183 @@ USER_HOME="/home/$USERNAME"
mkdir -p \$USER_HOME/.config/hypr mkdir -p \$USER_HOME/.config/hypr
mkdir -p \$USER_HOME/.config/waybar mkdir -p \$USER_HOME/.config/waybar
# Suppression de l'ancien fichier lua s'il existe
rm -f \$USER_HOME/.config/hypr/hyprland.lua
cp -r /etc/xdg/waybar/* \$USER_HOME/.config/waybar/ 2>/dev/null || true cp -r /etc/xdg/waybar/* \$USER_HOME/.config/waybar/ 2>/dev/null || true
# Création de la configuration Hyprland (Format Lua) # Création de la configuration Hyprland (Syntaxe Hyprland standard)
cat << 'HYPRCONF' > \$USER_HOME/.config/hypr/hyprland.lua cat << 'HYPRCONF' > \$USER_HOME/.config/hypr/hyprland.conf
-- This is an example Hyprland Lua config file. # Configuration de base Hyprland
-- Refer to the wiki for more information. monitor=,preferred,auto,1
-- https://wiki.hypr.land/Configuring/Start/
------------------ $terminal = ghostty
---- MONITORS ---- $fileManager = thunar
------------------ $menu = wofi --show drun
hl.monitor({ # Autostart
output = "", exec-once = waybar
mode = "preferred", exec-once = swaybg -c '#000000'
position = "auto",
scale = "auto",
})
--------------------- # Environment variables
---- MY PROGRAMS ---- env = XCURSOR_SIZE,24
--------------------- env = HYPRCURSOR_SIZE,24
local terminal = "ghostty" # Look and Feel
local fileManager = "thunar" general {
local menu = "wofi --show drun" gaps_in = 5
gaps_out = 20
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
resize_on_border = false
allow_tearing = false
layout = dwindle
}
------------------- decoration {
---- AUTOSTART ---- rounding = 10
------------------- rounding_power = 2
active_opacity = 1.0
inactive_opacity = 1.0
shadow {
enabled = true
range = 4
render_power = 3
color = 0xee1a1a1a
}
blur {
enabled = true
size = 3
passes = 1
vibrancy = 0.1696
}
}
hl.on("hyprland.start", function () animations {
hl.exec_cmd("waybar") enabled = true
hl.exec_cmd("swaybg -c '#000000'") bezier = easeOutQuint,0.23,1,0.32,1
end) bezier = easeInOutCubic,0.65,0.05,0.36,1
bezier = linear,0,0,1,1
bezier = almostLinear,0.5,0.5,0.75,1
bezier = quick,0.15,0,0.1,1
bezier = easy,1,238.1191,24.21279333
animation = global,1,10,default
animation = border,1,5.39,easeOutQuint
animation = windows,1,4.79,easy
animation = windowsIn,1,4.1,easy,popin 87%
animation = windowsOut,1,1.49,linear,popin 87%
animation = fadeIn,1,1.73,almostLinear
animation = fadeOut,1,1.46,almostLinear
animation = fade,1,3.03,quick
animation = layers,1,3.81,easeOutQuint
animation = layersIn,1,4,easeOutQuint,fade
animation = layersOut,1,1.5,linear,fade
animation = fadeLayersIn,1,1.79,almostLinear
animation = fadeLayersOut,1,1.39,almostLinear
animation = workspaces,1,1.94,almostLinear,fade
animation = workspacesIn,1,1.21,almostLinear,fade
animation = workspacesOut,1,1.94,almostLinear,fade
animation = zoomFactor,1,7,quick
}
------------------------------- dwindle {
---- ENVIRONMENT VARIABLES ---- preserve_split = true
------------------------------- }
hl.env("XCURSOR_SIZE", "24") master {
hl.env("HYPRCURSOR_SIZE", "24") new_status = master
}
----------------------- misc {
----- PERMISSIONS ----- force_default_wallpaper = -1
----------------------- disable_hyprland_logo = true
}
----------------------- # Input
---- LOOK AND FEEL ---- input {
----------------------- kb_layout = fr
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
sensitivity = 0
touchpad {
natural_scroll = true
tap-to-click = true
}
}
hl.config({ gestures {
general = { workspace_swipe = true
gaps_in = 5, }
gaps_out = 20,
border_size = 2,
col = {
active_border = { colors = {"rgba(33ccffee)", "rgba(00ff99ee)"}, angle = 45 },
inactive_border = "rgba(595959aa)",
},
resize_on_border = false,
allow_tearing = false,
layout = "dwindle",
},
decoration = {
rounding = 10,
rounding_power = 2,
active_opacity = 1.0,
inactive_opacity = 1.0,
shadow = {
enabled = true,
range = 4,
render_power = 3,
color = 0xee1a1a1a,
},
blur = {
enabled = true,
size = 3,
passes = 1,
vibrancy = 0.1696,
},
},
animations = {
enabled = true,
},
})
hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } }) # Keybindings
hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } }) $mainMod = SUPER
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("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } })
hl.curve("easy", { type = "spring", mass = 1, stiffness = 238.1191, dampening = 24.21279333 })
hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" }) bind = $mainMod, Return, exec, $terminal
hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" }) bind = $mainMod, W, killactive,
hl.animation({ leaf = "windows", enabled = true, speed = 4.79, spring = "easy" }) bind = $mainMod, M, exit,
hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, spring = "easy", style = "popin 87%" }) bind = $mainMod, E, exec, $fileManager
hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" }) bind = $mainMod, V, togglefloating,
hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" }) bind = $mainMod, Space, exec, $menu
hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" }) bind = $mainMod, P, pseudo,
hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" }) bind = $mainMod, J, togglesplit,
hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" })
hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" })
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" })
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" })
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" })
hl.animation({ leaf = "workspaces", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
hl.animation({ leaf = "workspacesIn", enabled = true, speed = 1.21, bezier = "almostLinear", style = "fade" })
hl.animation({ leaf = "workspacesOut", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
hl.animation({ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" })
hl.config({ bind = $mainMod, left, movefocus, l
dwindle = { bind = $mainMod, right, movefocus, r
preserve_split = true, bind = $mainMod, up, movefocus, u
}, bind = $mainMod, down, movefocus, d
})
hl.config({ bind = $mainMod, 1, workspace, 1
master = { bind = $mainMod, 2, workspace, 2
new_status = "master", bind = $mainMod, 3, workspace, 3
}, bind = $mainMod, 4, workspace, 4
}) bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
hl.config({ bind = $mainMod SHIFT, 1, movetoworkspace, 1
scrolling = { bind = $mainMod SHIFT, 2, movetoworkspace, 2
fullscreen_on_one_column = true, bind = $mainMod SHIFT, 3, movetoworkspace, 3
}, bind = $mainMod SHIFT, 4, movetoworkspace, 4
}) bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
---------------- bind = $mainMod, S, togglespecialworkspace, magic
---- MISC ---- bind = $mainMod SHIFT, S, movetoworkspace, special:magic
----------------
hl.config({ bind = $mainMod, mouse_down, workspace, e+1
misc = { bind = $mainMod, mouse_up, workspace, e-1
force_default_wallpaper = -1,
disable_hyprland_logo = true,
},
})
--------------- bindm = $mainMod, mouse:272, movewindow
---- INPUT ---- bindm = $mainMod, mouse:273, resizewindow
---------------
hl.config({ # Laptop multimedia keys
input = { bindle = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
kb_layout = "fr", bindle = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
kb_variant = "", bindle = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
kb_model = "", bindle = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
kb_options = "", bindle = , XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
kb_rules = "", bindle = , XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
follow_mouse = 1,
sensitivity = 0,
touchpad = {
natural_scroll = true,
tap-to-click = true,
},
},
})
hl.gesture({ bindl = , XF86AudioNext, exec, playerctl next
fingers = 3, bindl = , XF86AudioPause, exec, playerctl play-pause
direction = "horizontal", bindl = , XF86AudioPlay, exec, playerctl play-pause
action = "workspace" bindl = , XF86AudioPrev, exec, playerctl previous
})
--------------------- # Windows and workspaces rules
---- KEYBINDINGS ---- windowrule = suppressmaximizeevents, class:.*
--------------------- windowrule = nofocus, class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
windowrule = move 20 monitor_h-120, class:hyprland-run
local mainMod = "SUPER"
hl.bind(mainMod .. " + Return", hl.dsp.exec_cmd(terminal))
local closeWindowBind = hl.bind(mainMod .. " + W", hl.dsp.window.close())
hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("hyprctl dispatch exit"))
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileManager))
hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }))
hl.bind(mainMod .. " + Space", hl.dsp.exec_cmd(menu))
hl.bind(mainMod .. " + P", hl.dsp.window.pseudo())
hl.bind(mainMod .. " + J", hl.dsp.layout("togglesplit"))
hl.bind(mainMod .. " + left", hl.dsp.focus({ direction = "left" }))
hl.bind(mainMod .. " + right", hl.dsp.focus({ direction = "right" }))
hl.bind(mainMod .. " + up", hl.dsp.focus({ direction = "up" }))
hl.bind(mainMod .. " + down", hl.dsp.focus({ direction = "down" }))
for i = 1, 10 do
local key = i % 10
hl.bind(mainMod .. " + " .. key, hl.dsp.focus({ workspace = i}))
hl.bind(mainMod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i }))
end
hl.bind(mainMod .. " + S", hl.dsp.workspace.toggle_special("magic"))
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.window.move({ workspace = "special:magic" }))
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { locked = true, repeating = true })
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { locked = true, repeating = true })
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { locked = true, repeating = true })
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"), { locked = true, repeating = true })
hl.bind("XF86MonBrightnessDown",hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"), { locked = true, repeating = true })
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true })
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true })
--------------------------------
---- WINDOWS AND WORKSPACES ----
--------------------------------
hl.window_rule({
name = "suppress-maximize-events",
match = { class = ".*" },
suppress_event = "maximize",
})
hl.window_rule({
name = "fix-xwayland-drags",
match = {
class = "^$",
title = "^$",
xwayland = true,
float = true,
fullscreen = false,
pin = false,
},
no_focus = true,
})
hl.window_rule({
name = "move-hyprland-run",
match = { class = "hyprland-run" },
move = "20 monitor_h-120",
float = true,
})
HYPRCONF HYPRCONF
# Lancement auto de Hyprland sur TTY1 # Lancement auto de Hyprland sur TTY1