• [^] # Re: Concrètement parlant

    Posté par . En réponse à la dépêche Hyprland, un compositeur Wayland « tiling ». Évalué à 1. Dernière modification le 09 avril 2025 à 11:46.

    Voici ma configuration. J'utilise au quotidien depuis 2 ans. J'ai encore qq bricoles à faire, mais c'est laaaaargement jouable. J'ai aussi une configuration pour waybar si ça intéresse qq1

    ```
    # #######################################################################################
    # AUTOGENERATED HYPR CONFIG.
    # PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
    # OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
    # #######################################################################################

    # This is an example Hyprland config file.
    # Refer to the wiki for more information.
    # https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
    # Please note not all available settings / options are set here.
    # For a full list, see the wiki
    # You can split this configuration into multiple files
    # Create your files separately and then link them to this file like this:
    # source = ~/.config/hypr/myColors.conf
    ################
    ### MONITORS ###
    ################
    # See https://wiki.hyprland.org/Configuring/Monitors/
    monitor=HDMI-A-1,1920x1080@60,0x0,1
    #monitor=HDMI-A-1,1920x1080@60,0x0,1,transform,1
    monitor=eDP-1,1920x1080@60,-1920x0,1
    monitor=DVI-I-2,1920x1080@60,1920x0,1
    ###################
    ### MY PROGRAMS ###
    ###################
    # See https://wiki.hyprland.org/Configuring/Keywords/
    # Set programs that you use
    $terminal = alacritty -e tmux
    $fileManager = nautilus
    $menu = wofi --show drun
    #################
    ### AUTOSTART ###
    #################
    # Autostart necessary processes (like notifications daemons, status bars, etc.)
    # Or execute your favorite apps at launch like this:
     exec-once = waybar & hyprpaper
     exec-once = swayidle -w timeout 10 'if pgrep -x swaylock; then hyprctl dispatch dpms off; fi' resume 'hyprctl dispatch dpms on'
     exec-once = swayidle -w timeout 900 'swaylock -f -C ~/.config/swaylock/config' timeout 930 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep 'swaylock -f -C ~/.config/swayloc
    k/config' after-resume 'sleep .2; systemctl --user restart waybar'
     exec-once = nm-applet & nextcloud --background
     exec-once = nmcli connection up Serveur_VPN
     exec-once=[workspace 1 silent] firefox
     exec-once=[workspace 2 silent] thunderbird
     exec-once=[workspace 3 silent] $terminal
     exec-once=[workspace 8 silent] sublime-music
     exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=$XDG_CURRENT_DESKTOP PATH
    #############################
    ### ENVIRONMENT VARIABLES ###
    #############################
    # See https://wiki.hyprland.org/Configuring/Environment-variables/
    env = XCURSOR_SIZE,24
    env = HYPRCURSOR_SIZE,24
    #####################
    ### LOOK AND FEEL ###
    #####################
    # Refer to https://wiki.hyprland.org/Configuring/Variables/
    # https://wiki.hyprland.org/Configuring/Variables/#general
    general {
     gaps_in = 1 # distance entre les fenetres
     gaps_out = 2
     border_size = 2
     # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
     col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
     col.inactive_border = rgba(595959aa)
     # Set to true enable resizing windows by clicking and dragging on borders and gaps
     resize_on_border = false
     # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
     allow_tearing = false
     layout = dwindle
    }
    # https://wiki.hyprland.org/Configuring/Variables/#decoration
    decoration {
     rounding = 10
     # Change transparency of focused and unfocused windows
     active_opacity = 1.0
     inactive_opacity = 1.0
     # https://wiki.hyprland.org/Configuring/Variables/#blur
     blur {
     enabled = true
     size = 3
     passes = 1
     vibrancy = 0.1696
     }
    }
    # https://wiki.hyprland.org/Configuring/Variables/#animations
    animations {
     enabled = true
     # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
     bezier = myBezier, 0.05, 0.9, 0.1, 1.05
     animation = windows, 1, 7, myBezier
     animation = windowsOut, 1, 7, default, popin 80%
     animation = border, 1, 10, default
     animation = borderangle, 1, 8, default
     animation = fade, 1, 7, default
     animation = workspaces, 1, 6, default
    }
    # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
    dwindle {
     pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
     preserve_split = true # You probably want this
    }
    # https://wiki.hyprland.org/Configuring/Variables/#misc
    misc {
     force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
     disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
    }
    #############
    ### INPUT ###
    #############
    # https://wiki.hyprland.org/Configuring/Variables/#input
    input {
     kb_layout = fr
     kb_variant =
     kb_model =
     kb_options =
     kb_rules =
     follow_mouse = 1
     sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
     touchpad {
     natural_scroll = false
     }
    }
    # https://wiki.hyprland.org/Configuring/Variables/#gestures
     gestures {
     workspace_swipe = false
     }
     # Example per-device config
     # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
     device {
     name = epic-mouse-v1
     sensitivity = -0.5
     }
     ####################
     ### KEYBINDINGSS ###
     ####################
     # See https://wiki.hyprland.org/Configuring/Keywords/
     $mainMod = SUPER # Sets "Windows" key as main modifier
     # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
     bind = $mainMod, Q, exec, $terminal
     bind = $mainMod, C, killactive,
     bind = $mainMod, M, exit,
     bind = $mainMod, E, exec, $fileManager
     bind = $mainMod, V, togglefloating,
     bind = $mainMod, D, exec, $menu
     bind = $mainMod, P, pseudo, # dwindle
     bind = $mainMod, J, togglesplit, # dwindle
     bind = $mainMod SHIFT, L, exec, swaylock -f -C ~/.config/swaylock/config
     bind = , Print, exec, grim -g "$(slurp)" - | swappy -f -
     bind = ALT, Tab, layoutmsg, cyclenext, # change focus to another window
     bind = SUPER, Tab, workspace, previous
     # Move focus with mainMod + arrow keys
     bind = $mainMod, left, movefocus, l
     bind = $mainMod, right, movefocus, r
     bind = $mainMod, up, movefocus, u
     bind = $mainMod, down, movefocus, d
     # Switch workspaces with mainMod + [0-9]
     bind = SUPER, code:10, workspace, 1
     bind = SUPER, code:11, workspace, 2
     bind = $mainMod, quotedbl, workspace, 3
     bind = $mainMod, apostrophe, workspace, 4
     bind = $mainMod, parenleft, workspace, 5
     bind = $mainMod, minus, workspace, 6
     bind = $mainMod, egrave, workspace, 7
     bind = $mainMod, underscore, workspace, 8
     bind = $mainMod, ccedilla, workspace, 9
     bind = $mainMod, agrave, workspace, 10
     # Move active window to a workspace with mainMod + SHIFT + [0-9]
     bind = $mainMod SHIFT, code:10, movetoworkspace, 1
     bind = $mainMod SHIFT, code:11, movetoworkspace, 2
     bind = $mainMod SHIFT, code:12, movetoworkspace, 3
     bind = $mainMod SHIFT, code:13, movetoworkspace, 4
     bind = $mainMod SHIFT, code:14, movetoworkspace, 5
     bind = $mainMod SHIFT, code:15, movetoworkspace, 6
     bind = $mainMod SHIFT, code:16, movetoworkspace, 7
     bind = $mainMod SHIFT, code:17, movetoworkspace, 8
    bind = $mainMod, right, movefocus, r
    bind = $mainMod, up, movefocus, u
    bind = $mainMod, down, movefocus, d
    # Switch workspaces with mainMod + [0-9]
    bind = SUPER, code:10, workspace, 1
    bind = SUPER, code:11, workspace, 2
    bind = $mainMod, quotedbl, workspace, 3
    bind = $mainMod, apostrophe, workspace, 4
    bind = $mainMod, parenleft, workspace, 5
    bind = $mainMod, minus, workspace, 6
    bind = $mainMod, egrave, workspace, 7
    bind = $mainMod, underscore, workspace, 8
    bind = $mainMod, ccedilla, workspace, 9
    bind = $mainMod, agrave, workspace, 10
    # Move active window to a workspace with mainMod + SHIFT + [0-9]
    bind = $mainMod SHIFT, code:10, movetoworkspace, 1
    bind = $mainMod SHIFT, code:11, movetoworkspace, 2
    bind = $mainMod SHIFT, code:12, movetoworkspace, 3
    bind = $mainMod SHIFT, code:13, movetoworkspace, 4
    bind = $mainMod SHIFT, code:14, movetoworkspace, 5
    bind = $mainMod SHIFT, code:15, movetoworkspace, 6
    bind = $mainMod SHIFT, code:16, movetoworkspace, 7
    bind = $mainMod SHIFT, code:17, movetoworkspace, 8
    bind = $mainMod SHIFT, code:18, movetoworkspace, 9
    bind = $mainMod SHIFT, code:19, movetoworkspace, 10
    # Example special workspace (scratchpad)
    bind = $mainMod, S, togglespecialworkspace, magic
    bind = $mainMod SHIFT, S, movetoworkspace, special:magic
    # Scroll through existing workspaces with mainMod + scroll
    bind = $mainMod, mouse_down, workspace, e+1
    bind = $mainMod, mouse_up, workspace, e-1
    # Move/resize windows with mainMod + LMB/RMB and dragging
    bindm = $mainMod, mouse:272, movewindow
    bindm = $mainMod, mouse:273, resizewindow
    # fullscreen
    bind = $mainMod, F,fullscreen
    ##############################
    ### WINDOWS AND WORKSPACES ###
    ##############################
    # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
    # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
    # Example windowrule v1
    # windowrule = float, ^(kitty)$
    # Example windowrule v2
    # windowrulev2 = float,class:^(kitty),ドルtitle:^(kitty)$
    workspace = 1, monitor:eDP-1,default:true
    workspace = 2, monitor:eDP-1,default:true,persistent:true
    workspace = 3, monitor:eDP-1,default:true,persistent:true
    workspace = 4, monitor:eDP-1,default:true
    windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.