Initial full commit for Dell16 Arch
This commit is contained in:
21
.config/hypr/hypridle-eco.conf
Normal file
21
.config/hypr/hypridle-eco.conf
Normal file
@@ -0,0 +1,21 @@
|
||||
general {
|
||||
lock_cmd = pidof hyprlock || hyprlock
|
||||
unlock_cmd = pkill -x hyprlock
|
||||
before_sleep_cmd = loginctl lock-session
|
||||
after_sleep_cmd = hyprctl dispatch dpms on && ./home/lucas/scripts/restart-external-screen
|
||||
ignore_dbus_inhibit = false
|
||||
no_fade_in = true
|
||||
}
|
||||
listener {
|
||||
timeout = 180
|
||||
on-timeout = hyprctl dispatch dpms off
|
||||
on-resume = hyprctl dispatch dpms on
|
||||
}
|
||||
listener {
|
||||
timeout = 300
|
||||
on-timeout = loginctl lock-session
|
||||
}
|
||||
listener {
|
||||
timeout = 360 # lock d'abord, suspend après
|
||||
on-timeout = systemctl suspend
|
||||
}
|
||||
23
.config/hypr/hypridle.conf
Normal file
23
.config/hypr/hypridle.conf
Normal file
@@ -0,0 +1,23 @@
|
||||
general {
|
||||
lock_cmd = pidof hyprlock || hyprlock # Commande de verrouillage
|
||||
unlock_cmd = pkill -x hyprlock # Commande de déverrouillage
|
||||
before_sleep_cmd = loginctl lock-session # Avant la mise en veille
|
||||
after_sleep_cmd = hyprctl dispatch dpms on && ./home/lucas/scripts/restart-external-screen # Après réveil
|
||||
ignore_dbus_inhibit = false # Respecte les inhibiteurs DBus
|
||||
no_fade_in = true
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 600 # 10 minutes d'inactivité
|
||||
on-timeout = loginctl lock-session # Verrouille l'écran
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 900 # 15 minutes d'inactivité
|
||||
on-timeout = systemctl suspend # Met en veille
|
||||
}
|
||||
|
||||
animations {
|
||||
animation = fadeIn, 0
|
||||
animation = fadeOut, 0
|
||||
}
|
||||
163
.config/hypr/hyprland.conf
Normal file
163
.config/hypr/hyprland.conf
Normal file
@@ -0,0 +1,163 @@
|
||||
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
|
||||
}
|
||||
56
.config/hypr/hyprland.conf.save
Normal file
56
.config/hypr/hyprland.conf.save
Normal file
@@ -0,0 +1,56 @@
|
||||
|
||||
|
||||
|
||||
monitor=,highres,auto,1.25
|
||||
|
||||
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = XDG_CURRENT_DESTKOP,Hyprland
|
||||
env = XDG_SESSION_DESKTOP,Hyprland
|
||||
env = LIBVA_DRIVER_NAME,nvidia
|
||||
env = GBM_BACKEND,nvidia-drm
|
||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
env = QT_QPA_PLATFORM,wayland
|
||||
|
||||
exec-once = waybar &
|
||||
exec-one =
|
||||
|
||||
|
||||
|
||||
input {
|
||||
kb_layout = fr
|
||||
follow_mouse = 1
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
tap-to-click = true
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$mainMod = SUPER
|
||||
|
||||
bind = $mainMod, Q, exec, alacritty
|
||||
bind = $mainMod, C, killactive,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, E, exec, thunar
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, D, exec, rofi -show drun
|
||||
bind = $mainMod, L, exec, swaylock
|
||||
|
||||
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, 0
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
|
||||
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
|
||||
64
.config/hypr/hyprlock.conf
Normal file
64
.config/hypr/hyprlock.conf
Normal file
@@ -0,0 +1,64 @@
|
||||
$base = rgb(1e1e2e)
|
||||
$surface0 = rgb(313244)
|
||||
$overlay0 = rgb(6c7086)
|
||||
$text = rgb(cdd6f4)
|
||||
$mauve = rgb(cba6f7)
|
||||
$red = rgb(f38ba8)
|
||||
|
||||
background {
|
||||
monitor =
|
||||
path = screenshot
|
||||
blur_passes = 3
|
||||
blur_size = 7
|
||||
color = $base
|
||||
}
|
||||
|
||||
input-field {
|
||||
monitor =
|
||||
size = 300, 50
|
||||
position = 0, -100
|
||||
halign = center
|
||||
valign = center
|
||||
|
||||
outline_thickness = 2
|
||||
dots_size = 0.25
|
||||
dots_spacing = 0.2
|
||||
|
||||
outer_color = $mauve
|
||||
inner_color = $surface0
|
||||
font_color = $text
|
||||
fail_color = $red
|
||||
check_color = $mauve
|
||||
placeholder_text = <span foreground="##6c7086">Mot de passe</span>
|
||||
fail_text = <i>Échec</i>
|
||||
|
||||
rounding = 8
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$(date +"%H:%M")"
|
||||
color = $text
|
||||
font_size = 64
|
||||
font_family = JetBrains Mono
|
||||
position = 0, 200
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:60000] echo "$(date +"%A %d %B")"
|
||||
color = $overlay0
|
||||
font_size = 18
|
||||
font_family = JetBrains Mono
|
||||
position = 0, 120
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
auth {
|
||||
fingerprint {
|
||||
enabled = false
|
||||
}
|
||||
}
|
||||
11
.config/hypr/monitors.conf
Normal file
11
.config/hypr/monitors.conf
Normal file
@@ -0,0 +1,11 @@
|
||||
# Generated with hyprdynamicmonitors freeze.
|
||||
# This is a template that you can edit, it is just a starter that pulled your current monitor setup,
|
||||
# adjust as needed.
|
||||
# You can use templates here etc, see https://github.com/fiffeek/hyprdynamicmonitors/blob/main/examples/basic/hyprconfigs/template.go.tmpl.
|
||||
# Monitors are given arbitrary tags (the "monitor" prefix and the ID coming from hyprland).
|
||||
# If you are using tui to edit, leave this at the end of your file (the last monitor config applies)
|
||||
# and leave the markers.
|
||||
# <<<<< TUI AUTO START
|
||||
monitor=desc:BOE 0x0B29,2560x1600@120.00200,320x1440,1.33333333,transform,0,vrr,0
|
||||
monitor=desc:Shenzhen KTC Technology Group H27T7P-2 0000000000000,2560x1440@119.99800,0x0,1.00000000,transform,0,vrr,0
|
||||
# <<<<< TUI AUTO END
|
||||
32
.config/hypr/scripts/display-mode.sh
Executable file
32
.config/hypr/scripts/display-mode.sh
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
STATE_FILE="/tmp/hypr_display_mode"
|
||||
INTERNAL="eDP-1"
|
||||
EXTERNAL=$(hyprctl monitors all -j | jq -r '.[].name' | grep -v "$INTERNAL" | head -1)
|
||||
CURRENT=$(cat "$STATE_FILE" 2>/dev/null || echo "both")
|
||||
|
||||
if [ -z "$EXTERNAL" ]; then
|
||||
notify-send "Display" "Aucun écran externe détecté" -t 2000
|
||||
exit 0
|
||||
fi
|
||||
|
||||
case "$CURRENT" in
|
||||
"both")
|
||||
hyprctl keyword monitor "$INTERNAL, disable"
|
||||
echo "external" > "$STATE_FILE"
|
||||
notify-send "Display" "Externe uniquement ($EXTERNAL)" -t 2000
|
||||
;;
|
||||
"external")
|
||||
hyprctl keyword monitor "$EXTERNAL, disable"
|
||||
hyprctl keyword monitor "$INTERNAL, 2560x1600@120.0, 0x0, 1.33"
|
||||
echo "internal" > "$STATE_FILE"
|
||||
notify-send "Display" "Interne uniquement" -t 2000
|
||||
;;
|
||||
"internal")
|
||||
hyprctl keyword monitor "$INTERNAL, 2560x1600@120.0, 1995x1440, 1.33"
|
||||
sleep 0.5
|
||||
hyprctl keyword monitor "$EXTERNAL, 2560x1440@120.0, 1697x0, 1"
|
||||
echo "both" > "$STATE_FILE"
|
||||
notify-send "Display" "Double écran" -t 2000
|
||||
;;
|
||||
esac
|
||||
25
.config/hypr/scripts/power-save.sh
Executable file
25
.config/hypr/scripts/power-save.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Chemins (à adapter)
|
||||
VIDEO="$HOME/Videos/wallpaper.mp4"
|
||||
IMAGE="$HOME/Pictures/wallpaper.jpg"
|
||||
|
||||
while true; do
|
||||
# Vérifie si le chargeur est branché (ADP1 ou AC sur Dell)
|
||||
if cat /sys/class/power_supply/AC*/online | grep -q '1'; then
|
||||
# SUR SECTEUR : Lancer l'animation si elle n'est pas là
|
||||
if ! pgrep -x "mpvpaper" > /dev/null; then
|
||||
pkill hyprpaper
|
||||
mpvpaper -o "no-audio --loop" eDP-1 "$VIDEO" &
|
||||
fi
|
||||
else
|
||||
# SUR BATTERIE : Couper l'animation et mettre l'image fixe
|
||||
if pgrep -x "mpvpaper" > /dev/null; then
|
||||
pkill mpvpaper
|
||||
hyprpaper &
|
||||
# Optionnel : baisser les effets Hyprland ici
|
||||
hyprctl reload
|
||||
fi
|
||||
fi
|
||||
sleep 5 # Vérifie toutes les 5 secondes
|
||||
done
|
||||
7
.config/hypr/scripts/suspend.sh
Executable file
7
.config/hypr/scripts/suspend.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
hyprlock &
|
||||
sleep 0.5
|
||||
systemctl suspend
|
||||
sleep 1
|
||||
hyprctl dispatch dpms on
|
||||
hyprctl reload
|
||||
6
.config/hypr/scripts/wallpaper.sh
Executable file
6
.config/hypr/scripts/wallpaper.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
if grep -q "eco_mode=1" /proc/cmdline; then
|
||||
swaybg -c 000000 &
|
||||
else
|
||||
swaybg -i ~/Pictures/wallpaper.jpg -m fill &
|
||||
fi
|
||||
12
.config/hypr/workspaces.conf
Normal file
12
.config/hypr/workspaces.conf
Normal file
@@ -0,0 +1,12 @@
|
||||
# Generated by nwg-displays on 2026-03-18 at 17:54:45. Do not edit manually.
|
||||
|
||||
workspace=1,monitor:eDP-1,default:true
|
||||
workspace=2,monitor:eDP-1
|
||||
workspace=3,monitor:eDP-1
|
||||
workspace=4,monitor:eDP-1
|
||||
workspace=5,monitor:eDP-1
|
||||
workspace=6,monitor:eDP-1
|
||||
workspace=7,monitor:eDP-1
|
||||
workspace=8,monitor:eDP-1
|
||||
workspace=9,monitor:eDP-1
|
||||
workspace=10,monitor:eDP-1
|
||||
Reference in New Issue
Block a user