Files
arch-dotfiles/.config/hypr/hyprland.conf

164 lines
4.5 KiB
Plaintext

source = ~/.config/hypr/monitors.conf
workspace = 1, monitor:eDP-1
workspace = 2, monitor:eDP-1
workspace = 3, monitor:eDP-1
workspace = 4, monitor:HDMI-A-1
workspace = 5, monitor:HDMI-A-1
workspace = 6, monitor:HDMI-A-1
xwayland {
force_zero_scaling = true
}
misc {
vrr = 2 # 0: off, 1: on, 2: fullscreen only
}
# --- IDENTITÉ DE LA SESSION ---
env = XDG_SESSION_TYPE,wayland
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
# --- HARDWARE & GPU (Stabilité Hybride) ---
env = LIBVA_DRIVER_NAME,nvidia
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = NVD_BACKEND,direct
# --- TOOLKIT & RENDU ---
env = QT_QPA_PLATFORM,wayland;xcb
env = GDK_BACKEND,wayland,x11
env = SDL_VIDEODRIVER,wayland
env = CLUTTER_BACKEND,wayland
# --- THEME ---
env = GTK_THEME,Adwaita:dark
env = QT_STYLE_OVERRIDE,adwaita-dark
# --- CURSOR ---
env = XCURSOR_THEME,Adwaita
env = XCURSOR_SIZE,24
# --- LANCEMENT AUTOMATIQUE ---
exec-once = waybar &
exec-once = mako &
exec-once = ~/scripts/hypridle-launch &
exec-once = nm-applet --indicator &
exec-once = blueman-applet &
exec-once = /usr/lib/polkit-kde-authentication-agent-1 &
exec-once = wl-paste --type text --watch cliphist store &
exec-once = wl-paste --type image --watch cliphist store &
exec-once = dex -a &
exec-once = ~/.config/hypr/scripts/wallpaper.sh &
exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
exec-once = gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark's
# --- CLAVIER & TRACKPAD ---
input {
kb_layout = fr
kb_options = caps:shiftlock
numlock_by_default = true
follow_mouse = 1
touchpad {
natural_scroll = true
tap-to-click = true
}
numlock_by_default = true
scroll_factor = 1.0
}
# --- RACCOURCIS CLAVIER ---
$mainMod = SUPER
bind = $mainMod, C, exec, alacritty
bind = $mainMod, Q, killactive,
bind = $mainMod, E, exec, thunar
bind = $mainMod, X, togglefloating,
bind = $mainMod, D, exec, rofi -show drun
bind = $mainMod, L, exec, hyprlock
bind = $mainMod, M, exit,
bind = $mainMod, ugrave, exec, systemctl poweroff
bind = $mainMod, asterisk, exec, systemctl reboot
bind = $mainMod, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
# Navigation Workspaces (AZERTY)
bind = $mainMod, ampersand, workspace, 1
bind = $mainMod, eacute, workspace, 2
bind = $mainMod, quotedbl, workspace, 3
bind = $mainMod, apostrophe, workspace, 4
bind = $mainMod, parenleft, workspace, 5
bind = $mainMod, minus, workspace, 6
# Déplacement fenêtres vers Workspaces (SHIFT + AZERTY)
bind = $mainMod SHIFT, ampersand, movetoworkspace, 1
bind = $mainMod SHIFT, eacute, movetoworkspace, 2
bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3
bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4
bind = $mainMod SHIFT, parenleft, movetoworkspace, 5
bind = $mainMod SHIFT, minus, movetoworkspace, 6
# Gestion fenêtres
bind = $mainMod SHIFT, Right, resizeactive, 50 0
bind = $mainMod SHIFT, Left, resizeactive, -50 0
bind = $mainMod SHIFT, Up, resizeactive, 0 -50
bind = $mainMod SHIFT, Down, resizeactive, 0 50
bind = $mainMod SHIFT, F, togglefloating
bind = $mainMod SHIFT, G, pin
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindowss
# Screenshot
bind = , Print, exec, grim -g "$(slurp)" - | wl-copy
# Display mode
bind = $mainMod, P, exec, ~/.config/hypr/scripts/display-mode.sh
# Contrôles Hardware
bindel = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
bindel = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
bindel = , XF86AudioRaiseVolume, exec, pamixer -i 5
bindel = , XF86AudioLowerVolume, exec, pamixer -d 5
bindl = , XF86AudioMute, exec, pamixer -t
windowrule = workspace 1, match:class ^(Alacritty)$
windowrule = workspace 2, match:title ^(Obsidian)$
windowrule = workspace 3, match:title ^(Beeper)$
windowrule = workspace 4, match:class ^(firefox)$
windowrule = workspace 5, match:class ^(org.inkscape.Inkscape)$
windowrule = workspace 6, match:title ^(ncspot)$
windowrule = workspace 6, match:title ^(Kasts)$
# --- APPARENCE (Catppuccin Mocha) ---
general {
gaps_in = 0
gaps_out = 0
border_size = 0 # Pas de bordure comme demandé
col.active_border = rgb(cba6f7) rgb(89b4fa) 45deg
col.inactive_border = rgba(1e1e2eaa)
layout = dwindle
}
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
}