From c1e1b185cda0d22775ef53206477f1cddf0fe8f1 Mon Sep 17 00:00:00 2001 From: Puechberty Arthur Date: Thu, 30 Jul 2026 02:02:07 +0200 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20la=20configuration?= =?UTF-8?q?=20de=20Hyprland=20:=20remplacement=20du=20format=20Lua=20par?= =?UTF-8?q?=20la=20syntaxe=20standard,=20ajout=20de=20nouvelles=20options?= =?UTF-8?q?=20de=20configuration=20et=20suppression=20des=20anciennes.=20A?= =?UTF-8?q?m=C3=A9lioration=20des=20liaisons=20de=20touches=20pour=20une?= =?UTF-8?q?=20meilleure=20ergonomie.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 372 ++++++++++++++++++++++------------------------------- 1 file changed, 153 insertions(+), 219 deletions(-) diff --git a/install.sh b/install.sh index 5daf4ed..2cf3b96 100644 --- a/install.sh +++ b/install.sh @@ -183,249 +183,183 @@ USER_HOME="/home/$USERNAME" mkdir -p \$USER_HOME/.config/hypr 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 -# Création de la configuration Hyprland (Format Lua) -cat << 'HYPRCONF' > \$USER_HOME/.config/hypr/hyprland.lua --- This is an example Hyprland Lua config file. --- Refer to the wiki for more information. --- https://wiki.hypr.land/Configuring/Start/ +# Création de la configuration Hyprland (Syntaxe Hyprland standard) +cat << 'HYPRCONF' > \$USER_HOME/.config/hypr/hyprland.conf +# Configuration de base Hyprland +monitor=,preferred,auto,1 ------------------- ----- MONITORS ---- ------------------- + $terminal = ghostty + $fileManager = thunar + $menu = wofi --show drun -hl.monitor({ - output = "", - mode = "preferred", - position = "auto", - scale = "auto", -}) +# Autostart +exec-once = waybar +exec-once = swaybg -c '#000000' ---------------------- ----- MY PROGRAMS ---- ---------------------- +# Environment variables +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 -local terminal = "ghostty" -local fileManager = "thunar" -local menu = "wofi --show drun" +# Look and Feel +general { + 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 +} -------------------- ----- AUTOSTART ---- -------------------- +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 + } +} -hl.on("hyprland.start", function () - hl.exec_cmd("waybar") - hl.exec_cmd("swaybg -c '#000000'") -end) +animations { + enabled = true + bezier = easeOutQuint,0.23,1,0.32,1 + 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 +} -------------------------------- ----- ENVIRONMENT VARIABLES ---- -------------------------------- +dwindle { + preserve_split = true +} -hl.env("XCURSOR_SIZE", "24") -hl.env("HYPRCURSOR_SIZE", "24") +master { + new_status = master +} ------------------------ ------ PERMISSIONS ----- ------------------------ +misc { + force_default_wallpaper = -1 + disable_hyprland_logo = true +} ------------------------ ----- LOOK AND FEEL ---- ------------------------ +# Input +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({ - general = { - 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, - }, -}) +gestures { + workspace_swipe = true +} -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("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 }) +# Keybindings + $mainMod = SUPER -hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" }) -hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" }) -hl.animation({ leaf = "windows", enabled = true, speed = 4.79, spring = "easy" }) -hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, spring = "easy", style = "popin 87%" }) -hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" }) -hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" }) -hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" }) -hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" }) -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" }) +bind = $mainMod, Return, exec, $terminal +bind = $mainMod, W, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, Space, exec, $menu +bind = $mainMod, P, pseudo, +bind = $mainMod, J, togglesplit, -hl.config({ - dwindle = { - preserve_split = true, - }, -}) +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d -hl.config({ - master = { - new_status = "master", - }, -}) +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +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({ - scrolling = { - fullscreen_on_one_column = true, - }, -}) +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +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 ----------------- ----- MISC ---- ----------------- +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic -hl.config({ - misc = { - force_default_wallpaper = -1, - disable_hyprland_logo = true, - }, -}) +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 ---------------- ----- INPUT ---- ---------------- +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow -hl.config({ - 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, - }, - }, -}) +# Laptop multimedia keys +bindle = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ +bindle = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindle = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindle = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +bindle = , XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ +bindle = , XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- -hl.gesture({ - fingers = 3, - direction = "horizontal", - action = "workspace" -}) +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous ---------------------- ----- KEYBINDINGS ---- ---------------------- - -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, -}) +# Windows and workspaces rules +windowrule = suppressmaximizeevents, class:.* +windowrule = nofocus, class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 +windowrule = move 20 monitor_h-120, class:hyprland-run HYPRCONF # Lancement auto de Hyprland sur TTY1